- •Аннотация
- •С. 68. Ил. 75. Табл. 20. Библ. 5 назв. Прил. 2.
- •В работе рассматривается разработка информационной системы на платформе Oracle для предметной области «Автобусный парк». Приведены анализ предметной области, подробно расписаны этапы проектирования информационной системы.
- •1 Предпроектное исследование
- •1.1 Формулирование требований к системе
- •1.1.1 Внешняя среда системы
- •1.1.2 Функции системы
- •1.1.3 Пользователи системы, их типы, роли, категории
- •1.1.4 Входные и выходные сообщения системы, входные и выходные данные
- •2 Разработка концептуальных статических моделей системного уровня
- •2.1 Спецификация системы
- •2.2 Классовая диаграмма системы и ее окружения
- •2.3 Диаграмма вариантов использования системы и спецификация вариантов использования
- •2.4 Постоянное хранение данных системы
- •3 Разработка динамических моделей системного уровня
- •3.1 Диаграмма кооперации системы и ее окружения
- •4 Разработка пользовательского интерфейса
- •4.1 Макеты и спецификация окон
- •4.2 Структура системы меню
- •4.3 Диаграмма состояний диалога с пользователем
- •5 Разработка концептуальных статических моделей классового уровня
- •5.1 Диаграмма пакетов и спецификация пакетов
- •5.3 Диаграмма объектов
- •6 Разработка динамических моделей классового уровня
- •6.1 Диаграмма кооперации, спецификация диаграммы кооперации
- •6.2 Диаграмма последовательности сообщений, спецификация объектов и сообщений
- •6.3 Диаграмма состояний классов системы, спецификация состояний и переходов
- •6.4 Диаграмма активности, спецификация диаграммы активности
- •7 Реализация системы
- •7.2 Разработка моделей реализации
- •8 Тестирование и отладка системы
- •9 Документирование системы
- •Список литературы
2 Разработка концептуальных статических моделей системного уровня
2.1 Спецификация системы
Название системы: «Информационная система управления и контроля работы автопарка».
Название системы более высокого уровня, включающую данную систему: «Информационная система управления сетью автопарков».
Ограничения доступа: доступ обеспечивается таким работникам автопарка, как диспетчер, заведующий гаражом и директор.
Импортируемые элементы:
•клиентская библиотека Oracle Client 12;
•библиотека Oracle для Python — cx_Oracle;
•библиотека Qt4 и ее «обертка» для Python — pyQt4.
2.2Классовая диаграмма системы и ее окружения
Классовая диаграмма, представляющая систему в рамках объектноориентированного подхода, представлена на рисунке 1.
6
Рисунок 1. Классовая диаграмма
2.3 Диаграмма вариантов использования системы и спецификация вариантов использования
Диаграмма прецедентов (англ. use case diagram, диаграмма вариантов использования) в UML — диаграмма, отражающая отношения между актёрами и прецедентами и являющаяся составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне Диаграммы вариантов использования представлены на рисунках 2-4. Спецификация — в таблице 1.
|
Таблица 1. Спецификация вариантов использования |
|
|
Актор |
Описание |
|
|
Директор |
Использует информационную систему для получения информации о |
|
работниках системы и для просмотра информации о пробеге автобусов |
|
для планирования ремонтных работ. |
7
Диспетчер |
Подтверждает выезды (выезд — связка водителя, маршрута и автобуса) |
|
в штатных случаях и перераспределяет выезды в случае форс- |
|
мажорных ситуаций. Использует ИС для отражения совершенных |
|
действий в БД. |
Заведующий |
Использует ИС для отражения совершенных действий по ремонту |
гаражом |
автобусов в базе данных. |
Рисунок 2. Диаграмма вариантов использования для директора
Рисунок 3. Диаграмма вариантов использования для зав. гаражом
Рисунок 4. Диаграмма вариантов использования для диспетчера
8
2.4 Постоянное хранение данных системы
Данные информационной системы хранятся в реляционной базе данных под управлением СУБД Oracle 12g. Концептуальная диаграмма системы представлена в приложении 1, спецификация таблиц приведена в таблице 2.
Таблица 2. Спецификация таблиц
Название |
Код |
Тип |
Длина |
Обяз. |
Первичн. |
|
|
|
|
|
|
|
Тип автобуса |
|
|
|
|
|
|
|
|
|
|
Тип |
BUS_TYPE |
VARCHAR |
256 |
+ |
+ |
|
|
|
|
|
|
Вместимость |
BUS_CAPACITY |
INTEGER |
|
+ |
|
|
|
|
|
|
|
|
Автобус |
|
|
|
|
|
|
|
|
|
|
Номер |
BUS_NUMBER |
CHAR |
6 |
+ |
+ |
|
|
|
|
|
|
Год выпуска |
BUS_YEAR |
INTEGER |
|
+ |
|
|
|
|
|
|
|
Описание |
BUS_DESCR |
VARCHAR |
1024 |
|
|
|
|
|
|
|
|
|
Поломка |
|
|
|
|
|
|
|
|
|
|
Номер |
BREAK_NUMB |
INTEGER |
|
+ |
+ |
|
|
|
|
|
|
Дата |
BREAK_DATE |
DATE |
|
+ |
|
|
|
|
|
|
|
Описание |
BREAK_DESCR |
VARCHAR |
1024 |
|
|
|
|
|
|
|
|
Что сломалось |
BREAK_WHAT |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
Затраты на ремонт |
BREAK_COSTS |
MONEY |
|
+ |
|
|
|
|
|
|
|
Потребовавшиеся запчасти |
BREAK_SPARE_PARTS |
VARCHAR |
1024 |
+ |
|
|
|
|
|
|
|
Проведенные работы |
BREAK_WORKS |
VARCHAR |
1024 |
+ |
|
|
|
|
|
|
|
|
Заведующий гаражом |
|
|
|
|
|
|
|
|
|
|
ФИО |
GM_NAME |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
ID |
GM_ID |
INTEGER |
|
+ |
+ |
|
|
|
|
|
|
Зарплата |
GM_SALARY |
MONEY |
|
+ |
|
|
|
|
|
|
|
|
Диспетчер |
|
|
|
|
|
|
|
|
|
|
ID |
DISP_ID |
INTEGER |
|
+ |
+ |
|
|
|
|
|
|
ФИО |
DISP_NAME |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
Зарплата |
DISP_SALARY |
MONEY |
|
+ |
|
|
|
|
|
|
|
|
Выезд |
|
|
|
|
|
|
|
|
|
|
ID |
RUN_ID |
INTEGER |
|
+ |
+ |
|
|
|
|
|
|
Дата |
RUN_DATE |
DATE |
|
+ |
|
|
|
|
|
|
|
9
|
Маршрут |
|
|
|
|
|
|
|
|
|
|
Номер |
ROUTE_NUMB |
INTEGER |
|
+ |
+ |
|
|
|
|
|
|
Начальный пункт |
ROUTE_BEG_BLACE |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
Конечный пункт |
ROUTE_END_PLACE |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
Расстояние |
ROUTE_DIST |
FLOAT |
|
+ |
|
|
|
|
|
|
|
Время поездки |
ROUTE_TIME |
TIME |
|
+ |
|
|
|
|
|
|
|
Начало движения |
ROUTE_BEG_TIME |
TIME |
|
+ |
|
|
|
|
|
|
|
Конец движения |
ROUTE_END_TIME |
TIME |
|
+ |
|
|
|
|
|
|
|
|
Водитель |
|
|
|
|
|
|
|
|
|
|
ФИО |
DRIV_NAME |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
ID |
DRIV_ID |
INTEGER |
|
+ |
+ |
|
|
|
|
|
|
Смена |
DRIV_SHIFT |
CHAR |
1 |
+ |
|
|
|
|
|
|
|
Стаж |
DRIV_EXPER |
FLOAT |
|
+ |
|
|
|
|
|
|
|
Образование |
DRIV_EDU |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
Зарплата |
DRIV_SALARY |
MONEY |
|
+ |
|
|
|
|
|
|
|
|
Болезнь |
|
|
|
|
|
|
|
|
|
|
№ больничного |
ILL_NUMB |
INTEGER |
|
+ |
+ |
|
|
|
|
|
|
Название |
ILL_NAME |
VARCHAR |
256 |
+ |
|
|
|
|
|
|
|
Дата начала |
ILL_BEG_DATE |
DATE |
|
+ |
|
|
|
|
|
|
|
Дата конца |
ILL_END_DATE |
DATE |
|
+ |
|
|
|
|
|
|
|
10