Файл: Моделирование предметной области «Управление домашними финансами» с использованием объектно-ориентированного подхода к проектированию.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 27

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание:

Введение

Предметом данной работы является методы и средства проектирования информационных систем.

Целью данной курсовой работы является Моделирование предметной области «Управление домашними финансами» посредством UML.

Для достижения целей необходимо решить следующие задачи

1. Описать предметную область

2. Выбор средства для моделирования предметной области решаемой задачи

3. Моделирование предметной области решаемой задачи с использованием объектно-ориентированного подхода к проектированию.

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

Для чего и ради чего работает экономика? Главная цель экономики - повышение благосостояния людей. Согласно[5, c.181], экономика предназначена для работы помимо государственного бюджета еще и с семейным. Государство также удовлетворяет часть потребностей семьи. Не случайно поэтому Нобелевская премия по экономике за 1992 год была присуждена американскому ученому Гэри Беккеру, сумевшему доказать, что поведение людей и в сфере личной жизни подчиняется общим правилам экономической рациональности.

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

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

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

  1. Аналитическая часть

    1. Описание предметной области. Постановка задачи

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


Рисунок 1.1. – Средняя структура доходов семьи

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

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

Рисунок 1.2. – Средняя структура расходов семьи

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

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

    1. Предлагаемые мероприятия по улучшению технологии решения задачи

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

  1. Приложение «Семейный бюджет». Данное ПО помогает упорядочить расходы, доходы, счета и управлять ими. Имеется синхронизация с web-ресурсом, что позволяет вести семейную бухгалтерию как с персонального компьютера, так и с мобильного устройства. Так же возможно вести отдельную статистику по расходу коммунальных услуг.
  2. Приложение «Личные финансы» EasyFinance.ru. Приложение EasyFinance, так же, как и предыдущее приложение позволяет фиксировать свои доходы и группировать их. Так же есть возможность создавать шаблоны для частых операций.
  3. Toshi финансов. У данного приложения интересный подход к реализации. У него есть выждете, которые дают советы пользователю, есть push-уведомления о перерасходах. Так же есть таймеры, напоминающие об оплате счетов услуг ЖКХ и т.д.
  4. Дзен-мани: учет расходов. Приложение умеет распознавать и учитывать о расходах и доходах посредством push- и sms-уведомлений.
  5. Деньги ОК: личные финансы и бюджет. Программа легка в усвоении, имеет наглядную статистику, как в общем виде, так и отдельно, по категориям расходов и доходов.

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

Система будет иметь следующие входные параметры:

  1. Доходы (заработная плата, пенсия, дополнительный заработок, льготы, пособия, вклады, сбережения);
  2. Расходы (кредиты, долги, учеба, курсы, квартплата, ЖКХ, продукты питания, одежда, развлечения, медицинское обслуживание).

Данные разделы будут продублированы с целью итогового сравнения между реальными расходами/доходами и запланированными.

  1. Практическая часть

    1. Выбор средства для моделирования предметной области

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

Основным требованием к CASE-системе – поддержка UML нотации 2.0 и выше, а также свободное встраивание графических объектов пользователем. Рассмотрим следующие CASE-средства: Borland Together, Rational Rose и MSVisio. У всех имеется поддержка UML 2.x.

Преимуществом MSVisio в том, что данное ПО идет, как дополнение к Microsoft Office, и установка ее не займет больших усилий. Минус данного ПО в том, что имеется не полная поддержка UML 2.x.

Rational Rose является коммерческой разработкой компании IBM. Последняя версия данного ПО поддерживает нотацию UML 2.x в полном объеме, но из-за большой цены, не целесообразно применение для разового решения задачи. Преимуществом данной системы в том, что имеется возможность генерации кода на основе построенных моделей.

Borland Together поставляется в комплекте со средой разработки Borland Developer Studio. Данное CASE-средство так же позволяет генерировать код на основе построенных диаграмм. Стоимость данного пакета так же, как и Rational Rose, высокое, но более доступно. Подробное сравнение представлено в таблице 2.1.

BPWin и ERWin поддерживающие IDEF0, IDEF3, DFD и IDEF1.x не являются альтернативой выше перечисленных CASE-средств, так как настроены на решение иного спектра задач.

Таблица 2.1 – сравнение CASE-систем

MSVisio

RationalRose

BorlandTogether

Поддержка UML 2.x

+

+

+

Генерация кода

+

+

+

Работа в комплексе

+

+

Поддержка

+

+

Оценка

Удовл

Отл

Хор

Цена

Бесплатно

>130 000 руб

>50 000 руб


Исходя из этого, оптимально использовать MSVisio, т.к. тот же RationalRose не каждая компания может себе позволить.

    1. Моделирование предметной области «Управление домашними финансами» с использованием объектно-ориентированного подхода к проектированию

На первом этапе создадим диаграмму вариантов использования (use case diagram), отражающую отношения между актерами и прецедентами. Данный вид диаграммы является исходным концептуальным представлением разрабатываемой системы при помощи так называемых, вариантов использования.

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

Согласно[3, c.204] UML актера изображают в виде человечка, но встречаются и иные варианты изображений (рисунок 2.1).

Рисунок 2.1 – Варианты изображений актера на диаграмме вариантов использования.

Вариант использования, согласно нотации UML изображается в виде эллипса (рисунок 2.2), в котором идет описание какой-либо операции или действия.

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

Связи между актерами и вариантами использования определяются четырьмя типами:

  1. ассоциации;
  2. обобщения;
  3. включения;
  4. расширения.

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


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

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

Диаграмма взаимодействия наглядно отображает временной аспект взаимодействия. Она имеет два значения. Первое (слева-направо) – указывает на порядок вовлечения экземпляров сущностей во взаимодействие. Крайним слева на диаграмме изображается экземпляр актера. Правее отображается другой экземпляр сущности, который непосредственно взаимодействует с первым. Второе измерение (сверху-вниз) – указывает на порядок обмена сообщениями.

В нашей модели актером, как и в диаграмме вариантов использования, выступает семья (family). Данный объект передает данные, для планирования расходов и доходов в класс планирования (planning), в которые входит запланировав заработная плата (payPlan), запланированная пенсия (pensionPlan), запланированные подработки (underworkPlan) и проценты от вкладов в банк (deposinPlan). Такие параметры поступат из класса доходов (income), после чего, классу family передается разница между запланированным и реальным доходом, посредством функции differentIncome().

По аналогии идет расчет расходов, разница лишь в переменных, кредит (creditPlan), транспорт (autoPlan), образование (educationplan), квартплата (rentPlan), одежда и обувь (clothesPlan), отдых и развлечения (relaxPlan), медицинская страховка и лечение (medPlan) и остальные расходы (otherConPl). Далее, на серверной части идет расчёт разницы между реальным и планируемым доходом, посредством функции differentConsuption().

Так же Planning возвращает суммарные значения доходов и расходов, посредством функций summaryIncome() и summaryConsuprion(). И в конце подводится итог того, сбалансирован ли бюджет или бюджет имеет дефицит, на основе бинарного значения if(summaryIncome()>=summaryConsuprion()). Данная диаграмма представлена в приложении Б.

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