zhChinese    enEnglish
  ПМ-ПУ  » Образование  » Программы курсов » Технология разработки программного обеспечения

Технология разработки программного обеспечения

Курс по выбору

Лектор: к.ф.-м.н., доцент Чаунин М.П.
При поддержке компании Digital Design

Аннотация

Сложность разработки ПО. Программирование "в малом" ("programming-in-the-small") и программирование "в большом" ("programming-in-the-large"). Основные этапы разработки ПО: определение требований, проектирование, написание текста программ, компоновка, тестирование, сопровождение. Эволюция методов и средств, применявшихся на разных этапах разработки ПО: Объектно-ориентированная парадигма: программирование, анализ, проектирование, моделирование. Состояние методов объектно-ориентированного анализа и проектирования в начале 1990-х годов. Объединение усилий трех лидеров (Grady Booch, James Rumbaugh, Ivar Jacobson) в области ОО-проектирования, приведшее к созданию:

Основы процесса разработки. Процесс - последовательность этапов, которые необходимо выполнить при разработке проектов. Идеализированный процесс: начало, исследование, построение, внедрение. Характеристика каждого из этапов.

Обзор составных частей языка UML. Нотация и семантика языка. Сущности. Отношения. Диаграммы. Стандартные элементы языка UML.

Применение UML в жизненном цикле проектов. Варианты использования (use cases) - внешнее представление системы. Диаграммы вариантов использования (use case diagram). Актеры. Роли. Отношения между вариантами использования: включение, обобщение, расширение. Применение вариантов использования на этапе исследования проекта Диаграммы классов (class diagram) - описание типов объектов и статических отношений между ними. Элементы диаграммы классов: класс, объект, пакет, примечание. Отношения между классами: ассоциация, агрегирование, обобщение, зависимости. Разновидности классов UML: интерфейс, шаблон, утилита. Применение диаграмм классов для построения модели предметной области. Объекты. Диаграммы объектов (object diagram). Стереотипы. Отношение между объектом и его типом - классификация.

Диаграммы взаимодействия (interaction diagram) - описание поведения взаимодействующих объектов. Виды диаграмм взаимодействия: диаграммы последовательности (sequence diagram), диаграммы кооперации (collaboration diagram). Применение диаграмм взаимодействия для описания поведения объектов в рамках одного варианта использования. Группирование классов в Пакеты (packages). Зависимости пакетов. Диаграмма пакетов. Кооперация - именованное взаимодействие классов. Диаграммы состояний (statechart diagram) - отображение возможных состояний объекта с течением времени. Применение диаграмм состояний для описания поведения объекта в различных вариантах использования. Диаграммы деятельности (activity diagram) - описание последовательности состояний деятельности системы. Возможность изображения условного и параллельного поведений: ветвления, соединения, разделения. Физические диаграммы: диаграмма развертывания (deployment diagram), диаграмма компонентов (component diagram).

Литература

  1. Фаулер М., Скотт К. UML: Основы. - СПб: Символ-Плюс, 2002.
  2. Буч Г., Рамбо Д., Джекобсон А. Язык UML: Руководство пользователя. - М.: ДМК Пресс, 2001.
  3. Rumbaugh J., Jacobson I., Booch G. The Unified Modeling Language Reference Manual. - Addison-Wesley, 1999. ( Вышел перевод издательства "Питер").
  4. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. - СПб.: Символ-Плюс, 2001.