软件工程导论 10章 面向对象分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 面向对象分析 不论采用哪种方法开发软件,分析的过程都是提取系统需求的过程。3项内容,这就是理解、表达和验证。首先,系统分析员(在面向对)。 由于问题复杂,而且人与人之间的交流带有随意性和非形式化的特 面向对象分析(OOA)的关键是识别出问题域内的类与对象,并分析它3种模型中,对象模型是最基本、最重要、最核 10.1面向对象分析的基本过程 1.1.1 概述 面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的 通常,面向对象分析过程从分析陈述用户需求的文件开始。可能由用(包括出资开发该软件的业主代表及最终用户)单方面写出需求陈述,也 需求陈述通常是不完整、不准确的,而且往往是非正式的。通过分析, 接下来,系统分析员应该深入理解用户需求,抽象出目标系统的本质属性,并用模型 在面向对象建模的过程中,系统分析员必须认真向领域专家学习。尤其是建模过程 在面向对象建模的过程 10.1.2 3个子模型与5个层次 正如9.3节所述,面向对象建模得到的模型包含系统的3个要素,即静态结构(对象)、交互次序(动态模型)和数据变换(功能模型)。解决的问题不同,这3个子模型的(例如,用户界面及过程控制等),(例如,高级语言编译、科学与工程计算等),则(即服务或)。 复杂问题(大型系统)的对象模型通常由下述5个层次组成:主题层、类与对象层、结10.1所示。 这5个层次很像叠在一起的5张透明塑料片,它们一层比一层显现出对象模型的更5个层次是整个模型的5张水平切片。 在本书第9章中已经讲述了类与对象(即UML的“类”)、结构(即类或对象之间的关)、属性和服务的概念,现在再简要地介绍一下主题(或范畴)的概念。主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,总之,”读者”泛指所有需)理解大型、复杂模型的一种机制。也就是说,通过划分主题把一个5~9个对象,这就是著名的7±2原则。面向对象分析从下述两个方 首先,面向对象分析通过控制读者能见到的层次数目来控制可见性。其次,面向对象 上述5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动:找出类”5项 5个步骤,事实上,这5项工作完全没有必要顺序完成,也无须彻底完成5项活动的抽象层次不同,但是在进行面向 通常在完整地定义每个类中的服务之前,需要先建立起动态模型和功能模型,通过对 综上所述,在概念上可以认为,面向对象分析大体上按照下列顺序进行:寻找类与对 分析也不是一个机械的过程。大多数需求陈述都缺乏必要的信息,所缺少的信息主 10.2 需求陈述10.2.1 书写要点 通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。 书写需求陈述时,要尽力做到语法正确,而且应该慎重选用名词、动词、形容词和同 不少用户书写的需求陈述,都把实际需求和设计决策混为一谈。系统分析员必须把 需求陈述可简可繁。对人们熟悉的传统问题的陈述,可能相当详细,相反,对陌 绝大多数需求陈述都是有二义性的、不完整的、甚至不一致的。某些需求有明显错 系统分析员必须与用户及领域专家密切配合协同工作,共同提炼和整理用户需求。 10.2.2 例子 图10.2所示的自动取款机(ATM)系统,是本书讲述面向对象分析和面向对象设计 下面陈述对ATM系统的需求: 某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设 银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥 拥有银行账户的储户有权申请领取现金兑换卡。使用现金兑换卡可以通过ATM访ATM上提取现金(即取款),或查询有(例如,某个指定账户上的余额)。将来可能还要求使用ATM办理转账、存 所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号。分行代码惟一标识ATM上使用同样 当用户把现金兑换卡ATM之后,ATM就与用户交互,以获取有关这次事务的ATM要求用户输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机ATM就要求用户选择事务类型(取款、查询等)。当用户选择取款时,ATM请求用户输ATM从现金出口吐出现金,并且打印出账单交 10.3建立对象模型 面向对象分析首要的工作,是建立问题域的对象模型。这个模型描述了现实世界中 需求陈述、应用领

文档评论(0)

pao0969363mou8 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档