Uml алгоритм работы программы

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

Язык UML основан на следующих принципах объектно-ориентирован- ного анализа и проектирования [27, 30]: принцип абстрагирования – предписывает включать в модель только те аспекты предметной области, которые имеют непосредственное отношение к выполнению проектируемой системой своих функций; абстрагирование сводится к формированию абстракций, определяющих основные характеристики внешнего представления объектов; принцип инкапсуляции – предписывает разделять элементы абстракции на секции с различной видимостью, что позволяет отделить интерфейс абстракции от его реализации; обычно скрываются структура объектов и реализация их методов; принцип модульности – определяет возможность декомпозиции проектируемой системы на совокупность сильно связанных и слабо сцепленных модулей (см. подразд. 4.7); определение модулей выполняется при физической разработке системы, определение классов и объектов – при логической разработке; принцип иерархии – означает формирование иерархической структуры абстракций; принцип предписывает выполнять иерархическое построение моделей сложных систем на различных уровнях детализации; принцип многомодельности – обозначает, что при моделировании предметной области необходимо разрабатывать различные модели проектируемой сложной системы, отражающие различные аспекты ее поведения или структуры. Конкретным представлением абстракции является объект – элемент предметной области, существующий во времени и пространстве. Понятие объекта аналогично понятию экземпляра класса. Каждый объект характеризуется индивидуальностью, состоянием и поведением [30].

UMl Диаграмма Последовательности (Sequence Diagram)

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

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

Класс – это описание множества объектов, имеющих общие свойства, операции, отношения и семантику. Каждый объект представляет собой экземп- ляр класса. Между классами существует четыре основных вида отношений: ассоциация, зависимость, обобщение – специализация, целое – часть [30]. Отношение ассоциации определяет связи между экземплярами классов.

Ассоциативное отношение характеризуется мощностью ассоциации . Существует три типа мощности ассоциации: один-к-одному; один-ко-многим; многие-ко-многим. Понятие мощности ассоциативной связи и типы мощности в объектноориентированном анализе и проектировании заимствованы из теории информационного моделирования и подробно рассмотрены в п. 5.4.7.

UML Диаграмма деятельности / Моделируем процесс покупки в интернет магазине

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

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

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

6.2. Диаграммы моделирования в языке UML Для моделирования различных аспектов предметной области или проектируемой системы в языке UML предусмотрены следующие виды диаграмм [27, 40, 41]: диаграмма вариантов использования (Use Case Diagram); диаграмма классов (Class Diagram); диаграммы поведения (Behavior Diagram), в том числе: диаграмма состояний (Statechart Diagram); диаграмма деятельности (Activity Diagram); диаграммы взаимодействия (Interaction Diagram), в том числе: диаграмма последовательности (Sequence Diagram); диаграмма кооперации (Collaboration Diagram); диаграммы реализации (Implementation Diagram), в том числе: диаграмма компонентов (Component Diagram); диаграмма развертывания (Deployment Diagram). Модели языка UML подразделяются на два вида : структурные модели (статические модели) описывают структуру сущ- ностей предметной области или компонентов моделируемой системы, включая их классы, атрибуты, связи, интерфейсы; к данному виду моделей относятся диаграммы вариантов использования, классов, компонентов, развертывания; модели поведения (динамические модели) описывают функционирование сущностей предметной области или компонентов системы во времени, включая их методы, взаимодействия между ними, изменение состояний отдельных сущностей, компонентов и системы в целом; к данному виду моделей относятся диаграмма состояний, диаграмма деятельности, диаграмма последовательности, диаграмма кооперации. Все модели языка UML подразделяются на три уровня : концептуальные модели представляют собой верхний, наиболее общий и абстрактный уровень описания моделируемой системы; к данному уровню относится диаграмма вариантов использования; с уровня концептуальной модели должно начинаться моделирование предметной области или проектируемой системы (программного средства); логические модели представляют собой второй уровень описания моделируемой системы; элементы моделей данного уровня не имеют физического воплощения и отражают логические аспекты структуры и поведения реальной предметной области или системы; логические модели должны строиться после концептуальных моделей; к данному уровню относятся диаграммы классов, состояний, деятельности, последовательности, кооперации; физические модели представляют собой нижний уровень описания моделируемой системы; элементы моделей данного уровня представляют собой

Читайте также:
Выпуски программы правила движения

конкретные материальные сущности физической системы; данные модели рекомендуется строить в последнюю очередь; к данному уровню относятся диаграммы компонентов и развертывания. Процесс объектно-ориентированного анализа и проектирования, базирующийся на построении различных типов диаграмм UML, получил название рационального унифицированного процесса RUP (Rational Unified Process).

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

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

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

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

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

Источник: studfile.net

Михаил Смирнов

пятница, 1 февраля 2008 г. — www.msmirnov.ru

UML – быстрый старт

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

1. Введение .

UML– это Unified Modeling Language, как следует из названия – унифицированный язык моделирования. UMLпредставляет собой набор соглашений, которые предназначены для облегчения процесса моделирования и обмена информацией в проектной группе. Наличие стандартизированной нотации позволяет сократить время на усвоение информации, упрощает общение и взаимодействие, облегчает документирование.

