Личная бухгалтерия
Министерство
образования Республики Беларусь
Учреждение образования
Белорусский Государственный Университет
Информатики и Радиоэлектроники
Кафедра информационных технологий автоматизированных систем
Расчетно-пояснительная записка по курсовому проекту по курсу ПСОД
на
тему "Личная бухгалтерия"
| Проверил: | Выполнили:
студент гр. |
Минск
2007 г.
Содержание
Введение.
Одним из факторов, определяющих уровень развития современного общества и его интеллектуальные возможности, является оснащённость его средствами вычислительной техники – основы автоматизации умственной деятельности человека. Сфера использования вычислительной техники в настоящее время настолько широка, что нет такой области, где применение компьютеров было бы нецелесообразным. Особенно важна роль ЭВМ для развития науки, роста промышленного производства и повышения эффективности управления.
Одна из существенных тенденций, характеризующая степень использования современной вычислительной техники, - информационные технологии. Т.е. программно-технические средства вычислительной техники, приемы, способы и методы их применения для выполнения функций сбора, хранения, обработки, передачи и использования информации в конкретных предметных областях.
Рациональное и умелое использование возможностей ЭВМ является одной из серьёзных проблем настоящего периода развития общества, и актуальность решения этой проблемы растёт по мере увеличения доступности компьютеров и совершенствования их технического и программного оснащения. Эффективный путь решения указанной проблемы состоит в глубоком освоении и широком использовании на практике языков программирования высокого уровня, позволяющих записывать алгоритмы решаемых задач в довольно естественном для пользователя виде и затем использовать средства системного программного обеспечения для доводки программ до машинной реализации.
Предлагаемая программа поможет любому человеку организовать свой бюджет, не упустить ни одной растраты из виду и даст возможность на основе полученных данных планировать свой бюджет на будущие периоды. Данная программа должна уметь сохранять и отображать различные события (затраты, доход, вложения, заемы) и предоставлять пользователяю удобный и простой интерфейс для их добавления, удаления, редактирования. А также в понятной (наглядной) форме демонстрировать результаты.
ОБЩЕСИСТЕМНЯ ЧАСТЬ
Не возможно представить жизнь современного человека без постоянных расходов. Жизнь каждого человека состоит из различных растрат и получения доходов. Человек тратит, когда идет в магазин, когда едет на учебы, на работу, когда отдыхает. Все события в жизни человека связаны с перемещением денег (или от себя, или к себе). Порой число этих событий достигает поистине больших значений, которые все просто не могут уместиться в памяти. Поэтому и появляется стремление как-то упорядочить, систематизировать эти данные. Недаром в магазинах на полках мы можем найти огромное количество различных ежедневников и блокнотов для записей. Альтернативой им вступают различные компьютерные программы – "Домашняя бухгалтерия", "AceMoney", "Домашние финансы" и др, которые сделаны по принципу обычных записных книжек, но обладают большим количеством дополнительных функций. Среди них есть и "серьезные" программные продукты, которые, надо заметить, стоят не мало денег.
У каждой из вышеперечисленных систем есть свои достоинства и недостатки.
Например, обычные бумажные средства организации поступления и наличных обладают рядом существенных недостатков:
- невозможность быстро найти нужную запись
- неупорядоченное их расположение
- быстро изнашиваются
Различные программные продукты, тоже не лишены их:
- запутанный интерфейс, с которым неподготовленному человеку трудно общаться
- излишний функционал
- большая стоимость
- привязанность к определенной платформе
Исследование существующих программных продуктов выявило необходимость их совершенствования и создания нового, более простого и понятного программного средства. Которое бы при этом не вызывало трудностей при работе у пользователя-неспециалиста. Программа должна осуществлять сбор данных, их хранение. Простой и удобный способ редактирования, если возникнет такая необходимость. Обязательно должна контролировать вводимых пользователем данных и при выявлении несоответствия сообщать пользователю и, по возможности, предлагать варианты для замены. Должна обладать удобным интерфейсом и минимум функциональных инструментов. Что бы не "отвлекать" и не пугать человека который будет ее использовать. Однако, это не должно отразиться на ее функциональности и возможностях. Кроме сбора данных, программу не возможно представить без обработки и отображения полученных результатов. Ни одно современное средство не обходиться без графического представления данных. Касается это и продуктов по ведению домашней бухгалтерии, ведь человеку всегда проще посмотреть на многоцветный график и понять, где он растратил слишком много, а какие статьи расхода ему уже не нужны. Однако не стоит избавляться от отображения данных в виде таблиц. Полученные результаты необходимо выводить не только на дисплей, а также на бумажные носители (печать). Все вышеперечисленное удалось совместить в одной программе в рамках данного курсового проекта.
Анализ
ситуации позволил определить следующие
потенциальные направления
- избавление от ненужного пользователю функционала;
- создание интуитивно понятного интерфейса;
- удешевление стоимости программных средств.
Назначением данного программного продукта является учет финансовых потоков отдельно взятого человека. В рамках данного курсового проекта разработана программа для учета личных финансов. Которая будет охватывать все направления личной финансовой деятельности: доходы, затраты, долги и займы, денежные накопления и обладать следующими функциями.
Разработку программного продукта, лучше проводить с помощью многозвенной архитектуры – процесс разработки, в котором приложения строятся из компонентов, находящихся на разных уровнях. Каждый уровень предоставляет сервисы для других уровней, т.е. можно выделить в него определенный аспект приложения. Такое выделение приводит к созданию приложений, которые очень легко сопровождать, поскольку каждый уровень может быть модифицировать независимо от остальных.
Можно выделить следующие стандартные уровни:
- Уровень содержимого
- Уровень логики
- Уровень представления
Каждый уровень заключает в себе специфическую часть приложения.
Уровень содержимого
Уровень содержимого состоит из компонентов, предоставляющих пути для доступа к данным приложения. Все программные компоненты, создаваемые поверх этого уровня, должны пройти через него, чтобы получить доступ к данным приложения.
Самое важное понятие на этом уровне – модель данных. Она определяет, как хранятся данные и как с ними следует работать. Наиболее распространенные модели данных:
- Модель плоских файлов
- Модель реляционной базы данных
- Модель XML
- Гибридные модели
Эти типы должны быть выделены в код программы верхнего уровня с помощью стандартных объектов, называемых компонентами доступа к данным.
В нашем случае мы будем использовать модель реляционной базы данных. Т.е. все данные хранятся в виде таблиц непосредственно в документе.
Уровень логики
Уровень логики – это то место, где сосредоточен весь интеллект приложения. Здесь обрабатываются и препарируются данные, полученные из уровня содержимого. Такие действия, как расчеты, преобразования, получение статистики, защита, аудит – все они происходят в уровне логики. В основе этого уровня лежат системы отслеживания пользователей, регистрации, кэширования и многие другие.
На данном уровне мы будем для различных правил и функций, требуемых приложением, создавать отдельные модули (макросы). Запускающиеся непосредственно по нажатию соответствующих меню-кнопок, или по происшествию необходимого события (двойной клик на область данных и пр.)
Уровень представления
На уровне представления к содержимому, подготовленному на уровне логики, добавляются элементы дизайна и размещения. На этом уровне генерируется таблицы, графики с применением богатых возможностей MS Office, и Excel в частности. На этом уровне будет все то, что поможет пользователю лучше понять, и представить данные которые были им внесены и обработаны на предыдущем уровне. К разработке данного уровня необходимо подойти ответственно, т.к. именно на этом этапе происходит непосредственно общение пользователя с программой, здесь он решает будет он продолжать использовать данный продукт или нет. Поэтому очень важно понять, что хочет среднестатистический потребитель для себя, и как ему это дать, не загромождая программу в целом.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Главная идея "Личной бухгалтерии" заключается в том, что она представляет движение денег простейшим образом.
В центре финансовых событий находится "Кошелек".
"Кошелек"
- это то место, где вы храните
свои текущие деньги. Под "Кошельком"
может подразумеваться как
Все перемещения денег проходят только через "Кошелек".
Программа допускает только два варианта перемещения денег – в "Кошелек" или из "Кошелька".
Первый вариант перемещения денег - в "Кошелек" - называется приходом.
Второй вариант перемещения денег – из "Кошелька" - называется расходом.
Перемещение денег вообще, как приход, так и расход, называется денежной операцией.
В программе приходы изображены голубыми. Расходы изображены оранжевыми.
Деньги могут приходить в "Кошелек" насовсем, в полное распоряжение. Такой приход называется доходом. А также могут приходить на время. То есть через какое-то время их надо будет возвращать. Такие деньги называются займом. А того, кто дал деньги взаймы, называется кредитором. Точно также можно давать кому-то деньги на какое-то время. Такие деньги будут называться долгом, а того, кому дали деньги в долг - должником. Деньги могут уходить из "Кошелька" также насовсем, без надежды на их возврат. Такой расход называется затратами.
Кроме того, часть своих денег можно на время вынимать из "Кошелька" и прятать в другом месте, чтобы они лучше сохранились. Или отдавать на хранение в банк в виде вклада или депозита.
Такие деньги называются денежными накоплениями.
Были
перечислены главные
Это следующие направления (категории):
· доходы;
· затраты;
· долги и займы;
· денежные накопления.
Список четырех категорий приведен в файле "Личной бухгалтерии" на листе «Категории». Изменять этот список нельзя.
Категории разделяются на группы.
Например, категория доходы может разделяться на группы
· доходы на работе;
· прочие доходы.
а категория затраты может разделяться на группы
· еда;
· транспорт;
· отдых и развлечения;
и другие.
Список групп приведен в файле на листе «Группы». Этот список пользователь может изменять по своему усмотрению.
В свою очередь, группы разделяются на статьи.
Группа еда может делиться на следующие статьи:
· продукты для дома;
· еда в столовой
и другие.
Смотри лист «Статьи». Этот список также можно изменять.
Основной лист, в котором происходит работа, называется «журнал». На этом листе записываются все денежные операции, то есть приходы и расходы. Каждая денежная операция занимает одну строку листа «журнал» и включает в себя следующие графы:
· дата операции, когда она произошла;
· + / - (плюс/минус - признак прихода или расхода; в этой графе ставится плюс в случае прихода денег в "Кошелек", а минус – в случае расхода денег из "Кошелька");
· сумма операции, то есть количество денег, пришедших в "Кошелек" или ушедших из него;
· название операции, то есть объяснение причины прихода или расхода;
· статья;
· группа;
· категория;
· денежная сумма, которая должна остаться в "Кошельке" после операции (автоматически рассчитывается).
Ввод новых операций, изменение и удаление введенных операций осуществляется с помощью диалоговых окон. Эти окна появляются на экране, если нажать соответствующую кнопку на листе «журнал». В процессе ввода операции можно добавлять новые статьи и группы приходов/расходов.
Лист, где можно посмотреть итоги финансовой деятельности за какой-то период времени, называется «Отчеты». Лист «Отчеты» - это тот лист, где происходит отображение обработанных данных, т.е. на нем можно посмотреть итоги всей финансовой деятельности за какой-то период времени, например, за месяц.
Внешний
вид верхней части листа «
Рис.
1. Отчет по статье "расходы"
Прежде, чем формировать новый отчет, необходимо задать его параметры.
В ячейке А2 задается дата начала периода отчета. В ячейке А4 - конца периода. В ячейке D2 выбирается наименование (вид) отчета. В ячейке D4 - вариант (подвид) отчета.
В "Личной бухгалтерии" предусмотрены следующие пять видов отчетов:
· приход и расход денег;
· доходы;
· затраты;
· долги и займы;
· денежные накопления.
Каждый вид имеет два подвида:
· подробный без диаграммы;
· укрупненный с диаграммой.
В подробных отчетах показываются итоговые суммы, как по группам, так и по статьям. В укрупненных отчетах итоговые суммы по статьям не показываются, только по группам.
Первые три вида отчета формируются для интервала дат. Последние два отчета - только для конечной даты (при выборе отчета «Долги и займы» или отчета «Денежные накопления» дата в ячейке А2 станет невидимой).
Для формирования отчетов в программе использует макросы и механизм сводных таблиц (pivot table).
Не все средства разработки и языки программирования подойдут для создания системы, которая будет отвечать всем этим строгим требованиям. В качестве возможных вариантов рассмотрим наиболее распространенные на сегодняшний день и выделим плюсы и минусы каждого:
- с/с++ - К плюсам можно отнести сравнительно большую скорость приложений, написанных на этом языке. К минусам – не очень удобную работу с базами данных, долгий процесс разработки и привязанность к одной платформе.
- Delphi - К плюсам можно отнести большую скорость разработки приложений. К минусам – привязанность к одной платформе
- Java - К плюсам можно отнести удобство работы с базами данных, кросплатформенность. К минусам – сравнительно малую скорость работы.
- Visual Basic – К минусам – привязанность к одной платформе. К плюсам простоту разработки, интеграцию в самый распространенный офисный пакет - MS Office и, конечно, поддержку корпорации, занимающей лидирующее местом в производстве программного обеспечения.
В итоге был выбран язык Visual Basic, который в сумме обеспечивает быструю скорость и простоту разработки приложения, а также его интеграцию в MS Office.
РАСЧЕТНАЯ ЧАСТЬ
"Личная
бухгалтерия" представляет
Это может быть и хорошо, и плохо.
Если Вы уже работали в MS Excel, то это хорошо. Вы многое знаете: как перейти с одного листа на другой лист, как лист распечатать. Кроме того, через некоторое время Вы сможете дорабатывать "Личную бухгалтерию" по собственному вкусу. Но если раньше Вы не работали с файлами формата MS Excel, и, тем более, если на Вашем компьютере не установлен MS Excel, то вы не сможете воспользоваться данным программным решением.
Чтобы работать в программе необходимо знать элементарные вещи, что такое “автофильтр” в MS Excel и уметь задавать условия отбора автофильтра.
При создании были использованы следующие средства MS Excel:
· Листы MS Excel;
· Листы диалога MS Excel;
· Панель инструментов «Формы» («Forms»),
· Макросы.
Механизм Microsoft Forms не использовался.
Для листов MS Excel не использована защита, за исключением листа «Категории». Но, можно снять защиту этого листа, если воспользоваться позицией меню Сервис - Защита - Снять защиту листа (Tools – Protection – Unprotect Sheet).
Кроме тех листов MS Excel, которые видны пользователю, в "Личной бухгалтерии" содержится два невидимых листа: «Парам» и «Temporal».
Невидимый
лист «Парам» используется для размещения
информации о параметрах последней
введенной операции. А лист «Temporal»
программа использует для размещения
промежуточной информации в процессе
формирования отчетов. Кроме того, невидимыми
являются все листы диалога. Эти листы
сделаны невидимыми только для того, чтобы
они не мешали пользователю. Их можно посмотреть,
выбрав позицию меню Формат -
Лист – Отобразить (Format
– Sheet – Unhide).
Рис. 2. Пример диалогово окна "Ввод новой денежной операции"
Все программные тексты доступны. Они представляют собой макросы размещенные в модулях. Несколько макросов, связанных с событиями листа, размещено непосредственно в листах.
Все данные, исходные и те которые добавляет пользователь во время использования программы, хранятся в виде таблиц. Обработка значений и слежение за соответствием поля таблицы производится программно. Все поля можно представить в виде таблицы 1.
Таблица 1
Структура таблицы "Журнал"
| Название | Значение |
| Дата | дата, в формате dd/M/yyyy |
| +/- | знак числа, из поля сумма |
| Сумм | денежный |
| Название операции | строка, ограниченная только размером ячейки в Office |
| Статья | строка, не более 255 символов |
| Группа | строка, не более 255 символов |
| Категория | строка, не более 255 символов |
| Осталось денег | денежный |
Рис. 3. Взаимодействие данных в программе
Общение пользователя происходит посредствам диалоговых окон. Которые изначально скрыты. И отображаются только при нажатии соответствующих кнопок на листах. Пользователь видит только пять листов:
- отчеты;
- журнал;
- статьи;
- группы;
- категории.
Лист
«Категории». Он не подлежит правке.
На этом листе приведен список всех четырех
категорий прихода и расхода денег. Внешний
вид листа «Категории» представлен на
рисунке 3.
Рис. 4. Лист "Категории"
Категория занимает старшее положение в иерархии: категория - группа - статья.
На листе все четыре категории имеют различный цвет фона ячеек. Эти же самые цвета используются в программе на листах «Группы», «Статьи» и «Журнал» для окраски строк, информация в которых относится к тем или иным категориям.
Лист
«Группы». Внешний вид листа «Группы»
представлен на рисунке 4.
Рис. 5. Лист "Группы"
Как легко догадаться, лист «Группы» содержит список групп.
Группа занимает среднее положение в иерархии категория - группа - статья. Заголовки списка групп расположены во второй строке листа. Список групп представляет собой таблицу из двух колонок. В первую колонку записывается название группы, а во вторую колонку - категория, к которой группа относится.
Для второй колонки списка установлено свойство «Автофильтр». В заголовке второй колонки Вы можете задавать условия фильтрации списка.
В первой строке листа «Группы» размещены кнопки. Добавление новой группы в таблицу, изменение названия существующей группы, удаление группы следует выполнять путем нажатия кнопок. (Это правило легко обойти, но во избежание порчи информации не делайте этого). Первые две строки листа «Группы» закреплены. Это означает, что при вертикальной прокрутке листа «Группы» они остаются неподвижными.
Добавление новой, редактирование и удаление старых групп происходит по средствам диалоговых окно и не вызывает ни каких затруднений, даже у тех, кто делает это впервые.
Внешний
вид листа «Статьи» представлен
на рисунке 5.
Рис. 6. Лист "Статьи"
Заголовки списка статей расположены во второй строке листа. Список статей представляет собой таблицу из двух колонок. В первую колонку записывается название статьи, а во вторую колонку - группа, к которой статья относится. Для второй колонки списка установлено свойство «Автофильтр». Здесь Вы можете задавать условие фильтрации списка.
В первой строке листа «Статьи» размещены кнопки. Добавление новой статьи, изменение названия существующей статьи, удаление статьи следует выполнять путем нажатия кнопок. Все эти операции не вызовут затруднения. Внешний вид и оформление листа «Статьи» схож с листом «Группы».
Описание листа «журнал».
Лист
«журнал» - это основной лист, с которым
придется работать пользователю. На этом
листе записываются все денежные операции,
то есть все приходы и все расходы.

- Личная гигиена при занятиях физической культурой и спортом
- Личная продажа
- Личная продажа в комплексе маркетинговых коммуникаций туристского предприятия
- Личная продажа в комплексе маркетинговых коммуникаций туристского предприятия
- Личная продажа и управление сбытом
- Личная физическая культура
- Личное дело: порядок ведения и оформления
- Лицензирование туристской деятельности
- Лицензирование фармацевтической деятельности
- Лицензирование хозяйственной деятельности
- Лицензирование экспорта и импорта товаров
- Лицензировании предпринимательской деятельности
- Лицензия и их получение
- Личная безопасность предпринимателя и ее обеспечение