太原理工大学系统分析与设计实验报告.docx

上传人:b****2 文档编号:23234715 上传时间:2023-05-15 格式:DOCX 页数:20 大小:220.02KB
下载 相关 举报
太原理工大学系统分析与设计实验报告.docx_第1页
第1页 / 共20页
太原理工大学系统分析与设计实验报告.docx_第2页
第2页 / 共20页
太原理工大学系统分析与设计实验报告.docx_第3页
第3页 / 共20页
太原理工大学系统分析与设计实验报告.docx_第4页
第4页 / 共20页
太原理工大学系统分析与设计实验报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

太原理工大学系统分析与设计实验报告.docx

《太原理工大学系统分析与设计实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学系统分析与设计实验报告.docx(20页珍藏版)》请在冰豆网上搜索。

太原理工大学系统分析与设计实验报告.docx

太原理工大学系统分析与设计实验报告

本科实验报告

 

课程名称:

系统分析与设计

实验项目:

《ATM自动取款机系统》实验

实验地点:

逸夫楼402

专业班级:

学号:

学生姓名:

指导教师:

 

一、实验目的

通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析与设计的规范,为后继的学习打下良好的基础。

二、实验要求

以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设计,并完成实验报告。

三、实验主要设备:

台式或笔记本计算机

四、实验内容

1选题及项目背景

ATM自动取款机系统

项目背景:

ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。

可以向用户提供一个方便、简单、及时、随时随地曲匡的互联的现代化的网络系统。

2定义

ATM自动取款机可以为用户提供取款、查询余额、设置密码、转账等业务。

在用户使用ATM自动取款机时,ATM要求用户输入密码,接下来由ATM把从银行卡上读取的信息以及用户输入的密码传给ATM自动取款机系统,系统通过数据库中的信息进行核对,如果密码正确,ATM就要求用户选择事务类型(取款、查询等),直至用户选择退出应用服务,询问用户是否退出应用服务,如果用户选择结束,则退出银行卡,系统重回登陆界面。

用户进入取款界面后,首先可以输入取款金额(必须是50的倍数),否则系统显示输入有误。

用户点击确认后,由系统查询用户相应的账户,判断该取值金额是否超出用户现有余额,如果没有,则系统会显示确认界面,用户单点击“确认”后,系统自动生成账单,并在后台进行工作,吐钞机进行清点并吐出现金,并将数据更新到数据库中;否则提示用户余额不足,请重新输入,重复上述过程。

3参考资料

《系统分析与设计》

4系统分析与设计

4.1需求分析

4.1.1识别参与者

用户(取款者)、系统维护人员、银行管理人员

4.1.2对需求进行捕获与描述

用例名称:

存款执行者:

用户目的:

向银行账户中存放现金。

用例名称:

取款执行者:

用户目的:

从ATM自动取款机中提取账户金额。

用例名称:

修改密码执行者:

用户目的:

修改用户登录密码。

用例名称:

查询余额执行者:

用户目的:

查询银行账户中的现金余额。

用例名称:

验证身份执行者:

用户目的:

验证操作ATM的用户身份。

用例名称:

转账执行者:

用户目的:

从ATM自动取款机中进行现金转账。

用例名称:

信息管理执行者:

银行工作人员目的:

对用户信息进行管理。

用例名称:

系统维护执行者:

银行工作人员目的:

对ATM系统进行维护。

用例名称:

赔款执行者:

银行工作人员目的:

向ATM机存放现金。

用例名称:

验证身份执行者:

银行工作人员目的:

对用户信息进行验证。

100.1

用例ID号及用例名

Uc_001取款

100.2

用例概述

当用户插入银行卡并输入正确的密码进入ATM系统选择取款功能时,用例开始。

用户利用它实现账户取款功能。

100.3

参与者:

用户

101.4

前置条件(Pre-Conditions)

用户插入银行卡并输入正确的密码,成功登录系统。

100.5

后置条件(Post-Conditions)

用户成功取款。

100.6

事件流

100.6.1

基本事件流

(BasicFlow)

1.用户插入银行卡并输入正确的密码,成功登录系统。

2.用户选择取款功能。

3.系统提示输入取款金额。

4.用户输完后点击确认。

5.系统提款并修改账户信息。

6.系统提示取款操作成功,并提示用户立即拿走吐钞口的现金。

7.系统返回主界面。

余额不足时:

8.账户余额不足,取款失败。

9.系统显示账户当前余额。

返回E-3,并执行结束。

100.6.2

扩展事件流(AlternativeFlows)

