软件工程课设(简易银行卡管理系统)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件工程实验报告一.题目实验题目:简易银行卡管理系统的开发二.功能描述2.1.此银行卡系统面向的对象此银行卡管理系统有两个:用户和管理员。用户和管理员可以利用这个系统做不同的事情。2.2.银行卡系统的功能此系统有因为面向两个用户群体,因此有两个不同的模式:用户模式和管理员模式。下面是两种模式的功能。用户模式查询余额转账打印凭条修改密码存款取款退卡管理员模式开户销户挂失解挂回到用户模式三.数据定义3.1.使用数据库来定义和保存用户的各种信息3.2.用户的信息定义如下四.总体设计和各模块接口说明4.1.总体设计的模块调用图说明:银行卡管理系统的控制域是所有模块。用户模式的控制域是:取款,转账,存款,查询,退卡,打印凭条,修改密码这几个模块。管理员模式的控制名称数据类型说明CNamenvarchar(10)用户姓名,定义为50个长度的可变字符串CardNOnvarchar(10)用户卡号,定义为10个长度的可变字符串CardPwdnvarchar(10)用户卡号密码,定义为10个长度的可变字符串IDnvarchar(10)用户身份证,定义为10个长度的可变字符串。主键Statusint卡的状态,标记是否被冻结Moneymoney卡里面的余额SNint用户开户的序号,就是记录第几个开户的银行卡管理系统用户模式管理员模式转账存款打印凭条修改密码取款销户开户退卡解挂挂失查询域是:开户,销户,挂失,解挂这几个模块4.2.各个模块接口的说明使用IPO表来对各个模块进行说明IPO表系统:银行卡管理系统作者:XXX模块:银行卡管理模块日期:20100409编号:07061901注释:调用:用户模式,管理员模式被调用:无输入:用户信息或管理员信息输出:是否进入选择的模式处理:IPO表系统:银行卡管理系统作者:XXX模块:用户模式模块日期:20100409编号:07061902注释:调用:查询,转账,存款,取款,打印凭条,修改密码,退卡被调用:银行卡管理输入:选择相应的操作输出:是否进入选择的模式IPO表系统:银行卡管理系统作者:XXX模块:查询模块日期:20100410编号:07061903注释:后台对数据库操作调用:无被调用:用户模式模块输入:选择查询方法输出:用户的余额处理:IPO表系统:银行卡管理系统作者:XXX模块:存款模块日期:20100410编号:07061904注释:后台对数据库操作调用:无被调用:用户模式模块输入:选择存款方法,存入金额输出:是否存款成功处理:IPO表系统:银行卡管理系统作者:XXX模块:存款模块日期:20100410编号:07061904注释:后台对数据库操作调用:无被调用:用户模式模块输入:选择存款方法,存入金额输出:是否存款成功处理:说明:由于模块过多,所以在报告中只列出了上面几个模块的IPO表IPO表系统:银行卡管理系统作者:XXX模块:修改密码模块日期:20100411编号:07061905注释:后台对数据库操作调用:无被调用:用户模式模块输入:选择修改密码,输入密码输出:修改密码成功或失败处理:IPO表系统:银行卡管理系统作者:XXX模块:凭条打印模块日期:20100411编号:07061906注释:后台对数据库操作调用:无被调用:用户模式模块输入:选择打印凭条方法输出:打印出的凭条处理:IPO表系统:银行卡管理系统作者:XXX模块:开户模块日期:20100412编号:07061908注释:后台对数据库操作调用:无被调用:管理员模式模块输入:开户的信息输出:开户成功或失败处理:IPO表系统:银行卡管理系统作者:XXX模块:修改密码模块日期:20100411编号:07061905注释:后台对数据库操作调用:无被调用:用户模式模块输入:选择修改密码,输入密码输出:修改密码成功或失败处理:五.程序设计的说明5.1详细设计的PAD图选择=选择=说明:由于模块过多,在此仅仅写出存款模块的PAD图银行卡管理系统Def用户模式管理员模式选择用户模式存款取款用户模式Def查询转账修改密码打印凭条退出存款取款查询转账修改密码打印凭条退出管理员模式Def开户销户挂失解挂开户销户挂失解挂存款Def输入金额卡没有被冻结退卡输入金额DefUNTIL输入金额没有超出范围并且合法操作数据库操作数据库Def在数据库中给用户金额增加相应值存款成功(A)银行卡管理系统的PAD图(B)用户模式模块的PAD图(C)管理员模式模块的PAD图(D)存款模块的PAD图5.2模块的详细说明用户模块和管理员模块:要进入用户模式必须卡号和密码均正确才允许进入;进入管理员模式需要登录管理员账号和密码,两者均正确才能进入存款模块:卡号没有被冻结才能存款输入金额必须在100~50000范围之内,50000是一次存款的最大值输入金额要合法,不能输入非数字取款模块:卡号没有被冻结才能取款输入金额要合法,不能输入非数字输入金额必须少于或者等于账户余额,并且只能在100~50000之内查询模块:卡号没有被冻结才能查询余额修改密码“:卡号没有被冻结才能修改密码两次输入新密码必须一致才能修改打印凭条:此模块在开发中转账:卡号没有被冻结才能转账两次输入的账号必须一致转账金额必须少于或者等于账户余额一次转账金额必须在100~50000之间银联卡一定要选择转账卡的类型,例如:转到工行还是农行(开发中)开户:需要输入新建用户的姓名、身份证和密码。卡号自动生成输入的身份证不能与已存在的某个账户的身份证相同销户:需要输入要销户的姓名、卡号、身份证号和密码输入的信息必须存在于数据库中挂失:需要输入要挂失的姓名、卡号、身份证号和密码不能两次挂失,即不能挂失一次后再次挂失解挂:没有挂失的账户不能解挂需要输入要挂失的姓名、卡号、身份证号和密码六.测试和结果说明6.1.测试环境操作系统:Windows7测试平台:VisualStudio2008测试方法:黑盒测试具体方法:等价划分方法测试模块:存款模块和转账模块说明:由于模块太多,在报告上只写两个模块的测试结果,希望老师见谅。用户界面:用户模式管理员模式6.2.测试前的准备:存款:有效输入的等价类有:(1)输入规定的一次最少存款数100(2)输入规定的一次最大存款数50000(3)存入100~50000之间的金额数无效输入的等价类有(1)输入金额为0(2)输入金额为负数(3)输入金额大于0但小于100(4)输入金额大于50000(5)输入的不是一个数合法输出的等价类有:(1)存款成功非法输出的等价类:(1)警告:一次存款只能在100~50000之间转账:有效输入的等价类有:(1)输入的账号存在,并且转账金额为100(2)输入的账号存在,并且转账金额为最大余额(3)输入的账号存在,并且转账金额在100~最大余额之间无效输入的等价类有:(1)输入的账号不存在(2)两次输入的账号不同(3)输入的账号存在,但是转入的金额小于0(4)输入的账号存在,但是转人的金额大于0而小于100(5)输入的账号存在,但是转入的金额大于最大余额合法输出等价类有:(1)转账成功非法输出等价类有:(1)两次转账的账号不一致(2)不存在此账号6.3.测试结果:存款模块测试:根据等价划分设计出以下方案(1)输入规定的一次最少存款数100输入:100预期输出:存款成功实际输出:(2)输入规定的一次最大存款数50000输入:50000预期输出:存款成功实际输出:说明:因为先存入了100。所以结果为50100(3)存入100~50000之间的金额数输入:1000预期输出:存款成功实际输出:说明:先存了50100,所以结果为51100(4)输入金额为0输入:0预期输出:存款失败实际输出:(5)输入金额为负数输入:-1预期输出:存款失败实际输出:(6)输入金额大于0但小于100预期输出:存款失败实际输出:(7)输入金额大于50000输入:50001预期输出:存款失败实际输出:(8)输入的不是一个数输入:”OK”预期输出:存款失败实际输出:转账模块测试:(1)输入的账号存在,并且转账金额为100输入0706000002,0706000002,100(前两个为账号,后面为转账金额)预期输出:转账成功实际输出:(2)输入的账号不存在输入0706000003,0706000003,100(前两个为账号,后面为转账金额)预期输出:账号不存在实际输出:(3)两次输入的账号不同输入0706000002,0706000003,100(前两个为账号,后面为转账金额)预期输出:账号不一致实际输出:(4)输入的账号存在,但是转入的金额小于0输入0706000002,0706000002,-100(前两个为账号,后面为转账金额)预期输出:转账失败实际输出:(5)输入的账号存在,但是转人的金额大于0而小于100输入0706000002,0706000002,50(前两个为账号,后面为转账金额)预期输出:转账失败实际输出:(6)输入的账号存在,但是转入的金额大于最大余额输入0706000002,0706000002,20000(前两个为账号,后面为转账金额)预期输出:转账失败实际输出:6.4.测试小结使用等价划分的方法测试存款和转账这两个模块,暂时没有发现问题七.实验的体会此次银行卡管理系统的实验令我感慨颇多。其中有很多令我感到兴奋的挑战,也有很多令我感到沮丧的结果,但最后我都一一解决了,这的确是一次很难忘的经历。通过这次实验我了解了软件的开发流程,我学会了在概要设计中使用模块调用图。在模块的设计方面,知道要使各个模块之间耦合度尽可能的降低,而模块本身要有较高的内聚。这样一来,软件便有比较好的可重用性,也大大减小了维护难度。同时,我在测试方面也学习了不少的内容,比方说黑盒测试就是功能测试。一个好的测试就是能发现问题的测试,此次实验中我就是使用等价划分的方法来测试各个模块的,测试效率大大增加。在实验中我进一步的熟悉了MFC编写应用程序。以前我都是用编写控制台应用程序,而MFC使用很少,但是这次的银行卡管理系统,交互性比较强,因此需要一个好的交互界面。当然,在实验过程中遇到了一些麻烦,例如:对一些框架类和库函数还不是很熟悉,一些控件还不大会使用等等。这些问题我都会尽量的去查MSDN,有些问题我会上网查找。总之此次实验中,我对信息搜索,对类的设计,MFC的使用,代码的编写能力方面都有所提高。学会了对数据库的链接。最开始听说要使用数据库编程的时候有一点担心,因为数据库还没有学完。后来,我在网上找了一些数据库链接技术的资料,又借了几本书,希望能够掌握数据库的链接技术。开始我尝试这用ADO技术来链接数据库,但是发现里面有太多的东西不会,所以转而学习ODBC(开放数据库互联),正当我高兴的使用VisualStudio2008链接Access的时候,却发现一连接就死机的现象,于是我又尝试与SQLSever2005相连,最后成功的解决了问题。链接后在具体的操作过程中,也遇到过一些问题(例如:打开数据库后必须关闭后才能重新打开,否则就会出错),也学到了一些相关的操作语句。总之。这次实验对我来说使一次宝贵的经验。八.参考文献《软件工程导论(第三版)》张海潘清华大学出版社1998《实用软件工程》郑人杰,殷人昆,陶永雷清华大学出版社1997《软件需求》KarlE.Wiegers机械工业出版社2000《可视化面向对象建模技术--标准建模语言UML教程》刘超,张莉北京航空航天大学出版社1999《软件工程应用实践教程》吴洁明,袁山龙清华大学出版社2003

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功