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



ЗНАЕТЕ ЛИ ВЫ?

Краткие теоретические Сведения

Поиск

ЦЕЛЬ РАБОТЫ

Изучения архитектурных инструментов в MS Visual Studio 2010. Моделирование программного обеспечения.


КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Создание проектов моделирования

Проекты моделирования создаются, как и все другие проекты. Выбрать New Project из меню и выберите Modeling Projects панели шаблонов. Существует только один шаблон проекта называется Modeling Project(очень оригинально). Выделите его и нажмите ОК.

 

Проект моделирования практически, сразу после создания еще пустой. На левой стороне экрана вы увидите UML Model Explorer (вы можете открыть его так же через View =>Other Windows=> UML Model Explorer). Для добавления новых объектов в UML модели просто щелкните правой кнопкой мыши на название и выберите тип объекта.

UML Model Explorer

После добавления некоторых объектов в проект моделирования:

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

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

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

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

Кроме того, можно показать, какие варианты использования включены в разрабатываемую область системы. Например, изображенная на иллюстрации система не входит в состав варианта использования "Доставка еды". Это помогает задать контекст для разработки.(На схеме вариантов использования контейнеры подсистемы можно использовать для представления системы или ее компонентов).

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

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

Создание схемы вариантов использования помогает команде разработчиков:

· концентрироваться на том, как пользователи намерены работать с системой, не отвлекаясь на подробности реализации;

· обсуждать область действия системы или отдельных выпусков системы.

 

Чтение схем вариантов использования

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

Субъекты, варианты использования и подсистемы

Фигура Элемент Описание и основные свойства
11 Субъект Представляет пользователя, организацию или внешнюю систему, взаимодействующую с используемым приложением или системой. Субъект — это вид типа. · Путь к рисунку — путь к файлу изображения, который следует использовать вместо значка субъекта по умолчанию. Значок должен быть файлом ресурсов в проекте Visual Studio.
22 Вариант использования Представляет действия, выполненные одним или несколькими субъектами для достижения конкретной цели. Вариант использования — это вид типа. · Предметы — подсистема, в которой отображается вариант использования.
33 Ассоциация Указывает, что субъект принимает участие в варианте использования.
44 Подсистема или компонент Система или приложение, с которым ведется работа, либо часть системы или приложения. Может представлять собой что угодно — от крупной сети до одного класса в приложении. Варианты использования, поддерживаемые системой или компонентом, отображаются внутри прямоугольника. Чтобы более ясно очертить область действия системы, рекомендуется показать некоторые варианты использования за пределами прямоугольника. Подсистема на схеме вариантов использования, по сути, имеет тот же тип, что и компонент на схеме компонентов.

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

 

Фигура Элемент Описание
5 Включение Включающий вариант использования вызывает включенный. Включение используется, чтобы показать, как разбить вариант использования на несколько более мелких шагов. Включенный вариант использования находится на окончании с наконечником стрелки. Обратите внимание, что на схеме не показана последовательность шагов. Для подробного описания этих шагов можно воспользоваться схемой деятельности, схемой последовательностей или другим документом.
6 Расширение Расширяющий вариант использования добавляет цели и шаги в расширяемый вариант использования. Расширения работают только при определенных условиях. Расширенный вариант использования находится на окончании с наконечником стрелки. Обратите внимание, что на схеме не показаны конкретные условия, при которых применяются расширения: их можно записать в комментарии или другом документе.
7 Наследование Устанавливает отношение между специализированным и обобщенным элементом. Обобщенный элемент находится на окончании с наконечником стрелки. Специализированный вариант использования наследует цели и субъекты своего обобщения и может добавлять более конкретные цели и шаги для их достижения. Специализированный субъект наследует варианты использования, атрибуты и ассоциации своего обобщения и может добавлять дополнительные объекты.
8 Зависимость Указывает, что конструкция источника зависит от конструкции целевого объекта.
9 Комментарий Используется для добавления общих примечаний на схеме.
10 Артефакт Артефакт предоставляет ссылку на другую схему или документ.Его можно создать, перетащив файл из Обозревателя решений. С помощью инструмента "Зависимость" артефакт можно связать с любым другим элементом на схеме. Как правило, артефакт используется для связи варианта использования со схемой последовательностей, страницей OneNote, документом Word или презентацией PowerPoint, которая подробно его описывает. Документ может либо представлять собой элемент в решении Visual Studio, либо документ в расположении с общим доступом, например на сайте SharePoint.
11 (не показана) Пакеты Варианты использования, субъекты и подсистемы могут содержаться внутри пакетов. Фигуры пакетов не отображаются на схеме, но можно задать свойство схемы LinkedPackage. Элементы, которые впоследствии будут созданы на схеме, помещаются в этот пакет.

 

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

