软件工程概论Word文件下载.docx
- 文档编号:20593219
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:13
- 大小:98.06KB
软件工程概论Word文件下载.docx
《软件工程概论Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件工程概论Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
1.3.3场景3
1.4实体类建模4
1.4.1类图4
1.5动态建模5
1.5.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.5ATM类:
等待用户()13
2.4设计总结13
用户需求及规格说明书
1.1题目
考虑一个自动柜员机(ATM)。
用户将信用卡插入一个槽中,并输入4位数字的个人标识(PIN)。
如果PIN码不正确,将弹出信用卡。
如果PIN码正确,用户可以对最多四个不同的账号进行下面的操作:
(
)存钱,数额任意,将打印出一个凭单,显示日期、存入的金额和账号。
)取钱。
以20美元为单位,最多200美元(不能透支),除了现金,还将给用户打印出凭单,提取的金额、账号和提取后账户余额。
)确定账户余额。
这在屏幕上显示。
)在两个账户之间转移资金。
被提取的账户中导出的金额不能超过最高限额。
用户将得到一个凭单,显示出日期、转移的金额和两个账号。
(
)退出。
弹出信用卡。
1.2需求
1用户登录步骤:
当用户插入信用卡之后,进行四位数字的个人标识输入,如果输入PIN不正确,弹出信用卡,如果用户输入PIN正确,用户进行下面的操作,同时只能对最多四个账户进行操作。
其中隐含的要求是判断用户插入的卡是否合法,即,插入的卡是否是该自动柜员机能识别的信用卡。
同时,用户输入PIN不正确时,应该在屏幕上显示信息提示用户是哪一步操作进行错误。
2用户存钱步骤:
用户将现金插入自动柜员机相应的存钱口,存钱金额不限,操作完成时,打印一个凭条,显示用户本次存款的存款日期,存入现金的金额以及用户的账号。
其中存钱环节隐藏要求显得很重要:
首先需要判断用户存入的钱是否是真纸币,如果不是应该提示用户存入的钱不合法,并推出;
然后,虽然题目要求存入金额不限,但是据实际观察来看,在自动柜员机上存钱时,金额还是有所限制,即,有一定面额的限制,当用户存入的现金面值过小时,应该提示用户面值不正确,并要求用户插入要求面值的钱币。
3用户取钱过程:
用户每次取20美元以上200美元以下,以20美元为单位,取的钱的金额不能超过现有金额,在自动柜员机的出钱口,提示用户钱币输出,并打印凭条,显示提取金额,账号以及账户提取后余额。
本过程隐藏要求比较少:
首先用户取钱界面应该提示用户现有金额,以及能取出的金额,在用户确定取钱后,应该在用户可以忍耐的时间内将钱输出。
4用户进行转账过程:
被提取账户中的余额不能少于转账金额,用户得到凭单,显示日期、转账金额和两个账号。
5用户查询余额过程:
用户选择查询功能,在屏幕醒目的位置显示用户当前的余额。
隐藏需求为:
应该能够显示用户近期5次交易的清单,供用户参考,本功能可能为附加功能,可以不用实现。
6用户操作完毕,退出操作过程:
本过程用户执行完要执行的操作,进行退出操作,自动柜员机退出信用卡,同时回到等待界面,等待下一个用户操作。
1.3规格说明书
1.3.1功能建模
根据上述需求分析,用户在自动柜员机进行操作,其中可以分成如下几个模块;
一.登录模块:
用户进行插入信用卡,输入PIN码。
二.存钱模块:
用户进行存钱的操作。
三.取钱模块:
用户进行取钱的操作。
四.转账模块:
用户进行转账操作。
五.查询模块:
用户进行查询操作。
六.退出模块:
用户操作完毕,退出操作。
1.3.2用例图
1.3.3场景
正常场景
1.用户插入信用卡。
2.用户输入4位PIN码,经验证后进入主菜单界面。
3.用户选择查询余额操作。
4.自动提款机显示余额。
5.选择继续,返回主菜单界面。
6.选择取钱操作。
7.进入取钱界面,输入取钱金额。
8.自动柜员机吐出相应金额的现金。
9.用户选择打印凭单。
10.自动柜员机打印凭单
11.选择继续,返回主菜单界面。
12.选择存钱操作。
13.在存钱口放入一定金额的现金,点击确认。
14.自动柜员机存入相应金额。
15.用户退出登陆,弹出信用卡。
异常场景
3.选择取款操作。
4.进入取款界面,输入取款金额。
5.自动提款机提示信用卡余额不足。
6.用户选择退出,自动柜员机弹出信用卡。
1.4实体类建模
1.4.1类图
类:
ATM控制器类,ATM类,打印机类,界面类,信用卡类,键盘类。
类间交互关系如图所示:
1.5动态建模
1.5.1转账状态图
用户插入信用卡后,提示输入PIN码,输入正确,则进入下一个选择,输入错误,则提示用户PIN码错误,并弹出信用卡。
在下一级选择界面下,按取款按钮进入取款界面,输入金额进行等待,如果余额不足,则提示失败;
否则出钞。
1.5.2ATM状态图
由于篇幅原因,部分细节省略,只代表性的详细画了取钱一支。
1.5.3取款时序图
下面是参照取款的正常场景,画出取款操作的时序图:
1.5.4取款协作图
1.6分析总结
本次实验要求完成一个面向对象分析,面向对象的分析需要将问题划分为一些类或对象,确定对象间的关系。
面向对象的分析是一个比较好的方法,应为它比较贴近实际,根据确定的对象以及对象间的关系可以很清楚的建立一个模型,方便涉众一方了解整个过程。
对需求进行分析应该是一个迭代的过程,但由于时间限制,没有进行迭代过程,因此最终的结果不尽完善。
但通过本次实验,加深了系统分析过程的理解,尤其是确定类以及类之间的关系是整个分析过程的核心。
2
上机实习二:
系统概要设计及详细设计
2.1概要设计
2.2完成类图
对分析报告中的初始类图进行进一步分析,添加变量和操作得到设计流类图:
2.2.1ATM_PROCESS类
接收操作:
从Interface接收用户输入的信息:
包括插入信用卡,对键盘的操作。
判断操作:
判断Interface接受的信息是否正确合法,如:
判断用户插入的信用卡是否正确,用户取款时余额与要求是否矛盾,用户存款时是否有非法的纸币
连接数据库:
与银行后台数据库进行连接。
查询账户操作:
根据用户信用卡记录信息,在相应的数据库中查找用户信息,包括:
用户姓名,账号余额,最近五次交易情况,时间日期等。
数据库操作:
执行数据库的相关操作,例如更新等。
显示结果:
用户进行操作后,对相应的操作显示结果,用户确定打印时,应反馈相应的打印凭条。
2.2.2输入设备类
键盘:
数字按钮:
对应着数字
功能按钮:
对应着相应的功能
类别:
选择按钮,数字按钮
状态:
按下为1,未按为0
操作:
按钮按下:
按下一个按钮后,进行相应的操作,对于数字键盘,执行相应的金额输入以及日期输入;
对于选择按钮,则执行相应的功能性操作。
2.2.3信用卡类
属于哪个银行的信用卡
信息:
账户的基本信息,用来与数据库相交互。
密码:
PIN
插卡:
用户将信用卡插入插槽后,ATM机识别信用卡是否是该机器能识别的卡。
2.2.4ATM类
数据:
用来与界面和后台程序相互衔接,起到传递数据的作用。
包含:
当前状态,用户输入信息,反馈用户信息等等。
等待状态:
当ATM机无人使用时,机器应该处于等待状态,等待用户进行操作。
执行状态:
当有用户前来使用ATM机时,ATM迅速恢复工作状态,查看是否有信用卡插入,用户选择了何种操作。
退出操作:
用户执行完操作后,执行。
2.2.5界面类
界面功能主要是与用户进行交互,以获取用户输入,相应用户操作等等。
从键盘类接收:
键盘属于界面的一部分,当用户操作时,界面类从键盘输入获取用户选择。
屏幕显示:
用户选择完操作后,应及时反馈用户当前信息。
插钱口接收钱币:
当用户选择存钱时,ATM应开启插钱口,以便用户存钱。
出钱口输出钱币:
当用户选择取钱时,ATM应开启此口,输出相应金额。
打印凭单口:
当用户选择打印时,ATM在打印口输出凭单。
2.2.6打印机类
打印凭单:
记录关键凭单内容。
如账号,金额,余额。
打印():
与硬件交互,将打印内容打印到凭单上。
2.3详细设计
下面给出主要类主要操作的伪代码
判断操作()
判断操作(){
While(工作状态){
判断信用卡是否有效;
无效则,调用屏幕显示(),提示用户错误;
有效,调用屏幕(),显示欢迎界面;
从接口类接收用户输入的选择信息();
如果是存钱操作
则控制开启存钱口。
判断用户插入钱币是否合法
如果是取钱操作
判断余额是否允许
如果不允许,则提示用户余额不足
如果允许,则开启出钱口,输出钱币。
如果是查询操作,
则调用数据库进行查找,接口类进行显示。
如果是转账操作,
则判断是否存在账户,账户金额是否允许。
如果是推出操作,
推出信用卡,返回等待状态();
}
}
屏幕显示结果()
屏幕显示结果(){
判断是否用户选择了输出操作;
如果是则判断用户选择是否屏幕输出;
如果是则判断当前状态是应该输出何种信息;
进行输出();
功能键操作()
功能键操作(){
While
(1){
等待用户操作();
If(工作状态)
Break;
If(用户选择功能键){
接收功能键信号();
查看相应信号对应的功能();
返回等待用户输入状态();
调用相关模块();
打印()
打印凭条(){
If(选择打印)
执行打印;
If(打印结束)
输出凭条;
等待用户()
等待用户(){
While
(1){
显示广告
If(用户操作)
break;
工作状态();
2.4设计总结
经过上一阶段的分析,得到了几个类与这几个类之间的关系,本节里将这些类进行了具体设计,但并未实现编码,在承接上一次分析的结果上来做本次设计,我发现分析过程是很重要的,也就是说,如果没有一个良好的分析结果,很难做出来满足要求的设计。
本次设计过程中遇到了一些问题:
如上一节分析得到的类在具体细化时,不知道应该具备那些属性,可能是因为分析阶段做的不够充分。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 概论