家庭财务管理系统分析与设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

家庭财务管理系统分析与设计
毕业设计(论⽂)
学院:
专业:
姓名:指导⽼师:
学号:
职称:⼆○⼀三年四⽉
家庭财务管理系统分析与设计
摘要
每个家庭的财政是其最重要的部分,只有管理好财政才能享受⽣活,⽽且随着⽣活节奏的加快,管理财政的时间越来越少,使得⼤家⽆从归还⾃⼰的财政⽀出,越过越拮据。

所以家庭财务管理系统可以减少您在财政管理上的时间,以更⾼的效率去⼯作,有计划的安排⾃⼰与家⼈的⽣活。

本系统采⽤b/s结构,使⽤jsp技术制作⽹站页⾯,⽤JAVA语⾔实现数据库连接及功能模块,使⽤SQLSERVER数据库作为系统数据库,开发⼀个具有帐簿管理、家庭成员管理、收⽀项⽬管理、报表统计的管理系统。

关键词:家庭财务管理 b/s
Family financial management system analysis and design
Abstract
Each financial is the most important part of the family, can only enjoy life, to manage finance and as the accelerating rhythm of life, manage fiscal time less and less, that we have no way to return her financial expenditure, across the pinch. So the family financial management system can reduce your time on financial management, with higher efficiency to work and planned to arrange his life with his family.
This system adopts b/s structure, using the JSP technology web page, use JAVA language to achieve database connection and function modules, with essentially a database as the database system, developing a books management, family management, project management, statistics report of management system.
Key words: family financial management Web B / S
⽬录
摘要.................................................................... I A BSTRACT.................................................................. II 1引⾔. (1)
1.1开发背景 (1)
1.2开发⽬标 (1)
1.3系统的主要功能 (1)
1.4系统的特点 (1)
1.5开发技术环境 (2)
1.5.1JSP简介 (2)
1.5.2S ERVLET技术简介 (3)
1.5.3数据库的概念 (4)
1.5.4“结构化查询语⾔”(SQL)简介 (5)
1.5.5开发⼯具简介 (6)
1.5.6系统运⾏平台 (7)
2系统分析 (8)
2.1系统可⾏性分析 (8)
2.1.1普及率的可⾏性 (8)
2.1.2技术实施的可⾏性 (8)
2.1.3经济的可⾏性 (9)
2.1.4政治的可⾏性 (9)
2.2⽤例图 (9)
3系统设计 (11)
3.1系统总体设计 (11)
3.1.1总体结构图 (11)
3.2数据库设计 (12)
3.3系统功能设计 (13)
3.3.1账簿管理 (13)
3.3.2成员管理 (17)
3.3.3⽀项⽬管理 (19)
3.3.4报表统计 (21)
5系统测试 (23)
5.1测试概念 (23)
5.2测试⽬标 (23)
总结 (24)
参考⽂献 (25)
1 引⾔
1.1 开发背景
每个家庭的财政是其最重要的部分,只有管理好财政才能享受⽣活,⽽且随着⽣活节奏的加快,管理财政的时间越来越少,使得⼤家⽆从归还⾃⼰的财政⽀出,越过越拮据。

所以家庭财务管理系统可以减少您在财政管理上的时间,以更⾼的效率去⼯作,有计划的安排⾃⼰与家⼈的⽣活。

1.2 开发⽬标
本次将设计⼀套⽅便、实⽤的家庭财务管理系统,把适合家庭化管理的各种理财⼿段及家庭⽇常收⽀管理实现计算机化管理,使对家庭及家庭成员的收⽀活动更好地进⾏记录并加以统计分析成为可能,也使家庭理财变得⽅便,快捷,全⾯。

1.3 系统的主要功能
1、帐簿管理
2、家庭成员管理
3、收⽀项⽬管理
4、报表统计
1.4 系统的特点
本系统主要具有⼏个显著的特点:
(1)系统界⾯友好,功能实⽤且操作⽐较快捷简单。

