欢迎来到天天文库
浏览记录
ID:40232490
大小:331.00 KB
页数:51页
时间:2019-07-27
《chapter02_面向对象技术与UML》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2章面向对象技术与UML2.1面向对象技术概述2.2面向对象的分析2.3面向对象的设计2.4基于UML的面向对象分析、设计过程2.1面向对象技术概述2.1.1面向对象的基本概念2.1.2面向对象的开发语言2.1.3面向对象的设计与开发工具2.1.1面向对象的基本概念Coad和Yourdon:面向对象=对象+类+继承+通信2.1.1面向对象的基本概念面向对象技术的基本观点:客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。具有相同数据和操作的对象可归纳成类,对象是类的一个实例。类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。
2、对象之间的联系通过消息传递来维系。2.1.1面向对象的基本概念面向对象的核心元素:对象封装消息类继承多态性结构与连接1.对象客观世界里的任何实体都可以被称为对象。对象可以是具体的、有形的物,也可以是无形的事物或概念。对象是问题域或实现域中某些事物的一个抽象。对象是一个封装数据属性和操作行为的实体。系统中的对象在软件生命周期的各个阶段可能有不同的表示形式。一个对象的实例图解2.封装封装是面向对象方法的一个重要原则。封装有两个含义:结合性信息隐蔽性3.消息消息是向对象发出的服务请求。一个消息包含消息名、接受对象的标志、服务标志、输入信息、回答信息等。消息传递机制。4
3、.类类是一组具有相同数据结构和相同操作的对象的集合。类是对象的抽象。客观世界实际存在的都是对象,而不是类。类和对象的关系。5.继承继承性是面向对象程序设计语言不同于其他语言的最主要特点。继承是指子类可以自动拥有父类的全部属性与操作的机制。父类(超类)子类(派生类)继承性又分为单重继承和多重继承两类。继承的描述单重继承和多重继承的描述6.多态性定义:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态性分为两种:编译时的多态性。运行时的多态性。6.多态性多态性的实现方式:通过接口实现多态性通过继承实现多态性通过抽象类实现的多态性7.结构与连接一般/
4、特殊结构整体/部分结构实例连接消息连接2.1.2面向对象的开发语言1.面向对象的建模语言2.面向对象的程序设计语言1.面向对象的建模语言Booch1993(GradyBooch)OOSE(JimRumbaugh)OMT-2(IvarJacobson)UMLUML的发展过程2.面向对象的程序设计语言四个基本的分支:基于Smalltalk的语言基于C的语言基于LISP的语言基于PASCAL的语言2.1.3面向对象的设计与开发工具1.面向对象的开发工具2.面向对象的设计工具2.2面向对象分析(OOA)2.2.1面向对象分析的层次2.2.2面向对象分析的基本过程2.2.
5、3面向对象分析的基本原则2.2.4类图2.2.5发现对象和定义类2.2.6对象之间的通信2.2.1面向对象分析的层次对象模型通常由五个层次组成:类与对象层属性层服务层结构层主题层对象模型的五个层次2.2.2面向对象分析的基本过程发现对象,从对象中抽象出类的定义。识别对象的内部特征。识别对象的外部关系。划分主题,建立主题图。定义用例,建立交互图。建立详细说明。原型开发。面向对象分析过程模型2.2.3面向对象分析的基本原则抽象原则分类原则聚合原则关联原则消息通信原则2.2.4类图类图的主要构成成分:类属性方法一般/特殊结构整体/部分结构实例连接消息连接2.2.4类图
6、类图分为三个层次:对象层特征层关系层类图的三个层次2.2.5发现对象和定义类1.发现对象2.抽象出对象类1.发现对象发现对象的根本出发点:问题域和系统责任正确运用抽象原则。2.抽象出对象类几种常见问题:类的属性或服务不适合该类的全部对象。出现属性和服务相似的类。出现对同一事物的重复描述。2.2.6对象之间的通信1.一般/特殊结构2.整体/部分结构3.实例连接4.消息连接1.一般/特殊结构一般/特殊结构均形成层次或网络2.整体/部分结构3.实例连接实例连接用于表达对象之间的静态联系4.消息连接定义:两个对象之间存在的由于通信需要而形成的关系。表示方法:使用箭头从发
7、送消息的对象指向接收消息的对象。2.3面向对象设计(OOD)2.3.1面向对象设计的模型2.3.2面向对象的高层设计2.3.3面向对象的类设计2.3.1面向对象设计的模型2.3.2面向对象的高层设计1.高层设计的结构模型2.高层设计的准则3.问题域子系统的设计4.人机交互子系统的设计5.任务管理子系统的设计6.数据管理子系统的设计1.高层设计的结构模型2.高层设计的准则弱耦合。强内聚。减少通信开销。良好的可扩充性。3.问题域子系统的设计复用已有的设计。把与问题论域相关的类关联,建立类的层次结构。创建一般化类。改进系统性能。加入较低层的构件。4.人机交互子系统的设
8、计用户分类。描述人及其任
此文档下载收益归作者所有