流程图
介绍
流程图又可以叫做输入-输出图,主要用来描述一个输入到输出的过程,适合在项目开发中先画好过程中的具体逻辑步骤(一系列动作),怎么一步一步的实现最终结果,然后在进行编程。
符号大全
常用符号
流程图结构
顺序结构
选择结构
循环结构
绘制流程图中的注意事项
-
绘制流程图时,为了提高流程图的逻辑性,应遵循从左到右、从上到下的顺序排列。
-
一个流程从开始符开始,以结束符结束。开始符号只能出现一次,而结束符号可出现多次。若流程足够清晰,可省略开始、结束符号。
-
菱形为判断符号,必须要有“是和否(或Y和N)”两种处理结果,意思是说,菱形判断框一定需要有两条箭头流出;且判断符号的上下端流入流出一般用“是(或Y)”,左右端流入流出用“否(或Y)”。
-
同一流程图内,符号大小需要保持一致,同时连接线不能交叉,连接线不能无故弯曲
-
流程处理关系为并行关系的,需要将流程放在同一高度。
-
必要时应采用标注,以此来清晰地说明流程,标注要用专门的标注符号。
-
处理流程须以单一入口和单一出口绘制
-
同一路径的指示箭头应只有一个
示例
这是一个租车登录系统的流程图
序列图
介绍
时序图亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 适合描述交互行为过程,比如从扫描海报到填写身份信息然后购买产品这一过程建立时序图。
组成元素
-
角色
系统角色,可以是人、机器、其他系统、子系统;在时序图中用人形小图标表示
-
对象
-
生命线 在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间
-
控制焦点
-
消息 消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。
- 消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义;
- 消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
- 返回消息表示从过程调用返回。
-
自关联消息 表示方法的自身调用或者一个对象内的一个方法调用另外一个方法
-
组合片段
- 抉择, 相当于if else.
- 选项,包含一个可能发生或不发生的序列
- 循环: 片段重复一定次数,可以在临界中指示片段重复的条件
- 并行, 并行处理,片段中的事件可以交错
- 抉择, 相当于if else.
示例
这是一个学生在教务系统查询其个人课程成绩的流程图绘制
用例图
介绍
用例图是编写需求说明时经常用到的需求表达方式,用于向开发、测试同事说明需求中用户与系统功能单元之间的关系。
用例图结构
-
参与者
-
用例
用例是系统外部可见的一个功能单元,是某一个参与者在系统中做某件事从开始到结束的一系列活动的集合,以及结束时应该返回的可观测、有意义的结果,其中还包含可能的各种分支情况;具体用例在用例属性中说明。
- 用例都是动宾结构;例如:登录账号
- 用例是相互独立的
- 用例由参与者启动
- 有可观测的执行结果
-
参与者与用例的关系
-
关联关系
- 关系说明:表示参与者与用例之间的关系
- 展示形式:以一条直线相连
- 举例说明:用户登录系统
-
归纳(泛化)关系
- 关系说明:表示参与者与参与者之间、用例与用例之间的关系
- 展示形式:用箭头表示,箭头从子参与者(子用例)指向父参与者(基础用例),一般父参与者(基础用例)相对子参与者(子用例)更为抽象
- 举例说明:VIP会员和普通用户,归纳为用户;账号登录与微信登录,也可归纳为登录系统。
-
包含关系
- 关系说明:表示用例与用例之间的关系
- 展示形式:用带有“包含”的箭头表示,箭头从基础用例指向包含用例
- 举例说明:用户在账号登录过程中,包括输入账号、输入密码、确认登录等操作
-
拓展关系
- 关系说明:表示用例与用例之间的关系;用于拓展用例对基础用例的增强;拓展用例是在特定条件出现时,才会被执行的用例
- 展示形式:用带有“拓展”的箭头表示,由拓展用例指向基础用例
- 举例说明:用户在登录过程中忘记了密码
-
依赖关系
- 关系说明:表示用例与用例之间的关系;一个用例在活动执行过程中,要依赖另一个用例的执行
- 展现形式:以一条直线相连
- 举例说明:用户要登录系统后,才能查看首页信息
- 补充说明:A用例依赖B用例,A用例或使用B用例执行后的返回结果,或使用B用例执行部分功能。依赖关系类似于包含关系,都是在用例执行过程中,调用其它用例来完成部分任务。
-
注释
对于部分有特殊条件支撑的用例,也可以添加注释加以说明,例如VIP用户与普通用户登录系统后,可查看的菜单、数据甚至对系统的操作都是不一样的,此时可以在对应用例上加以注释,以强调此用例的特殊需求。
-
子系统
关系说明:用于强调某部分用例的强关联性,例如门户包含系统登录、首页信息展示等。
\
-
参考资料
工具
- visual paradigim online
- processOn 推荐用 visual paradigim online, 这个绘制更标准,另外用起来也更方便和流畅