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