Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Управление домашними финансами с помощью UML

Содержание:

Введение

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 Диаграмма вариантов использования

С этой диаграммы обычно начинают моделирование бизнес процессов.

Она является некой отправной точкой. Она связывает проектируемую систему с внешней средой и другими системами. Основными понятиями в этой диаграмме являются такие понятия как актор и вариант использования.

Актор – это роль, которую выполняет пользователь или другая система, при взаимодействии с проектируемой системой.

Вариант использования – это квант взаимодействия актора и системы. Поведение системы, которая описывается данной диаграммой, есть совокупность различных запрограммированных вариантов использования.

Используемые выше термины обозначаются следующим образом:

C:\Users\Миша\Desktop\Курсовая Михана\1.jpg

Рис.1 Обозначения в диаграмме вариантов использования

2.2 Диаграмма последовательностей

Рассматривает последовательность действий во время выполнения того или иного варианта, отраженного на предыдущей диаграмме. Иными словами, если вариант использования отвечает на вопрос «Что делает актор?», то последовательность отвечает на вопрос «Как работает система при выполнении данного варианта использования?». Один вариант использования может содержать несколько диаграмм последовательностей.

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

Рис. 2 Пример диаграммы последовательностей

Здесь стоит отметить, что все диаграммы мы рисуем с помощью специального инструмента – Microsoft Office Visio. На наш взгляд он хорошо оптимизирован для работы с языком UML.

На рис.2 можно увидеть как актор последовательно выполняет 3 действия из Объекта 1…3. Каждое следующее действие производится после окончания предыдущего.

2.3 Диаграмма классов

В отличие от рассмотренных выше двух диаграмм, диаграмма классов отражает классы и их взаимосвязи. Основной элемент диаграммы – класс. Диаграмма классов структурирует или лучше сказать определяет классы задействованные в системе. У класса есть атрибуты и методы. Атрибуты – это свойства класса или объекта. А методы – это способы взаимодействия с объектами классов. Также у классов есть интерфейсы. Это элементы класса, через которые происходит взаимодействие класса с внешним миром.

Рис. 3 Пример диаграммы классов

На рисунке 3 представлены составные элементы диаграммы классов: классы, объекты, интерфейсы, исключения, типы данных.

При проектировании нашей системы мы ими воспользуемся.

2.4 Диаграмма коммуникаций

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

C:\Users\Миша\Desktop\Курсовая Михана\2.jpg

Рис. 4 Пример диаграммы коммуникаций

2.5 Диаграмма состояний

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

У диаграммы состояний есть элементы следующих типов: состояние и переход. Состояние соответственно есть некое статическое положение объекта, а переход соответственно динамическое состояние. Также у объекта исследования есть начальное состояние, то состояние объекта, с которого начали исследование. И конечное состояние, то состояние объекта, на котором исследование закончилось.

C:\Users\Миша\Desktop\Курсовая Михана\Диаграмма состояний.jpg

Рис. 5 Пример диаграммы состояний

Из рисунка выше можно сделать вывод, что мы можем рассматривать и разные варианты «концовок». Есть начальное состояние объекта и разные действия, которые могут привести к разным результатам. Но в последующем анализе предметной области мы этим пользоваться не будем.

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

2.6 Диаграмма деятельности

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

Пример такой диаграммы приведем ниже.

C:\Users\Миша\Desktop\Курсовая Михана\3.jpg

Рис. 6 Пример диаграммы деятельности

2.7 Диаграмма пакетов

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

На рисунке ниже мы вкратце опишем обозначения, принятые в языке.

C:\Users\Миша\Desktop\Курсовая Михана\img8.jpg

Рис. 7 Сущности языка UML

3. Исследование предметной области

В предыдущей главе мы рассмотрели разные виды диаграмм языка UML, познакомились с их структурными блоками – элементами языка. В этой главе мы рассмотрим предметную область нашего исследования – домашнее хозяйство. Будем стараться рассматривать эту тему в терминах языка UML.

Здесь стоит упомянуть, что домашних хозяйств, даже на территории только нашей страны, очень много. Поэтому об универсальности анализа изначально говорить не приходилось. Слишком много переменных стало бы в исследовании. Количество и имена акторов, их взаимодействие между собой и с внешней средой, разница в укладе жизни, уровне дохода, среде обитания, профессиях и т.д. Поэтому с самого начала было принято решение проводить анализ на примере абстрактной семьи. Введем базовые данные для этой абстрактной семьи. Бюджет семьи формируется раздельно. У каждого члена семьи он свой. Своя работа, свой доход. Каждого актора в семье мы разберем отдельно. Рассмотрим движение средств в этой семье. Чтобы не перегружать систему мы не будем вдаваться в мельчайшие подробности. Иначе это исследование потянет по объему на диссертацию. Итак, начнем свое исследования с анализа акторов.

