软件工程-导论第10章面向对象分析.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程-导论第10章面向对象分析

第10章 面向对象分析 不论采用哪种方法开发软件,分析的过程都是提取系统需求的过程。分析工作主要包括3项内容,这就是理解、表达和验证。首先,系统分析员通过与用户及领域专家的充分交流,力求完全理解用户需求和该应用领域中的关键性的背景知识,并用某种无二义性的方式把这种理解表达成文档资料。分析过程得出的最重要的文档资料是软件需求规格说明(在面向对象分析中,主要由对象模型、动态模型和功能模型组成)。 由于问题复杂,而且人与人之间的交流带有随意性和非形式化的特点,上述理解过程通常不能一次就达到理想的效果。因此,还必须进一步验证软件需求规格说明的正确性、完整性和有效性,如果发现了问题则进行修正。显然,需求分析过程是系统分析员与用户及领域专家反复交流和多次修正的过程。也就是说,理解和验证的过程通常交替进行,反复迭代,而且往往需要利用原型系统作为辅助工具。 面向对象分析(OOA)的关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。在用面向对象观点建立起的3种模型中,对象模型是最基本、最重要、最核心的。 10.1面向对象分析的基本过程 10.1.1 概述 面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。 通常,面向对象分析过程从分析陈述用户需求的文件开始。可能由用户(包括出资开发该软件的业主代表及最终用户)单方面写出需求陈述,也可能由系统分析员配合用户,共同写出需求陈述。当软件项目采用招标方式确定开发单位时,“标书”往往可以作为初步的需求陈述。 需求陈述通常是不完整、不准确的,而且往往是非正式的。通过分析,可以发现和改正原始陈述中的二义性和不一致性,补充遗漏的内容,从而使需求陈述更完整、更准确。因此,不应该认为需求陈述是一成不变的,而应该把它作为细化和完善实际需求的基础。在分析需求陈述的过程中,系统分析员需要反复多次地与用户协商、讨论、交流信息,还应该通过调研了解现有的类似系统。正如以前多次讲过的,快速建立起一个可在计算机上运行的原型系统,非常有助于分析员和用户之间的交流和理解,从而能更正确地提炼出用户的需求。 接下来,系统分析员应该深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。用自然语言书写的需求陈述通常是有二义性的,内容往往不完整、不一致。分析模型应该成为对问题的精确而又简洁的表示。后继的设计阶段将以分析模型为基础。更重要的是,通过建立分析模型能够纠正在开发早期对问题域的误解。 在面向对象建模的过程中,系统分析员必须认真向领域专家学习。尤其是建模过程中的分类工作往往有很大难度。继承关系的建立实质上是知识抽取过程,它必须反映出一定深度的领域知识,这不是系统分析员单方面努力所能做到的,必须有领域专家的密切配合才能完成。 在面向对象建模的过程中,还应该仔细研究以前针对相同的或类似的问题域进行面向对象分析所得到的结果。由于面向对象分析结果的稳定性和可重用性,这些结果在当前项目中往往有许多是可以重用的。 10.1.2 3个子模型与5个层次 正如9.3节所述,面向对象建模得到的模型包含系统的3个要素,即静态结构(对象模型)、交互次序(动态模型)和数据变换(功能模型)。解决的问题不同,这3个子模型的重要程度也不同:几乎解决任何一个问题,都需要从客观世界实体及实体问相互关系抽象出极有价值的对象模型;当问题涉及交互作用和时序时(例如,用户界面及过程控制等),动态模型是重要的;解决运算量很大的问题(例如,高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态模型和功能模型中都包含了对象模型中的操作(即服务或方法)。 复杂问题(大型系统)的对象模型通常由下述5个层次组成:主题层、类与对象层、结构层、属性层和服务层,如图10.1所示。 类与对象层主题层 类与对象层 主题层 结构层 属性层 服务层 图 10.1复杂问题的对象模型的5个层次 这5个层次很像叠在一起的5张透明塑料片,它们一层比一层显现出对象模型的更多细节。在概念上,这5个层次是整个模型的5张水平切片。 在本书第9章中已经讲述了类与对象(即UML的“类”)、结构(即类或对象之间的关系)、属性和服务的概念,现在再简要地介绍一下主题(或范畴)的概念。主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,总之,”读者”泛指所有需要读懂系统模型的人)理解大型、复杂模型的一种机制。也就是说,通过划分主题把一个大型、复杂的对象模型分解成几个不同的概念范畴。心理研究表明,人类的短期记忆能力一般限于一次记忆5~9个对象,这就是著名的7±2原则。面向对象分析从下述两个方面来体现这条原则:控制可见性和指导读者

文档评论(0)

a888118a + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档