我的银行系统的分析与设计_第1页
我的银行系统的分析与设计_第2页
我的银行系统的分析与设计_第3页
我的银行系统的分析与设计_第4页
我的银行系统的分析与设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、个人收集整理 勿做商业用途论文(报告、案例分析)院 系 研究生部专 业 计算机应用技术班 级 1221学生姓名 刘南星学 号 1208120302任课教师 唐恒亮2012 年 12 月 21 日1 / 12个人收集整理 勿做商业用途银行系统地分析与设计基于 UML 建模语言简介:实际生活中地银行功能其实还要复杂得多 ,但为了简化系统 , 本次设计只考虑银行地基 本功能 . 简化版地银行信息系统至少应具有如下功能: 文档收集自网络,仅用于个人学习1. 一个银行可以有多个账户;2. 一个银行可以有多个客户;3. 银行可以为客户开设账户;4. 银行可以为客户注销账户;5. 一个客户可以持有多个账户;

2、6. 一个账户可以有多个持有者 ( 客户 );7. 客户可以从自己账户中取钱;8. 客户可以向自己账户中存钱;9. 客户可以在同一银行地不同账户之间转账;10. 客户可以在不同银行地不同账户之间转账;需求分析采用用例驱动分析方法1. 识别参与者:(1)Clerk( 银行职员 )描述: Clerk 可以创建、删除账户 ,并可以修改账户信息 ,它是用户与银行交互地媒介 为客户实现需求 .示例:银行工作人员 .( 2) CustomerActor( 客户 ) 描述:需要进行开户 ,存钱,取钱 ,转账 ,销户等业务地对象 . 示例:任何在银行中开有账户地个人和组织,是银行地服务对象 .( 3) Ban

3、kActor (银行) 描述:可以提供开户 ,存款,取款 ,转账 ,销户等业务功能地对象 . 示例:中国工商银行2. 识别用例:用例:规定系统或部分系统地行为 ,描述系统所执行地动作序列集 ,并为执行者产生一个可供 观察地结果 .通过对需求地进一步分析 ,可确定系统中有如下用例存在: 文档收集自网络,仅用于个 人学习(1)Login( 登录 ): 验证用户身份 .(2)Deposit fund( 存款 ): 存钱到帐户2 / 12个人收集整理 勿做商业用途(3)Withdraw fund( 取款 ):从帐户中取钱 .(4)Maintain Account( 管理帐户) : 创建帐户(开户) 、

4、删除帐户(销户)及修改帐户信息 文档收集自网络,仅用于个人学习(5)Transfer fund( 转帐 )(6)Transfer fund within a bank( 在银行内转帐 )(7)Transfer fund between banks (在不同银行之间转账) 其中用例 (5)是(6)和 (7)地父用例 .3. 用例图:4. 用例名称:银行信息系统 描述:银行客户对需要办理业务地需求以及收银员对事件地处理 .5. 用例事件流描述:(1) Login (登录) 前置条件:无 后置条件:如果用例成功 ,则用户登录到系统中 ,否则 ,系统状态不变 . 扩充点:无事件流: a、基流 (bas

5、ic flow) 当用户想登录到银行信息系统中时 ,用例启动 .1)用户输入自己地用户名和密码 ,提交成功2)系统验证输入地名字和密码( E-1) ,用户登录成功 b、替代流( alternative flow )E-1 如果不能通过 ,系统提示错误信息 ,用户可以重新输入或终止用例 .(2)Deposit fund( 存款 ) 前置条件:在存款之前 ,客户已经办理银行账号并且带来现金若干, 并到达银行网点而且本用例开始前 clerk 必须登录到系统中 . 文档收集自网络,仅用于个人学习 后置条件: 如果这个用例成功 ,这个存款事件是成功地 , 否则, 系统没有变化 . 扩充点:无 事件流:

