Новосибирский Государственный Университет
Опубликован: 20.08.2004 | Доступ: свободный | Студентов: 4839 / 473 | Оценка: 4.01 / 3.23 | Длительность: 18:07:00
ISBN: 978-5-9556-0013-0

Лекция 9: Моделирование объектно-ориентированного жизненного цикла программных проектов

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >

Модификация модели фазы—функции

Традиционность этапов объектно-ориентированного развития проекта в рамках одной итерации позволяет ставить задачу моделирования процесса итеративного наращивания как модификацию существующих моделей жизненного цикла. В настоящем разделе такая модификация осуществляется для модели фазы—функции Гантера.

В сравнении с моделью Гантера фазовое измерение жизненного цикла при объектно-ориентированном проектировании почти не изменяется: появляется лишь один дополнительный этап, моделирование пользовательского интерфейса, который в старой схеме можно рассматривать как часть этапов анализа и/или конструирования. Однако это весьма существенное дополнение, характеризующее подход в целом. Главный мотив явного рассмотрения моделирования в жизненном цикле при объектно-ориентированном развитии проектов связан со следующими двумя особенностями (продолжение перечня принципиальных моментов объектной ориентированности из предыдущего раздела):

7. Распределение реализуемых требований по итерациям.

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

8. Особый стиль наращивания возможностей системы и ее развития.

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

В приведенном выше перечне этапов жизненного цикла итерации при объектно-ориентированном подходе явно выделено моделирование уровня анализа, которое сводится к построению модельного представления сценариев. Но это только один аспект проектного моделирования. Как было только что показано, другой, не менее существенный аспект моделирования, проявляется при конструировании. Наконец, есть еще третий аспект моделирования, связанный с предъявлением каждой версии программного изделия пользователю, представление которого о системе, разумеется, не имеет отношения к моделям уровня конструирования и лишь косвенно связано с моделями уровня анализа. Таким образом, если следовать гантеровскому стилю описания жизненного цикла, то правильнее будет выделять не этап моделирования (как это, следуя уже сложившейся традиции, чаще всего и делают), а организационно-техническую (производственную) функцию моделирования, пронизывающую весь процесс разработки проекта.

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

Следует отметить еще одну модификацию схемы Гантера, отраженную на рисунке. В рамках этапа оценки выделен специальный вложенный этап — пополнение базового окружения проекта. Смысл его сводится к планированию и реализации переиспользования программного обеспечения. Любой объектно-ориентированный проект развивается исходя из некоторой уже существующей среды классов и других компонентов. Это базовое окружение проекта интенсивно используется и, в свою очередь, пополняется средствами, возникающими в результате итеративного наращивания. Полезность сохранения таких средств для текущего проекта и для последующих разработок очевидна. В связи с этим целесообразно в рамках выполнения этапа оценки производить дополнительную работу, направленную на сохранение полезного в депозитарии проектов.

Фазовое измерение модели жизненного цикла при объектно-ориентированном развитии проекта

Рис. 9.1. Фазовое измерение модели жизненного цикла при объектно-ориентированном развитии проекта

По вполне понятным причинам в объектно-ориентированном проектировании несколько изменяется содержание ряда этапов, что нашло отражение в количестве и наименованиях событий на рис. 9.1.

0. Необходимость разработки признана.

Эта точка означает начало работ над проектом, которые еще не утверждены как официальный проект. Официальным он становится, когда доказана его осуществимость, задачи проекта в целом обозначены, в том числе определены те задачи, которые предстоит решать в первую очередь ( контрольная точка 2). В этот период можно говорить лишь о предпроектной деятельности менеджера. Если схема развития проекта допускает распределение менеджерских обязанностей в команде исполнителей и есть команда, которая принимает решение о целесообразности работ над проектом, предпроектная деятельность менеджера становится сферой ответственности команды целиком. Но и при таких схемах эта деятельность может быть персонифицирована, когда предполагаемый менеджер готов взять на себя обязательства, имея в виду свои планы по использованию некоторого сложившегося коллектива, по формированию команды и др. Собственно говоря, один из главных менеджерских вопросов, который нуждается в решении в обсуждаемой контрольной точке, — стратегия и тактика формирования проектной команды.

1. Ресурсы распределены.

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

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

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

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Дарья Федотова
Дарья Федотова
Сергей Березовский
Сергей Березовский

В рамках проф. переподготовки по программе "Программирование"

Есть курсы, которые я уже прошел. Но войдя в курс я вижу, что они не зачтены (Язык Ассемблера и архитектура ЭВМ, Программирование на С++ для профессионалов). Это как?

Сергей Прошута
Сергей Прошута
Россия
Sergey Ostr
Sergey Ostr
Россия, Энгельс