Компьютерные науки

Основы объектно-ориентированного проектирования

Программа о бесшовном процессе разработки программных систем на основе объектной технологии. Рассматриваются этапы анализа и проектирования, применение наследования и поиск нужных абстракций.
Студентов 4563 Выпускников 216 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Программирование
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебная программа посвящена применению объектной технологии на ранних этапах создания программных продуктов. В учебной программе рассматриваются методы поиска абстракций данных, принципы проектирования классов, правила использования наследования и механизмы объектно-ориентированного анализа. Внимание также уделяется сложным архитектурным задачам, таким как параллельные вычисления, клиент-серверная архитектура и взаимодействие с базами данных. Теоретические блоки сопровождаются тестами для оценки усвоения архитектурных концепций. Полученные знания помогают выстраивать эффективный процесс создания масштабируемых программных решений при проектировании архитектуры и системном анализе.
Цели
  • Сформировать навыки применения объектной технологии на этапах анализа и проектирования ПО.
  • Познакомить с правилами выявления классов и построения корректных иерархий наследования.
  • Раскрыть особенности проектирования параллельных, распределенных и интерактивных систем.
Чему я научусь?
  • Проводить объектно-ориентированный анализ предметной области и выделять ключевые абстракции.
  • Проектировать архитектуру приложений с грамотным использованием классов и наследования.
  • Адаптировать объектно-ориентированные подходы для работы с базами данных и распределенными средами.

Авторы

Мейер Бертран
Мейер Бертран
Возглавляет знаменитую кафедру Software Engineering в ETH, Цюрих, – в одном из старейших университетов Европы. Он автор языка Eiffel, основатель и научный руководитель фирмы Eiffel Software.
Чему я научусь?
  • Проводить объектно-ориентированный анализ предметной области и выделять ключевые абстракции.
  • Проектировать архитектуру приложений с грамотным использованием классов и наследования.
  • Адаптировать объектно-ориентированные подходы для работы с базами данных и распределенными средами.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Объектно-ориентированная методология: Правильно применяйте метод В этих лекциях рассматривается методология объектной ориентации: как применять мощное множество концепций и технических приемов для... В этих лекциях рассматривается методология объектной ориентации: как применять мощное множество концепций и технических приемов для получения преимуществ наших проектов и успешной их организации. ещё
