3.1. Особенности изображения диаграмм языка uml
Большинство диаграмм являются в своей основе графами специального вида, состоящими из вершин в форме геометрических фигур, которые связаны между собой ребрами или дугами. Поскольку информация, которую содержит в себе граф, имеет в основном топологический характер, ни геометрические размеры, ни расположение элементов диаграмм (за некоторыми исключениями, такими как диаграмма последовательностей с метрической осью времени) не имеют принципиального значения.
Для диаграмм языка UML существуют четыре типа визуальных обозначений, которые важны с точки зрения заключенной в них информации:
- геометрические фигуры, называемые также символами, обозначают процессы или сущности, соответствуют понятию узла или вершины в теории графов; форма этих фигур (прямоугольник, эллипс) соответствует некоторым элементам языка UML (класс, вариант использования) и имеет фиксированную семантику. Геометрические фигуры могут иметь различную высоту и ширину с целью размещения внутри этих фигур других конструкций языка UML.
связи, которые представляются различными линиями на плоскости. Связи в языке UML обобщают понятие дуг или ребер из теории графов, но имеют менее формальный характер.
текст, который содержится внутри границ отдельных геометрических фигур на плоскости. Информация, содержащаяся внутри фигур, имеет значение для конкретной модели проектируемой системы, поскольку регламентирует реализацию соответствующих элементов в программном коде.
графические символы, изображаемые вблизи от тех или иных визуальных элементов диаграмм.
При графическом изображении диаграмм следует придерживаться следующих основных рекомендаций:
каждая диаграмма должна служить законченным представлением соответствующего фрагмента моделируемой предметной области. Речь идет о том, что в процессе разработки диаграммы необходимо учесть все сущности, важные с точки зрения контекста данной модели и диаграммы. Отсутствие тех или иных элементов на диаграмме служит признаком неполноты модели и может потребовать ее последующей доработки.
все сущности на диаграмме модели должны быть одного концептуального уровня. Здесь имеется в виду согласованность не только имен одинаковых элементов, но и возможность вложения отдельных диаграмм друг в друга для достижения полноты представлений. В случае достаточно сложных моделей систем желательно придерживаться стратегии последовательного уточнения или детализации отдельных диаграмм.
вся информация о сущностях должна быть явно представлена на диаграммах. Речь идет о том, что, хотя в языке UML при отсутствии некоторых символов на диаграмме могут быть использованы их значения по умолчанию (например, в случае неявного указания видимости атрибутов и операций классов), необходимо стремиться к явному указанию свойств всех элементов диаграмм.
диаграммы не должны содержать противоречивой информации. Противоречивость модели может служить причиной серьезнейших проблем при ее реализации и последующем использовании на практике. Например, наличие замкнутых путей при изображении отношений агрегирования или композиции приводит к ошибкам в программном коде, который будет реализовывать соответствующие классы. Наличие элементов с одинаковыми именами и различными атрибутами свойств в одном пространстве имен также приводит к неоднозначной интерпретации и может служить источником проблем. Наличие в инструментальных CASE-средствах встроенной поддержки визуализации различных диаграмм языка UML позволяет в некоторой степени исключить ошибочное использование тех или иных графических символов, а также контролировать уникальность имен элементов диаграмм. Однако, поскольку вся ответственность за окончательный контроль непротиворечивости модели лежит на разработчике, необходимо помнить, что неформальный характер языка UML может служить источником потенциальных ошибок, которые в полном объеме вряд ли будут выявлены инструментальными средствами. Именно это обстоятельство требует от всех разработчиков глубокого знания нотации и семантики всех элементов языка UML.
диаграммы не следует перегружать текстовой информацией. Принято считать, что визуализация модели является наиболее эффективной, если она содержит минимум пояснительного текста. Как правило, наличие больших фрагментов развернутого текста служит признаком недостаточной проработанности модели или ее неоднородности, когда в рамках одной модели представляется различная по характеру информация. Поскольку общая декомпозиция модели на отдельные типы диаграмм способна удовлетворить самые детальные представления разработчиков о системе, важно уметь правильно отображать те или иные сущности и аспекты моделирования в соответствующие элементы канонических диаграмм.
каждая диаграмма должна быть самодостаточной для правильной интерпретации всех ее элементов и понимания семантики всех используемых графических символов. Любые пояснительные тексты, которые не являются собственными элементами диаграммы (например, комментариями), не должны приниматься во внимание разработчиками. В то же время отдельные достаточно общие фрагменты диаграмм могут уточняться или детализироваться на других диаграммах этого же типа, образуя вложенные или подчиненные диаграммы. Таким образом, модель системы на языке UML представляет собой пакет иерархически вложенных диаграмм, детализация которых должна быть достаточной для последующей генерации программного кода, реализующего проект соответствующей системы.
количество типов диаграмм для конкретной модели приложения не является строго фиксированным. Речь идет о том, что для простых приложений нет необходимости строить все без исключения типы диаграмм. Некоторые из них могут просто отсутствовать в проекте системы, и этот факт не будет считаться ошибкой разработчика. Например, модель системы может не содержать диаграмму развертывания для приложения, выполняемого локально на компьютере пользователя. Важно понимать, что перечень диаграмм зависит от специфики конкретного проекта системы.
Процесс построения отдельных типов диаграмм имеет свои особенности, которые тесно связаны с семантикой элементов этих диаграмм. Сам процесс объектно-ориентированного анализа и проектирования в контексте языка UML получил специальное название - рациональный унифицированный процесс (Rational Unified Process, RUP). 1
Суть концепции RUP заключается в последовательной декомпозиции или разбиении процесса объектно-ориентированного анализа и проектирования программ на отдельные этапы, на каждом из которых осуществляется разработка соответствующих типов канонических диаграмм модели системы. При этом на начальных этапах RUP строятся логические представления статической модели структуры системы, затем - логические представления модели поведения, и лишь после этого - физические представления модели системы. Как нетрудно заметить, в результате RUP должны быть построены канонические диаграммы на языке UML.
Рассмотрим принципы построения важнейших диаграмм: диаграммы классов, диаграммы деятельности и диаграммы последовательности.
- 3. Моделирование и Документирование сложных систем
- 3.1. Особенности изображения диаграмм языка uml
- Контрольные вопросы
- 3.2. Диаграмма классов
- Контрольные вопросы
- 3.3. Диаграмма деятельности
- Контрольные вопросы
- 3.4. Диаграмма последовательности (sequence diagram)
- Контрольные вопросы Задачи
- 1. Программное обеспечение микропроцессора турникета метро
- 2. Система учета товаров
- 3. Система автоматизации для библиотеки
- 4. Программное обеспечение микропроцессора информационного табло аэропорта
- 5. Программное обеспечение микропроцессора будильника
- 6. Программное обеспечение микропроцессора игрального автомата
- 7. Программное обеспечение микропроцессора кодового замка
- 8. Виртуальная биржа труда
- Глоссарий