Моделирование программного обеспечения включает в себя этап проектирования, который предшествует непосредственному программированию приложений. Создание модели позволяет получить более точное понимание системы еще до ее разработки. Универсальный язык моделирования (UML) - как раз является одним из языков моделирования, который вы можете использовать для уточнения, визуализации и документирования моделей систем программного обеспечения, в том числе их структуры и схемы, в соответствии с требованиями. Однако необходимо помнить, что UML - это всего лишь язык моделирования, а не методология процесса. На практике, UML зачастую используется совместно с методологией процесса.
2. UMLЯзык - это графический язык моделирования
,общего назначения
, ,предназначенный для спецификации визуализации проектирования
,и документирования всех артефактов создаваемых
.при разработке программных систем
3. UML: Строительные блоки
Существует три вида строительных блоков UML:
•Сущности (Elements)
•Отношения (Relationships)
•Диаграммы (Diagrams)
4. (Elements) - ;Сущности это абстракции
отношения объединяют эти абстракции
;друг с другом
а диаграммы группируют совокупность
связанных сущностей
.посредством отношений
5. UML: Сущности
Выделяют всего четыре типа сущностей (Elements):
1. Структурные
2. Поведенческие
3. Группирующие
4. Аннотационные
6. Структурные
Эти сущности подобны существительным в языке.
1.Класс-
Совокупность объектов с общими атрибутами, операциями,
отношениями и семантикой. Графически класс обозначается в виде
прямоугольника с тремя полями: имя класса, атрибуты (свойства)
класса и операции (методы) класса.
7. 2. Интерфейс
Совокупность операций, которые определяют сервис
класса или компонента. Графически интерфейс также
обозначается в виде прямоугольника с тремя полями:
имя интерфейса, его атрибуты и операции. Над
именем интерфейса дополнительно указывается слово
"интерфейс" ("interface").
8. 3.Кооперация (Collaboration)
Определяет взаимодействие и представляет собой совокупность
ролей и других элементов, которые работают совместно для
обеспечения кооперативного поведения, большего, чем сумма всех
элементов. Графически кооперация обозначается в виде
пунктирного эллипса.
9. 4.Прецедент (Use case)
Описание последовательности действий, выполняемых системой для
получения наблюдаемого результата, значимого для актера.
Графически прецедент обозначается в виде эллипса, внутри
которого указано имя прецедента.
10. 5.Активный класс
Класс, представители которого являются активными объектами и
вовлечены в один или несколько процессов или потоков и могут
инициировать деятельность по контролю.
12. 7.Узел (Node)
Физический элемент, который существует во время выполнения
программы и представляет собой вычислительный ресурс,
обладающий некоторым объемом памяти и способностью
обрабатывать данные.
13. Поведенческие
Определяют динамическую составляющую элементов UML.
1.Автомат
Определяет последовательность состояний, через которые объект или
взаимодействие проходят на протяжении своего жизненного цикла в ответ
на различные события, а также его реакции на эти события.
2.Взаимодействие
Состоит из набора сообщений, которыми обмениваются объекты в рамках
конкретного контекста для достижения определенной цели.
17. 1.Зависимость
Зависимость - это семантическое отношение между двумя
сущностями, при котором изменение в одной сущности может
оказать влияние на семантику другой сущности. Стрелка
показывает направление зависимости. На диаграмме MyClass1
находится в зависимости от MyClass2. Изменения в MyClass2
оказывают влияние на MyClass1.
18. 2.Ассоциация
Ассоциация - структурное отношение, описывающее совокупность
связей между объектами. На каждом конце ассоциации может быть
кратность, указывающая, сколько объектов должно соответствовать
каждому объекту на противоположном конце ассоциации.
1 Один и только один
0..* или * Ноль, один, или много
1..* Один или много
a..b Между a и ba,ba или b
Ассоциация может быть направленной или ненаправленной .
Ненаправленная ассоциация означает, что не было принято
решение относительно направленности или двунаправленности
ассоциации. На рисунке отображена ненаправленная ассоциация.
19.
20. Различают два типа ассоциаций:
Агрегирование
Агрегирование отражает отношение между целым и частью.
Агрегирование обозначается на одном конце ассоциации, в то время как
второй конец остается немаркированным. На рисунке, Myclass2 является
частью Myclass1.
21. Композиция
также отражает отношение между целым и частью, но является
более сильной формой агрегирования. Композиция обладает
дополнительным ограничением - объект может быть частью только
одного композита, а композит, в свою очередь, отвечает за время
жизни всех своих составных частей - а именно, за их создание и
уничтожение. На рисунке, MyClass1 не может существовать без
MyClass2.
22. 3.Обобщение
Обобщение - это отношение типа "родитель-потомок". MyClass2 -
суперкласс (родитель), а MyClass1 - подкласс (потомок). На языке
программирования Java, обобщение реализуется посредством
дочерних объектов с использованием зарезервированного слова
extends.
23. 4.Реализация
Реализация - это отношение между интерфейсом и реализованным
классом. В языке Java реализация выполняется реализацией интерфейса с
использованием зарезервированного слова implements.
24. UML: Диаграммы
В данной работе обсуждаются следующие UML диаграммы:
1. Диаграмма прецедентов
2. Диаграмма классов
3. Диаграмма пакетов
4. Диаграмма взаимодействий
5. Диаграмма состояний
6. Диаграмма деятельности
7. Диаграмма компонентов
8. Диаграмма развертывания