Моделирование систем. 4

СОДЕРЖАНИЕ

 

Введение…………………………………………………………………………………………..5

1. Концептуальная модель разработки Интернет-магазина "Vipcom"……………..………….6

2. Графический язык моделирования UML……………………………………………………..9

3. Построение диаграмм для Интернет-магазина "Vipcom"………………………..…………13

3.1. Диаграмма вариантов использования……………………………………………...13

3.2. Диаграмма классов……………………………………………………………….….16

3.3. Диаграмма состояний………………………………………………………...….…..22

3.4. Диаграмма деятельности………………………………………………………….....24

3.5. Диаграмма последовательности………………………………………………..…...27

Заключение……………………………………………………………………………………..…33

Список использованных источников и литературы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение.

 

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

Моделирование - это построение моделей, предназначенных для изучения и исследования объектов, процессов или явлений.

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

Целью данной работы является  разработка модели Интернет-магазина на основе языка визуального моделирования UML.

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

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

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

Для достижения поставленной цели необходимо решить следующие задачи:

    • описать функционирование объекта моделирования на обычном языке;
    • дать общую характеристику визуальному языку моделирования UML, указать, что в качестве среды моделирования выбрана среда Visio (MS Visio 2010);
    • построить модель Интернет-магазина фирмы на языке UML в виде диаграмм вариантов использования, классов, состояний, деятельности, последовательности.
  1. Концептуальная модель разработки Интернет-магазина "Vipcom".

 

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

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

Разработаем концептуальную модель сайта Интернет-магазина "Vipcom"- магазина отделочных и строительных материалов. Цель создания сайта магазина - расширение границ бизнеса и увеличение объема продаж.

На сайте предусмотрены  следующие группы пользователей:

  • зарегистрированные пользователи (прошедшие регистрацию) - могут делать заказ;
  • незарегистрированные пользователи - могут просматривать каталог продукции, но не могут делать заказ; 
  • администраторы сайта – группа пользователей с полными правами на все страницы, разделы сайта и систему управления сайтом;
  • контент менеджеры – управление страницами, разделами и объектами на сайте;
  • менеджеры магазина –  обработка заказов.

Функциональные блоки:

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

Страница содержит список товаров добавленных в корзину, каждый элемент содержит:

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

Под списком товаров отображается информация об ожидаемой дате доставки, стоимости покупки и доставки.

  • оформление заказа. Инициируется нажатием на кнопку «Оформить», в корзине пользователя. Первоначально производится пересчет корзины в соответствии с правилами пересчета корзины. Если пересчет не привел к ошибкам, проверяется выполнение следующих условий:
  1. В том случае если, пользователь авторизован он будет перенаправлен на страницу «результат оформления заказа».
  1. Если пользователь не авторизован, пользователь увидит блок регистрация в корзине.
  2. В заказ попадают только те позиции каталога которые есть в наличии, отсутствующей в наличии позиция считается когда она неактивна или удалена.
  • результат оформление заказа. Представляет собой страницу с итогами оформления заказа, по заказу выводится следующая информация:
    1. номер заказа;
    2. список наименований товаров в заказе, с кол-вом каждого товара, в формате «N штук»;
    3. сумма всех товаров в заказе;
    4. итоговая стоимость заказа;
    5. адрес доставки;
    6. дата доставки.

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

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

Структура сайта представлена на схеме 1.














 



Схема 1 - Структура сайтаИнтернет-магазина"Vipcom".

 

Разработаем модель сайта с помощью графического языка моделирования - UML.

 

 

 

 

 

 

 

 

 

 

 

2. Графический язык моделирования UML.

 

Unified Modeling Language (UML) – это унифицированный графический язык моделирования для описания, визуализации, проектирования и документирования объектно-ориентированных систем. UML призван поддерживать процесс моделирования программных системна основе объектно-ориентированного подхода, организовывать взаимосвязь концептуальных и программных понятий, отражать проблемы масштабирования сложных систем. Модели на UML используются на всех этапах жизненного цикла программных систем, начиная с бизнес-анализа и заканчивая сопровождением системы. Разные организации могут применять UML по своему усмотрению в зависимости от своих проблемных областей и используемых технологий.

Любой язык состоит из словаря  и правил комбинирования слов для  получения осмысленных конструкций. Отличительной особенностью UML является то, что словарь языка образуют графические элементы. Каждому графическому символу соответствует конкретная семантика, поэтому модель, созданная одним разработчиком, может однозначно быть понята другим, а также программным средством, интерпретирующим UML. Отсюда, в частности, следует, что модель программных систем, представленная на UML, может автоматически быть переведена на объектно-ориентированный язык программирования, такой  как Java, C++, VisualBasic, то есть, при наличии хорошего инструментального средства визуального моделирования, поддерживающего UML, построив модель, мы получим и заготовку программного кода, соответствующего этой модели.

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

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

Отношения показывают различные связи между сущностями. В UML определены следующие типы отношений:

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

В UML предусмотрены следующие  диаграммы:

1. Диаграммы, описывающие поведение системы:

      • диаграммы состояний;
      • диаграммы деятельностей;
      • диаграммы объектов;
      • диаграммы последовательностей;
      • диаграммы взаимодействия.

2. Диаграммы, описывающие физическую реализацию системы:

      • диаграммы компонент;
      • диаграммы развертывания.

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

