Автор: Пользователь скрыл имя, 27 Октября 2011 в 02:35, доклад
В основе данной методологии (методологии Gane/Sarson [11]) лежит построение модели анализируемой ИС - проектируемой или реально существующей. В соответствии с методологией модель системы определяется как иерархия диаграмм потоков данных (ДПД или DFD), описывающих асинхронный процесс преобразования информации от ее ввода в систему до выдачи пользователю. Диаграммы верхних уровней иерархии (контекстные диаграммы) определяют основные процессы или подсистемы ИС с внешними входами и выходами.
Рис. 2.34.
Атрибуты и первичные
ключи
Сущности
могут иметь также внешние
ключи (Foreign Key), которые могут использоваться
в качестве части или целого первичного
ключа или неключевого атрибута. Внешний
ключ изображается с помощью помещения
внутрь блока сущности имен атрибутов,
после которых следуют буквы FK в скобках
(рисунок 2.35).
Рис. 2.35. Примеры внешних ключей
В
CASE-средстве Vantage Team Builder (Westmount I-CASE) [14] используется
один из вариантов нотации П. Чена. На ER-диаграммах
сущность обозначается прямоугольником,
содержащим имя сущности (рисунок 2.36),
а связь - ромбом, связанным линией с каждой
из взаимодействующих сущностей. Числа
над линиями означают степень связи.
Рис. 2.36.
Обозначение сущностей
и связей
Связи являются многонаправленными и могут иметь атрибуты (за исключением ключевых). Выделяют два вида связей:
В
необязательной связи (рисунок 2.37) могут
участвовать не все экземпляры сущности.
Рис. 2.37.
Необязательная связь
В отличие от необязательной связи в полной (total) связи участвуют все экземпляры хотя бы одной из сущностей. Это означает, что экземпляры такой связи существуют только при условии существования экземпляров другой сущности. Полная связь может иметь один из 4-х видов: обязательная связь, слабая связь, связь "супертип-подтип" и ассоциативная связь.
Обязательная (mandatory) связь описывает связь между "независимой" и "зависимой" сущностями. Все экземпляры зависимой ("обязательной") сущности могут существовать только при наличии экземпляров независимой ("необязательной") сущности, т.е. экземпляр "обязательной" сущности может существовать только при условии существования определенного экземпляра "необязательной" сущности.
В
примере (рисунок 2.38) подразумевается,
что каждый автомобиль имеет по крайней
мере одного водителя, но не каждый служащий
управляет машиной.
Рис. 2.38.
Обязательная связь
В слабой связи существование одной из сущностей, принадлежащей некоторому множеству ("слабой") зависит от существования определенной сущности, принадлежащей другому множеству ("сильной"), т.е. экземпляр "слабой" сущности может быть идентифицирован только посредством экземпляра "сильной" сущности. Ключ "сильной" сущности является частью составного ключа "слабой" сущности.
Слабая связь всегда является бинарной и подразумевает обязательную связь для "слабой" сущности. Сущность может быть "слабой" в одной связи и "сильной" в другой, но не может быть "слабой" более, чем в одной связи. Слабая связь может не иметь атрибутов.
Пример
на рисунке 2.39: ключ (номер) строки в
документе может не быть уникальным
и должен быть дополнен ключом документа.
Рис. 2.39.
Слабая связь
Связь
"супертип-подтип" изображена на
рисунке 2.40. Общие характеристики (атрибуты)
типа определяются в сущности-супертипе,
сущность-подтип наследует все характеристики
супертипа. Экземпляр подтипа существует
только при условии существования определенного
экземпляра супертипа. Подтип не может
иметь ключа (он импортирует ключ из супертипа).
Сущность, являющаяся супертипом в одной
связи, может быть подтипом в другой связи.
Связь супертипа не может иметь атрибутов.
Рис. 2.40.
Связь "супертип-подтип"
В ассоциативной связи каждый экземпляр связи (ассоциативный объект) может существовать только при условии существования определенных экземпляров каждой из взаимосвязанных сущностей. Ассоциативный объект - объект, являющийся одновременно сущностью и связью. Ассоциативная связь - это связь между несколькими "независимыми" сущностями и одной "зависимой" сущностью. Связь между независимыми сущностями имеет атрибуты, которые определяются в зависимой сущности. Таким образом, зависимая сущность определяется в терминах атрибутов связи между остальными сущностями.
В примере на рисунке 2.41 самолет выполняет посадку на взлетную полосу в заданное время при определенной скорости и направлении ветра. Поскольку эти характеристики применимы только к конкретной посадке, они являются атрибутами посадки, а не самолета или взлетной полосы. Пилот, выполняющий посадку, связан гораздо сильнее с конкретной посадкой, чем с самолетом или взлетной полосой.
Рис. 2.41.
Ассоциативная связь
Первичный ключ каждого типа сущности помечается звездочкой (*).
ER-диаграмма должна подчиняться следующим правилам:
В данном примере используется методология Yourdon [12], реализованная в CASE-средстве Vantage Team Builder [14].
В качестве предметной области используется описание работы видеобиблиотеки, которая получает запросы на фильмы от клиентов и ленты, возвращаемые клиентами. Запросы рассматриваются администрацией видеобиблиотеки с использованием информации о клиентах, фильмах и лентах. При этом проверяется и обновляется список арендованных лент, а также проверяются записи о членстве в библиотеке. Администрация контролирует также возвраты лент, используя информацию о фильмах, лентах и список арендованных лент, который обновляется. Обработка запросов на фильмы и возвратов лент включает следующие действия: если клиент не является членом библиотеки, он не имеет права на аренду. Если требуемый фильм имеется в наличии, администрация информирует клиента об арендной плате. Однако, если клиент просрочил срок возврата имеющихся у него лент, ему не разрешается брать новые фильмы. Когда лента возвращается, администрация рассчитывает арендную плату плюс пени за несвоевременный возврат.
Видеобиблиотека получает новые ленты от своих поставщиков. Когда новые ленты поступают в библиотеку, необходимая информация о них фиксируется. Информация о членстве в библиотеке содержится отдельно от записей об аренде лент.
Администрация библиотеки регулярно готовит отчеты за определенный период времени о членах библиотеки, поставщиках лент, выдаче определенных лент и лентах, приобретенных библиотекой.
Весь проект разделяется на 4 фазы: анализ, глобальное проектирование (проектирование архитектуры системы), детальное проектирование и реализация (программирование).
На фазе анализа строится модель среды (Environmental Model). Построение модели среды включает:
Назначение
ИС определяет соглашение между проектировщиками
и заказчиками относительно назначения
будущей ИС, общее описание ИС для
самих проектировщиков и
Например, в данном случае назначение ИС формулируется следующим образом: ведение базы данных о членах библиотеки, фильмах, аренде и поставщиках. При этом руководство библиотеки должно иметь возможность получать различные виды отчетов для выполнения своих задач.
Перед построением контекстной DFD необходимо проанализировать внешние события (внешние объекты), оказывающие влияние на функционирование библиотеки. Эти объекты взаимодействуют с ИС путем информационного обмена с ней.
Из описания предметной области следует, что в процессе работы библиотеки участвуют следующие группы людей: клиенты, поставщики и руководство. Эти группы являются внешними объектами. Они не только взаимодействуют с системой, но также определяют ее границы и изображаются на начальной контекстной DFD как терминаторы (внешние сущности).
Начальная
контекстная диаграмма
Рис. 2.42.
Начальная контекстная
диаграмма
Список событий строится в виде матрицы (ELM) и описывает различные действия внешних сущностей и реакцию ИС на них. Эти действия представляют собой внешние события, воздействующие на библиотеку. Различают следующие типы событий:
|
Все действия помечаются как нормальные данные. Эти данные являются событиями, которые ИС воспринимает непосредственно, например, изменение адреса клиента, которое должно быть сразу зарегистрировано. Они появляются в DFD в качестве содержимого потоков данных.
Матрица
списка событий имеет следующий
вид:
|