1、第 20单元主讲:刘志强1教学目标、内 容n 了解 OO方法的实施过程、方法、步骤2三、面向对象分析 OOAn OOA的关键是识别出问题域内的对象,并分析它们相互之间的关系,最终建立起问题域的精确、可理解的正确模型。n OOA阶段主要是明确问题中存在哪些数据实体,它们的意义是什么,而不考虑对它们的处理。3基本任务:n 运用 OO方法,对问题域进行分析和理解;n 找出描述问题域所需的对象及类;n 定义这些对象和类的属性与服务;n 定义对象和类之间所形成的结构、静态联系和动态联系。n OOA的最终目的是产生一个符合用户需求,并能够直接反映问题域的 OOA模型及其软件需求规格说明。41.概述n OO
2、A就是抽取和整理用户要求并建立问题域精确模型的过程。l OOA从分析用户需求文件开始,发现和改正其中的二义性和不一致性,补充遗漏的内容,使需求陈述更完整、更准确。l 分析人员应深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。l 在 OO建模中,分析人员要认真向领域专家学习。尤其是建模过程中的分类工作往往有很大的难度,需专家配合。52、三个子模型n 模型对象三要素(子模型):u 对象模型 描述静态结构u 动态模型 描述交互次序u 功能模型 描述数据变换n 解决的问题不同,这三个子模型的重要程度也不同。u 当问题涉及交互作用和时序(用户界面、过程控制等),动态模型是重要的;u
3、解决运算量很大的问题(科学计算等),则涉及功能模型;63、五个层次n 对于复杂问题,对象模型由 5个层次组成:u 主题层 指导 “ 读者 ” 理解大型、复杂模型的机制;通过划分主题,把一个复杂、大型对象模型分解为几个不同的概念模型(心理研究表明:人短期记忆能力一般限于一次记忆 5 9个对象,即 72 原则, OOA从 “ 控制可见性 ”和 “ 指导读者注意力 ” 两方面来体现这条原则)。u 类 -对象层 由 类和对象 组成的层u 结构层 对象之间的层次结构 u 属性层 对象数据的描述u 服务层 对象操作的描述7五个 层次对应五个活动n 5个 层次对应 OOA过程中 5个主要的活动:u找出类和对
4、象u识别结构u识别主题u定义属性u定义服务n 这 5项活动可以交叉开展,不需要严格遵守自顶向下的原则。84、需求陈述n 需求陈述的内容包括:问题范围、功能和性能需求、应用环境及假设条件等。n 需求陈述应该阐明 “ 做什么 ” 而不是 “ 怎样做” 。要求:尽力做到语法正确,应慎重选用名词、动词、形容词和同义词。n 绝大多数需求陈述有二义性,不完整,甚至有冲突。这就要求分析人员在分析过程中快速地建立起原型系统,以便与用户更有效地交流。9自动取款机的例子n 某银行拟开发一个 ATM系统。该系统是由 ATM、 中央计算机、分行计算机及柜员终端组成的网络系统。中央计算机ATMATMATM分行计算机分行计算机账户账户账户账户柜员 终端 柜员储户储户10