面向对象方法的发展历史
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象方法的发展历史
(一)80年代面向对象的方法已成为新趋势
在五年之内方法论从5种开发到50种以上,面向对象最早开始提到的概念是在1986年,一开始就有五、六种不同的方法论,但在五年之内,它就开发到50多家,所以开发速度是很快的。
布什(Booch),面向对象软件工程在这些方法之中居于领导地位。比较出名的Booch 方法由布什所发明;OMT由詹姆斯、云豹(James Rumbaugh)所发明;00SE由雅寇森(Jacobson)所发明。
另外的方法如:尤顿(coad-Yoadon),雪梨、米勒(Shlaer-Mellor)等各种不同方法。(二)不同的总是表面
在共同的想法上集中收敛,因为各家所提出的方法都很多,大家当然要大战一场。每一个人都说大话,说他们自己的最好,但事实上如果看到他们的本质,很多的方法都是相同的,性质也相似。
不同的是记号法和术语,不同的不是它的设计结构,而是所用的语言、术语,还有它的记号法,这种情形,在沟通上可能会产生一些问题。基本上创造软件的语言,如果说术语不同的话,就没有办法沟通,但是剥开语言的层次看,它的实质都是相同的,逻辑设计概念都是相似的,所以这方面倒是非常相近。
(三)实际工程展示的工作与早期的方法经验有关
所以大家都说他们是最好的,到底谁是最好的,就是看他实际应用的经验,经验越多,它能够被使用的次数越多,那就证明它越好用。
(四)OMT分析与设计过程
1、对象模型、动态模型和功能模型各自呈现对系统的观点,彼此间又相互关联。
2、对象模型提供动态及功能模型运算操作所需的数据结构;
3、动态模型描述对象的控制结构;
4、功能模型描述那些被对象模型的“运算”及动态模型的“操作”所调用的功能。(五)OMT系统分析方法
1、分析的过程,并不—定是循序渐进的。尤其是复杂的系统,通常要经过许多次反复的分析,才能建立完整的模型;
2、对象模型显示出系统静态的数据结构,在建立对象模型时,须从该系统的问题描述及它所牵涉的领域范围来考虑;
3、动态模型显示系统受时间影响所产生的动态行为。开始分析动态模型时必须找出事件,然后将影响每个对象的事件串行起来,用状态图表示出来;
4、功能模型显示系统内数据转换的情形,功能模型是绘制多个数据流程图的集合;
5、系统分析的工作并不是简单地一次就能完成,通常要经过许多次反复的修正才能完成。在完成分析工作之后,必须再与用户做核对,以确保分析的结果与系统的问题描述相符合,否则修正的工作必须重复进行,直到两者符合为止。
6、分析的过程,并不—定是循序渐进的。尤其是复杂的系统,通常要经过许多次反复的分析,才能建立完整的模型。
(六)BOOCH面向对象开发模型
1、逻辑模型:描述关键抽象与机制的意义,以定义系统结构成问题描述
2、实体模型:从软硬件的角度来描述系统的概观或设置
3、静态模型:描述对象类的属性、关系的静态方面
4、动态模型:表现对象类间的互动关系
(七)BOOCH图示方法
1、类图:用来表现系统逻辑观点中类的存在及其间的关系,并描述系统类的结构;在分析阶段中,类图可用以说明类的角色及责任,描述系统的行为面;在设计阶段时,则用以描述类结构,以形成系统结构。
2、对象图:用以表现系统逻辑观点,对象的存在及其间的关系。在分析阶段,对象图可用来找出主要及次要情况的语意,作为系统行为的追踪:在设计阶段,则是用以描述系统逻辑设计的机制。
3、模组图:描述系统实体设计时对象及类配置及模组情形。在设置阶段,模组可用以找出系统结构的分割与实体层级化。
4、处理图:用以描述在系统实体设计时,分配给处理器的情形;在设置阶段,可用以充分表达系统处理器的实体配置情形,有助于了解系统的执行平台。
5、状态转换图:描述类的状态,从一个状态转换至另一个状态的事件及状态改变的结果。在分析阶段,状态转换图可用以描述系统的动态行为:在设计阶段,则可用来描述类或类组合的状态转换。
6、互动图:对应对象图场景,表达场景执行过程,以说明信息传递时间及事件发生的次序。
7、状态图:保留对象、子系统、系统的生命周期。状态图必须属于所有的类,这些类必须清楚地定义状态与复杂行为。状态图阐明事件会改变类中对象的状态
8、循序图:阐明对象如何与其它的对象互动。循序图有两个轴,垂直方向轴表示时间,水平方向轴表示一组对象。循序图显现互动关系,而且是介于两个对象之间的互动关系,它发生在系统执行期间相同的时间点上。
合作图专注于合作对象间的互动与连接。循序图与合作图均显示互动,但循序图专注于时间,合作图则专注于空间。连接显示真正的对象及其相互问的关系;一个对象能由其内部结构所显示。循序图与合作图可以用在说明系统中执行的操作、执行的使用实例或单纯的互动剧本上,如电梯按钮合作图;
各种活动图记录各式活动及其结果。它专注于执行完成—个操作的工作及在使用实例或对象中的各种活动。活动图是状态图的转型,并有一些不同的目的,就是记录各式活动(工作与各种活动将被执行)与其对象状态转换方面的各种结果。活动图中的各种状态(活动状态action-states)当其活动己执行完毕时,可直接转换至下一阶段(而不需要象状态图那样明确说明任何事件)。活动图与状态图另一个不同点是其各种活动置放于责任区(swimlanes)。责任区将各种活动依责任导向或组织归属的原则分类。活动图是说明互动关系的另一种方法,并有把握表达活动如何做、做什么(对象各种状态的变化)、何时做(活动顺序)及何处做(责任区)。活动图的目的如下:
①当一个操作正在执行时,记录其执行的工作。这是最普通的用法。
①记录对象的内部工作。
①显示相关活动集合如何去执行,并对周围对象造成的影响。
①就各种活动与对象状态转换方面,显示使用实例案例如何执行。
就工作者、工作流程、组织及各种对象方面,显示企业的各种活动。各种活动及转换一个活动执行后产生一个结果。—个操作的完成可能是由相关活动集合来说明,而后再转换为程序。如同早期的定义,活动图显示各种活动与其关系,有一个起点与一个终点。起点以实心圆表示,终点以一个圆圈包含一个实心圆表示,活动以圆角长方形表示。