当前位置:
文档之家› OOAD 第1章 面向对象分析与设计概述 CUMT
OOAD 第1章 面向对象分析与设计概述 CUMT
功能模型 数据模型 仿真模型设计 过程描述获取 面向对象设计 本体论描述获取 设计原理获取 信息系统审定 人与系统接口设计 用户接口建模
IDEF9 经营约束的发现 场景驱动信息系统设计 IDEF10 信息制品建模 实施体系结构建模 IDEF11 信息工具建模 IDEF12 组织设计 组织建模 IDEF13 三模式映射设计 IDEF14 网络设计
高层次语言的引入有助于解决一些与复杂性有关的问题,但 这些语言并不是充分的。 那时,无开发方法而言
课件制作人:谢希仁
传统的软件工也称为面向过程的软件开发方 法,这类开发方法都典型地包含了分析、设计、 实现、确认(测试)、演化(维护)等活动。 典型的传统软件开发方法有: Jackson方法、结构化开发方法、HIPO法、 IDEF法等。
课件制作人:谢希仁
1975年,M.A.Jackson提出了一类至今仍广泛使 用的软件开发方法。 这一方法从目标系统的输入、输出数据结构入手, 导出程序框架结构,再补充其它细节,就可得到完 整的程序结构图。 这一方法对输入、输出数据结构明确的中小型系统 特别有效,如商业应用中的文件表格处理。该方法 也可与其它方法结合,用于模块的详细设计。
课件制作人:谢希仁
得到的系统模型: 由模块及其接口构成
功能 模块 功能 模块 功能 模块
功能 模块
功能 模块
功能 模块
功能 模块
功能 模块
功能 模块
功能 模块
课件制作人:谢希仁
优点:
当时的计算机应用还不是很普及,只是特定的用户 按自己的需要,对软件系统做出了功能性的要求, 有据可寻。 在相当大的程度上,解决了以前存在的问题。特别 是与模块化编程结合使用,效率更高。
零件 / N01
实体名 / 实体号
工艺 / N04
课件制作人:谢希仁
可标定联系
实体-A / 1 零件 / 1 零件代码
父实体
关键字属性--A
从父实体 到子实体 的关系名
关系名
确定关系
实体-B / 2 关键字属性—A(FK) 关键字属性
有 工艺 / 2 零件代码(FK) 工序号
子实体
课件制作人:谢希仁
课件制作人:谢希仁
一切都是对象
编写一个开发票程序,需要对发票的名细栏进行计算。
编号 名称 规格 单位 数量 单价 金额
合计
非面向对象思路:
定义数据结构 定义函数
面向对象思路: 对象
一组属性
操作:发票总计
……
课件制作人:谢希仁
面向对象与传统开发方法的比较
课件制作人:谢希仁
面向对象 把数据和处理数据的过程作为一个整体,即对象。 算法+数据结构 算法+数据结构
非标定联系
实体-A / 1
零件 / 1 零件代码
设备 / 3
父实体
关键字属性--A
设备代码
从父实体 到子实体 的关系名
关系名
非标定关系
实体-B / 2 关键字属性—A(FK) 关键字属性
有 工艺 / 2 零件代码(FK) 工序号
使 用
子实体
课件制作人:谢希仁
分类联系:
实体-A / 1 关键字属性--A 产品对象 / 1
产品设计综合报表 产品号(FK) 具有 元器件BOM PCB板参数表
电原理设计文件 产品号(FK) 电原理设计文件
进行原理设计
进行电路功能设计 电路功能设计文件 产品号(FK) 电路功能设计文件
进行PCB设计
课件制作人:谢希仁
1.2面向对象的基本思想
1.面向对象方法的定义
面向对象方法是以对象为核心的软件开发 方法,使软件开发尽可能按照人对客观世 界认识的规律和解决问题的方法与过程, 以便使描述问题的空间与实现方法在结构 上尽量一致。 是把面向对象分析(OOA)、面向对象设 计(OOD)和面向对象程序设计(OOP) 集成到生存期的相应阶段。
课件制作人 (1)分析并确定输入数据和输出数据的逻辑结构,并用 Jackson结构图来表示这些数据结构。 (2)找出输入数据结构和输出数据结构中有对应关系的数 据单元。 (3)按以下的规则由输入、输出的数据结构导出程序结构。 1)为每一对在输入数据结构和输出数据结构中有对应关 系的单元画一个处理框。 2)为输入和输出数据结构中剩余的数据单元画一个处理 框。 3)所有处理框在程序结构图上的位置,应与由它处理的 数据单元在数据结构Jackson图上的位置一致。 4)必要时,可以对映射导出的程序结构图进行进一步的 细化。 (4)列出基本操作与条件,并把它们分配到程序结构图的 适当位置。 (5)用伪码写出程序。 课件制作人:谢希仁
课件制作人:谢希仁
面向对象方法的特色
面向对象方法是一个非常实用而强有力 的软件开发方法: 方法的唯一性,即方法是对软件开发过程 所有阶段进行综合考虑而得到的。 从生存期的一个阶段到下一个阶段的高度 连续性,即在一个阶段所使用的部分与在 下一个阶段所使用的部分是衔接的,所使 用的技术经过生存期每一阶段后不改变。
课件制作人:谢希仁
1、功能分解法(起于二十世纪七十年代)
功 能 分 解 法 ( function decomposition) 功能分解= 功能 +子功能 +功能接口 工作过程: 一层层地进行功能分解 系统
分解
功能 功能 功能 以系统需要提供的功能为 分解 中心来组织系统。 首先定义各种功能 ,然后 子功能 子功能 …… 把功能分解为子功能,同时定 分解 义功能之间的接口。 对较大的子功能进一步分 …… 子功能 子功能 解,直到可给出明确的定义。 根据功能/子功能的需要设计 …… 数据结构和算法。 ……
课件制作人:谢希仁
IDEF0方法
控制C 1 输入I 输出O
系统
A0图
2
3 4
活动
1 机制M 2 3
A3图
4
课件制作人:谢希仁
蓝图
工单
调度表
油温
时间 美味 荷包蛋
毛坯
成品零件 鸡蛋
制造零件
切屑
油、调料
煎鸡蛋
刀 机床
工人
炉
锅
课件制作人:谢希仁
IDEF1X方法
信息组成: 数据管理的着眼点应该放在与数据有关的含义上; 信息是为某个特定目的或在一定范围内聚合起来的 数据集; 管理信息资源的策略应该放在管理数据被应用于事 件的含义上。
面向对象分析与设计 Object-Oriented Analysis and Design
第1章 面向对象分析与设计 概述
张 磊 博士 副教授 zhanglei@
《计算机网络》课件 制作人:谢希仁
1.1传统开发方法 1.2面向对象的基本思想 1.3面向对象的主要概念 1.4面向对象方法的主要优点 1.5面向对象的发展与UML 1.6RUP与UML 1.7软件架构和设计模式
算法+数据结构
关系
算法+数据结构
算法+数据结构
程序=<对象,关系>
课件制作人:谢希仁 对象=(算法)+(数据结构)
结构化
程序 =<关系,算法,数据结构 >
数据结构
数据结构
数据结构
关系
算法
算法
算法
课件制作人:谢希仁
结构化方法强调过程抽象和模块化,将现实 世界映射为数据流和加工,加工之间通过数 据流进行通信,数据作为被动的实体被主动 的操作所加工,是以过程为中心来构造系统 和设计程序的。 面向对象方法把世界看成是独立对象的集合, 对象将数据和操作封装在一起,提供有限的 外部接口,其内部的实现细节、数据结构及 对它们的操作是外部不可见的,对象之间通 过消息相互通信。
课件制作人:谢希仁
1.1传统软件工程
在二十世纪六十年代以前 软件系统都是较小且相对简单的 所用的编程语言都是十分简单(Fortran,Cobol等 ) 时兴个人英雄注意,即崇尚程序员的个人技能 代码是面条式的,特别是代码中含有GOTO语句
随着软件复杂性的增长,随心所欲的方法就不再是可接受的 了,因为这样的代码是很难维护的。
删除GOTO语句,使得软件能得到有效的维护。 与模块化编程相结合,使得软件能得到有效的维护 适用于功能稳定的应用领域,如某些科学计算。 直接地反映用户的需求,所以工作很容易开始。
课件制作人:谢希仁
缺点:
开头容易,结束难。
结构化分析和设计注重处理功能,对所处理的数 据放于次要的位置。 对于众多的领域而言,其功能是易变的,如企业 管理和商业管理。对需求变化的适应能力很差。
课件制作人:谢希仁
5、IDEF方法
IDEF:是1981年美国空军公布的ICAM( integrated computer aided manufacturing)工 程中用了名为“IDEF”的方法,是ICAM DEFinition method的缩写。
课件制作人:谢希仁
IDEF0 IDEF1X IDEF2 IDEF3 IDEF4 IDEF5 IDEF6 IDEF7 IDEF8
信息 数据
含义
事实
外部模式 (用户视图)
内部模式 (计算机视图)
课件制作人:谢希仁
IDEF1X方法
数据三模式:
外部模式 (用户视图)
概念模式 (逻辑视图)
内部模式 (计算机视图)
课件制作人:谢希仁
IDEF1X方法 实体:独立实体、从属实体 联系:可标定联系、非标定联系、分类联系、非确定 联系
实体名 / 实体号
确定
工艺文件 产品号(FK) 工艺路线 工时定额
采购计划 订单编号(FK) 物料名称 数量 金额
确定
确定
生产订单数据 订单号(FK) 物料名称 数量 提单 工时资源报告