(2)开发系统所⽤的周期短,维护费⽤低,软件的更新速度也较快,具有可靠安全性、可维护性的特点。

(3)系统从开发到完成,考虑的都是要很好地实现⼈机交互,能够让操作⼈员,特别是对计算机知识、⽹络知识不是很熟悉的⼈员,也能够快速地使⽤和操作该系统。

(4)在操作⼈员因某种原因输⼊了错误的数据时,系统会⾃动提⽰数据输⼊有误,这样保证操作⼈员输⼊数据的准确⽆误。

(5)同时,系统采⽤B/S的架构体系,维护和升级⽅式简单,成本降低,选择也更多。

1.5 开发技术环境
1.5.1 JSP简介
Java Server Pages(JSP)技术,已成为web软件开发者们最喜爱的⼯具. 通过JSP,开发者们设计动态⽹页时可以不必了解其他项⽬的知识. 同时,web开发者们可以⽤⼀个可扩展的标签机制去增强软件成分后台能⼒.
在延伸发展的过程中通过Java的⼀致性⽅法提供更多的⽀持,以发展⽀持多种语⾔的应⽤软件. Java Server Pages标准标签库规定,在其他的函数中,可以把标签定位成适合⾃⼰使⽤的格式.
由上可以看出,本⽂⾸先简短地介绍Java Server Pages的技术,这样可以你更好地了解如何利⽤这些去解决国际化的问题。

稍后我讨论的⼏个关键问题在于发展基于多种语⾔web应⽤,并说明如何解决这些问题通过Java Server Pages:如编码的特性、格式和和对它的分析。

Java Server Pages的技术
Java Server Pages(和⼀些相关的技术)的构成了web应⽤层. 通过JSP,设计者们在⽹络上能创造动态⽹页、交互、商业逻辑、数据库和其他⼀些服务.
Java Server Pages
⽹页开发者们利⽤的JSP技术是由HTML,XML或其他内容有静态XML式的标签,连接软件库的基本软件,以及典型的Java程序语⾔编写的. Java技术,尤其重要的是JavaBeans 组件架构(作为通⽤JSP衔接Java的接⼝)、Java数据库连接(JDBC)连接SQL 数据库,供各种XML库来处理. 编辑JSP本⾝就是把Java代码的编译成servlets执⾏. servlets是web服务器的扩展,现已编⼊相关的服务器,因此执⾏速度⽐Scripting语⾔快. Servlets 直接地⽤Java语⾔进⾏编程并且和JSP页语⾔常常在⼀起使⽤,servlets充当管理员的⾓⾊⽽JSP作为应⽤程序的的视图. JavaServer和后台的servlet处理技术提供了⼴泛的⽀持和响应HTTP请求信息以及维修通过cookies或URL重写.
使⽤JSP技术的⼀个重要原因是,它使⽹页作者和应⽤开发⼯作者们分开. 当它是可以直接嵌⼊到JSP页声明Java时,开发者们已经认识到这是⽬前最好的选择,避免标签习惯.
Java Server Pages标准标签库
Java Server Pages标准标签库 (JSTL)包含⼏个⽅⾯的习惯⾏为包括在JSP中常⽤的
功能。

