- •Технология объектно- ориентированного моделирования
- •ЦЕЛЬ КУРСА
- •ЗАДАЧИ КУРСА
- •Преимущества использования объектно- ориентированного подхода
- •Основная идея объектного подхода
- •Объект - это абстракция множества предметов реального мира, обладающих одинаковыми характеристиками и законами
- •Класс - это множество предметов реального мира, связанных общностью структуры и поведением.
- •Важнейшие понятия объектного подхода
- •Инкапсуляция -
- •Полиморфизм -
- •Наследование
- •Методология объектно- ориентированного анализа и проектирования реализуется с использованием унифицированного языка моделирования Unified
- •Унифицированный язык моделирования UML –это язык визуального моделирования для решения задач общего характера,
- •Основы UML
- •Объектно-ориентированная модель предметной области
- •Визуальное
- •Мотивация применения UML
- •Визуальное
- •Контроль качества
- •Контроль качества
- •Типы диаграмм
- •Методология Rational Unified Process
- •Обзор Rational Unified Process
- •Обзор Rational Unified Process
- •Схема организации RUP
- •Rational Unified Process: Структура жизненного цикла
- •Rational Unified Process: Структура жизненного цикла
- •Rational Unified Process.
- •Структура процесса
- •Стадии RUP
- •Основные потоки работ
- •Поток работ делового моделирования
- •Управление требованиями
- •Управление требованиями
- •Управление
- •Диаграммы UML
- •Стереотипы UML
- •Идентификация акторов
- •Идентификация прецедентов (Use Cases)
- •Назначение диаграммы Use Case
- •Разработка требований в
- •Пример модели требований в Requisite Professional
- •Диаграммы UML
- •Диаграмма классов на UML
- •Диаграмма классов
- •Атрибуты и операции класса
- •Стереотипы классов
- •Если система содержит большое количество классов, они могут быть объединены в пакеты, представляющие
- •Отношения между классами (пиктограммы)
- •Идентификация и представление сообщений
- •Отношения
- •Отношения
- •Наследование или обобщение
- •Разработка диаграмм классов (пример)
- •Диаграммы
- •Диаграмма последовательности действий (sequence diagram)
- •Диаграммы взаимодействия объектов (Sequence and Collaboration Diagrams)
- •Диаграмма последовательности
- •Диаграмма взаимодействия (Collaboration diagram)
- •Диаграмма состояний
- •Диаграмма состояний
- •Основные элементы и пиктограммы диаграммы состояний
- •Анализ поведения объекта на диаграмме состояний
- •Анализ поведения объекта на диаграмме состояний
- •Диаграмма состояний класса «Учебный курс»
- •Диаграмма состояний
- •Программные средства, реализующие нотацию Unified Modeling Language
- •Общая платформа группы
- •Поддержка потоков работ средствами
- •Инструменты для аналитиков.
- •Инструменты для разработчиков. Rational Rose (Modeler Edition)
- •Общая платформа группы.
- •Графический интерфейс пользователя Rational Rose
- •Генерация программного кода Java на основе UML-модели
- •Пример Java программы
- •От UML диаграммы классов к Java коду
- •Java UML : Пример
- •Диаграмма классов
- •Зависимость
- •Пример зависимости
- •Обобщение
- •Использование
- •Пример UML модели
- •Диаграмма требований
- •Архитектура системы
- •Диаграмма классов
- •Диаграмма
- •Диаграмма состояний
- •Диаграмма размещения
- •Автор: Л.Р. Черняховская проф. каф. технической кибернетики
Идентификация прецедентов (Use Cases)
Для идентификации прецедентов могут быть заданы следующие вопросы:
Каковы задачи каждого актора ?
Будет ли актор создавать, хранить, изменять, удалять или читать определенную информацию?
Будет ли актор информировать систему о внезапных, внешних изменениях?
Нуждается ли актор в информации о конкретных событиях, происходящих в системе?
Какие прецеденты будут поддерживаться и обслуживаться в системе?
Все ли функциональные требования будут выполняться посредством выделенных прецедентов?
41
Назначение диаграммы Use Case
Диаграмма Use Case помогает определить требования пользователя
Данная диаграмма - это представление работы системы с точки зрения акторов (actors), то есть объектов, выполняющих в системе определенные функции
Элемент Use Case - это согласованный блок функциональности, которую представляет система, подсистема или класс
RUP предполагает "управляемый прецедентами подход“, в соответствии с которым определенный для системы прецедент является основанием для всего процесса разработки
42
Разработка требований в
Rational RequisitePro
Помогает собирать программные требования, документировать их, располагать по приоритетам, отслеживать выполнение и управлять изменениями.
43
Пример модели требований в Requisite Professional
Rational RequisitPro обеспечивает возможность формирования терминологии предметной области составления словаря (Glossary)
44
Диаграммы UML
II. Диаграмма классов
45
Диаграмма классов на UML
Диаграммы классов (class diagrams) описывают статическую структуру классов.
Диаграммы могут описывать основные понятия предметной области на концептуальном уровне
На детальном уровне ( уровне спецификаций и уровне реализаций) диаграммы определяют структуру программных классов.
46
Диаграмма классов
ИМЯ_КЛАССА
имя_атрибута 1: тип_1 = значение_по_умолчанию_1 имя_атрибута 2: тип_2 = значение_по_умолчанию_2
. . . . . . . . . . . . . . .
имя_операции_1 (список_аргументов_1): тип_результата сигнатура_операции_2 сигнатура_операции_3
. . . . . . . . . . . . . . . .
47
Атрибуты и операции класса
Атрибут - это значение, характеризующее объект в его классе. Примеры атрибутов: категория, баланс, кредит (атрибуты объектов класса счет); имя, возраст, вес (атрибуты объектов класса человек) и т.д.
Операция - это функция (или преобразование), которую можно применять к объектам данного класса. Примеры операций: проверить, снять, поместить (для объектов класса счет), открыть_на_чтение, читать, закрыть (для объектов класса файл) и т.п.
48
Стереотипы классов
49
Если система содержит большое количество классов, они могут быть объединены в пакеты, представляющие архитектуру системы
|
|
|
|
|
Интерфейсы |
|
Элементы графического |
||
|
|
|
интерфейса |
|
|
|
|
|
|
Объекты |
персоналии |
университета
База данных
Обработка
ошибок
global
Базовые
средства
global
50
|
Типы отношений |
Отношение |
Функция |
Ассоциация |
Описание семантических связей между |
(Association) |
экземплярами классов |
Зависимость |
Отношение, существующее между двумя |
(Dependency) |
элементами модели |
Обобщение |
Отношение между общим описанием и более |
(Generalization) |
специфическими его разновидностями; |
|
используется при наследовании и для объявления |
|
полиморфных типов |
Реализация |
Отношение между спецификацией и ее реализацией |
(Realization) |
|
Использование |
Ситуация, когда для корректной работы одному |
(Usage) |
элементу системы необходим другой элемент |
51