Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 2. Анализ и моделирование на UML.docx
Скачиваний:
18
Добавлен:
21.09.2019
Размер:
547.87 Кб
Скачать

1. Назначение uml.

UML (англ. Unified Modeling Language — унифицированный язык моделирования) — графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем.

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

2. Визуализация . Как адекватное средство коммуникации.

3. Проектирование. Генерация кода по модели и обратный процесс.

4. Документация.

Язык предназначен для решения ряда задач.

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

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

3. Описание языка поддерживает такую спецификацию моделей, которая не зависит от конкретных языков программирования и инструментальных средств проектирования программных средств. Контекстно-программная независимость. Но имеется потенциальная возможность реализации конструкций языка на яз. программирования.

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

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

6. Интегрировать в себя лучшие и новейшие практики и достижения ООАП. Гибкость и постоянное развитие языка.

Особенности языка:

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

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

2. Модель и ее элементы - сущности.

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

Сущности Структурные сущности являются существительными языка. К ним относятся:

С труктурные сущности UML • классы (Class) — это набор объектов, разделяющих одни и те же атрибуты, операции, отношения и семантику. Класс реализует один или несколько интерфейсов и изображается виде прямоугольника, включающего имя класса, имена атрибутов, операций, примечание; • интерфейсы (Interface) — это набор операций, которые определяют сервис класса или компоненты. Интерфейс графически изображается в виде круга и, как правило, присоединяется к классу или к компоненту, который реализует данный интерфейс; • кооперации (Collaboration) — определяют взаимодействие и служат для объединения ролей и других элементов, которые взаимодействуют вместе так, что получающееся в результате поведение объекта оказывается большим, чем просто сумма всех элементов. Изображается в виде эллипса с пунктирной границей; • прецеденты (Use case) — описание набора последовательностей действий, которые выполняются системой и имеют значение для конкретного действующего лица (Actor). Прецеденты изображаются в виде эллипса и используются для структурирования поведенческих сущностей в модели; • активные классы (Active class) — это классы, чьими экземплярами являются активные объекты, которые владеют процессом или потоком управления и могут инициировать управляющее воздействие. Стереотипами конкретного класса являются процесс (Process) и поток (Thread). Графически такой класс изображается как класс с жирной границей; • компоненты (Component) — это физически заменяемые части системы, обеспечивающие реализацию ряда интерфейсов. Компонент — это физическое представление таких логических элементов, как классы, интерфейсы и кооперации. Предметная область компонентов относится к реализации. Изображаются компоненты в виде прямоугольника с ярлыками слева и, как правило, имеют только имя и примечание; • узлы (Node) — физические объекты, которые существуют во время исполнения программы и представляют собой коммуникационный ресурс, обладающий, по крайней мере, памятью, а зачастую и процессором. На узлах могут находиться выполняемые объекты и компоненты. Изображаются узлы в виде куба, имеют имя и примечание. Данные перечисленных семи типов объектов являются базовыми структурными объектами UML. Существуют также вариации данных объектов, такие как действующие лица (Actor), сигналы (Signal), утилиты (Utility — вид класса), процессы и нити (Process и Thread — виды активного класса), приложения (Application), документы (document), файлы (File), библиотеки (Library), страницы (Page), таблицы (Table). Поведенческие сущности — это динамические части моделей UML. К ним относятся:

Поведенческие сущности UML • взаимодействия (Interaction) — включают набор сообщений, которыми обмениваются указанные объекты с целью достижения указанной цели. Взаимодействие описывается в контексте кооперации и изображается направленной линией, маркируется именем операции сверху; • автоматы (State machine) — спецификации поведения, представляющие собой последовательности состояний, через которые проходит в течение своей жизни объект, или взаимодействие в ответ на происходящие события (а также ответные действия объекта на эти события). Автомат прикреплен к исходному элементу (классу, кооперации или методу) и служит для определения поведения его экземпляров. Изображается автомат как прямоугольник с закругленными углами. Группирующие сущности — это организационные составляющие моделей UML. К ним относятся пакеты (Package) —обобщенный механизм для организации элементов в группы. Структурные, поведенческие, группирующие сущности могут быть помещены в пакет. Пакеты являются чисто концептуальными сущностями — в отличие от компонентов, существующих во время исполнения программы. Изображается пакет как папка с ярлыком сверху и, как правило, имеет только имя. Аннотационные сущности — это пояснительные составляющие моделей UML, к которым относятся примечания (Note) — пояснительные элементы языка (рис. 3). Они содержат текст комментария, изображаются в виде прямоугольника с загнутым уголком страницы.