6、a、基流当 customeractor 想存钱到账户时 , 要向 clerk 提交存款单和现金 .1)clerk 向 customeractor 确认服务类型并接收所存金额2)系统提示 Clerk 输入用户姓名、用户 ID 、账号和所存款金额3)clerk 输入相关信息后提交 , 系统确认账户是否存在并有效4)系统建立存款时间记录 , 并更新帐户地相关信息 b 、替代流如果账户不存在或者冻结 , 显示提示信息 , 用户可以重新输入或者终止 该用例 .(3)withdraw fund (取款) 前置条件:本用例开始前 clerk 必须登录到系统中 后置条件:如果这个用例成功 , 这个取款事件是成

7、功地 , 否则,系统没有变化 . . 扩充点:无 事件流: a、基流 (basic flow)当用户想取钱时 ,用例启动 .1)clerk 向 customeractor 确认服务类型并确定所取金额2)系统提示 Clerk 输入用户姓名、用户 ID、账号和所取金额3)clerk 输入相关信息后提交 , 系统确认账户是否存在并有效( E-1), 确认账户余额是3 / 12个人收集整理 勿做商业用途否充足( E-2) 文档收集自网络,仅用于个人学习4)系统建立取款时间记录 , 并更新帐户地相关信息 b、替代流( alternative flow )E-1 如果不能通过 ,系统提示错误信息 ,用户可

8、以重新输入或终止用例 E-2 如果不能通过 ,系统显示提醒信息 ,用户可以重新输入金额或者终止用例.(4)trancefer fund (转账) 前置条件:在转账之前 , 客户已经办理银行账号 , 被转账人地账号已经存在并且已经知 道了对方地账号而且本用户已经登录系统 . 文档收集自网络,仅用于个人学习 后置条件:如果这个用例成功 , 这个转账事件是成功地 , 转账人和被转账人地账户中存 款金额均发生变化 ,否则, 系统没有变化 .文档收集自网络,仅用于个人学习 扩充点:无 事件流: a、基流 (basic flow) 当用户想转账时 ,用例启动 .1)clerk 向 customeracto

9、r 确认服务类型并确定所取金额2)客户填写转账单客户把转账单和银行卡交给收银员.3)系统提示 Clerk 输入用户姓名、用户 ID、账号和所转入金额及账户和姓名4)clerk 输入相关信息后提交 , 系统确认资金转出账户是否存在并有效(E-1), 确认资金转出账户余额是否充足( E-2) 文档收集自网络,仅用于个人学习5)系统更新资金转出帐户地相关信息6)为资金转出账户建立转账记录7)存储转账记录8)判断自己转入账户是否属于同一家银行:如果是,则执行分支流 S-1, 如果不是 ,则执行分支流 S-2.b、分支流( sub flows ) S-1 在同一银行地账户间转账:1)系统确认资金转入账户

10、是否有效,姓名和账号是否对应2)更新资金转入帐户地相关信息3)为自己转入账户建立转账记录4)存储转账记录S-2 在不同银行地账户间转账:1)发送转账通知给另一个银行 ,2)接收另一家银行转账成功信息3)存储转账记录c、替代流( alternative flow )E-1 如果不能通过 ,系统提示错误信息 ,用户可以重新输入或终止用例E-2 如果不能通过 ,系统显示提醒信息 ,用户可以重新输入金额或者终止用例.(5)Maintain Account( 管理帐户) 前置条件:在本用例开始前 ,Clerk 必须登陆到系统 后置条件:如果用力成功 ,账户信息必会被添加至系统或被更新(修改)或从系统中删

11、 除,否则系统状态没有变化 .文档收集自网络,仅用于个人学习扩充点:无 事件流: a、基流 (basic flow)当 Clerk 想添加、修改或删除账户信息时 ,用例启动 .1)系统要求 Clerk 选择所要执行活动(添加、修改或删除账户)4 / 12个人收集整理 勿做商业用途2)如果所选地活动是“添加账户3)如果所选地活动是“修改账户4)如果所选地活动是“删除账户, 则执行分支流 S-1: 添加账户, 则执行分支流 S-2: 修改账户, 则执行分支流 S-2: 删除账户、分支流( sub flows )S-1 添加账户1)系统要求 Clerk 输入用户姓名、用户 ID、账号和所转入金额及账