标签库借鉴的经验,它的许多⽅⾯都取得了发展⾃⼰的库,并提供了标准接⼝,可以依赖的应⽤软件,他们独⽴于服务器运⾏.
除了传统的标签外,JSTL还引⼊了语⾔表达,这使在JSP页中进⼀步降低scripting语⾔表达,并且标签库有效地限制在JSP⽹页中使⽤scripting和标签库. 强化语⾔⽂字的表达,并能抑制scripting,已经被并⼊了JSP2.0规格,因此JSTL只有在JSP1.2中才需要使⽤只是它们.
传统的标签主要涉及的领域是:
可变操控: 在"核⼼"库中的⼀些⾏动让你定义变量在各种变数范围(页,请求,会议,和应⽤),除去它们,或使之成为新产⽣的⼀页.
流量控制: "核⼼"库中的⼀些⾏为提供基于流量控制结构--例如引起条件反应的和迭代器--必须消除scripting语⾔嵌⼊代码.
URL有关的⾏动: "核⼼"库中的⼀些⾏为,让JSP⼊⼝的内容界定URL,重写URL的形式从内部对外部形式(这可能包括收集资料,追踪信息),或以不同的⽅式⽹页.
XML处理: "XML"库的⾏为包括分解XML⽂件并且提取使⽤XPath表⽰,基于流量控制XPath 表⽰,⽤XSLT格式来转换.
进⼊相关数据库: "SQL"库的⼀些⾏为允许web应⽤程序去执⾏简单SQL查询和更新. 在设计基于多种语⾔的web应⽤程序时,你必须⾸先决定如何确定⽤户的语⾔和喜好,如何选择符合这些规定. 本节⾸先介绍了web应⽤的外部环境和必须处理的条件.
1.5.2 Servlet技术简介
Servlet最早是作为Apache Jakarta项⽬的组成部分问世运作。

项⽬的创⽴者希望通过对该项⽬的研究,改进和提⾼Java
Server Pages、Servlet、标签库以及⾯向对象的技术⽔准。

Servlet这个名字来源于在建筑和旧式飞机中使⽤的⽀持⾦属架。

它的⽬的是为了减少在运⽤MVC设计模型来开发Web应⽤的时间。

你仍然需要学习和应⽤该架构,不过它将可以完成其中⼀些繁重的⼯作。

Servlet跟Tomcat、Turbine等诸多Apache项⽬⼀样,是开源软件,这是它的⼀⼤优点,使开发者能更深⼊的了解其内部实现机制。

除此之外,Servlet的优点主要集中体现在两个⽅⾯:Taglib和页⾯导航。

Taglib是JSP的标记库,灵活动⽤,能⼤⼤提⾼开发效率。

另外,就⽬前国内的JSP开发者⽽⾔,除
了使⽤JSP⾃带的常⽤标记外,很少开发⾃⼰的标记,或许Servlet是⼀个很好的起点。

关于页⾯导航,我认为那将是今后的⼀个发展⽅向,事实上,这样做,使系统的脉络更加清晰。

通过⼀个配置⽂件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫⼤的好处。

尤其是当另⼀批开发者接⼿这个项⽬时,这种优势体现得更加明显。

1.5.3数据库的概念
数据库是以数据(数据就是对客观事物的符号表⽰,是存储在计算机中的模拟客观事物的⼀系列信息。

对于计算机科学⽽⾔,数据的含义极为⼴泛,凡是可存储的信息,如⽂本、图象、声⾳等都可以通过⼆进制编码⽽形成数据)为对象,指为了满⾜某种特定应⽤的需要,按照⼀定的数据模型在计算机系统中组织、存储和使⽤数据的数据集合。

数据库系统是管理⼤量的、持久的、可靠的和共享的数据的⼯具。

数据库有以下特点:
(1)集成性:数据有两层含义,⼀个是数据本⾝,⼀个是数据之间的关系。

集成就是指把数据集中到⼀起来,按照⼀定的结构形式进⾏存储,并通过⼀系列的机制约束数据之间的关系,避免数据重复或不合要求。

(2)量⼤性:数据库中存放的数据量⼀般都⽐较庞⼤,不能同时在内存中全部调⽤,⽽只能通过外部存储器存储,通常使⽤⼤容量的可移动磁盘或硬盘等设备。

(3)共享性:指多个不同的⽤户,为了不同的⽬的,可以使⽤不同的语⾔,通过不同的⽅式,访问同⼀个数据库,⽽访问的范围、可执⾏的操作会有所区别。

数据库系统会提供相应的机制,保证这种共享在有序的条件下进⾏,可以避免因为同步⽽造成的错误。

