АРМ диспетчера транспортного цеха

Автор: Пользователь скрыл имя, 17 Января 2011 в 16:47, дипломная работа

Описание работы

Цель дипломной работы:

Создание автоматизированного рабочего места диспетчера транспортного цеха (на примере УТТ Ишимбайского филиала АНК «Башнефть»)

Для решения задачи было рассмотрено программное обеспечение от 1С программный продукт 1С: Предприятие, конфигурация «Путевые листы», но было принято решение разрабатывать и внедрять свою разработку, так как рассмотренный программный продукт очень требователен к рабочей станции и достаточно дорог.

Содержание

ВВЕДЕНИЕ 3
ЧАСТЬ 1. АНАЛИТИЧЕСКАЯ ЧАСТЬ. 5
1.1. Изучение места автоматизации 5
1.2. Краткий технический обзор задачи 13
1.3. Описание операционной среды Microsoft Windows 2000 server. 14
1.4. Описание Internet Information Services. 17
1.5. Описание Active Server Pages 20
1.6. Описание Microsoft SQL Server 24
1.7. Описание технологии Microsoft ActiveX Data Objects 28
ЧАСТЬ 2. ПРАКТИЧЕСКАЯ ЧАСТЬ 32
2.1. Нормализация базы данных 32
2.2. Расчет базы данных 34
2.3. Создание базы данных 41
2.4. Авторизация пользователя в системе 42
2.5. Работа в системе пользователя 44
2.5.1. Подача заявки 45
2.5.2. Просмотр заявок в режиме «Пользователь» 47
2.6. Работа в системе диспетчера 48
2.6.1. Просмотр заявок в режиме «Диспетчер» 49
2.6.2. Работа с «Автомобильным парком» 50
2.6.3. Работа с базой «Водители» 52
2.7. Работа в системе Администратора 54
2.7.1. Работа с базой «Пользователи» 55
2.7.2. Работа с базой «Цеха, Отделы» 57
ЧАСТЬ 3. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 59
3.1. Расчет затрат на разработку программы 62
3.2. Расчет цены разработанной программы 64
3.4. Расчет эксплутационных расходов 66
3.5. Расчет денежного годового экономического эффекта 69
3.6. Определение показателей эффективности инвестиций 71
ЗАКЛЮЧЕНИЕ 79
СПИСОК ЛИТЕРАТУРЫ 81

Работа содержит 1 файл

diplom.doc

— 2.01 Мб (Скачать)

     Согласно  терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов.

     Примечание

     Объекты OLE DB создаются и функционируют  так же, как и другие объекты  СОМ. Каждому объекту соответствует  идентификатор класса CLSID, хранящийся в системном реестре. Для создания объекта используется метод CoCreateinstance и соответствующая фабрика класса. Объекту соответствует набор интерфейсов, к методам которых можно обращаться после создания объекта.

     В результате приложение обращается не прямо к источнику данных, а  к объекту OLE DB, который "умеет" представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL.

     Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными  и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов.

     Такая архитектура позволяет сделать  набор объектов и интерфейсов  открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO. При этом существенно расширяется само понятие данных — ведь можно разработать набор объектов и интерфейсов и для нетрадиционных табличных данных. Например, это могут быть графические данные геоинформационных систем, древовидные структуры из системных реестров, данные CASE-инструментов и т. д.

     Так как технология ADO основана на стандартных  интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек. [8]

     Примечание 

     Нижеследующее описание спецификации OLE DB представлено в соответствии с официальной  терминологией Microsoft для данной предметной области.

     Спецификация OLE DB различает следующие типы объектов, которые будут рассмотрены ниже.

  • Перечислитель (Enumerator) выполняет поиск источников данных или других перечислителей. Используется для обеспечения функционирования провайдеров ADO.
  • Объект-источник данных (Data Source Object) представляет хранилище данных.
  • Сессия (Session) объединяет совокупность объектов, обращающихся к одному хранилищу данных.
  • Транзакция (Transaction) инкапсулирует механизм выполнения транзакции.
  • Команда (Command) содержит текст команды и обеспечивает ее выполнение. Командой может быть запрос SQL, обращение к таблице БД и т.д.
  • Набор рядов (Rowset) представляет собой совокупность строк данных, являющихся результатом выполнения команды ADO.
  • Объект-ошибка (Error) содержит информацию об исключительной ситуации.

 