ATM检查到用户没有输入正确金额

1.ATM提示用户输入正确金额

2.用户重新金额

用户存在跨行支取、异地支取

1.银行业务系统计算额外的手续费并从用户账号进行扣除

2.ATM打印凭证时打印手续费信息

ATM检查发现用户没有从出钞口取走钞票 

1.ATM再次提示用户从出钞口取走钞票,并演示图示帮助指示出钞口位置

2.用户从出钞口取走钞票

用户选择查询余额 

1.ATM显示用户账户余额

用户选择了其他操作

1.ATM显示相应的操作界面,ATM提示用户进行操作

2.用户进行操作

4.1.3用例图

ATM自动取款机用例图

4.1.4分析与讨论

1)建模用例图的步骤、方法?

1.确定系统的边界和范围;(方法:

分析系统内部元素,把系统内部元素和外部事物划分开)

2.识别系统的参与者;

3.发现用例;

4.描述用例及确定用例关系;(方法:

对用例概要描述;对用例详细描述。

根据用例事件流,将公共行为抽取出来,已包含关系构建用例关系;变化部分,抽取出来,放到扩展用例中)

5.建立用例图;

6.定义用例图的层次结构;

2)如何识别系统的参与者?

应该如何划分用例,应注意哪些问题?

通过回答以下问题来识别系统的参与者:

1.谁使用系统的主要功能?

2.谁改变系统的数据?

3.谁从系统中获取数据?

4.谁支持、维护系统?

5.谁需要借助系统的支持来完成工作?

6.系统需要操纵哪些硬件?

7.系统需要和哪些外部系统交互?

8.谁对系统运行结果感兴趣?

划分用例:

1.每个参与者打算在这个系统里做些什么事情?

2.参与者使用本系统要实现的目标是什么?

3.参与者是否会在系统中创建、修改、删除、访问、存储数据?

如果是,如何来完成这些操作?

4.参与者是否会将外部的某些事件通知给该系统?

3)心得

用例图主要用来描述用户、需求、系统功能单元之间的关系。

它展示了一个外部用户能够观察到的系统功能模型图。

用途:

帮助开发团队以一种可视化的方式理解系统的功能需求。

用例图所包含的元素如下:

1.参与者

表示与您的应用程序或系统进行交互的用户、组织或外部系统。

用一个小人表示。

2.用例

用例就是外部可见的系统功能,对系统提供的服务进行描述。

用椭圆表示

3.子系统

用来展示系统的一部分功能,这部分功能联系紧密。

4.关系

用例图中涉及的关系有:

关联、泛化、包含、扩展;

a.关联

表示参与者与用例之间的通信,任何一方都可发送或接受消息。

b.泛化

就是继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。

子用例可以使用父用例的一段行为,也可以重载它。

父用例通常是抽象的。

c.包含

包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤;

d.扩展

扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

e.依赖

表示源用例依赖于目标用例;

 

4.2建立对象模型

4.2.1候选类的数据字典

类名

中文

定义

User

用户

使用ATM自动取款机系统进行取款、存款、转账等业务。

该类有插卡、选择业务等操作。

CardReader

读卡机

读出用户插入的银行卡信息。

CashDipenser

吐钞机

将现金从取款机中递出。

Bill

账单

由系统自动生成账单,在后台依此工作。

BankAccount

存款账目

用户存款信息,包括用户的信息,存款数目等属性,并拥有更改用户银行数据的操作。

DrawAccount

取款账目

用户取款信息,包括用户的信息,取款数目等属性,并拥有更改用户银行数据的操作。

ATMScreen

ATM屏幕

显示系统要向用户展示的界面。

MaintenanceStaff

系统维护人员

维护ATM自动取款机系统的正常运行。

ManageStaff

银行管理人员

向ATM自动取款机中赔款。

DatabaseConnector

数据连接

与银行数据库进行连接,更新用户信息。

4.2.2定义类

“用户”类

•属性

姓名(name):

文本(char)

账号(userID):

文本(char)

联系电话(TelNum):

整形(int)

住址(Address):

文本(char)

•操作

插卡insertcard()

输入Input()

修改密码changePWD()

查询inquiry()

“读卡机”类

•属性

•操作

接收卡acceptcard()

读卡readcard()

退卡ejectcard()

“吐钞机”类

•属性

余额(balance):

字符串(string)

•操作

吐钞OutCash()

“账单”类

•属性

账单号(AccountNumber):

整形(int)

余额(balance):

字符串(string)

•操作

打开open()

