воскресенье, 15 августа 2010 г.

Пишем простую бухгалтерскую программу

Часть 1

В этом цикле статей мы поговорим о том, как можно реализовать простую бухгалтерскую программу. И так, функционал:
  1. Нам нужно указывать поступление и снятие денег со счета;
  2. Желательно видеть статистику прихода, расхода средств.
Для реализации этого функционала, предлагаю использовать GUI, поскольку это более традиционное решение. Разработку приложения будем вести используя библиотеки Qt. Приложение должно хранить данные о поступлении и списании средств, для этого нам понадобится база данных, с такой задачей легко справится SQLite. В качестве средст разработки, предлагаю использовать Qt Creator — для разработки приложения, и sqlitebrowser для проектирования базы данных.

А начнем мы именно с базы данных.
Нам понадобится две таблицы:
  1. Счет;
  2. Операции над счетом.
Таблица «Счет» будет хранить текущее состояние счета и имеет вид:

Рисунок 1. Таблица "Счет"
AccountID — это идентификатор счета (в будущем можно будет сделать несколько счетов)
Balance — это баланс счета (по умолчанию ноль)

Таблица «Операции над счетом» будет хранить операции проводимые над счетами и имеет вид:

Рисунок 2. Таблица "Операции над счетом"
OperationID — это идентификатор операции;
AccountID — идентификатор счета, над которым проводится операция;
Amount — сумма прибавляемая к счету (если снимаем деньги, то она отрицательная);
OperationDateTime — дата и время проведения операции.

Теперь, когда мы определились с таблицами, переходим к их разработке. Для этого запустим SQLite Database Browser и создадим в нем таблицы.

Рисунок 3. Проектирование базы

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

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