КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Подход к разработке диаграммы последовательности
Для разработки диаграммы последовательности обычно применяется следующий подход: 1. 2. На втором этапе диаграмма последовательности детализируется. При этом она может утратить свою полезность для пользователей, но станет важна для разработчиков, тестеров и других участников проекта. Данный этап относится к логическому проектированию. Как правило, в каждую диаграмму последовательности добавляют новый управляющий объект. Все диаграммы последовательности для одного варианта использования имеют один и тот же управляющий объект. Он не реализует никаких бизнес-процессов. Он только посылает сообщения другим объектам (делегирует сообщения). Такие объекты называют объектами-менеджерами (Manager Object). Необходимость включения объекта-менеджера заключается в том, чтобы отделить бизнес-логику от логики, определяющей последовательность событий. Если надо будет изменить последовательность, это затронет только управляющий объект. На В следующем примере рассматривается работа с базой данных. Возможны два варианта: Вариант 1. Логика приложения не отделена от логики базы данных (объект сам знает о базе данных). Вариант 2. Логика приложения отделена от логики базы данных (в этом случае нужно создать специальный объект Менеджер транзакций – Transaction manager). Преимущество создания менеджера транзакций заключается в возможности повторного использования конкретного объекта Петя Синичкин в другом приложении с другой базой данных или вообще без базы данных. Изменения в базе данных не повлияют на логику приложения и наоборот. Недостаток заключается в больших временных затратах на моделирование и реализацию этого решения. 3. После создания всех объектов необходимо соотнести их с классами. Объекты можно связать с существующими классами или создать новые. К моменту генерации кода все объекты должны быть соотнесены с классами. 4. Задать устойчивость классов. В среде Rose для каждого класса можно задать его устойчивость (Persistence). Для назначения устойчивости следует в спецификации класса установить переключатель Persistence в одно из следующих положений: - Persistent. Устойчивый объект сохраняется в базе данных (или другим способом, обеспечивающим постоянное хранение). Такой объект продолжает существовать даже после прекращения работы программы. - Static. Статичный объект сохраняется в памяти компьютера в течение всего времени работы программы. Он сохраняется после выполнения отображённых на диаграмме последовательности действий, но не сохраняется после прекращения работы программы. - Transient. Временный объект сохраняется в памяти в течение очень короткого времени. Например, только на время процессов, определённых в диаграмме последовательности. 5. После создания сообщений необходимо соотнести их с операциями классов. Прежде, чем начать это делать, следует проверить, соотнесён ли объект-получатель сообщения с классом. 6. Существует возможность синхронизации посылаемых сообщений (операций). Это можно сделать в окне спецификации сообщения на вкладке Detail. Поддерживаются следующие варианты синхронизации: - Simple. Простое сообщение используется по умолчанию. Означает, что все сообщения выполняются в одном потоке управления. - Synchronous. Синхронное сообщение применяется, когда клиент посылает сообщение и ждёт ответа пользователя. - Balking. С отказом становится в очередь. Клиент посылает сообщение серверу. Если сервер не может немедленно принять сообщение, оно отменяется. - Timeout. С лимитированным временем ожидания. Клиент посылает сообщение серверу, а затем ждёт указанное время. Если в течение этого времени сервер не принимает сообщение, оно отменяется. - Asynchronous. Асинхронное сообщение клиент посылает серверу и продолжает свою работу, не ожидая подтверждения о получении. На той же вкладке Detail можно установить частоту сообщений: - Periodic. Периодическое сообщение регулярно посылается через определённые промежутки времени (например, каждые 30 с). - Aperiodic. Сообщение посылается нерегулярно. Оно может быть отправлено только один раз или несколько раз, но через разные промежутки времени. В заключение ещё раз следует отметить тот факт, что на диаграмме последовательности все сообщения упорядочены по времени своего возникновения в моделируемой системе. Каждое сообщение ассоциируется с некоторым конкретным действием, которое должно быть выполнено принявшим его объектом. При этом действие может иметь некоторые аргументы (параметры), в зависимости от значений которых может быть получен различный результат. Точно такие же параметры будет иметь и сообщение, которое вызывает это действие. 2.8.5 Диаграмма кооперации – Collaboration Diagram Диаграмма кооперации отображает поток событий в конкретном варианте использования. Диаграммы кооперации делают акцент на связях между объектами и отражают структурный аспект взаимодействия объектов. Кооперативная диаграмма представляет ту же информацию, что и диаграмма последовательности. Из неё легче понять отношения между объектами, но очень трудно проследить последовательность событий. Именно поэтому создают диаграммы обоих типов. Rational Rose автоматически преобразует одну диаграмму в другую (клавиша <F5>), так что достаточно создать какую-нибудь одну из них. Следует помнить, что в диаграмме кооперации (как и последовательности) отображаются только те объекты, которые непосредственно участвуют в моделируемом потоке событий варианта использования. Диаграмма кооперации имеет два уровня: спецификации и примеров. Уровень спецификации адекватен диаграмме последовательности на первом шаге её разработки и является удобным средством для общения с пользователями, потому что использует понятную заказчику терминологию. Диаграмма кооперации уровня примеров использует терминологию, которая по возможности точно отражает аспекты реализации (сервер, защищённый протокол, управляющий объект и т.д.) соответствующих объектов и связей. Процесс создания диаграмм взаимодействий должен быть согласован с процессом построения диаграмм классов и друг с другом. Если в диаграммах взаимодействий какие-либо объекты не будут соотнесены с классами, то модель будет неверной. Если диаграмма последовательности не соответствует диаграмме кооперации (и наоборот), то модель так же будет неверной. Имеется в виду, что порядок следования сообщений для моделирования одного и того же потока событий должен быть один и тот же в обеих диаграммах. Ещё одно важное пояснение. Инициировать сообщения могут только актёры (живые люди, устройства, другие системы, время) или управляющие объекты. Это требование соответствует трёхуровневому стилю архитектуры (пользовательский интерфейс, бизнес-логика и уровень данных). 2.9 ДИАГРАММЫ КЛАССОВ – CLASS DIAGRAMS Диаграммы классов занимают центральное место в разработке логической модели системы. В этой главе рассматриваются: 1. Классы. 2. Стереотип класса. 3. Видимость класса. 4. Пакеты. 5. Диаграммы классов. 6. Создание диаграммы классов.
Дата добавления: 2014-01-07; Просмотров: 788; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |