- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[第章面向对象分析
第10章 面向对象分析 10.1 面向对象分析的基本过程 10.2 需求陈述 10.3 建立对象模型 10.4 建立动态模型 10.5 建立功能模型 10.6 定义服务 作业 不论采用哪种方法开发软件,分析的过程都是提取系统需求的过程。面向对象分析的关键是识别出问题域内的类与对象,分析确定它们之间的关系,最终建立起问题域的对象模型、动态模型和功能模型,它们是软件需求规格的重要组成成分。 分析工作主要包括3项内容:理解、表达、验证 首先,分析员通过与用户及领域专家的充分交流,力求充分理解用户需求和该应用领域的关键性背景知识。 接下来用某种无二义性的方式把这种理解表达成文档资料。(软件需求规格说明) 由于问题复杂,而且人与人之间的交流带有随意性和非形式化的特点,上述理解过程通常不能一次就达到理想的效果。因此,还必须进一步验证软件需求规格说明的正确性、完整性和有效性,如果发现了问题则进行修正。 显然,需求分析过程是系统分析员与用户及领域专家反复交流和多次修正的过程。 也就是说,理解和验证的过程通常交替进行,反复迭代,而且往往需要利用原形系统作为辅助工具。 10.1 面向对象分析的基本过程10.1.1 概述 面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。通常,面向对象分析过程从分析陈述用户需求的文件开始。 需求陈述往往是不完整、不准确的,而且往往是非正式的。通过分析,应该改正原始陈述中的二义性和不一致性,补充遗漏的内容,从而使需求陈述更完整、更准确。 在分析需求陈述的过程中,需要反复多次地与用户协商、讨论、交流信息,还应该通过调研了解现有的类似系统。 快速地建立起一个能在计算机上运行的原型系统,非常有助于分析员与用户之间的沟通,从而能更正确地提取出用户的需求。 接下来,分析员应该在深入理解用户需求的基础上,抽象出目标系统的本质属性,并利用模型精确地表示出来: 通过建立模型能够纠正在开发早期对问题域的误解 在面向对象建模的过程中,分析员必须认真向领域专家学习 此外,还应该仔细研究以前针对相同的或类似的问题域进行面向对象分析得到的结果,这些结果在当前项目中往往有许多是可以重用的 10.1.2 3个子模型与5个层次 面向对象建立起来的模型包含系统的3个要素,即: 静态结构(对象模型) 交互次序(动态模型) 数据变换(功能模型) 解决的问题不同,这3个子模型的重要程度也不同: 几乎解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型 当问题涉及交互作用和时序时,动态模型是重要的 解决运算量很大的问题,则涉及重要的功能模型 动态模型和功能模型中都包含了对象模型中的操作(即服务)。 复杂问题的对象模型的5个层次 复杂问题的对象模型的5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动: 找出类与对象,识别结构,识别主题,定义属性,定义服务。 强调:这5项工作完全没有必要顺序完成,也无须彻底完成一项工作以后再开始另外一项工作。 在概念上可以认为,面向对象分析大体上按照下列顺序进行: 寻找类与对象—识别结构—识别主题—定义属性—建立动态模型—建立功能模型—定义服务 但是,分析不可能严格地按照预定顺序进行,大型复杂系统的模型需要反复构造多遍才能建成。 通常,先构造出模型的子集,然后逐渐扩充,直到充分地理解了整个问题,才能最终把完整的模型建立起来 10.2 需求陈述 通常包括:问题范围,功能需求,性能需求,应用环境及假设条件等 应该阐明“做什么”而不是“怎么做” 应该描述用户的需求而不是提出解决问题的方法 应该指出哪些是系统必要的性质,哪些是任选的性质 应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,否则将限制实现的灵活性 对系统性能及外界环境交互协议的描述是合适的需求 对采用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求 书写需求陈述时,要尽力作到语法正确,而且应该慎重选用名词、动词、形容词和同义词 系统分析员必须与用户及领域专家密切配合协同工作,共同提炼和整理用户需求 在这个过程中,很可能需要快速建立起原型系统,以便与用户更有效地交流 ATM系统 10.3 建立对象模型 对象模型描述了现实世界中的“类与对象”以及它们之间的关系,表示了目标系统的静态数据结构: 静态数据结构对应用细节依赖较少,比较容易确定 当用户的需求变化时,静态数据结构相对来说比较稳定 因此,用面向对象方法开发绝大多数软件时,都首先建立对象模型,然后再建立另外两个子模型。 建立对象模型是面向对象分析首要的工作 对象模型的主要信息来源:需求陈述、应用领域的专业知识以及关于客观世界的常识 10.3.1 确定类与对象 1. 找出候选的类与对象 对象是对
文档评论(0)