




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一章 项目开发计划书31.1引言31.1.1编写目的31.1.2背景31.2项目概述31.2.1工作内容31.2.2 产品31.2.3验收标准4第二章 可行性分析4 2.1 可行性研究的前提42.2 对现有系统的分析42.3 所建议的系统42.3.1对所建议系统的说明42.3.2处理流程和数据流程42.4 结论5第三章 需求分析53.1市场需求分析53.2系统功能性需求分析63.2.1对功能的规定63.2.2对性能的规定83.3系统非功能性需求83.3.1故障处理要求83.3.2其他专门要求93.3 数据字典93.4运行环境规定103.5实体-联系图10第四章 系统设计114.1 总体设计114.1.1需求概述114.1.2校园卡管理信息系统概要设计114.2详细设计134.2.1编写定义134.2.2功能模块的设计与实现134.2.3运行设计144.2.4系统数据结构设计144.2.5系统出错处理设计154.3 功能模块设计154.3.1 入口程序entry() 设计说明154.3.2 查询模块search() 设计说明184.3.3 存储、消费模块pay() 设计说明194.3.4挂失模块deposit() 设计说明23第五章 系统测试255.1 测试的作用和意义255.2 测试方法255.3 测试内容255.4 测试结果265.4.1注册和登录模块测试265.4.3 卡密码修改模块测试285.4.4 账户充值、消费模块测试285.5 结论29第六章 总结29参考文献和资料30第一章 项目开发计划书1.1引言 1.1.1编写目的此项目开发计划书的编写主要是为了给开发校园卡管理系统做主要的规划和整合,在开发过程中起到引导作用,以及给使用者提供简要的说明。1.1.2背景校园卡管理系统是一套针对大学校园食堂饮食交费,一般消费等方面的信息管理系统,它包括了同学在校内消费各方面内容:刷卡消费、查询、存款,学生信息管理等。方便的对同学饭卡信息进行各项操作,定时进行数据的备份更新,保持数据的一致性和准确性,各方面的内容应该相互联系,最终产生各种查询统计报表,以供同学进行检查。用户通过系统首页面,创建饭卡,存入钱。消费时根据饭卡ID判断该用户是否是合法用户,同时进行消费操作。管理员可以对系统进行新建饭卡、注销饭卡、修改饭卡信息等操作,而学生进行消费的操作。1.2项目概述1.2.1工作内容校园卡卡管理系统的主要任务就是把人们从繁琐的交费,找零工作中解放出来,用计算机实现对销售合同资料进行存款,消费,查询、修改、删除以及存储等功能。同时,用计算机能够快速准确地完成共档案资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。1.2.2 产品1 系统开发计划书2 系统需求说明书3 系统设计说明书4 测试计划5 一个能正确运行的可执行程序,源程序清单(有注释) 1.2.3验收标准 各个功能均能正常使用,满足用户的需求。第二章 可行性分析2.1可行性研究的前提要求:满足客户使用校园卡的各项功能及要求,并对客户资料具有保密性目标:提高处理速度,改进安全系统,方便用户使用。条件、假定和限制:所建议系统的运行寿命最少1年;进行系统方案选择比较的时间为1天。 2.2 对现有系统的分析人工操作频繁加减存款。工作繁琐,枯燥,容易出错,完成工作所需要的时间较长,工作效率比较低。现有系统技术性含量比较低,操作不便,工作量大,需要较多的人才能完成工作。系统依赖于大量的人力和物质投入,工作效率较低和成本较高。2.3 所建议的系统2.3.1对所建议系统的说明使用饭卡可以快速便捷的进行消费。中央电脑-数据库对饭卡的操作相应至关重要。在高峰时刻,也能保证,存款,消费无错误,并且可记录,撤销操作。2.3.2处理流程和数据流程系统的处理流程 图1 系统的处理流程图2.4 结论通过技术、经济、具体操作等方面的研究可知,新系统可开发风险较低,可以开始进行具体的开发工作。第三章 需求分析3.1市场需求分析过去的系统技术性含量比较低,操作不便,工作量大,需要较多的人才能完成工作,而且还依赖大量人力物力的投入,工作效率低,成本高。相比于过去低级的系统,现在经过改良之后的系统不但操作简便,而且只需要极少数的管理人员,大大的提高的工作效率。3.2系统功能性需求分析3.2.1对功能的规定本系统面向全体学生,所以需要录入学生的一些信息,然后再创建饭卡。最后才是学生向饭卡中存款,进行刷卡消费。由于存储了学生的信息,所以挂失起来也更为的方便。以下给予数据流图来更为直观的描述出此系统的功能:图2 顶层数据流图图3 创建校园卡ID数据流图图4 校园卡消费数据流图图5 校园卡信息查询数据流图图6 校园卡存款流图3.2.2对性能的规定(1)精度输入数据:查询最大查询范围1年内;卡ID合法性;客户信息合法性;输出数据:余额以 213.12的形式最多小数点后两位,即到分为止显示。(小于的部分不可能出现)(2)时间特性要求刷卡响应时间不超过1秒;查询响应时间不超过5秒;3.3系统非功能性需求3.3.1故障处理要求刷卡响应时间超过1秒后,自动提出警告。要求重新刷卡。查询超过5秒,要显示查询时间长的提示信息。以免误认为死机。当计算机突然死机、重启、断电时自动存储备份数据。即便没有存上。也有备份数据库,供恢复。3.3.2其他专门要求普通学生只能刷卡消费,系统管理员还可以进入管理员界面;刷卡服务员可以操作刷卡器。界面清晰、美观,操作简单、方便。所有数据存储在学校服务器端,数据存储安全可靠。3.3 数据字典1学生信息:学生学号 = 数字|字母身份证号 = 数字|字母卡ID = 数字|字母学生姓名 = 汉字性别 = 男|女|null2 卡信息卡ID = 数字|字母余额= 数字锁=true|false3 卡历史卡ID = 数字|字母时间=时间格式款额=数字操作=存款|消费|其他数据元素的数据字典卡片:学生信息名字:学生信息 别名:描述:记录学生相关信息定义:学生信息=学生学号+身份证号+卡ID+学生姓名+性别位置:数据库卡信息名字:卡信息 别名:描述:记录卡的信息定义:卡信息 =卡ID+余额+锁位置:数据库卡历史信息名字:卡历史信息 别名:描述:记录卡历史的信息定义:客户信息=卡ID+时间+款额+操作位置:数据库3.4运行环境规定1中央电脑,要求容量大,CPU能够满足查询的。2刷卡器,要求读取ID敏捷,准确。3要求刷卡器与中央电脑连接。通信量要满足查询精度和速度。4.刷卡器上的功能建,要求显示明确,意思表达精确。3.5实体-联系图本系统的实体有:学生信息、卡信息它们之间的关系是一对一的。卡信息和卡历史是一对多的。根据分析可以得出如下的E-R图:图7 系统E-R图第四章 系统设计4.1 总体设计4.1.1需求概述总体设计的主要任务是设计程序的体系结构,也就是确定程序有哪些模块组成以及模块间的关系。总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划。分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软结构,通常,进行必要的数据库设计,确定测试要求并且是定测试计划。4.1.2校园卡管理信息系统概要设计根据需求分析和系统将要实现的功能来看,系统有如下基本功能:l 新建饭卡l 存款消费l 查询历史l 挂失l 注销 图8 系统层次图4.2详细设计4.2.1编写定义1.编写目的详细设计阶段的任务就是把解法具体化,解决具体应怎样实现这个系统。也称为模块设计,详细地设计每个模块,确定实现模块所需的功能需要的算法和数据结构。2.定义在软件具体设计阶段的专用术语有:程序流程图、盒图(NS图)、判定表、判定树、PAD图4.2.2功能模块的设计与实现1新建校园饭卡模块 (1)用户类别: 1有提供学生查阅的学生界面。 2 提供管理员操作的管理员界面。 3 提供刷卡的刷卡服务员界面。(2)管理员界面菜单1 状态1.1登陆;1.2注销;2 新建-新建学生信息界面;3 查询更新3.1 学生消费历史3.2 学生信息4 挂失4.1 加锁4.2 解锁5 注销卡(3)学生查询菜单1 状态1.1登陆;1.2注销;2 查询历史3 查询学生信息(4)刷卡界面1 状态1.1登陆;1.2注销;2 消费方式2.1 正常2.2 定价3 显示上次输出2外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。3内部接口 查询和更新都要调用数据库的操作。4.2.3运行设计1.运行模块组合具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。2.运行控制软件运行时有比较友好的用户界面,基本能够实现用户的数据处理要求。3.运行时间系统的运行时间基本可以达到用户所提出的要求。4.2.4系统数据结构设计1.物理结构设计系统的物理结构具体由数据库来设计与生成,此处略。2.数据结构与程序的关系系统的数据结构由标准数据库语言SQL生成。 4.2.5系统出错处理设计1.出错信息1 在学生刷卡后,卡ID被锁,将会出现错误信息:“Kard Locked”2 学生卡信息丢失,查询时或者消费-存款时,不认卡情况3 存款额大于999.99元,刷卡器只显示小于等于999,99元部分4 消费时消费额大于存款额。系统将会提示错误,不作其他任何操作。2.措施(号码对应)1 只能解卡锁2 有备份数据库,随时可以恢复3 只能更换刷卡器4 计时充钱4.3 功能模块设计 4.3.1 入口程序entry() 设计说明1.程序描述提供管理员和学生用户,刷卡服务三种环境,限制用户对系统的使用权限。特点:非常驻内存;单独的一个程序;顺序处理。2.输入项权限:三个单选项。Level。管理员用户名:字符串类型,user,长度不超过20,可以是数字(不能开头)和字母、汉字;管理员密码 :字符串类型,pass, 长度不超过20, 可以是数字和字母,区分大小写3.输出项 欢迎或者提示错误信息。4.流程逻辑 1)程序流程图图9 程序流程图具体方法代码实现如下:1数据库联接公共部分public static Connection conn = null;public static Statement state = null;public static void odbc()String DBDriver = sun.jdbc.odbc.JdbcOdbcDriver;String connectionStr = jdbc:odbc:myodbc; try Class.forName(DBDriver); catch(java.lang.ClassNotFoundExceptione)System.err.println(DBconnecton:+e.getMessage(); try conn = DriverManager.getConnection(connectionStr,); state = conn.createStatement(); catch(SQLExceptionex) System.err.println(aq.executeQuery:+ex.getMessage(); 2 刷卡选择部分/= 刷卡界面= if(this.jRadioButton2.isSelected() this.setVisible(false); JOptionPane.showMessageDialog(null,欢迎进入刷卡界面!); Spend.main(null); /= 学生查询界面= if(this.jRadioButton3.isSelected() this.setVisible(false); JOptionPane.showMessageDialog(null,欢迎进入学生查询界面!); StuInfo.main(null);4.3.2 查询模块search() 设计说明1.程序描述完成对系统(数据库)的查找。2.输入项学生卡信息,时间信息,消费信息等。3.输出项 查找结果。4.流程逻辑PAD图图10 流程逻辑PAD图具体方法代码实现如下:if(num.getText().equals() ) JOptionPane.showMessageDialog(null,卡号不能为空!); num.setFocusable(true); else try Stringsql = select * from student_info where stu_num = +num.getText(); ResultSetrs= Main.state.executeQuery(sql); if(rs.next() id.setText(rs.getString(2); name.setText(rs.getString(3); if(rs.getBoolean(4) sex.setText(男); else sex.setText(女); tel.setText(rs.getString(5); address.setText(rs.getString(6); else JOptionPane.showMessageDialog(null,卡号错误!); catch(SQLExceptionex) System.err.println(aq.executeQuery:+ex.getMessage(); 4.3.3 存储、消费模块pay() 设计说明1.程序描述完成消费部分。对输入和消费额,进行合法性验证。2.输入项 卡ID,定价与否,消费额。3.输出项卡余额,错误提示。具体方法代码实现如下:1 搜索部分if(Ids.getText().equals() )JOptionPane.showMessageDialog(null,卡号不能为空!); Ids.setFocusable(true); elsetry Stringsql= select * from card_info where id = +Ids.getText(); ResultSetrs= Main.state.executeQuery(sql); if(rs.next() if(rs.getBoolean(3)JOptionPane.showMessageDialog(null,卡已30经被锁,如要解锁,请与管理员联系否则10日后 自动注销!); else if(DjCheck.isSelected()Sum.setText(rs.getString(2);this.result=String.valueOf(Integer.parseInt(Sum.getText()-Integer.parseInt(Dingjia.getText();JOptionPane.showMessageDialog(null,消费完毕,卡剩余+ result +。如果要继续消费请在10秒内操作,只后自动关闭帐户); Sum.setText(result); else Ids.setEditable(false); this.jButton26.setEnabled(false); this.jPanel1.setVisible(true);Sum.setText(rs.getString(2);jButton12.setEnabled(true);jButton14.setEnabled(true);jButton15.setEnabled(true); elseJOptionPane.showMessageDialog(null,卡号错误!); catch(SQLExceptionex) System.err.println(aq.executeQuery:+ex.getMessage();2 消费部分 try this.result=String.valueOf(Integer.parseInt(Sum.getText() - Integer.parseInt(Now.getText(); Stringsql=updatecard_infoset sum=+result+whereid=+Ids.getText(); if(Main.state.executeUpdate(sql)=0) JOptionPane.showMessageDialog(null,消费失败); else this.nows =Now.getText(); this.sums =Sum.getText();JOptionPane.showMessageDialog(null,消费完毕,卡剩余+ result +。如果要继续消费请在10秒内操作,只后自动关闭帐户); Sum.setText(result); catch(SQLExceptionex) System.err.println(aq.executeQuery:+ex.getMessage();3 加减乘部分if(Jisuan.getText().compareTo() = 0)Jisuan.setText(Now.getText(); Now.setText(0); else switch(ops) case 3: int a= 0; a=Integer.parseInt(Jisuan.getText() * Integer.parseInt(Now.getText(); if(a999) JOptionPane.showMessageDialog(null,计算量超过消费最大值!); else Jisuan.setText(String.valueOf(Integer.parseInt(Jisuan.getText() * Integer.parseInt(Now.getText(); Now.setText(Jisuan.getText(); break; case 2: int b=0;b=Integer.parseInt(Jisuan.getText()+ Integer.parseInt(Now.getText(); if(b999) JOptionPane.showMessageDialog(null,计算量超过消费最大值!); else Jisuan.setText(String.valueOf(Integer.parseInt(Jisuan.getText()+Integer.parseInt(Now.getText();Now.setText(Jisuan.getText(); break; case 1: int c=1; c=Integer.parseInt(Jisuan.getText()-Integer.parseInt(Now.getText(); if(c999|c=0)JOptionPane.showMessageDialog(null,计算量超过消费有效值!); elseJisuan.setText(String.valueOf(Integer.parseInt(Jisuan.getText() - Integer.parseInt(Now.getText(); Now.setText(Jisuan.getText(); break; ops = 0 ; Op.setText(=);4.3.4挂失模块deposit() 设计说明1.程序描述完成挂失部分。对卡进行挂失和解挂操作,进行合法性验证。2.输入项 卡ID,卡密码额。3.输出项成功提示,错误提示。4.流程逻辑判断表表1 流程逻辑判断表学生代号12345678读卡成功NYNNYYNY卡没有锁NNYNYNYY存款成功NNNYNYYY显示余额显示不可能不可能显示不可能不可能显示题是错误提示不可能不可能不可能不可能显示存款成功信息不显示不显示不可能不可能不显示不可能不可能显示显示存款失败信息不显示显示不可能不可能显示不可能不可能不显示if(num.getText().equals() )JOptionPane.showMessageDialog(null,学生学号不能为空); num.setFocusable(true); else try String sql = select * from student_info where stu_num = +num.getText(); ResultSetrs=Main.state.executeQuery(sql); if(rs.next()if(rs.getString(7).compareTo(pass.getText()=0) JOptionPane.showMessageDialog(null,请按确认锁键,确认锁卡!); num.setEnabled(false); pass.setEnabled(false); this.jButton1.setEnabled(false); this.jButton2.setEnabled(true); ids=rs.getInt(1); else JOptionPane.showMessageDialog(null,学生密码错误!); else JOptionPane.showMessageDialog(null,学生学号错误!); catch(SQLException ex) System.err.println(aq.executeQuery:+ex.getMessage(); 第五章 系统测试5.1 测试的作用和意义 系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的4050。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。因此做好系统交付前的系统测试的目的就是在系统在投入生产性运行之前,尽可能多的发现系统的潜在错误,这是保证系统质量的关键,也是减少系统后期维护投入的最佳方法。5.2 测试方法 本次测试主要是对系统进行黑盒、白盒测试。由未参与系统编程的组员参与。通过设计不同的等价输入类对系统的各项功能进行反复运行,观察系统的返回结果来判断系统的各项功能的实现情况。5.3 测试内容1 软件的正常运行、关闭及退出时保存记录情况。2 用户界面是否友好,可操作性及安全性能是否良好。3 数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基坑支护施工方案
- 水下打捞团队施工方案
- 校园安全教育组图
- 消防安全教育入校园
- 社区民警对校园安全教育
- 智算中心网络架构搭建技术方案
- 预分支电缆施工方案
- 土建工程路灯安装施工方案
- 校园安全教育平台直播
- 热能回收技术应用方案
- 2025文具用品采购合同范本格式
- 电气检修生产安全培训课件
- 2025天津津南国有资本投资运营集团有限公司及实控子公司招聘工作人员招聘5人考试模拟试题及答案解析
- 营造清朗空间+课件-2025-2026学年(统编版2024)道德与法治八年级上册
- 2025年遴选财务岗考试题及答案
- 《2025新版检验检测机构管理评审报告》
- 移动与酒店合作合同协议
- excel操作考试题及答案
- 项目安全管理实施细则
- 车间偷盗行为管理办法
- 部编初一初中语文阅读理解答题公式大全(绝对有用)+专项训练练习题
评论
0/150
提交评论