第二章UML语言概述

来源:互联网 发布:蓝牙音箱测试软件 编辑:程序博客网 时间:2024/06/06 18:38

第二章UML语言概述
1概述
1.1 UML(Unified Modeling Language),统一建模语言
1.2 UML 由Views,Diagrams,Model elements,general mechanism (即视图,图,模型元素,通用机制)等几个部分构成
     a>views              用来表示被建模系统的各个方面,由多个Diagrams构成,是对系统的抽象表示.
     b>Diagram            由各种graph(图片)构成,用来描述一个view的内容.
     c>Model elements     代表面向对象中的类,对象,消息和关系等概念,是构成图的最基本的常用概念.
     d>general mechanism  用于表示其他信息,如:注释,模型元素的语义等.
2  View (视图)
2.1 描述一个系统涉及到该系统的许多方面,如:功能性方面(静态结构和动态交互),

    非功能性方面(定时需求,可靠性,展开性等)和组织管理方面(工作组,映射代码模块等).
2.2 UML中的视图包括:Use-Case View,Logical View,Component View,Concurrency View,Deployment View,
    2.2.1> Use-Case    view (用例视图):
           a>描述系统应该有的功能集,系统实现的目标就是提供用例视图中描述的功能
           b>包含若干个use-case(用例),use-case表示系统能够提供的功能(系统用法),一个use-case描述一个系统用法
           c>测试系统是否满足用户的需求和验证系统的有效性
    2.2.2> Logical     view (逻辑视图):
           a>提示系统内部的设计和协作状况,它利用系统的静态结构和动态行为来刻画系统功能.
           b>静态结构:描术类,对象和它们之间的关系等,
           c>动态行为:描述对象之间的动态协作
           d>persistence(一致性)和concurrency(并发性)等性质,以及接口和类的内部结构都在Logical View中定义
           e>静态结构在类图和对象图中定义
           f>动态建模用状态图,序列图,协作图,活动图描述.
    2.2.3> Component   View (组件视图):
           a>显示代码组件组织方式,描述了implementation module(实现模块)和它们之间的关系
           b>由组件图构成,
           c>组件:是代码模块
           d>Component View主要供开发者使用
    2.2.4> Concurrency view (并发视图):
           a>显示系统的并发状况(进程,线程及控制)
           b>由动态图(状态图,序列图,协作图,活动图)和执行图(组件图,展开图)构成
    2.2.5> Deployment  view (展开视图):
           a>显示系统的物理架构,即系统的物理展开
    其它(但UML语言中不包含,可能在Case工具包含)
    2.2.6>                   (静态-动态视图):
    2.2.7>                   (逻辑-物理视图):
    2.2.8> Workflow    view  (工作流程)
2.3 图
    由graph(图片)构成,graph是符号化了的模型元素,
    包含:   用例图,类图,对象图,状态图,序列图,协作图,活动图,组件图,展开图等
    2.3.1  用例图( use-case diagram):  用于显示若干角色以及这些角色与系统提供的用例之间的连接关系,
           用例是系统提供的功能的描述,
           用例图仅仅从角色使用系统的角度描述系统中的信息,即站在系统外部察看系统功能.
    2.3.2  类图 (class diagram) :用来表示系统中的类和类之间的关系,是对系统静态结构的描述 
           类与类之间的连接方式:关联(彼此间连接),依赖(一个类使用另一个类),通用化(一个类是另一个类的特殊化)
                                打包(多个类聚合成一个元素)
    2.3.3  对象图:是类图的变体,表示的是类的对象实例,是类图的一个范例,它及时具体地反映了系统执行到某处时,系统的工作状况
    2.3.4  状态图: 是对类所描述事物的补充说明,显示了类的所有对象可能具有的状态,以及引起状态变化的事件.
                   仅用于下列特点的类: 具有若干个确定的状态,类的行为在这些状态下会受到影响且被不同的状态改变.
    2.3.5  序列图:用来反映若干个对象之间的动态协作关系,即随着时间的流逝,对象之间是如何交互的.
                  由若干个对象组成,每个对象用一个垂直的虚线表示(线上方是对象名),每个对象的正下方有一个矩形条,
                  它与垂直的虚线相叠,矩形条表示该对象随时间流逝的过程(从上至下),对象之间传递的消息用消息箭头表示,
         
    2.3.6  协作图:与序列图相似,协作图除了显示消息变化外,还显示了对象和它们之间的关系(称上下文有关),
                  如果强调时间和序列,用序列图.若需要强调上下文相关,选择协作图.
    2.3.7  活动图(activity diagram):反映一个连续的活动流,常用于描述某个操作执行时的活动状况.
    2.3.8  组件图:反映代码的物理结构,
    2.3.9  展开图:显示系统中软件和硬件的物理架构,
2.4  模型元素
     可以图中使用的概念统称为模型元素,模型元素之间的连接关系也是模型元素,如图:


     常见有关联(association),通用化,依赖,聚合
     聚合是关联的特殊形式.如图:


2.5  通用机制:利用通用机制为图附加一些信息,这些信息通常无法用基本模型元素表示,常用的有:修饰,笔记和规格说明
2.6  扩展机制:
     2.6.1:版类:指在己有的模型元素基础上建立一种新的模型元素,与现有的元素差不多,只不过比现有的多一些特别的语义罢了如图:


     2.6.2:加标签值:元素有很多性质,性质用名字和值一对信息表示,性质也称为加标签值.如图:


     2.6.3:约束:是对元素的限制,例如,年龄大于60岁才是老年人,如图:


2.7用UML建模:
   如图:
   建模的过程一般分为以下几个连续的重复迭代阶段:需求分析阶段,设计阶段,实现阶段,展开阶段.