UML之Brooch方法

在学习UML(Unified Modeling Language)过程中遇到:
[size=small][color=blue][i] UML是由世界著名的面向对象技术专家Grady Booch ,Jim Rumbaugh 和 Ivar Jacobson发起,在著名的Booch方法、OMT方法和OOSE方法的基础上,广泛征求意见,集重家之长,几经修改而完成的。[/i][/color][/size]
在这段话中,"Booch方法"引起我的注意,于是,Google了一下。翻出了关于Booch方法的如下叙述:

Grady Booch所提出的方法,其分析与设计过程包括以下步骤:
  1. 在给定的抽象层次上识别类和对象;
  2. 识别这些对象和类的语义;
  3. 识别这些类和对象之间的关系;
  4. 实现类和对象。
  这四种活动不仅仅是一个简单的步骤序列,而是对系统逻辑和物理视图不断细化的迭代和渐增的过程。
  类和对象的识别包括找出问题空间中关键的抽象和产生动态行为的重要机制,开发人员可以通过研究问题域的术语来发现关键的抽象。
  语义的识别主要是明确前一阶段所识别出的类和对象的含义,开发人员确定类的行为(即方法)和类及对象之间的互相作用(即行为的规范描述)。该阶段利用状态转移图描述对象状态的模型,利用时态图(系统中的时态约束)和对象图(对象之间的互相作用)描述行为模型。
  在关系识别阶段描述静态和动态关系模型。这些关系包括封装、实例化、继承、关联和聚集等。类和对象之间的可见性也在此时确定。
  在类和对象的实现阶段要考虑如何用选定的编程语言实现,如何将类和对象组织成模块。
  Booch方法提供了丰富的符号体系,包括:类图(类结构,静态视图)、对象图(对象结构、静态视图),状态转移图(类结构、动态视图),时态图(对象结构、动态视图),模块图(模块体系结构),进程图(进程体系结构)等。用于类和对象建模的符号体系使用注释和不同的图符(如不同的箭头)表达详细的信息。Booch本人曾建议在设计的初期可以用符号体系的一个子集,随后不断添加细节。对每一个符号体系还有一个文本的形式,由每一个主要结构的描述模板组成。符号体系由大量的图符组成,但其语法和语义并没有严格地定义,有较大灵活性。
  Booch方法强调基于类和对象的系统逻辑视图与基于模块和进程的系统物理视图之间的区别

Coad/Yourdon方法

Peter Coad和Edward Yourdon的方法严格区分了面向对象分析(OOA)和面向对象设计(OOD)。
  在分析阶段,该方法用五个层次及相关活动定义并记录系统行为,以及系统的输入和输出。这五个层次及活动如表1所示。
  
              表1 Coad/Yourdon方法中的OOA层次模型
[img]http://www.longen.com/a-d/Brooch(oo)Method.gif[/img]
  经过五个层次的活动后,分析结果是一个分成五个层次的问题域模型,包括主题、类及对象、结构、属性和服务五个层次,由类及对象图表示。五个层次活动的顺序并不重要。
  在设计阶段,OOD模型是OOA模型的扩展。OOD模型同样包括OOA模型的五个层次,但同时又引进了四个部分:
  · 问题域部分(PDC):面向对象分析的结果直接放入该部分。
  · 人机交互部分(HIC):包括对用户分类、描述人机交互的脚本、设计命令层次结构、设计详细的交互、生成用户界面的原型、定义HIC类等。
  · 任务管理部分(TMC):识别任务(进程)、任务所提供的服务、任务的优先级、进程的驱动模式,以及任务与其它进程和外界如何通信等。
  · 数据管理部分(DMC):确定数据存储模式,如使用文件系统、关系数据库管理系统还是面向对象数据库管理系统等。
  Coad/Yourdon方法强调技术独立性,从而实现了包括OOA/OOD本身在内的可复用性。例如,当一个给定的应用系统从图形用户界面(GUI)升级到声音响应接口时,只需替换其中的人机交互部分,其他部分均无需改动,因为用户界面技术的改变对系统的其他部分是透明的。

Jacobson方法

Jacobson方法--OOSE(Object Oriented Software Engineering)涉及整个软件生命周期,包括需求分析、设计、实现和测试等四个阶段。
  在Jacobson方法中需求分析和设计密切相关。需求分析阶段的活动包括定义潜在的角色(指使用系统的人和与系统互相作用的软、硬件环境),识别问题域中的对象和关系,基于需求规范说明和角色的需要发现use case,详细描述use case。设计阶段包括两个主要活动:从需求分析模型中发现设计对象,以及针对实现环境调整设计模型。第一个活动包括从use case的描述发现设计对象,描述对象的属性、行为和关联,并把use case的行为分派给对象。
  在需求分析阶段的识别领域、对象和关系的活动中,开发人员识别类、属性和关系。关系包括继承、关联、聚集和通讯。随后,定义use case的活动和识别设计对象的活动,两个活动共同完成行为的描述。Jacobson方法还将对象区分为语义对象(领域对象)、界面对象(如用户界面对象)和控制对象(处理界面对象和领域对象之间的控制)。
Jacobson方法提出并特别强调了use case的概念。use case是指行为相关的事务(transaction)序列,该序列将在用户与系统交互时执行。因此,每一个use case就是一个使用系统的方式,当用户给定一个输入,就执行一个use case的实例并引发执行属于该use case的一个事务。基于这种系统视图,Jacobson将use case模型与以下五种系统模型相结合:
  · 领域对象模型:根据领域来表示use case模型。
  · 分析模型:通过分析来构造use case模型。
  · 设计模型:通过设计来具体化use case模型。
  · 实现模型:依据具体化的设计来实现use case模型。
  · 测试模型:用来测试具体化的use case模型。
  Use case描述的是现实世界中的一项具体任务如何由一个软件系统来支持,利用use case,需求人员(用户)能够将其要求映射到对象模型中,从而有效地架起了需求人员(用户)、系统分析人员和应用程序开发人员之间交流沟通的桥梁。

P.S.:原文引用地址:http://www.longen.com/a-d/Brooch(oo)Method.htm
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章