Проектирование архитектуры ИСО 1 UML 2 3 Структура определения языка 4 четыре вида элементов нотации фигуры, линии, значки, надписи. 5 Система - совокупность взаимосвязанных управляемых подсистем, объединенных общей целью функционирования. Подсистема - это система, функционирование которой не зависит от сервисов других подсистем. Программная система структурируется в виде совокупности относительно независимых подсистем. Также определяются взаимодействия между подсистемами. Модель - это некий (материальный или нет) объект, отображающий лишь наиболее значимые для данной задачи характеристики системы. 6 Виды диаграмм три группы: четыре типа диаграмм представляют статическую структуру приложения; пять представляют поведенческие аспекты системы; три представляют физические аспекты функционирования системы (диаграммы реализации) 7 Основные виды диаграмм диаграмма прецедентов; диаграмма классов; диаграмма объектов; диаграмма последовательностей; диаграмма взаимодействия; диаграмма состояний; диаграмма активности; диаграмма развертывания. 8 Диаграмма прецедентов (use case diagram) Эктор (actor) - это множество логически связанных ролей, исполняемых при взаимодействии с прецедентами или сущностями (система, подсистема или класс). Эктором может быть человек или другая система, подсистема или класс, которые представляют нечто вне сущности 9 Прецедент (use-case) - описание отдельного аспекта поведения системы с точки зрения пользователя 10 11 12 цели создания диаграмм прецедентов определение границы и контекста моделируемой предметной области на ранних этапах проектирования; формирование общих требований к поведению проектируемой системы; разработка концептуальной модели системы для ее последующей детализации; подготовка документации для взаимодействия с заказчиками и пользователями системы. 13 Диаграмма классов (class diagram) Класс (class) - категория вещей, которые имеют общие атрибуты и операции. 14 15 16 17 Диаграмма объектов (object diagram) Объект (object) конкретная материализация абстракции; сущность с хорошо определенными границами, в которой инкапсулированы состояние и поведение; экземпляр класса (вернее, классификатора - эктор, класс или интерфейс). Объект уникально идентифицируется значениями атрибутов, определяющими его состояние в данный момент времени. 18 19 20 21 22 Диаграмма последовательностей (sequence diagram) 23 Диаграмма взаимодействия (кооперации, collaboration diagram) 24 25 Диаграмма состояний (statechart diagram) Состояние (state) - ситуация в жизненном цикле объекта, во время которой он удовлетворяет некоторому условию, выполняет определенную деятельность или ожидает какого-то события. Состояние объекта определяется значениями некоторых его атрибутов и присутствием или отсутствием связей с другими объектами. 26 27 28 29 Диаграмма активности (деятельности, activity diagram) Алгоритм - последовательность определенных действий или элементарных операций, выполнение которых приводит к получению желаемого результата. 30 31 32 Диаграмма развертывания (deployment diagram) 33 34 ООП и последовательность построения диаграмм диаграмма прецедентов, диаграмма классов, диаграмма объектов, диаграмма последовательностей, диаграмма кооперации, диаграмма состояний, диаграмма активности, диаграмма развертывания. 35 Класс на диаграмме UML 36 Символ + Значение public - открытый доступ - private - только из операций того же класса protected - только из операций этого же класса и классов, создаваемых на его основ # 37 38 Интерфейсы 39 Изображения интерфейсов, требующихся объекту для выполнения его работы 40 Наследование 41 Найдите атрибуты, операции и обязанности, общие для двух или более классов из данной совокупности. Это позволит избежать ненужного дублирования структуры и функциональности объектов. Вынесите эти элементы в некоторый общий суперкласс, а если такого не существует, то создайте новый класс. Отметьте в модели, что подклассы наследуются от суперкласса, установив между ними отношение обобщения. 42 43 Зависимость 44 Ассоциация 45 46 47 Связь типа "часть-целое" ассоциация с агрегированием Один класс имеет более высокий статус (целое) и состоит из низших по статусу классов (частей) 48 49 50 Rational Rose & Rational Software Architect 51 52 53 54 55 56 57 58 59 60 61 62 63 Построение сценария диаграммы вариантов использования 64