Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Краткое описание методологии моделирования прецедентов в языке UML

Поиск

Унифицированный Язык Моделирования (UML) является языком, поддерживающим объектно-ориентированное моделирование. Объектно-ориентированное моделирование основывается на рассмотрении теории систем, целью которой является выделение, объяснение и описание сложных систем при помощи единообразных стандартов. Система представляет совокупность компонентов, связанных разнообразными отношениями.

Упрощение сложной системы путем построения ее модели необходимо, поскольку система не может быть рассмотрена как единое целое из-за своей сложности.

Задача моделирования заключается в выделении свойств системы, значимых для заинтересованных сторон, и в построении модели системы, ориентированной на представление выделенных свойств. При моделировании систем можно разделить описание структуры системы и ее поведения.

Задача описания структуры системы состоит в выделении набора классов, соответствующих рассматриваемым сущностям предметной области. Основным понятием в объектно-ориентированном подходе является объект – сущность, обычно соответствующая понятию, взятому из словаря предметной области.

UML позволяет:

- используя расширенную семантику, провести визуализацию системы;

- разработать модели, описывающие систему с различных точек зрения;

- отображать полученные описания на объектно-ориентированные языки программирования и таблицы реляционных баз данных;

- формулировать требования и определять тесты для разрабатываемой системы.

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

UML предусматривает несколько типов диаграмм, предназначенных для описания системы. Каждая из диаграмм акцентирует внимание на том или ином важном аспекте системы, поэтому диаграммы дополняют друг друга и могут использоваться совместно для описания системы с различных точек зрения.

Модель системы, используемая в конкретном проекте, дает представление о системе с различных точек зрения. При этом необходимо определить набор представлений, достаточных для решения задачи проекта. Моделирование системы с использованием различных представлений осуществляется следующим образом:

− принятие решения о том, какие виды представлений лучше всего отображают архитектуру системы и возможные риски, связанные с конкретным проектом;

− определение для каждого из выбранных видов набора артефактов, необходимых для отражения его наиболее важных деталей;

− определение диаграмм, которые позволят выполнять контроль разработки и осуществления проекта;

− сохранение копий и версий всех диаграмм, выполненных в проекте.

Можно выделить следующие характеристики, которым должна отвечать хорошо структурированная диаграмма:

- заострение внимания на одном аспекте некоторого представления системы;

- содержание только элементов, существенных для понимания этого аспекта;

- содержание деталей, соответствующих выбранному уровню абстракции.

При графическом построении диаграммы необходимо выполнение следующих правил:

- имя диаграммы по возможности должно соответствовать ее назначению;

- элементы должны быть расположены так, чтобы число пересечений между ними было минимальным;

- элементы, выражающие семантически близкие сущности, должны располагаться на диаграмме рядом;

- при необходимости концентрации внимания на важной части диаграммы допускается ее выделение цветом.

Диаграммы прецедентов применяются для моделирования вида системы с точки зрения внешнего наблюдателя. На диаграмме прецедентов графически показана совокупность прецедентов и Субъектов, а также отношения между ними.

Рассмотрим основные элементы диаграммы прецедентов.

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

Прецеденты (use case) – это описание множества последовательностей действий (включая их варианты), которые выполняются системой для того, чтобы актер получил результат, имеющий для него определенное значение. При этом ничего не говорится о том, каким образом будет реализовано взаимодействие субъектов с системой, это одна из важнейших особенностей разработки прецедентов. Стандартным графическим обозначением прецедента на диаграммах является эллипс (рис. 10), внутри которого содержится краткое название прецедента или имя в форме глагола с пояснительными словами.

Рис. 10. Прецедент

 

Сущность концепции прецедентов подразумевает несколько важных пунктов.

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

− Фрагмент внешне наблюдаемых функций (отличных от внутренних функций).

Ортогональный фрагмент функциональных возможностей (прецеденты могут при выполнении совместно использовать объекты, но выполнение каждого прецедента независимо от других прецедентов).

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

− Фрагмент функциональных возможностей, который предоставляет субъекту ощутимый полезный результат (и этот результат достигается в пределах одного прецедента).

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

Отношение ассоциации (association) – определяет наличие канала связи между экземплярами субъекта и прецедента (или между экземплярами двух субъектов). Обозначается сплошной линией, возможно наличие стрелки и указание мощности связи.

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

Отношение включения (include) – указывает, что некоторое заданное поведение для одного прецедента включает в качестве составного компонента поведение другого прецедента. Данное отношение является направленным бинарным отношением в том смысле, что пара экземпляров прецедентов всегда упорядочена в отношении включения. Обозначается пунктирной линией со стрелкой, направленной от базового прецедента к включаемому, и помечается ключевым словом «include» («включает»).

