Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО / Материалы по ТП / tech_pro_lek_IVANOVA.doc
Скачиваний:
593
Добавлен:
12.03.2015
Размер:
19.47 Mб
Скачать

7.7. Особенность спиральной модели разработки. Реорганизация проекта

Спиральная модель жизненного цикла разработки программного обеспечения предполагает, что процесс разработки программной системы выполняется итерационно. При этом во время проектирования очередной версии может обнаружиться, что хорошо продуманная на начальных итерациях программа утратила свою изначально четкую структуру за счет накопившихся исправлений («заплаток»).

Каждая «заплатка» в свое время ставилась, чтобы ликвидировать «небольшое» несоответствие уже реализованной части и той, что находилась в процессе реализации. Возможно также, что часть кодов при этом становилось неиспользуемой, а какие-то коды - не эффективными. Все это вместе приводит к тому, что разобраться в программе становится достаточно сложно. В такой ситуации необходима реорганизация программ, т. е. их перепроекти-

рование без изменения функциональности. Своевременно выполненная реорганизация позволит сделать структуру программы опять четкой и понятной.

Несмотря на то, что реорганизационные изменения, как правило, невелики, программисты их обычно не любят, так как придерживаются правила «работает - не трогай». Кроме того, сроки обычно ограничены, и тратить время на переделку того, что уже отлажено, кажется нецелесообразным. Практика же показывает, что отказ от реорганизации при накоплении исправлений приводит к усложнению программы и, соответственно, снижению ее технологичности со всеми вытекающими последствиями.

Реорганизацию следует выполнять, если при расширении функциональности обнаруживаются нарушения основных концепций проекта или код стап трудным для понимания. В этом случае проектирование нужно приостановить и провести необходимую реорганизацию.

Перепроектирование программы не следует совмещать с увеличением ее функциональности. После реорганизации программу необходимо протестировать, чтобы убедиться, что ничего не было нарушено, а потом уже расширять ее возможности.

Контрольные вопросы и задания

1. Как описывают структуру программного обеспечения при объектном подходе? Что такое «пакет»? Для чего используют диаграммы пакетов?

2. Какие стереотипы классов введены и почему?

3. Разработайте диаграмму пакетов графического редактора, описанного вами при выполнении задания 9 к гл. 6. Какие пакеты включены в эту диаграмму и почему? Какие пакеты будут связаны между собой?

4. Постройте диаграмму последовательности действий для объектов любых предложенных вами пакетов. Какими сообщениями обмениваются объекты? Какую информацию программист получит, анализируя эту диаграмму?

5. Какую диаграмму используют при уточнении взаимодействия объектов? Постройте эту диаграмму для объектов предыдущего задания.

6. Перечислите основные компоненты классов. Как описывают эти компоненты?

7. В каких случаях используют диаграммы состояний объекта? Постройте диаграмму состояний для любого управляющего объекта.

8. Постройте уточненную диаграмму классов по результатам исследования взаимодействия объектов. Какая еще информация необходима для реализации этих классов?

9. Что понимают под диаграммой компонентов? Какую информацию она содержит? В каких случаях целесообразно строить диаграммы компонентов?

  1. Какую информацию содержит диаграмма размещения? В каких случаях целесообразно использовать эти диаграммы?