《个人财务管理系统课程设计说明书大学论文.doc》由会员分享,可在线阅读,更多相关《个人财务管理系统课程设计说明书大学论文.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课 程 设 计 说 明 书课程名称: 软件工程 设计题目: 个人财务管理系统 学 院:计算机科学与信息工程学号姓名: 14031010257 吴伟 14031010105 阮珂 14031010114 赵秉轩 14031010226 冯壮壮 专业班级: 14-计科应用班 指导教师: 高原 2016年 12月 23日课 程 设 计 任 务 书设计题目 个人财务管理系统学生姓名所在学院专业、年级、班设计要求:完成个人财务管理系统:能够实现管理个人用户账户的收入、支出、借贷等账户管理。学生应完成的工作:1. 实现个人财务管理系统的代码编写2. 书写课程设计说明书和设计文档参考文献阅读:1郑人杰,软件
2、工程概论(第2版).机械工业出版社,20162龚炳江 文志诚,java程序设计(慕课版).人民邮电出版社3王珊 萨师煊,数据库系统概论(第五版).高等教育出版社工作计划:2016/12/14:完成课题需求分析和组员分工2016/12/15:实现软件界面的设计2016/12/15-2016/12/19:实现软件功能按钮的代码填充和数据库的链接。2016/12/20:检查软件的功能和代码的完善2016/12/21-2016/12/22:根据完成的软件书写课程设计说明书和设计文档任务下达日期: 2016年 12月 12 日 任务完成日期: 2016年 12月 23 日指导教师(签名): 学生(签名)
3、: 个人财务管理系统摘 要:Windows平台上,分析设计了“个人财务管理信息系统”。系统软件和对数据库的操作和管理只需在计算机使用相应的软件完成。 如今计算机已走进千家万户,极大的便利了人们的生活。传统的在纸上记录个人收入支出的方式不仅耗时耗料,同时缺乏科学有效的管理。并且存放在纸质的信息安全性不好,一旦获得该纸质信息便可获得所有记录。纸质信息的另一大坏处在于纸质一旦丢失,想要还原长时间以来的信息十分困难。人们需要一种简洁方便安全可备份以记录并管理个人收入支出信息的软件,可是市场上的财务管理软件大多数都十面向企业,或是有专门用途,面向普通用户的个人财务管理系统很难找到,在者免费的软件更是少之
4、又少,为了满足普通用户的需求,特开发此软件。 本系统功能简单,只适合对个人财务管理要求不高的用户,可以完成收入支出金钱及物品的记录与查询操纵,本系统操作简单,用户无需记录复杂的命令,打开主机面就可以很容易看出系统的功能,在者,本软件为免费产品,对于不愿花很多钱购买软件的用户来说是个很好的选择,本软件无需很高的硬件配置,一般的配置均可运行,占用系统资源少。 本报告中首先说明了该系统的特点与业务需求,之后详细说明了系统的业务流程和系统开发流程,重点介绍了系统各模块的功能及相关功能的具体实现。该系统功能简洁完善、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。本报告中首先说明了该系统的业
5、务需求,之后介绍了系统的总体设计思路以及着重介绍了数据库表的设计过程及说明可供研究此系统的人员提供参考关键词:java、个人财务管理、eclipse目 录1. 设计背景11.1背景11.2可行性分析12. 设计方案12.1用户需求12.2功能模块设计23. 方案实施33.1功能模块编写33.2细节调整以及链接74. 结果与结论74.1运行结果74.2结论85. 收获与致谢96. 参考文献9 7. 附件91. 设计背景1.1背景随着计算机技术飞速发展及其应用领域的扩大,特别是计算机软件和硬件的飞速发展,极大地便利了人们的生活和传统的经营和管理模式。软件应用的突出表现能够为客户提供更为方便、快捷、
6、安全、科学的服务,人们开始意识到科技改变方法的手段。发现通过编写功能强大的软件以实现并替代传统的经营和管理模式能有效降低各领域管理方面的运营成本。于软件市场和需求不断扩大,这也是一个又一个软件管理系统相继出现的原因。越来越多的面向多领域的功能强大的管理软件在市面上喷涌出现。在掌握了部分软件知识后,我们也尝试着运用知识实现一款个人财务管理系统。1.2可行性分析当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。并不是所有问题都具有简单的解决办法,许多问题不能在预定的规模之内解决。由于该系统是有个人运用编译软件实现的简洁、方便。只要有相应的运行软件即可使用。所以不存在经济成本的
7、问题,在讨论了将需求模拆分后认为该这些模块是能够在知识范围内实现的。2.设计方案2.1用户需求本系统是针对用户要求:a. 账户管理:管理用户的账户信息。接受用户账户信息的提交,进行处理后用表单的形式进行显示。b.收支管理:处理用户的收入和支出的信息,进行处理后用表单的形式进行显示,同时提供时间段的收支情况查询功能。c.借贷管理:用户提交借贷信息,进行处理后显示借贷的详细信息,同时提供时间段的借贷情况的查询。d.统计功能:统计功能提供用户财务信息的查询和统计的功能,可以统计账户信息,收支信息,借贷信息,并以时间段作为标准,显示统计结果。e.基础设置:通过基础设置,进行整个系统的初始化设置,包括添
8、加各个管理项目的属性分类。经过分析,本系统需要具有以下功能:1、 能够实现个人财务管理方面各项功能,能成功的对用户各种信息进行管理。2、 实现查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。3、拥简洁明了的人机交互界面。2.2功能模块设计下文针对用户需求对具体模块功能的内容进行阐述交互界面(软件主页):软件主页的风格是标准的Windows窗口界面风格,由于是个人用户使用,将具体的收支管理、借贷管理、统计功能、基础设置功能模块以水平排版的方式罗列在主页。账户管理模块:当用户点击该功能模块后。实现对软件账户的管理。若当前已有用户在使用会显示当前账号用户的信息。收支管理模块:当用户点击该功能
9、模块后,有三个可编辑文本框和一个查询按钮。可实现对现有账户的资金的支出、收入以及日期的管理和编辑。当用户输入相应的数据时,个人账户的资金对做相应并显示当前的账户详情。同时将该变化同步到数据库。点击查询按钮可根据日期显示出该日期下个人资金的所有变动情况借贷管理:当用户点击该功能模块后,有三个可编辑文本框和一个查询按钮。可实现对现有账户的资金的借出、归还情况以及日期的管理和编辑。当用户输入相应的数据时,个人账户的资金对做相应变化点击查询还可根据日前显示该日期下的账户详情。同时将该变化同步到数据库。统计管理:在该模块下会提供近期将数据库的变化对用户财务信息统计以日期为分组将具体内容显示在文本显示框内
10、,包括账户信息,收支信息,借贷信息,并以时间段作为分组,显示统计结果。基础设置:该模块要实现对当前用户账户信息的以及所对应的数据库表的初始化。3. 方案实施3.1功能模块编写交互界面:采用标准的Windows经典的界面风格,根据模块设计将所需要的按扭以水平排列的风格布置到主页和模块页如下:模块页账户管理模块:首先在已经建好数据库表有基础数据基础上,获取用户在收入编辑框和支出编辑框的输入的数据,做相应的加减处理并根据输入的时间保存到数据库,部分代码如下。JFrame jiedai = new JFrame(借贷管理);jiedai.setBounds(400, 200, 700, 500);ji
11、edai.setLayout(new FlowLayout();jiedai.dispose();JLabel zujie = new JLabel(租借);JLabel guihuan = new JLabel(归还);JLabel shijian = new JLabel(时间);TextField zujie_1 = new TextField(20);TextField guihuan_1 = new TextField(20);TextField shijian_1 = new TextField(20);Button chaxun = new Button(查询);Button b
12、aocun = new Button(保存);Button tuichu = new Button(退出);jiedai.add(zujie);jiedai.add(zujie_1);jiedai.add(guihuan);jiedai.add(guihuan_1);jiedai.add(shijian);jiedai.add(shijian_1);jiedai.add(chaxun);jiedai.add(baocun);jiedai.add(tuichu);此部分代码为页面设计,只是简单的工具添加在窗口上。baocun.addActionListener(new ActionListene
13、r()/保存按钮public void actionPerformed(ActionEvent e)String sjie = zujie_1.getText();String shuan = guihuan_1.getText();String riqi = shijian_1.getText();if (sjie = )sjie = 0;if (shuan = 0)shuan = 0;int jie = Integer.valueOf(sjie).intValue();int huan = Integer.valueOf(shuan).intValue();Connection conn
14、= GetConnection.getConnection();try Statement statement = (Statement) conn.createStatement();boolean rs = statement.execute(insert into xiaoming (shouru,zhichu,zujie,guihuan,riqi)values(0,0,+jie+,+huan+,+riqi+);); catch (SQLException e1) / TODO 自动生成的 catch 块e1.printStackTrace(););此部分代码为保存按钮的工作代码。主要就
15、是连接数据库和把修改的数据存进数据库。chaxun.addActionListener(new ActionListener()/查询按钮public void actionPerformed(ActionEvent e)JFrame f = new JFrame(借贷查询);f.setBounds(400, 200, 700, 500);f.setLayout(new FlowLayout();f.dispose();JLabel shijian = new JLabel(请输入要查询的日期);TextField shijian_1 = new TextField(20);Button ch
16、a = new Button(查询);JTextArea jieguo = new JTextArea(20, 40);f.add(shijian);f.add(shijian_1);f.add(cha);f.add(jieguo);cha.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String sriqi = shijian_1.getText();Connection conn = GetConnection.getConnection();try Statement st
17、atement = (Statement) conn.createStatement();ResultSet rs = statement.executeQuery(select * from xiaoming where riqi = +sriqi+);while(rs.next()int jie = rs.getInt(zujie);int huan = rs.getInt(guihuan);jieguo.append(收入:+jie+ 支出+huan+n); catch (SQLException e1) / TODO 自动生成的 catch 块e1.printStackTrace();
18、);此部分代码为查询按钮的工作方式。主要新创建一个窗口然后连接数据库,之后根据输入的日期查询数据库内容。借贷模块与收支模块基本相同。Connection conn = GetConnection.getConnection();try Statement statement = (Statement) conn.createStatement();ResultSet rs = statement.executeQuery(select * from xiaoming);while(rs.next()int shou = rs.getInt(shouru);zshou += shou;int z
19、hi = rs.getInt(zhichu);zzhi += zhi;int jie = rs.getInt(shouru);zzhi += zhi;int huan = rs.getInt(guihuan);zhuan += huan;String shijian = rs.getString(riqi);jieguo.append(收入:+shou+ 支出:+zhi+ 租借:+jie+ 归还:+huan+ 日期:+shijian+n);jieguo.append(n总收入:+zshou+ 总支出:+zzhi+ 总租借:+zjie+ 总归还:+zhuan); catch (SQLExcept
20、ion e1) / TODO 自动生成的 catch 块e1.printStackTrace();此部分代码为统计模块功能代码。主要就是连接数据库之后把其中说有数据成行打印出来然后再把每项数据汇总输出。3.2细节调整以及链接模块功能代码实现后,根据每个功能模块之间会涉及到会影响到整体数据的代码部分的代码做同一化处理和区分标记,使得每个模块的数据能够清晰的梳理在整体代码中。同时将所有涉及变化的数据以及数据库的同步工作做好。使得整体的代码有条理便于管理。4. 结果与结论4.1运行结果4.2结论软件系统是一个多个体相互关联的繁杂的整体。对于功能更为全面、结构更为多样的软件来说更是如此。若只是想要实现
21、软件的本身需要具备的功能而不考虑整体的数据结构、命名管理、板块链接、算法效率。这样缺乏系统的梳理和细节条理化的一次性代码堆是不具备解决实际问题的能力和使用资格的。我们通过这次的课题对上述观点深有体会。也试着通过所学的软件工程的知识尽量避免上述问题的出现,同时也感到了自身专业能力的不足,意识到自己还需要长久的努力和学习。希望在不就的将来能够对软件系统有更为深刻的理解和掌握。5. 收获与致谢在这次的案例中我们收获了许多许多,很高兴能够运用近期所学而做出一个实在的小软件。虽然在实现的过程中有过许多的意见不一、代码部分也有很多的不足和不成熟。但是这也给予了我们学习的动力和发展进步的空间。感谢专业老师在
22、平日里细心的授予。使得我们在遇到实现软件的过程中所出现的问题时能够有相应的处理方法。同时也感谢小组成员今日的共同努力以及在讨论过程中的包容和理解。6. 参考文献1郑人杰,软件工程概论(第2版).机械工业出版社,20162龚炳江 文志诚,java程序设计(慕课版).人民邮电出版社3王珊 萨师煊,数据库系统概论(第五版).高等教育出版社7. 附件无8指导教师评语:1、课程设计报告:a、内容: 不完整 完整 详细 b、方案设计: 较差 合理 非常合理c、实现: 未实现 部分实现 全部实现 d、文档格式: 不规范 基本规范 规范 2、出勤: 全勤 缺勤 次3、答辩: a、未能完全理解题目,答辩情况较差 b、部分理解题目,部分问题回答正确 c、理解题目较清楚,问题回答基本正确 d、理解题目透彻,问题回答流利 课程设计报告成绩: ,占总成绩比例: 50% 课程设计其它环节成绩:环节名称: 出勤 ,成绩: ,占总成绩比例: 20% 环节名称: 答辩 ,成绩: ,占总成绩比例: 30% 总 成 绩: 指导教师签字:年 月 日