1. Основные понятия объектно-ориентированного подхода
1.1. Объектно-ориентированная разработка программ
1.2. Объектно-ориентированные языки программирования
1.3. Сквозной пример
2. Первая фаза жизненного цикла - анализ требований и предварительное проектирование системы. Объектно-ориентированное моделирование
2.1. Объектная модель системы
2.1.1. Объекты и классы
2.1.2. Атрибуты объектов
2.1.3. Операции и методы
2.1.4. Зависимости между классами (объектами)
2.1.5. Атрибуты зависимостей
2.1.6. Имена ролей, квалификаторы
2.1.7. Агрегация
2.1.8. Обобщение и наследование
2.1.9. Абстрактные классы
2.1.10. Множественное наследование
3. Вторая фаза жизненного цикла - конструирование системы
3.1. Разработка архитектуры системы
3.1.1. Разбиение системы на модули
3.1.2. Выявление асинхронного параллелизма
3.1.3. Распределение модулей и подсистем по процессорам и задачам
3.1.4. Управление хранилищами данных
3.1.5. Управление глобальными ресурсами
3.1.6. Реализация управления программным обеспечением
3.1.7. Пограничные ситуации
3.1.8. Обзор архитектур прикладных систем
3.2. Архитектура системы управления банковской сетью
3.3. Разработка объектов
3.3.1. Совместное рассмотрение трех моделей
3.3.2. Разработка алгоритмов, реализующих полученные операции
3.3.3. Оптимизация разработки
3.3.4. Реализация управления
3.3.5. Уточнение наследования классов
3.3.6. Разработка зависимостей
4. Сравнительный анализ объектно-ориентированных методологий разработки программных систем
4. 1. Методология OMT
4.2. Методология SA/SD
4.3. Методология JSD
4.4. Методология OSA
5. Третья фаза жизненного цикла - реализация объектно-ориентированного проекта
5.1. Объектно-ориентированный стиль программирования
5.2. Объектно-ориентированные системы программирования
5.3. Реализация на языке C++
5.3.1. Реализация классов
5.3.2. Порождение объектов
5.3.3. Вызов операций
5.3.4. Использование наследования
5.3.5. Реализация зависимостей
5.3.6. Шаблоны в языке C++
5.4. Другие объектно-ориентированные системы программирования
5.4.1. Реализация классов
5.4.2. Порождение объектов
5.4.3. Вызов операций
5.4.4. Реализация наследования
5.4.5. Реализация зависимостей
5.5. Не объектно-ориентированные системы программирования
5.5.1. Преобразование классов в структуры данных
5.5.2. Передача параметров методам
5.5.3. Размещение объектов в памяти
5.5.4. Реализация наследования
5.5.5. Выбор методов для операций
5.5.6. Реализация зависимостей
5.5.7. Объектно-ориентированное программирование на Фортране
5.5.8. Чем неудобны не объектно-ориентированные системы программирования