Осенью прошёл курс и получил ключ. Но т.к. уже имел действующую подписку, то ключом не воспользовался. Сейчас захожу сюда, а про DreamSpark вообще ни слова. Где же мой ключ? |
Жизненный цикл разработки приложения в Visual Studio 2013
Цель лекции
Ознакомление с принципами моделирования, проектирования, реализации, рефакторинга, тестирования и сопровождения проектов в Visual Studio 2013.
8.1. Введение. Водопадная модель жизненного цикла программы
Одна из наиболее важных возможностей интегрированной среды Visual Studio 2013 - поддержка всех этапов жизненного цикла разработки программного проекта, которую мы рассмотрим в данной лекции.
В "Управление решениями и проектами в Visual Studio 2013" рассмотрен пример разработки, отладки и профилирования в среде VS 2013 простого консольного приложения на языке C#, что можно считать отправной точкой нашего изложения.
Однако, разумеется, концепция жизненного цикла разработки намного шире. Согласно классической водопадной модели жизненного цикла программы, он состоит из следующих этапов:
- Выработка требований и целей - формулировка технических, маркетинговых, эксплуатационных и других требований будущей программной системы в виде документа, который в современной западной практике носит название Marketing Requirements Document (MRD);
- Спецификация - формализованное, полное, точное и внешнее описание программной системы (термин внешнее в данном случае понимается описание того, "ЧТО, а не КАК", т.е. элементы и проект реализации в спецификацию не входят);
- Проектирование (дизайн) - разработка подробного проекта системы, включая иерархию модулей, входные и выходные данные, информационные потоки, представление данных, основные алгоритмы; частью спецификации и проектирования является моделирование - построение формальной модели проекта;
- Реализация (кодирование) - разработка программного кода системы на выбранном для реализации языке программирования;
- Верификация - проверка корректности реализации программной системы, которая на практике в большинстве случаев выполняется путем тестирования (прогона набора тестов), либо путем формальной верификации - формального доказательства того, что реализация системы соответствует формальной спецификации, выполненной на каком-либо языке спецификаций. Иногда тестирование сочетается с формальной верификацией. При обнаружении ошибки выполняется отладка (см. "Обзор языков программирования, предоставляемых Visual Studio 2013" );
- Выпуск (релиз) программной системы для пользователей;
- Сопровождение программной системы - исправление ошибок, обучение пользователей, ответы на их вопросы, реализация расширений функциональности системы по требованию пользователей.
Один из важнейших вопросов при разработке - организация работы команды программистов проекта. Поддержка командной разработки в Visual Studio 2013 рассмотрена в "Командная разработка проектов в Visual Studio 2013" .
8.2. Моделирование структуры программы на языке UML
В Visual Studio 2013, как и во многих других современных интегрированных средах, имеется поддержка моделирования структуры программы на языке UML [22]. Данный язык моделирования может быть использован на ранних этапах разработки проекта, например, при проектировании иерархии классов.
Язык UML позволяет спроектировать иерархию классов в абстрактных терминах, представить ее в виде модели, а модель - в виде диаграммы. Затем по диаграмме может быть сгенерирован код на выбранном языке (например, на C#). Таким образом, использование языка UML позволяет перейти от этапа моделирования и проектирования к этапу реализации. Сгенерированный код может быть затем использован как основа для последующей реализации проекта.
Наоборот, по уже разработанному коду может быть сгенерирована модель этого кода на языке UML.
В качестве примера рассмотрим генерацию простой UML-модели из двух взаимосвязанных классов, визуализацию этой модели и генерацию по ней кода на языке C#.
Для создания UML-моделей используется специальный вид проекта Modeling Project.
Создадим проект для моделирования. В среде VS 2013 выберем в главном меню File / NewProject и вид проекта Modeling Project ( рис. 8.1).
Для добавления к проекту новой UML-диаграммы выберем пункт меню Architecture, который специально предназначен для отображения архитектуры программы в виде UML-модели, - и в нем - пункт Add New Diagram ( рис. 8.2).
По умолчанию это новая диаграмма классов (UML Class Diagram), как наиболее часто используемая. Однако отметим, что, в соответствии с новой версией языка UML, в этом пункте меню могут быть созданы и другие виды диаграмм:
- UML Sequence Diagram - диаграмма последовательности;
- UML Use Case Diagram - диаграмма использования;
- UML Activity Diagram - диаграмма активности (команды разработчиков);
- UML Component Diagram - диаграмма компонент;
- Layer Diagram - диаграмма уровней;
- Directed Graph Document - диаграмма, изображающая документ в виде ориентированного графа.
Создаем новую диаграмму классов, пока - пустую ( рис. 8.3):
Для добавления к диаграмме класса выбираем в контекстном меню пункты Add / Class ( рис. 8.4):