第2章对象特性和建模
- 格式:ppt
- 大小:894.50 KB
- 文档页数:71
第2章对象建模对于软件是什么以及程序如何工作,面向对象编程语言和设计语言有一个共同的理解。
对象模型是UML和面向对象编程语言共享的公共计算模型。
尽管编程语言和设计语言是在不同的抽象级别来表示程序的,但是我们理解这两种语言的基础都是对象模型所提供的对运行程序的抽象描述。
本章在一个简单应用的背景下,引出并描述对象模型的本质特征。
通过例子介绍UML 提供的这些概念的表示法,说明如何实现这些概念,解释设计语言和编程语言之间的密切联系。
2.1 对象模型对象模型不是一个特定的UML模型,而是一种考虑程序结构的一般方式。
它由构成面向对象设计和编程活动的基础的概念框架组成。
如同它的名字使人想起的那样,对象模型的基本性质是,计算是发生在对象之内和对象之间的。
各个对象负责维护系统数据的一部分,并负责实现系统整体功能的某些方面。
当程序运行时,对象典型地由内存区域表示,该内存区域中就包含着该对象存储的数据。
对象还支持方法或函数,以访问和更新对象所包含的数据。
因此,对象结合了计算机程序的两个根本方面,即数据和处理,在其他软件设计方法中这二者是分离的。
然而,程序要比一组孤立的对象集合描述得更多。
各个对象中存储的数据之间的关系必须要记录,而且程序的整体行为只有从多个不同对象的交互中才能显现出来。
通过允许将对象连接到一起可以支持这些需求。
典型地,这是通过使一个对象能够拥有对另一个对象的引用,或者更具体地讲,是知道其他对象的位置来实现的。
因而,对象模型将一个运行的程序视作是一个对象网络,或图(graph)。
对象构成该图中的结点,连接对象的弧称为链接(link)。
每个对象包含程序数据的一个小子集,对象网络的结构则表示这些数据之间的关系。
对象可以在运行时创建和销毁,对象之间的链接也可以改变。
因此,对象网络的结构,或拓扑结构,是高度动态的,会随着程序的运行而改变。
对象之间的链接还可以作为对象交互的通信路径,使得对象能够通过互相发送消息(messages)进行交互。
UML(2)(统⼀过程,建模的概念和对象特性)1,统⼀过程(RUP)RUP是⼀种建模⽅法,是对UML使⽤最全⾯,最复杂的⼀种。
RUP(rational unified process)译为统⼀过程。
UML定义了基本元素,定义了语法,但是如果要做⼀个软件项⽬,还需要有⽅法指导。
RUP是与UML集成最好,最完整的软件⽅法。
RUP并⾮是因为UML才诞⽣,是归纳和整理了很多在实践中总结出来的软件⼯程的最佳实践,是⼀个采⽤了⾯向对象思想,使⽤UML作为软件分析设计语⾔,并且结合了项⽬管理,质量管理等许多软件⼯程知识综合⽽成的⼀个⾮常完整和庞⼤的软件⽅法。
RUP和UML关系RUP和软件⼯程RUP是⼀种庞⼤复杂稳定的软件⽅法。
中⼩项⽬⼀般采⽤轻量级的敏捷⽅法。
2,建模⼀些概念2.1,建模建模包含两个问题:怎么建;模是什么怎么建:抽象的⾓度不同,决定了建模的⽅向不同。
⽐如:筷⼦,叉⼦,盘⼦的异同点?可以选择⾓度很多:1,⽤途2,使⽤⽅法3,字⾯区别模是什么:模依赖于抽象⾓度下的场景模拟。
ps总结:在分析对象的时候,虽然采⽤的是⾯向过程的⽅式,但该过程只是⼀种局部分析⽅法。
回到模是什么的问题上来,⼀个由抽象⾓度确定了的⽬标需要由静态的事物加上特定条件下产⽣的⼀个特定的场景来完成,即静态的事物(物)+特定的条件(规则)+特定的动作(参与者的驱动)=特定的场景(事件)2.2,⽤例驱动2.3,抽象层次抽象层次太⾼,造成实施信息不⾜。
抽象层次太低,内容太多难以描述,选择合适的层次很重要。
抽象有2种⽅法:⼀种是⾃顶向下:适⽤于认识新事物,⽐如汽车,从整体到模块⼀种是⾃下往上:适⽤于改进和提⾼认识,⽐如,发动机原理到发动机效率和质量。
通常的统⼀过程抽象层次和分析过程:2.4,视图3,分析对象⽅法的相关了解3.1,⼀切皆为对象特别像某某业务流程,也是对象,不要当作是⼀个过程。
3.2,对象是独⽴的3.3,对象都具有原⼦性3.4,对象都是可以抽象的3.4,对象都有参次性ps总结:1,对象不仅只是有型的物,更可能是⼀种过程,事件2,对象是有独⽴的特性,但⼜因在某⼀场景内的实例可以存在联系3,对象是原⼦的,将对象看出⼀个整体,从边界分析对象,⾯向接⼝3,对象是⼜是具有很⼤⾯的,可以在不同场景投影不同,可以抽象成很多接⼝4,对象有层次的,有些东西看似⽭盾,其实是不同⾓度,⽐如可以看成是⼀个整体,⼜是可以看成多部分组成,是多⾯的,是多层次的。