软件建模中UML的九种图

摘要:
UML中对象图与类图具有相同的表示形式。在UML中,对象图的使用相当有限,主要用于表达数据结构的实例,以及了解系统在某个特定时刻的具体情况。在UML中,组件使用左侧有两个小矩形的矩形来表示。包被描述成文件夹,可以用于UML任何一种的图上。包图只是把某些类放在一个包中,因此可以看做是类图的一种。

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

系统用例图(Use Case Diagram)

用例之间的关系:

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

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

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

定义:

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

简要介绍:

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

图例:

前台用户用例图软件建模中UML的九种图第1张

2.静态建模

(1)系统类图(Class Diagram)

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

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

简要介绍:

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

图例:

系统类图软件建模中UML的九种图第2张

(2)对象图(Object Diagram)

定义:

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

简要介绍:

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

3.动态建模

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

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

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

作用:

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

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

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

图例:

付款序列图软件建模中UML的九种图第3张

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

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

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

图例:

用户登录协作图软件建模中UML的九种图第4张

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

定义:

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

图例:

付款方式状态图软件建模中UML的九种图第5张

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

定义:

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

图例:

购物车管理活动图软件建模中UML的九种图第6张

4.物理建模

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

作用:

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

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

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

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

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

定义:

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

简要介绍:

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

图例:

系统组件图软件建模中UML的九种图第7张

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

定义:

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

简要介绍:

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

图例:

系统部署图软件建模中UML的九种图第8张

5.包图(Package Diagram)

定义:

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

简要介绍:

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

作用:

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

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

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

4.组织源代码

免责声明:文章转载自《软件建模中UML的九种图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇String和datetime在SQL中和在C#中相互转换方法总结java 执行JavaScript 以及容器化的问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

第07组(69) 需求分析报告

1.团队基本情况 1.1团队项目整体计划安排 项目分工表 工种 组员 任务 统筹 陈晟新 考察任务进度,负责人员调度,后端研究 美工 李佳乐 UI设计,原型设计,细化用户需求 测试 孙晴晴 测试方案制定,评测测试系统 服务器 吴洁颖 研究服务器方面的需求 网页 陈小楚,何文龙 网页的制作,交互的实现 算法 傅智鑫,王璐 酷转的...

UML 基础: 类图

简介:来自Rational Edge:在 UML 2 中,作为新结构图类型的最重要实例,类图可以在整个软件开发生命周期中,被分析师,业务建模人员,开发者和测试者使用的。本文提供了全面的介绍。 这是关于统一建模语言、即UML 里采用的基本图的一系列文章的一部分。在我 先前关于序列图的文章 里,我把重点从 UML 1.4 版,转移到 OMG的采用UML 2....

什么是UML?

UML是统一建模语言,Unified Modeling Language的缩写 综合了面向对象的建模语言、方法和过程,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持 可以帮助沟通与交流、辅助应用设计、文档的生成、阐释系统的结构和行为 定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结构 包括:用例图(...

httprunner3.x 测试用例teststeps-RunRequest

测试用例另一个重要部分——teststeps 一、测试用例分层模型 一个testcase里(就是一个pytest格式的Python文件)可以有一个或者多个测试步骤,就是teststeps[]列表里的Step。 每一个Step可以类比成pytest框架下的def test_xxx()的用例函数,在Step里通常都会要请求API完成测试,也可以调用其他测试用例...

C语言的面向对象设计 —— 对 X264/FFMPEG 架构探讨

类似题目的文章已经不新鲜了,这里,我仅仅总结自己的一些代码经验,结合两款在视频开发领域比较常用的开源软件探讨C语言的应用问题。 1.为什么要用C语言 曾几何时,我也不熟悉C,最早接触C的是在大学四年级,当时已经学过pascal,过二级也是pascal。接着走上了Delphi的路,多方便的软件,写写画画,程序就出来了,本科的毕业设计就是这样出来的MIS,在当...

xmind的基本使用

使用思维导图后,EXCEL仅作为测试数据准备和计算公式测试准备,实现用例和数据分离 测试前:先使用思维导图整理思路,列出测试点后,跟开发沟通后再在基础上编写测试用例; 测试时:使用图标标记优先级、进度、日期、通过不通过等,直观; 测试后:执行用例后,统计用例数量时,xmind非常方便,支持导出表格文件和图片。 二、思维导图设计用例的注意事项:    ...