Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая.pdf
Скачиваний:
37
Добавлен:
11.05.2015
Размер:
1.67 Mб
Скачать

5 Разработка концептуальных статических моделей классового уровня

5.1 Диаграмма пакетов и спецификация пакетов

Диаграмма пакетов имеет промежуточный уровень детализации. Это уже взгляд внутрь системы, но не до самых мелких деталей. Диаграмма пакетов представлена на рисунке 25, а ее спецификация — в таблице 9.

Рисунок 25. Диаграмма пакетов

Таблица 9. Спецификация пакетов

Имя

Классы, входящие в пакет

 

Описание

 

 

 

 

 

 

 

Содержит изображе-

Icons

-

 

ния,

используемые в

 

 

 

gui приложения.

 

 

 

Содержит

файлы

UI_Forms

-

 

форм

приложения в

 

 

 

формате ui.

 

 

Ui_Login_Form,

Ui_Admin_Form,

Содержит

файлы

Translated_UI_Forms

Ui_Dispatcher_Form,

Ui_EditRun_Form,

форм, транслирован-

 

Ui_GM_Form, Ui_EditBreak_Form.

ные в код на Python.

 

EditBreak, GM, EditRun,

Dispatcher, Admin,

Содержит

классы

Application_Classes

Login.

 

приложения,

реали-

 

 

 

зующие логику.

5.2 Классовая диаграмма системы, спецификации классовой диаграммы, классов, атрибутов, операций,

отношений между классами, исходный код

33

Классовая диаграмма системы представлена на рисунке 26, а ее спецификация — в таблице 10.

Рисунок 26. Классовая диаграмма системы

34

Таблица 10. Спецификация классов

Класс

Файл

Пакет

Базовый класс

Описание

 

 

 

 

 

Ui_Login_F

Login_For

Translated_

-

Класс формы входа в систе-

orm

m.py

UI_Forms

му

 

Ui_Admin_F

Admin_For

Translated_

-

Класс формы администрато-

orm

m.py

UI_Forms

ра

 

Ui_Dispatch

Dispatcher_

Translated_

-

Класс формы диспетчера

er_Form

Form.py

UI_Forms

 

 

 

Ui_EditRun_

EditRun_Fo

Translated_

-

Класс формы редактирова-

Form

rm.py

UI_Forms

ния выезда

 

Ui_GM_For

GM_Form.

Translated_

-

Класс формы зав. гаражом

m

py

UI_Forms

 

 

 

Ui_EditBrea

EditBreak_

Translated_

-

Класс формы редактирова-

k_Form

Form.py

UI_Forms

ния поломки

 

Login

Login.py

Application_

Ui_Login_Form

Класс, описывающий логику

 

 

Classes

 

работы формы входа в си-

 

 

 

 

стему

Admin

Admin.py

Application_

Ui_Admin_Form

Класс, описывающий логику

 

 

Classes

 

работы формы администра-

 

 

 

 

тора

Dispatcher

Dispatcher.

Application_

Ui_Dispatcher_Form

Класс, описывающий логику

 

py

Classes

 

работы формы диспетчера

EditRun

EditRun.py

Application_

Ui_EditRun_Form

Класс, описывающий логику

 

 

Classes

 

работы формы редактирова-

 

 

 

 

ния выезда

GM

GM.py

Application_

Ui_GM_Form

Класс, описывающий логику

 

 

Classes

 

работы формы зав. гаражом

EditBreak

EditBreak.p

Application_

Ui_EditBreak_Form

Класс, описывающий логику

 

y

Classes

 

работы формы редактирова-

 

 

 

 

ния поломки

Таблица 11. Спецификация атрибутов

Класс

Имя

Види-

Тип

Описание

 

 

мость

 

 

 

 

 

 

 

Form

postsComboBox

public

QComboBox

Выбор пользователем занимаемой

 

 

 

должности

_

 

 

 

 

Login

workersComboBo

public

QComboBox

Выбор пользователя из списка

x

 

 

 

Ui_

 

 

 

 

exitPushButton

public

QPushButton

Выход из программы

 

 

 

 

 

35

Класс

Имя

Види-

Тип

Описание

 

 

мость

 

 

 

 

 

 

 

 

