'

Объектно-ориентированный анализ и дизайн

Понравилась презентация – покажи это...





Слайд 0

Объектно-ориентированный анализ и дизайн Copyright © Мухортов В. В., Няньчук-Татарский Н. А., 2001-2004 Copyright © ООО «Интекс», 2003-2004


Слайд 1

Классы Class – набор объектов с общей структурой и поведением Interface – базовый класс, задающий только поведение, имеет стереотип <<interface>> Abstract class – базовый класс, не имеющий экземпляров Parameterized class – параметризованный класс, шаблон Instantiated class – депараметризованный шаблон


Слайд 2

Примеры классов


Слайд 3

Атрибуты классов Attribute – атрибут (поле) Class attribute – атрибут класса (static) Derived attribute – производный (вычислимый) атрибут Export control – доступ (public, protected, private) Containment – способ включения (value, reference) Syntax: <role_name>:<class_name><=default_value>


Слайд 4

Атрибуты классов name, birth_date – аттрибуты age – производный аттрибут (вычисляется через birth_date)


Слайд 5

Атрибуты классов name, birth_date и age - атрибуты класса


Слайд 6

Методы(операции) Method (operation) – метод Class method – метод класса (static) Export control – public, protected, private Syntax: <stereotype> name(<parameters>) : <return type> Parameter: parameter_name : type


Слайд 7

Диаграмма классов - определяет типы объектов системы и статические связи между ними


Слайд 8

Отношения между классами Зависимость Ассоциация Агрегация (отношение часть-целое) Композиция (отношение часть-целое c контролем жизненного цикла) Генерализация (наследование) Реализация (выполнение контракта)


Слайд 9

Ассоциация (Association) Ассоциация - отношение взаимодействия Обладает 2-мя ролями Роль обладает множественностью (1, n, *, 0..n, 1..n, 1..*) Пример: сотрудник может занимать несколько должностей, на одной должности находится не более одного сотрудника


Слайд 10

Ассоциация Ассоциация может иметь выделенное направление Должность связана базовым тарифом оплаты Тариф оплаты никак не связан с конкретной должностью


Слайд 11

Агрегация (Aggregation) Агрегация – отношение часть-целое


Слайд 12

Композиция (Composition) Композиция – частный случай агрегации Жизненный цикл частей и целого совпадают Отделы не существуют без компании Часть принадлежит только одному целому


Слайд 13

Зависимость (Dependency)


Слайд 14

Генерализация (Generalization) Генерализация (наследование, обобщение) – отношение частное-общее


Слайд 15

Реализация (Realization) Реализация – отношение выполнения соглашения Треугольник и квадрат реализуют алгоритм вращения, специфицированный абстрактной сущностью «Фигура»


Слайд 16

Диаграммы пакетов Package – пакет. Общий механизм организации элементов модели в группы Имеет имя Определяет пространство имен Может быть импортирован другим пакетом


Слайд 17

Пример: постановка задачи Исходные данные: Есть класс Service с некоторым полезным методом do (): ResultSet Цель: Обеспечить удаленному клиенту прозрачный доступ к этому методу


Слайд 18

Диаграмма пакетов


Слайд 19

Диаграмма пакетов


Слайд 20

пакет: service


Слайд 21

пакет: service::local


Слайд 22

пакет: service::server


Слайд 23

пакет: service::agent


Слайд 24

стереотипы пакетов system – вся система subsystem – подсистема facade – представление другого пакета Например, пакет внешних интерфейсов подсистемы framework – набор шаблонов stub – заместитель другого пакета Созданный, например, для тестирования


Слайд 25

Диаграммы взаимодействия Последовательностей - Sequence diagrams Коопераций (Коллабораций) - Collaboration diagrams Отражают динамические аспекты поведения объектов Семантически эквивалентны Содержат: Объекты Связи Сообщения Потоки данных


Слайд 26

Диаграмма последовательностей


Слайд 27

Диаграмма коопераций


Слайд 28

Цели фазы анализа и дизайна Задачи: Трансформировать требования собранные на предыдущем этапе в дизайн системы Проработать архитектуру системы Адаптировать дизайн к среде исполнения Модели: Аналитическая модель (Analysis model) Design model


Слайд 29

Аналитическая модель Абстрактная модель системы, описывающая ее в терминах use-case realization. Язык реализации классов не фиксируется. Обычно не сопровождается. Элементы analysis model: Use-case realization – реализация use-case, набор activity, state, collaboration и class диаграмм Boundary class – класс, разграничивающий actor-ов и систему Control – класс, управляющий другими классами Entity – класс, моделирующий информацию, используемую в системе


Слайд 30

Boundary class Класс, разграничивающий (под-)систему и окружение. UML: class со стереотипом <<boundary>> Примеры: классы пользовательского интерфейса, классы интерфейсов систем и устройств 3 представления boundary class в Rational Rose


Слайд 31

Control Класс, управляющий другими классами. Можно сказать, что control “исполняет” use-case UML: class со стереотипом <<control>> 3 представления control class в Rational Rose


Слайд 32

Entity Класс, моделирующий информацию, используемую в системе UML: class со стереотипом <<entity>> 3 представления entity class в Rational Rose


Слайд 33

Проверка контрактов


Слайд 34

Диаграмма классов


Слайд 35

Заключение контракта


Слайд 36

Диаграмма классов


Слайд 37

Диаграмма взаимодействия


Слайд 38

Ограничения на связи


×

HTML:





Ссылка: