uzluga.ru
добавить свой файл
1


Технологии программирования. Курс на базе Microsoft Solutions Framework

  • Семинар 1. Повтор принципов объектно-ориентированного подхода


Содержание

  • Технологические основы языков программирования высокого уровня

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

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


Содержание

  • Технологические основы языков программирования высокого уровня

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

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


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

  • Сложные задачи порождают сложные программные системы.

  • Вопрос: Что такое сложные задачи?

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



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

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

  • Процесс создания ПО имеет много аналогий с производственным процессом (пример: судостроение).

  • В любом производстве есть способы преодоления сложности: технологии.



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

  • Технология программированиясовокупность методов, приемов и средств для сокращения стоимости и повышения качества разработки программных систем.



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

  • Структурное программирование

    • Теорема о базисных конструкциях.
    • Алгоритм: один вход и один выход.
    • Нет безусловным переходам (goto).
    • Поддержка: операторы ЯПВУ.
  • Модульное программирование



Содержание

  • Технологические основы языков программирования высокого уровня

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

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


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

  • Перечисленных технологий стало недостаточно вследствие роста сложности задач.

  • Объектно-ориентированная технология.

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

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


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

  • OOA + OOD + OOP

  • OOA – object-oriented analysis – объектно-ориентированный анализ.

  • OOD – object-oriented design – объектно-ориентированное проектирование.

  • OOP – object-oriented programming – объектно-ориентированное программирование.



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

  • Абстрагирование.

  • выделяем главное, выявляем виды абстракций

  • Инкапсуляция.

  • скрываем детали реализации

  • Иерархия.

  • иерархия помогает разбить задачу на уровни и постепенно ее решать

  • Агрегация и наследование.

  • абстракции можно создавать на основе имеющихся

  • Полиморфизм.

  • полиморфизм позволяет иметь естественные имена и выполнять действия, релевантные ситуации, разбираясь на этапе работы программы



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

  • Повторить синтаксис ООП в языке C++.

  • Реализовать классы для представления координатной плоскости и фигур на плоскости.

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



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