Диаграммы компонентов применяются для моделирования статического вида системы с точки зрения реализации. Сюда относится моделирование физических сущностей, развернутых в узле, например исполняемых программ, библиотек, таблиц, файлов и документов. По существу, диаграммы компонентов – это не что иное, как диаграммы классов, сфокусированные на системных компонентах.
Диаграммы компонентов важны не только для визуализации, специфицирования и документирования системы, основанной на компонентах, но и для создания исполняемых систем путем прямого и обратного проектирования.
Для визуализации статического аспекта физических компонентов и их отношений, а кроме того, для специфицирования деталей конструкции в UML используются диаграммы компонентов
Диаграмма компонентов (Component diagram) показывает набор компонентов и отношения между ними. Графически диаграмма компонентов представляется в виде графа с ребрами и вершинами.
Диаграмма компонентов обладает общими свойствами, присущими всем диаграммам – именем и графическим содержанием, которое отражает одну из проекций модели. Отличается она от других диаграмм своим специфичным содержанием.
Диаграммы компонентов обычно включают в себя:
- компоненты;
- интерфейсы;
- отношения зависимости, обобщения, ассоциации и реализации.
Диаграмма компонентов для системы управления заказами и сервисного обслуживания ООО «Формула торговли» представлена на рисунке 10.
Рисунок 10 – Диаграмма компонентов для ООО «Формула торговли»
Узел (Node) – это физический элемент, который существует во время выполнения и представляет вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а зачастую также и процессором. Графически узел изображается в виде куба. Множество объектов или компонентов, приписанных к узлу как группа, называется элементом распределения (Distribution unit).
Диаграммы развертывания, или применения, – это один из двух видов диаграмм, используемых при моделировании физических аспектов объектно-ориентированной системы. Такая диаграмма показывает конфигурацию узлов, где производится обработка информации, и то, какие компоненты размещены на каждом узле.
Диаграммы развертывания используются для моделирования статического вида системы с точки зрения развертывания. В основном под этим понимается моделирование топологии аппаратных средств, на которых выполняется система. По существу, диаграммы развертывания – это просто диаграммы классов, сосредоточенные на системных узлах. Диаграммы развертывания важны не только для визуализации, специфицирования и документирования встроенных, клиент-серверных и распределенных систем, но и для управления исполняемыми системами с использованием прямого и обратного проектирования.
В UML диаграммы развертывания используются для визуализации статических аспектов физических узлов и их взаимосвязей, а также для описания их деталей, которые имеют отношение к конструированию системы.
На диаграмме развертывания, или применения (Deployment diagram), показана конфигурация обрабатывающих узлов, на которых выполняется система, и компонентов, размещенных в этих узлах. Диаграмма развертывания представлена в виде графа с ребрами и вершинами.
Диаграммы развертывания обычно включают в себя:
- узлы;
- отношения зависимости и ассоциации.
Диаграмма развертывания для системы управления заказами и сервисного обслуживания ООО «Формула торговли» представлена на рисунке 11 [2, 3].
Рисунок 11 – Диаграмма развертывания для ООО «Формула торговли»
3. Концептуальное конструирование матрицы ответственностей
Концептуальное конструирование системы преследует цель формирования минимальной совокупности диаграмм необходимых и достаточных для определения базового инварианта архитектуры, позволяющего исследовать систему на предмет реализуемости в рамках статической структуры, целедостижимости в процессе наблюдаемого поведения и управляемых переходов в пространстве состояний системы. Исходными для интеграции являются полученные на первых двух этапах диаграммы, каждая из которых отражает функциональную, статическую или поведенческую абстракцию системы. Однако принципиальным отличием данного этапа анализа является интегративный характер итеративного процесса, что собственно и позволяет классифицировать его как конструирование. Каждая из заключительных диаграмм представляет собой результат интеграции исходных диаграмм и является соответствующим (функциональным, статическим или поведенческим) инвариантом, образованным соединением целевой и системной (реализационной) диаграмм. При этом, цель выступает как сущность, определяющая направленность процессов самоорганизации (интеграции) на формирование и поддержание внешне- и внутрисистемных инвариантов (соответственно, функционального, статического или поведенческого). Эффективность функционирования механизма концептуального конструирования связана с методологией организации процедур интеграции диаграмм и итераций в процессе проведения анализа.
Объектно-ориентированная методология представляет UML-диаграммы, как инструмент исследования и результат анализа, а моделирование, как процесс исследования реальной системы путем итерационного изменения диаграмм, интерпретирующих ее существенные стороны. Однако процедуры, собственно, итеративных переходов или интеграции диаграмм в нотации UML не описаны, поскольку они в значительной степени связаны с особенностями предметной области.
Задача интеграции диаграмм является частным случаем исследования фундаментальной философской категории развития, как взаимосвязи и взаимодействия "вещи, свойства и отношения". Механизм взаимодействия в рамках указанной категории может быть представлен в виде формирования и поддержания внутрисистемного инварианта, например, нового свойства. Таким образом, в общем виде задача концептуального конструирования может быть сведена к анализу взаимосвязи исходных диаграмм и установления линии пересечения их плоскостей, как линии обретения нового качества.
Совокупность целевых классов определяется исходя из дерева целей и целевых функций, а диаграмма целевых классов представляет собой взаимно однозначное соответствие дереву целей, то есть оно всюду на множествах элементов и соотношений дерева целей и диаграммы классов определено, сюръективно, функционально и прообразом любого элемента из области значений диаграммы классов является единственный элемент из области определения дерева целей.
На рисунке 12 показана диаграмма целевых классов для ООО «Формула торговли». Основной целью на пути повышения прибыли является увеличение скорости и качества обслуживания клиентов, что позволит закрепить численность клиентской базы, и снижение стоимости сервисного обслуживания, что также привлечёт новых клиентов. На основании этого можно выделить целевые классы и построить диаграмму целевых классов [2, 5].
Рисунок 12 – Диаграмма целевых классов для ООО «Формула торговли»
3.2 Разработка диаграммы классов исполняющей системы и диаграммы ответственностей
Разработав диаграмму целевых классов, можно приступить к созданию диаграммы ответственностей. Она показывает, какие подцели должны решиться, чтобы достичь главной цели. Также видно, при помощи каких классов эти цели достигаются.
На диаграмме ответственностей, изображенной на рисунке 13, начальник отдела организует и распределяет введение премий и поощрений, организует проведение семинаров и тренингов для повышения квалификации сотрудников. Сотрудники, в свою очередь, в этих семинарах и тренингах участвуют. Также начальник отдела обеспечивает правильное распределение рабочего времени и обязанностей инженеров по регламенту. Чтобы не платить слишком высокую цену за сервисное обслуживание кассовых аппаратов, клиенты привозят их на фирму сами.
Рисунок 13 – Диаграмма ответственностей для ООО «Формула торговли»
На основе диаграммы ответственностей строится матрица ответственностей (таблица 4).
Таблица 4 – Матрица ответственностей для ООО «Формула торговли»
Введение премий и поощрений | Проведение и участие в семинарах и тренингах | Распределение обязанностей инженеров по регламентному обслуживанию | Распределение рабочего времени инженеров по регламентному обслуживанию | В ремонт ККТ привозят сами клиенты | |
Сотрудники фирмы | - | Участвуют | - | - | - |
Начальник отдела | Организует | Организует | Обеспечивает | Обеспечивает | - |
Клиент | - | - | - | - | Выполняет |
Заключение
Литература
1. Информационные технологии [Электронный ресурс] Режим доступа: http://www.citforum.ru, свободный.
2. Jacobson, I., Booch, G. and Rumbaugh. J. The Unified Software Development Process. Reading, Mass.: Addison-Wesley, 1999.
3. Язык UML. Руководство пользователя [Электронный ресурс] Режим доступа: http://sitemonitor.ru/doc/UML_HTM/, свободный.
4. Б. Мейер Основы объектно-ориентированного проектирования [Электронный ресурс] Режим доступа: http://www.intuit.ru/department/se/ooad/9/5.html, свободный.
5. Википедия [электронный ресурс]: свободная энциклопедия – http://ru.wikipedia.org/wiki/.