软件开发中会用到的几张图流程图类图uml时序

“Python猫”,一个值得加星标的公众号

剧照|《NormalPeople》

一、背景

二、图为了解决什么问题

三、不同流程中适合运用的图

1.用例图

用例图是UML交互图中的一种,是指由参与者(Actor)、用例(UseCase),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(UserCase)是外部用户(被称为参与者,一般为软件的面向用户)所能观察到的系统功能的模型图。

适用场景:当新做一个产品或者功能的时候,首先需要明确核心方向,用例图就是整理这个核心方向的工具。它用来说明的是谁要使用系统,以及他们使用该系统可以做些什么。可以理解为是MVP思想的写照,去除画龙点睛的功能,这些就是基础、核心。

缺点:仅仅描述的是提供什么功能,不能表达非功能需求,如可靠性、性能等非功能需求。

2.鲁棒图(RobustnessDiagram)

可能英文名RobustnessDiagram更为常见一些,用于衔接用例图之后的设计,识别出系统在用例图中的各种职责,对后续的细节设计提供基础。算是对用例图的一种延伸。

适用场景:在确立用户场景之后,如果需要将关键功能设计出来,那么就需要它了。作图过程中最关键的2个点,发现职责,和梳理各个职责之间的关系。

缺点:和用例图是一样缺点,唯一的变化是,其有了粗粒度的实现层面的内容。

3.思维导图

思维导图是一个很厉害的发明,他将我们的思考过程具象化了,完美展示了由点到面不断发散的过程。但是它最大的价值,反而不是最终呈现出来的这个图,而是促进了思考的过程。并且需要注意的是,一定要把一条分支走到尽头,再回过头来走其它的分支,把思想榨干。

适用场景:在一个事情刚开始的萌芽期,不知如何下手;或者陷入一个困境的时候。利用思维导图来活跃大脑,进行发散思维。这时候如果结合头脑风暴,效果更佳。

缺点:它是一种树状的信息分层可视化展视,结构比较固定,不适合分支间互相交互比较复杂的信息展示。

4.DFD(DataFlowDiagram)图

DFD图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

适用场景:在将思维导图得出的东西进行整合、梳理形成一个粗粒度的流程。这个其实类似与DDD中的上下文映射图,是在需求分析过程中做宏观设计的一种方式。

缺点:反映系统“做什么”,不反映“如何做”,粒度算是中等,需要其它更细粒度的图来对细节做支撑。

5.流程图

上面贴了2张图都是流程图,流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤,各种操作一目了然,不会产生“歧义性”,便于理解,算法出错时容易发现。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。大到系统级别、小到某个操作背后的运转逻辑都可以使用流程图来画,我个人认为这应该是被最多人认识的图,没有之一。

适用场景:正如上面所说这个适用场景比较广,日常工作中小到算法逻辑,大到战略层面的执行落地都需要它。主要用它来将背后的流程可视化,辅助做决策去(如改进等)。

缺点:所占篇幅较大,由于允许使用流程线,过于灵活,不受约束,使用者可使流程任意转向,从而造成程序阅读和修改上的困难,不利于结构化程序的设计。

6.UML类图

适用场景:一般作为编码前做的最后一步,将设计转为相应的模型。也可以使用CodeFirst的方式直接在项目中建模,现在的VS也支持直接从代码中生成UML类图。

7.状态图

适用场景:当有一个对象拥有多个状态的时候,想要表达清楚状态之间的演变关系(也就是这个对象的生命周期)。比如通过什么条件触发状态变动的,到达某个状态之后会做什么动作等。这也是基于事件驱动设计的良好可视化图。

缺点:仅能表达行为/事件与状态之间的演变关系,不适用于其它领域。

8.E-R图

E-R图提供了表示实体型(Entity)、属性(Attribute)和联系(Relationship)的方法。其中最核心的还属联系(Relationship)的表示。

缺点:相对类图来说,E-R图无法定义类/实体的行为。它更面向数据库而不是代码。

9.UML时序图

四、实际的运用

其实上一节中图的顺序就是按照由层次从高到底,粒度从粗到细规划的。我们可以用用例图来确定用户核心需求,再用RobustnessDiagram定义好关键功能,随后在关键功能的实现上通过思维导图进行发散,然后用DFD图把粗粒度的内容串起来,至此大体的设计工作算是完成了。

