面向对象的需求分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象方法的基本思想是从现实世界中客观存在的事物出发 构造软件系统,并在系统构造中尽可能运用人类的自然思维方 式。 Coad和Yourdon给出定义:“面向对象=对象+类+继承+通信”。 如果一个软件系统是使用这样 4 个概念设计和实现的,则我 们认为这个软件系统是面向对象的。
面向对象软件工程方法是
北京理工大学计算机系
需求分析
面向对象的发展 结构化方法存在问题
通常的需求分析具有两方面的意义:
1. 在认识事物方面:具有分析、认识问题域的方法、原则和策 略,使开发人员对问题域的理解比不遵循软件工程方法时更 为全面、深刻和有效。
2. 在描述事物方面:具有较完整的体系和文档规范,这比自然 语言更为准确,更利于后期开发。
北京理工大学计算机系
面向对象设计 Object Oriented Design,OOD
OOA的职责:OOA针对问题域运用OO方法,建立一反映 问题域的OOA模型,而不考虑与系统实现有关的因素 (包括编程语言、图形用户界面、数据库等),从而 使OOA独立于具体的实现。
OOD的职责:针对系统的一个具体实现运用OO方法。其中包 括两方面工作,一是把OOA模型直接搬到OOD(不经过转换, 仅作某些必要的修改和调整),作为OOD的一个部分;二是针 对具体实现中的人机界面、数据存储、任务管理等因素补充 一些与实现有关的部分,这些部分与OOA采用相同的表示法和 模型结构。
面向对象分析与结构化分析的根本区别
1)结构化分析的实体关系 图,关注实体的属性和相互间 的关系;而面向对象的分析, 除此之外还有非常主要的一 点,就是关注实体的行为。 2)结构化分析的数据流图, 将数据和加工处理分开;而面 向对象的分析是将数据实体和 他们的处理动作视为不可分割 的整体来考虑的。 3)结构化分析建造系统的元 素是基于过程的功能,或者加 工处理;而面向对象分析建造 系统的基本元素是封装了操作 的对象类。
面向对象测试(OOT):对于用OO技术开发的软件,在测试 过程中,运用OO技术进行以对象概念为中心的软件测试。
在用OOP编写的程序中,对象的封装性,把对象的静态和动 态特征组合在一起,使对象成为一个独立的程序单位,从而 大大减少了错误的影响范围。
OOT以对象的类作为基本测试单位,查错范围: 1. 类定义之内的属性和服务。 2. 类的继承关系所产生的不同方法的测试。对基类测试完成
传统的软件过程学 ——过程设计
自然语言 编程语言
问题域 需求分析
总体设计 详细设计
编程 测试 计算机
分析与设计鸿沟
传统的软件工程方法
北京理工大学计算机系
编程、测试和维护
面向对象的发展 结构化方法存在问题
编程和测试 1. 分析方法的缺陷很容易产生对问题域的错误理解;
2. 分析与设计的鸿沟容易造成设计人员对分析结果的错误转换, 导致在编程的过程中,程序员往往需要对分析员已经认识过的 问题域重新进行认识,并可能产生与分析员不同的理解。
出发点和基本原则是使开发软件的方法与过程尽可能接近人类
认识世界解决问题的方法与过程,这样更好的把客观世界的问
题空间映射到软件的解空间
仿真语言 simula 67
20世纪80年代初期:smalltalk语言是面向对象技术发展的重
要里程碑
它是一种新兴的程序设计方法,其基本思想是使用对象、类、 继承、封装、消息等基本概念来进行程序设计。 现在面向对象方法已深入到计算机领域的几乎所有分支,远 远超出了程序设计的语言和编程技术的范畴。 面向对象方法是对软件生命周期的各个阶段(包括分析、设 计、编程、测试和维护),以及它所涉及的各个领域(如人机 界面、数据库、软件复用、形式化方法、CASE工具等)已形成 或正在形成面向对象的理论和技术体系 OOA、OOD、OOP、OOSE、OOOS、OODBMS ……
北京理工大学计算机系
面向对象编程:Object Oriented Program,OOP
面向对象编程(OOP)又称作面向对象实现(OOI), OOP工作就是用同一种面向对象编程语言把OOD模型中 的每个成分,用面向对象程序设计语言实现。
面向对象测试:Object Oriented Test,OOT
软件维护
1. 对使用中发现的错误进行修改。由于结构化程序强调以功能为 模块划分的标准,模块功能单一,导致修改时,会产生新的问 题。
2. 对因需求发生变化而进行修改。由于程序不能映射问题域以及 各个阶段文档不能对应,每一步追溯或修改都存在许多理解障 碍。
北京理工大学计算机系
6.2 面向对象的概念
领域分析的输入输出
领域知识源
航空 银行 电子设备
多媒体视频
技术文件 已有应用 客户评定
专家建议 需求
领域 分析
提取类
复用标准 模型 语言
领域 分析 模型
领域分析活动: •定义被调查的领域,相关的设计、规约、代码、政策、标准、规程等项 •对领域中提取的项,划分种类并提取模式,命名,并且分层。 •收集领域中应用的代表性样本 •分析每个样本中的应用,标识对象、说明理由、定义适应性、估算复用率等 •开发对象分析模型,作为设计和构造类的基础
结构化的软件工程在需求分析这两方面存在不足: 1. 它对问题描述不是以问题域中固有的事物作为基本单位。 2. 它是在全局范围内,以功能、数据或数据流为中心来进行分
析。所以这些方法的分析结果不能直接地映射问题域,而是 经过了不同程度的转化和重新组合,因而容易隐蔽一些对问 题理解的偏差。
北京理工大学计算机系
问题域
面向对象方法在软件工程
OOA
领域的全面运用。它包括 面向对wk.baidu.com分析
自然语言
OOD
面向对象设计
面向对象的编程语言
OOP
面向对象编程
OOT
面向对象测试
计算机
面向对象的软件维护
面向对象的软件工程方法
北京理工大学计算机系
面向对象分析领域分析
领域分析----创建可以广泛地用于整个应用领域范畴的可复用类(构件)
第6章 面向对象的需求分析 6.1 面向对象与面向过程的比较 6.2 面向对象的概念 6.3 面向对象的分析过程 6.4 UML概述 6.5 基于UML的需求分析
北京理工大学计算机系
6.1面向对象与面向过程的比较
面向对象方法与技术研究的发展
面向对象的发展
起源于20世纪60年代中期;
结构化方法存在问题
相关文档
最新文档