Компонентно-ориентированная модель.
Компонентно-ориентированная модель основывается на эволюционной стратегии конструирования и является развитием спиральной модели. Как показано на рис.1.5, модель определет четыре действия, представляемые четырьмя квадрантами спирали с конкретизацией квандранта конструрирования:
1. Планирование – определение целей, вариантов и ограничений.
2. Анализ риска – анализ вариантов и распознование рисков.
3. Конструирование – разработка продукта следующего уровня.
4. Оценивание – оценка заказчиком текущих результатов конструирования.
Анализ рисков разработки и активное вовлечение в ее процесс заказчика является новыми особенностями компонентно-ориентированной модели. Еще одной особенностью является содержание конкретизации квадранта конструирования – оно отражает тот факт, что в современных условиях новая разработка должна основываться на повторном использовании существующих программных компонентов.
Программные компоненты, созданные в реализованных программных проектах, хранятся в библиотеке. В новом программном проекте, исходя из требований заказчика, выявляются кандидаты в компоненты. Далее проверяется наличие этих кандидатов в библиотеке. Если они найдены, то компоненты извлекаются из библиотеки и используются повторно. В противном случае создаются новые компоненты, они применяются в проекте и включаются в библиотеку.
1.5. ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ (XP – extreme programming)
XP-процесс ориентирован на группы малого размера (до 10 человек, размещаемых в одном помещении), разрабатывающие ПО в условиях неопределенных или быстро изменяющихся требований.
Основная идея XP – устранить высокую стоимость изменений, характерную для приложений с использованием объектов, шаблонов, реляционных баз данных. XP – высокодинамичный процесс. Динамизм поддерживается основными принципами, которыми являются:
- простота решений (simplicity) – всегда выбирается минимальное решение.
- интенсивная разработка малыми группами, активное общение в группе и между группами (communication).
- обратная связь с заказчиком (feedback), который является членом группы и вовлечен в процесс разработки.
- достаточная степень смелости (courage) и желание идти на риск.
Ускорение разработки достигается за счет 3 основных факторов.
1) Итеративность. Разработка ведется короткими итерациями при наличии активной взаимосвязи с заказчиком. Рекомендуемая длительность – 2-3 недели и не более 1 месяца. За одну итерацию группа программистов обязана реализовать несколько свойств системы, каждое из которых описывается в пользовательской истории (user story). Пользовательские истории разрабатываются представителем заказчика, который на время разработки проекта становится членом группы разработчиков. Пользовательские истории так же очень короткие (1-2 абзаца) и пишутся в произвольной форме. Отсутствие формализации описаний в XP стремятся компенсировать посредством наличия постоянного контакта с заказчиком.
2) Наличие малых групп и парное программирование (когда два программиста вместе создают код на одном общем рабочем месте). Все это нацелено на достижение высокого уровня общения в группе, а также на как можно более раннее обнаружение проблем.
3) Принятие первого наипростейшего рабочего решения. В этом случае повышается степень риска, обусловленного первоначальным поверхностным анализом и жесткими временными ограничениями. Риск компенсируется постепенным характером развития программной системы: на первой и последующей итерациях реализуется минимальный набор ее главных функций; функциональность расширяется на каждой итерации.
XP крайне пренебрежительно относится ко всем артефактам процесса разработки, кроме исходного кода. XP-процесс является в высшей степени неформальным, но требует высокого уровня самодисциплины. Если это правило не выполняется, то XP мгновенно превращается в хаотичный и неконтролируемый процесс. XP не требует от программистов написания множества отчетов и построения массы моделей.
|