Программа курса «ОО анализ и дизайн» Мухортов В.В. 1 2 3 4 Введение. Сложность, присущая программному обеспечению. Формальные подходы в программировании как метод преодоления сложности, ОО подход. Основные концепции ООП, классы, отношения, атрибуты, операции. Моделирование. Введение в UML. 2.1 Необходимость моделирования ПО 2.2 Словарь, правила, общие механизмы UML 2.3 Варианты использования, актеры 2.4 Диаграммы деятельностей 2.5 Диаграммы классов, типы отношений 2.6 Диаграммы взаимодействия (последовательностей и коопераций) 2.7 Диаграммы состояний, переходы, суперсостояния 2.8 Диаграммы компонент и процессоров 2.9 Диаграммы пакетов 2.10 Метамодель Основные фазы процесса разработки ПО 3.1 Начальная фаза, анализ предметной области, анализ рисков. 3.2 Уточнение спецификаций. 3.3 Проектирование. 3.4 Приемка. 3.5 Сопровождение и реорганизация. 3.6 Обратное проектирование Rational Unified Process 4.1 Бизнес-анализ 4.1.1 Документирование бизнес-процессов 4.1.2 Анализ процессов, идентификация ролей 4.1.3 Бизнес-сущности в бизнес-процессах 4.2 Системный анализ, формирование требований к системе 4.2.1 Системные роли и варианты использования 4.2.2 Диаграммы деятельностей и диаграммы взаимодействия 4.3 Архитектурный анализ 4.3.1 Аналитическая модель. Реализация вариантов использования. 4.3.2 Сотрудники, сущности, граничные классы. 4.4 Дизайн 4.4.1 Уровни, подсистемы, пакеты 5 6 7 4.4.2 Диаграммы процессов 4.4.3 Модель реализации 4.4.4 Модель размещения Принципы дизайна иерархий классов 5.1 Open-Closed Principle, Demeter principle 5.2 Liskov Substitution Principle 5.3 Dependency Inversion Principle 5.4 Interface Segregation Principle Дизайн пакетов. 6.1 Reuse-Release Equivalence Principle 6.2 Common Reuse Principle 6.3 Common Closure Principle 6.4 Acyclic Dependencies Principle 6.5 Stable Dependencies Principle 6.6 Stable Abstractions Principle 6.7 Метрики OOD, main sequence Образцы проектирования (Design patterns) 7.1 Роль образцов в проектировании, поддержка на уровне CASEсредств. 7.2 Посредник 7.3 Клиент – сервер (callback) 7.4 Моностэйты 7.5 Синглетоны 7.6 Адаптеры 7.7 Стратегии 7.8 Factory 7.9 Команды 7.10 Лестница в небеса Литература 1 Г. Буч «Объектно-ориентированный анализ и проектирование», второе издание, М.: Бином, 2000 2 Г. Буч, Д. Рамбо, А. Джекобсон «Язык UML. Руководство пользователя», М.: ДМК, 2000 3 М. Фаулер, К. Скотт «UML в кратком изложении», М.: Мир, 1999 4 Scott Whitmire «Object Oriented Design Measurement», Wiley Computer Publishing, 1997 5 E. Gamma et al. «Design Patterns», Addison-Wesley, 1995 6 Э. Гамма. «Приемы объектно-ориентированного проектирования: Паттерны проектирования», СПб: Питер.