家庭理财系统的设计与实现docx.docx

上传人:b****1 文档编号:11080094 上传时间:2023-05-29 格式:DOCX 页数:69 大小:1.42MB
下载 相关 举报
家庭理财系统的设计与实现docx.docx_第1页
第1页 / 共69页
家庭理财系统的设计与实现docx.docx_第2页
第2页 / 共69页
家庭理财系统的设计与实现docx.docx_第3页
第3页 / 共69页
家庭理财系统的设计与实现docx.docx_第4页
第4页 / 共69页
家庭理财系统的设计与实现docx.docx_第5页
第5页 / 共69页
家庭理财系统的设计与实现docx.docx_第6页
第6页 / 共69页
家庭理财系统的设计与实现docx.docx_第7页
第7页 / 共69页
家庭理财系统的设计与实现docx.docx_第8页
第8页 / 共69页
家庭理财系统的设计与实现docx.docx_第9页
第9页 / 共69页
家庭理财系统的设计与实现docx.docx_第10页
第10页 / 共69页
家庭理财系统的设计与实现docx.docx_第11页
第11页 / 共69页
家庭理财系统的设计与实现docx.docx_第12页
第12页 / 共69页
家庭理财系统的设计与实现docx.docx_第13页
第13页 / 共69页
家庭理财系统的设计与实现docx.docx_第14页
第14页 / 共69页
家庭理财系统的设计与实现docx.docx_第15页
第15页 / 共69页
家庭理财系统的设计与实现docx.docx_第16页
第16页 / 共69页
家庭理财系统的设计与实现docx.docx_第17页
第17页 / 共69页
家庭理财系统的设计与实现docx.docx_第18页
第18页 / 共69页
家庭理财系统的设计与实现docx.docx_第19页
第19页 / 共69页
家庭理财系统的设计与实现docx.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

家庭理财系统的设计与实现docx.docx

《家庭理财系统的设计与实现docx.docx》由会员分享,可在线阅读,更多相关《家庭理财系统的设计与实现docx.docx(69页珍藏版)》请在冰点文库上搜索。

家庭理财系统的设计与实现docx.docx

家庭理财系统的设计与实现docx

第一章实验设计课题与要求…………………………………………………2

第二章系统的调查与分析…………………………………………………3

2.1课题背景…………………………………………………………3

2.2可行性分析…………………………………………………………3

2.2.1经济可行性…………………………………………………3

2.2.2技术可行性和运行可行性………………………………3

第三章数据库分析与建立

3.1数据需求……………………………………………………………4

3.2数据字典……………………………………………………………4

3.2.1用户表的数据流……………………………………………4

3.2.2成员表的数据流……………………………………………5

3.3.3收支表的数据流……………………………………………5

3.3.4借贷表的数据流……………………………………………5

3.3.5银行表的数据流……………………………………………5

3.3系统E-R图…………………………………………………………6

3.4数据流图……………………………………………………………7

3.5数据库的建立………………………………………………………7

第四章系统的设计与实现……………………………………………………8

4.1系统与数据库的链接………………………………………………8

4.2系统界面的设计与实现…………………………………………8

4.2.1登录界面的设计……………………………………………8

4.2.2主界面的设计………………………………………………9

4.2.3家庭理财界面的设计………………………………………10

4.2.4理财报表与报表打印的设计………………………………16

4.2.5选项界面(包括成员管理和密码修改)…………………18

第五章设计心得与体会……………………………………………………19

附录:

源代码清单……………………………………………………………20

 

第一章:

实验设计课题与要求

实验设计课题:

家庭理财系统

1、设计要求:

本系统要求对家庭的收入情况,预计支出情况,实际支出情况,投资情况,消费情况和存款情况进行系统性的分析、设计,并形成系统设计说明书。

同时用DELPHI或VB来实现该系统,。

目的是通过收支系统的分析,使各家庭对自己的家庭财务有一个全面的了解和分析,以便能作到节约开支,细水长流,同时进行必要的投资。

2、编程语言为DELPHI或VB语言。

3、系统功能具备:

(1)、提供便捷、美观及丰富的界面以便能录入各类数据。

(2)、动态查询各类信息。

(3)、能用图形、报表和表格三种形式对收支情况进行分析和统计。

(4)、能打印各类统计信息。

(5)、应用程序采用多文挡界面的风格。

(6)、尽量用菜单。

(7)、界面的风格要多样化,但必须满足用户的要求。

(8)、打印源程序、主要界面和报表。

4、关键技术:

(1)、系统的调查和分析方法。

(2)、E-R图、数据流图、数据字典、规范化理论。

(3)、系统设计说明书。

(4)、数据库的设计方法。

(5)、Delphi中的SQL语言。

(6)、DELPHI的IDE集成开发环境。

(7)、PASCAL语言。

(8)、数据库应用程序的设计。

5、参考资料:

(1)、Delphi6.0以上版本的参考书。

(2)、《数据库系统概论》,萨师煊、王珊主编,高等教育出版社,

2000,2月,第三版。

第二章:

系统的调查与分析

2.1课题背景

近年来,计算机技术飞速发展几乎超出了人们的想象,硬件的更新换代速度更是以级数进行。

计算机在处理对象、处理方法上都发生了很大的变化。

作为计算机科学的重要分支——数据库技术,也被越来越多的应用领域采用来存储和处理他们的信息资源。

计算机已经不再仅仅是科学研究的工具,它越来越多地影响到了我们生活的诸多方面,更多的应用软件出现在了我们的身边,给人们生活的方方面面都带来了极大的便利。

近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的开销与收入也越来越多,很多人对于日常帐目的管理感到越来越力不从心,收支管理已刻不容缓,在大多数家庭里,由于计算机知识的缺乏,人们还采用手写记帐的方法,这种管理方法存在跟多缺陷,如:

效率低、保密性差,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困难。

家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支情况查询和录入,以及有关数据的打印输出,有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息。

理财系统在强调管理,强调信息,强调经济效益的现代社会中越来越普及,越来越重要。

而理财一直运用于企业单位,是体现一个企业的竞争力,市场力和凝聚力的方面,可以说,没有一个符合企业状况的理财系统,这样的企业就没有良好的发展前景。

现在,收支管理不再仅仅是企业所要具备的,小到一个家庭,也是必不可少的。

本人的这个家庭理财系统就是为家庭而设计的,通过这个程序,我们可以便捷的记录每年每月每天的日常开销和收入,我们只需要点击鼠标,就可以计算出收支的平衡情况,为家庭的理财提供帮助,有利于收支的良性发展。

2.2可行性分析

目的:

可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。

2.2.1经济可行性

计算机的价格已经十分低廉,性能却有了长足的进步。

而本系统的开发,为家庭的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动;

第二,本系统的运行可以节省许多资源;

第三,本系统的运行可以大大的提高家庭的工作效率;

第四,本系统可以使敏感文档更加安全,等等。

所以,本系统在经济上是可行的。

2.2.2技术可行性和运行可行性

为了有助于更好地进行系统的开发,我对自己社会普通家庭的收入情况进行了初步的了解,现在普通家庭的固定收入在几千圆左右,每月在衣食住行各个方面至少要1000圆左右的开销,加上各种固定的各项费用,方方面面很复杂,很难清楚明了地记录下来,一般是采用手工记帐,这样很麻烦,也算不清楚帐,每个月都要花大量的时间在算钱上。

而由于一些比较缺乏电脑方面的知识,所以,电脑对他们来说只是摆设,但只要安装家庭理财系统,他们将只需要点击鼠标就可以十分便捷地对家庭的收支情况进行统计和计算。

本系统的开发我利用SQLServer2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于各种大中小规模的数据量需求。

使用DELPHI做为本系统的开发环境,DELPHI拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。

Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。

开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。

它作为一种现代化的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供了保障。

综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。

本系统为一个小型的家庭理财系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。

 

第三章:

数据库分析与建立

3.1数据需求

根据系统的需求,首先将要记录的信息分类,要记录的信息如下:

(1)、用户表:

用户名、密码;

(2)、成员表:

成员、生日、称呼、备注;

(3)、收支表:

类型、日期、金额、项目、成员、备注;

(4)、借贷表:

类型、日期、金额、项目、成员、备注;

(5)、银行表:

类型、日期、卡号、金额、项目、成员、备注;

根据这些需求,本系统需要5个表:

“用户表”用于用户登录、“成员表”用于用户添加家庭成员、“收支表”“借贷表”“银行表”用于用户对日常现金、存折的收支进行管理。

3.2数据字典

3.2.1用户表的数据流

列名

数据类型

长度

允许空

标识

主键

ID

int

4

是,自动增长

用户名

char

10

密码

varchar

10

3.2.2成员表的数据流

列名

数据类型

长度

允许空

主键

成员

Char

10

生日

Datetime

8

称呼

Char

10

备注

text

16

3.2.3收支表的数据流

列名

数据类型

长度

允许空

标识

主键

ID

Int

4

是,自动增长

类型

Char

10

日期

Datetime

8

金额

Float

8

项目

Char

10

成员

Char

10

备注

text

16

3.2.4借贷表的数据流

列名

数据类型

长度

允许空

标识

主键

ID

Int

4

是,自动增长

类型

Char

10

日期

Datetime

8

金额

Float

8

项目

Char

10

成员

Char

10

备注

text

16

3.2.5银行表的数据流

列名

数据类型

长度

允许空

标识

主键

ID

Int

4

是,自动增长

类型

Char

10

日期

Datetime

8

卡号

char

10

金额

Float

8

项目

Char

10

成员

Char

10

备注

text

16

3.3系统E-R图

 

 

3.4数据流图

3.5数据库建立

直接打开MSSQL工具“企业管理器”,新建一个数据库名为“家庭理财系统”,而后在建好的数据库中根据需要新建表:

用户表、成员表、收支表、借贷表、银行表,依据数据字典中各个表的要求设计表。

 

第四章:

系统的设计与实现

4.1系统与数据库的链接

使用ADOConnection控件与SQL中的“家庭理财系统”数据库进行链接,双击该控件如下图所示进行链接:

4.2系统界面的设计与实现

4.2.1登录界面的设计

在进入系统之前,必须要有符合本系统的用户以及每个用户对应的密码。

如果没输入用户名或密码,点击登入将会提示用户名或密码不能为空。

如果用户名错误和用户的密码不符合将会提示用户名错误或密码错误,请重新输入。

具体界面如图4.2.1所示。

本系统默认用户名:

admin和密码:

admin,用户可以在首次登录之后在系统里面更改密码。

用户名与密码都正确后点击“登录”按钮将会进入系统主界面,点击“退出”将会退出整个系统。

procedureTForm10.RzBitBtn1Click(Sender:

TObject);

begin

if(edit1.Text='')

or(edit2.Text='')then

begin

