开发工具和手段的发展 ■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? 大幕拉开:面向对象 ◼ 面相对象的目标:以人的(获接近于人 的)认知方法和原则来描述事物 ◼ 完全不同于结构化的描述手段: ◼ 类、对象 ◼ 继承 ◼ 多态 ◼ 消息