logo资料库

UML学习总结报告.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
UML 统一建模语言学习总结 UML(Unified Modeling Language)统一建模语言,包括一些可以相互组合 为图表的图形元素,是一种可视化的建模语言,它十分的直观易懂,便于系统设 计过程中不同的人有效的共享和交流设计成果。 UML 提供多个视图来展示一个系统,这些视图被称为一个模型,一个 UML 模型描述的是一个系统要做什么,并不会告诉我们系统如何被实施的。UML 中常 见的视图有类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、 部署图等。这么多种视图存在是因为系统需要从不同的视角去观察,多视角的系 统蓝图可以使得系统中不同的人能够进行有效的沟通。 作为软件开发者,UML 中的类图将是我以后主要使用的视图,也是本次学 习的重点内容。类是具有相同属性和操作的一类对象集。封装、继承、多态是面 向对象的三要素。这些都能够很好的在 UML 类图中体现出来。 一个类图分为三层,第一层显示类的名称,如果是抽象类,就用斜体来显 示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法 或行为。前面的符号,‘+’表示 public,‘-’表示 private, ‘#’表示 protected。 UML 允许添加指明属性的附加信息,比如属性的类型,可以在属性值后面加上类 型名,中间使用分号隔开,还可以指定属性的缺省值。同样,对于操作也可以添 加附加信息,比如操作所需的参数和参数类型,以及操作中的函数还可以添加返 回值和返回值类型。为了对类提供更多的信息,UML 还提供了专门的注释。 类之间的关系,说明了类模型的概念之间的联系,才能够完整的说明建模的 对象。面向对象中的继承关系在 UML 中称为泛化。采用从子类指向父类的空心三 角形箭头来表示继承,子类继承了父类的属性和操作。在建模初期,通过观察不 同类的共同属性和操作可以发现类之间的继承关系。类中还有一种特殊的类-- 抽象类,这种类本身不产生对象实例,仅仅作为提供继承的基类。当一个类‘知 道’另一个类时,可以用关联,一个实现箭头来表示。依赖关系中,一个类使用 另一个类,一般是指某个类在操作过程中使用了另外一个类。依赖关系采用从依 赖类到被依赖类的带箭头虚线表示。在类中还有两种十分重要的关系:聚合和合 成。聚合表示一种弱的‘拥有’关系,体现的是 A 对象可以包含 B 对象,但 B 对象不一定是 A 对象的一部分。合成是一种强的‘拥有’关系,体现了严格的部 分和整体的关系,部分和整体的生命周期一样。在合成关系的连线两端还有数字, 表明这一端的类可以有几个实例。 接口是描述类的部分行为的一组操作,在 UML 中有专门的接口图,它与类图
的主要区别是顶端有<>显示,第一行是接口名称,第二行是接口方 法。一个类和它的接口之间的关系称为实现。 前段时间我已经学习了设计模式,而 UML 能够很好的表达设计模式,因此我 使用 UML 类图来表示已经学过的几种设计模式,这样即加深了我对设计模式的理 解,同时又提高了使用 Rose 工具来画 UML 类图的熟练度。 下面是几种设计模式的 UML 类图: 1) 创建型模式: Director Construct() -builder Builder BuilderPart() ConreteBuilder BuilderPart() GetResult() 图一 建造者模式 Product Product Creator FactoryMethod() ConcreteProduct ConcreteCreator FactoryMethod() 图二 工厂方法模式 图三 原型模式
图四 单例模式 2) 结构型模式: Client -target Target Request() Adapter -adaptee Adaptee Request() SpexificRequest() 图五 适配器模式 Client Component Add(in c : Component) Remove(in c : Component) Display(in depth : int) Leaf Display(in depth : int) Composite Add(in c : Component) Remove(in c : Component) Display(in depth : int) 图六 组合模式 Abstraction operation() Implementor OperationImp() RefinedAbstraction ConcreteImplementorA ConcreteImplementorB operation() OperationImp() OperationImp() 图七 桥接模式
Facade MethodA() MethodB() SubSystemOne SubSystemTwo SubSystemThree SubSystemFour MethodOne() MethodTwo() MethodThree() MethodFour() 图八 外观模式 图九 装饰模式 图十 装饰模式
Subject Request() RealSubject -realSubject Proxy Request() Request() 3)行为型模式: 图十一 代理模式 Context -Strategy Strategy ContextInterface() AlgorithmInterface() ConcreteStrategyA ConcreteStrategyB ConcreteStrategyC AlgorithmInterface() AlgorithmInterface() AlgorithmInterface() 图十二 策略模式 AbstractClass TemplateMethod() PrimitiveOperation1() PrimitiveOperation2() ConreteClass PrimitiveOperation1() PrimitiveOperaion2() 图十三 模板模式 Context -state Request() State Handle() ConcreteStateA ConcreteStateB ConcreteStateC Handle() Handle() Handle() 图十四 状态模式
图十五 观察者模式 图十六 备忘录模式
分享到:
收藏