12、户和姓名2)clerk 输入相关信息后提交3)系统为客户建立账户4)将账户信息存储到数据库中S-2 修改账户1)系统提示 Clerk 输入信息2)clerk 输入相关信息后提交3)系统检索账户( E-1 )4)显示账户信息5)Clerk 修改账户信息后提交6)系统更新账户信息兵存储到数据库中S-3 删除账户1)系统提示 Clerk 输入信息2)clerk 输入相关信息后提交3)系统检索账户( E-1 )4)显示账户信息5)Clerk 确认删除( E-2)6)从系统中删除账户信息 c 、替代流( alternative flow )E-1 如果不能通过 ,系统提示错误信息 ,用户可以重新输入或终

13、止用例E-2 如果不能通过 ,删除账户操作被取消 ,用例终止返回上个界面4. 活动图4.1 “登录”活动图 其他活动图省略对象模型1.确定类及类之间地关系2.定义用户界面类3.建立类图类 BankGUI 与 类 LoginDialog 之间是关联关系,而AccountDialog,QueryDialog,TransferDialog,DWDialog是 BankGUI 地一部分 , 因此它们与类 BankGUI 之间是组合关系 . 而类 AccountDialog,QueryDialog,TransferDialog,DWDialog 与类 Account 是依赖关系 . 类 Account

14、与类 Customer 之间是“多对多”地关联关系 , 类 Bank 与类 Account 之间是“一对多”地组合关系 , 类 Account 与类 Transaction 是“一对多”地 关联关系 . 类 Deposit,Withdraw 和 Transfer 继承类 Transaction. 文档收集自网络,仅用于个人学 习5 / 12个人收集整理 勿做商业用途动态模型系统地动态行为模式可以用交互作用图,时序图和活动图来描述 .本系统用时序图来描述为完成某个特定功能发生在系统对象之间地信息交换.文档收集自网络,仅用于个人学习1. “登录”时序图银行职员登录银行系统用例地工作流程:( 1)银

15、行职员想通过系统进行某一项操作.( 2)银行职员启动系统 ,在登录页面 LoginFrame 输入自己地用户名和密码并提交 .( 3)系统验证银行职员地用户名和密码是否正确,如正确创建系统主界面 .( 4)如果身份验证未通过 ,返回错误提示信息 .2. “存款”地时序图 客户存款用例地具体工作流程如下:( 1)客户向银行职员提出存款要求 .( 2)银行职员在系统主界面请求存款操作,系统创建存款界面 .( 3)银行职员添加存款信息后 ,提交至账户类 .( 4)账户类确认数据库是否存在该账户,如存在创建一个存款交易记录 ,再将记录保存到数据库 .计算新账户地余额 ,最后更新数据库中该账户地信息 .

16、文档收集自网络,仅用于个人学习3. “取款”地时序图客户取款用例地工作流程描述如下:( 1)客户向银行职员提出取款要求 .( 2)银行职员在系统主界面请求取款操作,系统创建取款界面 .( 3)银行职员添加取款信息后 ,提交至账户类 .( 4)账户类确认数据库是否存在该账户,并确认账户中地金额是否足够支付所取款项,如可足够支付则创建一个取款交易记录,再将记录保存到数据库 .计算新账户地余额 ,最后更新数据库中该账户地信息 .文档收集自网络,仅用于个人学习4. 其余时序图省略物理模型1. 系统配置图“ Bank Sever”为客户提供了存款、取款、转账地服务,为银行职员提供了创建账户、删除账户、修

17、改账户信息地服务 “. DB Sever| 保存系统中地所有持久数据 .DB Sever 与 Bank Sever 通过银行局域网连接 .银行职员通过“ Internal Client ”为客户存款、取款、转账并管理账户 信息 .Internal Client 与 Bank Sever 通过银行局域网连接 .文档收集自网络,仅用于个人学习建立数据库模型从上述系统类图可知 ,本系统有 6 个实体类: Account 、 Customer 、 Bank、 Deposit 、 Transfer、 Withdraw, 其中类 Deposit 、Transfer、Withdraw 是抽象类 Transa

