1 / 13

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

  9. Объектный подход... • Перечисленных технологий стало недостаточно вследствие роста сложности задач. • Объектно-ориентированная технология. • Объектный подход: • объектная декомпозиция (отличия от алгоритмической) • объектная модель (классы + объекты).

  10. Объектный подход OOA + OOD + OOP • OOA – object-oriented analysis – объектно-ориентированный анализ. • OOD –object-oriented design – объектно-ориентированное проектирование. • OOP –object-oriented programming – объектно-ориентированное программирование.

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

  12. Домашнее задание... • Повторить синтаксис ООП в языке C++. • Реализовать классы для представления координатной плоскости и фигур на плоскости. • Реализовать тестовое приложение. Предусмотреть движение фигур.

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

More Related