Объектно-ориентированная методология: Правильно применяйте метод тест для курса Основы объектно-ориентированного проектирования 25 мин
2 Образец проектирования: многопанельные интерактивные системы Создадим образец проектирования, иллюстрирующий ОО-метод. Он будет сравниваться с другими подходами, в частности с функциональной декомпозицией... Создадим образец проектирования, иллюстрирующий ОО-метод. Он будет сравниваться с другими подходами, в частности с функциональной декомпозицией сверху вниз, что позволит продемонстрировать выдающиеся возможности Метода. ещё
Образец проектирования: многопанельные интерактивные системы тест для курса Основы объектно-ориентированного проектирования 25 мин
3 Наследование: откат в интерактивных системах "В нашем втором примере займемся задачей, возникающей перед проектировщиками почти любой интерактивной системы, - как обеспечить... "В нашем втором примере займемся задачей, возникающей перед проектировщиками почти любой интерактивной системы, - как обеспечить возможность ""отката"" команд. Покажем, что наследование и динамическое связывание позволяют получить простое и общее решение довольно сложной и многогранной проблемы." ещё
Наследование: откат в интерактивных системах тест для курса Основы объектно-ориентированного проектирования 25 мин
4 Как найти классы Важнейшая цель ОО-методологии - дать рекомендации по нахождению классов, на основе которых строится программная система. Этому... Важнейшая цель ОО-методологии - дать рекомендации по нахождению классов, на основе которых строится программная система. Этому посвящена данная лекция. ещё
Как найти классы тест для курса Основы объектно-ориентированного проектирования 25 мин
5 Принципы проектирования класса "Опытные разработчики ПО знают, что одной из наиболее критичных проблем является проблема проектирования интерфейсов модуля. В... "Опытные разработчики ПО знают, что одной из наиболее критичных проблем является проблема проектирования интерфейсов модуля. В больших и длительных проектах многие обсуждения и недоразумения связаны со спецификациями интерфейса модулей: ""Но я полагал, что вы передаете мне уже нормализованные данные..."", ""Зачем Вы делаете эту обработку, я ведь уже об этом позаботился?.."" и так далее." ещё
Принципы проектирования класса тест для курса Основы объектно-ориентированного проектирования 25 мин
6 Используйте наследование правильно "Изучение технических деталей наследования и связанных механизмов в лекциях 7-18 курса ""Основы объектно-ориентированного программирования"" не означает... "Изучение технических деталей наследования и связанных механизмов в лекциях 7-18 курса ""Основы объектно-ориентированного программирования"" не означает еще автоматического владения всеми методологическими следствиями. Из всех проблем ОО-технологии ни одна не вызывает столько обсуждений и вопросов о том, как и когда использовать наследование. В этой лекции мы продвинемся в понимании смысла наследования не ради теории, а ради наилучшего применения наследования в наших проектах. В частности, мы попытаемся понять, чем наследование отличается от другого межмодульного отношения, его брата и соперника, - отношения встраивания, чаще всего называемого клиентским отношением. Мы исследуем, когда следует использовать одно, когда - другое, а когда оба отношения являются приемлемыми. Мы установим основной критерий использования наследования, по пути выяснив, в каких случаях его использование ошибочно. Мы сможем создать классификацию различных случаев легитимного использования, часть из которых принимается безоговорочно (наследование подтипов), другие - более спорны. На этом пути мы попытаемся освоить опыт таксономии или систематики, привнесенный из других научных дисциплин." ещё
Используйте наследование правильно тест для курса Основы объектно-ориентированного проектирования 25 мин
7 Полезные приемы Примеры ОО-проектирования, приведенные в предыдущих лекциях, иллюстрируют несколько характерных приемов. Хотя мы и не закончили наш... Примеры ОО-проектирования, приведенные в предыдущих лекциях, иллюстрируют несколько характерных приемов. Хотя мы и не закончили наш обзор методологических проблем - нам предстоит еще рассмотрение правил стиля, концепций ОО-анализа, вопросов обучения, процессов ПО, - сделаем паузу и кратко сформулируем то, что уже изучено. Это будет самая короткая лекция во всей книге. Она просто перечисляет плодотворные идеи, объединяя их в группы с предваряемыми ключевыми словами, напоминая о тех примерах, где мы впервые столкнулись с этими идеями. ещё
Полезные приемы тест для курса Основы объектно-ориентированного проектирования 25 мин
8 Чувство стиля Реализация ОО-метода требует обращать внимание на многие детали стиля, считающиеся пустяковыми для менее амбициозного подхода.
Чувство стиля тест для курса Основы объектно-ориентированного проектирования 25 мин
9 Объектно-ориентированный анализ Направленный изначально на решение проблем реализации ОО-метод быстро распространился на весь жизненный цикл ПО. Особый интерес... Направленный изначально на решение проблем реализации ОО-метод быстро распространился на весь жизненный цикл ПО. Особый интерес представляет приложение ОО-идей к моделированию как программных, так и непрограммных систем. Это применение объектной технологии для рассмотрения скорее проблем, чем решений, известно как объектно-ориентированный анализ. ещё
Объектно-ориентированный анализ тест для курса Основы объектно-ориентированного проектирования 25 мин
10 Процесс разработки ПО Центральный вопрос объектной технологии - ее воздействие на весь процесс разработки ПО. Пришло время рассмотреть влияние... Центральный вопрос объектной технологии - ее воздействие на весь процесс разработки ПО. Пришло время рассмотреть влияние ОО-принципов на общую организацию проектов и их деление на этапы. Это часть более общей проблемы перспектив объектной технологии с позиций менеджмента. Вопросы менеджмента подробно изучаются в книге Object Success. В данной лекции обсуждаются лишь наиболее существенные идеи: кластеры как основная организационная единица, принципы параллельной разработки на основе кластерной модели жизненного цикла ПО, этапы и задачи такой модели, роль обобщения для повторного использования, принципы бесшовности и обратимости. ещё
Процесс разработки ПО тест для курса Основы объектно-ориентированного проектирования 25 мин
11 Обучение методу Заканчивая наше изучение методологических проблем, обратимся к одному из принципиальных вопросов, стоящих перед компаниями и университетами:... Заканчивая наше изучение методологических проблем, обратимся к одному из принципиальных вопросов, стоящих перед компаниями и университетами: как лучше учить тех, кто должен применять объектные технологии. Эта лекция представляет принципы обучения и отмечает типичные ошибки. В первой части проблема рассматривается с точки зрения лица, организующего профессиональную подготовку в компании, во второй - с позиций профессора университета. Несмотря на то, что речь пойдет о педагогических проблемах профессиональной подготовки, обсуждение касается и тех, кто не занимает указанных позиций и является скорее обучаемым, чем обучающим. ещё
Обучение методу тест для курса Основы объектно-ориентированного проектирования 25 мин
12 Параллельность, распределенность, клиент-сервер и Интернет Как и люди, компьютеры могут объединяться в команды для достижения результатов, которые ни один из них... Как и люди, компьютеры могут объединяться в команды для достижения результатов, которые ни один из них не может получить в одиночку, но в отличие от людей они могут выполнять много дел одновременно (или делать вид, что делают их одновременно) и делать их хорошо. Однако до сих пор в обсуждении неявно предполагалось, что вычисление является последовательным, т. е. управляется одной цепочкой команд. Сейчас мы увидим, что получится, если отказаться от этого предположения и перейти к рассмотрению параллельных вычислений. ещё
Параллельность, распределенность, клиент-сервер и Интернет тест для курса Основы объектно-ориентированного проектирования 25 мин
13 Сохранение объектов и базы данных (БД) Выполнение ОО-приложения означает создание и манипулирование некоторым числом объектов. Что происходит с этими объектами, когда текущее... Выполнение ОО-приложения означает создание и манипулирование некоторым числом объектов. Что происходит с этими объектами, когда текущее вычисление завершается? Часть объектов исчезает с завершением сессии. Многим приложениям нужны также и сохраняемые объекты, остающиеся между сессиями. Сохраняемые объекты могут использоваться разными приложениями, что приводит к необходимости баз данных. ещё
Сохранение объектов и базы данных (БД) тест для курса Основы объектно-ориентированного проектирования 25 мин
14 ОО-метод для графических интерактивных приложений Элегантный интерфейс пользователя стал неотъемлемой частью всякого успешного программного продукта. Достижения в создании новых мониторов, эргономике... Элегантный интерфейс пользователя стал неотъемлемой частью всякого успешного программного продукта. Достижения в создании новых мониторов, эргономике (изучении человеческого фактора) и в разработке ПО привели к всеобщему распространению интерактивных методов и средств, прокладывающих себе дорогу с семидесятых. Многооконные системы позволяют выполнять одновременно несколько работ, мышь позволяет быстро указывать на требуемый элемент, меню ускоряет возможность выбора, значки представляют важные понятия, рисунки демонстрируют информацию визуально, кнопки выполняют стандартные операции. ещё
ОО-метод для графических интерактивных приложений тест для курса Основы объектно-ориентированного проектирования 25 мин
15 OO-программирование и язык Ada "Успехи методологии программирования 70-х годов привели к появлению нового поколения языков, сочетающих управляющие структуры Algol 60... "Успехи методологии программирования 70-х годов привели к появлению нового поколения языков, сочетающих управляющие структуры Algol 60 и конструкции структурирования данных Algol W и Pascal с поддержкой скрытия информации. При различии свойств эти языки близки по сути, их принято называть инкапсулирующими языками. (Они также известны как ""основанные на объекте"" - терминология обсуждается в следующей лекции.)" ещё
OO-программирование и язык Ada тест для курса Основы объектно-ориентированного проектирования 25 мин
16 Эмуляция объектной технологии в не ОО-средах "Языки Fortran, Cobol, Pascal, C, Basic, PL/I и даже ассемблер до сих пор составляют существенную часть... "Языки Fortran, Cobol, Pascal, C, Basic, PL/I и даже ассемблер до сих пор составляют существенную часть создаваемого или обновляемого ПО. Ясно, что проект, использующий один из этих языков, не сможет получить все преимущества объектной технологии. Это потребовало бы введения нотации, подобной изучаемой в этой книге, и, соответственно, компилятора, среды и библиотек. Но те, кто вынужден использовать такие инструменты, чаще всего из-за ограничений не технического характера, все же могут, вдохновившись объектной технологией, использовать ее концепции для улучшения качества своего ПО. Данная лекция представляет технические приемы эмуляции объектов, дающие возможность приблизиться к объектной технологии. В частности, эти приемы рассматриваются для языков Fortran, Pascal и C, но они применимы не только для упомянутых языков. Ada и другие инкапсулирующие языки обсуждались в предыдущей лекции. В следующей лекции будут рассмотрены такие ОО-языки, как Simula, Smalltalk, Objective-C, C++ и Java. Заметьте: при использовании языка, не входящего в список, например, Basic или Cobol, перенос рассматриваемых концепций не должен вызвать особых трудностей ещё
Эмуляция объектной технологии в не ОО-средах тест для курса Основы объектно-ориентированного проектирования 25 мин
17 От Simula к Java и далее: основные ОО-языки и окружения Под влиянием языка Simula, введенного в 1967 г., появился ряд ОО-языков, отличающихся разнообразием подходов. Эта лекция... Под влиянием языка Simula, введенного в 1967 г., появился ряд ОО-языков, отличающихся разнообразием подходов. Эта лекция описывает некоторые из них, привлекшие самое большое внимание: Simula, Smalltalk, C++ и другие ОО-расширения C, Java. В литературе до сих пор нет глубокого сравнительного описания важнейших ОО-языков. Цель этой лекции гораздо скромнее. Потому некоторые наиболее популярные языки описываются весьма коротко. Наша цель - изучить проблемы и концепции, находя их, где это возможно, даже если придется обратиться к менее популярным подходам. Для языка, имеющего практическую значимость, невелик риск пропустить что-то главное, поскольку многочисленные статьи и книги описывают его достаточно подробно. Настоящий риск таится в обратном: риск пропустить перспективную идею, просто потому, что поддерживающий ее язык (скажем, Simula) сейчас не так популярен. Таким образом, описание будет следовать не принципу равных возможностей в выборе примечательных языковых свойств, а принципу позитивных действий. ещё
От Simula к Java и далее: основные ОО-языки и окружения тест для курса Основы объектно-ориентированного проектирования 25 мин
18 Объектно-ориентированная среда В заключительной части Девятой симфонии Бетховена баритон прерывает поток изумительной инструментальной музыки, призывая нас к чему-то... В заключительной части Девятой симфонии Бетховена баритон прерывает поток изумительной инструментальной музыки, призывая нас к чему-то возвышенному: О, друзья! Не эту мелодию! Пусть начнет звучать Более радостная. В предыдущих лекциях был дан обзор некоторых известных средств OO-разработки. Не принижая их значения, мы завершим обсуждение рассмотрением современного и комплексного подхода (первые три части Девятой симфонии тоже прелестны, хоть вокал в них и отсутствует). Данная лекция представляет программную среду (ISE EiffelStudio), реализующую принципы, изложенные в данной книге и делающую их непосредственно доступными разработчикам ОО-ПО. ещё
Объектно-ориентированная среда тест для курса Основы объектно-ориентированного проектирования 25 мин
19 Извлечения из библиотек Base
20 Универсальность и (versus) наследование
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.