- •Содержание:
- •Введение
- •Описание предметной области
- •Диаграммы потоков данных
- •Диаграммы
- •Словарь данных
- •Спецификации процессов
- •Образцы отчётов
- •Диаграммы "сущность-связь"
- •Диаграммы
- •Словарь данных
- •Концептуальная схема данных (idef1x)
- •Диаграммы idef1x
- •Словарь данных
- •Физическая модель данных
- •Описание приложения
- •Заключение
- •Список использованной литературы:
Информация о накладной
Номер
Дата заполнения
Сумма
Результатом работы информационной системы, должны быть отчеты
Популярные услуги
Активность сотрудников
Частота возвращения клиентов
Диаграммы потоков данных
Диаграмма потоков данных показывает внешние по отношению к системе источники истоки (адресаты) данных, идентифицирует логические функции (процессы) и группы элементов данных, связывающие одну функцию с другой (потоки), а также идентифицирует хранилища (накопители) данных, к которым осуществляется доступ. Структуры потоков данных и определения их компонент хранятся и анализируются в словаре данных. Каждая логическая функция (процесс) может быть детализирована с помощью диаграммы потоков данных нижнего уровня; когда дальнейшая детализация перестает быть полезной, переходят к выражению логики функции при помощи спецификации процесса (миниспецификации). Содержимое каждого хранилища также сохраняют в словаре данных, модель данных хранилища раскрывается с помощью диаграммы «сущность – связь».
Диаграммы
На рисунке 1 представлена контекстная диаграмма потоков данных системы. На ней показаны внешняя сущность и потоки данных, которыми она обменивается с основным процессом.
Рисунок 1. Контекстная диаграмма.
На рисунке 2 представлена декомпозиция контекстной диаграммы системы, где подробно рассматривается основной процесс.
Рисунок 2. Декомпозиция контекстной диаграммы.
На рисунке 3 изображена декомпозиция процесса "Составление отчетной документации”
Рисунок 3. Декомпозиция процесса " Составление отчетной документации ".
Словарь данных
@ИМЯ = ЗАЯВЛЕНИЕ НА ПОДБОР ВАРИАНТОВ ОКАЗАНИЯ УСЛУГ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = ФИО КЛИЕНТА + ПАСПОРТНЫЕ ДАННЫЕ + EMAIL+ ТЕЛЕФОН + ОБЩИЕ ТРЕБОВАНИЯ К УСЛУГАМ
@ИМЯ = ИНФОРМАЦИЯ О ВАРИАНТАХ УСЛУГ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = НАИМЕНОВАНИЕ УСЛУГИ + ЦЕНА УСЛУГИ
@ИМЯ = ИНФОРМАЦИЯ ПО ОКОНЧАТЕЛЬНОМУ ВЫБОРУ ВАРИАНТА УСЛУГ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = НАИМЕНОВАНИЕ УСЛУГИ + КОЛИЧЕСТВО
@ИМЯ = ПОПУЛЯРНЫЕ УСЛУГИ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = НАИМЕНОВАНИЕ УСЛУГИ + ПЕРИОД + КОЛ-ВО ЗАКАЗОВ УСЛУГИ
@ИМЯ = АКТИВНОСТЬ СОТРУДНИКОВ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = ФИО СОТРУДНИКА + ПЕРИОД + КОЛ-ВО ОФОРМЛЕННЫХ НАКЛАДНЫХ
@ИМЯ = ЧАСТОТА ВОЗВРАЩЕНИЯ КЛИЕНТОВ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = ФИО КЛИЕНТА + ПЕРИОД + КОЛ-ВО ПОДПИСАННЫХ НАКЛАДНЫХ
@ИМЯ = ПЕРСОНАЛЬНЫЕ ДАННЫЕ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = ФИО КЛИЕНТА + ПАСПОРТНЫЕ ДАННЫЕ + EMAIL + ТЕЛЕФОН КЛИЕНТА
@ИМЯ = ОБЩИЕ ТРЕБОВАНИЯ К УСЛУГАМ
@ТИП = ДИСКРЕТНЫЙ ТИП
@БНФ = НАИМЕНОВАНИЕ + МАКС.ЦЕНА + МИН.ЦЕНА
@ИМЯ = ЗАПРОС НА ПОИСК УСЛУГ
@ТИП = УПРАВЛЯЮЩИЙ ПОТОК
@БНФ = /ЗАПРОС ИНФОРМАЦИИ ОБ УСЛУГАХ/
@ИМЯ = ИНФОРМАЦИЯ ПО ПОДХОДЯЩИМ УСЛУГАМ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = НАИМЕНОВАНИЕ УСЛУГИ + ЦЕНА УСЛУГИ
@ИМЯ = ЗАПРОС ОБ УСЛУГАХ
@ТИП = УПРАВЛЯЮЩИЙ ПОТОК
@БНФ = /ЗАПРОС ИНФОРМАЦИИ ОБ УСЛУГАХ/
@ИМЯ = ИНФОРМАЦИЯ ОБ УСЛУГАХ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = НАИМЕНОВАНИЕ УСЛУГИ
@ИМЯ = ЗАПРОС О КЛИЕНТАХ
@ТИП = УПРАВЛЯЮЩИЙ ПОТОК
@БНФ = /ЗАПРОС ИНФОРМАЦИИ О КЛИЕНТАХ/
@ИМЯ = ИНФОРМАЦИЯ О КЛИЕНТАХ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = ФИО КЛИЕНТА
@ИМЯ = ЗАПРОС О СОТРУДНИКАХ
@ТИП = УПРАВЛЯЮЩИЙ ПОТОК
@БНФ = /ЗАПРОС ИНФОРМАЦИИ О СОТРУДНИКАХ/
@ИМЯ = ИНФОРМАЦИЯ О СОТРУДНИКАХ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = ФИО СОТРУДНИКА
@ИМЯ = ЗАПРОС ПО НАКЛАДНЫМ
@ТИП = УПРАВЛЯЮЩИЙ ПОТОК
@БНФ = /ЗАПРОС ИНФОРМАЦИИ ПО НАКЛАДНЫМ/
@ИМЯ = ИНФОРМАЦИЯ ПО НАКЛАДНЫМ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = НОМЕР+ ДАТА ОФОРМЛЕНИЯ + КЛИЕНТ + СОТРУДНИК + СУММА + УСЛУГИ + КОЛ-ВО УСЛУГ КАЖДОГО ВИДА + ЦЕНА ПРОДАЖИ УСЛУГ КАЖДОГО ВИДА
@ИМЯ = ДАННЫЕ ПО НАКЛАДНОЙ
@ТИП = ДИСКРЕТНЫЙ ПОТОК
@БНФ = НОМЕР+ ДАТА ОФОРМЛЕНИЯ + КЛИЕНТ + СОТРУДНИК + СУММА + УСЛУГИ + КОЛ-ВО УСЛУГ КАЖДОГО ВИДА + ЦЕНА ПРОДАЖИ УСЛУГ КАЖДОГО ВИДА
Спецификации процессов
@ИМЯ = Обработка заявлений
@ВХОД = Заявление на подбор вариантов оказания услуг
@ВЫХОД = Персональные данные
@ВЫХОД = Общие требования к услугам
@СПЕЦПРОЦ
ВЫПОЛНИТЬ Преобразовать набор данных, полученный от пользовательского интерфейса(почты) в 2 потока данных, в первый передать преобразованные данные о клиенте, во второй данные о требованиях к услугам
@
@ИМЯ = Обработка требований к услугам
@ВХОД = Общие требования к услугам
@ВЫХОД =Запрос на поиск услуг
@СПЕЦПРОЦ
ВЫПОЛНИТЬ Входные данные были получены от клиента, они с помощью оператора формируются в запрос на поиск услуг в хранилище данных «Услуги рекламного агентства»
SELECT Наименование услуги, Цена
FROM УСЛУГИ
WHERE Общие требования к услугам (Наименование) = Наименование AND Цена< Общие требования к услугам (Макс. Цена) AND Цена> Общие требования к услугам (Мин. Цена);
@
@ИМЯ = Формирование возможных вариантов услуг
@ВХОД = Информация по подходящим услугам
@ВЫХОД =Информация о вариантах услуг
@СПЕЦПРОЦ
ВЫПОЛНИТЬ Преобразовать информацию, полученную от СУБД в формат, подходящий для передачи пользовательскому интерфейсу, впоследствии переданную оператор по почте клиенту
@
@ИМЯ = Формирование накладной
@ВХОД = Информация по окончательному выбору варианта услуг
@ВЫХОД = Данные накладной
@СПЕЦПРОЦ
ВЫПОЛНИТЬ Оператор вносит данные полученные от клиента по почте и вносит их в программу через пользовательский интерфейс. Программа должна преобразовать набор данных, полученный от пользовательского интерфейса в SQL-запрос, понятный используемой СУБД, для создания записи в хранилище данных «Накладные».
@
@ИМЯ = Сбор и обработка информации
@ВХОД = Информация по накладным
@ВХОД = Информация о сотрудниках
@ВХОД = Информация об услугах
@ВХОД = Информация о клиентах
@ВЫХОД = Обработанная информация по запросам
@ВЫХОД = Запрос по накладным
@ВЫХОД = Запрос о сотрудниках
@ВЫХОД = Запрос об услугах
@ВЫХОД = Запрос о клиентах
@СПЕЦПРОЦ
SELECT * FROM Накладные, Сотрудники, Клиенты, Услуги рекламного агентства
WHERE Сотрудник.Код=Сотрудник.Код.Накладная AND Клиент.Код= Клиент.Код.Накладная AND Услуга.Код = Услуга.Код.Накладная
@
@ИМЯ = Преобразование для вывода на пользовательский интерфейс
@ВХОД = Обработанная информация по запросам
@ВЫХОД = Активность сотрудников
@ВЫХОД = Популярные услуги
@ВЫХОД = Частота возвращения клиентов
@СПЕЦПРОЦ
ВЫПОЛНИТЬ Преобразовать информацию, полученную от СУБД в формат, подходящий для передачи пользовательскому интерфейсу.
@
Образцы отчётов
Образец отчёта «Активность сотрудников».
Активность сотрудников за 1 квартал 2010 г. |
|
Сотрудник |
Кол-во оформленных накладных |
Петров В.В. |
23 |
Сидоров Н.Н. |
22 |
Шматко В.Н. |
21 |
Радченко И.К. |
15 |
Образец отчёта «Популярные услуги».
Рейтинг услуг за 1 квартал 2010 г. |
|
Наименование |
Кол-во заказов |
Реклама на автобусах |
22 |
Реклама на ТВ |
15 |
Листовки |
8 |
Реклама на радио |
2 |
Образец отчёта «Частота возвращения клиентов».
Частота возвращения клиентов за 1 квартал 2010 г. |
|
Клиент |
Кол-во подписанных накладных |
Лукашенко Л.Л. |
5 |
Чубайс Н.М. |
4 |
Хрущев Н.В. |
3 |
Ульянов В.В. |
2 |
Диаграммы "сущность-связь"
Диаграммы "сущность-связь" предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними.
Диаграммы
На рисунке 4 изображена локальная диаграмма, описывающая сущность «Клиент», её атрибуты и связи
Рисунок 4. Диаграмма сущности “Клиент”.
На рисунке 5 изображена локальная диаграмма, описывающая сущность «Услуга», её атрибуты и связи.
Рисунок 5. Диаграмма сущности “Услуга”.
На рисунке 6 изображена локальная диаграмма, описывающая сущность «Сотрудник», её атрибуты и связи.
Рисунок 6. Диаграмма сущности “Сотрудник”.
На рисунке 7 изображена глобальная диаграмма, объединяющая все сущности области данных и совпадающая с описанием сущности «Накладная».
Рисунок 7. Глобальная диаграмма.
Словарь данных
В таблице 1 описаны все сущности, выделенные в предметной области.
Таблица 1. Описание сущностей.
Имя типа сущности |
Краткое описание |
Разновидность |
Клиент |
Клиент рекламного агентства |
сильная |
Услуга |
Услуга рекламного агентства |
сильная |
Накладная |
Документ, подтверждающий оказание услуги клиенту |
сильная |
Сотрудник |
Сотрудник рекламного агентства |
сильная |
В таблице 2 описаны связи между выделенными сущностями.
Таблица 2. Описание типов связей.
Имя типа связи |
Краткое описание |
Степень связи |
Список типов сущностей, участвующих в связи |
Атрибуты |
|
Подписывает / подписывается |
Связывает Клиента с Накладной |
бинарная |
Клиент |
1 |
|
Накладная |
М |
||||
Содержится / содержит |
Связывает Накладную с Услугой |
бинарная |
Накладная |
M |
Кол-во Цена продажи |
Услуга |
N |
||||
Оформляет / оформляется |
Связывает Сотрудника с Накладной |
бинарная |
Сотрудник |
1 |
|
Накладная |
М |
||||
В таблицах 3-6 описаны атрибуты сущностей.
Таблица 3. Сущность «Клиент».
Имя атрибута |
Домен |
Тип по составу |
Тип по значению |
Описание |
ФИО |
Текстовый |
простой |
однозначный |
|
Паспортные данные |
Текстовый |
простой |
однозначный |
|
Телефон |
Текстовый |
простой |
однозначный |
|
Текстовый |
простой |
однозначный |
|
Таблица 4. Сущность «Услуга».
Имя атрибута |
Домен |
Тип по составу |
Тип по значению |
Описание |
Наименование |
Текстовый |
простой |
однозначный |
|
Цена |
Денежный |
простой |
однозначный |
|
Таблица 5. Сущность «Накладная».
Имя атрибута |
Домен |
Тип по составу |
Тип по значению |
Описание |
Дата оформления |
Дата |
простой |
однозначный |
|
Номер |
Числовой |
простой |
однозначный |
|
Сумма |
Денежный |
простой |
однозначный |
|
Таблица 6. Сущность «Сотрудник».
Имя атрибута |
Домен |
Тип по составу |
Тип по значению |
Описание |
ФИО |
Текстовый |
простой |
однозначный |
|
В таблице 7 описаны домены атрибутов.
Таблица 7. Описание доменов.
Наименование |
Описание |
Диапазон значений |
Описание |
Текстовый |
Строка, состоящая из символов |
[A-Я, а-я,A-Z,a-z,0-9] |
Иванов Иван Иванович |
Дата |
Формат даты ДД.ММ.ГГГГ |
ДД - [01..31] ММ - [01..12] ГГГГ - [1900..+∞] |
29.11.2012 |
Денежный |
Дробное число с валютой |
{[0..9]}.{[0..9]} руб. |
12.57 руб. |
Числовой |
Целое число |
{[0-9]} |
123345 |
Концептуальная схема данных (idef1x)
IDEF1X - методология моделирования реляционных баз данных, использующая условный синтаксис, специально разработанный для удобного построения концептуальной схемы. Концептуальной схемой называется универсальное представление структуры данных, независимое от конечной реализации базы данных и аппаратной платформы.
Диаграммы idef1x
На рисунке 9 изображена диаграмма IDEF1X, описывающая схему реляционной базы данных системы.
Рисунок 9. Диаграмма IDEF1X.
Словарь данных
В таблицах 8-14 описаны типы сущностей предметной области, перечислены их поля, а также указаны параметры этих полей.
Таблица 8. Тип сущности «Клиент».
Поля |
||||
Ключи |
Наименование |
Тип данных |
Значение |
Описание |
PК |
ID_klient |
Числовой |
NOT NULL |
Уникальный номер |
|
FIO |
Текстовый |
NOT NULL |
Фамилия Имя Отчетсво |
|
Pasport |
Текстовый |
NOT NULL |
Паспортные данные |
|
Дата |
NOT NULL |
Email клиента |
|
|
telefon |
Текстовый |
NOT NULL |
телефон |
Таблица 9. Тип сущности «Услуга».
Поля |
||||
Ключи |
Наименование |
Тип данных |
Значение |
Описание |
PК |
ID_usluga |
Числовой |
NOT NULL |
Уникальный номер |
|
naimenovanie |
Текстовый |
NOT NULL |
Наименование |
|
zena |
Денежный |
NOT NULL |
Цена |
Таблица 10. Тип сущности «Накладная».
Поля |
||||
Ключи |
Наименование |
Тип данных |
Значение |
Описание |
PК |
Nomer |
Числовой |
NOT NULL |
Уникальный номер совпадающий с номером накладной |
FK |
ID_klient |
Числовой |
NOT NULL |
Ссылка на клиента |
FK |
ID_sotrudnik |
Числовой |
NOT NULL |
Ссылка на сотрудника |
|
Data oformleniya |
Дата |
NOT NULL |
Дата оформления |
|
Summa |
Денежный |
NOT NULL |
Сумма накладной |
Таблица 11. Тип сущности «Список услуг».
Поля |
||||
Ключи |
Наименование |
Тип данных |
Значение |
Описание |
PК |
ID_spisok |
Числовой |
NOT NULL |
Уникальный номер |
FK |
ID_usluga |
Числовой |
NOT NULL |
Ссылка на услугу |
FK |
ID_nakladnaya |
Числовой |
NOT NULL |
Ссылка на накладную |
|
Kol-vo |
Числовой |
NOT NULL |
Количество |
|
Zena prodaji |
Денежный |
NOT NULL |
Цена продажи |
Таблица 12. Тип сущности «Сотрудник».
Поля |
||||
Ключи |
Наименование |
Тип данных |
Значение |
Описание |
PК |
ID_sotrudnik |
Числовой |
NOT NULL |
Уникальный номер |
|
FIO |
Текстовый |
NOT NULL |
Фамилия Имя Отчетсво |
Физическая модель данных
На рисунке 9 изображена физическая модель базы данных. Помимо структуры базы данных, на ней указаны конкретные типы данных. Данная схема нарисована средствами Microsoft Visio 2007 на базе диаграммы IDEF1X.
Рисунок 9. Физическая модель базы данных.
Описание приложения
В качестве основы БД наиболее целесообразно использовать Microsoft SQL Server.
Основные достоинства MS SQL server – работа с большими объёмами данных, в надежде на то, что наше рекламное агентство будет развиваться стремительными темпами. Сервер легко подходит для работы с большим количеством пользователей.
Основной недостаток – система является платной.
Приложение лучше всего разрабатывать при помощи языка программирования C#. Он сочетает как доступность, так и хорошую совместимость с современными операционными системами.
На рисунке 10 показано основное окно программы, которое в свою очередь является кнопочной формой для более удобной навигации пользователя системы.
При нажатии на любую кнопку открывается форма с одноименным названием.
Рисунок 10. Основное окно программы.
На рисунке 11 показано окно просмотра, редактирования и внесения новой информации по клиентам.
В левой части - список клиентов, в правой - поля для редактирования и добавления клиентов.
Рисунок 11. Окно со списком клиентов.
На рисунке 12 показано окно просмотра, редактирования и внесения новой информации по услугам.
В левой части - список услуг, в правой - поля для редактирования и добавления услуг.
Рисунок 12. Окно со списком услуг.
На рисунке 13 показано окно оформления новой накладной.
Для заполнения необходимо выбрать Работника, Клиента, и заполнить список услуг. Кнопка «В Корзину» добавляет услугу в список услуг. Кнопка «Очистить» очищает весь список услуг. Кнопка «Оформить» проводит накладную.
Рисунок 13. Окно со списком сотрудников.
Заключение
В ходе работы была построена диаграмма потоков данных и составлен словарь данных, описывающий её содержимое. Было определено, какие функции будет исполнять программа и какими данными они будут обмениваться друг с другом и с пользователем.
Далее была построена диаграмма «сущность – связь» и составлен словарь данных, описывающий её содержимое. Были определены сущности и связи предметной области.
Затем была построена концептуальная схема данных и составлен словарь данных, описывающий её содержимое.
После этого была построена физическая модель базы данных.
Были определены язык программирования и СУБД, наиболее подходящие для реализации программы.
Также был создан образец интерфейса и описаны функции его элементов.
Список использованной литературы:
1. Г. Н. Калянов, «Консалтинг при автоматизации предприятий: подходы, методы, средства» - http://www.interface.ru/fset.asp?Url=/case/defs3.htm .
2. М. В. Красильникова, «ПРОЕКТИРОВАНИЕ ИНФОРМА- ЦИОННЫХ СИСТЕМ» - издательство «ЭЛЕКТРОСТАЛЬ», 2004 - http://gloo.narod.ru/halyava/5k/proektirovanieis.html#bn .
3. Г. Н. Калянов, «Основы методологии IDEF1X» - «http://www.interface.ru/fset.asp?Url=/ca/idef1x.htm».
4. Справка Microsoft - http://social.msdn.microsoft.com/Search/ru-RU?query=SQL%20server&ac=8
