![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Наш опыт показывает, что на этой стадии разработки проекта возникает много проблем (особенно если был пропущен этап предварительного проектирования). Описываемая ниже техника помогла слушателям разрешить их в ходе проведения разных семинаров на протяжении последних лет. На рис. 7.2 показаны четыре этапа рисования диаграмм последовательности в процессе ICONIX:
1. Скопируйте текст прецедента из спецификации. Вставьте его в левое поле страницы. Текст на диаграмме будет постоянно напоминать о том, чего вы хотите добиться. В результате требования к поведению системы будут находиться у вас перед глазами на протяжении всего процесса проектирования. Заметим, что если в прецеденте не описаны альтернативные последовательности действий, то приступать к рисованию диаграммы последовательности не следует; такая диаграмма не отразит поведение прецедента во всей полноте; значит, вы не выявите все необходимые методы.
2. Добавьте сущностные объекты, представленные на диаграмме пригодности. Каждый «з них - это экземпляр некоторого класса, изображенного на диаграмме классов в статической модели. (Если вы забыли обновить статические диаграммы классов сразу после обнаружения новых объектов на этапе анализа пригодности, сделайте это сейчас. У этих объектов уже должна быть проставлена большая часть атрибутов. Многие из них будут выступать в качестве данных, передаваемых другим объектам.) Можно надеяться, что пропущенные атрибуты вы обнаружите по ходу работы над диаграммой последовательности. Не забудьте добавить их в статическую модель, так как, во всей вероятности, это последний шаг перед написанием кода.
3. Добавьте граничные объекты ц актеров из диаграммы пригодности. Мы не говорили О добавлении граничных объектов в модель предметной области, поскольку они принадлежат пространству решения, а не пространству задачи. Показав граничные объекты на диаграммах последовательности, вы делаете первый шаг к объединению двух этих пространств.
Если вы придерживаетесь методологии ICQNIX, то первые три шага должны выполняться механически,(На самом деле нам удалось свести их к программе, которая создает основу диаграммы носледователь-ности. Если вы пользуетесь программой Rational Rose, то.можете загрузить написанный для нее сценарий со страницы http://www. iconjxsw.com/RoseSeripts.html. Похожие средства разрабатываются и для других иструментальных систем, например GDPro компании Embarcadero и Together/J компании TogetberSoft.) Такого рода средства автоматизации очень воодушевляют, если вы серьезно относитесь к проектированию.
4. Определите, какие методыи в какие классы поместить - это суть моделирования взаимодействий;
Распределение методов по классам предполагает, в частности, преобразование контроллеров; изображенных на диаграммах пригодности, в методы и сообщения, реализующие нужное поведение. (Кстати, контроллер можно превратить и в настоящий управляющий объект.) В связи с этим мы рекомендуем использовать диаграмму пригодности как контрольный список, дабы убедиться, что на диаграммах последовательности учтены все требования к поведению системы. Вы просто вычеркиваете управляющий, объект по мере того, как соответствующие ему сообщения наносятся на диаграммы последовательности. Таким образом, вы избавите себя от ошибок типа «ой, про эту функцию я и позабыл», которые проявляются в самый неподходящий момент. Заметим, что один контроллер на диаграмме пригодности может транслироваться в несколько методов на диаграмме последовательности.
Существует два метода преобразования контроллеров: управление на экране и контроллер прецедента. Если вы последовательно придерживаетесь того или иного, подхода при составлении диаграмм последовательности для всех прецедентов, то можно сказать что вы пользуетесь паттернами. Идея в том, чтобы все члены коллектива, отвечающие за диаграммы, определили еще на ранних стадиях работы некие стандарты и следовали им при рассмотрении всех прецедентов.
Теперь взглянем на проблему с другой стороны. При моделировании взаимодействий между различными объектами большую пользу могут оказать стандартные паттерны, описанные, например, в книге Эриха Гаммы (Erich Gamma), Ричарда Хёлма (Richard Helm), Ральфа Джонсона (Ralph. Johnson) и Дзкона Влиесидеса (John Vlissides) «Design Patterns» (издательство Addison-Wesley; 1995)[1]. Возможно, вы сами разработаете новые паттерны для стандартизации решения задач, возникающих в нескольких прецедентах. Настало время обратиться к статической модели, отразить проектные решения на диаграммах классов, а затем нарисовать соответствующие диаграммы последовательности. Именно здесь и проявляется вся мощь объектно-ориентированяога проектирования.
Вы уже сверяли диаграммы пригодности; с текстами прецедентов. Сопоставление диаграмм последовательности и пригодности добавит уверенности, что вы проектируете то, что нужно пользователю.
[1] Русский перевод: «Паттерны проектирования» (Питер, ДМК, 2001)
Дата публикования: 2014-12-08; Прочитано: 461 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!