北京理工大学 软件工程实践 吴际 比京航空航天大学
北京理工大学 软件工程实践 吴 际 北京航空航天大学
第十二讲 面向对象方法与UML介绍
第十二讲 面向对象方法与UML介绍
内容和目的 我们的座标 面向对象方法 ■面向对象:能与不能 统一建模语言UML
内容和目的 ◼ 我们的座标 ◼ 面向对象方法 ◼ 面向对象:能与不能 ◼ 统一建模语言UML
我们的座标 应用开发的变化 开发工具和手段的发展 开发方法和技术的发展
我们的座标 ◼ 应用开发的变化 ◼ 开发工具和手段的发展 ◼ 开发方法和技术的发展
应用开发的变化 ■70年代:小型机(或服务器)上的数学程序 80年代:单机(或以太网)上的、文本界面 (或简单图形界面)、计算型应用 90年代:互联网( Internet)、丰富图形界面、 事务处理型应用,要求快速提交产品 ■现在,分布于 Internet、 Intranet,多种界面形 式(基于 Web browser、 Application guI等), 多种事务处理的集成(电子商务、信息管理), 多种标准的支持(XML,J2EE, Corba,NET), 多种平台的支持( Windows, Linux,Unx,)
应用开发的变化 ◼ 70年代:小型机(或服务器)上的数学程序 ◼ 80年代:单机(或以太网)上的、文本界面 (或简单图形界面)、计算型应用 ◼ 90年代:互联网(Internet)、丰富图形界面、 事务处理型应用,要求快速提交产品 ◼ 现在,分布于Internet、Intranet,多种界面形 式(基于Web Browser、Application GUI等), 多种事务处理的集成(电子商务、信息管理), 多种标准的支持(XML,J2EE,Corba,.NET), 多种平台的支持(Windows,Linux,Unix,…)
开发工具和手段的发展 ■70年代:基于汇编代码的调试器 80年代:基于高级语言的调试器( Turbo o, Microsoft C, Borland C, Turbo Pascal) 90年代:集成了调试器、编辑器、配置管理、 框架代码构造、及时编码提示、应用GUI界面 编辑等的集成开发环境,如 Visual studio, Delphi ■现在:在集成开发环境基础上,提供更强大的 开发平台支持(NET,JDK),同时更关注应 用的平台无关性和运行安全性
开发工具和手段的发展 ◼ 70年代:基于汇编代码的调试器 ◼ 80年代:基于高级语言的调试器(Turbo C, Microsoft C,Borland C,Turbo Pascal) ◼ 90年代:集成了调试器、编辑器、配置管理、 框架代码构造、及时编码提示、应用GUI界面 编辑等的集成开发环境,如Visual Studio, Delphi ◼ 现在:在集成开发环境基础上,提供更强大的 开发平台支持(.NET,JDK),同时更关注应 用的平台无关性和运行安全性
开发方法和技术的发展 70年代:结构化方法(设计、编码) 80年代:结构化方法(分析、设计、编 码),状态图,需求工程 90年代:面向对象分析、设计、编码, 对象建模 ■现在:商务建模( business modeling) 面向对象建模(分析、设计),体系结 构设计(构件化)
开发方法和技术的发展 ◼ 70年代:结构化方法(设计、编码) ◼ 80年代:结构化方法(分析、设计、编 码),状态图,需求工程 ◼ 90年代:面向对象分析、设计、编码, 对象建模 ◼ 现在:商务建模(business modeling)、 面向对象建模(分析、设计),体系结 构设计(构件化)
面向对象方法 ■结构化与面向对象的提出 ■面向对象方法特征 ■面向对象主要流派
面向对象方法 ◼ 结构化与面向对象的提出 ◼ 面向对象方法特征 ◼ 面向对象主要流派
结构化与面向对象的提出 CFD&DFD:自顶而下的层次分解策略 任何一层有变动,其下面的所有层次都必须重新进行层次分 解 层次间的解释关系使得难以维护层次间的一致性 ■强调数据、功能分解,但忽略了数据、功能的整合 ■数据与功能分离的结构化认知观点,实际偏离了人认 知世界的基本原则: 以实体为单位,以关系为核心 ■尽管有缺点,但结构化仍有可借鉴之处: ■结构化原则 数据字典 状态图
结构化与面向对象的提出 ◼ CFD & DFD:自顶而下的层次分解策略 ◼ 任何一层有变动,其下面的所有层次都必须重新进行层次分 解 ◼ 层次间的解释关系使得难以维护层次间的一致性 ◼ 强调数据、功能分解,但忽略了数据、功能的整合 ◼ 数据与功能分离的结构化认知观点,实际偏离了人认 知世界的基本原则: ◼ 以实体为单位,以关系为核心 ◼ 尽管有缺点,但结构化仍有可借鉴之处: ◼ 结构化原则 ◼ 数据字典 ◼ 状态图
大幕拉开:面向对象 面相对象的目标:以人的(获接近于人 的)认知方法和原则来描述事物 完全不同于结构化的描述手段: 类、对象 继承 多态 消息
What do you think about OO? 大幕拉开:面向对象 ◼ 面相对象的目标:以人的(获接近于人 的)认知方法和原则来描述事物 ◼ 完全不同于结构化的描述手段: ◼ 类、对象 ◼ 继承 ◼ 多态 ◼ 消息