Файл: Моделирование предметной области «Управление домашними финансами» с помощью UML».pdf
Добавлен: 24.04.2023
Просмотров: 430
Скачиваний: 2
Введение
В основе проектирования информационной системы лежит моделирование предметной области. Для того что бы получить адекватный предметной области проект информационной системы в виде системы правильно работающих программ, необходимо иметь правильное целостное системное представление модели, которое отражает все аспекты функционирования будущей информационной системы. При этом под моделью предметной области понимается некоторая система имитирующая структуру или функционирование исследуемой области и отвечающая основным требованиям.
Для своей курсовой работы я выбрал тему управления домашними финансами, согласно списку из предложенных в указании тем.
Актуальность темы управления домашними финансами объясняется тем, что домохозяйства становятся одним из крупнейших субъектов экономики. Они выступают одним из важных субъектов экономической деятельности, от результатов которой зависит не только благосостояние отдельной хозяйственной единицы, но и всего населения страны. Под домашним хозяйством понимается хозяйство, которое ведется одним или несколькими лицами, проживающими совместно или имеющими общий бюджет.
В данной курсовой работе будут рассматриваться модели управления финансами внутри домашнего хозяйства, которое имеет свою внутреннюю структуру, сложившуюся систему экономических отношений, возникающих между его членами при формировании и использовании общего бюджета. Члены семьи, проживающие в ее составе, не могут быть полностью независимыми и должны учитывать последствия принятых своих экономических решений влияющих на формирование благополучия домашнего хозяйства.
Выбор темы исследования
Домашние финансы должны находиться под постоянным контролем, их необходимо оптимизировать, перераспределять и планировать будущие доходы.
К сожалению, на данный момент ни одно учебное заведение в стране не ведет обучение управлению домашними финансами. Вследствие этого, появляется необходимость в создании автоматизированных и интуитивно понятных средств, предназначенных для учета денежных средств.
Готовые программные решения, удовлетворяющие все потребности и запросы каждого пользователя найти сложно. Поэтому возникает необходимость в создании персональной системы, которая будет удобна и понятна непосредственно заказчику (пользователю).
Для успешного создания такой персональной системы необходимо максимально подробно учесть техническое задание заказчика и спланировать все этапы разработки, создав графическую модель будущей системы. Созданная модель предметной области существенно сокращает время разработки и помогает избежать ошибок обусловленных не точным техническим заданием. Если возникает необходимость внести изменения, то легче всего это сделать еще на этапе планирования, нежели непосредственно во время написания программного кода. Лучше всего для этой задачи подойдет язык UML, так как создаваемая с помощью него графическая модель подходит для выбранной мной темы и позволит отобразить все имеющиеся в системе сущности, компоненты и связи.
Осознание важности учета домашних финансов и моделирования предметной области определило мой выбор темы курсовой работы.
Целью и задачей данной курсовой работы является исследование выбранной мной предметной области и получение практических навыков создания UML-моделей.
- Описание предметной области
Для упрощения процесса описания предметной области исследуемой мной темы, я использовал готовую программу для ведения учета личных финансов. Благодаря наглядному графическому интерфейсу, я смог детальнее разобраться в вопросе и выделить необходимые мне элементы для создаваемой мной модели проектирования.
В любой программе по учету финансов необходимо создать как минимум один счет (кошелек), на котором будут храниться денежные средства, как минимум несколько категорий расходов и доходов (видов товаров/услуг и источников заработка или иных способов получения доходов). Это необходимо для совершения транзакций - действий над имеющимися на счете пользователя финансами.
Помимо этого, будет полезной функция формирования бюджетов. В данном случае бюджет это созданный пользователем лимит на расходы в выбранной им какой-либо категории товаров и услуг, при превышении лимита которого, пользователю ограничивается возможность совершать покупки на указанную в бюджете категорию расходов.
Еще для удобства пользователя я предусмотрю возможность откладывать денежные средства для достижения финансовой цели, указанной пользователем. Это может быть любой дорогостоящий товар или услуга, на приобретение которой в данный момент нет необходимой суммы. Если на счете пользователя имеются свободные средства, то он может отложить их, переведя с основного счета в разряд сбережений и ограничить возможность расходовать их, кроме как на выбранный пользователем желаемый товар или услугу.
Так же, иногда необходимо иметь возможность просмотреть текущие остатки средств, создать отчет и графически с помощью графика посмотреть на какие категории товаров и услуг были потрачены имеющиеся средства. Необходимо дать пользователю возможность сформировать отчет за выбранный им период (день, месяц, год) и показать графически в каких категориях были совершены транзакц
1 Язык моделирования UML
1.1 Общие сведения
Многие методы объективно-ориентированного анализа и проектирования включают как язык программирования, так и описание процесса моделирования. Язык моделирования – это нотация (в основном представленная в графическом виде), которая используется методом для описания проектов. Нотация — это совокупность графических объектов, которые применяются в моделях. Нотация является синтаксисом языка моделирования. К примеру, нотация диаграммы классов определяет, каким образом представляются такие элементы и понятия как ассоциация, класс и множественность.
Процесс – это описание шагов, которые необходимо выполнить при разработке проекта.
Унифицированный язык моделирования UML (Unified Modeling Language) – язык моделирования, создание которого началось в конце 1994 года.
При разработке языка UML были выделены следующие цели:
• предоставить пользователям готовый к использованию выразительный язык визуального моделирования, который позволял бы разрабатывать осмысленные модели и обмениваться ими;
• предусмотреть механизмы расширяемости и специализации для расширения базовых концепций;
• обеспечить независимость от конкретных языков программирования и процессов разработки;
• обеспечить формальную основу для понимания этого языка моделирования;
(язык должен быть одновременно точным и доступным для понимания, без лишнего формализма);
Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией. В объектных и объектно-ориентированных языках операции, выполняемые над данным объектом, называются методами и являются составной частью определения класса.
Класс - это множество объектов, связанных общностью структуры и поведения. Любой объект является экземпляром класса. Определение классов и объектов - одна из самых сложных задач объектно-ориентированного проектирования.
Следующую группу важных понятий объектного подхода составляют наследование и полиморфизм. Понятие полиморфизма может быть интерпретировано, как способность класса принадлежать более чем одному типу.
Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов.
Объектно-ориентированная система изначально строится с учетом ее эволюции. Наследование и полиморфизм обеспечивают возможность определения новой функциональности классов с помощью создания производных классов - потомков базовых классов. Потомки наследуют характеристики родительских классов без изменения их первоначального описания и добавляют при необходимости собственные структуры данных и методы. Определение производных классов, при котором задаются только различия или уточнения, в огромной степени экономит время и усилия при производстве и использовании спецификаций и программного кода.
Важным качеством объектного подхода является согласованность моделей деятельности организации и моделей проектируемой системы от стадии формирования требований до стадии реализации.[2] Требование согласованности моделей выполняется благодаря возможности применения абстрагирования, модульности, полиморфизма на всех стадиях разработки. Модели ранних стадий могут быть непосредственно подвергнуты сравнению с моделями реализации.[3] По объектным моделям может быть прослежено отображение реальных сущностей моделируемой предметной области (организации) в объекты и классы информационной системы.[4]
1.2 История создания языка UML
Необходимость появления языка моделирования UML появилась в связи с развитием во второй половине XX века объектно-ориентированных языков программирования. Из-за непрекращающегося усложнения создаваемых программ возникла необходимость в учёте новых возможностей языков и средств разработки при анализе, формулировании требований и в процессе проектирования программ.
За короткий промежуток времени с 1989 года по 1994 год, количество объектно-ориентированных инструментов выросло с десятка до полусотни. Многие разработчики затруднялись подобрать язык моделирования, который полностью отвечал бы всем их потребностям для достижения необходимого результата. В результате выделилось новое поколение методов разработки, среди, которого особую популярность приобрели метод Booch, созданный Якобсоном Object-Oriented Software Engineering (OOSE) и разработанный Рамбо Object Modeling Technique (OMT).
Разработка UML началась в октябре 1994 года. Гради Буч и Джеймс Рамбо из компании Rational Software начали совместную работу по унифицированию таких методов как Booch и OMT. Данные два метода развивались независимо друг от друга и считались одними из лучших методов объектно-ориентированного подхода в разработке программных систем. Booch был ориентирован на проектирование программных систем, а OMT на анализ. Было принято решение объединить эти два метода и уже в октябре 1995 года, спустя год после начала разработки, вышла пробная версия нового языка (0.8), получившая название Unified Method.
Осенью 1995 года к компании Rational Software присоединился Ивар Якобсон, автор метода Object-Oriented Software Engineering — OOSE.
В конце 1996 года ряд крупных компаний были готовы рассмотреть UML в качестве основной стратегии своего бизнеса. В этом же году был основан некоммерческий консорциум OMG, который впоследствии объединил таких ведущих производителей программного обеспечения, как DEC, HP, IBM, Microsoft, Oracle, Rational Software и др.
В январе 1997 была выпущена новая версия UML 1.0. К OMG присоединились компании IBM, Objectime, Platinum Technology и Softeam. Результатом этого сотрудничества стал выпуск версии UML 1.1, который содержал улучшения нотации и некоторые расширения семантики.
В 2003 была выпущена версия 1.5.
Спецификация версии UML 2.0 опубликована в августе 2005 года. Семантика языка была значительно уточнена и расширена для поддержки методологии Model Driven Development — MDD. Последняя версия UML 2.5 опубликована в июне 2015 года.[5]
1.3 Описание и структура языка
UML (сокр. от англ. Unified Modeling Language — унифицированный язык моделирования) - язык графического описания для объектного моделирования в области разработки программного обеспечения. UML считается языком широкого профиля, так как это открытый общепринятый стандарт, использующий графические обозначения для создания абстрактной модели системы, называющейся UML-моделью. Данный язык был создан для определения, визуализации, проектирования и документирования программных систем.
Язык UML включает в себя набор графических элементов, которые используются на диаграммах. Диаграммы используются для отображения различных представлений системы. Данный набор разнообразных представлений называется моделью. Модель UML необходима для описания процессов системы, но ничего не сообщается о том, каким образом она будет реализована.
С общей точки зрения, описание языка состоит из нескольких взаимодействующих между собой частей, таких как семантика языка и нотация языка.
Семантика языка UML представляет собой модель, определяющую абстрактный синтаксис и семантику понятий моделирования.
-
Нотация языка UML представляет собой графическую нотацию для визуального представления семантики языка. Под графической составляющей и визуальным представлением языка подразумевается диаграммы UML. Подробнее тему диаграмм и их видов я затрону в следующем параграфе.[6][7]
- Виды диаграмм
В данном параграфе речь пойдет о диаграммах UML, об их спецификациях и разновидностях.
Диаграммы UML - это графическая нотация, отображение визуального представления в семантику языка.
UML объединяет в себе три техники моделирования и наследует их графическую нотацию, не использует невыразительные элементы и добавляет новые, отвечающие потребностям рынка современных программных систем.
Модель системы в UML - это совокупность связанных между собой подмоделей, каждая из которых описывается набором нужных диаграмм, созданных с помощью определенной в UML графической нотации с соблюдением условий и правил построения.
Создаваемый с помощью языка UML проект может включать в себя следующие диаграммы. Таких диаграмм насчитывается восемь:
-
-
- Диаграмма вариантов использования;
- Диаграмма классов;
- Диаграмма состояний;
- Диаграммы взаимодействия;
- Диаграмма деятельности;
- Диаграмма пакетов;
- Диаграмма компонентов;
- Диаграмма размещения.
-