· Субъект (1) — это класс лиц, организаций, устройств или внешних программных компонентов. взаимодействующих с системой. Примерами субъектов являются следующие: Клиент, Ресторан, Датчик температуры, Устройство авторизации кредитных карт.

· Вариант использования (2) представляет действия, совершаемые одним или несколькими субъектами для достижения определенной цели. Примерами вариантов использования являются следующие: Заказ еды, Обновление меню, Обработка платежа.

На схеме вариантов использования они ассоциированы (3) с субъектами, выполняющими их.

· Система (4) — это любой объект в разработке. Системой может быть небольшой программный компонент, субъектами которой являются другие программные компоненты, полное приложение или крупный распределенный набор приложений, развернутых на нескольких компьютерах и устройствах. Примерами подсистем являются следующие: "Веб-сайт для заказа еды", "Бизнес по доставке еды", "Веб-сайт, версия 2".

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

Основные этапы создания схем вариантов использования

Создание новой схемы вариантов использования

1. В меню Архитектура выберите пункт Создать схему.

2. В разделе Шаблоны щелкните UML-схема вариантов использования.

3. Назовите схему.

4. В области Добавить в проект моделирования выделите существующий проект моделирования в решении или выберите Создать новый проект моделирования и нажмите кнопку ОК.

Создание схемы вариантов использования

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

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

· При необходимости перетащите угол изображения системы, чтобы увеличить его.

· Переименуйте систему соответственно.

2. Перетащите Субъекты из панели элементов на схему (разместите их за пределами границ любой системы).

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

· Переименуйте их. Например: "Клиент", "Ресторан", "Организация, выдавшая кредитную карту".

3. Перетащите варианты использования из панели элементов в соответствующие системы.

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

· Переименуйте их, используя названия, которые будут понятны этим субъектам. Не используйте названия, имеющие отношение к коду. Например: "Заказ еды", "Оплата еды", "Доставка еды".

· Начните с самых крупных транзакций, таких как Заказ еды, а затем переходите к более мелким взаимодействиям, таким как Выбор пункта меню.

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

· Можно создать вариант использования за пределами границы системы, чтобы показать, что он не поддерживается системой (возможно, в определенной версии или выпуске).

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

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

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

Создание субъектов и вариантов использования

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

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

· Сведения о том, как создавать субъекты и другие элементы.

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

· Создайте варианты использования для каждой цели, которой субъект стремится достичь в системе.

· Назовите и опишите варианты использования словами, понятными субъекту, а не терминами реализации.

· Используйте Ассоциации, чтобы связать субъектов с вариантами использования.

Другие значки субъектов

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

Задание количества элементов в ассоциации

1. Щелкните ассоциацию правой кнопкой мыши и выберите Свойства.

2. Разверните свойство Первая роль или Вторая роль.

Роль — это элемент на одном окончании ассоциации.

3. Выберите из следующего списка значение для свойства Multiplicity.

· 1 — чтобы указать, что только один экземпляр этой роли может участвовать в каждой связи.

· 1..* — чтобы указать, что в каждой связи может участвовать один или несколько экземпляров этой роли.

· 0..1 — чтобы указать, что участие не является обязательным.

· * — чтобы указать, что в связи участвует 0 или более экземпляров этой роли.

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

Использование субъекта или варианта использования на нескольких схемах

Можно показать одни и те же субъекты и варианты использования на нескольких схемах. Пример.

· На разных схемах можно описать разные варианты использования, в которых участвует один субъект.

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

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

1. Создайте субъект или вариант использования на одной схеме.

2. Создайте другую схему вариантов использования.

