Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема-05-02испр.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
797.95 Кб
Скачать

5.2.4. Средства uml для моделирования классов и их отношений

5.2.4.1. Введение в uml

Ссылка на Тему 3.3.

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

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

В статической структуре задаются типы объектов, значимые для системы и ее реализации, а также отношения между этими объектами. Динамическое поведение определяет историю объек­тов и их взаимодействие для достижения конечной цели. Наиболее полного и разностороннего по­нимания системы можно достичь при моделировании с различных, но взаимосвязанных точек зре­ния.

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

В ноябре 1997 года OMG (Object Management Group) объявила UML стандартным языком объектно-ориентированного моделирования и приняла на себя обязанности по его дальнейшему развитию. Многие поставщики программного инструментария объявили, что они будут реализовывать или уже реализовали нотацию UML в своих средствах для проектирования программного обеспечения.

Стандарт UML позволил разработчикам программного обеспечения перейти к единой мето­дологии проектирования и устранить неудобства использования разных, не схожих между собой методов и инструментальных средств.

5.2.4.2. Статическое представление системы в диаграммах классов

В первую очередь любая точная модель должна определить полное множество объектов, то есть ключевые структуры программы, их внутренние свойства и отношения между собой. Эта структура и есть статическое представление системы. Концепции программы моделируются как классы, каждый из которых описывает тип дискретных объектов, содержащих определенную ин­формацию и взаимодействующих между собой для реализации некоторого поведения. Информа­ция, которую содержат объекты, моделируется как атрибуты, поведение – как операции.

Используя механизм обобщения, несколько классов могут иметь одну общую структуру. Класс-потомок изначально содержит в себе структуру и поведение, унаследованные от общего класса предка. В процессе выполнения программы одни объекты имеют связи с другими. Такие взаимоотношения между объектами моделируются как межклассовые ассоциации.

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

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

Статическое представление рассматривает объекты (сущности) как некие понятия, у которых есть имя, класс, к которому они принадлежат, и методы обращения с ними, но при этом не переда­ет информацию о динамическом поведении этих сущностей. Статическое представление является центром, вокруг которого строятся все остальные представления модели.

Основные элементы статического представления – классификаторы и их отношения. Клас­сификатором называется элемент модели, который что-либо описывает. Существует несколько видов основных классификаторов: классы, интерфейсы и типы данных. Поведение описывается другими классификаторами: варианты использования и сигналы. Еще несколько классификаторов – подсистемы, компоненты и узлы – описывают аспекты реализации системы.

Объект – это отдельный блок, с помощью которого разработчик понимает и конструирует систему. Объект является экземпляром класса, который описывает его структуру и поведение. При этом класс обладает определенной индивидуальностью. Поведение объекта определяется набором операций.

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