Объектно-Ориентированный Анализ и Дизайн презентация

Содержание

Контакты Мигинский Денис Сергеевич ooad@bionet.nsc.ru http://ccfit.nsu.ru/~shadow/OOAD

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


Copyright © Мухортов В. В., Няньчук-Татарский Н. А.,

2001-2005
Copyright © ООО «Интекс», 2003-2005


Слайд 2Контакты
Мигинский Денис Сергеевич

ooad@bionet.nsc.ru

http://ccfit.nsu.ru/~shadow/OOAD


Слайд 3Цели курса

Навык работы в формальном процессе разработки

Изучение моделирования программных систем с

использованием UML и CASE-средств

Научить применению стандартных шаблонов проектирования (design patterns)

Пройти полный путь от постановки задачи, через анализ и проектирование, до реализации программной системы

Слайд 4Анализ требований и системный анализ

UML – унифицированный язык моделирования

Проектная модель,

модель реализации и размещения

Архитектурные шаблоны

Принципы и метрики проектирования

Шаблоны проектирования

Процесс разработки и роли участников

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

Программа курса:


Слайд 5«Идеальный архитектор должен быть писателем, математиком, знать историю, быть знатоком философии,

понимать музыку, обладать знаниями в области медицины, юриспруденции и астрономии»
Витрувий, 25 г до н.э.

“Работа архитектора это серии суб-оптимальных решений, сделанных под давлением в обстановке неуверенности и нехватки информации”.
Rational Unified Process

Ожидаемый результат

Архитектор / System Architect


Слайд 6Задача: автоматизация физ. эксперимента
Пропускная способность
Отказоустойчивость
Корректность
Соответствие требованиям эксперимента
Высокая скорость обработки данных
Большой объем

хранимых данных

~ 10-100 Мб/сек
~ 100-1000 Тб



Слайд 7Задача: автоматизация предприятия
Высокая композиционная сложность
Наличие большого количества ролей и разветвляющихся процессов
Необходимость

интеграции с существующими системами
Постоянно изменяющиеся требования связанные с развитием организации и оптимизацией процессов
Интеграция решений задач
Финансовых
АСУ
Планирования
Управления персоналом


Слайд 8«Самолет представляет собой совокупность вещей, каждая из которых по отдельности стремится

упасть на землю, но вместе, во взаимодействии, они преодолевают эту тенденцию»

Таким образом, современным ИС присущи как функциональная так и композиционная сложность.

Основными способами преодоления сложности являются декомпозиция и моделирование

Структурное проектирование и алгоритмическая декомпозиция
Проектирование на основе потоков данных
Объектно-ориентированное проектирование и объектная декомпозиция


Слайд 9Парадигмы программирования (наиболее распространенные)
Процедурное программирования
Структурное программирование
Объектно-ориентированное программирование
Аспектно-ориентированное программирование?


Слайд 10Объектно-ориентированный подход: основные положения
Программная система состоит из объектов, которые обмениваются сообщениями
Каждый

объект обладает:
Поведением
Состоянием
Индивидуальностью
Схожие объекты объединяются в классы

Слайд 11Объектно-ориентированный подход: основные положения
Абстрагирование
Инкапсуляция
Иерархия
Модульность
Полиморфизм


Слайд 12Объектно-ориентированный подход (доп. положения)
Типизация
Параллелизм
Сохраняемость


Слайд 13Отношения между классами

Зависимость Dependency
Ассоциация Association
Агрегация Aggregation
Композиция Composition
Генерализация Generalization
Реализация Realization


Слайд 14 Dependency
Отношение зависимости
Обладает ролью и множественностью
Server зависит от Query, так как использует

этот класс в качестве параметра метода
Server также зависит от ResultSet, поскольку возвращает значение этого типа

Слайд 15 Association
Ассоциация - отношение взаимодействия
Обладает 2-мя ролями
Роль обладает множественностью (1, n,

*, 0..n, 1..n, 1..*)
Пример: сотрудник может занимать несколько должностей, на одной должности находится не более одного сотрудника

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

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

Слайд 17 Aggregation
Агрегация – отношение часть-целое


Слайд 18 Composition
Композиция – частный случай агрегации
Жизненный цикл частей и целого совпадают
Отделы не

существуют без компании
Часть принадлежит только одному целому



Слайд 19 Generalization
Генерализация (наследование, обобщение) – отношение частное-общее
Отдел кадров – частный случай отдела


Слайд 20 Realization
Реализация – отношение выполнения соглашения
Треугольник и квадрат реализуют алгоритм вращения, специфицированный

абстрактной сущностью «Фигура»

Слайд 21Процесс разработки ПО
Design and programming are human activities. Forget it –

and all is lost.
B. Stroustrup, 1991

Слайд 22Методологии разработки ПО
OMT - Object Modeling Technique (Rumbaugh)

RDD - Responsibility

Driven Design (Beck, Cunningham, Wirfs-Brock)

Objectory (Rational Software)

RUP (Booch, Rumbaugh, Jacobson)

XP (Beck, Cunningham, Martin, Fowler, Cockburn)

Слайд 23Составные части процесса разработки ПО
Может быть эффективен при наличии общих концепций

и единой методологии лежащей в основе всех составляющих процесса.

Слайд 24Анализ требований и предметной области

Уточнение и формализация предметной области

Определение рамок задачи

Формализация

требований, анализ их непротиворечивости, полноты и выполнимости

Оценка трудозатрат и рисков



Слайд 25Системный анализ
Определение общей логики работы системы

Выбор технических средств

Планирование работ

(Исследования, прототипирование,

…)

Слайд 26Проектирование и реализация
Создание программной системы (кода) удовлетворяющей требованиям

Адаптация к дальнейшему развитию

(гибкость, расширяемость, адаптивность и т.д.)

Слайд 27Сопровождение и развитие
Повышение качества системы

Расширение функциональности

Создание технологической базы для других продуктов


Слайд 28Способы описания программных систем
CRC-карты
(Class-Responsibilities-Collaborators)

UML
(Unified Modeling Language)


Слайд 29CRC-карты


Слайд 30Unified Modeling Language
Язык моделирования

Определяет нотацию и ее семантику

Не является языком программирования,

но имеет встроенный язык программирования для задания поведения и ограничений

Обладает возможностью к расширению стандартной семантики


Слайд 31Case-средства для UML
IBM Rational Rose
IBM Rational Architect/Modeler
Jude
Visual Architect (Sparx Systems)
MetaMill
ArgoUML

(Tigris)
Poseidon (Metaware)

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика