Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемccfit.nsu.ru
1 Объектно-Ориентированный Анализ и Дизайн Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,
2 Контакты Мигинский Денис Сергеевич
3 Цели курса Навык работы в формальном процессе разработки Изучение моделирования программных систем с использованием UML и CASE-средств Научить применению стандартных шаблонов проектирования (design patterns) Пройти полный путь от постановки задачи, через анализ и проектирование, до реализации программной системы
4 Анализ требований и системный анализ UML – унифицированный язык моделирования Проектная модель, модель реализации и размещения Архитектурные шаблоны Принципы и метрики проектирования Шаблоны проектирования Процесс разработки и роли участников Объектно-Ориентированный Анализ и Дизайн Программа курса:
5 «Идеальный архитектор должен быть писателем, математиком, знать историю, быть знатоком философии, понимать музыку, обладать знаниями в области медицины, юриспруденции и астрономии» Витрувий, 25 г до н.э. Работа архитектора это серии суб-оптимальных решений, сделанных под давлением в обстановке неуверенности и нехватки информации. Rational Unified Process Ожидаемый результат Архитектор / System Architect
6 Задача: автоматизация физ. эксперимента Пропускная способность Отказоустойчивость Корректность Соответствие требованиям эксперимента Высокая скорость обработки данных Большой объем хранимых данных ~ Мб/сек ~ Тб
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)
29 CRC-карты Класс Student Ответственность Учиться Сдать экзамены Коллаборанты Teacher
30 Unified Modeling Language Язык моделирования Определяет нотацию и ее семантику Не является языком программирования, но имеет встроенный язык программирования для задания поведения и ограничений Обладает возможностью к расширению стандартной семантики
31 Case-средства для UML IBM Rational Rose IBM Rational Architect/Modeler Jude Visual Architect (Sparx Systems) MetaMill ArgoUML (Tigris) Poseidon (Metaware)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.