В этой системе три действующих лица: двое мужчин и одна женщина. Женщина приходится дочерью одного мужчины и матерью другого. Таким образом, один мужчина является дедушкой для второго мужчины, а второй мужчина, соответственно, приходится внуком первого. Схематически это можно отобразить следующим образом. Мы специально ввели роль пенсионера, дабы учитывать в качестве дохода не только заработную плату, но и пенсию – то есть те деньги, которые выделяет государство.

C:\Users\Миша\Desktop\Курсовая Михана\Акторы.jpg

Рис. 8 Акторы в системе домашнего хозяйства

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

Источником доходов в семье являются денежные поступления от работодателя – мама и сын работают. А также денежные поступления от государства – дедушка является пенсионером.

Разберем каждого члена семьи в отдельности. А потом составим общие для всех движения средств.

Первым начнем разбирать дедушку – он пенсионер. Стало быть, он получает свой доход от государства. Тратами будут являться покупки продуктов питания, лекарств, оплата коммунальных услуг. Это траты постоянные и не зависящие от времени года и каких-либо других факторов. Реже покупается одежда и мебель. Таким образом, у нас складывается таблица актив и пассив. В расход мы занесем, то, что покупается, а в доход, то за счет каких средств это происходит.

Таблица 1. Доходы и расходы первого актора

Расход

Доход

Продукты питания

Пенсия

Лекарства

Оплата коммунальных услуг

Одежда

Мебель

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

Второй актор в исследуемой системе – это мама. Она работает на работе 40 часов в неделю. Иными словами ее доход – это заработная плата с работы. В расходах у нас будут значиться: продукты питания, одежда, траты на проезд, траты на отдых, траты на подарки, накопительная часть. Сформируем таблицу на основании этих данных.

Таблица 2. Доходы и расходы второго актора

Расход

Доход

Продукты питания

Заработная плата

Одежда

Траты на проезд

Траты на отдых

Траты на подарки

Накопительная часть

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

Таблица 3. Доходы и расходы третьего актора

Расход

Доход

Продукты питания

Заработная плата

Одежда

Траты на проезд

Траты на отдых

Траты на девушку

Учеба

Фитнес

Накопительная часть

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

4. Схема движения денежных средств с помощью UML

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

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

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

C:\Users\Миша\Desktop\Курсовая Михана\Взаимодействие в семье.jpg

Рис.9 Диаграмма вариантов использования

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

C:\Users\Миша\Desktop\Курсовая Михана\4.jpg

Рис.10 Диаграмма последовательностей

C:\Users\Миша\Desktop\Курсовая Михана\5.jpg

Рис.10 Диаграмма состояний

На рис. 10 мы видим с чего начинается процесс и чем он заканчивается и на что уходят деньги семьи.

C:\Users\Миша\Desktop\Курсовая Михана\6.jpg

Рис.11 Диаграмма деятельности

5. Критика языка UML

Во время работы с языком UML мы стали остро ощущать его недостатки и решили посмотреть, что же пишут другие люди касательно языка UML. Мнения людей схожи по многим параметрам. Приведем их.

  • Язык громоздкий. Его можно использовать для анализа и проектирования многих систем. Соответственно он будет проигрывать в эффективности специализированным инструментам.
  • Избыточность языка. Он включает в себя большое число мало используемых или совсем не используемых конструкций. Диаграмм и элементов.
  • Следствием избыточности языка может быть и неточная семантика. Например, одни и те же элементы в разных мануалах звучат по-разному.
  • Все вышеизложенное затрудняет процесс изучения языка специалистом. Иными словами специалист предпочтет изучить более простую альтернативу.
  • И более сложный момент. Язык как бы сам в себе. Его не получается согласовать с конструкциями других стандартов и языков.

Заключение

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

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

Список используемой литературы

  1. Ларман К. - Применение UML и шаблонов проектирования. 2-е издание – 2004
  2. Хассан Г. UML. Проектирование систем реального времени, распределенных и параллельных приложений 2011
  3. Мартин Ф. UML. Основы 2004
  4. Лешек А. Анализ и проектирование информационных систем с помощью UML 2.0 2008
  5. Киммел П. UML. Основы визуального анализа и проектирования 2008