(4)持久性:⼀般来说,数据库中是数据都需要长期保存。

在管理平台系统中,Web提供了与客户进⾏通信联络的有效⼿段,得⽤Web技术,可实现Web服务器与数据库系统的连接,完成对数据的处理与查询。

⽤户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。

实现Web服务器与数据库的连接最主要的⽅法之⼀:是利⽤中间件技术在两者之间建⽴连接和通信,如CGI和JSP应⽤编程接⼝。

Web 服务器通过调⽤CGI程序实现与Web浏览器的交互,即CGI程序接受浏览器发给Web服务器的信息,进⾏处理后,将相应结果再送给Web服务器,通过Web服务器将信息传送给浏览器。

但CGI程序在响应速度和资源利⽤等⽅⾯有较⼤局限性,客户端每请求⼀个CGI程序,服务器便打开⼀个进程,当请求的数量较⼤时容易引起“瓶颈”现象。

因此,开发⼈
员常利⽤JSP编程来扩展服务器功能,JSP程序占⽤系统资源少,运⾏效率较⾼,但它的编程较CGI程序更为复杂。

1.5.4“结构化查询语⾔”(SQL)简介
“结构化查询语⾔”(SQL)是数据库的标准语⾔。

在Active Sever Pages 中,⽆论何时你要访问⼀个数据库,你就要使⽤SQL 语⾔。

因此,掌握好SQL对ASP编程是⾮常重要的。

所有SQL数据库中的数据都存储在表中。

⼀个表由⾏和列组成。

这种语⾔被设计为不允许你按照某种特定的顺序来取出记录,因为这样做会降低SQL Sever取记录的效率。

使⽤SQL,你只能按查询条件来读取记录。

当你执⾏⼀个SQL查询时,通过使⽤包括逻辑运算符的查询条件,你可以得到⼀个记录列表。

此时查询结果是来⾃⼀个或多个表。

SQL查询的句法⾮常简单。

假设有⼀个名为email_table 的表,包含名字和地址两个字段,要得到Bill Gates 的email地址,你可以使⽤下⾯的查询:
SELECT email from email_table WHERE name=”Bill Gates”
SELECT语句的结构看起来很直观。

如果你请⼀个朋友从⼀个表中为你选择⼀组记录,你也许以⾮常相似的⽅式提出你的要求。

在SQL SELECT语句中,你“SELECT特定的列FROM ⼀个表WHERE某些列满⾜⼀个特定的条件”。

SQL中的常⽤语句:
(1)添加语句:向表中添加⼀个新记录。

Insert table(column)values(‘somedata’)
(2)删除语句:从表中删除⼀条或多条语句。

Delete table where first=’deleteme’
(3)更新记录:更改表中已经存在的⼀条记录或多条记录。

Updata {table name}[{ table name }]where clause
(4)⽤select创建记录和表
insert table(first_column,second_column)
select another_first_column,another_sencond_column
from anothertable
where another_first_column=’copy me’
这条语句从anothertable拷贝记录到table中,只有anothertable中字段为
another_first_column的值为copy me的记录被拷贝。

1.5.5 开发⼯具简介
(1)MyEclipse
MyEclipse企业级⼯作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利⽤它我们可以在数据库和JavaEE的开发、发布以及应⽤程序服务器的整合⽅⾯极⼤的提⾼⼯作效率。

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整⽀持
HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。

(2)jdk1.6
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。

⾃从Java 推出以来,JDK已经成为使⽤最⼴泛的Java SDK。

JDK 是整个Java的核⼼,包括了Java 运⾏环境,Java⼯具和Java基础的类库。

JDK是学好Java的第⼀步。

⽽专门运⾏在x86平台的Jrocket在服务端运⾏效率也要⽐Sun JDK好很多。