Отношение обобщения (generalization) – служит для указания того факта, что некоторый прецедент А может быть обобщен до прецедента В. В этом случае прецедент А будет являться специализацией прецедента В. При этом прецедент В называется предком или родителем по отношению к прецеденту А, а прецедент А – потомком по отношению к прецеденту В. Следует подчеркнуть, что потомок наследует все свойства и поведение своего родителя, а также может быть дополнен новыми свойствами и особенностями поведения. Графически данное отношение обозначается сплошной линией со стрелкой в форме незакрашенного треугольника, которая указывает на родительский прецедент.

Пример. Магазин видеопродукции.

Магазин продает видеокассеты, DVD-диски, аудиокассеты, CD-диски и т.д., а также предлагает широкой публике прокат видеокассет и DVD-дисков.

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

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

Клиенты могут стать членами видеоклуба и получить пластиковые карточки. С членов клуба не берется залог (за исключением случая, описанного ниже), устанавливается скидка на ставку проката и покупку товаров. Члены клуба могут делать предварительные заказы на подбор видеоматериалов для проката или покупки.

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

Клиенты при покупке товара или получении видеоносителя в прокат могут расплачиваться наличными или кредитной картой.

Прокатные видеоносители через определенное количество дней проката списываются и утилизируются по акту. Списываются также товары и прокатные видеоносители, у которых обнаружился брак.

На рис. 11 приведена диаграмма прецедентов для рассматриваемого примера. В этом примере можно выделить следующие субъекты и соответствующие им прецеденты:

Менеджер – изучает рынок видеопродукции, анализирует продажи (прецедент «Запрос сведений»), работает с поставщиками: составляет заявки на поставки товара (прецедент «Оформление заказа»), оплачивает и принимает товар (прецедент «Прием товара»), списывает товар (прецедент «Списание товара»).

Продавец – работает с клиентами: продает товар (прецедент «Продажа видео»), оформляет членство в клубе (прецедент «Сопровождение клиентов»), резервирует (прецедент «Резервирование видео»), выдает в прокат (прецедент «Прокат видео») и принимает назад видеоносители (прецедент «Возврат видео»), отвечает на вопросы клиента (прецедент «Запрос сведений»).

Поставщик – оформляет документы для оплаты товара (прецедент «Оформление заказа»), поставляет товар (прецедент «Прием товара»).

Клиент – покупает (прецедент «Продажа видео»), берет на прокат и возвращает видеоносители (прецеденты «Прокат видео» и «Возврат видео»), вступает в клуб (прецедент «Сопровождение клиентов»), задает вопросы (прецедент «Запрос сведений»).

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

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

 

Рис. 11. Диаграмма прецедентов магазина видеопродукции

 

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

− Краткое описание.

− Участвующие субъекты.

− Предусловия, необходимые для инициирования прецедента.

− Поток событий (основной и, возможно, подпотоки, альтернативный).

− Постусловия, определяющие состояние системы, по достижении которого прецедент завершается.


Описательная спецификация прецедента "Прокат видео"

Раздел Описание
Краткое описание Клиент желает взять на прокат видеокассету или диск, которые снимаются с полки магазина или были предварительно зарезервированы клиентом. При условии, что у клиента нет не возвращенных в срок видеоносителей, сразу после внесения платы фильм выдается напрокат. Если не возвращенные в срок видеоносители есть, клиенту выдается напоминание о просроченном возврате.
Субъекты Продавец, Клиент.
Предусловия В наличии имеются видеокассеты или диски, которые можно взять напрокат. У клиентов есть клубные карточки. Устройство сканирования работает правильно. Работники за прилавком знают, как обращаться с системой.  
Основной поток Клиент может назвать номер заказа или взять видеоноситель с полки. Видеоноситель и членская карточка сканируются, и продавцу не сообщается никаких сведений о задержках, так что он не задает клиенту соответствующих вопросов. Если клиент имеет статус «надежный», он может взять до восьми видеоносителей, во всех остальных случаях – до четырех. Если статус клиента определен как «нарушитель», его просят внести задаток. Клиент расплачивается наличными или кредитной картой. После получения суммы информация о наличии фильмов обновляется и видеоносители передаются клиенту вместе с квитанциями на прокат. О прокате каждого видеоносителя делается отдельная запись с указанием идентификационного номера клиента, даты проката, даты возврата, идентификационного номера продавца, полученной суммы. Прецедент генерирует предупреждения о просроченном возврате клиенту, если видеофильм не был возвращен в течение двух дней по истечении даты возврата и изменяет статус клиента на «ненадежный» (первое нарушение) или «нарушитель» (повторное нарушение).  
Альтернативный поток У клиента нет членской карточки. В этом случае прецедент «Сопровождение клиента» может быть активизирован для выдачи новой карточки. Видеофильмы не выдаются, поскольку у клиента есть невозвращенные в срок видеоносители. Попытка взять на прокат слишком много видеоносителей. Видеоноситель или кредитная карта не могут быть отсканированы из-за их повреждения. У клиента не хватило наличных или платеж по кредитной карте отклонен.
Постусловия Видеофильмы сданы напрокат, и база данных соответствующим образом обновлена.

Лабораторная работа 5



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 579; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.15.124 (0.008 с.)