В этом документе описаны самые основные разделы языка UML, которые потребуются в повседневной работе.

2. Основы.

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

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

3. Описание типов диаграмм.

3.1. Диаграмма вариантов использования ( Use — case diagram ).

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

Основными понятиями при работе с диаграммой вариантов использования являются Актор(Actor) и Вариант использования(Use case).

Актор– это роль, которую выполняет пользователь или другая система, при взаимодействии с проектируемой системой.

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

Каждый Актор обладает уникальным именем.
Друг с другом акторы могут быть связаны различного рода отношениями.
Например, акторы могут наследоваться друг от друга.

image

Это означает, что акторы-наследники наследуют характеристики базовых акторов.

Следующим этапом после определения списка акторов является определение списка вариантов использования.

Вариант использования– это конечная единица взаимодействия актора и системы. Совокупность всех вариантов использования полностью определяет поведение системы.

Вариант использования обозначается значком:

image

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

Читайте также:
Программа обеспечения надежности на стадии производства пример

image

означает, что актор User инициирует вариант использования Login.
Один и тот же вариант использования может использоваться несколькими акторами, например:

image

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

image

1. «Включение» одного варианта использования в другой. Означает, что один вариант использования инициируется в процессе другого. Например:

image

2. «Расширение». Означает, что один вариант использования является дополнением или уточнением другого варианта использования в случае наступления некоторых условий. Например:

3. «Реализация». Означает, что один вариант использования является реализацией другого варианта использования. Например, если один из них описан в терминах бизнес-процессов, а другой – в терминах проектируемой системы.
Например:
image


Кроме того, варианты использования могут быть связаны отношением «Реализация» с требованиями к системе и с классами. При наличии таких связей есть возможность проследить в каких классах реализованы требования и какие классы могут быть затронуты при изменении требований или вариантов использования.
Например:
image

Кроме Акторов и Вариантов использования на диаграмме также могут находиться следующие элементы:

“ Collaboration” – элемент, предназначенный для визуальной группировки объектов – акторов и вариантов использования – по принципу их совместной работы.
Обозначается значком

image
Например,
image

«Boundary» — элемент, предназначенный для визуальной группировки объектов – акторов и вариантов использования – по принципу их распределения на подсистемы или компоненты.

Источник: michaelsmirnov.blogspot.com

Введение в UML

Использование языка UML основывается на следующих общих принципах моделирования:

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

Сущности в UML

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

Структурные сущности — это имена существительные в моделях на языке UML. Как правило, они представляют статические части модели, соответствующие концептуальным или физическим элементам системы. Примерами структурных сущностей являются «класс», «интерфейс», «кооперация», «прецедент», «компонент», «узел», «актер».

Поведенческие сущности являются динамическими составляющими модели UML. Это глаголы, которые описывают поведение модели во времени и в пространстве. Существует два основных типа поведенческих сущностей:

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

Группирующие сущности являются организующими частями модели UML. Это блоки, на которые можно разложить модель. Такая первичная сущность имеется в единственном экземпляре — это пакет.

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

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

Отношения в UML

В языке UML определены следующие типы отношений: зависимость , ассоциация , обобщение и реализация . Эти отношения являются основными связующими конструкциями UML и также как сущности применяются для построения моделей.

Зависимость (dependency) — это семантическое отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой.

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

Обобщение (generalization) — это отношение, при котором объект специализированного элемента (потомок) может быть подставлен вместо объекта обобщенного элемента (предка). При этом, в соответствии с принципами объектно-ориентированного программирования, потомок (child) наследует структуру и поведение своего предка (parent).

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

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

Общие механизмы UML

Для точного описания системы в UML используются, так называемые, общие механизмы :

  • спецификации (specifications);
  • дополнения (adornments);
  • деления (common divisions);
  • расширения (extensibility mechanisms).

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

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

При моделировании объектно-ориентированных систем существует определенное деление представляемых сущностей.

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

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

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

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

Совместно эти три механизма расширения языка позволяют модифицировать его в соответствии с потребностями проекта или особенностями технологии разработки.

Виды диаграмм UML

Графические изображения моделей системы в UML называются диаграммами . В терминах языка UML определены следующие их виды:

  • диаграмма вариантов использования или прецедентов (use case diagram)
  • диаграмма классов (class diagram)
  • диаграммы поведения (behavior diagrams)
  • диаграмма состояний (statechart diagram)
  • диаграмма деятельности (activity diagram)
  • диаграммы взаимодействия (interaction diagrams)
  • диаграмма последовательности (sequence diagram)
  • диаграмма кооперации (collaboration diagram)
  • диаграммы реализации (implementation diagrams)
  • диаграмма компонентов (component diagram)
  • даграмма развертывания (deployment diagram)

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

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

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

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

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

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

Ссылки по теме

  • Статья «UML — новый стандарт языка объектно-ориентированного моделирования. Квинтэссенция успешного опыта»
  • Статья «Тенденции в развитии языка UML и разработки ПО»
  • Обратиться в Interface Ltd. за дополнительной информацией/по вопросу приобретения продуктов

01.2007

Источник: www.interface.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru