Технология разработки программного обеспечения
Курс по выбору
Сложность разработки ПО. Программирование "в малом" ("programming-in-the-small") и программирование "в большом" ("programming-in-the-large"). Основные этапы разработки ПО: определение требований, проектирование, написание текста программ, компоновка, тестирование, сопровождение. Эволюция методов и средств, применявшихся на разных этапах разработки ПО:- методы структурного проектирования сверху вниз;
- методы потоков данных (методика Джексона, методика Варнье-Орра);
- объектно-ориентированное прроектирование.
- единой нотации для описания проектов - языка визуального моделирования UML;
- унифицированного процесса разработки ПО - Unified Process.
Основы процесса разработки. Процесс - последовательность этапов, которые необходимо выполнить при разработке проектов. Идеализированный процесс: начало, исследование, построение, внедрение. Характеристика каждого из этапов.
Обзор составных частей языка 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).
Литература
- Фаулер М., Скотт К. UML: Основы. - СПб: Символ-Плюс, 2002.
- Буч Г., Рамбо Д., Джекобсон А. Язык UML: Руководство пользователя. - М.: ДМК Пресс, 2001.
- Rumbaugh J., Jacobson I., Booch G. The Unified Modeling Language Reference Manual. - Addison-Wesley, 1999. ( Вышел перевод издательства "Питер").
- Брукс Ф. Мифический человеко-месяц или как создаются программные системы. - СПб.: Символ-Плюс, 2001.