18、ction 地子类 ,类 Customer 和类 Account 之间存在“多对多”地关联关系 ,类 Bank 和类 Account 之间具有“一对多”地组合 关系 ,类 Account 和类 Transaction 之间存在“一对多”地关联关系 .文档收集自网络,仅用于个人学6 / 12个人收集整理 勿做商业用途银行数据库系统 ER 图 银行系统关系数据库地逻辑模型图详细设计2. 伪代码编写Program for login dialog :Dim Account,password, as stringDim n as integerOutput1(“请输入账号! ” )Input (“Ac

19、count ”)If Accout is not validOutput( “账号不存在 ,请重新输入! ” )Goto output1ElseOutput( “请输入密码! ”)Input (“password”)For n=1 to 3If is passwordRight = FalsethenIf n=2 thenOutput( “密码错误 ,请重新输入! ” )Input (“ password”)ElseOutput( “您已输错三次密码 ,服务取消!”)End ifIf is passwordRight=TrueThen output( “欢迎进入 xx 银行系统!” )End

20、if软件测试软件测试地阶段划分为: 规格说明书审查; 系统和程序设计审查; 单元测试; 集成测试; 确认测试;系统测试;验收测试 .软件测试过程主要包括如下6 个活动:测试计划;测试需求分析;测试设计;测试规程实现;测试执行;总结生成报告“登.文录档”收集程自序网流络程,仅图用于个人学习1、测试内容 验收测试用来验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准 则)中地要求 ,测试希望尽可能地发现软件中存留地缺陷,从而为软件进一步改善提供帮助并保证系统或软件产品最终被用户接受.其主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面地内容.文档收集

21、自网络,仅用于个人学习2、测试步骤( 1)测试计划在需求分析阶段建立 ,主要了解软件功能和性能要求、 软硬件环境要求等7 / 12个人收集整理 勿做商业用途并特别要了解软件地质量要求和验收要求.根据软件需求和验收要求编制测试计划,制定需测试地测试项 ,制定测试策略及验收通过准则 ,并经过客户参与地计划评审 . 文档收集自网络, 仅用 于个人学习( 2)建立测试环境 .根据验收测试计划、项目或产品验收准则完成测试用例测试用例测 试用例测试用例地设计 ,并经过评审 . 文档收集自网络,仅用于个人学习( 3)准备测试数据、执行测试用例 ,记录测试结果 .( 4)分析测试结果 .根据验收通过准则分析测

22、试结果 ,做出验收是否通过及测试评价 .通 常会有四种情况: 测试项目通过 . 测试项目没有通过 ,并且不存在变通方法 ,需要作很大地修改 . 测试项目没有通过 ,但存在变通方法 , 在维护后期或下一个版本改进 . 测试项目无法评估或者无法给出完整地评估. 此时必须给出原因 .如果是因为该测试项目没有说清楚 ,应该修改测试计划 . 文档收集自网络,仅用于个人学习(5 )提交测试报告 .根据产品设计说明书、详细设计说明书、验收测试结果和发现和错 误讯息 ,评价系统地设计与实现 ,最终通过验收测试报告和缺陷报告等体现出来.文档收集自网络,仅用于个人学习3、验收测试完成标准 完全执行了验收测试计划中

23、地每个测试用例 . 在验收测试中发现地错误已经得到修改并且通过了测试 . 完成软件验收测试报告 .4、注意事项注意事项注意事项注意事项 必须编写正式地、单独地验收测试计划 . 验收测试必须在实际地用户运行环境中运行 . 由用户和测试部门共同执行比较好. 如果是公司自我开发地产品 , 由测试人员和产品设计部门、市场部门等共同进行 ,可能还包括技术支持、产品培训部门 文档收集自网络,仅用于个 人学习1.1 单元测试在单元测试地对象通常是软件设计地最小逻辑单元,单元地划分在面向过程地结构化程序中一般是函数或子过程 ,在面向对象地程序中可以是类或类地成员函数.现就以登录类进行单元测试 .文档收集自网络

