软考中的UML图、数据流图等二十余种示例

简介: 软考中的UML图、数据流图等二十余种示例

结构化分析方法

数据流图

数据流图是SA方法中用于表示逻辑系统模型的一种工具,它从数据传递和加工的角度,以图形的方式来刻画数据流从输入到输出的变换过程。一,→:数据流。是由一组固定成分的数据组成,箭头的方向表示数据的流向,箭头的始点和终点分别代表数据流的源和目标。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有合适的名字,以反映数据流的含义。

二,□:外部实体。代表系统之外的实体,可以是人、物或其它系统软件,他指出数据所需要的发源地或系统所产生的数据归属地。

三,○:对数据进行加工处理。加工是对数据进行处理的单元,它接受一定的数据输入,对其进行处理,并产生输出。

四,=:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。

控制流图


E-R实体关系图

E-R图包含实体、关系和属性等3种成分。这三个成分来理解现实问题,接近人们的思维方式。

判定树

判定树和判定表没有本质的区别,可以用判定表表示的加工逻辑都可以用判定树来表示。

问题分析方法

因果鱼骨图

因果鱼骨图是一种有效的探寻问题根源的技术,它通过直观的图形找出问题或现象的所有潜在原因,从而追踪出问题的根源。它能够帮助人们将问题的原因而放在首位,提供了一种运用集体智慧解决问题的方法


帕累托图

采用直方图的形式,根据问题的相对频率或大小从高往低降序排列,帮助设计师将精力集中在重要的问题上。它为 80%的问题找到关键的 20%的原因,它可以一目了然地显示出各个问题的相对重要程度,有助于预防在解决了一些问题后,却使另外一些问题变得更糟的现象发生。

直方图

UML统一建模语言

类图

类图展现了一组对象、接口、协作和它们之间的关系。类图给出系统的静态设计视图。类之间的关系有依赖、泛化和关联与实现关系。

对象图

对象图展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照。

用例图

用例图展现了一组用例、参与者以及它们之前的关系。用例图是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图,用于需求分析阶段。

序列图

序列图是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。强调的是信息时间顺序的交互图。它有两个不同于通信图的特征,对象生命线和控制焦点。

通信图

通信图强调收发信息的对象的结构组织,在早期版本中也被称为协作图,强调参加交互的对象的组织。

或者

交互概览图

交互概览图是 UML2.0 新增的交互图之一,是活动图和顺序图的混合物。

定时图

暂时不知道怎么画,欢迎小伙伴们补充

状态图

状态图用来描述一个特定的对象所有可能的状态,以及由于各种事件的发生而引起的状态之间的转移和变化。状态图主要描述行为的结果用于对系统的动态方面建模。

活动图

活动图将进程或其他计算的结构展示为计算内部一步步的控制流和数据流,主要用来描述系统的动态视图。活动图主要描述行为的动作,用于对系统的动态方面建模。

构件图

构件图展现了一组构件之间的组织和依赖,专注于系统静态实现视图。


组合结构图

组合结构图描述结构化类(例如,构件或类) 的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。

部署图


或者

包图

包图包被描述成文件夹,可以用于UML任何一种的图上。它是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。

4+1视图模型

该模型从 5 个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件架构。



逻辑视图

主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,逻辑视图设计中要注意的主要问题是要保持一个单一的、内聚的对象模型贯穿整个系统。

开发视图

也称为模块视图,主要侧重于软件模块的组织和管理。软件可通过程序库或子系统进行组织,这样,对于一个软件系统,就可以由不同的人进行开发。开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。可以在确定了软件包含的所有元素之后描述完整的开发角度,也可以在确定每个元素之前,列出开发视图原则。


进程视图

侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的主要抽象的进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。

物理视图

主要考虑如何把软件映射到使件上,它通常要考虑到解决系统拓扑结构、系统安装、通信等问题。当软件运行于不同的节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小。


这些图片只是让临时抱佛脚的大家混个眼熟。具体画法还是需要参考其他详细教程。

目录
相关文章
|
3月前
|
程序员 uml
UML图 | 时序图(顺序、序列图)绘制
UML图 | 时序图(顺序、序列图)绘制
114 0
|
4月前
|
测试技术 uml
UML—浅谈常用九种图
UML—浅谈常用九种图
51 0
|
6月前
|
设计模式 数据可视化 程序员
设计模式概述、UML图、软件设计原则
设计模式概述 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ra
41 0
|
8月前
|
uml Python
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
306 0
|
8月前
|
数据可视化 测试技术 uml
UML概述及UML图详解
UML概述及UML图详解
197 0
UML概述及UML图详解
|
9月前
|
测试技术 数据库 uml
UML之旅—九种图
开始我按照自己的思考,将所有的用户、所有的用例都画在了一起,真心的很大、很乱,再加上刚开始画图就有一种抵触的冲动了,就让旁边的师傅给我说了说,她建议我将这些分开
|
9月前
|
开发框架 Java 测试技术
UML总结 九种图 UML 实例
UML总结 九种图 UML 实例
|
9月前
|
uml
UML 交互图(序列图 协同图)
UML 交互图(序列图 协同图)
49 0
|
6月前
|
uml
IDEA使用插件绘制UML类图+PlantUML语法讲解
IDEA使用插件绘制UML类图+PlantUML语法讲解
211 0
|
3月前
|
设计模式 数据可视化 程序员
软件设计模式:UML类图
软件设计模式:UML类图