第10章面向对象分析
面向对象分析(OOA)的关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。
在用面向对象观点建立起的3种模型中,对象模型是最基本、最重要、最核心的。
面向对象分析的基本过程 概述
面向对象分析:抽取和整理用户需求并建立问题域精确模型的过程。
面向对象分析过程从分析陈述用户需求的文件开始。可能由用户单方面写出需求陈述,也可能由系统分析员配合用户,共同写出需求陈述。
需求陈述通常是不完整、不准确的,而且往往是非正式的。
很难准确描述
概述
通过分析,可以发现和改正原始陈述中的二义性和不一致性,补充遗漏的内容,从而使需求陈述更完整、更准确。
因此,需求陈述不是一成不变的,它是细化和完善实际需求的基础。
快速建立的原型系统,有助于分析员和用户之间的交流和理解,从而能更正确地提炼出用户的需求。
接着,系统分析员深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。
迭代
分析模型
概述
建模过程中分类工作往往有很大难度。
它必须反映出一定深度的领域知识,必须有领域专家的密切配合才能完成。
重用技术是经常使用的。
面向对象建模得到的模型即静态结构(对象模型)、交互次序(动态模型)和数据变换(功能模型)。
3个子模型与5个层次
不同问题中这3个子模型的重要程度也不同。
解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型;
当问题涉及交互作用和时序时,动态模型是重要的;
解决运算量很大的问题,则涉及重要的功能模型。
动态模型和功能模型中都包含了对象模型中的操作(即服务或方法)。
3个子模型与5个层次
复杂问题的对象模型通常由5个层次组成: 主题层、类与对象层、结构层、属性层和服务层。
3个子模型与5个层次
主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,泛指所有需要读懂系统模型的人)理解大型、复杂模型的一种机制。
通过划分主题把一个大型、复杂的对象模型分解成几个不同的概念范畴。
3个子模型与5个层次
5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动:
找出类与对象;
识别结构;
识别主题;
定义属性;
定义服务。
在进行面向对象分析时并不需要严格遵守自顶向下的原则。
3个子模型与5个层次
在完整地定义每个类中的服务之前,需要先建立起动态模型和功能模型,通过对这两种模型的研究,能够更正确更合理地确定每个类应该提供哪些服务。
面向对象分析 来自淘豆网www.taodocs.com转载请标明出处.