Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом.docx
Скачиваний:
18
Добавлен:
12.09.2019
Размер:
3.92 Mб
Скачать
  1. Разработка и реализация ис

    1. Разработка серверной части ис

Выделение сущностей и связей

В предметной области можно выделить следующие сущности:

- Автомобили (Автомобиль);

- Маршруты (Маршрут);

- Ремонт (Ремонт);

- Водители (Водитель);

- Перевозки (Перевозка);

- Депо (Депо);

- Отпуска (Отпуск);

- Стаж (Стаж);

- Зарплата (Зарплата);

- Поездки (Поездка).

Выделение связей между сущностями:

  1. Автомобиль имеет Маршрут;

  2. Автомобиль подвергается Ремонту;

  3. Автомобиль закреплен за Водителем;

  4. За Автомобилем закреплена Перевозка;

  5. Автомобиль имеет место в Депо;

  6. Водитель уходит в Отпуск;

  7. Водитель имеет Стаж;

  8. Водитель получает Зарплату.

Построение ER диаграммам

  1. автомобиль имеет маршрут.

для степени связи:

- много автомобилей имеют много маршрутов;

- много маршрутов закреплены за несколькими автомобилями.

Для класса принадлежности степени к связи (рисунок 1):

- автомобиль необязательно имеет маршрут;

- маршрут необязательно закреплен за автомобилем.

Рисунок 1 – ER-диаграмма «Автомобиль-Маршрут»

2. Автомобиль подвергается ремонту.

Для степени связи:

- много автомобилей подвергаются многим видам ремонта;

- много видов ремонта доступно для ремонтирования автомобилей.

Для класса принадлежности степени к связи (рисунок 2):

- существуют автомобили, которые не обязательно ремонтировать;

- существуют виды ремонта, которые необязательны для некоторых автомобилей .

Рисунок 2 – ER-диаграмма «Автомобиль-Ремонт»

  1. Автомобиль закреплен за водителем.

Для степени связи:

- несколько автомобилей может быть закреплено за несколькими водителями;

- несколько водителей может быть закреплено за несколькими автомобилями.

Для класса принадлежности степени к связи (рисунок 3):

- существуют автомобили, за которыми не закреплены водители;

- существую водители, которые не водят автомобили.

Рисунок 3 – ER-диаграмма «Автомобиль-Водитель»

  1. За автомобилем закреплена перевозка.

Для степени связи:

- за несколькими автомобилями может быть закреплено несколько перевозок;

- несколько перевозок могут быть закреплены за несколькими автомобилями.

Для класса принадлежности степени к связи (рисунок 4):

- существуют автомобили, за которыми не закреплены перевозки;

- некоторые перевозки не осуществляются.

Рисунок 4 – ER-диаграмма «Автомобиль-Перевозка»

  1. Автомобиль имеет место в депо.

Для степени связи:

- автомобиль имеет одно место в депо;

- одно место может отводиться для нескольких автомобилей;

Для класса принадлежности степени к связи (рисунок 5):

- автомобиль обязательно имеет место в депо;

- место обязательно должно быть занято;

Рисунок 5 – ER-диаграмма «Автомобиль-Депо»

  1. Водитель уходит в отпуск.

Для степени связи:

- водитель имеет один отпуск в году;

- по одному отпуску дается каждому водителю.

Для класса принадлежности степени к связи (рисунок 6):

- водитель обязательно уходит в отпуск, причем только один раз в году;

- отпуск обязательно предоставляется каждому водителю.

Рисунок 6 – ER-диаграмма «Водитель-Отпуск»

  1. Водитель имеет стаж.

Для степени связи:

- водитель имеет один стаж;

- один стаж может быть у нескольких водителей.

Для класса принадлежности степени к связи (рисунок 7):

- водитель обязательно должен иметь стаж;

- у некоторых водителей может не быть стажа.

Рисунок 7 – ER-диаграмма «Водитель-Стаж»

  1. Водитель получает зарплату.

Для степени связи:

- водитель получает только одну зарплату;

- одна зарплата может быть у нескольких водителей.

Для класса принадлежности степени к связи (рисунок 8):

- водители обязательно получают зарплату;

- существует зарплата, которая не выплачивается ни одному водителю.

Рисунок 8 – ER-диаграмма «Водитель-Зарплата»

Формирование предварительных отношений по ER диаграммам

  1. Автомобиль имеет Маршрут.

По правилу 6:

Автомобили (Автомобиль)

Маршруты (Маршрут)

Распределение (Автомобиль, Маршрут)

  1. Автомобиль подвергается Ремонту.

По правилу 6:

Автомобили (Автомобиль)

Ремонт (Ремонт)

Ремонтирование (Автомобиль, Ремонт)

  1. Автомобиль закреплен за Водителем.

По правилу 6:

Автомобили (Автомобиль)

Водители (Водитель)

Закрепление (Автомобиль, Водитель)

  1. За Автомобилем закреплена Перевозка.

По правилу 6:

Автомобили (Автомобиль)

Перевозки (Перевозка)

Перевозится (Автомобиль, Перевозка)

  1. Автомобиль имеет место в Депо.

По правилу 4:

Депо (Депо)

Автомобили (Автомобиль, Депо)

  1. Водитель уходит в Отпуск.

По правилу 4:

Отпуска (Отпуск)

Водители (Водитель, Отпуск)

  1. Водитель имеет Стаж.