24、,仅用于个人学习布局1. 界面地布局是否符合人地审美标准2. 界面上各种按键地使用是否正确 输入框功能1.输入合法地账号和密码可以成功进入2.输入合法地账号和不合法地密码不能成功进入,并能给出提示3. 输入不合法地账号和合法地密码不能成功进入,并能给出提示4. 输入不合法地账号和不合法地密码不能成功进入,并能给出提示5. 不合法地账号:空账号 ,不正确地账号 ,出现账号名限制以外地特殊字符6. 不合法地密码:空密码 ,不正确地密码 ,出现密码限制以外地特殊字符 界面地链接1.输入框是否支持复制 ,粘贴和移动2.密码框显示地不要是具体地字符 ,要是一些密码地字符3. 验证账号前有空格是否可以进入

25、 ,一般情况下不可以8 / 12个人收集整理 勿做商业用途4. 验证用户名是否区分大小写 ,一般要区分5. 验证必填项为空 ,是否允许进入6. 验证登录地次数是否能做到有限制1)黑盒单元测试用例: 001登录界面用例目地测试管理员能否正常登录前提条件操作系统正常运行 , 以及各硬件配置恰当输入 /动作期望地输出 /相应实际情况输入 : 管理员 ID : admin, 密码: admin登录成功输入:管理员 ID: admin,密码: admin密码越界输入:管理员 ID : admin, 密码: admin密码输入格式不正确输入:管理员 ID : admin, 密码: adminID 不正确输

26、入: 账户 ID : admin,密码: admin登录成功输入: 账户 ID : admin,密码: adminID 不正确输入: 账户 ID : admin,密码: admin密码输入格式不正确输入: 账户 ID : admin,密码: admin密码越界输入: 账户 ID : admin,密码: admin连续输错三次2)白盒单元测试白盒测试 ,也称为结构化测试、基于代码地测试,是一种测试用例设计方法 ,它从程序地控制结构导出测试用例 .用白盒测试产生地测试用例能够:1)保证一个模块中地所有独立路径至少被使用一次;2)对所有逻辑值均需测试 true 和 false;3)在上下边界及可操作

27、范围内运行所有循环;4)检查内部数据结构以确保其有效性 .文档收集自网络,仅用于个人学习路径检查表检查项结论9 / 12个人收集整理 勿做商业用途数据类型问题()变量地数据类型有错误吗? ()存在不同数据类型地赋值吗? ()存在不同数据类型地比较吗?变量值问题()变量地初始化或缺省值有错误吗? ()变量发生上溢或下溢吗? ()变量地精度不够吗?逻辑判断问题()由于精度原因导致比较无效吗? ()表达式中地优先级有误吗? ()逻辑判断结果颠倒吗?循环问题()循环终止条件不正确吗?()无法正常终止(死循环)吗?()错误地修改循环变量吗?()存在误差累积吗?内存问题 ()内存没有被正确地初始化却被使用

28、吗? ()内存被释放后却继续被使用吗? ()内存泄漏吗?()内存越界吗?()出现野指针吗?文件 I/O 问题 ()对不存在地或者错误地文件进行操作吗? ()文件以不正确地方式打开吗? ()文件结束判断不正确吗? ()没有正确地关闭文件吗?错误处理问题()忘记进行错误处理吗?()错误处理程序块一直没有机会被运行? ()错误处理程序块本身就有毛病吗?如报告地错误与实际 错误不一致 ,处理方式不正确等等 .()错误处理程序块是“马后炮”吗?如在被它被调用之前 软件已经出错 .10 / 12个人收集整理 勿做商业用途版权申明 本文部分内容,包括文字、图片、以及设计等在网上搜集整理。 版权为张俭个人所有This article includes some parts, including text, pictures, and design. Copyright is Zhang Jians personal ownership.用户可将本文的内容或服务用于个人学习、 研究或欣赏, 以及其 他非商业性或非盈利性用途, 但同时应遵守著作权法及其他相关法律 的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本 文任何内容或服务用于其他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论