- •Разработка модели информационной системы средствами uml
- •6.050102 “Компьютерная инженерия”
- •Чернигов чгту 2011
- •3.6.4 Пример выполнения 39
- •3.7.4 Пример выполнения 42
- •3.8 Контрольные вопросы 42
- •Введение. Этапы разработки проекта
- •1 Постановка задачи (системный анализ)
- •1.1 Пример. Описание предметной области
- •2 Анализ требований
- •2.2 Диаграммы потоков данных
- •2.3 Пример выполнения анализа требований для икс видеотека
- •2.4 Контрольные вопросы
- •3 Проектирование
- •3.1 Построение диаграммы вариантов использования
- •3.1.1 Отношение расширения
- •3.1.2 Отношение обобщения
- •3.1.3 Отношение включения
- •3.1.4 Пример построения диаграммы вариантов использования
- •3.1.5 Диаграмма анализа бизнес-процессов
- •Бизнес-процесс
- •Ресурс и информация
- •Событие
- •3.2.2 Линия жизни объекта
- •3.2.3 Фокус управления
- •3.2.4 Сообщения
- •3.2.5 Пример построения диаграммы последовательности
- •3.3 Диаграмма классов
- •3.3.1 Класс
- •3.3.2 Отношения между классами
- •Отношение зависимости
- •Отношение ассоциации
- •Отношение агрегации
- •Отношение композиции
- •Отношение обобщения
- •3.3.3 Объекты
- •3.3.4 Шаблоны или параметризованные классы
- •3.3.5 Рекомендации по построению диаграмм классов
- •3.3.6 Пример выполнения
- •3.4 Диаграммы поведения
- •3.4.1 Диаграмма состояний
- •Состояние
- •Переход
- •3.4.2 Диаграмма деятельности (activity diagram)
- •3.4.3 Пример выполнения
- •3.4.4 Рекомендации по построению диаграмм поведения Диаграмма состояний
- •Диаграмма деятельности
- •3.5 Диаграммы взаимодействия
- •3.6.1 Диаграмма кооперации (collaboration diagram)
- •Кооперация
- •3.6.2 Пример выполнения
- •3.6 Представление компонентов
- •3.6.1 Компоненты
- •3.6.2 Зависимости
- •3.6.3 Рекомендации по построению диаграммы компонентов
- •3.6.4 Пример выполнения
- •3.7 Представление размещения
- •3.7.1 Узел
- •3.7.2 Соединения
- •3.7.3 Рекомендации по построению диаграммы развертывания
- •3.7.4 Пример выполнения
- •3.8 Контрольные вопросы
- •Рекомендованная литература
2.2 Диаграммы потоков данных
Модель системы в контексте DFD представляется в виде некоторой информационной модели, основными компонентами которой являются различные потоки данных, которые переносят информацию от одной подсистемы к другой. Каждая из подсистем выполняет определенные преобразования входного потока данных и передает результаты обработки информации в виде потоков данных для других подсистем.
Основными компонентами диаграмм потоков данных являются:
внешние сущности
накопители данных или хранилища
процессы
потоки данных
системы/подсистемы
Внешняя сущность представляет собой материальный объект или физическое лицо, которые могут выступать в качестве источника или приемника информации. Примерами внешних сущностей могут служить: клиенты организации, заказчики, персонал, поставщики.
Внешняя сущность обозначается прямоугольником с тенью (рисунок 2.3), внутри которого указывается ее имя. При этом в качестве имени рекомендуется использовать существительное в именительном падеже.
Рисунок 2.3 – Изображение внешней сущности на диаграмме потоков данных
Процесс представляет собой совокупность операций по преобразованию входных потоков данных в выходные в соответствии с определенным алгоритмом или правилом. Хотя физически процесс может быть реализован различными способами, наиболее часто подразумевается программная реализация процесса. Процесс на диаграмме потоков данных изображается прямоугольником с закругленными вершинами (рисунок 2.4), разделенным на три секции или поля горизонтальными линиями. Поле номера процесса служит для идентификации последнего. В среднем поле указывается имя процесса. В качестве имени рекомендовано использовать глагол в неопределенной форме с необходимыми дополнениями. Нижнее поле содержит указание на способ физической реализации процесса.
Рисунок 2.4 – Изображение процесса на диаграмме потоков данных
Накопитель данных или хранилище представляет собой абстрактное устройство или способ хранения информации, перемещаемой между процессами. Предполагается, что данные можно в любой момент поместить в накопитель и через некоторое время извлечь, причем физические способы помещения и извлечения данных могут быть произвольными. Накопитель данных на диаграмме потоков данных изображается прямоугольником с двумя полями (рисунок 2.5).
Рисунок 2.5 – Изображение накопителя на диаграмме потоков данных
Наконец, поток данных определяет качественный характер информации, передаваемой через некоторое соединение от источника к приемнику. Поток данных на диаграмме DFD изображается линией со стрелкой на одном из ее концов, при этом стрелка показывает направление потока данных. Каждый поток данных имеет свое собственное имя, отражающее его содержание.
Таким образом, информационная модель системы в нотации DFD строится в виде диаграмм потоков данных, которые графически представляются с использованием соответствующей системы обозначений.
2.3 Пример выполнения анализа требований для икс видеотека
На этом этапе мы будем строить модель среды МКС ВИДЕОТЕКА. Построение модели среды включает:
анализ поведения системы (определение назначения ИКС, построение начальной контекстной диаграммы потоков данных (DFD) и формирование матрицы списка событий (ELM), построение контекстных диаграмм);
анализ данных (определение состава потоков данных и построение диаграмм структур данных (DSD), конструирование глобальной модели данных в виде ER-диаграммы).
Назначение ИКС определяет соглашение между проектировщиками и заказчиками относительно назначения будущей ИКС, общее описание ИКС для самих проектировщиков и границы ИКС. Назначение фиксируется как текстовый комментарий в "нулевом" процессе контекстной диаграммы.
Например, в данном случае назначение ИКС формулируется следующим образом: ведение базы данных о членах библиотеки, фильмах, аренде и поставщиках. При этом руководство библиотеки должно иметь возможность получать различные виды отчетов для выполнения своих задач.
Перед построением контекстной DFD необходимо проанализировать внешние события (внешние объекты), оказывающие влияние на функционирование библиотеки. Эти объекты взаимодействуют с ИКС путем информационного обмена с ней.
Из описания предметной области следует, что в процессе работы библиотеки участвуют следующие группы людей: клиенты, поставщики и руководство. Эти группы являются внешними объектами. Они не только взаимодействуют с системой, но также определяют ее границы и изображаются на начальной контекстной DFD как внешние сущности.
Начальная контекстная диаграмма изображена на рисунке 2.6. На диаграмме этого уровня допустимо внешние сущности обозначать обычными прямоугольниками, а процессы - окружностями.
Рисунок 2.6 – Начальная контекстная диаграмма (DFD 0-й уровень)
Список событий строится в виде матрицы (ELM) и описывает различные действия внешних сущностей и реакцию ИКС на них. Эти действия представляют собой внешние события, воздействующие на библиотеку. Различают следующие типы событий:
Таблица 2.1 Типы событий
Аббревиатура |
Тип |
NC |
Нормальное управление |
ND |
Нормальные данные |
NCD |
Нормальное управление/данные |
TC |
Временное управление |
TD |
Временные данные |
TCD |
Временное управление/данные |
Все действия помечаются как нормальные данные. Эти данные являются событиями, которые ИКС воспринимает непосредственно, например, изменение адреса клиента, которое должно быть сразу зарегистрировано. Они появляются в DFD в качестве содержимого потоков данных.
Матрица списка событий имеет следующий вид:
Таблица 2.2 Матрица списка событий
№ |
Описание |
Тип |
Реакция |
1 |
Клиент желает стать членом библиотеки |
ND |
Регистрация клиента в качестве члена библиотеки |
2 |
Клиент сообщает об изменении адреса |
ND |
Регистрация измененного адреса клиента |
3 |
Клиент запрашивает аренду фильма |
ND |
Рассмотрение запроса |
4 |
Клиент возвращает фильм |
ND |
Регистрация возврата |
5 |
Руководство предоставляет полномочия новому поставщику |
ND |
Регистрация поставщика |
6 |
Поставщик сообщает об изменении адреса |
ND |
Регистрация измененного адреса поставщика |
7 |
Поставщик направляет фильм в библиотеку |
ND |
Получение нового фильма |
8 |
Руководство запрашивает новый отчет |
ND |
Формирование требуемого отчета для руководства |
Для завершения анализа функционального аспекта поведения системы строится полная контекстная диаграмма, включающая диаграмму нулевого уровня. При этом процесс "библиотека" декомпозируется на 4 процесса, отражающие основные виды административной деятельности библиотеки. Существующие "абстрактные" потоки данных между терминаторами и процессами трансформируются в потоки, представляющие обмен данными на более конкретном уровне. Список событий показывает, какие потоки существуют на этом уровне: каждое событие из списка должно формировать некоторый поток (событие формирует входной поток, реакция - выходной поток). Один "абстрактный" поток может быть разделен на более чем один "конкретный" поток.
Таблица 2.3 Потоки
Потоки на диаграмме верхнего уровня |
Потоки на диаграмме нулевого уровня |
Информация от клиента |
Данные о клиенте, Запрос об аренде |
Информация для клиента |
Членская карточка, Ответ на запрос об аренде |
Информация от Руководства |
Запрос отчета о новых членах, Новый поставщик, Запрос отчета о поставщиках, Запрос отчета об аренде, Запрос отчета о фильмах |
Информация для Руководства |
Отчет о новых членах, Отчет о поставщиках, Отчет об аренде, Отчет о фильмах |
Информация от Поставщика |
Данные о поставщике, Новые фильмы |
На приведенной DFD (рисунок 2.7) накопитель данных "библиотека" является глобальным или абстрактным представлением хранилища данных.
Рисунок 2.7 – Контекстная диаграмма (DFD 1-й уровень)
Анализ функционального аспекта поведения системы дает представление об обмене и преобразовании данных в системе. Взаимосвязь между "абстрактными" потоками данных и "конкретными" потоками данных на диаграмме нулевого уровня выражается в диаграммах структур данных (рисунок 2.8).
Рисунок 2.8 – Диаграмма структур данных
На фазе анализа строится глобальная модель данных, представляемая в виде диаграммы "сущность-связь" (рисунок 2.9).
Рисунок 2.9 – Диаграмма "сущность-связь"
Между различными типами диаграмм существуют следующие взаимосвязи:
ELM-DFD: события - входные потоки, реакции - выходные потоки
DFD-DSD: потоки данных - структуры данных верхнего уровня
DFD-ERD: накопители данных - ER-диаграммы
DSD-ERD: структуры данных нижнего уровня - атрибуты сущностей