Достоинства UML:

  • UML объектно-ориентирован, в результате чего методы описания результатов анализа и проектирования семантически близки к методам программирования на современных объектно-ориентированных языках;
  • UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы;
  • диаграммы UML сравнительно просты для чтения после достаточно быстрого ознакомления с его синтаксисом;
  • UML расширяет и позволяет вводить собственные текстовые и графические стереотипы, что способствует его применению не только в сфере программной инженерии;
  • UML получил широкое распространение и динамично развивается.

Несмотря на всю привлекательность UML, его было бы затруднительно использовать при реальном моделировании программных средств без инструментальных средств визуального моделирования. Такие средства позволяют оперативно представлять диаграммы на экране дисплея, документировать их, генерировать заготовки программных кодов на различных объектно-ориентированных языках программирования, создавать схемы баз данных.

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

Visio 2010 представляет большой набор средств для визуального моделирования программ - здесь можно использовать практически все распространенные типы диаграмм, описываемые с помощью UML версии. При этом поддерживаются языки программирования C++, Visual Basic и Java.

Последней версией продукта является Visio 2010, которая доступна в трех редакциях: Visio Standard 2010, Visio Professional 2010 и Visio Premium 2010. Все три редакции содержат усовершенствования и новые функции, однако Professional и Premium включают в себя расширенные возможности новой версии Visio.

Visio Standard 2010 обладает усовершенствованным интерфейсом (Office Fluent User Interface. Отличительной особенностью нового интерфейса является лента, на которой все необходимые инструменты логически сгруппированы по вкладкам, что существенно упрощает работу в программе. Все имеющиеся фигуры и наборы элементов доступны в обновленном окне «Фигуры». Программа также имеет ряд новых функций – «Быстрые формы» (Quick Shapes), функция контейнеров, автоматическое упорядочение и расстановка интервалов (Auto Align & Space) и новый механизм для вставки и удаления фигур. Мини-панель «Быстрые формы» позволяет одним щелчком мыши реализовать предварительный просмотр диаграммы. Функция контейнеров позволяет логически и визуально группировать отдельные фигуры и элементы диаграммы, при этом фигуры внутри контейнера не сгруппированы, и с ними можно работать напрямую.

Редакция  Visio Professional 2010 включает все разработки Visio Standard 2010 и предоставляет дополнительные возможности. Например, имеется возможность подключать схемы к таким источникам данных, как Microsoft Excel, Access, SQL, и Sharepoint Services. Задав необходимые условия, эти данные могут отображаться в реальном времени. А функция автоматического обновления поможет поддерживать данные на диаграммах в актуальном состоянии. Служба Visio Services позволяет опубликовать динамически обновляемые схемы в сети Интернет и обеспечить их просмотр через портал Sharepoint. Для специальных задач, программа содержит расширенный набор шаблонов, включая инженерные сети, подробные диаграммы сети, строительные и архитектурные диаграммы, диаграммы программного обеспечения и баз данных.

Пакет Visio Premium 2010, помимо возможностей Visio Professional 2010, содержит шаблоны для бизнес-процессов стандарта BPMN и Six Sigma, а также шаблон, содержащий фигуры рабочего процесса Share Point и интеллектуальные правила. В редакции Premium 2010 имеется возможность разбивать сложные процессы на удобные фрагменты, каждый из которых может находиться на отдельной странице и быть связанным с фигурой подпроцесса на общей схеме. Для поиска типичных ошибок диаграмм и проверки на соответствие бизнес-правилам и другим стандартам имеется функция интеллектуальной проверки.

 

 

 

 

 

 

 

3. Построение диаграмм для сайта Интернет-магазина "VIPCOM".

 

3.1. Диаграмма вариантов использования.

 

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

Построение  этой модели необходимо для выявления:

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

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

Связи между актерами и вариантами отображаются с использованием отношений четырех видов:

  • ассоциаций;
  • обобщения;
  • включения;
  • расширения.

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

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

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

Графически  данное отношение обозначается сплошной линией со стрелкой, в виде незакрашенного треугольника, от потомка к родителю.

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

Отношение включения указывает, что некоторое заданное поведение одного варианта использования обязательно включается в качестве составного компонента в последовательность поведения другого варианта использования.

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

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

Стрелка расширения должна быть направлена от включаемого варианта к базовому и помечена стереотипом «extend».

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

Рассмотрим  процесс моделирования системы  продажи товаров по каталогу через  Интернет-магазин "Vipcom".

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

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

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

Оператор  сайта магазина может удалить  товар или изменить его параметры, введя его идентификатор. А если идентификатор ему не известен, а известна лишь марка товара и производитель, он должен сначала найти такой товар и определить идентификатор в его описании, а затем уже удалить товар или изменить сведения о нем. Соответственно, вариант использования "Удаление товара" и "Изменение данных о товаре" будет расширять вариант использования "Поиск товара".

Администратор управляет сайтом: редактирует каталог, управляет заказами – все это  можно обобщить в отдельном варианте использования "Обработка данных ".

Чтобы покупателю сделать заказ ему  необходимо авторизоваться, после чего он может выбрать конкретный товар  и способ оплаты. Так сервис "Заказ  товара" вполне можно сделать  самостоятельным вариантом использования, который включает в себя "Авторизацию", "Регистрацию" и "Выбор оплаты".

Построим  диаграмму использования для Интернет-магазина "Vipcom" с помощью Microsoft Visio 2010 (рис.1).

Рисунок 1 - Диаграмма  вариантов использования для Интернет-магазина "Vipcom".

 

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

 

3.2.  Диаграмма классов.

 

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

Диаграммы классов создаются  при логическом моделировании программной системыи служат для следующих целей:

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