从SUN的JDK5.0开始,提供了泛型等⾮常实⽤的功能,其版本也不断更新,运⾏效率得到了⾮常⼤的提⾼.
JDK包含的基本组件包括:
javac –编译器,将源程序转成字节码
jar –打包⼯具,将相关的类⽂件打包成⼀个⽂件
javadoc –⽂档⽣成器,从源码注释中提取⽂档
jdb – debugger,查错⼯具
java –运⾏编译后的java程序(.class后缀的)
appletviewer:⼩程序浏览器,⼀种执⾏HTML⽂件上的Java⼩程序的Java浏览器。

Javah:产⽣可以调⽤Java过程的C过程,或建⽴能被Java程序调⽤的C过程的头⽂件。

Javap:Java反汇编器,显⽰编译类⽂件中的可访问功能和数据,同时显⽰字节代码含义。

Jconsole: Java进⾏系统调试和监控的⼯具
(3)tomcat
Tomcat 很受⼴⼤程序员的喜欢,因为它运⾏时占⽤的系统资源⼩,扩展性好,⽀持负载平衡与邮件服务等开发应⽤系统常⽤的功能;⽽且它还在不断的改进和完善中,任何⼀个感兴趣的程序员都可以更改它或在其中加⼊新的功能。

Tomcat 是⼀个轻量级应⽤服务器,在中⼩型系统和并发访问⽤户不是很多的场合下被普遍使⽤,是开发和调试JSP 程序的⾸
选。

对于⼀个初学者来说,可以这样认为,当在⼀台机器上配置好Apache 服务器,可利⽤它响应对HTML 页⾯的访问请求。

实际上Tomcat 部分是Apache 服务器的扩展,但它是独⽴运⾏的,所以当你
Apache Tomcat
运⾏tomcat 时,它实际上作为⼀个与Apache 独⽴的进程单独运⾏的
1.5.6 系统运⾏平台
操作系统:Windows 9X、Windows NT Workstation/Server 4.0以上、Windows 2000 Server/Professional、Windows XP Professional。

CPU:没有很⾼的要求,只要能够顺利运⾏Windows系列操作系统就可以了。

当然,CPU的处理速度越快,运⾏JSP代码的效率越⾼。

内存:最低配置128MB,建议使⽤256MB以上内存,如果使⽤Windows 2000或Windows XP 建议使⽤256MB以上内存。

硬盘空间:⾄少需要50MB以上的硬盘空间来安装所需的组件。

2 系统分析
2.1 系统可⾏性分析
2.1.1 普及率的可⾏性
每个家庭的财政是其最重要的部分,只有管理好财政才能享受⽣活,⽽且随着⽣活节奏的加快,管理财政的时间越来越少,使得⼤家⽆从归还⾃⼰的财政⽀出,越过越拮据。

本次将设计⼀套⽅便、实⽤的家庭财务管理系统,把适合家庭化管理的各种理财⼿段及家庭⽇常收⽀管理实现计算机化管理,使对家庭及家庭成员的收⽀活动更好地进⾏记录并加以统计分析成为可能,也使家庭理财变得⽅便,快捷,全⾯。

2.1.2 技术实施的可⾏性
现⾏系统是⼿⼯运作的系统,可以⽀持向各部门提供查询服务功能,但是,存在以下薄弱环节:
1.现⾏系统是⼿⼯运作的系统,⼿⼯作业量⼤,数据传递不及时,对数据的统计和计算运程中易发⽣差错,⼯作效率较低。

2.流程管理不够严密。

3.不能满⾜管理要求(例如不能统计、实时状况统计等信息)。

4.提供的资料⼿⼯书写,常发⽣字迹不清晰的问题,并且格式也不统⼀。

5.信息的查询也不⽅便。

现⾏系统的上述弱点,实质上反映信息管理的过程中,对信息的产⽣、传输、加⼯与挖掘分析利⽤⽅⾯存在不⾜,不能满⾜管理与业务发展的要求,也对⼩区形象造成不利的影响。

这也正是提出新系统的直接原因。

