Файл: Унифицированный язык моделирования (Unified Modeling Language, uml).pptx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.05.2024
Просмотров: 11
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Унифицированный язык моделирования (Unified Modeling Language, UML)
План
- Введение в UML
- Жизненные циклы и UML
- Диаграммы UML
- Диаграмма прецедентов (Use Case)
- Диаграмма классов
- Диаграмма последовательности (sequence diagram)
1. Введение в UML
UML позволяет системным архитекторам представлять свое видение системы в виде набора стандартных диаграмм. Авторы UML определяют его как графический язык моделирования общего назначения (т. е. его можно применять для проектирования как простой системы, так и сложного аппаратно-программного комплекса или даже космического корабля), предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых в ходе разработки
Чаще всего UML ассоциируется с моделированием ОО программных систем, но он имеет намного более широкое применение благодаря свойственной ему расширяемости. UML объединил лучшие современные технические приемы моделирования и разработки программного обеспечения.
UML не предлагает нам какой-либо методологии моделирования. UML это не методология, это унифицированный язык визуального моделирования. UP – это методология.
Унифицированный процесс (Unified Process, UP) – это методология. Она указывает на исполнителей, действия и артефакты, которые необходимо использовать, осуществить или создать для моделирования программной системы.
UML не привязан к какойлибо конкретной методологии или жизненному циклу. На самом деле он может использоваться со всеми существующими методологиями. UP использует UML в качестве базового син таксиса визуального моделирования. Следовательно, UP можно рас сматривать как предпочтительный метод для UML.
Для разработки существуют средства UML-моделирования. Например, StarUML. StarUML - это пакет с открытым программным кодом, написанный на Delphi и работающий под управлением ОС семейства Windows. На данный момент на рынке присутствует огромное количество и полноценных средств UML-моделирования, и программ для рисования диаграмм, в том числе и UML. Такие продукты, как Borland Together, Poseidon, StarUML и Dia, могут быть загружены с сайта производителя бесплатно. StarUML выглядит наиболее функциональным из бесплатных продуктов и может служить полноценной заменой коммерческим программам для UML-моделирования. Также разработка UML-диаграмм доступна в пакете SAP Signavio.
UML вобрал в себя черты нотаций Грейди Буча (Grady Booch), Джима Румбаха (Jim Rumbaugh), Айвара Якобсона (Ivar Jacobson) и многих других.
Румбах присоединился к Бучу в Rational Inc. Они объединили свои нотации и создали первую версию UML. В 1995 году на конференции OOPSLA они представили его как Unified Method, который потом и получил название UML. Чуть позже к ним присоединился Якобсон, который добавил к результатам их труда элементы Objectory и начал работу над Rational Unified Process (RUP). В 1997 году UML был отправлен в Object Management Group (OMG) для стандартизации. Кроме трех нотаций, UML вобрал в себя элементы многих других методологий.
В 1994 году Буч и Рамбо объединились в компании Rational Corporation для работы над UML. Rational занимал более половины рынка по разработке подобного рода методов.
Позже UML стал открытым промышленным стандартом. В 1996 г. Группа управления объектами (OMG, Object Management Group) выпускает запрос на предложение (request-for-proposal, RFP) для ОО языка визуального моделирования и предлагает UML. В 1997 г. OMG принимает UML и появляется первый открытый, удовлетворяющий промышленным стандартам ОО язык визуального моделирования. С этого момента исчезли все конкурирующие методы, и UML стал стандартным ОО языком моделирования.
В наши дни Rational не владеет UML, но продолжает работать над ним. UML же принадлежит OMG, а сама Rational ныне является одним из подразделений IBM и фигурирует во всех документах как IBM Rational. Известен и крайне популярен более неподдерживаемый пакет моделирования UML – IBM Rational Rose.
UML получил множество пакетов расширений, называемых профайлами и позволяющих использовать его для моделирования систем из специфических предметных областей.
• Жизненный цикл разработки: UML предоставляет визуальный синтаксис для моделирования на протяжении всего жизненного цикла разработки программного обеспечения – от постановки требований до реализации.
• Области приложений: UML используется для моделирования всех аспектов – от аппаратных встроенных систем реального времени до систем поддержки принятия решений.
2. Жизненные циклы и UML
• Языки реализации и платформы: UML является независимым от языков и платформ. Естественно, он прекрасно поддерживает чистые ОО языки (Java, C# и др.), но также эффективен и для гибридных ОО языков, таких как C++, и основанных на концепции объектов, таких как Visual Basic. UML также используется для создания моделей, реализуемых на не ОО языках программиро вания, таких как С.
• Процессы разработки: хотя UP и его разновидности на практике зачастую являются предпочтительными процессами разработки ОО систем, UML может поддерживать (и поддерживает) множество других процессов разработки ПО.
Основная идея UML – возможность моделировать программное обеспечение и другие системы как наборы взаимодействующих объектов. Это одходит для ОО программных систем и языков программирования, но также очень хорошо работает и для бизнес-процессов и других прикладных задач.
В UML-модели есть два аспекта:
• Статическая структура – описывает, какие типы объектов важны для моделирования системы и как они взаимосвязаны.
• Динамическое поведение – описывает жизненные циклы этих объектов и то, как они взаимодействуют друг с другом для обеспечения требуемой функциональности системы.
UML-модель состоит из совокупности диаграмм. В процессе проектирования система рассматривается с разных точек зрения с помощью моделей, различные представления которых предстают в форме диаграмм.
При проектировании систем с помощью диаграмм UML можно визуализировать систему с различных позиций представления ее функционирования. Одна из диаграмм, например, может описывать взаимодействие пользователя с системой, другая - изменение состояний системы в процессе ее работы, третья - взаимодействие между собой элементов системы и т. д.
3. Диаграммы UML
Сложную систему можно и нужно представить в виде набора небольших и почти независимых моделей диаграмм, причем ни одна из них не является достаточной для описания системы и получения полного представления о ней, поскольку каждая из них фокусируется на каком-то определенном аспекте функционирования системы и выражает разный уровень абстракции. В контексте приведенных определений ни одна отдельная диаграмма не является моделью. Лишь набор диаграмм составляет модель системы и наиболее полно ее описывает (визуализирует).
Диаграмма прецедентов или диаграмма вариантов использования (Use case diagram) — диаграмма, на которой отражены отношения, существующие между акторами и вариантами использования.
Основная задача — представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы.
Разберем пример проектирования ИС (маркет-плейс).
Отправная точка для разработки платформы «Электронная ярмарка» - это ее модель функционирования, комбинированная В2В + B2C модель, соответствующая маркетплейсу и требующая мультивендорной реализации (функционал для совместной работы многих продавцов, а не только магазина и покупателей, как в модели В2С).
4. Диаграмма прецедентов (Use Case, вариантов использования)
Основные функции:
- регистрация (юрлица: фермера, производителя, поставщика; физлица);
- личный кабинет юрлица / физлица;
- подача объявления о конкретном товаре / партии товара;
- участие в торгах;
- поиск по городу, району, региону;
- механизм формирования рейтинга продавца, контактные данные, обратная связь с продавцом в объявлении.
Для начала представим проектируемую систему как множество акторов (actors – действующие лица, также в учебной литературе встречается – экторы), взаимодействующих с системой с помощью прецедентов (use case – событие, или вариантов использования системы).
Эктор – это роль, исполняемая при взаимодействии с прецедентом. Прецеденты (use case) - описание множества последовательных событий (включая варианты), выполняемых системой, которые приводят к наблюдаемому эктором результату.
На рисунке редставлена диаграмма прецедентов (диаграмма использования, use case diagram). Это наиболее общее представление функционального назначения системы. Диаграмма такого типа являются самым стабильным и классическим элементом языка UML, практически не изменяются с 1986 года, с момента, когда они впервые были предложены Иваром Якобсоном. Графическая нотация таких диаграмм также проста: они обладают двумя типами сущностей (как уже было сказано, акторы и прецеденты), и тремя типами отношений (зависимости, ассоциации, обобщения).
Выделим акторов. Принцип выделения:
- пользователи участвуют в разных (независимых) бизнес-процессах;
- пользователи имеют различные права на выполнение действий и доступ к информации;
- пользователи взаимодействуют с системой в разных режимах: от случая к случаю, регулярно, постоянно.
Таким образом, анализ действующих лиц – пользователей будущей системы – позволяет выделить следующих акторов: Администратор, Менеджер, Фермер, Покупатель.
Далее необходимо определиться с вариантами использования системы.
Семантически вариант использования (use case) — это описание множества возможных последовательностей действий (событий), приводящих к значимому для действующего лица результату
Анализ требований, сформированных нами к системе, позволяет выделить следующие варианты использования (прецеденты) системы и акторов, взаимодействующих с системой в контексте вариантов ее использования (тип отношения - ассоциация между действующим лицом и вариантом использования):
- актор Администратор – прецеденты: Контроль СУБД, Редактирование структуры интерфейса платформы, Редактирование учетных записей пользователей;
- актор Менеджер – прецеденты: Верификация учетных записей покупателя и продавца, Верификация предоставленных документов, Блокировка учетных записей продавца и покупателя, Выставление полномочий продавца и покупателя, Вывод отчетов о сделках;
- актор Фермер – прецеденты: Регистрация на платформе, Размещение объявления, Поиск товара по критериям, Совершение сделки, Оценка покупателя после совершения сделки;
- актор Покупатель – прецеденты: Регистрация на платформе, Поиск товара по критериям, Совершение сделки, Оценка качества услуг фермерского хозяйства.
Прецеденты Поиск товара по критериям, Совершение сделки имеют тип отношения – обобщение между вариантами использования.
Диаграмма, по сути, иллюстрирует варианты использования будущей платформы: что покупатель увидит, зайдя на сайт, и что происходит при определённых его действиях. Также диаграмма отображает взаимодействие пользователей в рамках платформы. Так, фермер может размещать объявление и закупать нужные ему товары, а, например, менеджер верифицировать учетные записи и выставлять полномочия пользователям ниже своей роли.
Диаграммы прецедентов относятся к той группе диаграмм, которые представляют динамические или поведенческие аспекты системы. Они являются средством для достижения взаимопонимания между разработчиками, экспертами и конечными пользователями продукта.
5. Диаграмма классов
Диаграмма классов (class diagram) является одной из важнейших диаграмм UML. Она используется для документирования программных систем, и основным ее компонентом является класс. Создание диаграммы классов знаменует собой окончание процесса анализа и начало процесса проектирования. Класс (class) - категория вещей, которые имеют общие атрибуты и операции. Они представляют собой описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой.
При проектировании объектно-ориентированных систем диаграммы классов обязательны. Классы используются в процессе анализа предметной области для составления словаря предметной области разрабатываемой системы. Это могут быть как абстрактные понятия предметной области, так и классы, на которые опирается разработка и которые описывают программные или аппаратные сущности. Информация с диаграммы классов напрямую отображается в исходный код приложения - в большинстве существующих инструментов UML-моделирования возможна кодогенерация для определенного языка программирования (обычно Java или C++). Таким образом, диаграмма классов - конечный результат проектирования и отправная точка процесса разработки.