- •Лекция 9. Моделирование объектно-ориентированного жизненного цикла программных проектов
- •1. Итеративность развития.
- •2. Изменение функциональности.
- •3. Формирование системы понятий проекта.
- •4. Наращивание функциональности в соответствии со сценариями.
- •7. Распределение реализуемых требований по итерациям.
- •8. Особый стиль наращивания возможностей системы и ее развития.
- •3. Требования к очередной итерации утверждены.
- •4. Спецификации реализуемых сценариев составлены.
- •5. Спецификации утверждены.
- •6. Автономная проверка завершена и комплексное тестирование началось.
- •8. Требования к новой итерации приняты.
- •9. Начато использование изделия.
- •10. Изделие или его версия переданы на распространение.
- •11. Извещение о прекращении поддержки изделия (версии) выпущено.
- •12. Изделие (версия) снято с производства.
Лекция 9. Моделирование объектно-ориентированного жизненного цикла программных проектов
Моделирование жизненного цикла при итеративном наращивании и, в частности, при объектно-ориентированном подходе к разработке проектов имеет свои особенности. Они обусловлены принципами разработки и дополнительными функциями. Тем не менее развитые модели традиционных подходов, допускающие учет итеративности, вполне можно модернизировать, приспосабливая их к новым условиям. Ниже описывается такая модернизация для модели Гантера фазы—функции.
Ключевые слова: итеративное развитие проекта, объектно-ориентированный подход, ситуации использования, сценарии, наращивание
функциональности в соответствии со сценариями, этапы объектно-ориентированного развития проекта, распределение требований по итерациям, модели уровня анализа, модели уровня конструирования, моделирование как производственная функция, базовое окружение проекта, контрольные точки, ресурсы проекта, начальный период проекта, требования к итерации, общие требования и общий план, ближайшая задача, перспективные задачи, критерии отбора сценариев для реализации, критерии оценки результатов итерации, сценарии, оценка итерации, расщепление жизненного цикла, контрольные точки, требования к итерации, спецификации сценариев, переиспользование, поставка изделия, пополнение базового окружения проекта, пополнение базового окружения для внешнего использования, расщепление жизненного цикла, поставка версии, распространение версии, этап окончания работ.
В методологическом плане отношение к итеративности развития проекта коренным образом отличает объектно-ориентированный подход от всех последовательных методологий. Для традиционных подходов итерация — это исправление ошибок, т.е. процесс, который с трудом поддается технологическим нормам и регламентам. При объектно-ориентированном подходе одни итерации никогда не отменяют результаты других, а всегда только дополняют их.
Принципы объектно-ориентированного проектирования
Принципиальные моменты, в которых объектно-ориентированный подход к развитию проектов стоит сопоставить с традиционными последовательными методологиями, сводятся к следующему:
1. Итеративность развития.
Начиная с фазы анализа и до завершения реализации процесс объектно-ориентированного проектирования в противоположность последовательному развитию строится как серия итераций, которой, возможно, предшествует определенный период последовательного изучения предметной области и задач проекта в целом (этапы определения требований и начального планирования).
2. Изменение функциональности.
В ходе развития проекта требования практически всегда пересматриваются. При этом обычно требуется изменение ранее принятых требований. Отсюда следует, что необходимо реализовывать функциональность так, чтобы пересмотр ее производился с минимальными затратами.
3. Формирование системы понятий проекта.
Система понятий проекта развивается в процессе пересмотра требований и изменения функциональности, а также в ходе распространения изменений. Для поддержания целостности этой системы необходимы соответствующие меры, использование специальных инструментов. Эта задача решается с помощью ведения глоссария проекта — специальной базы знаний понятий, их взаимосвязей и истории изменения в ходе итеративного развития проекта. Если глоссарий явно не предусматривается, то система понятий проекта формируется стихийно, что отрицательно сказывается на развитии проекта. В частности, повышается риск изменения концепций вслед за изменениями в программном коде, что в результате приводит к построению концептуально рассогласованного программного изделия.