




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古科技大学课程设计说明书内蒙古科技大学本科生实训说明书题 目:JAVA实训 个人记账软件设计学生姓名:学 号:专 业:软件工程班 级:软件一班指导教师:王丽颖目 录第一章 需求分析41.1任务概述41.2功能需求41.3任务计划4第二章概要设计52.1总体设计52.2接口设计5第三章详细设计63.1输入模块设计63.2查找模块设计73.3统计模块设计8第四章测试分析94.1测试程序执行情况94.1.1登录界面94.1.2查询界面94.1.3 修改界面94.1.4 统计界面10第五章实训总结11附录:程序代码12参考文献23致谢24内蒙古科技大学实训任务书课程名称JAVA实训设计题目个人记账软件设计指导教师王丽颖时间2017/1/7一、教学要求1. 巩固和加深学生对JAVA语言课程的基本知识的理解和掌握2. 掌握JAVA语言编程和程序调试的基本技能3. 利用JAVA语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用JAVA语言解决实际问题的能力二、设计资料及参数用JAVA设计一个系统,能提供下列服务:(1) 录入消费和支出信息,格式为:日期金额操作类型消费类别备注2011-11-225支出食购买水果2011-11-1040收入食副食补贴其中操作类型包括收入和支出,消费类别为衣,食,住,行和其他。(2) 查询功能。查询某一天的消费和支出记录,并能进行修改; (3) 统计功能。统计某个区间的消费和支出,例如11月份,则输入时间段2011-11-1到2011-11-30统计总的支出和收入。按照消费类别统计某个时间段内的消费记录,如统计11月份买衣服的支出共有多少?三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交实训报告:完成系统总结报告以及系统使用说明书第一章 需求分析1.1 任务概述 本软件具有六大模块:登录系统,输入账目,删除账目,查询及修改,统计信息,退出系统。登录系统:输入密码进行登录,如密码错误提示重新输入密码。新增账目:增加账目内容,方便查阅。删除账目:删除无用或过期账目。查询及修改:查看账目,修改错误账目。统计账目:统计与分析账目信息。1.2 功能需求查询功能。查询某一天的消费和支出记录,并能进行修改统计功能。统计某个区间的消费和支出,例如11月份,则输入时间段2011-11-1到2011-11-30统计总的支出和收入。按照消费类别统计某个时间段内的消费记录,如统计11月份买衣服的支出共有多少?(1) 录入消费和支出信息,格式为:日期金额操作类型消费类别备注2011-11-225支出食购买水果2011-11-1040收入食副食补贴1.3 任务计划1登录系统:输入正确密码进行登录,如密码错误提示重新输入密码,为确保账本安全,只有三次输入机会,三次后将不具有打开此账的权力。2新增账目:可以增加账目内容,保存新增账目信息,以便查阅。3删除账目:删除无用或过期账目,此功能为彻底删除,删除后不可恢复数据,若输入日期有误系统给出提示。4.查询及修改:查看账目信息,查账后可以是否对账目进行修改,修改错误账目,并保存修改信息,若输入日期有误系统给出提示。5.统计账目:输入你想查询的账目的起、止日期,若输入日期有误系统给出提示,统计系统自动分类一段时间内的交易类别和消费类别,方便查看。第二章 概要设计2.1 总体设计个人理财 登录系统输入数据删除数据查询及修改统计数据退出系统 图3.1 系统总体框架图2.2 接口设计 表2.1:函数列表函数名函数格式 /即函数首部函数功能 countVoid count按月份统计收入支出Count1Void count1按月份及类型统计支出ChangeVoid change修改消费记录Change1Void change1按金额修改Change2Void change2修改支出收入Change3Void change3修改消费日期Change4Void change4修改消费备注QueryVoid query按日期查询23第三章 详细设计3.1 输入模块设计开始 输入密码 错误 正主菜单 三 确 次 错选择“新增账目”序号 误输入日期输入消费金额输入消操作类型输入消费类别输入备注结束3.2 查找模块设计开始输入密码 错误 正主菜单 确 选择“查询及修改”序号 4输入查询或修改日期56是否修改信息 否输入修改内容的序号 是输入修改日期输入金额输入消操作类型输入消费类别7输入备注结束3.3统计模块设计开始输入密码 错误 正主菜单 确 选择“账目统计” 序号 输入统计开始日期输入统计结束日期结束第四章 测试分析4.1 测试程序执行情况4.1.1登录界面4.1.1登录界面4.1.2查询界面4.1.2 查询界面4.1.3 修改界面4.1.3修改界面4.1.4 统计界面4.1.4统计界面第五章 实训总结程序中并没有什么亮点可言,但是功能能够实现,由于时间紧迫,例如一些排序,和输入异常,异常抛出,文件系统没有加入进去。通过本次实训吸取到的教训是,如果时间紧迫就应当把题目所要求的功能全部实现了再去弄一些花活,不然只会越弄错误越多,最后导致心态爆炸。本来心中所希望的课设是能和数据库结合在一起,通过数据库中的一部分内容,简单的实现题目要求的功能,而有精力去添加一些其他的功能,但是亏在一周要答三门课设,可惜在没有提前的去准备本门课设,导致答辩当天凌晨还在赶报告。附录:程序代码package others;import java.util.Scanner;public class function static infor info=new infor(2016-12-01,25,支出,吃饭,午饭),new infor(2016-11-21,200,支出,买衣服,外套),new infor(2016-12-09,1000,收入,打工,送外卖),new infor(2016-11-22,15,支出,吃饭,晚饭),new infor(2016-12-01,1500,收入,转账,生活费),new infor(2016-12-03,45,支出,看电影,夏洛特的网),new infor(2016-11-09,23,收入,打工,发传单),;Scanner in=new Scanner(System.in);first f=new first();/* * 查询功能 */void query()System.out.println(请输入想要查询的日期);String str=in.next();System.out.println(日期tt金额t操作类型t消费类别t备注t);for(int i=0;iinfo.length;i+)if(str.equals(infoi.date)System.out.println(infoi.date+t+infoi.money+t+infoi.operate+t+infoi.type+t+infoi.copy+t);/* * 修改功能 */System.out.println(是否进行修改,修改请按1,不修改请按2);int a=in.nextInt();switch(a)case 1:change(str);break;case 2:break;default:System.out.println(输入无效.);break;f.begin();/* * 统计功能-按月份统计 */void count(String str)int insum=0;int outsum=0;for(int i=0;iinfo.length;i+)String str1=infoi.date.substring(5, 7);if(str.equals(str1)System.out.println(infoi.date+t+infoi.money+t+infoi.operate+t+infoi.type+t+infoi.copy+t);if(infoi.operate.equals(支出)insum+=infoi.money;elseoutsum+=infoi.money;System.out.println(该月份总支出为+outsum);System.out.println(该月份总收入为+insum);f.begin();/* * 按月份及消费类型统计 */void count1(String str,String str11)int num=0;for(int i=0;iinfo.length;i+)String str1=infoi.date.substring(5, 7);if(str.equals(str1)if(infoi.operate.equals(str11)num+=infoi.money;System.out.println(infoi.date+t+infoi.money+t+infoi.operate+t+infoi.type+t+infoi.copy+t);System.out.println(该月份+str11+总支出为+num);f.begin();/* * 查询的具体功能 */void change(String str)System.out.println(1:按照金额修改);System.out.println(2:按照操作类型修改);System.out.println(3:按照消费类别修改);System.out.println(4:按照备注修改); int b=in.nextInt(); switch(b) case 1: change1(str); break; case 2: change2(str); break; case 3: change3(str); break; case 4: change4(str); break; default : System.out.println(输入无效); break; f.begin();/* * 按金额修改 */void change1(String str)System.out.println(请输入想修改的金额); int a=in.nextInt(); System.out.println(请输入修改后的值); int b=in.nextInt(); System.out.println(日期tt金额t操作类型t消费类别t备注t); int flag=0;for(int i=0;iinfo.length;i+)if(str.equals(infoi.date)for(int j=0;jinfo.length;j+)if(infoi.money=a)flag=-1;infoi.money=b;System.out.println(infoi.date+t+infoi.money+t+infoi.operate+t+infoi.type+t+infoi.copy+t);if(flag=-1)System.out.println(修改成功,修改后的金额为+b);f.begin();/* * 按操作类型修改 */void change2(String str)System.out.println(请输入想修改的操作类型); String strr=in.next(); System.out.println(请输入修改后的值); String strr1=in.next(); System.out.println(日期tt金额t操作类型t消费类别t备注t); int flag=0;for(int i=0;iinfo.length;i+)if(str.equals(infoi.date)for(int j=0;jinfo.length;j+)if(infoi.operate.equals(strr)flag=-1;infoi.operate=strr1;System.out.println(infoi.date+t+infoi.money+t+infoi.operate+t+infoi.type+t+infoi.copy+t);if(flag=-1)System.out.println(修改成功,修改后的操作类型为+strr1);f.begin();/* * 按消费类型修改 */void change3(String str)System.out.println(请输入想修改的消费类型); String strr=in.next(); System.out.println(请输入修改后的值); String strr1=in.next(); System.out.println(日期tt金额t操作类型t消费类别t备注t); int flag=0;for(int i=0;iinfo.length;i+)if(str.equals(infoi.date)for(int j=0;jinfo.length;j+)if(infoi.type.equals(strr)flag=-1;infoi.type=strr1;System.out.println(infoi.date+t+infoi.money+t+infoi.operate+t+infoi.type+t+infoi.copy+t);if(flag=-1)System.out.println(修改成功,修改后的消费类型为+strr1);f.begin();/* * 修改备注 */void change4(String str)System.out.println(请输入想修改的备注); String strr=in.next(); System.out.println(请输入修改后的值); String strr1=in.next(); System.out.println(日期tt金额t操作类型t消费类别t备注t); int flag=0;for(int i=0;iinfo.length;i+)if(str.equals(infoi.date)for(int j=0;jinfo.length;j+)if(infoi.copy.equals(strr)flag=-1;infoi.copy=strr1;System.out.println(infoi.date+t+infoi.money+t+infoi.operate+t+infoi.type+t+infoi.copy+t);if(flag=-1)System.out.println(修改成功,修改后的备注为+strr1);f.begin();/firstpackage others;import java.util.Scanner;public class first Scanner in=new Scanner(System.in);void begin()function ff=new function();System.out.println(t欢迎来到我的个人记账系统:);System.out.println(t1:查询消费信息或更改);System.out.println(t2:进行统计);System.out.println(t3:退出系统);int a=0;a=in.nextInt();switch(a)case 1:ff.query();break;case 2:System.out.println(t 1:按时间段统计);System.out.println(t 2:按时间段及消费类别统计);int b=in.nextInt();switch(b)case 1:System.out.println(输入月份);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省秦皇岛市青龙满族自治县第一中学2025-2026学年高二上学期9月月考数学试题(原卷版)
- 黑龙江省哈尔滨第三中学2025-2026学年高二上学期9月月考化学试题
- 2026届湖南长沙市广益实验中学英语九年级第一学期期末教学质量检测试题含解析
- 2026届重庆市重点中学英语九上期末复习检测试题含解析
- 2026届贵州省黔东南州剑河县九年级化学第一学期期末联考模拟试题含解析
- 2026届孝感市重点中学化学九上期末质量跟踪监视试题含解析
- 2026届辽宁省营口中学化学九年级第一学期期末学业质量监测模拟试题含解析
- 2026届山西省运城市夏县英语九上期末统考模拟试题含解析
- 2026届广东省湛江市霞山职业高级中学九上化学期中学业水平测试模拟试题含解析
- 2026届哈尔滨香坊区四校联考九年级化学第一学期期中教学质量检测试题含解析
- 小学生防骗防诈安全教育课件
- 冀教版七年级数学上册《1.7有理数的加减混合运算》同步练习题及答案
- 中外广告史(第三版) 课件全套 何玉杰 第0-11章 绪论、中国古代广告的发展- 日本广告的发展
- 三年级全一册《劳动与技术》第二单元 活动3《创意剪纸》课件
- 肺结节科普宣教
- 义务教育信息科技课程标准(2022年版)解读
- 空调维保项目进度保障计划
- 放射科室风险评估报告
- 各类组织架构图课件
- 创伤性窒息护理课件
- 人口老龄化对寿险产品需求结构的影响
评论
0/150
提交评论