根据实际情况,我们使⽤以少量代价快速地构造⼀个可执⾏的软件系统模型。

我们可以较快地确定需求,然后采⽤循环进化的开发⽅式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满⾜。

现代计算机软硬件的发展使得本系统具有良好的操作界⾯,简单直接的操作界⾯,具有较强的⼈机对话能⼒,⽀持多种汉字输⼊⽅式,其适应性强,显⽰内容简单明了,使操作者不必具有较⾼⾼的计算机专业知识,也不必进⾏专门培训,稍⼀接触就可以上⼿进⾏所有操作。

2.1.3 经济的可⾏性
本系统旨在提⾼⼯作效率、降低劳动成本,在经济上⽆疑是为企业创造了具⼤的价值。

本系统运⾏所需要的环境也是⾮常便宜的,普通的电脑即可以满⾜。

并且以JAVA WEB 作为开发语⾔和技术,在后期维护上的费⽤也很低。

综合所述,经济上也是可⾏的。

2.1.4 政治的可⾏性
本系统纯为私⼈设计,在开发过程中没有涉及合同、责任等与法律相抵触的⽅⾯。

因此,本系统在法律上是可⾏的。

2.2⽤例

(1)家庭管理员,完成系统管理与维护,例如,维护家庭成员信息,收⽀等。

图⼀管理员⽤例图
(2)普通⽤户则可查询家庭成员信息与管理⾃⼰的账⽬。

查看成员增加成员
编辑成员
删除成员
查看账⽬
增加⾃⼰的账⽬
编辑⾃⼰的账⽬
删除⾃⼰的账⽬
管理员
普通⽤户
查看成员和账⽬
删除⾃⼰的账⽬增加⾃⼰的账⽬编辑⾃⼰的账⽬
图⼆家庭成员⽤例图
3 系统设计
3.1 系统总体设计
3.1.1 总体结构图
图⼀家庭财务管理系统功能
(1)⽤户表
字段名字段标识字段类型是否主键userId ⽤户号Int Y userName ⽤户姓名Varchar
userTrueName 真实姓名Varchar
userPassword ⽤户密码Varchar
userRight ⽤户权限Int
(2)收⽀项⽬表(Items)
字段名字段标识字段类型是否主键itemsId 项⽬号Int Y ItemsType 项⽬名称Varchar
IteamsDetails 项⽬描述Varchar
(3)账簿表(Account)
字段名字段标识字段类型是否主键accountId 记录号Int Y acountMoney ⾦额Varchar
accountDetails 纪录描述Varchar
accountDate ⽇期Varchar
itemsId 项⽬号Int
userId ⽤户号Int
3.3.1 账簿管理
图⼆
1、新增收⽀记录:
使⽤者:登陆进⼊该系统的⽤户
⽬的:增加⼀个新的收⽀记录
基本事件流:
(1)输⼊⽤户名与密码,登陆进⼊该系统
(2)点击左侧的“帐簿管理”按钮,进⼊帐簿管理页⾯
(3)单击按钮,进⼊新增页⾯,如图1所⽰,提⽰⽤户输⼊收⽀项⽬、收⽀⽇期、收⽀家庭成员、收⽀⾦额、备注
图三
(5)输⼊完毕,单击按钮,完成该操作
2、编辑收⽀记录:
使⽤者:登陆进⼊该系统的⽤户
⽬的:编辑⼀个已有的收⽀记录(⾮管理员只能编辑⾃⼰的收⽀记录)
基本事件流:
(1)输⼊⽤户名与密码,登陆进⼊该系统
(2)单击左侧的“帐簿管理”按钮,进⼊帐簿管理页⾯
(3)单击要编辑的记录所在⾏的“编辑”按钮,进⼊编辑记录的页⾯,如图2所⽰(如果不是管理员则⽆法看到他⼈记录)(4)输⼊所要编辑的新内容,单击确定,完成操作。

相关文档
最新文档