Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модуль-1-шпора-ТРПО.doc
Скачиваний:
65
Добавлен:
21.03.2015
Размер:
2.59 Mб
Скачать

Связи типа «расширение» и «использование». Кроме связей между действующими лицами и ви на диаграмме существуют 2 других типа связей. Это связи типа «расширение» и «использование».

Связь «расширение» используется в тех случаях, когда один ВИ подобен другому, но несет несколько большую нагрузку. В нашем примере основным ВИ является «Заключить сделку» – он предполагает нормальный ход процесса. Однако м.б. какие-либо отклонения от нормального хода, например, превышение лимита максимальной суммы торговой сделки, установленного для конкретного клиента. В этом случае процесс, связанный с данным ВИ должен измениться. Способ учесть эти изменения – поместить нормальный процесс в рамки одного ВИ, а отклонения от него – в другое место.

Образование связи типа «расширение» заключается в следующем:

  1. сначала фиксируется нормальный ВИ;

  2. анализируется каждый шаг в этом ВИ для выяснения возможных отклонений;

  3. все отклонения определяются как расширения основного ВИ. Количество таких расширений м.б. довольно большим, однако их отделение от основного варианта способствует лучшему пониманию проблемы.

Связь «использование» используется в тех ситуациях, когда имеется какой-либо фрагмент поведения системы, который повторяется более чем в одном ВИ и не нужно копировать его описание в каждом из этих ВИ. Например, ВИ «Проанализировать риск» и «Договориться о цене» требуют оценки стоимости сделки. Поэтому создается отдельный ВИ «Оценка стоимости» и предыдущие 2 ВИ на него ссылаются.

Сходства и различия между связями «расширение» и «использование».

Обе связи предусматривают выделение общих фрагментов поведения из нескольких ВИ в один вариант, который «используется» или «расширяется» другими ВИ. 2 типа связей подразумевают различный смысл взаимоотношений с действующими лицами. В случае «расширения» у действующих лиц имеется связь с основным ВИ. При этом д. лицо может реализовывать как основной ВИ, так и его расширения. В случае «использования» обычно нет действующих лиц, связанных с общим ВИ.

Правила применения «расширения» и «использования».

1. Связь «расширение» используется, когда описываются изменения в нормальном поведении системы.

2. Связь «использование» применяется, когда нужно избежать повторов в двух или более ВИ.

2.4. Диаграммы классов. Общая характеристика

Класс – это описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Классы используются для составления словаря разрабатываемой системы. Это м.б. абстракции, являющиеся частью предметной области, или классы, на которые опирается реализация. Класс реализует один или несколько интерфейсов. Интерфейс – это совокупность операций, которые определяют набор услуг, предоставляемый классом. Интерфейс описывает видимое извне поведение элемента. Интерфейс определяет только спецификации операций, но никогда – их реализации.

Диаграмма классов – это диаграмма, на которой показано множество классов и статических связей между ними.

Существует 2 основных вида статических связей: ассоциации и обобщения. Ассоциации представляют собой структурные отношения между объектами. Обобщения связывают обобщенные классы со специализированными.

На диаграммах классов (ДК) изображаются также атрибуты классов, операции классов и ограничения, накладываемые на связи между объектами.

Рисунок 2.2. Диаграмма классов для системы обработки заказав клиентов.

Существуют 3 различные точки зрения на построение диаграмм классов: концептуальная, т.з. спецификации и т.з. реализации.

С концептуальной т.з. диаграммы классов отображают понятия изучаемой предметной области. Эти понятия будут соответствовать реализующим их классам, но прямое соответствие часто отсутствует. Концептуальная модель может не иметь никакого отношения к реализующему её программному обеспечению. Поэтому её можно рассматривать, как независимую от языка программирования.

При построении ДК с т.з. спецификации учитывается ПО, но рассматриваются только интерфейсы, а не реализация. Здесь используются скорее типы, чем классы. (Объектно-ориентированная разработка подчеркивает различия между интерфейсами и реализацией, а в объектно-ориентированных языках категория класса объединяет интерфейс и реализацию.) Тип представляет интерфейс, который может иметь множество реализаций, отличающихся друг от друга (например, из-за среды реализации)

При построении ДК с т.з. реализации разработчики работают с уровнем реализации и диаграммы действительно отображают классы.

Различия между т.з. не слишком очевидны и часто разработчики смешивают разные т.з. На практике понимание т.з. очень важно для построения и чтения диаграмм, т.к. каждый элемент диаграммы зависит от т.з. При построении ДК т.з. должна быть ясной и единственной. При чтении ДК необходимо выяснить, с какой т.з. она строилась.

Пример диаграммы классов для системы обработки заказов клиентов приведен на рисунке 2.2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]