Моделирование БП

Представление об UML

Что такое UML?

UML (Unified Modeling Language) — унифицированный язык моделирования. UML можно охарактеризовать как формальный искусственный язык. Признаком искусственности служит наличие трех общепризнанных авторов(Грэди Буч, Джеймс Рамбо, Айвар Якобсон).Описание UML по большей части формальное, но содержит и явно неформальные составляющие.

UML — это язык моделирования. Моделирование — исследование объектов познания на их моделях; построение и изучение моделей реально существующих объектов, процессов или явлений с целью получения объяснений этих явлений, а также для предсказания явлений, интересующих исследователей. Модель — основной артефакт фазы проектирования. Деятельность — моделирование , составление и использование моделей. Должность — (системный) архитектор.

Описывая историю создания UML, его авторов характеризуют эпоху до UML как период «войны методов» UML как раз и стал таким единым универсальным стандартом для объектно- ориентированного моделирования, которое во времена его создания получило массовое распространение. Объединились усилия авторов трех наиболее популярных методов моделирования именно с целью унификации своих (и не только своих) разработок. В результате унификации получилась теоретически изящная и практически полезная вещь — UML.

UML ‒ это графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем.

Спецификация = описание (программы)
Спецификация ‒ это декларативное описание того, как нечто устроено или работает.Необходимо принимать во внимание три толкования спецификаций. Но эти три трактовки спецификаций могут не совпадать

То, которое имеет в виду действующее лицо, являющееся источником спецификации (например, заказчик).
То, которое имеет в виду действующее лицо, являющееся потребителем спецификации (например, разработчик).
То, которое объективно обусловлено природой специфицируемого объекта.

Визуализация. Модели UML допускают представление в форме картинок, причем эти картинки наглядны, интуитивно понятны, практически однозначно интерпретируются и легко составляются. Таким образом, второе по важности назначение UML состоит в том, чтобы служить адекватным средством коммуникации между людьми.

Проектирование.
Автоматический синтез программ

  • Алгоритмически неразрешимая массовая проблема
  • Известны разрешимые подклассы
    Автоматическая (частичная) генерация программного кода по модели
  • Генеративное и дегенеративное программирование
    Автоматическое построение моделей по коду готового приложения
  • Инженерный анализ программ (Reverse engineering)

  • Документирование.

  • Все элементы модели могут содержать текстовое описание
  • Почти все инструменты могут собирать из них осмысленные документы
  • Почти никто из разработчиков этим не пользуется
  • Способы использования UML:

    Рисование картинок, обмен информацией, спецификация систем, повторное использование архитектурных решений, генерация кода, имитационное моделирование , верификация моделей.

    Определение UML

    От искусственного языка требуется, чтобы он был:

  • точным
  • понятным
  • кратким
  • полным
  • В основу описания UML положен метод раскрутки, то есть использование определяемого языка для определения этого языка. А именно, основные конструкции UML формально определены с помощью UML.
    Семантика: диаграммы классов/пакетов + ограничения (OCL = Object Constraints Language) + текст (plain english).
    Нотация: отображение семантики в картинке.

    В описании UML используются три языковых уровня.

  • Мета-метамодель — описание используемого формализма
  • Контекстно-свободная грамматика
    Метамодель — описание языка
  • Infrastructure + Superstructure
    Модель — использование языка
  • Терминология

    UML — независимый от конкретных языков программирования новые термины для исключения совпадений
    UML — унифицированный разные терминологические традиции
    По-русски устоявшейся терминологии нет
    Основной критерий: как можно точнее передать смысл
    Терминология UML довольно замысловатая и не всегда последовательная

    При разработке UML были предложены и приняты разумные рекомендации по выбору нотации. Авторы исходили из того, что UML будет использоваться по-разному: начиная от не очень аккуратного рисования от руки на листке бумаги, печати черно-белых изображений в книгах и заканчивая созданием сложных диаграмм с помощью компьютера. Поэтому в качестве основных графических элементов были выбраны такие, которые было бы легко использовать во всех случаях.

    Фигуры в UML используются двумерные (т.е. их можно нарисовать на плоскости) и замкнутые (т.е. есть внутренняя и внешняя части). Фигуры могут менять свои размеры и форму, сохраняя при этом свои интуитивные отличительные признаки. Внутри фигур могут помещаться другие элементы нотации: тексты, линии, значки и даже другие фигуры. Единственное требование: должно быть однозначно понятно, что элемент нотации находится внутри фигуры, в частности, его изображение не должно пересекать границу фигуры.

    Линии в UML, естественно, одномерные. Линии всегда присоединяются своими концами к фигурам или значкам, они не могут быть нарисованы сами по себе. Форма линий произвольна: это могут быть прямые, ломаные, плавные кривые ‒ значения это не имеет. Толщина линий также произвольна. А вот стиль линии имеет значение. В UML используется два стиля линий: сплошные и пунктирные линии. Единственное требование: должно быть ясно, что дополнительный элемент относится именно к данной линии. Линии могут пересекаться, и это ничего не значит, но рекомендуется избегать таких случаев, поскольку это затрудняет восприятие.

    Значки в UML похожи на фигуры тем, что они двумерные, а отличаются тем, что не имеют внутренности, в которую можно что-то поместить, и, как правило, не меняют свою форму и размеры. Впрочем, значки в UML используются очень умеренно, а потому сохраняют свою основную функцию однозначно воспринимаемого иероглифа.

    Тексты в UML ‒ это последовательности различимых символов некоторого алфавита. Алфавит не фиксирован ‒ он только должен быть понятен читателю модели. В UML различаются прямые, курсивные и подчеркнутые тексты.

    Модель и её элементы

    Модель UML — это совокупность конечного множества конструкция языка, главные из которых — сущности и отношения.
    Сущности и отношения модели являются экземплярами метаклассов метамодели.

    Модель UML — это нагруженный мульти-псевдо-гипер-орграф.
    Вершины и ребра нагружены информацией и могут иметь сложную внутреннюю структуру. Вершины — сущности, ребра — отношения.

    Сущности

    Нотация сущностей

    В UML используются четыре основных типа отношений:

  • зависимость
  • ассоциация
  • обобщение
  • реализация
  • Зависимость ‒ это наиболее общий тип отношения между двумя сущностями. Отношение зависимости указывает на то, что изменение независимой сущности каким-то образом влияет на зависимую сущность. Графически отношение зависимости изображается в виде пунктирной линии со стрелкой 1, направленной от зависимой сущности 2 к независимой 3.

    Ассоциация ‒ это наиболее часто используемый тип отношения между сущностями. Отношение ассоциации имеет место, если одна сущность непосредственно связана с другой (или с другими ‒ ассоциация может быть не только бинарной). Графически ассоциация изображается в виде сплошной линии 1 с различными дополнениями, соединяющей связанные сущности.

    Обобщение‒ это отношение между двумя сущностями, одна их которых является частным случаем другой. Графически обобщение изображается в виде линии с треугольной незакрашенной стрелкой на конце 1, направленной от частного 2 подкласса к общему 3 суперклассу.

    Отношение реализациии используется несколько реже, чем предыдущие три типа отношений, поскольку часто подразумеваются по умолчанию. Отношение реализации указывает, что одна сущность является реализацией другой. Графически реализация изображается в виде пунктирной линии с треугольной незакрашенной стрелкой на конце 1, направленной от реализующей сущности 2 к реализуемой 3.

    Один комментарий

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *