Рaзрaбoткa инфoрмaциoннoй системы для aвтoмaтизaции прoдaж стрoительнoй фирмы OOO 'Искрa'
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ “ТВЕРСКОЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ”
Факультет
информационных технологий
Кафедра
программного обеспечения вычислительной техники
КУРСОВАЯ
РАБОТА
по
дисциплине: ”Унифицированный язык UML”
на
тему: “Рaзрaбoткa инфoрмaциoннoй системы для aвтoмaтизaции прoдaж стрoительнoй
фирмы OOO ”Искрa””
Выполнил студент 3-го
курса группы ПИН-1206
Специальности
“Программная инженерия”
Корнилов Владимир
Александрович
Проверил: Котлинский
Сергей Владимирович
Тверь
2014г.
Введение
В данной курсовой работе
представлена моя информационная система для отдела продаж некой фирмы
ООО”Искра”. ИС создана с помощью Enterprise Architect. Приложение написано на
C# в Microsoft Visual Studio. Но в курсовой оно не прилагается.
Итак, приложение должно служить
инструментом для обмена информацией между пользователем и базой данных(MS
Access). Пользователь может изучать каталог,выбирать товары,делать заказ, а
также указывать информацию о себе. Всю нужную информацию программа внесет в
базу данных.Также существует режим Администратора,в котором есть функция
просмотра и полного редактирования БД.
Проектирование информационных систем
- это сформировавшаяся методология программирования, которая охватывает большой
круг вопросов, начиная от анализа информационных потребностей предприятия и
заканчивая тестированием готового программного продукта и его модернизацией.
Рассматривая практический пример, я
постараюсь охватить некоторый круг вопросов, которые, наверняка, придется
решать вам в повседневной деятельности. Поскольку проектирование и реализация
описанного примера это достаточно объемный материал, и естественно, в курсовой
он не может быть рассмотрен в полном объеме, я буду применять методику
избирательного углубления в детали. Сначала проект будет описан в максимально
развернутом виде, а затем я постепенно сосредоточусь лишь на частных аспектах.
Сосредоточим свое внимание на
анализе информационных потребностей строительной фирмы, офис которой
расположен, например, в Твери, а склад за городом. Эта фирма занимается
реализацией строительных материалов со склада и строительством зданий,
привлекая рабочих по договору подряда.
В работе таких фирм возникают
проблемы, которые касаются продажи товаров через Интернет, рекламы своей
деятельности посредством ведения корпоративного сайта, автоматизации
внутриорганизационных операций. Поэтому рассмотрим на конкретном примере процесс
проектирования информационной среды, включающей базу данных и электронный
магазин. Электронный магазин нужен не обязательно клиенту,если клиент делает
заказ через офис фирмы, то клерк совершает аналогичные действия и оформляет
заказ на клиента.
Определение целей ИС
При проектировании ИС и последующей
ее программной реализации буду преследовать следующие цели:
Выделить бизнес-процессы, которые
должна обслуживать ИС.
Повысить эффективность продаж
посредством создания электронного магазина.
Уменьшить расходы на
телекоммуникационные услуги связи.
Предоставить потенциальным клиентам
оперативный доступ к информации о продаваемой продукции.
Все эти цели буду реализовывать,
создавая единую информационную систему. На основе выдвинутых целей, исходя из
необходимости рассмотрения как можно более широкого круга технологических
аспектов, определю задачи, которые могут интересовать разработчика реальных ИС.
Постановка задач
На основании анализа поставленных
целей определю основные задачи ИС.
. Разработать БД, в которой будет
храниться информация о продаваемых товарах.
.Разработать программу,которая
станет аналогом Интернет-магазина строительной фирмы.
.Разработать ИС,которая будет
описывать и БД и программу.
На основании анализа поставленных
задач буду вырабатывать конкретные рекомендации по их реализации, которые затем
выстроятся в технологические требования проекта ИС.
Как уже отмечалось, для работы со
сложными информационными системами в настоящее время широко используются
объектно-ориентированные методы проектирования. Эти методы позволяют проводить
проектирование "сверху вниз", уточняя требования и детализируя проект
на каждом этапе. Конечным этапом проектирования является описание классов, на
основании которого программисту остается в готовые шаблоны вписать программный
код. Описание классов включает документацию и интерфейс. Не будем углубляться в
тонкости современных средств проектирования. По данному разделу существует
большое количество хороших пособий и поэтому сосредоточимся главным образом на
выработке требований к программному коду, который мы будем разбирать в
последующих главах. Наша задача состоит в том, чтобы, по возможности не
привлекая дополнительный понятийный аппарат, добиться построения стройного
проекта рассматриваемой информационной системы, безотносительно к типу
методологии объектно-ориентированного проектирования.Documentation
ООО "Искра".
Диаграмма деятельности
Принятие заказа,
оформление и добавление клиента в базу
Просто добавление нового
клиента в базу, а также проверка наличия скидки
Connector
|
Source
|
Target
|
Notes
|
ControlFlow -> Destination Public
Добавить клиента в базу данных Public
Есть ли клиент в базе
ControlFlow -> Destination
Public
Есть ли клиент в базе
Public
Добавить клиента в базу данных
Доставка денег в офис
фирмы
Производится передача
денег менеджеру и оплата труда службы доставки
Connector
|
Source
|
Target
|
Notes
|
ControlFlow -> Destination
Public
Доставка денег в офис фирмы Public
ControlFlow -> Destination
Public
Доставка товара,получение оплаты Public
Доставка денег в офис фирмы
Доставка товара,
получение оплаты
Доставка товара
покупателю,покупатель расплачивается наличными
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Доставка товара,получение оплаты Public
Доставка денег в офис фирмы
ControlFlow -> Destination
Public
Отправка информации покупателю Public
Доставка товара,получение оплаты
Запрос товара у
поставщика
Запрос на пилорамы, для
поставки материала
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Запрос товара у поставщика Public
Есть ли необходимые товары на складе
ControlFlow -> Destination
Public
Есть ли необходимые товары на складе Public
Запрос товара у поставщика
Обработка заказа и
отправка информации на склад
Квитанция со списком
товаров
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Отправка заказа диспетчеру
Public
Обработка заказа и отправка информации на склад
ControlFlow -> Destination
Public
Обработка заказа и отправка информации на склад Public
Есть ли необходимые товары на складе
Отправка заказа диспетчеру
Сам заказ и информация о
клиенте
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Отправка заказа диспетчеру
Public
Обработка заказа и отправка информации на склад
ControlFlow -> Destination
Public
Есть ли клиент в базе
Public
Отправка заказа диспетчеру
Отправка информации в
службу доставки
Информация о товаре и
клиенте отправляется в службу доставки
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Отправка информации в службу доставки Public
Отправка информации покупателю
ControlFlow -> Destination
Public
Есть ли необходимые товары на складе
Public
Отправка информации в службу доставки
Отправка информации
покупателю
Отправляется информация
о том,что товар готов,его нужно только доставить,производится обмен
информацией,о том,куда доставить и когда
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Отправка информации в службу доставки Public
Отправка информации покупателю
ControlFlow -> Destination
Public
Отправка информации покупателю Public
Доставка товара,получение оплаты
Принять заказ
Принять может или
электронный магазин,или же клерк
Connections
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination Public
Клиент делает заказ Public
Принять заказ
ControlFlow -> Destination Public
Принять заказ Public
Есть ли клиент в базе
Finish
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Доставка денег в офис фирмы Public
Есть ли клиент в базе
Проверка базы данных
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Добавить клиента в базу данных Public
Есть ли клиент в базе
ControlFlow -> Destination
Public
Есть ли клиент в базе
Public
Отправка заказа диспетчеру
ControlFlow -> Destination
Public
Есть ли клиент в базе
Public
Добавить клиента в базу данных
ControlFlow -> Destination Public
Принять заказ Public
Есть ли клиент в базе
Есть ли необходимые
товары на складе
Проверка наличия товаров
на складе
Connections
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination
Public
Запрос товара у поставщика Public
Есть ли необходимые товары на складе
ControlFlow -> Destination
Public
Есть ли необходимые товары на складе
Public
Отправка информации в службу доставки
ControlFlow -> Destination
Public
Есть ли необходимые товары на складе Public
Запрос товара у поставщика
ControlFlow -> Destination
Public
Обработка заказа и отправка информации на склад Public
Есть ли необходимые товары на складе
Клиент делает заказ
ConnectorSourceTargetNotes
|
|
|
|
ControlFlow -> Destination Public
Клиент делает заказ Public
Принять заказ
Диаграмма классов
_Form
Форма с функциями
администратора
ConnectorSourceTargetNotes
|
|
|
|
Association Public Public _Form
Association Public _Form Public
Admin_Form()
button1_Click() void[in] sender
button2_Click() void[in] sender
button3_Click() void[in] sender
BDLogic
Класс, который
обеспечивает связь с базой данных
Connector
|
Source
|
Target
|
Notes
|
Association -> Destination Public _Form Private bd
Association Public _Form Public
CloseConnection() void
DeleteRecord() void
Удалить записьint [in] id [in] TableName
GetTable() List<DbDataRecord>[in] TableName
InsertCatalogue() voidВставить в Каталогstring [in] name [in] size
[in] price
InsertCustomer() voidВставить в таблицу Покупателейstring [in]
name_customer [in] phone [in] email
InsertOffices() void
Вставить в таблицу Оффисовstring [in] adress [in] manager
InsertOrder() void
Вставить в таблицу заказовlong [in] product_id [in] id_customer
[in] office [in] date [in] amount
InsertSupplyers() void
Вставить в таблицу поставщиковstring [in] name_supplyer [in] phone
OpenConnection() void
Complete_Form
Connector
|
Source
|
Target
|
Notes
|
Association Public _Form Public _Form
Attribute
|
Notes
|
Constraints and tags
|
amount_of_products intКоличество заказанных товаровDefault:
amounts stringСколько единиц каждого товара заказал клиентDefault:
birthday string
Public Дата рождения покупателяDefault: ""
|
|
|
e_mail stringЭлектронная почта покупателяDefault: ""
fathers_name stringОтчество покупателяDefault: ""
first_name stringИмя покупателяDefault: ""
id string
Private Идентификационный номер покупателяDefault:
|
|
|
last_name string
PublicФамилия покупателя Default: ""
|
|
|
telephone string
Public Телефон покупателяDefault: ""
|
|
|
Enter_Class
Класс,предоставляющий
доступ и хранящий пароль
автоматизированный
информация база данные
Connections
Connector
|
Source
|
Target
|
Notes
|
Association Public _Class Public
Acces() boolПроверка правильности пароля
string [in] entered_password
|
|
|
Enter_Class()
Enter_Class() [in] password
FormLogon
Форма с паролем
Connector
|
Source
|
Target
|
Notes
|
Association Public Public
Admin_FormПереход к режиму Администратора
|
|
|
|
Association Public _Class Public
FormLogonВзаимодействие формы с классом,предоставляющим доступ
|
|
|
|
Association Public Public
FormPasswordПереход к форме смены пароля
|
|
|
|
Association Public Public
FormLogonЗапрос пароля, если вход в режиме Админ
|
|
|
|
button1_Click() voidПодтвердить входobject [in] sender
button2_Click() void
Изменить парольobject [in] sender
FormLogon()
FormPassword
Изменение пароля
Connector
|
Source
|
Target
|
Notes
|
Association Public Public
Переход к форме смены пароля
|
|
|
|
button1_Click() void
Подтверждение нового пароляobject [in] sender
FormPassword()
MainForm
Главная форма,с выбором
привелегий
button1_Click() void
Войти,как Админobject [in] sender
Catalog_button_Click() void
Войти в каталог для заказаobject [in] sender [in] e
MainForm()
User_Form
форма с каталогом и
корзиной для заказа товаров
AttributeNotesConstraints and tags
|
|
|
amount_of_products int
Public Кол-во заказанных товаровDefault: 0
|
|
|
amounts stringколичество в м^3 каждого товараDefault: ""
bd BDLogicЭкземпляр класса BDLogicDefault: new BDLogic()
id stringсписок id всех заказанных товаровDefault: ""
sum doubleитоговая суммаDefault: 0
Add_to_cart_Click() voidКнопка добавления товара в корзину[in]
sender
button_Complete_Click() voidПодтверждение заказа,открывается форма
с заполнением данных о покупателе[in] sender [in] e
button_delete_Click() voidКнопка удаления выделенного элемента
корзиныobject [in] sender
User_Form()
User_Form_Load() voidЗдесь заполняется DataGridView1 из таблицы
"Каталог" базы данных DataBase,которая находится в Debug Также
выставляются размеры некоторых столбцов,для удобства,ненужные столбцы
скрываются от пользователяobject [in] sender
[in] e
Диаграмма работ A0
Госты,стандарты
Object Flow -> Destination
Public
Госты,стандарты
Public
Работа с продукцией и поставщиками
Object Flow -> Destination Public
Госты,стандарты Public
Отдел продаж
Object Flow -> Destination
Public
Госты,стандарты
Public
Деятельность организации
Законы РФ
Контролируют
деятельность всей организации
ConnectorSourceTargetNotes
|
|
|
|
Object Flow -> Destination
Public
Законы РФ
Public
Деятельность организации
Законы должны контролировать действия организации
|
|
|
|
Object Flow -> Destination Public
Законы РФ Public
БухгалтерияРаспространяются на отд. Бухгалтерии
|
|
|
|
Object Flow -> Destination Public
Законы РФ Public
Финансовый отдел
Object Flow -> Destination Public
Законы РФ Public
Отдел кадров
Object Flow -> Destination Public
Законы РФ Public
Отдел Кадров
Здания, оборудование
Капитал фирмы
Поддерживает все отделы
ConnectorSourceTargetNotes
|
|
|
|
Object Flow -> Destination Public
Здания,оборудование Public
Отдел продаж
Object Flow -> Destination Public
Здания,оборудование Public
Отдел продаж
Object Flow -> Destination Public
Здания,оборудование Public
Отдел Кадров
Object Flow -> Destination Public
Здания,оборудование Public
Финансовый отдел
Object Flow -> Destination Public
Здания,оборудование Public
Отдел кадров
Object Flow -> Destination Public
Здания,оборудование Public
Отдел финансов
Object Flow -> Destination Public
Здания,оборудование Public
Деятельность организации
Клиенты
Люди,покупающие товары в
фирме
Connections
ConnectorSourceTargetNotes
|
|
|
|
Object Flow -> Destination Public
Клиенты Public
Работа с клиентамиКлиенты работают с отделом работы с клиентами
|
|
|
|
Object Flow -> Destination Public
Клиенты Public
Отдел продажВзаимодействие с отделом продаж
|
|
|
|
Object Flow -> Destination Public
Клиенты Public
Деятельность организации
Диаграмма работ A1
: 4
Отдел Кадров
Занимается всеми
делами,которые связаны с персоналом,в том числе и найм новых сотрудников
ConnectorSourceTargetNotes
|
|
|
|
Object Flow -> Destination Public
Законы РФ Public
Отдел Кадров
Object Flow -> Destination Public
Здания,оборудование Public
Отдел Кадров
Object Flow -> Destination
Public
Претенденты на работу Public
Отдел Кадров
Object Flow -> Destination Public
Персонал Public
Отдел Кадров
Object Flow -> Destination Public
Отдел Кадров Public
Персонал
Отдел продаж
Анализирует требования
клиентов,рынок сбыта и т.д. самый важный отдел организации
ConnectorSourceTargetNotes
|
|
|
|
Object Flow -> Destination Public
Отдел продаж Public
Продажа
Object Flow -> Destination Public
Госты,стандарты Public
Отдел продаж
Object Flow -> Destination Public
Товары Public
Отдел продаж
Object Flow -> Destination Public
Персонал Public
Отдел продаж
Object Flow -> Destination
Public
Постановления местной администрации Public
Отдел продаж
Association Public
Финансовый отдел Public
Отдел продаж
Object Flow -> Destination Public
Здания,оборудование Public
Отдел продаж
Object Flow -> Destination Public
Клиенты Public
Отдел продаж
Диаграмма работ A2
Бухгалтерия
ConnectorSourceTargetNotes
|
|
|
|
Association Public
Бухгалтерия Public
Распределение бюджета
Object Flow -> Destination Public
Законы РФ Public
Бухгалтерия
Выставление товара на
продажу
Анализ работы предыдущих
двух подотделов и окончательное формирование каталога
Connections
ConnectorSourceTargetNotes
|
|
|
|
Object Flow -> Destination
Public
Выставление товара на продажу Public
Продажа
Association Public
Работа с продукцией и поставщиками Public
Выставление товара на продажу
Диаграмма состояний
Модель Интерфейсов
Диаграма Вариантов
использования
Эта диаграмма описывает
не все бизнес-процессы. Число пользователей здесь также сведено к минимуму.
Диспетчер
Имеет возможность
считывает базу данных,может работать с ней,отправляет запрос на склад
Клерк
Клерк или Аутпост
менеджер может принять заказ,если клиент захочет напрямую работать с ним,а не с
интернет магазином,также в обязанности клерка входит выдача товара клиенту и
принятие оплаты
Клиент
Клиент имеет возможность
работать с каталогом товаров, выбирать, добавлять в корзину, при оформлении
заказа клиент превращается в покупателя
Менеджерская группа
Менеджерская группа.
Включает должностных лиц, занимающихся обеспечением финансово-хозяйственной
деятельности фирмы, работой с клиентами и т. д.
Покупатель
Имеет возможность
распечатать счет на оплату, сгенерированный в автоматическом режиме.
После оформления счета
выполняются следующие операции: Заказ добавляется в базу данных,после чего
менеджер-диспетчер посылает запрос на склад,в случае,если товара нет на
складе,идет запрос поставщику,и поставщик дает информацию и поставляет товар
клерку или Аутпост менеджеру
Поставщик
Поставщик поставляет
товары, поставщиком является,например, пилорама
Склад
Склад должен хранить
какие-то товары,доставленные от поставщика,если товар,запрошенный диспетчером
отсутствует,то заказать его у поставщика
Служба Доставки
Служба доставки принимает
информацию о клиенте от диспетчера и связывается с ним,для установления лучшего
времени и места доставки
Выдать товар
Получение счета
Если покупатель выбрал
товары для покупки, то он должен совершить перевод денег на счет фирмы через
банк. Основанием для проведения банком платежа служит счет, в котором
указываются наименование закупаемого товара, его количество, банковские
реквизиты продавца. Для максимального ускорения подготовки этого документа
необходимо автоматически генерировать макет счета, где уже будут указаны все
реквизиты продавца (т. е. рассматриваемой фирмы), а также заполнены графы,
касающиеся приобретаемого товара. Клиенту остается внести свою персональную
информацию. Таким образом, все, что ему необходимо сделать, это зайти в электронный
магазин фирмы, выбрать товар и распечатать готовый счет на своем принтере.
Диаграмма Вариантов
использования: Покупатель
Варианты использования
клиентами фирмы
: 9
Выбор покупаемых товаров
Это возможность отобрать
товар из предлагаемого списка в виртуальную корзину. Путешествуя по разделам
магазина, пользователь сможет просмотреть список отобранных товаров.
Получение счета
Если покупатель выбрал
товары для покупки, то он должен совершить перевод денег на счет фирмы через
банк. Основанием для проведения банком платежа служит счет, в котором
указываются наименование закупаемого товара, его количество, банковские
реквизиты продавца. Для максимального ускорения подготовки этого документа
необходимо автоматически генерировать макет счета, где уже будут указаны все
реквизиты продавца (т. е. рассматриваемой фирмы), а также заполнены графы,
касающиеся приобретаемого товара. Клиенту остается внести свою персональную
информацию. Таким образом, все, что ему необходимо сделать, это зайти в
электронный магазин фирмы, выбрать товар и распечатать готовый счет на своем
принтере.
Диаграмма Вариантов
использования: Менеджерская группа
Диаграмма вариантов
использования для Менеджерской группы
: 10
Диаграмма Вариантов
использования: Диспетчер
Диаграмма Вариантов
Использования для Диспетчера
Диаграмма
Последовательности 1: Клиент-Диспетчер
База Данных Клиентов
Отдельная таблица
клиентов
ConnectorSourceTargetNotes
|
|
|
|
Sequence Проверить наличие клиента в базе -> Destination
Public
Сервер,База Данных заказов Public
База Данных Клиентов
Проверить наличие клиента в базе
|
|
|
|
Sequence Получить подтверждение -> Destination Public
База Данных Клиентов Public
Сервер,База Данных заказов
Sequence [Если клиента нет]Добавить нового -> Destination
Public
Сервер,База Данных заказов Public
База Данных КлиентовДобавить нового
Каталог товаров
Работа с
каталогом,напрямую или через клерка
ConnectorSourceTargetNotes
|
|
|
|
Sequence Просмотр каталога товаров -> Destination
Public
Клиент
Public
Каталог товаров
Просмотр каталога товаров
Sequence Выбрать товар -> Destination
Public
Каталог товаров
Public
Клиент
Выбрать товар
Сервер,База Данных
заказов
База Данных в которую
добавляются заказы
Диаграмма
последовательности 2: Диспетчер-Аутпост менеджер
Диаграмма
последовательности 3: Аутпост менеджер-Покупатель
Модель Базы Данных