张卫东系统分析及设计实验报告_第1页
张卫东系统分析及设计实验报告_第2页
张卫东系统分析及设计实验报告_第3页
张卫东系统分析及设计实验报告_第4页
张卫东系统分析及设计实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、本科实验报告课程名称:系统分析与设计实验项目:ATM 自动取款机系统实验实验地点:实验楼 211专业班级:软件 1319 班学号:2013005655学生姓名:张卫东指导教师:南志红2015年 11月 5日一、实验目的通过系统分析与设计 实验,使学生在实际的案例中完成系统分析与系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基础理论、基本知识的理解, 提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析与设计的规范,为后继的学习打下良好的基础。二、实验要求以个人为单位完成,自选题目,班内题目不重复,使用 UML进行系统分析与设计,并完成实验报告。三、

2、实验主要设备:台式或笔记本计算机四、实验内容1 选题及项目背景ATM自动取款机系统项目背景: ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。可以向用户提供一个方便、简单、及时、随时随地曲匡的互联的现代化的网络系统。2 定义ATM 自动取款机可以为用户提供取款、查询余额、设置密码、转账等业务。在用户使用 ATM自动取款机时, ATM要求用户输入密码, 接下来由 ATM把从银行卡上读取的信息以及用户输入的密码传给 ATM自动取款机系统,系统通过数据库中的信息进行核对,如果密码正确, ATM就要求用户选择事务类型(取款、查询等) ,直至用户选择退出应用服务,询问用户是否退出应用服务

3、, 如果用户选择结束, 则退出银行卡, 系统重回登陆界面。用户进入取款界面后, 首先可以输入取款金额 (必须是 50 的倍数),否则系统显示输入有误。 用户点击确认后, 由系统查询用户相应的账户, 判断该取值金额是否超出用户现有余额,如果没有,则系统会显示确认界面,用户单点击“确认”后,系统自动生成账单,并在后台进行工作, 吐钞机进行清点并吐出现金, 并将数据更新到数据库中;否则提示用户余额不足,请重新输入,重复上述过程。3 参考资料系统分析与设计4 系统分析与设计4.1 需求分析4.1.1识别参与者用户(取款者)、系统维护人员、银行管理人员4.1.2对需求进行捕获与描述用例名称:存款执行者:

4、用户目的:向银行账户中存放现金。用例名称:取款执行者:用户目的:从 ATM自动取款机中提取账户金额。用例名称:修改密码执行者:用户目的:修改用户登录密码。用例名称:查询余额执行者:用户目的:查询银行账户中的现金余额。用例名称:验证身份执行者:用户目的:验证操作 ATM的用户身份。用例名称:转账执行者:用户目的:从 ATM自动取款机中进行现金转账。用例名称:信息管理执行者:银行工作人员目的:对用户信息进行管理。用例名称:系统维护执行者:银行工作人员目的:对 ATM系统进行维护。用例名称:赔款执行者:银行工作人员目的:向 ATM机存放现金。用例名称:验证身份执行者:银行工作人员目的:对用户信息进行

5、验证。100.1用例 ID 号及用例名100.2用例概述100.3参与者:101.4前置条件( Pre-Conditions )100.5后置条件( Post-Conditions )100.6事件流100.6.基本事件流1(Basic Flow )100.6.扩 展 事 件 流 ( Alternative2Flows )Uc_001 取款当用户插入银行卡并输入正确的密码进入 ATM 系统选择取款功能时,用例开始。用户利用它实现账户取款功能。用户用户插入银行卡并输入正确的密码,成功登录系统。用户成功取款。1.用户插入银行卡并输入正确的密码,成功登录系统。2.用户选择取款功能。3.系统提示输入取

6、款金额。4.用户输完后点击确认。5.系统提款并修改账户信息。6.系统提示取款操作成功,并提示用户立即拿走吐钞口的现金。7.系统返回主界面。余额不足时:8.账户余额不足,取款失败。9.系统显示账户当前余额。返回 E-3,并执行结束。ATM 检查到用户没有输入正确金额1. ATM 提示用户输入正确金额2. 用户重新金额用户存在跨行支取、异地支取1. 银行业务系统计算额外的手续费并从用户账号进行扣除2. ATM 打印凭证时打印手续费信息1. ATM 再次提示用户从出钞口取走钞票, 并演示图示帮助指示出钞口位置2. 用户从出钞口取走钞票用户选择查询余额1. ATM 显示用户账户余额用户选择了其他操作1

7、. ATM 显示相应的操作界面, ATM 提示用户进行操作2. 用户进行操作用例图ATM 自动取款机用例图分析与讨论1) 建模用例图的步骤、方法?1. 确定系统的边界和范围; (方法:分析系统内部元素,把系统内部元素和外部事物划分开)2. 识别系统的参与者;3. 发现用例;4. 描述用例及确定用例关系;(方法:对用例概要描述; 对用例详细描述。 根据用例事件流,将公共行为抽取出来,已包含关系构建用例关系;变化部分,抽取出来,放到扩展用例中)5. 建立用例图;6. 定义用例图的层次结构;2) 如何识别系统的参与者?应该如何划分用例,应注意哪些问题?通过回答以下问题来识别系统的参与者:1. 谁使用

8、系统的主要功能?2. 谁改变系统的数据?3. 谁从系统中获取数据?4. 谁支持、维护系统?5. 谁需要借助系统的支持来完成工作?6. 系统需要操纵哪些硬件?7. 系统需要和哪些外部系统交互?8. 谁对系统运行结果感兴趣?划分用例:1. 每个参与者打算在这个系统里做些什么事情?2. 参与者使用本系统要实现的目标是什么?3. 参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是,如何来完成这些操作?4. 参与者是否会将外部的某些事件通知给该系统?3) 心得用例图主要用来描述 用户、需求、系统功能单元 之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。用途:帮助开发团队以一种可视化

