Полоцкий государственный университет

Полоцкий
государственный
университет

УМК Объектно-ориентированное программирование

Объектно-ориентированное программирование: Учеб.-метод. комплекс для студ. спец. 1-40 02 01 «Вычислительные системы и сети» и 1-40 01 01 «Программное обеспечение информационных технологий» / Сост. и общ. ред. А.О. Глухова. – Новополоцк: ПГУ, 2004. – 268 с.
Предлагаемый Вашему вниманию учебно-методический комплекс представляет собой попытку решения всего комплекса задач по обучению и подготовке современного специалиста в области разработки сложных программных систем, расширения мировоззрения студентов и приобретения специальных знаний и умений, необходимых для эффективной разработки сложных программных систем с использованием объектно-ориентированного подхода, обладающих такими важными свойствами как большая гибкость, надежность, открытость архитектуры, способность к перманентному расширению и развитию.

Глухов Алексей Олегович

Алексей
Олегович
ГЛУХОВ

ведущий программист компании NetCracker (Россия, Москва)

Окончил Полоцкий государственный университет в 1995г. (квалификация - инженер конструктор-технолог РЭС). В 1998г. окончил очную аспирантуру по специальности "Управление техническими системами". В 1999 году защитил диссертацию по теме «Разработка и исследование алгоритмов решения задач оптимизации и аппроксимации в условиях многоагентных систем» и решением диссертационного Совета СПбГУТМО (ЛИТМО) ему была присуждена ученая степень кандидата технических наук. До сентября 2004г. работал доцентом на кафедре технической кибернетики.

СОДЕРЖАНИЕ

Введение

1. Рабочая программа

2. Модуль Вводный

3. Модуль Объектно-ориентированный подход к разработке ПО
3.1. Основное содержание
3.1.1. Моделирование программ и его необходимость
3.1.2. Сравнительный анализ процедурного и объектно-ориентированного подходов к разработке ПО
3.1.3. Классификация
3.1.4. Объектно-ориентированный анализ
3.1.5. Жизненный цикл процесса разработки программного продукта
3.2. Контроль

4. Модуль Объектно-ориентированный язык программирования C++
4.1. Основное содержание
4.1.1. Новые синтаксические элементы языка C++ по сравнению с языком C
4.1.2. Языковые средства описания классов и объектов
4.1.3. Иерархия классов
4.1.4. Способы создания и разрушения объектов
4.1.5. Инкапсуляция, наследование и полиморфизм
4.1.6. Раннее и позднее связывание
4.1.7. Абстрактные классы и интерфейсы
4.1.8. Перегрузка операторов
4.1.9. Шаблоны функций и классов
4.1.10. Обработка исключений
4.2. Дополнительное содержание
4.2.1. Проблема множественного наследования
4.2.2. Стандартная библиотека шаблонов для C++ STL, назначение и состав STL
4.2.3. Использование контейнеров и итераторов
4.2.4. Использование стандартных алгоритмов из STL
4.3. Контроль

5. Модуль Объектно-ориентированный язык программирования Java
5.1. Дополнительное содержание
5.1.1. Синтаксис языка Java. Лексемы языка, типы, выражения, массивы
5.1.2. Языковые средства описания классов и объектов
5.1.3. Пакеты
5.1.4. Создание, инициализация и разрушение объектов
5.1.5. Инкапсуляция, наследование и полиморфизм
5.1.6. Абстрактность и интерфейсы
5.1.7. Обработка исключений
5.1.8. Использование javadoc комментариев
5.1.9. Контейнеры и итераторы в Java
5.1.10. Ввод/вывод в Java

6. Модуль Язык моделирования UML
6.1. Основное содержание
6.1.1. UML – как результат развития методов разработки больших объектно-ориентированных программных систем
6.1.2. Назначение
6.1.3. Состав UML
6.1.4. Диаграммы UML
6.1.5. Прямое и обратное проектирование
6.2. Контроль

7. Модуль Качество программного продукта
7.1. Основное содержание
7.1.1. Основные правила «хорошего» объектно-ориентированного проектирования
7.1.2. Принцип открытости/закрытости объектно-ориентированных программ (OCP)
7.1.3. Принцип подмены Лисковой (LSP)
7.1.4. Принцип инвертирования зависимости (DIP)
7.1.5. Принцип выделения интерфейса (ISP)
7.1.6. Принципы проектирования пакетов
7.1.7. Принцип ацикличности зависимостей (ADP)
7.2. Дополнительное содержание
7.2.1. Качество абстракций, метрики оценки качества
7.2.2. Качество программного продукта в целом, метрики стабильности и абстрактности
7.2.3. Закон Деметра
7.3. Контроль

8. Модуль Компонентный подход к разработке ПО
8.1. Основное содержание
8.1.1. Компонентный подход
8.1.2. Компонентная модель
8.1.3. Жизненный цикл компонентной программы
8.1.4. Стандартные компонентные модели
8.2. Дополнительное содержание
8.2.1. Шаблоны проекта
8.2.2. Архитектура компонентных программных систем масштаба предприятия на платформе J2EE
8.3. Контроль

9. Модуль Заключение

10. Обеспечение лабораторного практикума

11. Курсовой проект
11.1. Темы для курсового проектирования
11.2. Материалы для преподавателя

12. Итоговый контроль
12.1. Форма и содержание
12.2. Материалы для преподавателя

13. Организация рейтингового контроля

Список сокращений

Учебно-методическая карта дисциплины “Объектно-ориентированное программирование”

Вопросы для теста (после изучения модуля Объектно-ориентированный язык программирования C++)

Пример типового задания на курсовое проектирование

Методические указания к лабораторным работам по курсу «Объектно-ориентированное программирование» для студентов специальности 40.02.01

Литература