refreshPushButton

public

QPushButton

Обновить информацию о пользова-

 

 

 

 

телях

 

loginPushButton

public

QPushButton

Вход в систему

 

 

 

 

 

 

workersComboBo

public

QComboBox

Выбор должности, работники кото-

Form

x

 

 

рой будут отображаться

exitPushButton

public

QPushButton

Возврат к окну входа в систему

 

 

 

 

Ui Admin

refreshPushButton

public

QPushButton

Обновить информацию о пользова-

 

 

 

телях

 

 

 

 

workersTableWid

public

QTableWidget

Таблица, отображающая работников

get

 

 

 

 

 

 

 

 

reportPushButton

public

QPushButton

Кнопка создания отчета

 

 

 

 

 

 

exitPushButton

public

QPushButton

Возврат к окну входа в систему

 

 

 

 

 

 

refreshPushButton

public

QPushButton

Обновить информацию о выездах

 

 

 

 

 

Form

runTableWidget

public

QTableWidget

Таблица, отображающая выезды

 

 

 

 

addPushButton

public

QPushButton

Добавить выезд

 

 

 

 

deletePushButton

public

QPushButton

Удалить выезд

Ui Dispatcher

 

 

 

 

editPushButton

public

QPushButton

Редактировать выезд

 

 

 

 

usualRadioButton

public

QRadioButton

Выбор для отображения маршрутов,

 

 

 

совершенных водителями на закреп-

 

 

 

ленных за ними автобусах

 

 

 

 

 

unusualRadioButt

public

QRadioButton

Выбор для отображения маршрутов,

 

on

 

 

совершенных водителями на неза-

 

 

 

 

крепленных за ними автобусах

 

breaksTableWidge

public

QTableWidget

Таблица, отображающая поломки

Form

t

 

 

 

addPushButton

public

QPushButton

Добавить поломку

 

 

 

 

deletePushButton

public

QPushButton

Удалить поломку

Ui GM

 

 

 

 

editPushButton

public

QPushButton

Редактировать поломку

 

 

 

 

refreshPushButton

public

QPushButton

Обновить информацию о поломках

 

 

 

 

 

 

 

exitPushButton

public

QPushButton

Возврат к окну входа в систему

 

 

 

 

 

Form

busComboBox

public

QComboBox

Выбор автобуса из всех существую-

 

 

 

щих

_

 

 

 

 

EditRun

routeComboBox

public

QComboBox

Выбор маршрута из всех существу-

 

 

 

ющих

 

 

 

 

driverComboBox

public

QComboBox

Выбор водителя из всех существую-

Ui_

 

 

 

щих

 

 

 

 

 

 

 

 

 

 

dateEdit

public

QDateEdit

Выбор даты выезда

 

 

 

 

 

 

cancelPushButton

public

QPushButton

Отмена редактирования / добавле-

 

 

 

 

 

36

Класс

Имя

Види-

Тип

Описание

 

 

мость

 

 

 

 

 

 

 

 

 

 

 

ния и возврат в окно диспетчера

 

 

 

 

 

 

okPushButton

public

QPushButton

Применение изменений / добавле-

 

 

 

 

ние нового выезда и возврат в окно

 

 

 

 

диспетчера

 

dateEdit

public

QDateEdit

Выбор даты поломки

 

 

 

 

 

 

costsSpinBox

public

QSpinBox

Ввод стоимости ремонта

 

 

 

 

 

 

busComboBox

public

QComboBox

Выбор автобуса из всех сужществу-

 

 

 

 

ющих

Form

breaksWhatTextE

public

QTextEdit

Информация о сломавшихся частях

dit

 

 

автобуса

EditBreak

descriptionTextEd

public

QTextEdit

Описание поломки

it

 

 

 

 

 

 

 

sparePartsTextEdit

public

QTextEdit

Потребовавшиеся запчасти

 

 

 

 

worksTextEdit

public

QTextEdit

Проведенные работы

Ui_

 

 

 

 

 

cancelPushButton

public

QPushButton

Отмена редактирования / добавле-

 

 

 

 

ния и возврат в окно зав. гаражом

 

 

 

 

 

 

okPushButton

public

