Work with UML in Java. Studybook for students.


WORK WITH UMLУниверсальный язык моделирования (UML) Studybook for students Author Dudnik Oxana Язык UML - это графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем. UML: Строительные блокиСуществует три вида строительных блоков UML: Сущности (Elements) Отношения (Relationships) Диаграммы (Diagrams) Сущности (Elements) - это абстракции; отношения объединяют эти абстракции друг с другом; а диаграммы группируют совокупность связанных сущностей посредством отношений. UML: СущностиВыделяют всего четыре типа сущностей (Elements):СтруктурныеПоведенческиеГруппирующиеАннотационные СтруктурныеЭти сущности подобны существительным в языке.1.Класс-Совокупность объектов с общими атрибутами, операциями, отношениями и семантикой. Графически класс обозначается в виде прямоугольника с тремя полями: имя класса, атрибуты (свойства) класса и операции (методы) класса. 2. ИнтерфейсСовокупность операций, которые определяют сервис класса или компонента. Графически интерфейс также обозначается в виде прямоугольника с тремя полями: имя интерфейса, его атрибуты и операции. Над именем интерфейса дополнительно указывается слово "интерфейс" ("interface"). 3.Кооперация (Collaboration)Определяет взаимодействие и представляет собой совокупность ролей и других элементов, которые работают совместно для обеспечения кооперативного поведения, большего, чем сумма всех элементов. Графически кооперация обозначается в виде пунктирного эллипса. 4.Прецедент (Use case)Описание последовательности действий, выполняемых системой для получения наблюдаемого результата, значимого для актера. Графически прецедент обозначается в виде эллипса, внутри которого указано имя прецедента. 5.Активный классКласс, представители которого являются активными объектами и вовлечены в один или несколько процессов или потоков и могут инициировать деятельность по контролю. 6.КомпонентФизическая заменяемая часть системы, которая соответствует и обеспечивает реализацию набора интерфейсов. 7.Узел (Node)Физический элемент, который существует во время выполнения программы и представляет собой вычислительный ресурс, обладающий некоторым объемом памяти и способностью обрабатывать данные. ПоведенческиеОпределяют динамическую составляющую элементов UML.1.Автомат Определяет последовательность состояний, через которые объект или взаимодействие проходят на протяжении своего жизненного цикла в ответ на различные события, а также его реакции на эти события. 2.Взаимодействие Состоит из набора сообщений, которыми обмениваются объекты в рамках конкретного контекста для достижения определенной цели. Группирующие 1.ПакетУниверсальный механизм организации элементов в группы. Аннотационные Примечание Просто символ для обозначения комментариев, закрепленных за другими элементами или совокупностями элементов. UML: Отношения Зависимость Ассоциация Агрегирование Композиция Обобщение Реализация 1.ЗависимостьЗависимость - это семантическое отношение между двумя сущностями, при котором изменение в одной сущности может оказать влияние на семантику другой сущности. Стрелка показывает направление зависимости. На диаграмме MyClass1 находится в зависимости от MyClass2. Изменения в MyClass2 оказывают влияние на MyClass1. 2.АссоциацияАссоциация - структурное отношение, описывающее совокупность связей между объектами. На каждом конце ассоциации может быть кратность, указывающая, сколько объектов должно соответствовать каждому объекту на противоположном конце ассоциации.1 Один и только один0..* или * Ноль, один, или много1..* Один или многоa..b Между a и ba,ba или bАссоциация может быть направленной или ненаправленной . Ненаправленная ассоциация означает, что не было принято решение относительно направленности или двунаправленности ассоциации. На рисунке отображена ненаправленная ассоциация. Различают два типа ассоциаций:АгрегированиеАгрегирование отражает отношение между целым и частью. Агрегирование обозначается на одном конце ассоциации, в то время как второй конец остается немаркированным. На рисунке, Myclass2 является частью Myclass1. Композиция также отражает отношение между целым и частью, но является более сильной формой агрегирования. Композиция обладает дополнительным ограничением - объект может быть частью только одного композита, а композит, в свою очередь, отвечает за время жизни всех своих составных частей - а именно, за их создание и уничтожение. На рисунке, MyClass1 не может существовать без MyClass2. 3.ОбобщениеОбобщение - это отношение типа "родитель-потомок". MyClass2 - суперкласс (родитель), а MyClass1 - подкласс (потомок). На языке программирования Java, обобщение реализуется посредством дочерних объектов с использованием зарезервированного слова extends. 4.РеализацияРеализация - это отношение между интерфейсом и реализованным классом. В языке Java реализация выполняется реализацией интерфейса с использованием зарезервированного слова implements. UML: ДиаграммыВ данной работе обсуждаются следующие UML диаграммы:Диаграмма прецедентовДиаграмма классовДиаграмма пакетовДиаграмма взаимодействийДиаграмма состоянийДиаграмма деятельностиДиаграмма компонентов Диаграмма развертывания Диаграмма прецедентов 2.Диаграмма классов 3. Диаграмма пакетов 4.Диаграмма взаимодействий 5.Диаграмма состояний 6.Диаграмма деятельности 7.Диаграмма компонентов 8.Диаграмма развертывания УСПЕХОВ!!!!!!