家庭理财系统需求分析课程设计(doc 18页)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
家庭理财系统需求分析课程设计(doc 18页)
软件工程课程设计
家庭理财系统需求分析设计组:
2009-4-19
目录
1 引言 (3)
1.1课题背景 (3)
1.2国内外研究的现状 (3)
1.3本课题研究的意义 (3)
1.4 本课题的研究方法 (4)
2 可行性研究 (4)
2.1 技术可行性 (4)
2.2 经济可行性 (4)
2.3 操作上的可行性 (5)
3 系统需求分析 (5)
3.1 系统功能需求分析 (5)
3.2 开发和运行环境 (6)
3.3 基本设计概念和处理流程 (6)
3.4 数据库设计需求分析.................................、 (14)
3.4.1 数据库功能需求分析 (14)
3.4.2 数据表结构E-R 图 (14)
3.4.3 数据表结构 (15)
3.5 主界面设计 (16)
3.6 人工处理过程 (16)
3.7 尚未解决的问题 (16)
4 参考书籍 (17)
1 引言
1.1 课题背景
家庭理财系统,即Family Conduct Financial Transactions System。
它利用计算机应用技术,使家庭理财逐步信息化,从而形成由家庭成员与计算机共同构成服务于家庭的人机信息财务管理系统。
随着计算机发展,家庭理财系统已经成为很多家庭财务管理的一个重要途径。
计算机的最大优点在于利用它能够高效准确地进行财务信息管理。
使用计算机进行信息财务管理,不仅提高了工作效率,而且大大的提高了其安全性。
1.2 国内外研究的现状
家庭理财系统在国外很多地方使用已经相当的普遍,而且国外的家庭理财系统功能相当强大,比如系统里包含有股票的预测、基金的分析等等。
在我们国内,尤其是在近几年,伴随着计算机的高速普及,家庭理财系统的使用范围逐步扩大,从最早的简单使用纸笔记录家庭、个人财务的收支情况,到现在用计算机对财务的收支、查询、汇总等等。
巨大的市场需求也促使了很多公司加大了对家庭理财系统的研究。
1.3 本课题研究的意义
多年以来人们都使用传统的人工方式记录和管理家庭或自己财务情况。
这种管理和记录方式不仅不便于长期保存,也存在着不可避免的缺点,如效率太低、保密性太差。
时间一长,伴随着居民收入水平的提高和居民各种消费和收入的多样性,家庭理财所需要管理的信息就会越来越多,就会产生大量的文件和数据,这样就会对查阅、更新、保存等方面都产生不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已逐渐被人们认识并掌握。
如果使用计算机对家庭理财信息进行管理具有
传统的手工管理所没法比拟的优点。
例如:统计方便、查找容易、可靠性高、保密性好、更新方便等。
这些优点能够极大地提高家庭理财信息管理的效率,大大降低居民在信息管理精力上的投入,使企业获得更大的利润空间。
因此,开发一个能够管理家庭内部各种财务信息的家庭理财
管理系统是一件十分必要的事情。
1.4 本课题的研究方法
家庭理财系统的用户群体是家庭内部成员,用户类型单一,因此将本系统设计成一个相对封闭的单机运行系统结合居民管理信息方面的具
体需求,利用Visual C++作为前台开发工具,使用SQL SERVER 2000作为数据库。
结合数据库原理及应用、软件工程开发方法,在经过深入地学习之后,开发了这套家庭理财管理系统。
下面将具体介绍系统的开发过程。
2 可行性研究
2.1 技术可行性
本系统的开发利用Visual C++作为开发工具。
Visual C++是一个具有完善开发工具的平台。
其中包括了windows应用程序开发、Web应用开发。
改进了团队交流方式,Visual C++为团队开发提供通道和完整的开发周期工具,特别是VSS工具的引入使团队工作的耦合度更一步的得到了提高,从而增加了团队内部的交流与协作的效率。
通过学习,熟悉和掌握Visual C++6.0的使用方法,使用Visual C++作为开发工具将使整个系统的模块化设计变得更加简便。
系统采用SQL SERVER 2000作为开发数据库。
SQL SERVER 2000是一种客户机/服务器结构的关系数据库管理系统。
SQL SERVER 2000提供了许多易于使用的图形化工具和向导,其中最常用的是服务管理器、企业管理器和查询分析器。
它们为创建和管理数据库带来了很大的方便。
在技术难度方面,有小组间的交流、周围同学的热心帮助,加上对很多相关文献的参考,能够解决开发过程中所遇到的困难。
2.2 经济可行性
如今,随着计算机的大量普及,各种软件的开发成本越来越低,价格也越来越底。
本系统也是这样,开发成本较低,只是需要一台配置一般的计算机,该系统运行时占计算机的资源也不多,但并不会因为开发成本低而造成系统功能性能的下降。
相反,随着计算机技术的发展,各种实用软件的性能日渐提高。
家庭理财管理系统廉价的开发成本,却能够为居民带来相当大的实惠和方便。
主要表现在:
(1)本系统可以说是一个拥有多种实用功能的
家庭理财管理信息系统,它集成了家庭成员管理、收入管理、支出管理、密码管理等多种功能,具有较强的实用性和方便性。
(2)本系统的运行可以大大提高居民管理财务的效率,减少不必要的人力和物力。
(3)本系统还具有查询和统计功能,能够查询到
用户在一段特定时间内收入和支出的情况,特别是支出情况,有时往往会让用户在月底吓一跳,大大超出预算,还弄不清钱都花到哪里了。
有了家庭理财系统,不仅使用户对口袋里钱的去向一目了然,而且可以帮助用户渐渐感悟到一些心得,摸清哪些花费是必
要的,哪些“意外开支”是可以避免的,哪笔开支是可继续评估其必要性的。
由此,可以得出,本系统在经济上是具有可行性的。
2.3 操作上的可行性
由于本系统管理的对象比较明确,就是对于资金收入支出的一些相关管理,主要是对数据库的操作,且每个数据库内容具有较强的关联性,设计的过程也不复杂。
因此,整个软件的使用非常简便。
任何一个普通的计算机用户都能很快的熟悉整个软件的使用。
并且本系统所耗费的资源非常小,任何家庭成员只需要在一般的电脑上面,就能够使用这个软件,简单、方便、快捷的实现对财务信息进行管理。
3 系统需求分析
3.1 系统功能需求分析
家庭理财管理系统是针对用户要求用计算机,对自己的财务的收入、支出以及相关的各种信息,进行记录、修改、添加、删除而设计的一种现代化管理软件。
通过需求分析,本系统需要具有以下功能:(1)由于一项新的软件在被使用之前,对于使用
者来说是陌生和崭新的,所以要求系统具有
良好的人机界面。
(2)能够家庭理财管理系统的各项功能,能成功的对用户各种信息进行管理。
(3)查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。
具体说来,要求本系统具有以下几个功能模块:用户登录模块、用户管理模块、数据库备份模块、收入模块、支出模块、密码管理模块、账目统计模块、报表输出模块以及查询模块。
各模块具体的需求描述如下:
(1) 用户登录模块
用户登录:验证用户的信息是否合法,以及验证用户是否为系统的合法用户。
(2)用户管理模块
在系统中主要包括添加用户、删除用用户、更改用户、用户修改密码、为用户设计计数器,减少用户统计资金链的烦恼。
(3) 数据库备份模块
主要对数据库里的数据进行备份。
(4) 收支输入模块
主要实现对收入记录的添加、删除、修改。
(5) 财务分析模块
①证券帐户管理
添加、删除,维护证券账户。
②持股情况
记录手上股票买入卖出等信息,这样即使
在没有网络的情况下对自己的股票也了
如指掌。
③证券流水账
记录自己手上股票买入卖出等流水信息。
股票交易费用设置
各股票交易费用设置。
(6) 报表输出模块
主要实现对收入、支出记录的输出及打印。
(7) 查询模块
主要实现对收入、支出记录按时间按类型查
询、消费提醒(实际消费额快接近预消费
额)、收入、支出记录的输出(包括财务报
表、累计消费额、余额)。
3.2 开发和运行环境
开发环境
Microsoft Visual C++ 6.0
Microsoft SQL Server 2000
Microsoft Vision
运行环境
硬件平台:PC机
软件平台:Windows 98/2000/XP/Vista/Linux
Microsoft SQL Server 2000
3.3 基本设计概念和处理流程
(1) 系统整体模块,此模块涵盖整个系统的全部模块。
业务处理流程图如下:
图1
(2) 登录功能的设计
当用户输入完用户名和密码以后,系统会触发一个验证用户输入的用户名称、密码是否正确的事件。
只有当两个信息全部正确时,用户才能够登录到系统中,否则页面将重复输入用户和密码。
用户登录成功后,系统将跳转到主界面。
业务处理流程图如下:
图2 (3) 用户信息管理模块的设计
添加用户信息页面主要实现对新用户的信息进行添加的功能。
因为本系统涉及到对用户的财务信息进行相关的管理,这些信息对于用户来说应该是相当机密相当重要的。
所以,本系统添加的用户只能够是家庭内部成员。
在以后需要的情况下,可以由已经存在的用户从数据库中添加新的用户,除此之外,还要为用户设计金额计数器,减少用户为统计数据而产生的烦恼。
从下图中,我们可以看到添加用户信息的界面中的各个需要添加的信息项:
业务处理流程图如下:
图
3
(4) 数据库备份设计
随着数据的推移,用户的数据可能会有所变化,而且用户也希望保护数据,经常定期备份数据库,不仅对用户而言有安全性,对于系统本身也具有一定的安全性能。
业务处理流程图如下:
图
4
(5)收支入模块的设计
对于该家庭理财系统来说,支出模块是很非常重要的一个模块。
因为它能记录用户支出的一切信息,让用户能清楚地知道每一分钱到底是花在了什么地方。
为用户提供一个非常实用且便捷的记录功能。
此外,该模块还具有修改、删除、排序
等功能。
在家庭理财系统中,用户添加支出记录是很频繁的事,那么在系统中支出的记录就会非常多。
正因为如此,所以每条记录的信息就显得尤为重要。
添加支出信息记录的内容包括:支出金额、支出类型、支出者、支出日期、支出用途以及相关备注这几项。
其中支出类型包括以下几种类型:税收、衣食住行、医疗、其他。
收入类型:工资、股票、分红、奖金。
图5
(6) 财务分析设计
证券帐户管理
添加、删除,维护证券账户。
持股情况
记录自己手上股票买入卖出等信息,这样即使没有网络的情况下对自己的股票了如指掌。
证券流水账
记录自己手上股票买入卖出等流水信息。
股票交易费用设置
各股票交易费用设置。
业务处理流程图如下:
图6 (6) 报表输出模块的设计
当用户要以表格的形式打印出所有的数据时,系统为用户以报表的形式打印出所有的信息资料,实现对收入、支出记录的输出及打印。
业务处理流程图如下:
图7 (9)查询模块的设计
为用户实现对收入、支出记录按时间按类型查询、消费提醒(实际消费额近似等于预消费额)、收入、支出记录的输出(包括财务报表、累计消费额、余额)
业务处理流程图如下:
图
8
3.4 数据库设计需求分析
3.4.1 数据库功能的需求分析
本理财系统中,当用户登入时会记录多个用户的信息,用户的支出和收入也占有相当的比重;在财务分析上面,系统数据库中由用户定期对证券信息进行添加、更正。
一个用户只能有多个支出表和多个收入表,一个用户可能拥有多个证券账号,并对应着多个证券信息,一个支出表和收入表只能被一个用户所拥有,一个证券账号只能被一个用户所有。
支出表和收入表可能对应着多个证券信息,与多个证券账号。
3.4.2 数据表结构E-R图
3.4.3 数据表结构
根据书库功能与E-R图的分析得出以下数据表。
表一:用户表(User)
英文缩写字段值备注
用户编号U_num Char(10 Primary
key
名字U_name Char(10) NOT
NULL 密码U_password Char(10 NOT
NULL 年龄U_age Char(10) NOT
NULL
家庭称呼U_nickname Char(10) NOT
NULL
工资U_salary Char(10) NOT
NULL
银行账号U_count Char(12) NOT
NULL 表二:支出表(Consum)
英文缩写字段值备注
支出编号C_num Char(10) Primary
key
支出者C_name Char(10) NOT
NULL
支出金额C_sum Char(10) NOT
NULL
支出类型C_type Char(10) NOT
NULL
支出日期C_datetime Char(10) NOT
NULL
支出用途C_propose Char(20 NOT
NULL
其他C_others Char(20) 附加功能表三:收入表(Earning)
英文缩写字段值备注
收入编号E_num Char(10) Primary
key
收入者E_name Char(10) NOT
NULL
收入金额E_sum Char(10) NOT
NULL
收入类型E_type Char(10) NOT
NULL
收入日期E_datetime Char(10) NOT
NULL
收入用途E_propose Char(20 NOT
NULL
其他E_others Char(10) 附加功能
表四:证券账号表(Equaity_Count) 英文缩写字段值备注
账号编号EC_num Char(10) Primary
key
账号名字EC_name Char(10) NOT
NULL
账EC_password Char(10) NOT
号
密
码
NUL
表五:证券信息表(Equaity)
英文缩写字段值备注
证券编号Eq_num Char(10) Primary
key
证券名字Eq_name Char(10) NOT
NULL
证券
动态
Eq_dynamic Char(30) NULL
证券交易费用Eq_fee Char(20) NOT
NULL
3.5 主界面设计
3.6 人工处理过程
本系统中的数据因为要达到高度保密状态,所以需要用户自己手动输入。
3.7 尚未解决的问题
(1) 数据的输入需手工输入,不能用批输入处理
(2) 本系统只能单机处理,并没有设计到网络的处理,这给系统的扩展带来了很大的麻烦。
当用户需要在网上给家庭设主任某些选项时,很难在远程端控制,在生活上带来了不必要的烦恼。
(3) 安全性能上面,有可能存在着权限越界的问题。
4 参考书籍
《数据库设计教程》Thomas
M.Connolly Carolyn E.Begg 著
《软件体系结构及实例分析》余雪丽主编《深入详解C++》孙鑫主编《软件工程》齐志昌谭庆平主编。