Автор работы: Пользователь скрыл имя, 12 Марта 2013 в 18:20, курсовая работа
Необходимо разработать программный продукт предоставляющий возможность отслеживать работу дорожно-ремонтной фирмы. Программа должна автоматизировать и упростить работу предприятия. Дать возможность оформлять и отслеживать заявки, и грамотно использовать ресурсы.
Постановка задачи проектирования.
Создать ИС, содержащую сведения работе дорожно-строительной фирмы, включающую данные о видах выполненных работ, пунктах производства работ и пр.
Описание предметной области……………………………………………….………….2
2. Постановка задачи проектирования. …………………….…………………………….2
3. Business диаграмма. ……………………………………………………………………….2
4. UseCase диаграмма. ……………………………………………………………………….6
5. Потоки событий вариантов использования. ……………………….………………….7
6. Выявление требований к проекту. Техническое задание…………………………….8
6.1. Требования к функциональным характеристикам….……………….………….8
6.2.Требования к надежности……………………………………….……………..…….8
6.3. Условия эксплуатации………………………………………………….……..…….9
6.4. Требования к информационной и программной совместимости………….…10
6.5. Требования к программной документации……………………………………..10
7. Диаграмма классов………………………………………………………………………11
8. Диаграммы деятельности………………………………………………………………16
9. Диаграммы последовательности………………………………………………………16
10. Технический проект……………………………………………………………………18
10.1 База данных, таблицы (типы, форматы, ключи, индексы)………….…..…..18
10.2 Запросы, описание, формы, отчёты……………………..…………………..…..22
Приложение 1: Структура БД……………………………………………….……………28
Заключение…………………………………………………………………….……………30
7.Диаграмма классов
Диаграмма классов служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. Диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы.
Используемые нами типы классов при описании:
• граничные классы (Boundary) - служат посредниками при взаимодействии внешних объектов с системой. Как правило, для каждой пары «действующее лицо - вариант использования» определяется один граничный класс. Типы граничных классов: пользовательский интерфейс (обмен информацией с пользователем, без деталей интерфейса - кнопок, списков, окон), системный интерфейс и аппаратный интерфейс (используемые протоколы, без деталей их реализации).
• классы-сущности (Entity) - представляют собой ключевые абстракции (понятия) разрабатываемой системы. Источники выявления классов-сущностей: ключевые абстракции, созданные в процессе архитектурного анализа, глоссарий, описание потоков событий вариантов использования.
В ходе проектирования системы были выявлены следующие классы:
классы-сущности Заказчики, Бригады, Заявки, Список работ, Работы
Для этих классов должен быть реализован интерфейс с возможностью добавления новых данных, удаления и редактирования данных. Выбранные для этого граничные классы соответствуют классам сущностям (пример: редактирование заказов), а также добавлены класс отчеты и класс запросы, нужные для составления отчетов и получения необходимой информации.
На основании полученной диаграммы классов был сгенерирован DDL код
Рис.4Структура БД, полученная из Class диаграммы
Рис.5 Activity диаграмма 1
Рис.5 Activity диаграмма 2
8.Диаграммы деятельности
В диаграммах деятельности представляется процесс изменения состояния системы и детализируются особенности логической и алгоритмической реализации выполняемых системой операций. Представлены в разделе Описание потоков (рис. 5).
9.Диаграммы последовательности
Диаграммы последовательности описывают взаимодействие групп объектов в различных условиях их поведения.
Рис.7Sequence диаграмма 1
Рис.7 Sequence диаграмма 2
10.Технический проект
Рис. 8. Схема данных ДРС.
Таблица 1: Сущность Заказчики
№ п/п |
Атрибут |
Семантика |
Тип |
Пример |
1 |
Код Заказчика |
Первичный ключ |
Integer |
1 |
2 |
Фамилия |
Фамилия клиента |
Char |
Перов |
3 |
Имя |
Имя клиента |
Char |
Иван |
4 |
Отчество |
Отчество клиента |
Char |
Семенович |
5 |
Номер паспорта |
Номер паспорта клиента |
Char |
5412-899455 |
6 |
Номер телефона |
Номер телефона клиента |
Char |
8-913-011-0922 |
7 |
Адрес |
Адрес проживание клиента |
Char |
Новосибирск.. |
Таблица 2: Сущность Бригады
№ п/п |
Атрибут |
Семантика |
Тип |
Пример |
1 |
Название |
Первичный ключ |
Char |
Бригада №1 |
2 |
Бригадир |
ФИО бригадира |
Char |
Петров В.В. |
3 |
Человек в бригаде |
Количество человек в бригаде |
Char |
10 |
4 |
Номер телефона |
Номер телефона бригады |
Char |
305-12-45 |
Таблица 3: Сущность Заявки
№ п/п |
Атрибут |
Семантика |
Тип |
Пример |
1 |
Номер заявки |
Первичный ключ |
Integer |
1 |
2 |
Код заказчика |
Первичный ключ заказчика |
Integer |
1 |
3 |
Исполнитель |
Первичный ключ бригады |
Char |
Бригада №1 |
4 |
Адрес участка |
Адрес ремонтных работ |
Date |
Новосибирск… |
5 |
Дата начала работы |
Дата начала работ |
Date |
12.06.10 |
6 |
Дата окончания |
Дата окончания работ |
Date |
13.10.12 |
7 |
Состояние |
Состояние заявки (открытая, закрытая) |
Char |
закрыта |
Таблица 4: Сущность Список работ
№ п/п |
Атрибут |
Семантика |
Тип |
Пример |
1 |
Код Работы |
Первичный ключ |
Integer |
1 |
2 |
Код заявки |
Первичный ключ заявки |
Integer |
2 |
3 |
Наименование работы |
Первичный ключ работы |
Char |
Погрузка щебня |
4 |
Количество Ед. |
Количество едениц работы |
Integer |
12 |
Таблица 5: Сущность Работы
№ п/п |
Атрибут |
Семантика |
Тип |
Пример |
1 |
Наименование работы |
Первичный ключ |
Char |
Вывоз мусора |
2 |
Вид работы |
Вид работы |
Char |
Озеленение |
3 |
Ед Измер |
В чем измеряется работа |
Char |
Шт. |
4 |
Цена за Ед |
Цена за единицу работы |
Integer |
150.00 |
Рис. 9. Таблица Заявки
Рис. 10. Таблица Бригады
Рис. 11. Таблица Заявки
Рис. 12. Таблица Список работ
Рис. 13. Таблица Работы
Запрос 1 – Запрос Список заявок. Пользователь может просматривать список заявок, исполнителя заявки, ответственного за выполнение, дату начала и окончания работ, ее состояние.
Рис. 14. Запрос 1 – Список заявок
Запрос 2 – Запрос счет. Пользователь вводит номер заявки и просматривает список исполняемых работ, количество назначенных единиц, цену за единицу исполняемой работы, итоговую сумму и код заказчика.
Рис. 15. Запрос 2 – Счет
Запрос 3 – Запрос Список клиентов. Пользователь просматривает данные о заказчике. Его идентификационный номер, Ф.И.О., номер телефона, Адрес проживания и номер паспорта.
Рис. 16. Запрос 3 – Список клиентов
Запрос 4 – Запрос Просмотр списка работ по виду. Пользователь вводит Вид работы и просматривает список работ, а именно ее наименование, вид, единицы измерения, цену за единицу.
Рис. 17. Запрос 4 – Поиск работ по виду
Запрос 5 – Запрос Календарь. Служит для просмотра состояния заявок. С его помощью пользователь просматривает состояние заявок и даты их завершения загрузку исполнителя, для удобства назначения новых заявок.
Рис. 18. Запрос 5 – Календарь
Отчет 1 – Прайс. Список услуг и их цена.
Рис. 18. Отчет 1 – Прайс
Отчет 2 –Заявки. Отчет о заявках их состоянии и ответственных.
Рис. 19. Отчет 2 – Заявки
Отчет 3– Работ на сумму.
Рис. 20. Отчет 3 – доход фирмы
Форма 1
Рис. 21. Форма 1
Форма 2
Рис. 22 Форма 2
Форма 3
Рис. 23. Форма 3
Форма 4
Рис. 24. Форма 4
CREATE TABLE Заявки (
Номер_заявки INTEGER NOT NULL,
Код_заказчика INTEGER NOT NULL,
Исполнитель CHAR ( 20 ) NOT NULL,
Адрес_участка CHAR ( 30 ) NOT NULL,
Дата_начала_работ DATE NOT NULL,
Дата_окончания_работ DATE NOT NULL,
Состояние CHAR ( 20 ) NOT NULL,
Название CHAR ( 20 ) NOT NULL,
Заказчики_Код_Заказчика INTEGER NOT NULL,
Бригады_Название CHAR ( 20 ) NOT NULL,
CONSTRAINT PK_Заявки2 PRIMARY KEY (Название, Номер_заявки)
);
CREATE TABLE Список_работ (
Код_работы INTEGER NOT NULL,
Код_заявки INTEGER NOT NULL,
Наименование_работы CHAR ( 20 ) NOT NULL,
Количество_едениц INTEGER NOT NULL,
Название CHAR ( 20 ) NOT NULL,
Номер_заявки INTEGER NOT NULL,
CONSTRAINT PK_Список_работ3 PRIMARY KEY (Код_работы)
);
CREATE TABLE Бригады (
Название CHAR ( 20 ) NOT NULL,
Бригадир CHAR ( 20 ) NOT NULL,
Человек_в_бригаде INTEGER NOT NULL,
Номер_телефона INTEGER NOT NULL,
Заявки_Название CHAR ( 20 ),
Номер_заявки INTEGER,
CONSTRAINT TC_Бригады4 UNIQUE (Заявки_Название, Номер_заявки),
CONSTRAINT PK_Бригады1 PRIMARY KEY (Название)
);
CREATE TABLE Заказчики (
Код_Заказчика INTEGER NOT NULL,
Фамилия CHAR ( 20 ) NOT NULL,
Имя CHAR ( 20 ) NOT NULL,
Отчество CHAR ( 20 ) NOT NULL,
Номер_паспорта INTEGER NOT NULL,
Номер_телефона INTEGER NOT NULL,
Адрес CHAR ( 20 ) NOT NULL,
CONSTRAINT PK_Заказчики0 PRIMARY KEY (Код_Заказчика)
);
CREATE TABLE Работы (
Наименование_работы CHAR ( 20 ) NOT NULL,
Вид_работы CHAR ( 20 ) NOT NULL,
Единицы_изм CHAR ( 20 ) NOT NULL,
Цена_за_Ед INTEGER NOT NULL,
Код_работы INTEGER NOT NULL,
CONSTRAINT PK_Работы4 PRIMARY KEY (Наименование_работы)
);
ALTER TABLE Список_работ ADD CONSTRAINT FK_Список_работ4 FOREIGN KEY (Название, Номер_заявки) REFERENCES Заявки (Название, Номер_заявки) ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE Работы ADD CONSTRAINT FK_Работы5 FOREIGN KEY (Код_работы) REFERENCES Список_работ (Код_работы) ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE Заявки ADD CONSTRAINT FK_Заявки0 FOREIGN KEY (Название) REFERENCES Бригады (Название) ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE Заявки ADD CONSTRAINT FK_Заявки3 FOREIGN KEY (Бригады_Название) REFERENCES Бригады (Название) ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE Заявки ADD CONSTRAINT FK_Заявки2 FOREIGN KEY (Заказчики_Код_Заказчика) REFERENCES Заказчики (Код_Заказчика) ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE Бригады ADD CONSTRAINT FK_Бригады1 FOREIGN KEY (Заявки_Название, Номер_заявки) REFERENCES Заявки (Название, Номер_заявки) ON DELETE NO ACTION ON UPDATE NO ACTION;
Заключение.
В ходе семестра была спроектирована система по работе дорожно-ремонтной фирмы в RationalRose, с помощью языка UML. Эта система разработана на основе базы данных в MSAccess для сравнения с конечным продуктом, полученным с помощью RationalRose. В Rose рассмотрены и построены основные диаграммы – действий, business и usecase. Так же построена диаграмма классов и по ней сформирован SQL код разрабатываемой системы.
UML - формальный язык, который необходимо
освоить каждому, кто
Информация о работе Разработка базы данных для Дорожно-ремонтной фирмы