Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 1. Повтор принципов объектно-ориентированного подхода

Содержание

Слайд 2

Содержание Технологические основы языков программирования высокого уровня Сложность задач Технологии программирования

Содержание

Технологические основы языков программирования высокого уровня
Сложность задач
Технологии программирования
Структурное программирование
Модульное программирование
Объектный подход
ОО

и алгоритмическая декомпозиция. Алгоритмы, классы и объекты.
ОО Анализ
ОО Проектирование
ОО Программирование
Принципы объектного подхода.
Слайд 3

Содержание Технологические основы языков программирования высокого уровня Сложность задач Технологии программирования

Содержание

Технологические основы языков программирования высокого уровня
Сложность задач
Технологии программирования
Структурное программирование
Модульное программирование
Объектный подход
ОО

и алгоритмическая декомпозиция. Алгоритмы, классы и объекты.
ОО Анализ
ОО Проектирование
ОО Программирование
Принципы объектного подхода.
Слайд 4

Сложность задач Сложные задачи порождают сложные программные системы. Вопрос: Что такое

Сложность задач

Сложные задачи порождают сложные программные системы.
Вопрос: Что такое сложные задачи?
Ответ:

Это не те задачи, которые не может решить конкретный человек (коллектив). Задачи сложны сами по себе по своей природе.
Слайд 5

Как бороться со сложностью? Разработка ПО по сути проблем похожа на

Как бороться со сложностью?

Разработка ПО по сути проблем похожа на производство.
Процесс

создания ПО имеет много аналогий с производственным процессом (пример: судостроение).
В любом производстве есть способы преодоления сложности: технологии.
Слайд 6

Технологии программирования Технология программирования – совокупность методов, приемов и средств для

Технологии программирования

Технология программирования – совокупность методов, приемов и средств для сокращения

стоимости и повышения качества разработки программных систем.
Слайд 7

Известные технологии программирования Структурное программирование Теорема о базисных конструкциях. Алгоритм: один

Известные технологии программирования

Структурное программирование
Теорема о базисных конструкциях.
Алгоритм: один вход и один

выход.
Нет безусловным переходам (goto).
Поддержка: операторы ЯПВУ.
Модульное программирование
Разбиение задачи на подзадачи до тех пор, пока они не станут простыми.
Подход к коллективной разработке.
Поддержка: подпрограммы, модули ЯПВУ.
Слайд 8

Содержание Технологические основы языков программирования высокого уровня Сложность задач Технологии программирования

Содержание

Технологические основы языков программирования высокого уровня
Сложность задач
Технологии программирования
Структурное программирование
Модульное программирование
Объектный подход
ОО

и алгоритмическая декомпозиция. Алгоритмы, классы и объекты.
ОО Анализ
ОО Проектирование
ОО Программирование
Принципы объектного подхода.
Слайд 9

Объектный подход... Перечисленных технологий стало недостаточно вследствие роста сложности задач. Объектно-ориентированная

Объектный подход...

Перечисленных технологий стало недостаточно вследствие роста сложности задач.
Объектно-ориентированная технология.
Объектный подход:
объектная

декомпозиция (отличия от алгоритмической)
объектная модель (классы + объекты).
Слайд 10

Объектный подход OOA + OOD + OOP OOA – object-oriented analysis

Объектный подход

OOA + OOD + OOP
OOA – object-oriented analysis – объектно-ориентированный

анализ.
OOD – object-oriented design – объектно-ориентированное проектирование.
OOP – object-oriented programming – объектно-ориентированное программирование.
Слайд 11

Принципы объектного подхода Абстрагирование. выделяем главное, выявляем виды абстракций Инкапсуляция. скрываем

Принципы объектного подхода

Абстрагирование.
выделяем главное, выявляем виды абстракций
Инкапсуляция.
скрываем детали реализации
Иерархия.
иерархия помогает разбить

задачу на уровни и постепенно ее решать
Агрегация и наследование.
абстракции можно создавать на основе имеющихся
Полиморфизм.
полиморфизм позволяет иметь естественные имена и выполнять действия, релевантные ситуации, разбираясь на этапе работы программы
Слайд 12

Домашнее задание... Повторить синтаксис ООП в языке C++. Реализовать классы для

Домашнее задание...

Повторить синтаксис ООП в языке C++.
Реализовать классы для представления координатной

плоскости и фигур на плоскости.
Реализовать тестовое приложение. Предусмотреть движение фигур.