Автор: Пользователь скрыл имя, 24 Января 2011 в 16:00, курс лекций
Основные темы.
Ключевые методики экстремального программирования:
10.
Жизненный цикл
программы. Выявление
и анализ требований.
Архитектурное и
детальное проектирование
Жизненный цикл программы – это совокупность и последовательность изменений формы программы за все время ее существования.
Выпуск – характерная точка в жизни программы, отмечающая прохождение одного полного цикла.
Существенные моменты этой схемы:
Особенности жизненного цикла программы:
Выявление и анализ требований
Данная фаза рассматривается как первая, главная, а иногда и решающая фаза жизненного цикла. Большая часть причин неуспешного выполнения конкретных проектов была квалифицирована как ошибки или недоработки на фазе анализа требований.
Требования к программному обеспечению
Стандарты IEEE используют следующее определение требований.
1. Функциональность,
необходимая пользователю для
решения проблемы или
2. Функциональность, которая должна быть получена (достигнута) системой или ее
компонентами для соответствия контракту, стандарту, спецификации или другим формальным документам.
3. Документальное представление пп. 1 – 2.
В соответствии со стандартом ГОСТ 12207 на стадии «Анализ требований» должен быть
выполнен анализ требований к программным средствам. Эта работа состоит из следующих задач:
Схема разработки требований
Разработка требований – это первая из основных фаз процесса создания программных систем.
Анализ предметной области. Сущности предметной области, первоначальные требования к функциональности и границы проекта.
Анализ осуществимости. На основании анализа предметной области, общего описания системы и ее назначения принимается решение о продолжении или завершении проекта.
Формирование и анализ требований. Взаимодействуя с пользователями, разработчики формулируют пользовательские требования.
Документирование требований. Сформированные на предыдущем этапе пользовательские требования должны быть ясно и понятно документированы.
Детализация требований. Разработчики детализируют требования пользователей,
формируя более
точные подробные системные
Согласование и утверждение требований. На этом этапе пользовательские и системные требования должны быть оформлены в виде единого документа (спецификация требований), содержащего все функциональные и нефункциональные требования.
Управление требованиями
Управление требованиями - все действия, направленные на поддержание
целостности, точности и актуальности спецификации требований в процессе разработки
программной системы.
К действиям по управлению требованиями относятся:
После разработки, согласования и утверждения спецификация требований становится основным документом в проектировании системы. Изменения в этот документ разрешается вносить только через определенный в организации (или проекте) процесс внесения изменений.
Архитектурное и детальное проектирование
Существуют такие типы проектов по разработке программного обеспечения, которые не
нуждаются в фазе проектирования: после того, как требования определены, можно сразу
приступать к реализации и кодированию. Это возможно в двух случаях:
В настоящее время всю фазу проектирования обычно подразделяют на две части: архитектурное проектирование и детальное проектирование.
Архитектурное проектирование
Архитектура программного обеспечения – это представление системы программного
обеспечения, дающее информацию о компонентах составляющих систему, о взаимосвязях
между этими компонентами и правилах, регламентирующих эти взаимосвязи, которое
предназначено для эффективной разработки проекта такой системы.
Шоу и Гарлан классифицировали архитектуры программного обеспечения с точки зрения практики (собрали вместе образцы ПО для различных архитектур).
Детальное проектирование
Фаза детального проектирования обычно предусматривает применение большого числа
различных средств, инструментов и приемов для реализации деталей проекта
11.
Жизненный цикл
программы. Реализация
и кодирование.
Тестирование и
верификация. Сопровождение
и продолжающаяся
разработка.
Реализация и кодирование
Реализация (кодирование) - составление текста программы на языке программирования в соответствии с детальным проектом, архитектурой и требованиями.
Цель реализации - удовлетворение требований способом, определенным в детальном проектировании.
Инженерный анализ программы - исследование и обработка текста программ с целью восстановления модели этой программы.
Когда модуль (отдельный метод, класс) реализован, можно использовать инструменты инженерного анализа для повторной генерации аспектов детального проектирования.
Инженерный анализ следует использовать только тогда, когда он действительно необходим (для скрытия недостатков фазы проектирования).
Требование унификации стиля программирования - код, написанный различными программистами, должен читаться как единое целое и быть понятен не только его авторам.
Стандарт кодирования – сборник корпоративных или проектных правил и рекомендаций по составлению и оформлению текстов программ.
Тестирование и верификация
Тестирование — важнейшая фаза процесса разработки, проверка соответствия требованиям. Тестированию подлежит программный код и все артефакты (документ, имеющий материальную форму и отчуждаемый от разработчика) процесса разработки.
Цель тестирования: обнаружение как можно большего числа дефектов, как можно более серьезных и как можно раньше.
Процесс контроля качества: каждая часть работы, выполненная инженером, должна быть детально проверена по крайней мере одним человеком, желательно независимым от автора работы.