毕业论文-家庭财务管理系统的设计与实现内容摘要:

图 31家庭理财系统结构图 详细设计 详细设计的任务 确定应该怎样具体地实现所要求的家庭理财系统,经过这个阶段的设计工作,应该得出对家庭理财系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用 jsp 程序设计语言书写的程序。 详细设计阶段的任务还不是具体地编写程序,而是要设计出家庭理财系统程序的“蓝图”,以后程序员将根 据这个蓝图写出实际的家庭理财系统程序代码,因此,详细设计的结果基本上决定了最终的程序代码的质量。 12 程序流程图 判 断 用 户 名 和 密 码 是 否 正 确 错 误正 确格 式 是 否 正 确是格 式 是 否 正 确是否否收 入 记 录统 计 汇 总存 入 数 据 库存 入 数 据 库退 出 系 统系 统 登 录否统 计 汇 总图 3- 2程序流程图 用户要进入系统,首先要进行用户权限的验证,系统会判断用户名和密码是否正确,如果正确则进行系统进行操作。 否则给出错误提示信息要求用户重新输入正确的用户名和密码。 进入系统后进行消费记录,首先要求数据输入的格式必须符合系统的规定,否则给出错误格式的信息提示,要求用户重新输入正确格 13 式的数 据。 正确的输入后,数据会写入后台数据库进行存储。 收入记录同样要求用户输入的数据格式正确,否则会给出格式错误信息提示要求用户输入正确格式的数据,输入正确后,系统会将数据写入后台数据库进行数据存储。 数据库中的数据为用户进行数据的收支统计查看和进行家庭理财的投资提供了依据。 数据库设计 数据库表设计 数据库设计中设计了表,一张是日期表 FAMILY_RECTIME,记录有消费记录的日期,一张表是 MYTABLE 是具体的消费,收入数据记录表,一张表 TBUSER 是用于登录本系统的用户名和密码核对表,一张表 是 XIAOFEIG 是用于记录消费品属性的表 ER 图 图 3- 3 收支实体图 图 3- 4 用户实体图 14 图 3- 5 消费品实体图 图 36数据库 E- R图 一个消费者可以购买多个物品,一个消费品也可以被多个消费者购买;一个收支明细可以记录管理多个消费者,消费者也可以管理多个收支明细;一个消费品可以被多条收支明细记录,一个收支明细也可以记录多个消费品。 表的详细结构说明 FAMILY_RECTIME 表有 2 个字段: ID 和 RECTIME, ID 是流水号,每条记录的惟一性标识。 RECTIME 则是日期数据,两个字段在数据库中都使用 nvarchar 类型。 表 31 FAMILY_RECTIME 表 字段 描述 类型 长度 是否为空 id 流水号 nvarchar 20 否 rectime 日期数据 nvarchar 20 否 MYTABLE 表有 7 个字段: ID 是流水号。 INDEXID 是日期表的索引号。 TYPE 表示“衣食住行”分类下的子分类,如“食”类中分有“厨房消费”、“零食消费”等; 15 MONEY 是消费金额。 NAME 表示消费品名称。 PERSON 记录的是消费者。 TABLES 表示记录 属于“衣食住行”哪一类。 表 32 MYTABLE 表 字段 描述 类型 长度 是否为空 id 流水号 nvarchar 20 否 indexid 日期表的索引号 Int 4 否 person 消费者 int 4 可以为空 tables 衣食住行类别 int 4 否 type 衣食住行分类下的子分类 int 4 可以为空 money 消费金额 float 8 否 name 消费品名称 nvarchar 50 否 TBUSER 表有 3 个字段: USERNAME 是用户名, PASSWORD 是密码, SEX 性别。 表 33 TBUSER 表 字段 描述 类型 长度 是否为空 username 用户名 nvarchar 20 否 password 密码 nvarchar 20 否 sex 性别 Char 10 是 MYTABLE 表和 FAMILY_RECTIME 表,两表之间通过 ID 来作为连接的变量,通过 ID 列的值就能把两个表给连接起来。 XIAOFEI 表有 4 个字段: XID 表示消费品号; TYPE 表示“衣食住行”分类下的子分类,如“食”类中分有“厨房消费”、“零食消费”等; MONEY 是消费金额。 NAME 表示 消费品名称。 16 表 3- 4 XIAOFEI 表 字段 描述 类型 长度 是否为空 type 衣食住行分类下的子分类 int 4 可以为空 money 消费金额 float 8 否 name 消费品名称 nvarchar 50 否 xid 消费品号 nvarchar 20 否 17 第四 章 编码设计 系统登录模块的设计与实现 系统登陆时为防止非法用户进入系统而设计,主要用于辨认用户 的身份,以确定其适用权限。 系统登陆模块运行界面如下 图所示: 图 41 家庭理财系统登录界面 系统登陆模块的主要任务就是验证用户输入的用户名和密码是否正确。 如果验证通过,就根据登陆用户所拥有的访问权限分配可用功能。 反之,则不允许登陆。 代码如下: %@ page contentType=text/html。 charset=utf8 language=java% % String path = ()。 % html head meta equiv=ContentType content=text/html。 charset=gb2312 title理财系统 /title style type=text/css body {backgroundimage: url(images/)。 } /style script language=javascript function check1() { if(==) { alert(请输入用户名 )。 ()。 return false。 } if(==) { alert(请输入密码 )。 ()。 return false。 } (indicator).=block。 (,.,0,callback)。 } function callback(data) { (indicator).=none。 if(data==no) { alert(用户名或密码错误 )。 } if(data==yes) { alert(通过验证 ,系统登录成功 )。 =%=path %/。 } } /script /head body 19 div id=Layer1 style=position:absolute。 left:610px。 top:347px。 width:360px。 height:131px。 zindex:1 form action= name=ThisForm method=post table width=100% border=0 cellspacing=0 cellpadding=0 tr td height=28 colspan=3 class=white /td /tr tr td width=13% height=25 align=center /td td width=23% align=center 登录用户: /td td width=64% height=25 input name=userName type=text class=txt_grey size=30 /td /tr tr td height=25 align=center /td td height=25 align=center 登录密码: /td td height=25 input name=userPw type=password class=txt_grey size=30 /td /tr tr td height=25 colspan=3 align=center input name=button type=button class=button id=Submit value=登 陆 onclick=check1() input name=Submit2 type=reset class=btn_grey value=取消 img id=indicator src=%=path %/images/ style=display:none/ 20 /td /tr tr td height=25 colspan=3 align=center class=head 建议使用 1024* 768分辨率进行显示 /td /tr /table /form /div div /div /body /html 主界面的设计与实现 系统的主页面用于数据的收集工作,它实现一个框架,这个框架分为三个界面布局。 每部分是独立的 JSP 页面。 导航窗口页面: 它主要是完成框 架左侧的展示工作,同时在单击左边不同的链接的时候,在框架的中部显示不同的收集数据的页面。 这样设计的目的是:以后需要修改框架左侧页面的展示情况时不要修改多个地方,只需要修改该页面就可以达到目的。 头页面: 它的主要作用是实现框架头的展示功能,显示系统的时间和展示系统的标题。 显示页面: 该页面是一个空页面,就是该页面里面没有具体实现什么展示的工作,该页面是承载其他页面。 利用其他页面进行数据的收集工作。 21 图 42 家庭理财系统主界面 消费模块的设计与实现 通过点击左边导航栏中“衣食住行”四大类 别的消费类别,右边空白部分就出现了相应的消费界面,用户就可以在里面输入相应的消费项目了,这就是关于页面展示和数据收集的部分,在系统中实现了页面逻辑和处理逻辑的分开,所有的页面也就是负责数据的收集和数据的展示功能了,在收集到了数据以后都是发送到对应的 SERVLET 中来进行数据处理的。 所有的页面数据在收集到了以后都是提交到页面相对应的 SERVLET 去处理的,页面中控制根据页面代码中表单提交的地址提交到某个页面后者 SERVLET中。 数据传到 SERVLET 后, SERVLET 执行的操作流程是:获取提交数据-判断操作 -数据封闭-执行数据库操作。 所有的消费记录的处理流程都基本类似,不同是就是页面收集到的数据发送到了 SERVLET 以后是调用不同的处理方法来对其进行处理,在这里就不作详细的介绍了。 22 图 43 家庭理财系统消费界面 统计模块的设计与实现 这个页面的功能就是实现收支情况的页面展示部分,如下图: 图 44 家庭理财系统统计界面 在对页面数据的流转进行了配置以后,所有的页面的数据都会按照配置好的发送到相应的 BanlanceServlet 中去处理。 这样就实现了查看收支情况的功能了,处理过程 和另外两个统计类似,不同的就是使用不同的 Servlet 和 javaBance 来对数据库。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。