zoukankan      html  css  js  c++  java
  • 软件建模中UML的九种图

    1.用例建模中UML的九种图

    系统用例图(Use Case Diagram)

    用例之间的关系:

    扩展:是把新的行为插入到已有用例中的方法。

    泛化:是指父用例的行为被子用例继承或覆盖,往往父用例表示抽象用例。

    包含:其中一个用例(基本用例)的行为包含了另一个用例(包含用例)的行为,一个用例的执行需要依赖另一个用例的实现。

    定义:

    用例图是由参与者、用例,边界以及他们之间的关系构成的用于描述系统功能的视图。是软件需求分析到最种实现的第一步,它是从客户角度来描述系统功能。

    简要介绍:

    用例图主要用于为系统的功能需求建模,它主要描述系统功能,也就是从外部用户的角度观察,系统应该完成哪些功能,有利于开发人员以一种可视化的方式理解系统的功能需求。同时也是为了方便用户和系统分析人员的理解尽量一致,为用户和系统分析人员提供一个大众的,一致性的方法,准确地把握系统的需求,能够节省时间,提高效率!用例方法是完全从外部来定义系统功能,它把需求和设计完全的分离开来。我们不用关心系统内部是如何完成各种功能的,系统对于我们来说就是一个黑箱子。用例图清楚地描述了使用者及它们之间的泛化关系,用例及用例之间的泛化、扩展关系,用例和参与者之间的关联关系,可从用例图中得到对于被定义系统的一个总体印象。

    图例:

    前台用户用例图

    2.静态建模

    (1)系统类图(Class Diagram)

    主要的类间关系有包含、泛化、依赖、实现。
    定义:

    是由若干类关联在一起,反映系统或者子系统组成结构的静态图

    简要介绍:

    类图显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及他们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。

    图例:

    系统类图

    (2)对象图(Object Diagram)

    定义:

    描述一个系统在某个具体时刻的静态结构,对象图是类图的实例,用于显示系统执行时的一个可能的快照。即在某一个时间系统上可能出现的样子,对象图用带有下滑线的对象名称表示对象。

    简要介绍:

    对象图表示一组对象及他们之间的联系,它是系统的详细状态在某一时刻的快照,常用于表示复杂类图的一个实例。UML中对象图与类图具有相同的表示形式。在UML中,对象图的使用相当有限,主要用于表达数据结构的实例,以及了解系统在某个特定时刻的具体情况。

    3.动态建模

    (1)系统时序图(Sequence Diagram)

    组成元素是由对象、生命线、消息和激活等构成,主要用来描述用例的实现。
    定义:

    时序图用于描述对象之间的传递信息的时间顺序。即用例中的行为顺序。当执行一个用例时,时序图中的每一条消息对应了一个类中操作或者引起转换的触发事件。时序图是一个而微大关系图。纵轴表示时间时间轴向下延伸。横轴代表协作中的各个独立对象。对象存在时。消息用从一个对象的生命线到另个对象的生命线的箭头表示。箭头以时间的顺序在图中上下排列。

    作用:

    1.确认和丰富一个使用语境的逻辑表达。一个系统的使用情境就是系统潜在的使用方式的描述,他的名称所要描述的,一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。

    2.细化用例的表达。把用例表达的需求转化为进一步、更加正式层次的精细表达。用例常常细化为一个或更多的序列图。

    3.有效的描述如何分配各个类的职责以及各类具有相应职责的原因。我们可以依据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成一个特定的用例。

    图例:

    付款序列图

    (2)系统协作图(Collaboration Diagram)

    组成元素是由对象、链和信息等构成。
    定义:

    也叫做合作图,是一种交互图。时序图主要侧重于对象之间的消息传递在时间上的先后关系。而协作图表达对象之间的交互过程及对象之间的关联关系。

    图例:

    用户登录协作图

    (3)系统状态图(Statechart Diagram)

    定义:

    状态图包括状态、转换、初始状态、终止状态。

    图例:

    付款方式状态图

    (4)系统活动图(Activity Diagram)

    定义:

    活动图本质上就是流程图。它用于描述系统的活动,判定点和分支等。活动中的动作状态,原子的、不可已中断的动作。并在此动作完成后向另一个动作转变。分支与合并。

    图例:

    购物车管理活动图

    4.物理建模

    (1)系统组件图(Component Diagram)

    作用:

    1.对源代码进行建模。将系统分为几个模块或者子系统,进行处理。

    2.对可执行文件之间相互关系进行建模,清晰地描述可执行文件之间的依赖关系。

    3.构件图为架构设计师提供了一个系统解决方案模型的自然形式。

    4.构件图能呈现整个系统的早期设计,成为方便不同开发小组的有用交流工具。

    5.系统管理员通过构建图能获得系统上的逻辑构建的早期视图,能较早的提供关于组件及其关系的信息。

    定义:

    组件图用来建立系统中各种组件之间的关系。各个组件通过功能组织在一起。在UML中,组件使用左侧有两个小矩形的矩形来表示。组件图用来设计系统的整个架构。

    简要介绍:

    构件图是从软件架构的角度来描述一个系统的主要功能,如子系统、类、包、构件等。使用构件最重要的是复用。构件是系统中遵从同一组接口且提供其实现的物理的、可替换的部分。构件图提供系统物理视图,在一个非常高的层次上显示系统中的构件与构件之间的依赖关系。

    图例:

    系统组件图

    (2)系统部署图(Deployment Diagram)

    定义:

    部署图是用来帮助开发者了解软件中各种组件驻留在什么硬件位置,以及这些硬件之间的相互关系。

    简要介绍:

    系统开发人员和部署人员可以利用部署图去了解系统的物理运行情况。如果,开发的软件系统只需在一台计算机上运行,且使用的标准设备,则不需要为它画出系统部署图。部署图只需要给那些复杂的物理运行情况进行建模。部署图显示了系统的硬件,安装在硬件上的软件,用于连接硬件的各种协议和中间件等。部署模型的目的:描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。

    图例:

    系统部署图

    5.包图(Package Diagram)

    定义:

    包图是在 UML 中用类似于文件夹的符号表示的模型元素的组合

    简要介绍:

    包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。包图的作用:包图可以描述需求,设计的高阶概况;包图通过合理规划自身功能反应系统的高层架构,在逻辑上将系统进行模块化分解;包图最终是组织源码的方式。一个包图可以由任何一种UML图组成,通常是UML用例图或是UML类图。包被描述成文件夹,可以用于UML任何一种的图上。包图只是把某些类放在一个包中,因此可以看做是类图的一种。

    作用:

    1.描述系统的需求高阶概述

    2.描述系统的设计的高阶概述

    3.在逻辑上吧一个复杂的图模块化

    4.组织源代码

  • 相关阅读:
    设计模式:Prototype 原型模式
    [C++STDlib基础]关于单字符的操作——C++标准库头文件<cctype>
    Android开发之简单的电子相册实现
    autotools入门笔记(二)——创建和使用静态库、动态库
    Dreamer 框架 比Struts2 更加灵活
    Redis集群明细文档
    【Servlet3.0新特性】第03节_文件上传
    POJ 3264 Balanced Lineup
    利用jquery对ajax操作,详解原理(附代码)
    C语言实现修改文本文件中的特定行
  • 原文地址:https://www.cnblogs.com/Hiramunderneath/p/14829308.html
Copyright © 2011-2022 走看看