9、的方式理解系统的功能需求。用例图所包含的元素如下:1. 参与者表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。2. 用例用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示3. 子系统用来展示系统的一部分功能,这部分功能联系紧密。4. 关系用例图中涉及的关系有:关联、泛化、包含、扩展;a. 关联表示参与者与用例之间的通信,任何一方都可发送或接受消息。b. 泛化就是继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。c. 包含包含关系用来把一个较复杂用例

10、所表示的功能分解成较小的步骤;d. 扩展扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。e. 依赖表示源用例依赖于目标用例;4.2建立对象模型候选类的数据字典类 名中 文定 义User用户使用 ATM自动取款机系统进行取款、存款、转账等业务。该类有插卡、选择业务等操作。CardReader读卡机读出用户插入的银行卡信息。CashDipenser吐钞机将现金从取款机中递出。Bill账单由系统自动生成账单,在后台依此工作。BankAccount存款账目用户存款信息,包括用户的信息,存款数目等属性,并拥有更改用户银行数据的操作。DrawAccount取款账目用户取款信息,包括用户的信息

11、,取款数目等属性,并拥有更改用户银行数据的操作。ATMScreenATM屏幕显示系统要向用户展示的界面。MaintenanceStaff系统维护人员维护 ATM自动取款机系统的正常运行。ManageStaff银行管理人员向 ATM自动取款机中赔款。DatabaseConnector数据连接与银行数据库进行连接,更新用户信息。定义类“用户”类?属性姓名 (name) :文本 (char)账号 (userID):文本 (char)联系电话 (TelNum) :整形 (int)住址( Address ):文本 (char)?操作插卡 insert card()输入 Input()修改密码change

12、PWD()查询 inquiry()“读卡机”类?属性?操作接收卡 accept card()读卡 read card()退卡 eject card()“吐钞机”类?属性余额 (balance):字符串 (string)?操作吐钞 OutCash()“账单”类?属性账单号 (AccountNumber) :整形 (int)余额 (balance):字符串 (string)?操作打开 open()扣除存款deductFunds ()存入存款 withdrawFunds()“存款账目”类?属性姓名 (name) :文本 (char)账号 (userID):文本 (char)联系电话(TelNum):

13、整形 (int)余额 (balance):字符串(string)存款金额 (DepositAmount):字符串 (string)?操作存款 deposit()取消 Cancel ()“取款账目”类?属性姓名 (name) :文本 (char)账号 (userID):文本 (char)联系电话(TelNum):整形 (int)余额 (balance):字符串(string)取款金额 (DepositAmount):字符串 (string)?操作取款 deposit()取消 Cancel ()“ATM屏幕”类?属性?操作初始化 initialize ()提示 prompt ()输入 input(

14、)“系统维护人员”类?属性姓名 (name) :文本 (char)员工号 (ID) :整形 (int)联系电话 (TelNum) :整形 (int)?操作维护 Maintain()“银行管理人员”类?属性姓名 (name) :文本 (char)员工号 (ID) :整形 (int)联系电话 (TelNum) :整形 (int)?操作配款 DepositCash()管理 manage()“数据连接”类?属性?操作连接 Connect()取消 Cancel ()绘制类图包图(画出包图并说相应解释说明)分析与讨论1 )建模类图的步骤、方法?构建类图的步骤:1. 确定类;(方法:行为分析、名词识别法、

15、CRC分析法、根据边界类、 控制类、实体类的划分、参考设计模式确定、通过领域进行分析等)2. 识别类的属性和操作;(方法:结合需求陈述、领域知识和常识以及经验等)3. 识别类之间的关联;(方法:使用普通关联列表的方法)4. 定义类的结构和层次。2 )识别类有哪些方法,你是如何识别类的?行为分析、名词识别法、 CRC分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等。我通过名名词识别法确定类。3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?关联的多重性: 关联表示了对象间的结构关系,在建模过程中,通常需要说明一个关联实例中有多少个相互

16、连接的对象。确定类的属性: 从常识性、专业性、功能性、存储性、操作性、标志性、关联性发现和确定类的属性,进而筛选类的属性;确定类的操作: 综合对象模型、动态模型和功能模型,确定类的操作;确定类之间的关联关系: 使用普通关联列表的方法帮助发现关联。并分析关联的多重性。组织类之间的继承: 自顶向下和自底向上的方法。4.3建立动态模型系统的动态行为模型由交互图(顺序图和协同图) 、状态机图和活动图表达。在系统的分析和设计中应当对主要的 Use Case和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。顺序图通信图活动图活动图的主要作用是表示系统的业务

17、工作流和并发处理过程。 针对自选系统主要的业务工作流绘制活动图。绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。状态图状态机图表现一个对象 (类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态, 哪些事件将引起状态的转移,将会发生哪些动作。分析与讨论比较顺序图与通信图、活动图与状态图的应用。顺序图:描述的是参与交互的对象及对象之间消息交换的顺序,用来表示用例中的行为顺序。通信图:强调发送和接收消息的信息的对象及其组织结构的交互图,用以描述对象以及对象之间的交互关系。活动图:用来描述达到一个目标所实施一系列活动的过程,描述了系统的动态特征。状态图:描述系统中类和对象随时间变化的动态行为。4.4 物理模型建立构件图系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。构件图:表达的是系统代码本身的结构。它将系统中可重用的块包装成具有可替代性的物理单元。构件图描述了软件系统的各种构件和他们之间的相互关系。建立部署图部署图:主要是为了描述系统中各个物理组成部分的分布、提交和安装过程。主要用来描述嵌入式系统、客户机 / 服务器系统以及分布式系统的静

温馨提示

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

评论

0/150

提交评论