ЧАСТЬ 2. ПРАКТИЧЕСКАЯ ЧАСТЬ

  • 2.1. Нормализация базы данных
  •      Существует  множество способов табличной организации  данных. В теории реляционных баз  данных известен процесс под названием  нормализация, который обеспечивает эффективную организацию данных посредством определенного набора таблиц.

         Оптимизация структуры базы данных, в том числе подразумевает и ее нормализацию. Нормализация логической структуры базы данных осуществляется с использованием формальных методов разделения данных между несколькими связанными таблицами. Наличие множества небольших таблиц (таблиц с меньшим числом столбцов) свидетельствует о нормализованной базе данных. Наличие же небольшого числа больших таблиц (таблиц, содержащих множество столбцов) — признак денормализованной базы данных,

         Разумная  нормализация часто помогает поднять  производительность. При наличии  полезного индекса оптимизатор  запросов SQL Server 2000 результативно выполняет выбор быстрых, эффективных соединений таблиц.

         По  мере роста степени нормализации также увеличивается число и  сложность соединений, необходимых  для извлечения данных. Множество  реляционных соединений, в которых  задействовано большое число  таблиц, иногда снижает производительность. При разумной нормализации не должно быть много часто исполняемых запросов, использующих соединения, в которых задействовано больше четырех таблиц.

         Неполная  нормализация структуры базы данных, предназначенной, главным образом для поддержки процесса принятия решений (в отличие от интенсивно обновляемой базы данных для обработки транзакций), позволяет избежать избыточных операций обновления и сделать базу более понятной для запросов, которые в этом случае выполняются более эффективно, Тем не менее, недостаточно нормализованные данные встречаются гораздо чаше, чем избыточно нормализованные. Разумнее всего нормализовать структуру, а затем выборочно сделать определенные таблицы денормализованными.

         После нормализации базы данных получаем следующие  таблицы.[1]

    Рис. 2.1. Таблицы базы данных «Путевки»

     

  • 2.2. Расчет базы данных
  •      Основной  единицей хранения данных в SQL Server является страница. В SQL Server 2000 размер страницы составляет 8 кб. Другими словами, в базах данных SQL Server 2000 содержится 128 страниц на 1 Мб.

         В начале каждой страницы расположен 96-байтный заголовок, который используется для хранения системной информации, например типа страницы, размера свободного места на странице, а также идентификатора объекта, владеющего страницей.

         Страницы  содержат строки данных (кроме данных типа text, ntext и image, которые хранятся в отдельных страницах). Данные размещаются на странице последовательно и начинаются сразу же после заголовка. В конце страницы расположена таблица смещений строк. Она содержит по одному элементу для каждой строки, размещенной на границе; в каждом элементе записано, как далеко первый байт строки расположен от начала страницы. Как показано на рис. 2.2, последовательность элементов таблицы смещений строк является обратной относительно последовательности строк страницы.

         Экстенты  представляют собой единицу выделения  памяти для таблиц и индексов. Размер экстента составляет восемь последовательных страниц, или 64 кб. Другими словами, в базах данных SQL Server 2000 приходится 16 экстентов на 1 Мб.[1]

     

         

    Рис. 2.2. Строки данных и элементы таблицы смешения строк на странице 

         Для повышения эффективности выделения  памяти, SQL Server 2000 не выделяет для таблиц с небольшим объемом данных целые экстенты. В SQL Server 2000 имеется два типа экстентов:

    • однородные экстенты, принадлежащие одному объекту; лишь объект-владелец может использовать все восемь страниц экстента;
    • смешанные экстенты, у которых может быть до восьми объектов-владельцев. Для новых таблиц или индексов обычно выделяется место в смешанных экстентах.

         Когда размер таблицы или индекса увеличивается  настолько, что для них требуется  восемь страниц, они начинают использовать однородные экстенты. Если создается  индекс для существующей таблицы, в которой достаточно строк для генерации индекса размером в восемь страниц, то вся память для индекса выделяется в виде однородных экстентов.

         Рассмотрим  необходимые таблицы:

     

         

    Таблица для учета путевых  листов (tputevki)
    Pid int, primary key Уникальный  номер путевки 4 byte  
    Pdate Datetime Дата подачи заявки 4 byte  
    Pcar char(8) Ссылка на машину 9 byte Связан с  таблицей «Машины»
    Pmarshrut ntext Маршрут путевки ~100 byte  
    Pcar_pricep Nvarchar(8) Номер прицепа 9 byte  
    Pdriver int Табельный номер  водителя 4 byte  
    Pdrivers int Табельный номер  второго водителя 4 byte Связан с таблицей «Водители»
    Pceh int Номер автоколонны 4 byte  
    psmena int Смены 4 byte  
    Размер  одной строки = 142 byte, 1 страница=8192/142=57 строк
     
    Таблица для учета заявок (tzayvka)
    ZN int, primary key Уникальный  номер заявки 4 byte  
    Zdate datetime На какую  дату 4 byte  
    zdate_set Datetime Дата подачи заявки 4 byte  
    Zuser_id int Пользователь, подавший заявку 4 byte Связан с  таблицей «Пользователи»
    Ztype_car int Тип машины 4 byte Связан с  таблицей «Тип машин»
    Zmarshrut ntext Маршрут ~100 byte  
    Zremake ntext Комментарий к  заявке ~100 byte  
    Zstatus tinyint Статус заявки 1 byte  
    Размер  одной строки = 221 byte, 1 страница = 8192/221=37 строк
     

     

         

    Таблица Водителей (tdriver)
    driver_tn Int, primary key Табельный номер 4 byte Связан с  таблицами «Путевки» и «Машины»
    driver_soname Nvarchar(50) Фамилия 51 byte  
    driver_name Nvarchar(50) Имя 51 byte  
    driver_fname Nvarchar(50) Отчество 51 byte  
    driver_doljnost Nvarchar(50) Должность 51 byte  
    driver_prava Nvarchar(6) № прав 7 byte  
    driver_a Bit Категория A 1 byte  
    driver_b Bit Категория B 1 byte  
    driver_c Bit Категория C 1 byte  
    driver_d Bit Категория D 1 byte  
    driver_e Bit Категория E 1 byte  
    Размер  одной строки = 220 byte, 1 страница = 8192/220=37 строк
     
    Таблица Машины(TCar)
    car_n Char(8), primary key Гос номер машины 9 byte Связан с  таблицей «Путевки»
    car_ceh Int № автоколонны 4 byte  
    car_driver Int Таб. № водителя (по умолчания) 4 byte Связан с  таблицей «Водители»
    Car_name Int Марка машины 4 byte Связан с  таблицей «Марка машины»
    Размер  одной строки = 21 byte, 1 страница = 8192/21=390 строк
     
    Таблица марка машины (TCar_name)
    Car_name_id Int, primary key Id Марки машины 4 byte Связан с  таблицей «Машины»
    Car_type_id Int Тип машины 4 byte  
    car_name_car Nvarchar(50) Марка машины 51 byte Связан с таблицей «Тип машины»
    Размер  одной строки = 59 byte, 1 страница = 8192/59=138 строк
     
    Таблица тип машины (TCar_type)
    Car_type_id Int, primary key Id тип машины 4 byte Связан с  таблицами «Заявки» и «Марка машины»
    car_type NVarchar(50) Тип машины 51 byte  
    Размер  одной строки = 55 byte, 1 страница = 8192/55=148 строк
     
    Таблица Пользователи (TUser)
    user_id Int, primary key Id пользователя 4 byte Связан с  таблицей «Заявки»
    user_login NVarchar(50) Логин пользователя 51 byte  
    user_pasw char(16) Хеш пароля пользователя 16 byte  
    user_name NVarchar(50) Фамилия И.О. пользователя 51 byte  
    user_type tinyint Тип доступа 1 byte  
    user_ceh Int Цех пользователя 4 byte Связан с  таблицей «Цеха»
    Размер  одной строки = 128 byte, 1 страница = 8192/128=64 строки

    Информация о работе АРМ диспетчера транспортного цеха