欢迎来到天天文库
浏览记录
ID:34445740
大小:1.09 MB
页数:62页
时间:2019-03-06
《第3章-软件需求分析(三)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章软件需求分析(三)3.6面向对象分析与设计(补充)A、面向对象分析(OOA)本节要点:一、OOA概述二、OOA步骤PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn3.6面向对象分析与设计(补充)A、面向对象分析(OOA)一、OOA概述面向对象分析(OOA——ObjectOrientedAnalysis)主要任务是运用OO方法对问题域进行分析和理解,找出描述问题域所需的对象及类,定义这些对象和类的属性与服务,以及它们之间所形成的结构、静态联系和动态联系
2、。OOA的最终目的是产生一个符合用户需求,并能够反映实际问题域的OOA模型及其软件需求规格说明(文档)。为后续的OOD和OOP提供指导。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn1、方法比较在软件开发过程中,曾经流行过多种分析方法,例如,功能分解法,数据流法以及现在流行的OOA法。这些分析方法基本上反映了当时人们认识水平和计算机技术水平。下面,我们扼要地讨论一下这几种分析法。(方法比较)PDF文件使用"pdfFactoryPro"试用版本创建www.
3、fineprint.cn(1)功能分解法功能分解法的特点是:①功能是系统中最不稳定的因素,以功能为中心来构造系统,并在此基础上设计数据结构,这样的系统对需求变化的适应能力很差。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn②从功能出发构造的系统能够直接地反映用户的需求,所以工作较容易开始。但是需求分析深入较难。功能以及功能接口这些系统成分不是直接地映射问题域中的事物,而是人为抽象的结果,分析员很难从中准确,深入地理解问题域。③功能之间的数据接口和控制接口
4、几乎没有任何限制,这使得局部的错误和局部的修改很容易产生全局性的影响。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn(2)数据流法数据流法采用的工具是DFD(DataFlowDiagram)与DD(DataDictionary),它是从跟踪数据流开始,从中发现数据流和数据加工。问题域被映射为由一些数据流和加工以及文件等构成的数据流图。数据流法具有以下一些特点:①逐步求精原则。通过细化,可以把一个加工分解成一个下层的数据流图。②对需求变化的适应能力较弱。功
5、能变化将引发相关数据流和加工的修改。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn③分析与设计的表示法不一致,它们之间存在着鸿沟,而且没有一种严格的转换规则,因此,造成从分析到设计过渡的困难性。④在较大的系统中因数据流和加工的数量太多,致使有些设计人员不能全面,认真的阅读有关分析文档,而是自己凭经验和对系统的理解进行系统设计。结果是因分析人员与设计人员理解的不一致而隐藏大量的错误。(具体反映在测试方面)PDF文件使用"pdfFactoryPro"试用版本
6、创建www.fineprint.cn(3)OOA方法OOA方法的特点是:①具有客观性。对象是对客观事物本质的抽象和描述,包括事物的数据特征(属性)与行为特征(服务)。再把具有相同属性和相同服务的对象归结为类,用不同的结构和连接描述类之间的各种关系(继承关系、分类结构、静态和动态联系等)。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn②把属性和有关服务方法作为对象整体来看待,比较自然。特别重要的是,对象在问题域中比较稳定。用OO方法所建立的系统模型清晰,问
7、题模型与程序中的类相对应,系统扩充和改造较为方便。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn③便于参与分析活动的各类人员之间的交流。因为在OOA过程中大家研究和讨论的概念、术语和问题域是一致的,不存在理解偏差,缩短了与用户之间的距离。④OOA采用封装、继承和消息机制等原则,使问题域的复杂性得到控制,对需求的变化具有较强的适应性。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn⑤保证软件生存周期各个阶段的一致性。
8、OOA使用与问题一致的概念、原理及表示方法,从而使各个阶段之间减少了鸿沟,提高了效率。⑥支持软件复用。由于使用对象间的最小相关性来分析和说明,这有利于实现封装性原则,并使OOA适应开发需求的变化,也有利于制作和提取可复用的部件。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.cn2、OOA的有关术语①问题域(programdomain)━是指被开发系统的应用领域,即在客观世界中由该系统处理的业务范围。②主题(subject)━是指把一些具有较强联系的类组织在一
此文档下载收益归作者所有