3. Перетащите субъект или вариант использования из Проводника по моделям на новую схему.

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

Описание вариантов использования в подробностях

Вариант использования представляет следующее.

· Цель субъекта при использовании системы, например Покупка еды.

· Один или более сценариев, т. е. последовательностей шагов, совершаемых для достижения цели, например: {Заказ еды, Оплата, Доставка}.Помимо успешных сценариев может быть несколько сценариев исключений или сбоев, например Кредитная карта отклонена.

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

В Visual Studio Ultimate можно описать вариант использования несколькими способами, которые можно использовать по отдельности или вместе.

· Свяжите вариант использования с другой схемой или схемами проекта.

· Схема активности позволяет составлять более сложное описание процесса, используя циклы, ветви и параллельные потоки. На схеме активности также можно показать поток данных между разными частями процесса.

· Схема последовательностей позволяет описывать сложные ряды взаимодействий между разными субъектами. Также эту схему можно использовать, чтобы показать, что происходит в системе в ответ на каждый вариант использования.

· Свяжите вариант использования со страницей OneNote или параграфом, подробно описывающим вариант использования.

· Свяжите вариант использования с документом Word, в котором сценарии варианта использования описываются с помощью текста, снимков экрана и других средств.

Связывание варианта использования со схемой или файлом в одном решении

1. Создайте схему, например схему последовательностей или схему действий, чтобы проиллюстрировать сценарий варианта использования.

2. Вернитесь к схеме вариантов использования.

3. Перетащите схему или файл из обозревателя решений на пустую часть схемы вариантов использования.

4. Используйте инструмент Зависимость, чтобы соединить артефакт с вариантом использования.

Создание границы подсистемы

1. На панели элементов выберите Подсистема, затем щелкните схему. Подсистема появится на схеме.

2. Перетащите углы подсистемы, чтобы изменить ее размер.

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

 

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

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

Варианты использования за пределами области системы

Часто имеет смысл включить в схему варианты использования, которые являются частью бизнеса, но не обрабатываются разрабатываемой системой. Это позволяет разработчикам лучше понять контекст, в котором они работают. Например, вариант "Доставка еды" можно показать как вариант использования, включающий субъекты "Ресторан" и "Клиент", и указать, что он не входит в область ответственности веб-сайта по заказу еды.

Несколько подсистем

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

Версии системы

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

Используйте отношение Зависимость, чтобы связать подсистемы, представляющие разные версии или варианты.

 

Добавление новой диаграммы

Новые диаграммы добавляются в модель так же, как и любой другой файл в других проектах. Просто выберите пункт меня Add new item и выберите тип элемента.

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

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

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

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

Use case диаграммы

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

UML-схему классов можно использовать в разных целях.

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

Например, тип "Заказ еды" может реализовываться в бизнес-слое в коде.NET, в интерфейсах между компонентами в XML, в базе данных в SQL и в пользовательском интерфейсе в HTML. Несмотря на то что подробности этих реализаций различаются, отношение между типом "Заказ еды" и другими типами, такими как "Меню" и "Оплата", сохраняется. UML-схема классов позволяет обсуждать эти отношения отдельно от реализаций.

· Для более точного определения набора терминов, используемых для обмена сведениями между приложением и его пользователями, а также в описаниях потребностей пользователей. В качестве примера можно привести описания функциональности пользователей (user story), варианты использования и описания других требований в приложении, обеспечивающем работу ресторана. В этом описании можно найти такие термины как "Меню", "Заказ", "Еда", "Цена", "Оплата" и т. д. Можно создать UML-схему классов, определяющую отношения между этими терминами. Это позволит снизить риск возникновения несоответствий в описаниях требований, пользовательском интерфейсе и справочной документации.

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

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

 

 

Создание UML-схемы классов

1. В меню Архитектура выберите пункт Создать схему.

2. В разделе Шаблоны щелкните UML-схема классов.

3. Назовите схему.

4. В области Добавить в проект моделирования выделите существующий проект моделирования в решении или выберите Создать новый проект моделирования и нажмите кнопку ОК.

Новая схема классов отображается на панели элементов UML-схемы классов. Панель элементов содержит требуемые элементы и отношения.

