Объектно-ориентированные технологии проектирования прикладных программных систем (часть 1)

Систематическое применение объектно-ориентированного подхода позволяет разрабатывать хорошо структурированные, надежные в эксплуатации, достаточно просто модифицируемые программные системы. Этим объясняется интерес программистов к объектно-ориентированному подходу и объектно-ориентированным языкам программирования. Объектно-ориентированный подход является одним из наиболее интенсивно развивающихся направлений теоретического и прикладного программирования.
Цель данного курса лекций - введение в объектно-ориентированный подход к разработке и реализации прикладных программных систем. Я попытаюсь убедить вас в целесообразности и плодотворности систематического применения объектно-ориентированного подхода на всех этапах жизненного цикла прикладной программной системы, начиная с анализа требований к программной системе и ее предварительного проектирования, и кончая ее реализацией, тестированием и последующим сопровождением.

Объектно-ориентированные технологии проектирования прикладных программных систем
1. Основные понятия объектно-ориентированного подхода
Семантика (смысл программы с точки...
Жизненный цикл программной системы
1.1. Объектно-ориентированная разработка программ
1.2. Объектно-ориентированные языки программирования
1.3. Сквозной пример
Схема банковской сети
Схема банкомата (ATM)
2. Первая фаза жизненного цикла...
2.1. Объектная модель системы
2.2. Построение объектной модели
2.3. Пример объектной модели
2.4.1. Понятие подсистемы
Объектная диаграмма банковской сети, в которой указан интерфейс с системным окружением
Объектная диаграмма банковской сети и ее системного окружения
2.5. Динамическая модель системы или подсистемы
2.6. Функциональная модель подсистемы
2.7. Заключительные замечания к разделу
2.1.1. Объекты и классы
Пример класса и объекта этого класса
2.1.10. Множественное наследование
Множественное наследование
Множественное наследование от непересекающихся классов
Реализация множественного наследования с помощью вложенного простого наследования
Реализация множественного наследования путем делегирования с использованием агрегации ролей
Реализация множественного наследования с использованием простого наследования и делегирования
2.1.11. Связь объектов с базой данных
Объектная модель, определяющая абстрактный и конкретный классы
Тиражирование метакласса
Возможные ключи бинарных зависимостей
Возможные ключи тренарных зависимостей
Ограничения на объекты
Ограничения на связи
Общее ограничение между зависимостями
Производный атрибут
Производный объект и производная зависимость
Пример гомоморфизма
Общий случай гомоморфизма
2.1.2. Атрибуты объектов
2.1.3. Операции и методы
Другие примеры классов
Полное представление объекта в OMT
Возможные классы для системы AMT (банковское обслуживание)
2.1.4. Зависимости между классами (объектами)
Зависимости между классами
Дальнейшие примеры зависимостей. Обозначения
Зависимости между объектами
Более сложные зависимости между объектами
2.1.5. Атрибуты зависимостей
Пример атрибута зависимости
Атрибуты двух зависимостей между одним и многими
Представление зависимости в виде класса
2.1.6. Имена ролей, квалификаторы
Имена ролей
Использование квалификаторов
2.1.7. Агрегация
Агрегация
Примеры агрегации
3. Вторая фаза жизненного цикла - конструирование системы
3.1. Разработка архитектуры системы
3.2. Архитектура системы управления банковской сетью
Архитектура системы управления банковской сетью
3.3. Разработка объектов
3.1.1. Разбиение системы на модули
Пример системы с уровневой архитектурой
Типичная структура системы
Топология звезды
3.1.2. Выявление асинхронного параллелизма
3.1.3. Распределение модулей и подсистем по процессорам и задачам
3.1.4. Управление хранилищами данных
3.1.5. Управление глобальными ресурсами
3.1.6. Реализация управления программным обеспечением
3.1.7. Пограничные ситуации
3.1.8. Обзор архитектур прикладных систем
Система непрерывной обработки: машинная графика
Система с интерактивным интерфейсом: ATM
3.3.1. Совместное рассмотрение трех моделей
4. Сравнительный анализ объектно-ориентированных методологий разработки программных систем
4.1. Методология OMT
4.2. Методология SA/SD
4.3. Методология JSD
4.4. Методология OSA
Модель зависимостей между объектами для системы управления топкой в теплоцентрали
Поведение объекта "термостат"
Различные представления модели топки
Формальная модель топки, разработанная с помощью методологии OSA
5. Третья фаза жизненного цикла - реализация объектно-ориентированного проекта
5.1. Объектно-ориентированный стиль программирования
5.2. Объектно-ориентированные системы программирования
Часть объектной модели графического редактора
5.3. Реализация на языке C++
5.4. Другие объектно-ориентированные системы программирования
5.5. Не объектно-ориентированные системы программирования
5.3.1. Реализация классов
5.3.2. Порождение объектов
5.3.3. Вызов операций
5.3.4. Использование наследования
5.3.5. Реализация зависимостей
5.3.6. Шаблоны в языке C++
5.4.1. Реализация классов
5.4.2. Порождение объектов
5.4.3. Вызов операций
2.1.8. Обобщение и наследование
Обобщение (выделение суперклассов)
Другие примеры обобщения (наследования)
2.1.9. Абстрактные классы
Абстрактный класс
2.2.1. Определение классов
2.2.2. Подготовка словаря данных
2.2.3. Определение зависимостей
Неизбыточные зависимости
2.2.4. Уточнение атрибутов
2.2.5. Организация системы классов, используя наследование
2.2.6. Дальнейшее исследование и усовершенствование модели
2.3.1. Определение объектов и классов
2.3.2. Подготовка словаря данных
2.3.3. Определение зависимостей
Первая версия объектной диаграммы для банковской сети
2.3.4. Уточнение атрибутов
2.3.5. Организация системы классов с использованием наследования
Объектная диаграмма для банковской сети после уточнения атрибутов и добавления квалификаторов
Объектная диаграмма для банковской с учетом наследования
2.3.6. Дальнейшее усовершенствование модели
Окончательный вид объектной диаграммы для банковской сети
2.4.2. Интерфейсы и окружения
Объектная диаграмма банковской сети после выделения подсистемы банк
2.5.1. События, состояния объектов и диаграммы состояний
Пример сценария: разговор по телефону
Трасса событий для разговора по телефону
Диаграмма состояний телефонной линии
2.5.2. Условия
Диаграмма состояний, на которой указаны условия
2.5.3. Активности и действия
Указание активностей и действий на диаграмме состояний
Диаграмма состояний телефонной линии, на которой указаны активности и действия
2.5.4. Одновременные события. Синхронизация
Диаграмма состояний составного объекта (подсистемы)
Передача события из одного объекта другому
Синхронизация в подсистеме
2.5.5. Вложенные диаграммы состояний
2.5.6. Динамическая модель банковской сети
Нормальный сценарий для банковской сети
Сценарий для банковской сети, содержащий исключительные ситуации
Трасса событий в банковской сети
Привязка событий к объектам банковской сети
Диаграмма состояний объектов класса ATM (банкомат)
Диаграмма состояний объектов класса консорциум
Диаграмма состояний объектов класса банк
2.6.1. Диаграммы потоков данных
там
Руководство по сервису печати для NetWare 4.11 там
Содержание раздела