火龙果·整理 uml.org.cn 1.1软件危机及软件工程(2/2) 软件工程 -提出:1968年NATO -定义(by Guo Jun): 。 软件工程是以质量为核心,为了经济地开发满 足客户需求的软件而研究、建立和应用的系统 化的、有规则的、可度量的和可控制的工程原 则、方法,涉及到软件过程、项目管理、开发 方法、软件复用、软件度量、开发工具,甚至 企业文化等各个方面。 -1968-2006。软件危机依然存在(主要原因 之一一复杂) 12/336
12/336 1.1 软件危机及软件工程(2/2) • 软件工程 – 提出:1968 年NATO – 定义 (by Guo Jun) : • 软件工程是以质量为核心,为了经济地开发满 足客户需求的软件而研究、建立和应用的系统 化的、有规则的、可度量的和可控制的工程原 则、方法,涉及到软件过程、项目管理、开发 方法、软件复用、软件度量、开发工具,甚至 企业文化等各个方面。 – 1968-2006。软件危机依然存在 (主要原因 之一——复杂 )
火龙果·整理 uml.org.cn 1.2复杂性及控制复杂性的基本方法T2) 导致软件复杂性的原因 -软件开发是人的一种智力活动 -各元素之间的相互作用关系的不确定性 -软件之“软” 一随硬件变化而变化 13/336
13/336 1.2 复杂性及控制复杂性的基本方法(1/2) • 导致软件复杂性的原因 – 软件开发是人的一种智力活动 – 各元素之间的相互作用关系的不确定性 – 软件之 “ 软 ” – 随硬件变化而变化
火龙果·整理 uml.org.cn 1.2复杂性及控制复杂性的基本方法22) 控制软件复杂性的基本方法 -分解 一抽象 -模块化 一信息隐蔽 14/336
14/336 1.2 复杂性及控制复杂性的基本方法(2/2) • 控制软件复杂性的基本方法 – 分解 – 抽象 – 模块化 – 信息隐蔽
装 1.3面向对象技术(1/6) 。什么是面向对象 英文:Object-oriented,OO OO是控制软件复杂性的有效途径,充分体 现了分解、抽象、模块化、信息隐蔽 。 传统结构化方法 -以过程为中心,对问题进行功能分解 。 面向对象方法 对问题域进行自然分割,尽可能直接地描述 现实世界 15/336
15/336 1.3 面向对象技术(1/6) • 什么是面向对象 – 英文:Object-oriented, OO – OO是控制软件复杂性的有效途径,充分体 现了分解、抽象、模块化、信息隐蔽 • 传统结构化方法 – 以过程为中心,对问题进行功能分解 • 面向对象方法 – 对问题域进行自然分割,尽可能直接地描述 现实世界
- 火龙果·整理 uml.org.cn 1.3面向对象技术(2/6) 结构化方法Vs.面向对象 Input Procedure 1 Procedure 2 Data Entity 00 Output Procedure 3 Message Object Data Message Methods 16/336
16/336 • 结构化方法Vs.面向对象 Data Data Object Methods Message Message OO 1.3 面向对象技术(2/6)