Создание UML-схемы классов

1. Чтобы создать тип, выберите инструмент Класс, Интерфейс или Перечисление на панели элементов, затем щелкните пустую область схемы.

2. Чтобы добавить атрибуты или операции в типы, а литералы — в перечисление, щелкните заголовок Атрибуты, Операции или Литералы в типе и нажмите ВВОД.

Можно создать сигнатуру, например f(x:Boolean):Integer.

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

3. Чтобы развернуть или свернуть тип, щелкните значок шеврона в верхней левой части типа. Также можно развернуть и свернуть разделы Атрибуты и Операции в классе или интерфейсе.

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

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

6. Каждая схема — это представление на модели, которое совместно используется другими схемами того же проекта. Чтобы просмотреть представление всей модели в виде дерева, щелкните Вид, выберите Другие окна и щелкните Проводник по моделям UML.

 

 

Фигура Элемент Описание
11 Класс Определение объектов, совместно обладающих данными характеристиками структуры и поведения.
22 Классификатор Общее имя для класса, интерфейса или перечисления. Компоненты, варианты использования и субъекты также являются классификаторами.
33 Элемент управления "свернуть/развернуть" Если подробностей классификатора не видно, щелкните расширитель в верхней левой части классификатора. Иногда также нужно щелкнуть [+] для каждого сегмента.
3 44 Атрибут Типизированное значение, прикрепленное к каждому экземпляру классификатора. Чтобы добавить атрибут, щелкните раздел Атрибуты и нажмите ВВОД. Введите сигнатуру атрибута.
55 Операция Метод или функция, которую можно выполнить с помощью экземпляров классификатора. Чтобы добавить операцию, щелкните раздел Операции и нажмите ВВОД..
65a Ассоциация Отношение между членами двух классификаторов.
55b Агрегат Ассоциация, представляющая отношение совместного владения. Свойству Агрегат роли-владельца присвоено значение Сделано общим.
56 Композиция Ассоциация, представляющая отношение целого и части. Свойству Агрегат роли-владельца присвоено значение Составной.
6 97 Имя ассоциации Имя ассоциации. Имя может оставаться пустым.                     
7     18 Имя роли Имя роли, т. е. одного из окончаний ассоциации. Может использоваться для ссылки на связанный объект. На предыдущей иллюстрации для любого заказа O связанным меню является O.ChosenMenu. Каждая роль имеет собственные свойства, которые перечислены в свойствах ассоциации.
8   19 Количество элементов Указывает, сколько объектов на этом окончании можно связать с объектами на другом окончании. Каждый заказ в этом примере должен быть связан только с одним меню. * означает, что ограничения числа ссылок, которые можно создать, не существует.
112 Обобщение Конкретный классификатор наследует часть своего определения от общего классификатора. Общий классификатор находится на окончании соединителя с указателем стрелки. Атрибуты, ассоциации и операции наследуются конкретным классификатором. Воспользуйтесь инструментом Наследование, чтобы создать обобщение между двумя классификаторами.

Фигура Элемент Описание
110 Интерфейс Определение части внешне видимого поведения объекта.
111 Перечисление Классификатор, состоящий из набора строковых литералов.
112 Пакет Группа классификаторов, ассоциаций, действий, линий жизни, компонентов и пакетов. Логическая схема классов показывает, что членами данного пакета являются классификаторы и пакеты. Область видимости имен ограничивается пакетами, так что Класс1 в Пакет1 отличается от Класс1 вне этого пакета. Имя пакета отображается как часть свойств Полное имя его содержимого. Свойство Связанный пакет любой UML-схемы можно настроить так, чтобы оно ссылалось на пакет. В этом случае все элементы, создаваемые на этой схеме, станут частью пакета. Они отображаются в пакете в Проводнике по моделям UML.
113 Импорт Отношение между пакетами, указывающее, что один пакет включает все определения другого.
114 Зависимость Определение или реализация зависимого классификатора может измениться, если изменяется классификатор на окончании с наконечником стрелки.

