Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 1. Повтор принципов объектно-ориентированного подхода
Содержание Технологические основы языков программирования высокого уровня Сложность задач Технологии программирования Структурное программирование Модульное программирование Объектный подход ОО и алгоритмическая декомпозиция. Алгоритмы, классы и объекты. ОО Анализ ОО Проектирование ОО Программирование Принципы объектного подхода.
Содержание Технологические основы языков программирования высокого уровня Сложность задач Технологии программирования Структурное программирование Модульное программирование Объектный подход ОО и алгоритмическая декомпозиция. Алгоритмы, классы и объекты. ОО Анализ ОО Проектирование ОО Программирование Принципы объектного подхода.
Сложность задач Сложные задачи порождают сложные программные системы. Вопрос: Что такое сложные задачи? Ответ: Это не те задачи, которые не может решить конкретный человек (коллектив). Задачи сложны сами по себе по своей природе.
Как бороться со сложностью? Разработка ПО по сути проблем похожа на производство. Процесс создания ПО имеет много аналогий с производственным процессом (пример: судостроение). В любом производстве есть способы преодоления сложности: технологии.
Технологии программирования Технология программирования – совокупность методов, приемов и средств для сокращения стоимости и повышения качества разработки программных систем.
Известные технологии программирования Структурное программирование Теорема о базисных конструкциях. Алгоритм: один вход и один выход. Нет безусловным переходам (goto). Поддержка: операторы ЯПВУ. Модульное программирование Разбиение задачи на подзадачи до тех пор, пока они не станут простыми. Подход к коллективной разработке. Поддержка: подпрограммы, модули ЯПВУ.
Содержание Технологические основы языков программирования высокого уровня Сложность задач Технологии программирования Структурное программирование Модульное программирование Объектный подход ОО и алгоритмическая декомпозиция. Алгоритмы, классы и объекты. ОО Анализ ОО Проектирование ОО Программирование Принципы объектного подхода.
Объектный подход... Перечисленных технологий стало недостаточно вследствие роста сложности задач. Объектно-ориентированная технология. Объектный подход: объектная декомпозиция (отличия от алгоритмической) объектная модель (классы + объекты).
Объектный подход OOA + OOD + OOP OOA – object-oriented analysis – объектно-ориентированный анализ. OOD – object-oriented design – объектно-ориентированное проектирование. OOP – object-oriented programming – объектно-ориентированное программирование.
Принципы объектного подхода Абстрагирование. выделяем главное, выявляем виды абстракций Инкапсуляция. скрываем детали реализации Иерархия. иерархия помогает разбить задачу на уровни и постепенно ее решать Агрегация и наследование. абстракции можно создавать на основе имеющихся Полиморфизм. полиморфизм позволяет иметь естественные имена и выполнять действия, релевантные ситуации, разбираясь на этапе работы программы
Домашнее задание... Повторить синтаксис ООП в языке C++. Реализовать классы для представления координатной плоскости и фигур на плоскости. Реализовать тестовое приложение. Предусмотреть движение фигур.
Домашнее задание