怎么用相应的图来描述系统

工做中咱们常常会有向别人描述项目内容,解释某一个功能的运做过程等状况。除了文字描述外,配合图的方式来讲明,增长了问题的具象化能力,方便沟通和对方理解。我刚开始一直想用一种图来表述全部内容,可是实际上没有一种图能够作到,即便能够作到,那么会使得这种图变得复杂,也不符合人类的接受能力。用对应的图说明对应的问题就行了。介绍几种我本身常常用到的图微信

1.用例图

  • 应用场景:用于描述系统的参与者与功能用例间的关系,反映系统的整体运行状况和交互设计。
  • 构造过程:首先对系统功能进行建模,而后就每个功能所涉及到的系统角色,再肯定角色的行为,也就是角色和功能之间的联系,其中也包括一些角色的属性,可是用例图对属性表达不明显。 整体来讲,用例描述了角色在系统中承担的职责,和系统中重要的功能,以及角色和功能的联系。

举例说明:并发


2.流程图

什么是流程图Flow Chart):顾名思义,就是用来直观地描述一个工做流程的具体步骤图,它一般用一些图框来表示各类类型的操做,在框内写出各个步骤或判断条件,而后用带箭头的线把它们链接起来,以表示执行的前后顺序,用图形表示执行步骤,十分直观形象,易于理解。下左图为visio软件中的标准流程图组件,右图为流程图实例。app

​     ​                           

3.时序图

表示类,组件,子系统或者参与者之间的消息序列,他实际上很详细直接并严谨的描述了一个功能或流程的按照时间走向执行顺序,横轴是角色或者组件等,纵轴是时间轴。其中的每条消息对应一个类操做或状态机中引发转换的触发事件。异步

visio中的时序图描述:spa

 

时序图中通常还有这些项:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)。设计

  • 角色(Actor)

        系统角色,以一个小人图标表示,能够是人或者其余系统,子系统。3d

  • 对象(Object)

        对象位于时序图的顶部,以一个矩形块表示对象

  • 生命线(LifeLine)

        时序图中每一个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。blog

  • 控制焦点(Activation)

        控制焦点表明时序图中在对象时间线上某段时期执行的操做。以一个很窄的矩形表示。事件

  • 消息(Message)

        表现表明对象之间发送的信息。消息分为三种类型。
    同步消息(Synchronous Message):消息的发送者把控制传递给消息的接收者,而后中止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线+实心箭头表示。
    异步消息(Asynchronous Message):消息发送者经过消息把信号传递给消息的接收者,而后继续本身的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工做的。以一条实线+大于号表示。
    返回消息(Return Message):返回消息表示从过程调用返回。以小于号+虚线表示。
    自关联消息:表示方法的自身调用或者一个对象内的一个方法调用另一个方法。以一个半闭合的长方形+下方实心剪头表示。
组合片断

下图为微信交易的时序图,请注意蓝色块备注


4.组件图/类图

为了不本文过程,组件图和类图咱们就不详细的介绍,由于这两个想要弄懂,都须要且值得单独列一篇文章来介绍。咱们介绍他的用途场景和示例来讲明一下。

  • 组件图:描述的是在软件系统中组件与组件之间关系的一种UML图,提现的是一种实现结构,也有叫构件图。


 

  • 类图:是软件系统中经常使用的,描述类与类之间关系的图,用泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)这些关系,来把系统中的类之间关系描述出来。由于一个软件系统中每每一个类有不少关联类和派生类,若是只靠语言是很难描述其立体关系的。


5.思惟导图

把这个放在最后,是由于它并非和技术相关的图,其实思惟导图和大纲列表所干的事情是差很少的(通常来讲能够互相转换),不少人也都接触过,应用起来也相对简单,我也不放图了。

思惟导图:经常使用来整理本身的思路,方便本身进行系统的记忆。它具备强烈的层级关系,从一点而发散开,有助于人的思惟锻炼和规划。

相关文章
相关标签/搜索