Фигура Элемент Описание
115 Реализация Класс реализует операции и атрибуты, определенные интерфейсом. Воспользуйтесь инструментом Наследование, чтобы создать реализацию между классом и интерфейсом.
116 Реализация Альтернативное представление того же отношения. Метка на символе обозначения указывает на интерфейс. Чтобы создать эту презентацию, выделите существующее отношение реализации. Рядом с ассоциацией появляется тег действия. Щелкните тег действия и выберите Показывать без описания операций.

 

Существует три стандартных вида классификаторов, которые доступны на панели элементов. В этом документе их называют типы.

· В большинстве случаев для представления данных или типов объекта можно использовать Классы (1).

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

· Используйте Перечисление (3), чтобы представить тип, имеющий ограниченное число значений литералов, например Stop и Go.

· Добавление значений литералов в перечисление Дайте каждому отдельное имя.

· При желании каждому значению литерала также можно присвоить численное значение. Щелкните литерал в перечислении правой кнопкой мыши, выберите Свойства и введите число в поле Значение в окне Свойства.

Дайте каждому типу уникальное имя.

Типы атрибутов и операций

Можно определить следующие типы атрибутов, операций и параметров.

· (нет) — можно не задавать тип в сигнатуре, опустив предшествующее двоеточие (:).

· Стандартными типами-примитивами являются следующие: Boolean, Integer и String.

· Тип, определенный в модели.

· Параметризованное значение типа шаблонов, записанное как Template<Parameter>.

Также можно записать имя типа, который еще не был определен в модели. Имя отобразится в разделе Незаданные типы в проводнике по моделям UML.

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

Несколько типов

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

Допустимы следующие значения.

Количество элементов Атрибут, параметр или возвращаемое значение содержит следующее.
[1] Одно значение заданного типа.Это значение по умолчанию.
[0..1] Null или значение заданного типа.
[*] Коллекция, в состав которой может входить неограниченное число экземпляров заданного типа.
[1..*] Коллекция хотя бы одного экземпляра заданного типа.
[n..m] Коллекция, в которую входит от n до m экземпляров заданного типа.

Если количество элементов превышает 1, можно задать следующие свойства.

· IsOrdered — если значение true, коллекция имеет определенный порядок.

· IsUnique — если значение true, в коллекции отсутствуют повторяющиеся значения.

Видимость

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

Имя Краткая форма Значение
Открытый + Возможен доступ изо всех других типов.
Закрытый - Доступ открыт только для внутреннего определения этого типа.
Пакет ~ Возможен доступ только внутри пакета, который содержит данный тип, а также в любых пакетах, явно импортирующих его.
Защищенный # Доступ открыт только данному типу и всем типам, которые его наследуют.

Задание сигнатуры атрибута или операции

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

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

Создайте сигнатуру в следующей форме.

visibility attribute-name: Type

- или -

visibility operation-name (parameter1: Type1,...): Type

Пример.

+ AddItem (item: MenuItem, quantity: Integer): Boolean

Используйте краткую форму значения свойства visibility.Значение по умолчанию — + (открытый).

Каждый тип может представлять собой типы, определенные в модели, стандартные типы (такие как Integer или String) или имя нового типа, который еще не был определен.

Примечание
Если в списке параметров создается имя без типа, оно представляет собой имя параметра, а не типа.В этом примере MenuItem и Integer являются именами двух параметров с незаданным типами. AddItem(MenuItem, Integer) /* parameter names, not types! */

Чтобы задать в сигнатуре количество элементов типа, запишите количество элементов в квадратных скобках после имени типа. Например, как показано ниже.

+ AddItems (items: MenuItem [1..*])

+ MenuContent: MenuItem [*]

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

Однако свойства Является статическим и Является абстрактным можно задать только в окне Свойства.

Полная сигнатура

При редактировании сигнатуры атрибута или операции в конце строки и после каждого параметра могут отображаться дополнительные свойства. Они отображаются заключенными в фигурные скобки {…}.Эти свойства можно редактировать и добавлять. Пример.

+ AddItems (items: MenuItem [1..*] {unique, ordered})

+ GetItems (filter: String): MenuItem [*] {ordered, query}

Список содержит следующие свойства.

<
В сигнатуре Свойство Значение
Unique Является уникальным В коллекции нет повторяющихся значений. Применимо к типам с количеством элементов больше 1.


Поделиться:


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

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