然后再通过流程图、UML类图、状态图、E-R图、时序图在不同的场景确定细节实现。最终就是Coding的事情了。

至于每个图绘画的规范网上资料比较多,这里就不赘述了。如果大家有什么疑问继续交流。

THE END
1.数据库用例图数据库用例图的内容摘要:https://m.360docs.net/doc/0f19380489.html
2.学生信息管理系统ER图,数据流图用例图以及用例说明(部分)软件...使用rose软件建模,包括用例图 ,时序图,协作图,类图,活动图等等 上传者:weixin_57433608时间:2021-05-06 企业财务管理系统---软件工程课程设计--数据库课程设计 企业财务管理系统软件,适合计算相关专业的软件工程课程设计,数据库课程设计,含需求分析、概要设计、详细设计、测试文档、代码,很值所以分高! https://www.iteye.com/resource/m0_45272112-13585493
3.基于UML的超市进货管理系统设计根据对用例的分析,做出用例图如上,管理员主要利用本系统,实现对进货信息和对柜存信息的管理。系统采用VB环境开发,实现C/S结构,管理员对各个信息的修改都直接写入数据库,把前台界面和数据库分开存放,提高了程序的可扩展性。 2.2类图 分析系统,本系统主要包含数据库类和操作类。 https://www.jianshu.com/p/a3408047177e
4.**使用RationalRose绘制用例图类图状态图顺序图**(5)添加用例。单击工具栏中的用例图符,然后在用例图中的合适位置单击鼠标右键,得到一个用例图符,然后对该用例进行编辑,添加它的名称。 (6)添加操作员与各用例之间的关系。单击工具栏中的单向连接线图标,然后在编辑区中从操作者到相关用例画一条线即可。 https://blog.nowcoder.net/n/956ebcebd1f3431196d0c3b1f72cb778
1.mysql画类图mob64ca12df277e的技术博客记住,类图可以在项目的不同阶段进行修改和调整,因此基于你实际的数据库设计,生成的类图也需要随之更新。在软件开发过程中,良好的数据库设计与清晰的类图能够帮助团队更高效地交流与协作。 最后,让我们来看看一个小的饼状图,展示用户订单类型的分布情况(假设只有两个订单类型): 60%40%用户订单类型分布电子产品...https://blog.51cto.com/u_16213359/12485357
2.UML各种图总结精华数据库uml图用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。 各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 ...https://blog.csdn.net/qq_41694906/article/details/100738238
3.浅谈UML学习笔记之用例图腾讯云开发者社区最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下。 一、概念 用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。 https://cloud.tencent.com/developer/article/1781896
4.数据库中用例图怎么画火山引擎是字节跳动旗下的云服务平台,将字节跳动快速发展过程中积累的增长方法、技术能力和应用工具开放给外部企业,提供云基础、视频与内容分发、数智平台VeDI、人工智能、开发与运维等服务,帮助企业在数字化升级中实现持续增长。本页核心内容:数据库中用例图怎么画https://www.volcengine.com/theme/884235-S-7-1
5.{人力资源管理}人事管理系统用例图类图活动图UML 给出了一种描述系统蓝图的标准方法,其中即包括概念性的事物,如 业务过程和系统功能,也包括了具体的事物,如用特定的编程语言编写的类、数据库模式和 可复用的软件结构。 UML 图根据描述的功能不同可分为很多中类型,如系统类构造图是描述系统中类的构造 和属性的图,用例图是描述系统中用例基本信息的图,交互...https://doc.mbalib.com/view/1a39eb08eb0b28e68cb3bade37f12b41.html
6.UML——用例图(UseCaseDiagram)用例图是指由参与者(Actor)、用例(UseCase),以及它们之间的关系构成的用于描述系统功能的视图。用例图(UserCase)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例...。如下图所示:2.用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。用例在画图...https://www.pianshen.com/article/4588923153/
7.干货!14种uml图类型及示例简而言之,类图包含类及其属性(也称为数据字段)和它们的行为(也称为成员函数)。更具体地说,每个类都有 3 个字段:顶部的类名,名称正下方的类属性,底部的类操作/行为。不同类之间的关系(用连线表示),构成了类图。 (9)对象图 数据库UML对象图描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物。其...https://boardmix.cn/article/uml-diagram-styles/