扣除存款deductFunds()

存入存款withdrawFunds()

“存款账目”类

•属性

姓名(name):

文本(char)

账号(userID):

文本(char)

联系电话(TelNum):

整形(int)

余额(balance):

字符串(string)

存款金额(DepositAmount):

字符串(string)

•操作

存款deposit()

取消Cancel()

“取款账目”类

•属性

姓名(name):

文本(char)

账号(userID):

文本(char)

联系电话(TelNum):

整形(int)

余额(balance):

字符串(string)

取款金额(DepositAmount):

字符串(string)

•操作

取款deposit()

取消Cancel()

“ATM屏幕”类

•属性

•操作

初始化initialize()

提示prompt()

输入input()

“系统维护人员”类

•属性

姓名(name):

文本(char)

员工号(ID):

整形(int)

联系电话(TelNum):

整形(int)

•操作

维护Maintain()

“银行管理人员”类

•属性

姓名(name):

文本(char)

员工号(ID):

整形(int)

联系电话(TelNum):

整形(int)

•操作

配款DepositCash()

管理manage()

“数据连接”类

•属性

•操作

连接Connect()

取消Cancel()

4.2.3绘制类图

4.2.4包图

(画出包图并说相应解释说明)

4.2.5分析与讨论

1)建模类图的步骤、方法?

构建类图的步骤:

1.确定类;(方法:

行为分析、名词识别法、CRC分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等)

2.识别类的属性和操作;(方法:

结合需求陈述、领域知识和常识以及经验等)

3.识别类之间的关联;(方法:

使用普通关联列表的方法)

4.定义类的结构和层次。

2)识别类有哪些方法,你是如何识别类的?

行为分析、名词识别法、CRC分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等。

我通过名名词识别法确定类。

3)解释关联的多重性?

如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?

关联的多重性:

关联表示了对象间的结构关系,在建模过程中,通常需要说明一个关联实例中有多少个相互连接的对象。

确定类的属性:

从常识性、专业性、功能性、存储性、操作性、标志性、关联性发现和确定类的属性,进而筛选类的属性;

确定类的操作:

综合对象模型、动态模型和功能模型,确定类的操作;

确定类之间的关联关系:

使用普通关联列表的方法帮助发现关联。

并分析关联的多重性。

组织类之间的继承:

自顶向下和自底向上的方法。

4.3建立动态模型

系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。

在系统的分析和设计中应当对主要的UseCase和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。

4.3.1顺序图

4.3.2通信图

4.3.3活动图

活动图的主要作用是表示系统的业务工作流和并发处理过程。

针对自选系统主要的业务工作流绘制活动图。

绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。

4.3.4状态图

状态机图表现一个对象(类)的生命史。

对于一些实现重要行为动作的对象应当绘制状态机图。

绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。

4.3.5分析与讨论

比较顺序图与通信图、活动图与状态图的应用。

顺序图:

描述的是参与交互的对象及对象之间消息交换的顺序,用来表示用例中的行为顺序。

通信图:

强调发送和接收消息的信息的对象及其组织结构的交互图,用以描述对象以及对象之间的交互关系。

活动图:

用来描述达到一个目标所实施一系列活动的过程,描述了系统的动态特征。

状态图:

描述系统中类和对象随时间变化的动态行为。

4.4物理模型

4.4.1建立构件图

系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。

构件图:

表达的是系统代码本身的结构。

它将系统中可重用的块包装成具有可替代性的物理单元。

构件图描述了软件系统的各种构件和他们之间的相互关系。

4.4.2建立部署图

部署图:

主要是为了描述系统中各个物理组成部分的分布、提交和安装过程。

主要用来描述嵌入式系统、客户机/服务器系统以及分布式系统的静态部署。

5实验总结

个人感觉通过这些次实验,自己在软件开发方面有了很多的了解,对计算机软件也有了更多的兴趣!

 

 总之,本学期的ATM实验能够很好的实现既定目标,同时扩宽了我的学习面,鉴于目前自己掌握的实际情况,欲安排以后学习工作如下:

 

 1.认真复习计算机软件相关课程,争取取得好成绩; 

 2.英语也要多学习,尤其是专业英语,对阅读参考资料有很大方便!

 

 3.根据需要加深编程语言的学习;多看看有关软件开发的书. 

 4.业余时间扩宽计算机网络硬件方面的视野,尤其希望可以去软件开发公司的机房参观学习,提高个人修养与能力; 

 5.对于软件开发,我们要树立重视实践更甚于重视理论的观点!

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1