- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程,导论,教学资料,学习,面向,对象,分析
面向对象需要分析过程,需求陈述的书写方法。在本项目中,通过4个工作任务,向读者展示建立对象模型、动态模型和功能模型。
ATM
系
统
的
需
求
陈
述
ATM 系统的需求陈述
概述
对象模型的层次
需求陈述
陈洁是某网络公司程序员,每次接到程序开发任务时,她首先要对此次开发的系统做面向对象分析。
ATM
系
统
的
需
求
陈
述
任务一:ATM 系统的需求陈述
面向对象分析(object-oriented analysis)简称 OOA,就是抽取和整理用户需求并建立问题域精确模型的过程。面向对象分析的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。
任务二:ATM 系统的需求陈述
任务
实施
ATM 系统的需求陈述
以自动取款机(ATM)系统为例进行分析,如下图所示。下面是 ATM 系统的需求陈述。
某银行拟开发一个自动取款机系统,它是由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。ATM 和中央计算机 由总行投资购买。总行拥有多台 ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。
银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有 的某个账户内存款或开新账户,也可以从自己的账户中取款。通常,一个储户可能拥有多个账户。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。
拥有银行账户的储户有权申请领取银行卡。使用银行卡可以通过 ATM 访问自己的账户。用银行卡可在 ATM 上提取现金(即取款),或查询有关自己账户的信息(例如,某个指定账户上的余额),办理转账、存款等事务。
所谓银行卡就是一张特制的磁卡,上面有分行代码和卡号。分行代码唯一标志总行下 属的一个分行,卡号确定了这张卡可以访 问哪些账户。每张银行卡仅属于一个储户所有,但是,同一张卡可能有多个副本,因此,必须考虑同时在若干台 ATM 上使用同样的银行卡的可能性。也就是说,系统应该能够处理并发的访问。
当用户把银行卡插入 ATM 之后,ATM 就与用户交互,以获取有关这次事务的信息, 并与中央计算机交换关于事务的信息。首先,ATM 要求用户输入密码,接下来 ATM 把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。如果用户输入的密码是正确的,ATM 就要求用户选 择事务类型(取款、查询等)。当用户选择取款时 ATM 请求用户输入取款额。最后,ATM从现金出口吐出现金,并且选择是否打印出账单。
ATM
系
统
模
型
ATM 系统模型
确定类-&-对象
确定关联
确定主题
确定属性
5. 对象模型的精化
陈洁是某网络公司程序员,接到某项程序开发任务,在组建对象模型时,需要在随后的反复分析中加以扩充和更正,得到完善的对象模型分析。
ATM
系
统
模
型
任务二:ATM 系统模型
对于类中操作的最后确定,则等到建立了动态模型和功能模型之后,因为这两个子模型更准确地描述了对类中提供的服务的需求。
任务二:ATM 系统模型
任务
实施
ATM 系统模型
下面讨论对 ATM 系统可能做的修改:
(1) 分解 “银行卡”类。实际上, “银行卡”具有两项相对独立的功能,它既是鉴别储户使用 ATM 权限的磁卡,又是ATM 获得分行代码和卡号等数据的载体。因此,把 “银行卡”类 分解为 “卡权限”和 “银行卡”两个类,将使每个类的用途更单一,前一个类用于识别储户访问账号的权限,后一个类用于获得分行代码和卡号。多张银行卡可能对应相同的访问权限。
(2) “事务”类由 “更新”类组成。通常,一个事务包含对账户的若干次更新,这里所说的更新,指的是对账号所做的一个动作(取款、存款或查询) 。 “更新”虽然代表一个动作,但是它拥有自己的属性(类型、金额等)应该独立存在,因此应该把它作为对象类,一次更新动作是 “更新”类的一个对象。
(3) 把 “分行”与“分行计算机”合并。区分 “分行”与“分行计算机”,对于分析 这个系统来说,并没有多大意义,为简单起见,应该将它们合并。类似地,应该合并 “总 行”和 “中央计算机”。 如下图给出了修改后的 ATM 对象模型,与修改前相比较,它更简单、更清晰。
ATM
类
动
态
模
型
状
态
图
ATM类动态模型状态图
概述
编写系统交
文档评论(0)