QPushButton

Применение изменений / добавле-

 

 

 

 

ние нового выезда и возврат в окно

 

 

 

 

зав. гаражом

 

gmNames

public

list

Имена всех зав. гаражом

 

 

 

 

 

 

gmIds

public

list

Идентификаторы всех зав. гаражом

Login

 

 

 

 

dispNames

public

list

Имена всех диспетчеров

 

 

 

 

dispIds

public

list

Идентификаторы всех диспетчеров

 

 

 

 

 

 

cursor

public

Cursor

Курсор БД

 

 

 

 

 

 

conn

public

Connection

Соединение с БД

 

 

 

 

 

Admin

cursor

public

Cursor

Курсор БД

 

 

 

 

conn

public

Connection

Соединение с БД

 

 

 

 

 

Dispatcher

cursor

public

Cursor

Курсор БД

 

 

 

 

conn

public

Connection

Соединение с БД

 

 

 

 

ID

public

int

Идентификатор вошедшего в систе-

 

 

 

му диспетчера

 

 

 

 

 

cursor

public

Cursor

Курсор БД

 

 

 

 

 

GM

conn

public

Connection

Соединение с БД

 

 

 

 

ID

public

int

Идентификатор вошедшего в систе-

 

 

 

 

 

му зав. гаражом

 

 

 

 

 

 

goal

public

string

Редактировать или добавить выезд

 

 

 

 

 

 

dispId

public

int

Идентификатор вошедшего в систе-

 

 

 

 

 

37

Класс

Имя

Види-

Тип

Описание

 

 

мость

 

 

 

 

 

 

 

 

 

 

 

му диспетчера

 

 

 

 

 

 

runId

public

int

Идентификатор редактируемого вы-

EditRun

 

 

 

езда

conn

public

Connection

Соединение с БД

 

 

 

 

cursor

public

Cursor

Курсор БД

 

 

 

 

 

 

goal

public

string

Редактировать или добавить полом-

 

 

 

 

ку

EditBreak

GMID

public

int

Идентификатор вошедшего в систе-

 

 

 

му зав. гаражом

break_id

public

int

Идентификатор редактируемой по-

 

 

 

ломки

 

 

 

 

 

conn

public

Connection

Соединение с БД

 

 

 

 

 

 

cursor

public

Cursor

Курсор БД

 

 

 

 

 

Таблица 12. Спецификация операций

Класс

Имя

Воз

Параметры

Классиф.

Описание

 

вр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ui_Logi

retransl

 

Admin_Form — окно, в кото-

 

Перевод текста

видже-

n_Form

ateUi

void

ром будут показаны видже-

-

тов

 

 

 

 

 

ты

 

 

 

 

 

setupUi

 

Admin_Form — окно, в кото-

 

Компоновка

виджетов

 

 

void

ром будут показаны видже-

-

на форме, настройка ви-

 

 

 

ты

 

джетов

 

 

Ui_Adm

retransl

 

Admin_Form — окно, в кото-

 

Перевод текста

видже-

in_Form

ateUi

void

ром будут показаны видже-

-

тов

 

 

 

 

 

ты

 

 

 

 

 

setupUi

 

Admin_Form — окно, в кото-

 

Компоновка

виджетов

 

 

void

ром будут показаны видже-

-

на форме, настройка ви-

 

 

 

ты

 

джетов

 

 

Ui_Disp

retransl

 

Admin_Form — окно, в кото-

 

Перевод текста

видже-

atcher_F

ateUi

void

ром будут показаны видже-

-

тов

 

 

orm

 

 

ты

 

 

 

 

 

setupUi

 

Admin_Form — окно, в кото-

 

Компоновка

виджетов

 

 

void

ром будут показаны видже-

-

на форме, настройка ви-

 

 

 

ты

 

джетов

 

 

Ui_GM_

retransl

 

Admin_Form — окно, в кото-

 

Перевод текста

видже-

Form

ateUi

void

ром будут показаны видже-

-

тов

 

 

 

 

 

ты

 

 

 

 

 

setupUi

void

Admin_Form — окно, в кото-

-

Компоновка

виджетов

 

 

 

 

 

 

 

 

38

Класс

Имя

Воз

