第11章 面向对象分析.pptVIP

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 面向对象分析

第十一章 面向对象分析 面对的问题 当开发一个新的产品或系统时,我们如何从遵循OO软件工程的方式来刻画它? 什么是相关的对象?他们如何相互关联? 对象如何在系统的范围内工作? 应如何对问题刻画或建模以使得可有效地进行设计? 结构化分析对需求采取独特的“输入—加工—输出”视角,数据被脱离数据的变换过程而单独考虑,系统行为虽然重要,但在结构化分析中往往扮演第二位的角色,结构化分析方法着重功能分解的使用。 面向对象的目标是开发一系列模型,这些模型被用来描述以满足一组客户需求的计算机软件。 OOA建造一个多部分的分析模型以满足这个目标。分析模型描述信息、功能和行为。 OOA过程并不是从考虑对象开始,而是从理解系统的使用方式开始,如果系统是人机交互的,则考虑被人使用的方式;如果是设计过程控制的,则考虑被机器使用的方式;如果是系统协调和控制应用,则考虑被其他程序使用的方式。 定义了使用场景后,就开始软件的建模过程。 分析工作主要包括三项内容:理解、表达和验证。 需求分析过程是系统分析员与用户及领域专家反复交流和多次修正的过程。也就是说,理解和验证的过程通常交替进行,反复迭代,而且往往需要利用原型系统作为辅助工具。 面向对象分析(通常缩写为OOA)的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。在用面向对象观点建立起的三种模型中,对象模型是最基本、最重要、最核心的。 11.1 面向对象分析的基本过程 11.1.1 概述 面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。 通常,面向对象分析过程从分析陈述用户需求的文件开始。但是,不应该认为需求陈述是一成不变的,而应该把它作为细化和完善实际需求的基础。 接下来,系统分析员应该深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。 11.1.2 三个子模型与五个层次 面向对象建模得到的模型包含对象的三个要素,即静态结构(对象模型),交互次序(动态模型)和数据变换(功能模型)。解决的问题不同,这三个子模型的重要程度也不同:几乎解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型;当问题涉及交互作用和时序时(例如,用户界面及过程控制等),动态模型是重要的;解决运算量很大的问题(例如,高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态l模型和功能模型中都包含了对象模型中的操作(即服务或方法)。 复杂问题(大型系统)的对象模型由下述五个层次组成:主题层(也称为范畴层)、类一&一对象层、结构层、属性层和服务层,如图10.1所示。 主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,总之,“读者”泛指所有需要读通系统模型的人)理解大型、复杂模型的一种机制。也就是说,通过划分主题,我们把一个大型、复杂的对象模型分解成几个不同的概念范畴。 上述五个层次对应着在面向对象分析过程中建立对象模型的五项主要活动:找出类一&一对象;识别结构;识别主题;定义属性;定义服务。事实上,这五项工作完全没有必要顺序完成,也无须彻底完成一项工作以后再开始另外一项工作。 面向对象分析大体上按照下列顺序进行:寻找类一&一对象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务。但是,正如前面已经多次强调指出过的,分析不可能严格地按照预定顺序进行,大型、复杂系统的模型需要反复构造多遍才能建成。通常,先构造出模型的子集,然后再逐渐扩充,直到完全、充分地理解了整个问题,才能最终把模型建立起来。 11.2 需求陈述 11.2.1 书写要点 通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明“做什么”而不是“怎样做”。 11.2.2 例子 图10 2所示的自动取款机(ATM)系统,是本书讲述面向对象分析和面向对象设计时使用的一个实例。 下面陈述对ATM系统的需求: 某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台 ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。 银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户也可以从自己的账户中取款。通常,一个储户可能拥有多个账户。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档