Моделирование прецедентов. Компоненты модели прецедентов.



 

Моделирование прецедентов обычно происходит следующим образом:

• Устанавливаются границы потенциальной системы.

• Выявляются актеры.

• Выявляются прецеденты:

• определяется прецедент;

• устанавливаются основные альтернативные потоки.

• Предыдущие шаги повторяются, пока прецеденты, актеры и границы системы не стабилизируются.

Прецеденты – способ записи требований.

Компоненты модели прецедентов:

•Граница системы – прямоугольник, очерчивающий прецеденты для обозначения края, или границы, моделируемой системы. В UML 2 эту границу называют контекстом системы (subject).

• Актеры – роли, выполняемые людьми или сущностями, использующими систему. (это роли, исполняемые сущностями, непосредственно взаимодействующими с системой. Обозначаются человечком и находятся за границей системы)

• Прецеденты – то, что актеры могут делать с системой. (Прецедент описывает поведение, демонстрируемое системой с целью получения значимого результата для одного или более актеров.

• прецеденты всегда инициируются актером;

• прецеденты всегда описываются с точки зрения актеров.

Обозначаются овалом.)

• Отношения – значимые отношения между актерами и прецедентами.

 

Диаграмма прецедентов.

 

Диаграмма прецедентов.

На диаграмме прецедентов контекст модели прецедентов изображается в виде блока с именем контекста. Этот блок является контекстом, он представляет границу системы, моделируемую прецедентами. Актеры располагаются вне контекста (они внешние по отношению к системе), а прецеденты, составляющие поведение системы, располагаются внутри контекста (они внутренние по отношению к системе). Отношение между актером и прецедентом обозначается сплошной линией. Это символ ассоциации в UML. Ассоциация между актером и прецедентом показывает, что актер и прецедент каким-то образом взаимодействуют

На диаграмме прецедентов отражены:

● контекст;

● актеры;

● прецеденты;

● взаимодействия.

Отношение «include» выносит шаги, общие для нескольких прецедентов, в отдельный прецедент, который потом включается в остальные.

Отношение «extend» – способ введения нового поведения в существующий прецедент.

 

Рабочий поток анализа.

Цель рабочего потока анализа (с точки зрения ОО анализа) – создание аналитической модели. Данная модель фокусируется на том, что должна делать система. Детали того, как система будет это делать, предоставляются потоку проектирования.

• Анализ заключается в создании моделей, отображающих основные требования и характеристики целевой системы – аналитическое моделирование имеет стратегическое значение.

• Основной объем работ рабочего потока анализа выполняется в конце фазы Начало и в фазе Уточнение.

Рабочий поток анализа в UP включает следующие деятельности:

• Архитектурный анализ

• Анализ прецедента

• Анализ класса

• Анализ пакета

 

 

Объекты и классы. Объект. Класс. Инкапсуляция. Свойства.

Объекты

Объект можно представить как единый пакет данных и функциональности. Как правило, единственный путь добраться до данных объекта – вызвать одну из предоставляемых им функций. Эти функции называются операциями (operations). Сокрытие данных объекта за уровнем операций известно как инкапсуляция (encapsulation), или сокрытие данных (datahiding). Инкапсуляция в UML не является обязательной, поскольку некоторые ОО языки не нуждаются в ней.

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

 

Свойства Объекта.

● Каждый объект имеет уникальный идентификатор.

○ Идентификатор (identity) – это определение существования и единственности объекта во времени и пространстве. Это то, что отличает его от всех остальных объектов. В нашем примере серийный номер может использоваться в качестве идентификатора для обозначения конкретного принтера на нашем столе и представления уникального идентификатора этого объекта. Серийный номер – замечательный способ идентифицировать физический объект. Для идентификации каждого программного объекта, принимающего участие в ОО анализе и проектировании, используется аналогичный принцип – идея объектной ссылки. Конечно, в реальности не у всех объектов есть серийный номер, но все равно они имеют уникальные идентификаторы: конкретные пространственные и временные координаты. Подобным образом в ОО программных системах каждый объект имеет некоторую объектную ссылку.

● Значения атрибутов хранят данные объекта.

○ Состояние (state) – определяется значениями атрибутов объекта и его отношениями с другими объектами в конкретный момент времени.

○ Поведение (behavior) – Вызов операции объекта всегда приводит к изменению значений одного или более его атрибутов или отношений с другими объектами. Это мо+ жет обусловить переход состояний – целенаправленный переход объекта из одного состояния в другое.

● Метод – это реализация операции.

○ Операция – это описание части поведения. Реализация этого поведения называется методом (method).

 

Инкапсуляция

Инкапсуляция, или сокрытие данных, – одно из основных преимуществ ОО программирования. Она обеспечивает возможность создания более надежного и расширяемого программного обеспечения. В этом простом примере объекта Account пользователю не надо беспокоиться о структуре данных, сокрытых в объекте. Его интересует только то, что объект может сделать. Иначе говоря, ему интересны сервисы (services), предлагаемые другим объектам.

это короче

● private - доступен только обьекту

● public - доступен всем

● protected - доступен только дочерним классам(обьектам)

● package - виден только для тех классов которые находятся в одном пакете

Классы

Дескриптор набора объектов, имеющих одинаковые атрибуты, операции, методы, отношения и поведение.

Каждый объект – это экземпляр только одного класса.

Отношения

Отношения – это семантические (значимые) связи между элементами модели. Отношения – это способ объединения сущностей в UML.

Связь – это семантическое соединение между двумя объектами, которое обеспечивает им возможность обмена сообщениями.

Диаграмма объектов – это диаграмма, представляющая объекты и их отношения в некоторый момент времени.

 Обобщение— это наследование.

Класс «Man»(человек) — более абстрактный, а «Employee»(сотрудник) более специализированный. Класс «Employee» наследует свойства и методы «Man».

Ассоциации – это отношения между классами. Аналогично связям, соединяющим объекты, ассоциации соединяют классы.

Бинарная (В модель добавили класс «IdCard», представляющий идентификационную карточку(пропуск) сотрудника. Каждому сотруднику может соответствовать только одна идентификационная карточка, мощность связи 1 к 1.)

N-арная ассоциация (Каждому объекты работник(Employee) может соответствовать несколько рабочих помещений. Мощность связи один-ко-многим.)

 Агрегация (Введем в модель класс Department(отдел) — наше предприятие структурировано по отделам. В каждом отделе может работать один или более человек. Можно сказать, что отдел включает в себя одного или более сотрудников и таким образом их агрегирует. На предприятии могут быть сотрудники, которые не принадлежат ни одному отделу, например, директор предприятия.)

 Композиция (Предположим, что одним из требований к нашей системе является требование о том, чтоб хранить данные о прежней занимаемой должности на предприятии. Введем новый класс «pastPosition». В него, помимо свойства «имя»(name), введем и свойство «department», которое свяжет его с классом «Department». Данные о прошлых занимаемых должностях являются частью данных о сотруднике, таким образом между ними связь целое-часть и в то же время, данные о прошлых должностях не могут существовать без объекта типа «Employee». Уничтожение объекта «Employee» должно привести к уничтожению объектов «pastPosition».)

Зависимость(Для организации диалога с пользователем введем в систему класс «Menu». Встроим один метод «showEmployees», который показывает список сотрудников и их должности. Параметром для метода является массив объектов «Employee». Таким образом, изменения внесенные в класс «Employee» могут потребовать и изменения класса «Menu». )

Реализация (Реализация, как и наследование имеет явное выражение в языке Java: объявление интерфейса и возможность его реализации каким-либо классом.)


Дата добавления: 2018-06-01; просмотров: 1693; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!