软件工程课程设计校园卡.docx
- 文档编号:26211025
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:34
- 大小:867.26KB
软件工程课程设计校园卡.docx
《软件工程课程设计校园卡.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计校园卡.docx(34页珍藏版)》请在冰豆网上搜索。
软件工程课程设计校园卡
软件工程课程设计-校园卡(总37页)
湖南人文科技学院计算机系
课程设计说明书
课程名称
:
软件工程导论
课程代码
:
题目
:
校园卡管理系统
年级/专业/班
:
09级计科二班
学生姓名
:
蒋瑞杨金刘嘉柏邹振兵
学号
:
121048
指导老师
:
颜富强
开题时间
:
2011年6月6日
完成时间
:
2011年6月30日
2011年6月30日
课程设计任务书及成绩评定
课程名称
:
软件工程导论
完成者
:
蒋瑞、杨金、刘嘉柏、邹振兵
1、设计的目的与要求
1)加强学生的实践能力;
2)理解小型系统开发的基本步骤;
3)本系统的功能包括:
学生信息管理模块、刷卡消费、查询、存款模块(包括基本的添加、修改、删除功能)。
2、设计进度及完成情况
日期
内容
项目开发计划书
系统可行性研究
系统需求分析
系统设计
系统测试
项目的递交
3、成绩评定
设计成绩:
(教师填写)
指导老师:
(签字)
2011年月日
第一章项目开发计划书
引言
编写目的
此项目开发计划书的编写主要是为了给开发《校园卡管理系统》做主要的规划和整合,在开发过程中起到引导作用,以及给使用者提供简要的说明。
背景
校园卡管理系统是一套针对大学校园食堂饮食交费,一般消费等方面的信息管理系统,它包括了同学在校内消费各方面内容:
刷卡消费、查询、存款,学生信息管理等。
方便的对同学饭卡信息进行各项操作,定时进行数据的备份更新,保持数据的一致性和准确性,各方面的内容应该相互联系,最终产生各种查询统计报表,以供同学进行检查。
用户通过系统首页面,创建饭卡,存入钱。
消费时根据饭卡ID判断该用户是否是合法用户,同时进行消费操作。
管理员可以对系统进行新建饭卡、注销饭卡、修改饭卡信息等操作,而学生进行消费的操作。
项目概述
工作内容
校园卡卡管理系统的主要任务就是把人们从繁琐的交费,找零工作中解放出来,用计算机实现对销售合同资料进行存款,消费,查询、修改、删除以及存储等功能。
同时,用计算机能够快速准确地完成共档案资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。
主要参加人员
组长:
蒋瑞
设计:
刘嘉柏、蒋瑞
开发:
杨金、邹振兵
产品
1系统开发计划书
2系统需求说明书
3系统设计说明书
4测试计划
5一个能正确运行的可执行程序,源程序清单(有注释)
服务
安装、维护和运行支持从使用该系统开始,维护期限为一年。
验收标准
各个功能均能正常使用,满足用户的需求。
本计划的批准者和批准日期
批准者:
颜富强
批准日期:
2011年6月6日
实施计划
工作任务的分配与人员分工
组长:
蒋瑞任务:
(1)系统总的开发计划书
(2)每周至少组织小组讨论一次,列出本周开发计划
(3)项目开发进度的管理
(4)团队的组织和协调
设计:
刘嘉柏、蒋瑞任务:
(1)参与小组讨论
(2)进行系统的需求分析和系统设计
(3)完成系统需求说明书和系统设计说明书
(4)编写测试计划,参与系统测试
(5)协助文档人员完成用户相关文档
开发:
邹振兵、杨金任务:
(1)参与小组讨论
(2)根据设计完成编码,并注释
(3)进行单元测试
进度
系统规划阶段:
项目标志性事件开始到完成
开发阶段:
项目开发计划书的完成需求分析阶段:
系统需求说明书完成设计阶段:
系统设计说明书编码实现:
项目的形成测试阶段:
测试计划移交阶段:
项目的递交支持条件
操作系统需要windows2000以上;
操作系统环境:
java虚拟机,.;
数据库需要SQLServer2000;
第二章可行性分析
可行性研究的前提
要求:
满足客户使用校园卡的各项功能及要求,并对客户资料具有保密性
目标:
提高处理速度,改进安全系统,方便用户使用。
条件、假定和限制:
所建议系统的运行寿命最少1年;进行系统方案选择比较的时间为1天。
对现有系统的分析
人工操作频繁加减存款。
工作繁琐,枯燥,容易出错,完成工作所需要的时间较长,工作效率比较低。
现有系统技术性含量比较低,操作不便,工作量大,需要较多的人才能完成工作。
系统依赖于大量的人力和物质投入,工作效率较低和成本较高。
所建议的系统
对所建议系统的说明
使用饭卡可以快速便捷的进行消费。
中央电脑--数据库对饭卡的操作相应至关重要。
在高峰时刻,也能保证,存款,消费无错误,并且可记录,撤销操作。
处理流程和数据流程
系统的处理流程
图1系统的处理流程图
经济上可行性
开发成本:
200元人民币。
效益:
暂时无法具体衡量。
效益/投资比:
暂时无法估算。
投资回收期:
大约2个月。
技术可行性
a.在当前的限制条件下,该系统的功能目标能够达到;
b.利用现有的技术,该系统的功能能实现;
c.对开发人员的数量和质量的要求能满足;
d.在规定的期限内,本系统的开发能够完成。
开发工具的选择
Java概述
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
新系统的影响
1对设备的影响
设备不变
2对软件的影响
新系统使用具有较高技术的软件
3对对象的影响:
新系统要求对客户、合同、操作人员有较为详细地记录。
4对系统运行过程的影响:
系统的运行更加高速、有效。
5对开发的影响:
新系统的开发环境要求不高,只需要现有设备就可以完成,且不会在开发过程中影响到现有系统的使用。
6对地点和设施的影响:
开发新系统不用考虑地点等方面的问题。
7技术条件方面的可能性
开发新系统的技术虽较现有系统比较先进,但总的来看,这些技术均已比较成熟,因此新系统的开发在技术方面应该不会有带大的困难。
投资及效益分析
新系统开发完成后,只需要2~3面管理员,大大减少的人员方面的开支,同时由于数据冗余度也大大降低,在物质方面也降低了开销,因此会有较好的市场效益。
结论
通过技术、经济、具体操作等方面的研究可知,新系统可开发风险较低,可以开始进行具体的开发工作。
第三章需求分析
市场需求分析
过去的系统技术性含量比较低,操作不便,工作量大,需要较多的人才能完成工作,而且还依赖大量人力物力的投入,工作效率低,成本高。
相比于过去低级的系统,现在经过改良之后的系统不但操作简便,而且只需要极少数的管理人员,大大的提高的工作效率。
系统功能性需求分析
对功能的规定
本系统面向全体学生,所以需要录入学生的一些信息,然后再创建饭卡。
最后才是学生向饭卡中存款,进行刷卡消费。
由于存储了学生的信息,所以挂失起来也更为的方便。
以下给予数据流图来更为直观的描述出此系统的功能:
图2顶层数据流图
图3创建校园卡ID数据流图
图4校园卡消费数据流图
图5校园卡信息查询数据流图
图6校园卡存款流图
对性能的规定
(1)精度
输入数据:
查询最大查询范围1年内;卡ID合法性;客户信息合法性;
输出数据:
余额以的形式最多小数点后两位,即到分为止显示。
(小于的部分不可能出现)
(2)时间特性要求
刷卡响应时间不超过1秒;
查询响应时间不超过5秒;
系统非功能性需求
故障处理要求
刷卡响应时间超过1秒后,自动提出警告。
要求重新刷卡。
查询超过5秒,要显示查询时间长的提示信息。
以免误认为死机。
当计算机突然死机、重启、断电时自动存储备份数据。
即便没有存上。
也有备份数据库,供恢复。
其他专门要求
普通学生只能刷卡消费,系统管理员还可以进入管理员界面;刷卡服务员可以操作刷卡器。
界面清晰、美观,操作简单、方便。
所有数据存储在学校服务器端,数据存储安全可靠。
数据字典
1学生信息:
学生学号=[数字|字母]
身份证号=[数字|字母]
卡ID=[数字|字母]
学生姓名=[汉字]
性别=[男|女|null]
2卡信息
卡ID=[数字|字母]
余额=[数字]
锁=[true|false]
3卡历史
卡ID=[数字|字母]
时间=[时间格式]
款额=[数字]
操作=[存款|消费|其他]
数据元素的数据字典卡片:
学生信息
名字:
学生信息别名:
描述:
记录学生相关信息
定义:
学生信息=学生学号+身份证号+卡ID+学生姓名+性别
位置:
数据库
卡信息
名字:
卡信息别名:
描述:
记录卡的信息
定义:
卡信息=卡ID+余额+锁
位置:
数据库
卡历史信息
名字:
卡历史信息别名:
描述:
记录卡历史的信息
定义:
客户信息=卡ID+时间+款额+操作
位置:
数据库
运行环境规定
1中央电脑,要求容量大,CPU能够满足查询的。
2刷卡器,要求读取ID敏捷,准确。
3要求刷卡器与中央电脑连接。
通信量要满足查询精度和速度。
4.刷卡器上的功能建,要求显示明确,意思表达精确。
实体-联系图
本系统的实体有:
学生信息、卡信息它们之间的关系是一对一的。
卡信息和卡历史是一对多的。
根据分析可以得出如下的E-R图:
图7系统E-R图
第四章系统设计
总体设计
需求概述
总体设计的主要任务是设计程序的体系结构,也就是确定程序有哪些模块组成以及模块间的关系。
总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。
然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划。
分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。
如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软结构,通常,进行必要的数据库设计,确定测试要求并且是定测试计划。
校园卡管理信息系统概要设计
根据需求分析和系统将要实现的功能来看,系统有如下基本功能:
●新建饭卡
●存款——消费
●查询历史
●挂失
●注销
图8系统层次图
详细设计
编写定义
1.编写目的
详细设计阶段的任务就是把解法具体化,解决具体应怎样实现这个系统。
也称为模块设计,详细地设计每个模块,确定实现模块所需的功能需要的算法和数据结构。
2.定义
在软件具体设计阶段的专用术语有:
程序流程图、盒图(N—S图)、判定表、判定树、PAD图
功能模块的设计与实现
1新建校园饭卡模块
(1)用户类别:
1有提供学生查阅的学生界面。
2提供管理员操作的管理员界面。
3提供刷卡的刷卡服务员界面。
(2)管理员界面菜单
1状态
登陆;
注销;
2新建--新建学生信息界面;
3查询更新
学生消费历史
学生信息
4挂失
加锁
解锁
5注销卡
(3)学生查询菜单
1状态
登陆;
注销;
2查询历史
3查询学生信息
(4)刷卡界面
1状态
登陆;
注销;
2消费方式
正常
定价
3显示上次输出
2外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
3内部接口
查询和更新都要调用数据库的操作。
运行设计
1.运行模块组合
具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。
2.运行控制
软件运行时有比较友好的用户界面,基本能够实现用户的数据处理要求。
3.运行时间
系统的运行时间基本可以达到用户所提出的要求。
系统数据结构设计
1.物理结构设计
系统的物理结构具体由数据库来设计与生成,此处略。
2.数据结构与程序的关系
系统的数据结构由标准数据库语言SQL生成。
系统出错处理设计
1.出错信息
1在学生刷卡后,卡ID被锁,将会出现错误信息:
“KardLocked”
2学生卡信息丢失,查询时或者消费-存款时,不认卡情况
3存款额大于元,刷卡器只显示小于等于999,99元部分
4消费时消费额大于存款额。
系统将会提示错误,不作其他任何操作。
2.措施(号码对应)
1只能解卡锁
2有备份数据库,随时可以恢复
3只能更换刷卡器
4计时充钱
功能模块设计
入口程序entry()设计说明
1.程序描述
提供管理员和学生用户,刷卡服务三种环境,限制用户对系统的使用权限。
特点:
非常驻内存;单独的一个程序;顺序处理。
2.输入项
权限:
三个单选项。
Level。
管理员用户名:
字符串类型,user,长度不超过20,可以是数字(不能开头)和字母、汉字;
管理员密码:
字符串类型,pass,长度不超过20,可以是数字和字母,区分大小写
3.输出项
欢迎或者提示错误信息。
4.流程逻辑
1)程序流程图
图9程序流程图
具体方法代码实现如下:
1数据库联接公共部分
publicstaticConnectionconn=null;
publicstaticStatementstate=null;
publicstaticvoidodbc(){
StringDBDriver="";
StringconnectionStr="jdbc:
odbc:
myodbc";
try{
(DBDriver);
}
catch"DBconnecton:
"+());}
try{
conn=(connectionStr,"","");
state=();
}catch(SQLExceptionex)
{":
"+());}
}
2刷卡选择部分
序描述
完成对系统(数据库)的查找。
2.输入项
学生卡信息,时间信息,消费信息等。
3.输出项
查找结果。
4.流程逻辑PAD图
图10流程逻辑PAD图
具体方法代码实现如下:
if().equals(""))
{
(null,"卡号不能为空!
");
(true);
}
else{
try{
Stringsql="select*fromstudent_infowherestu_num="+();
ResultSetrs=if())
{
(2));
(3));
if(4))
("男");
else("女");
(5));
(6));
}
else{
(null,"卡号错误!
");
}
}
catch(SQLExceptionex)
{":
"+());}
}
存储、消费模块pay()设计说明
1.程序描述
完成消费部分。
对输入和消费额,进行合法性验证。
2.输入项
卡ID,定价与否,消费额。
3.输出项
卡余额,错误提示。
具体方法代码实现如下:
1搜索部分
if().equals(""))
{(null,"卡号不能为空!
");
(true);
}else{
try{
Stringsql="select*fromcard_infowhereid="+();
ResultSetrs=if()){
if(3))
{(null,"卡已
经被锁,如要解锁,请与管理员联系否则10日后自动注销!
");}
else{
if())
{
(2));
=())()));
(null,"消费完毕,卡剩余"+result+"。
如果要继续消费请在10秒内操作,只后自动关闭帐户");
(result);}
else{
(false);
}
}
}
else{
(null,"卡号错误!
");
}
}
catch(SQLExceptionex)
{":
"+());}
}
2消费部分
try{
=(())-())));
Stringsql="updatecard_infosetsum="+result+"whereid="+();
if
(null,"消费失败");
}
else{
=();
=();
(null,"消费完毕,卡剩余"+result+"。
如果要继续消费请在10秒内操作,只后自动关闭帐户");
(result);
}
}catch(SQLExceptionex)
{":
"+());}
3加减乘部分
if()pareTo("")==0)
{
());
("0");
}
else{
switch(ops){
case3:
inta=0;
a=())*());
if(a>999)
{
(null,"计算量超过消费最大值!
");
}
else{
())*())));
());
}
break;
case2:
intb=0;
b=())+());
if(b>999)
{
(null,"计算量超过消费最大值!
");
}
else{())+())));
());
}
break;
case1:
intc=1;
c=())());if(c>999||c<=0)
{
(null,"计算量超过消费有效值!
");
}
else{
eInt())-())));
());
}
break;
}
}
ops=0;
("=");
挂失模块deposit()设计说明
1.程序描述
完成挂失部分。
对卡进行挂失和解挂操作,进行合法性验证。
2.输入项
卡ID,卡密码额。
3.输出项
成功提示,错误提示。
4.流程逻辑判断表
表1流程逻辑判断表
学生代号
1
2
3
4
5
6
7
8
读卡成功
N
Y
N
N
Y
Y
N
Y
卡没有锁
N
N
Y
N
Y
N
Y
Y
存款成功
N
N
N
Y
N
Y
Y
Y
显示余额
显示
不可能
不可能
显示
不可能
不可能
显示
题是错误
提示
不可能
不可能
不可能
不可能
显示存款成功信息
不显示
不显示
不可能
不可能
不显示
不可能
不可能
显示
显示存款失败信息
不显示
显示
不可能
不可能
显示
不可能
不可能
不显示
if().equals(""))
{(null,"学生学号不能为空");(true);
}
else{
try{
Stringsql="select*fromstudent_infowherestu_num="+();ResultSetrs=if())
{
if(7)pareTo())==0)
{
(null,"请按确认锁键,确认锁卡!
");
(false);
(false);
ids=
(1);
}
else{
(null,"学生密码错误!
");
}
}
else{
(null,"学生学号错误!
");
}
}
catch(SQLExceptionex)
{":
"+());}
}
第五章系统测试
测试的作用和意义
系统测试是管理信息系统的开发周期中的一个十分重要环节。
尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。
系统测试占用的时间、花费的人力和成本占软件开发的很大比例。
统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的40%-50%。
而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。
因此做好系统交付前的系统测试的目的就是在系统在投入生产性运行之前,尽可能多的发现系统的潜在错误,这是保证系统质量的关键,也是减少系统后期维护投入的最佳方法。
测试方法
本次测试主要是对系统进行黑盒、白盒测试。
由未参与系统编程的组员参与。
通过设计不同的等价输入类对系统的各项功能进行反复运行,观察系统的返回结果来判断系统的各项功能的实现情况。
测试内容
1软件的正常运行、关闭及退出时保存记录情况。
2用户界面是否友好,可操作性及安全性能是否良好。
3数据库的可维护性好,数据的录入、删除及更改是否能顺利完成。
5各模块的共能是否能达到预期要求。
6系统的稳定性是够良好。
测试结果
注册和登录模块测试
经过测试,用户能在本系统进行正常的注册和登录,并在用户输入不存在的用户名或错误的密码后能给出提示。
说明本系统的注册和登录模块的各项功能都圆满实现了。
1.进入界面
图11进入界面
2.创建用户界面
图12创建新卡界面
3.登陆界面
图13登陆界面
查询模块测试
1查询主要是余额查询,经测试系统该方面运行正常。
查询结果显示
图14查询界面
卡密码修改模块测试
1.密码修改
图15密码修改界面
账户充值、消费模块测试
1刷卡消费界面
图16消费界面
2.账户充值界面
图17账户充值界面
结论
经过反复测试,系统完成后运行用户注册、登录、充值、修改密码、消费与查询等功能均正常。
虽然界面友好度还有望改善,并且卡的挂失和解挂功能没有完好的实现,但总的来说还是比较成功的。
鉴于此,发布版。
第六章总结
通过这次设计,我们对软件的各个方面从策划,设计,测试,到运行,所有角色都扮演了一遍。
发现完成一项开发软件的工程,真是不容易的事情。
尤其,在需求分析阶段,除编码外,时间花的最长的阶段。
即便如此,在编程的时候,还是觉得前面需求分析做的不是很彻底。
但因时间原因,也没法做得再细致了。
虽然此系统仍存在许多缺陷,但是通过该系统设计达到了系统设计目的意义,基本掌握了软件开发的主要步骤,了解了各环节在开发时要注意的问题,从方便用户的角度出发,去考虑开发出好的软件。
另外,在设计过程中也逐渐提高了软件开发技能和编程技能。
因此本设计虽
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 校园卡