По правилу 4:

Стаж (Стаж)

Водители (Водитель, Отпуск, Стаж)

  1. Водитель получает зарплату.

По правилу 4:

Зарплата (Зарплата)

Водители (Водитель, Отпуск, Стаж, Зарплата)

Проверка отношений на БКНФ

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

- Автомобили:

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

Автомобиль

Марка

Вид

Депо

ГосНомер

Рисунок 9 – Диаграмма функциональной зависимости отношения «Автомобили»

- Маршруты:

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

Назначение

Маршрут

Протяженность

Рисунок 10 – Диаграмма функциональной зависимости отношения «Маршруты»

- Ремонт:

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

Вид

Ремонт

Рисунок 11 – Диаграмма функциональной зависимости отношения «Ремонт»

- Водители:

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

Водитель

ФИО

Категория

Отпуск

Стаж

Зарплата

Рисунок 12 – Диаграмма функциональной зависимости отношения «Водители»

- Перевозки:

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

Вид

Перевозка

Груз

День

Рисунок 13 – Диаграмма функциональной зависимости отношения «Перевозки»

- Депо:

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

Вместимость

Депо

Рисунок 14 – Диаграмма функциональной зависимости отношения «Депо»

- Стаж:

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

Надбавка

Стаж

Рисунок 15 – Диаграмма функциональной зависимости отношения «Стаж»

- Отпуска:

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

Длительность

ь

Отпуск

Отпускные

Рисунок 16 – Диаграмма функциональной зависимости отношения «Отпуска»

- Распределение:

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

Конец

Начало

Маршрут

Автомобиль

Рисунок 17 – Диаграмма функциональной зависимости отношения «Распределение»

- Ремонтирование:

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

Длительность

Автомобиль

Зарплата

Ремонт

Рисунок 18 – Диаграмма функциональной зависимости отношения «Ремонтирование»

- Закрепление:

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

ТехОсмотр

Статус

Водитель

Автомобиль

Рисунок 19 – Диаграмма функциональной зависимости отношения Закрепление

- Перевозится:

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

Стоимость

Срочность

Перевозка

Автомобиль

Рисунок 20 – Диаграмма функциональной зависимости отношения «Перевозится»

Построение общей ER-диаграммы

Рисунок 21 – Общая ER-диаграмма

Подготовка списка атрибутов, распределение их по отношениям

Автомобили (Автомобиль, Марка, Вид, ГосНомер, Депо).

Маршруты (Маршрут, Назначение, Протяженность).

Ремонт (Ремонт, Вид).

Водители (Водитель, ФИО, Категория, Отпуск, Стаж, Зарплата).

Перевозки (Перевозка, Вид, День).

Депо (Депо, Вместимость).

Стаж (Стаж, Надбавка).

Отпуска (Отпуск, Длительность, Отпускные)

Распределение (Автомобиль, Маршрут, Начало, Конец)

Ремонтирование (Автомобиль, Ремонт, Длительность, Затраты)

Закрепление (Автомобиль, Водитель, ТехОсмотр, Статус)

Перевозится (Автомобиль, Перевозка, Стоимость, Срочность)

Логическая модель БД

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

На этапе проектирования базы данных построена логическая модель, представления на рисунке 22. Названия таблиц, атрибуты и отношения между таблицами выполнены в соответствии с подготовленными ранее списком атрибутов в отношениях.

Рисунок 22 – Логическая модель БД

    1. Разработка клиентской части

Для организации взаимодействия с БД используются следующие компоненты: SqlCinnection, SqlCommand, TableAdapter, DataSet, BindingSource, DataGridView, Button, TexBox, TabControll, Label, ComboBox, CrystalReports . SqlCinnection используется для подключения к базе данных. SqlCommand используется для выполнения хранимых процедур базы данных, осуществляющих добавление, изменение и удаление данных. Этот компонент используется для всех процедур. DataSet используется для связи со всеми таблицами базы данных и их вывода в компонент DataSource для вывода в главном окне приложения. DataSource используется для связи TableAdapter с компонентами DataGridView главной формы. CrystalReports используется для создания отчетов.

Разработка форм

Основная рабочая форма является также главной формой программы (рисунок 23). В ней происходит основная работа с приложением.

Рисунок 23 – Главная форма программы

При запуске программы активируется окно регистрации Логин (рисунок 24), с помощью которого пользователь может войти в базу данных. Если база данных отключена или идентификационные данные пользователя неверны, то об этом выдается соответствующее сообщение. Если же данные верны и соединение выполнено устойчиво, то при нажатии кнопки «Войти» открывается главная форма программы.

Рисунок 24 – Форма авторизации

Все компоненты, необходимые для работы базы данных расположены ниже разработки главной формы (рисунок 25). Это сделано для удобства обращения к ним и редактирования их параметров.

Рисунок 25 – Компоненты, используемые при разработке

Разработка дистрибутива

Разработанная программа не требует установки. Это сделано в целях удобства распространения, а также для экономии ресурсов памяти. Для распространения программы необходимо скопировать исполняемый файл программы Krs.exe в любое место на жестком диске. Размер исполняемого файла 300 КБ. Кроме этого в той же директории хранится файл настроек Krs.exe.conf в формате XML, в котором содержится:

  • Строка соединения с БД;

  • Наименование провайдера;

  • Наименование строки соединения, используемой для подключения к БД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]