UML与OOAD初学有感

来源:互联网 发布:淘宝如何编辑宝贝属性 编辑:程序博客网 时间:2024/05/25 19:59

今年参加软件设计师考试的复习中算是初次接触UML吧。后面在C#的开发中也遇到关于UML设计的的问题,那时觉的UML这么多图,一定很复杂,所有想到马上就要学习设计模式了,最好还是先了解一下UML

从图书馆借了一本最薄的关于UML设计的书吧。《UML和OOAD快速入门》邱郁惠编著  机械工业出版社出版

UML214种图,该书讲究快速入门,涉及三种图:类图,用例图和序列图。通过对从分析师和设计师的角度分别结合事务模式快速绘制出类图,用例描述:针对用例图的每个用例,以文字描述用例的执行流程和BCE模式帮助绘制出序列图。全书以酒店联合订房系统为主要范例。

事务模式:事物模式强调以事务为中心,串起跟事物相关的事务明细,涉及,地点,物品。应用事物模式不仅可以帮助设计师快速作出类图雏形,更重要的是,可以协助分析师使用比较系统性的方法去理解领域概念。

类图:用来表示系统内部的静态结构。类的图标为矩形,顶格放置类名称,中格放置属性,低格放置操作。类图中常见的关系分为:关联关系,组合关系(整体-部分在领域概念上必须是不可分割或者难以分割的)。依赖关系(是一种暂时的,动态的关系)。泛化关系(是一种分类关系,区分一般性的和特定性的,通常通过继承来实现).

用例图:分析师学到了使用类图来表达系统内部的静态结构,在用例图来表达系统对外提供的服务。用例图的基本元素:用例与参与者,启动者与支持者。

用例描述:使用文字描述用例的流程细节,这样的文字说明,称为用例描述。

用例图和序列图都表示动态行为,只是前者表示系统外部对象(参与者)与系统这两大对象之间的互动,而后者则重在表示系统内部一群小对象之间的互动。序列图关联了类图与用例图两方面,表示了系统在与参与者互动执行某一个用例期间,系列内部的一群小对象的协作情况。序列图是一张栅栏状的图形,展现出一群对象的一小段存活活动期。

BCE模式,将对象分为三类:边界类(boundary class),控制类(control class)和实体类(entity class)应用BCE模式要注意下列四项规则:

1.针对每一个用例,可以对应生成一个控制类

2.参与者对象只能跟边界对象互动

3.实体对象不能发送消息给边界对象和控制对象

4.比较特别的是,如果只是单纯对数据表进行增加,删除,修改,查询的话,可以不设置控制对象,让边界对象直接发送消息给实体对象,以提高整个序列图的执行速度。

5.每一个用例至少会有一张描述主要流程的序列图。

在分析阶段生成的用例,在设计阶段,设计师总要对每个用例涉及的BCE类,进行加工:

1.把中文的类名称,属性名称,操作名称都变成英文

2.针对每一个用例,建立BCE类图,并且加上BCE类之间的依赖关系

3.针对前面提到的泛化关系,依赖关系,保护等级可见性,抽象类,类层次属性与操作,公有类和枚举类型,都要找一找以修正一下实体类图

4.针对更新后的实体类图,加上适当的主键和外键。

设计阶段必须为用例描述加工添加更多程序员所需要的细节信息,重点加工:

1.用例之间的关系

2.边界对象的沟通接口

3.加入伪界面

4.更新BCE

序列图中在设计阶段重点进行加工的地方:

1.消息参数,

2.交互(sd)与引用(ref

3.交互操作符

4.操作内部交互

最后介绍二种伪界面绘制软件:

1.MockupScreens(http;//www.mockupscreens.com)

2.Balsamiq Mockups(http://www.balsamiq.com)

原创粉丝点击