showmessage('用户名或密码不能为空!

');

end

else

begin

adoquery1.Close;

adoquery1.SQl.Clear;

adoquery1.sql.Add('select*from用户表where用户名='''+edit1.Text+'''');

adoquery1.Open;

ifadoquery1.Fields[0].Value<>nullthen

begin

ifadoquery1.FieldByName('密码').AsString=Trim(Edit2.Text)then

begin

self.Hide;

Main.Show;

end

else

begin

showmessage('密码错误,请重新输入');

Edit2.Clear;

Edit2.SetFocus;

end;

end

else

begin

showmessage('用户名错误,请重新输入');

Edit1.Clear;

Edit2.Clear;

Edit1.setFocus;

end;

end;

end;

图4.2.1登录界面

4.2.2主界面的设计

主界面是用户登录后进入的可以选择系统功能操作的界面,为实现提供便捷、美观及丰富的界面以便能录入各类数据,以及界面的风格要多样化,但必须满足用户的要求的标准,对主界面的设计采用MDI多文档界面风格,主界面包含主菜单和工具栏,方便用户对系统功能进行选择,主菜单包括系统设置(关于、退出系统)、家庭理财、理财报表(收支报表、借贷报表、存取报表)、选项(成员管理、修改密码)和系统工具(计算器)。

工具栏主要包括一些用户常用的功能。

方便用户快捷的选择系统功能。

主界面主页有统计总表,用户可以查询每年的总收入、总支出与总余额,系统会统计数据库信息表里面的收入总和、支出总和以及总余额,方便用户对年总收支的掌握以及对总余额的知晓。

主界面具体如图4.2.2所示。

主界面下方能显示当前用户、当前具体时间等。

图4.2.2系统主界面

 

4.2.3家庭理财界面的设计

通过点击选择理财界面左侧导航栏进行相关信息操作,左侧导航栏包括日常收支、债权债务(即日常借贷)、银行存取,用户可以选择对收支信息、借贷信息和存取信息的添加、修改、删除,实现对收支理财的管理。

导航栏还包括日常查询功能,用户可以查询收支明细、借贷明细和银行存取明细。

点击工具栏上的返回主页则会推出理财界面返回系统主界面。

理财界面具体如图4.2.3.1所示。

图4.2.3.1理财界面

日常管理:

用户通过选择下拉框中的类型(如收入、支出、借入、借出、存入、取出)、日期、成员,和录入金额数目、项目(如金额的来源、去处等)、备注,实现对日常收支、借贷、银行存取信息的添加管理,表中可以实现对数据的删除、修改。

收支管理界面如图4.2.3.2所示,借贷管理界面如图4.2.3.3所示,银行存取界面如图4.2.3.4所示。

日常查询:

用户可以根据类型、日期范围、具体某天动态的查询收支信息、借贷信息、银行存取信息,而根据查询结果会给出相应的金额统计结果(如某段时间或某天的收入、支出总和),实现用户根据动态查询结果得出金额统计,从而能对收支信息、借贷信息以及存取信息能有比较具体形象的了解,方便用户对家庭财务有个快捷具体的了解。

收支明细界面如图4.2.3.5所示,借贷明细界面如图4.2.3.6所示,银行存取明细界面如图4.2.3.7所示。

图4.2.3.2收支管理界面

图4.2.3.3借贷管理界面

图4.2.3.4银行存取管理界面

图4.2.3.5收支明细界面

图4.2.3.6借贷明细界面

图4.2.3.7银行存取明细界面

4.2.4理财报表与报表打印的设计

根据对数据库中表内信息以及关系的分析,本系统采用Qreport主从报表设计方案,主表是成员信息表,从表是收支信息表、借贷信息表或银行存取信息表。

根据不同成员可查看相对应的收支信息、借贷信息或存取信息。

通过Datasource以及ADODataset报表与打印预览链接。

收支报表打印界面如图4.2.4.1所示,收支报表打印预览如图4.2.4.2所示,借贷报表打印界面如图4.2.4.3所示,银行存取报表打印界面如图4.2.4.4所示。

打印按钮与打印预览程序代码如下:

procedureTForm4.RzBitBtn1Click(Sender:

TObject);//打印

begin

Form3.QuickRep1.Print;

end;

procedureTForm4.RzBitBtn2Click(Sender:

TObject);//打印预览

begin

Form3.QuickRep1.Preview;

end;

图4.2.4.1收支报表打印界面

 

图4.2.4.2收支报表打印预览界面

 

图4.2.4.3借贷报表打印界面

图4.2.4.4银行存取报表打印界面

4.2.5选项界面的设计(包括成员管理和密码修改)

用户可以实现对家庭成员信息的添加、查询、修改、删除以及修改自身密码等。

成员管理界面如图4.2.5.1所示,修改密码界面如图4.2.5.2所示。

图4.2.5.1成员管理界面(上)图4.2.5.2修改密码界面(下)

第五章:

设计心得与体会

通过做课程设计,有几点感想,归纳如下:

1.扎实的理论基础。

如果不掌握它们,很难写出高水平的程序。

而这一点又是我们所缺乏的。

2.不钻牛角尖。

当遇到障碍的时候,暂时远离电脑,当重新开始的时候,也许会发现那些难题现在竟然可以迎刃而解。

  

3.多与别人交流。

三人行必有我师。

4.良好的编程风格。

注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。

如果注释和代码不一致,那就更加糟糕。

5.数据库讲求的是整体,只有在整体的情况下完善局部,才能做出一个好的数据库。

还有就是图形统计分析因为建表时的考虑不周使得上手很难,最后时间用于做图形统计分析很少,导致这一功能没有完成,这是一个很大的缺陷!

这个问题在我完成了设计之后都无法解决。

希望老师能给些指点。

 

参考文献:

1、《数据库系统概论》,萨师煊、王珊主编,高等教育出版社,

2000,2月,第三版。

2、《Delphi技术方案宝典》,明日科技梁冰、李钟慰、吕双主编,人民邮电出版社,2008年1月第1版。

3、《Delphi开发经验技巧宝典》,明日科技编著,人民邮电出版社,2007年11月第1版。

 

附录:

源代码清单

unitUnit10;//登录界面代码

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,RzButton,StdCtrls,jpeg,ExtCtrls,DB,ADODB;

type

TForm10=class(TForm)

Panel1:

TPanel;

Image1:

TImage;

Label1:

TLabel;

Label2:

TLabel;

Label3:

TLabel;

Edit1:

TEdit;

Edit2:

TEdit;

RzBitBtn1:

TRzBitBtn;

RzBitBtn2:

TRzBitBtn;

ADOConnection1:

TADOConnection;

ADOQuery1:

TADOQuery;

procedureRzBitBtn1Click(Sender:

TObject);

procedureRzBitBtn2Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form10:

TForm10;

implementation

usesunit2;

{$R*.dfm}

procedureTForm10.RzBitBtn1Click(Sender:

TObject);

begin

if(edit1.Text='')

or(edit2.Text='')then

begin

showmessage('用户名或密码不能为空!

');

end

else

begin

adoquery1.Close;

adoquery1.SQl.Clear;

adoquery1.sql.Add('select*from用户表where用户名='''+edit1.Text+'''');

adoquery1.Open;

ifadoquery1.Fields[0].Value<>nullthen

begin

ifadoquery1.FieldByName('密码').AsString=Trim(Edit2.Text)then

begin

self.Hide;

Main.Show;

end

else

begin

showmessage('密码错误,请重新输入');

Edit2.Clear;

Edit2.SetFocus;

end;

end

else

begin

showmessage('用户名错误,请重新输入');

Edit1.Clear;

Edit2.Clear;

Edit1.setFocus;

end;

end;

end;

procedureTForm10.RzBitBtn2Click(Sender:

TObject);

begin

Application.Terminate;

end;

end.

unitUnit2;//主界面代码

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,Menus,ToolWin,ComCtrls,RzPanel,RzButton,ExtCtrls,ImgList,

DB,ADODB,RzStatus,jpeg,StdCtrls,Mask,RzEdit,RzSpnEdt,RzLabel,

Grids,RzGrids;

type

TMain=class(TForm)

MainMenu1:

TMainMenu;

N1:

TMenuItem;

N2:

TMenuItem;

N3:

TMenuItem;

N5:

TMenuItem;

N6:

TMenuItem;

N7:

TMenuItem;

ImageList1:

TImageList;

RzToolbar1:

TRzToolbar;

RzToolButton1:

TRzToolButton;

RzSpacer1:

TRzSpacer;

RzToolButton2:

TRzToolButton;

RzSpacer2:

TRzSpacer;

RzToolButton3:

TRzToolButton;

RzSpacer3:

TRzSpacer;

RzToolButton4:

TRzToolButton;

RzSpacer4:

TRzSpacer;

RzToo

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2