- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学
软件工程实践
吴际
北京航空航天大学
第十二讲
面向对象方法与UML介绍
内容和目的
我们的座标
面向对象方法
面向对象:能与不能
统一建模语言UML
我们的座标
应用开发的变化
开发工具和手段的发展
开发方法和技术的发展
应用开发的变化
70年代:小型机(或服务器)上的数学程序
80年代:单机(或以太网)上的、文本界面
(或简单图形界面)、计算型应用
90年代:互联网(Internet)、丰富图形界
面、事务处理型应用,要求快速提交产品
现在,分布于Internet、Intranet,多种界面形
式(基于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?
类、对象
继承
多态
消息
类、对象是核心
面向对象分析、设计、编码的基本单位
数据与功能的有效封装
可直接映射到现实或抽象的实体
关系、状态、行为
开发管理的基本单位
类测试就是“单元测试” !
继承:面向对象冠上明珠
如果没有继承,谁能在一个小时之内,只使用
SDK接口编写出Notepad?如果使用继承,你只
需十分钟(或更少)!
继承至少提供了两个方向的设计支持:
重用
抽象、接口(COM、DCOM、Bean)
没有继承,几乎不可能有通用的容器类
(Container or Collector)可供使用
多继承:你使用过多少次?
多态:面向对象‘ 自适应’中枢
多态(polymorphism):多种形态,统
一语义
接口描述了通讯协议
多态使得基于接口的通讯能够自适应
Arg1,agr2,
…
多态:面向对象‘ 自适应’中枢
两种多态:
同一个类中的不同形态接口
不同子类以不同形态实现(或重载)父类接
口
典型例子:画图程序中GraphManager类
的D
原创力文档


文档评论(0)