Параметры

Классиф.

Описание

вр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ром будут показаны видже-

 

на форме, настройка ви-

 

 

 

ты

 

джетов

 

 

 

Ui_Edit

retransl

 

Admin_Form — окно, в кото-

 

Перевод

текста

видже-

Run_For

ateUi

void

ром будут показаны видже-

-

тов

 

 

 

m

 

 

ты

 

 

 

 

 

 

setupUi

 

Admin_Form — окно, в кото-

 

Компоновка

виджетов

 

 

void

ром будут показаны видже-

-

на форме, настройка ви-

 

 

 

ты

 

джетов

 

 

 

Ui_Edit

retransl

 

Admin_Form — окно, в кото-

 

Перевод

текста

видже-

Break_F

ateUi

void

ром будут показаны видже-

-

тов

 

 

 

orm

 

 

ты

 

 

 

 

 

 

setupUi

 

Admin_Form — окно, в кото-

 

Компоновка

виджетов

 

 

void

ром будут показаны видже-

-

на форме, настройка ви-

 

 

 

ты

 

джетов

 

 

 

Login

__init__

void

-

конструкт

 

-

 

 

 

 

 

 

ор

 

 

 

 

 

readNa

void

-

-

Узнать имена

работни-

 

mes

 

 

 

ков автопарка

 

 

 

onExit

void

-

-

Закрытие

соединений,

 

 

закрытие окна

 

 

 

 

 

 

 

 

 

 

change

 

 

 

Изменить имена сотруд-

 

Worker

void

-

-

ников в зависимости от

 

s

 

 

 

выбранной должности

 

onLogi

 

 

 

Вход в систему от име-

 

n

void

-

-

ни выбранного

пользо-

 

 

 

 

 

вателя

 

 

 

 

connect

void

-

-

Соединение с БД

 

ToDB

 

 

 

 

 

 

 

Admin

__init__

void

-

конструкт

 

-

 

 

 

 

 

 

ор

 

 

 

 

 

onExit

void

-

-

Очистка

виджетов, за-

 

 

крытие окна

 

 

 

 

 

 

 

 

 

 

receive

 

employee — название про-

 

Получение

 

данных

 

LoginD

void

фессии, id — ID работника,

-

пользователя и установ-

 

ata

name — имя работника,

ленного соединения от

 

 

 

cursor — курсор БД

 

окна входа в систему

 

display

 

 

 

Отображает работников

 

Worker

void

-

-

в таблице

 

 

 

 

s

 

 

 

 

 

 

 

 

showRe

void

-

-

Вывод отчета

 

 

 

port

 

 

 

 

 

 

 

Dispatch

__init__

void

-

конструкт

 

-

 

 

 

 

 

 

 

 

 

 

 

39

Класс

Имя

Воз

 

Параметры

Классиф.

Описание

 

вр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

er

 

 

 

 

 

 

ор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

onExit

void

 

 

-

 

-

Очистка

виджетов,

за-

 

 

 

 

 

крытие окна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

receive

 

employee — название про-

 

Получение

 

данных

 

LoginD

void

фессии, id — ID работника,

-

пользователя и установ-

 

ata

name

имя

работника,

ленного

соединения

от

 

 

 

cursor — курсор БД

 

окна входа в систему

 

 

display

void

 

 

-

 

-

Вывод выездов в табли-

 

Runs

 

 

 

 

 

 

цу

 

 

 

 

 

deleteR

void

 

 

-

 

-

Удаление

выделенного

 

un

 

 

 

 

 

 

выезда

 

 

 

 

 

insertR

void

 

 

-

 

-

Вставка нового выезда

 

un

 

 

 

 

 

 

 

 

 

 

 

 

updateR

void

 

 

-

 

-

Редактирование

суще-

 

un

 

 

 

 

 

 

ствующего выезда

 

GM

__init__

void

 

 

-

 

конструкт

 

-

 

 

 

 

 

 

 

 

 

 

ор

 

 

 

 

 

 

onExit

void

 

 

-

 

-

Очистка

виджетов,

за-

 

 

 

 

 

крытие окна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

receive

 

employee — название про-

 

Получение

 

данных

 

LoginD

void

