




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 软软 件件 工工 程程 概概 论论 上上 机机 实实 习习 报报 告告 学学 院院: : 软件学院软件学院 年年 级级: : 20072007 班班 级级: : 5 5 班班 学学 号号: : 30072181443007218144 姓姓 名名: : 赵立夫赵立夫 20102010 年年 4 4 月月 9 9 日日 2 目目 录录 1上机实习一上机实习一:用户需求及规格说明书用户需求及规格说明书.1 1.1题目.1 1.2需求.1 1.3规格说明书.2 1.3.1功能建模.2 1.3.2用例图.3 1.3.3场景.3 1.4实体类建模.4 1.4.1类图.4 1.5动态建模.5 1.5.
2、1转账状态图.5 1.5.2ATM状态图.5 1.5.3取款时序图.6 1.5.4取款协作图.7 1.6分析总结.7 2上机实习二上机实习二:系统概要设计及详细设计系统概要设计及详细设计.9 2.1概要设计.9 2.2完成类图.9 2.2.1ATM_PROCESS类.9 2.2.2输入设备类.10 2.2.3信用卡类.10 2.2.4ATM类.10 2.2.5界面类.11 2.2.6打印机类.11 2.3详细设计.11 2.3.1ATM控制器类:判断操作().11 2.3.2界面类:屏幕显示结果().12 2.3.3键盘类:功能键操作().12 2.3.4打印机类:打印().13 2.3.5A
3、TM类:等待用户().13 2.4设计总结.13 1 1 1上机实习一上机实习一: :用户需求及规格说明书用户需求及规格说明书 1.1 题目题目 考虑一个自动柜员机(ATM) 。用户将信用卡插入一个槽中,并输入 4 位数 字的个人标识(PIN) 。如果 PIN 码不正确,将弹出信用卡。如果 PIN 码正确, 用户可以对最多四个不同的账号进行下面的操作: (i)存钱,数额任意,将打印出一个凭单,显示日期、存入的金额和账号。 (ii)取钱。以 20 美元为单位,最多 200 美元(不能透支) ,除了现金,还 将给用户打印出凭单,提取的金额、账号和提取后账户余额。 (iii)确定账户余额。这在屏幕上
4、显示。 (iv)在两个账户之间转移资金。被提取的账户中导出的金额不能超过最 高限额。用户将得到一个凭单,显示出日期、转移的金额和两个账号。 (v) 退出。弹出信用卡。 1.2 需求需求 1用户登录步骤:当用户插入信用卡之后,进行四位数字的个人标识输入, 如果输入 PIN 不正确,弹出信用卡,如果用户输入 PIN 正确,用户进行下 面的操作,同时只能对最多四个账户进行操作。其中隐含的要求是判断用 户插入的卡是否合法,即,插入的卡是否是该自动柜员机能识别的信用卡。 同时,用户输入 PIN 不正确时,应该在屏幕上显示信息提示用户是哪一步 操作进行错误。 2用户存钱步骤:用户将现金插入自动柜员机相应的
5、存钱口,存钱金额不限, 操作完成时,打印一个凭条,显示用户本次存款的存款日期,存入现金的 金额以及用户的账号。其中存钱环节隐藏要求显得很重要:首先需要判断 用户存入的钱是否是真纸币,如果不是应该提示用户存入的钱不合法,并 推出;然后,虽然题目要求存入金额不限,但是据实际观察来看,在自动 柜员机上存钱时,金额还是有所限制,即,有一定面额的限制,当用户存 入的现金面值过小时,应该提示用户面值不正确,并要求用户插入要求面 值的钱币。 3用户取钱过程:用户每次取 20 美元以上 200 美元以下,以 20 美元为单位, 取的钱的金额不能超过现有金额,在自动柜员机的出钱口,提示用户钱币 2 输出,并打印
6、凭条,显示提取金额,账号以及账户提取后余额。 本过程隐藏要求比较少:首先用户取钱界面应该提示用户现有金额, 以及能取出的金额,在用户确定取钱后,应该在用户可以忍耐的时间 内将钱输出。 4用户进行转账过程:被提取账户中的余额不能少于转账金额,用户得到凭 单,显示日期、转账金额和两个账号。 5用户查询余额过程:用户选择查询功能,在屏幕醒目的位置显示用户当前 的余额。隐藏需求为:应该能够显示用户近期 5 次交易的清单,供用户参 考,本功能可能为附加功能,可以不用实现。 6用户操作完毕,退出操作过程:本过程用户执行完要执行的操作,进行退 出操作,自动柜员机退出信用卡,同时回到等待界面,等待下一个用户操
7、 作。 1.3 规格说明书规格说明书 1.3.1 功能建模 根据上述需求分析,用户在自动柜员机进行操作,其中可以分成如下几个模块; 一登录模块:用户进行插入信用卡,输入 PIN 码。 二存钱模块:用户进行存钱的操作。 三取钱模块:用户进行取钱的操作。 四转账模块:用户进行转账操作。 五查询模块:用户进行查询操作。 六退出模块:用户操作完毕,退出操作。 3 1.3.2 用例图 1.3.3 场景 正常场景 1. 用户插入信用卡。 2. 用户输入 4 位 PIN 码,经验证后进入主菜单界面。 3. 用户选择查询余额操作。 4. 自动提款机显示余额。 5. 选择继续,返回主菜单界面。 6. 选择取钱操
8、作。 7. 进入取钱界面,输入取钱金额。 8. 自动柜员机吐出相应金额的现金。 9. 用户选择打印凭单。 10. 自动柜员机打印凭单 11. 选择继续,返回主菜单界面。 12. 选择存钱操作。 13. 在存钱口放入一定金额的现金,点击确认。 4 14. 自动柜员机存入相应金额。 15. 用户退出登陆,弹出信用卡。 异常场景 1. 用户插入信用卡。 2. 用户输入 4 位 PIN 码,经验证后进入主菜单界面。 3. 选择取款操作。 4. 进入取款界面,输入取款金额。 5. 自动提款机提示信用卡余额不足。 6. 用户选择退出,自动柜员机弹出信用卡。 1.4 实体类建模实体类建模 1.4.1 类图
9、类:ATM 控制器类,ATM 类,打印机类,界面类,信用卡类,键盘类。 类间交互关系如图所示: 5 1.5 动态建模动态建模 1.5.1 转账状态图 用户插入信用卡后,提示输入 PIN 码,输入正确,则进入下一个选择,输 入错误,则提示用户 PIN 码错误,并弹出信用卡。在下一级选择界面下,按取 款按钮进入取款界面,输入金额进行等待,如果余额不足,则提示失败;否则 出钞。 1.5.2 ATM 状态图 由于篇幅原因,部分细节省略,只代表性的详细画了取钱一支。 6 1.5.3 取款时序图 下面是参照取款的正常场景,画出取款操作的时序图: 7 1.5.4 取款协作图 1.6 分析总结分析总结 本次实
10、验要求完成一个面向对象分析,面向对象的分析需要将问题划分为 一些类或对象,确定对象间的关系。面向对象的分析是一个比较好的方法,应 8 为它比较贴近实际,根据确定的对象以及对象间的关系可以很清楚的建立一个 模型,方便涉众一方了解整个过程。对需求进行分析应该是一个迭代的过程, 但由于时间限制,没有进行迭代过程,因此最终的结果不尽完善。但通过本次 实验,加深了系统分析过程的理解,尤其是确定类以及类之间的关系是整个分 析过程的核心。 9 2 2上机实习二上机实习二: :系统概要设计及详细设计系统概要设计及详细设计 2.1 概要设计概要设计 2.2 完成类图完成类图 对分析报告中的初始类图进行进一步分析
11、,添加变量和操作得到设计流类 图: 2.2.1 ATM_PROCESS 类 接收操作: 从 Interface 接收用户输入的信息:包括插入信用卡,对键盘 的操作。 判断操作: 判断 Interface 接受的信息是否正确合法,如:判断用户插入 10 的信用卡是否正确,用户取款时余额与要求是否矛盾,用户 存款时是否有非法的纸币 连接数据库: 与银行后台数据库进行连接。 查询账户操作:根据用户信用卡记录信息,在相应的数据库中查找用户信 息,包括:用户姓名,账号余额,最近五次交易情况,时间 日期等。 数据库操作: 执行数据库的相关操作,例如更新等 。 显示结果: 用户进行操作后,对相应的操作显示结
12、果,用户确定打印时, 应反馈相应的打印凭条。 2.2.2 输入设备类 键盘: 数字按钮:对应着数字 功能按钮:对应着相应的功能 类别: 选择按钮,数字按钮 状态: 按下为 1,未按为 0 操作: 按钮按下:按下一个按钮后,进行相应的操作,对于数字键盘, 执行相应的金额输入以及日期输入;对于选择按钮,则执行相 应的功能性操作。 2.2.3 信用卡类 类别:属于哪个银行的信用卡 信息:账户的基本信息,用来与数据库相交互。 密码:PIN 操作:插卡:用户将信用卡插入插槽后,ATM 机识别信用卡是否是该机器 能识别的卡。 2.2.4 ATM 类 数据:用来与界面和后台程序相互衔接,起到传递数据的作用。
13、包含:当前状 态,用户输入信息,反馈用户信息等等。 操作:等待状态:当 ATM 机无人使用时,机器应该处于等待状态,等待用户 进行操作。 执行状态:当有用户前来使用 ATM 机时,ATM 迅速恢复工作状态,查 看是否有信用卡插入,用户选择了何种操作。 11 退出操作:用户执行完操作后,执行。 2.2.5 界面类 数据:界面功能主要是与用户进行交互,以获取用户输入,相应用户操作等等。 从键盘类接收:键盘属于界面的一部分,当用户操作时,界面类从键盘输入获 取用户选择。 屏幕显示: 用户选择完操作后,应及时反馈用户当前信息。 插钱口接收钱币:当用户选择存钱时,ATM 应开启插钱口,以便用户存钱。 出
14、钱口输出钱币:当用户选择取钱时,ATM 应开启此口,输出相应金额。 打印凭单口: 当用户选择打印时,ATM 在打印口输出凭单。 2.2.6 打印机类 数据:打印凭单:记录关键凭单内容。如账号,金额,余额。 操作:打印():与硬件交互,将打印内容打印到凭单上。 2.3 详细设计详细设计 下面给出主要类主要操作的伪代码 2.3.1 ATM 控制器类:判断操作() 判断操作() While(工作状态) 判断信用卡是否有效; 无效则,调用屏幕显示() ,提示用户错误; 有效,调用屏幕() ,显示欢迎界面; 从接口类接收用户输入的选择信息() ; 如果是存钱操作 则控制开启存钱口。 判断用户插入钱币是否
15、合法 如果是取钱操作 判断余额是否允许 如果不允许, 则提示用户余额不足 如果允许,则开启出钱口,输出钱币。 如果是查询操作, 12 则调用数据库进行查找,接口类进行显示。 如果是转账操作, 则判断是否存在账户,账户金额是否允许。 如果是推出操作, 推出信用卡,返回等待状态() ; 2.3.2 界面类:屏幕显示结果() 屏幕显示结果() 判断是否用户选择了输出操作; 如果是则判断用户选择是否屏幕输出; 如果是则判断当前状态是应该输出何种信息; 进行输出() ; 2.3.3 键盘类:功能键操作() 功能键操作 ( ) While(1) 等待用户操作() ; If(工作状态) Break; If(用户选择功能键) 接收功能键信号() ; 查看相应信号对应的功能() ; 返回等待用户输入状态() ; 调用相关模块() ; 13 2.3.4 打印机类:打印() 打印凭条() If(选择打印) 执行打印; If(打印结束) 输出凭条; 2.3.5 ATM 类:等待
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粉末冶金在船舶推进器制造中的应用考核试卷
- 煤制液体燃料的原料煤选择与处理考核试卷
- 畜牧良种繁殖与新型农业经营主体培育考核试卷
- 2025电视剧拍摄场地租赁合同模板
- 2025茶叶代销合同模板
- 2025建筑工程分包合同样本
- 三级心理咨询师考培训分享
- 苏教版七年级上册语文全册教案2
- 国际贸易合同书文本
- 二零二五办公室文员聘用合同书
- 精美乒乓球运动活动策划方案PPT
- GB/T 18050-2000潜油电泵电缆试验方法
- GB 7793-2010中小学校教室采光和照明卫生标准
- FZ/T 24011-2019羊绒机织围巾、披肩
- 金螳螂企业管理课件
- 炊事机械安全操作规程
- 最新版教育心理学课件3-成就动机
- 离合器-汽车毕业设计-设计说明书
- 中国民间美术年画-完整版PPT
- 2022年《趣味接力跑》教案
- 级配碎石旁站监理记录表.模板
评论
0/150
提交评论