Добавлен: 31.03.2023
Просмотров: 159
Скачиваний: 2
Введение
UML - эта аббревиатура расшифровывается как унифицированный язык моделирования. Он широко используется для моделирования бизнес процессов, отображения организационных структур, графического описания для объектного моделирования в области разработки программного обеспечения. UML, в отличие от других языков моделирования, таких как семейство IDEF и DFD, нашел свою нишу в разработке программного обеспечения. Он часто используется программистами для моделирования предметной области. Но также его можно использовать и для моделирования процессов никак не связанных с программированием.
В данной курсовой работе мы будем моделировать предметную область – Управление домашними финансами.
Задачей данной курсовой работы является разработка модели, описывающей процесс управления домашними финансами. Также мы научимся использовать язык UML и применим его в несколько нестандартной области.
Цель работы – научиться использовать унифицированный язык моделирования для решения разных, актуальных задач, понять достоинства и недостатки языка, а также область его применения.
Унифицированный язык моделирования, на сегодняшний день, широко распространен. Он используется в разных областях, но в основном, конечно, в разработке программного обеспечения. Поэтому научиться использовать по назначению этот язык очень актуально. Актуальность данной темы обусловлена актуальностью унифицированного языка моделирования.
1. Определение языка моделирования UML
Начнем нашу работу с определения объекта нашего изучения. UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур. Из этого определения можно сделать вывод, что основной сферой применения данного языка является разработка программного обеспечения. Также он используется в моделировании бизнес-процессов. Но в этой сфере ему создают серьезную конкуренцию IDEF0 и DFD. Люди, которые по долгу службы используют его – это в основном программисты, менеджеры проектов и бизнес аналитики. Для них он и создавался.
UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем. Стоит отметить, что UML не является языком программирования, но на основании UML-моделей возможна генерация кода. Но на практике эта возможность практически не используется в силу несовершенства инструментов по переносу модели на язык программирования.
UML прост в освоении, поэтому модели описанные с его помощью, легко читаются и корректируются. Естественно, что для этого надо понимать некоторые аспекты и тонкости языка. О них мы будем говорить ниже.
Менее известной сферой применения UML является применение его для анализа и построения любой системы. Хоть это и специализированный и заточенный под узкий круг задач инструмент, он также может применяться и в других сферах. К примеру в сфере моделирования трат и финансовых потоков домашнего хозяйства.
1.1 История языка моделирования UML
Прежде чем говорить об особенностях языка, стоит изучить обстоятельства его появления и с какой целью он создавался. Предпосылки появления языка моделирования UML обозначились в связи с бурным развитием в конце XX века объектно-ориентированных языков программирования, таких как C++, Delphi, Python, SmallTalk, Java. Вследствие непрекращающегося усложнения создаваемых программных продуктов возникла нужда в учёте всё новых и новых возможностей языков и средств разработки при анализе, формулировании требований и в процессе проектирования программных приложений. В 1994 году Гради Буч и Джеймс Рамбо, работавшие в компании Rational Software, объединили свои усилия для создания нового языка объектно-ориентированного моделирования. За основу языка ими были взяты методы моделирования Object-Modeling Technique и Booch. OMT был ориентирован на анализ, а Booch — на проектирование программных систем. В октябре 1995 года была выпущена предварительная версия 0.8 унифицированного метода (англ. Unified Method). Осенью 1995 года к компании Rational присоединился Ивар Якобсон, автор метода Object-Oriented Software Engineering — OOSE. OOSE обеспечивал превосходные возможности для спецификации бизнес-процессов и анализа требований при помощи сценариев использования. OOSE был также интегрирован в унифицированный метод.
На этом этапе основная роль в организации процесса разработки UML перешла к консорциуму OMG (Object Management Group). Группа разработчиков в OMG, в которую также входили Буч, Рамбо и Якобсон, выпустила спецификации UML версий 0.9 и 0.91 в июне и октябре 1996 года.
Резюмируя можно сказать, что UML появился в середине 90-х годов стараниями нескольких человек. И целью его создания было оперативное внедрение в анализ постоянно увеличивающихся возможностей языков программирования.
2. Диаграммы – основа языка UML
В языке UML используются следующие виды диаграмм:
- Диаграмма классов
- Диаграмма компонентов
- Диаграмма составной структуры
- Диаграмма развертывания
- Диаграмма объемов
- Диаграмма пакетов
- Диаграмма деятельности
- Диаграмма автомата
- Диаграмма вариантов использования
- Диаграмма коммуникации и последовательности
- Диаграмма обзора взаимодействия
- Диаграмма синхронизации
Далее мы кратко рассмотрим, как они выглядят и используются.
2.1 Диаграмма вариантов использования
С этой диаграммы обычно начинают моделирование бизнес процессов.
Она является некой отправной точкой. Она связывает проектируемую систему с внешней средой и другими системами. Основными понятиями в этой диаграмме являются такие понятия как актор и вариант использования.
Актор – это роль, которую выполняет пользователь или другая система, при взаимодействии с проектируемой системой.
Вариант использования – это квант взаимодействия актора и системы. Поведение системы, которая описывается данной диаграммой, есть совокупность различных запрограммированных вариантов использования.
Используемые выше термины обозначаются следующим образом:
Рис.1 Обозначения в диаграмме вариантов использования
2.2 Диаграмма последовательностей
Рассматривает последовательность действий во время выполнения того или иного варианта, отраженного на предыдущей диаграмме. Иными словами, если вариант использования отвечает на вопрос «Что делает актор?», то последовательность отвечает на вопрос «Как работает система при выполнении данного варианта использования?». Один вариант использования может содержать несколько диаграмм последовательностей.
В диаграмме последовательностей процесс инициализирует актор. Вверху диаграммы располагаются элементы, классы или компоненты, которые задействованы в процессе работы. Взаимодействие объектов отображается с помощью стрелок. Такое взаимодействие объектов называется сообщениями. Пример диаграммы последовательностей ниже
Рис. 2 Пример диаграммы последовательностей
Здесь стоит отметить, что все диаграммы мы рисуем с помощью специального инструмента – Microsoft Office Visio. На наш взгляд он хорошо оптимизирован для работы с языком UML.
На рис.2 можно увидеть как актор последовательно выполняет 3 действия из Объекта 1…3. Каждое следующее действие производится после окончания предыдущего.
2.3 Диаграмма классов
В отличие от рассмотренных выше двух диаграмм, диаграмма классов отражает классы и их взаимосвязи. Основной элемент диаграммы – класс. Диаграмма классов структурирует или лучше сказать определяет классы задействованные в системе. У класса есть атрибуты и методы. Атрибуты – это свойства класса или объекта. А методы – это способы взаимодействия с объектами классов. Также у классов есть интерфейсы. Это элементы класса, через которые происходит взаимодействие класса с внешним миром.
Рис. 3 Пример диаграммы классов
На рисунке 3 представлены составные элементы диаграммы классов: классы, объекты, интерфейсы, исключения, типы данных.
При проектировании нашей системы мы ими воспользуемся.
2.4 Диаграмма коммуникаций
Данный тип диаграмм посвящен анализу взаимодействий между компонентами системы. Диаграмма последовательностей описывает функционирование системы, последовательность действий объекта, актора. А диаграмма коммуникаций описывает взаимодействие между собой самих объектов. Объекты диаграммы взаимодействуют или ассоциируются между собой – это и отображает диаграмма коммуникаций.
Рис. 4 Пример диаграммы коммуникаций
2.5 Диаграмма состояний
Применяется для описания того, как один и тот же элемент проходит через разные состояния. К примеру: есть у члена семьи деньги – нет денег. Как правило, диаграмма состояний используется в связке с другими диаграммами, такими как диаграмма последовательностей, для углубленного понимания процессов, происходящих в системе.
У диаграммы состояний есть элементы следующих типов: состояние и переход. Состояние соответственно есть некое статическое положение объекта, а переход соответственно динамическое состояние. Также у объекта исследования есть начальное состояние, то состояние объекта, с которого начали исследование. И конечное состояние, то состояние объекта, на котором исследование закончилось.
Рис. 5 Пример диаграммы состояний
Из рисунка выше можно сделать вывод, что мы можем рассматривать и разные варианты «концовок». Есть начальное состояние объекта и разные действия, которые могут привести к разным результатам. Но в последующем анализе предметной области мы этим пользоваться не будем.
Также есть так называемые суперсостояния. Это такие конструкции, включающие в себя другие состояния и переходы.
2.6 Диаграмма деятельности
Этот вид диаграмм родственен диаграммам состояний. Но в отличие от них делает акцент не на состояниях, а на переходах между ними. Диаграммы деятельности предназначены для описания потоков и последовательностей выполнения работ. Обычно они используются для анализа сложных систем.
Пример такой диаграммы приведем ниже.
Рис. 6 Пример диаграммы деятельности
2.7 Диаграмма пакетов
Используется для группировки любых элементов языка UML. Например, может существовать пакет акторов. Где будут храниться диаграммы с названиями акторов. Следует понимать, что этот вид диаграмм носит чисто технический характер и необходим скорей для упорядочивания элементов, чем для их анализа.
На рисунке ниже мы вкратце опишем обозначения, принятые в языке.
Рис. 7 Сущности языка UML
3. Исследование предметной области
В предыдущей главе мы рассмотрели разные виды диаграмм языка UML, познакомились с их структурными блоками – элементами языка. В этой главе мы рассмотрим предметную область нашего исследования – домашнее хозяйство. Будем стараться рассматривать эту тему в терминах языка UML.