фессии, id — ID работника,

-

пользователя и установ-

 

ata

name

имя

работника,

ленного

соединения

от

 

 

 

cursor — курсор БД

 

окна входа в систему

 

 

display

void

 

 

-

 

-

Вывод поломок в табли-

 

Breaks

 

 

 

цу

 

 

 

 

 

deleteB

void

 

 

-

 

-

Удаление

выделенной

 

reak

 

 

 

 

 

 

поломки

 

 

 

 

 

updateB

void

 

 

-

 

-

Редактирование

выде-

 

reak

 

 

 

 

 

 

ленной поломки

 

 

 

addBrea

void

 

 

-

 

-

Добавление

новой

по-

 

k

 

 

 

 

 

 

ломки

 

 

 

 

EditRun

__init__

void

 

 

-

 

конструкт

 

-

 

 

 

 

 

 

 

 

 

 

ор

 

 

 

 

 

 

runAdd

 

 

 

 

 

 

Сигнал, сообщающий о

 

ed

void

 

 

-

 

-

добавленном

или

об-

 

 

 

 

 

 

 

 

новленном выезде

 

 

clearWi

void

 

 

-

 

-

Очистить значения

ви-

 

dgets

 

 

 

 

 

 

джетов

 

 

 

 

 

onExit

void

 

 

-

 

-

Очистка

виджетов,

за-

 

 

 

 

 

крытие окна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

receive

void

goal — вставка или редакти-

-

Получение

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

 

40

Класс

Имя

Воз

 

Параметры

Классиф.

Описание

вр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LoginD

 

рование, dispId — ID дис-

 

пользователя и установ-

 

ata

 

петчера, runId — ID редакти-

 

ленного соединения от

 

 

 

руемого

выезда, cursor —

 

окна диспетчера

 

 

 

курсор БД

 

 

 

 

prepare

void

 

-

-

Заполнение

виджетов

 

Form

 

 

 

 

данными из БД

 

insertOr

 

 

 

 

Выполнение

запроса

 

Update

void

 

-

-

добавления

или обнов-

 

Run

 

 

 

 

ления данных в БД в за-

 

 

 

 

 

 

висимости от цели

EditBrea

__init__

void

 

-

конструкт

-

 

k

 

 

 

 

ор

 

 

 

breakA

 

 

 

 

Сигнал, сообщающий о

 

dded

void

 

-

-

добавленной или обнов-

 

 

 

 

 

 

ленной поломке

 

clearWi

void

 

-

-

Очистить значения ви-

 

dgets

 

 

 

 

джетов

 

 

insert

 

 

 

 

Выполнение

запроса

 

 

void

 

-

-

добавления

или обнов-

 

 

 

ления данных в БД в за-

 

 

 

 

 

 

 

 

 

 

 

 

висимости от цели

 

 

 

 

 

 

 

 

onCanc

void

 

-

-

Очистка виджетов, за-

 

el

 

 

 

 

крытие окна

 

 

prepare

void

 

-

-

Заполнение

виджетов

 

Form

 

 

 

 

данными из БД

 

receive

void

goal — вставка или редакти-

-

Получение

данных

 

LoginD

 

рование, GMID — ID зав. га-

 

пользователя и установ-

 

ata

 

ражом, break_id — ID редак-

 

ленного соединения от

 

 

 

тируемой поломки, cursor —

 

окна зав. гаражом

 

 

 

курсор БД

 

 

 

Таблица 13. Спецификация отношений

Тип

Множеств.

Направление

Откуда

Куда

 

 

 

 

 

Наследование

1..1

Однонаправленное

Login

Ui_Login_Form

 

 

 

 

 

Наследование

1..1

Однонаправленное

Admin

Ui_Admin_Form

 

 

 

 

 

Наследование

1..1

Однонаправленное

Dispatcher

Ui_Dispatcher_Form

 

 

 

 

 

Наследование

1..1

Однонаправленное

GM

Ui_GM_Form

 

 

 

 

 

Наследование

1..1

Однонаправленное

EditRun

Ui_EditRun_Form

 

 

 

 

 

Наследование

1..1

Однонаправленное

EditBreak

Ui_EditBreak_Form

 

 

 

 

 

41