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

Презентация:



Advertisements
Похожие презентации
Аналитическая модель (краткий конспект) Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,
Advertisements

Отношения между классами ЗависимостьDependency АссоциацияAssociation АгрегацияAggregation КомпозицияComposition ГенерализацияGeneralization РеализацияRealization.
Процесс разработки Design and programming are human activities. Forget it and all is lost. B.Stroustrup, 1991.
Package -набор классов, отношений, use-case realization и других пакетов UML: package.
Процесс разработки Design and programming are human activities. Forget it and all is lost. B.Stroustrup, 1991.
Объектно-ориентированный дизайн Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,
8. Моделирование логической структуры системы Диаграмма классов Диаграмма классов служит для моделирования классов и отношений между ними.
2. UML – унифицированный язык моделирования систем.
4. Моделирование функциональных требований к системе.
Диаграммы UML Диаграмма классов (Class Diagram). Основные вопросы Что такое диаграмма классов Компоненты диаграммы классов и их назначение Пример диаграммы.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
7. Классы и отношения между ними Классы Класс это реализация типа объектов, т.е. класс определяет множество объектов и множество операций, допустимых.
WORK WITH UML Универсальный язык моделирования (UML) Studybook for students Author Dudnik Oxana.
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Design model. М одель реализации системы. Создается на основе Analysis model. Фиксирует язык реализации классов. Сопровождается до конца разработки. Элементы.
Разработка объектно- ориентированного ПО Итеративная модель разработки (развитие водопадной модели) анализ проектирование кодирование тестирование.
Диаграмма классов (class diagram). Объект Объект (object) – это некоторая сущность реального мира Объект обладает тремя характеристиками: состоянием,
1 Диаграммы реализации (implementation diagrams).
Докладчик: Проектирование информационных систем всегда начинается с определения цели проекта. Основная задача любого успешного проекта.
Методология объектно- ориентированного программирования.
Транксрипт:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

пакет: service

пакет: service::local

пакет: service::server

пакет: service::agent

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ограничения на связи From\To (navigability) BoundaryEntityControl Boundary communicate subscribe communicate Entity communicate subscribe Control communicate subscribe communicate