前言
正如任何生物一样,软件也有孕育,诞生,成长,成熟以及衰亡的生命过程,常称为“软件生命周期”。软件生命周期一般分为几个阶段:既制定计划、需求分析、设计、编码、测试、运行和维护。而UML则支持从需求分析到设计再到编码的过程。
需求分析和设计占了整个软件生命周期的两个部分,可见其重要性,而很多时候,开发同学常常会跳过这两步,直接进入编码阶段。本文主要使用PlantUML开源项目,结合一些实际项目中的需求进行分析和设计。
PlantUML是一种简单易懂的UML图形绘制语言,几行代码就可以绘制出各种UML图。在熟练之后,可以比一般的绘图工具高效许多。更重要的一点是便于版本管理,在不断迭代的功能需求中,可以持续维护。
需求分析-前奏
前奏,是一个首歌的基调,一定程度上决定了整首歌的风格变化。需求分析是整个软件设计的基础。
有很多开发同学会有疑问:需求分析是产品经理要干的事情啊?关我们开发什么事情?其实不然,需求分析对于开发来说,首要也是重要的目的,就是准确并且简洁的回答“谁用什么系统做什么事”。我们通常可以使用「用例图」来搞清楚这一问题。
用例图
例如在「晒单有礼」这个项目中,有如下用例图:

- “客户端用户使用晒单有礼系统匹配晒单策略”
- “运营人员使用该系统设置晒单策略”
PlantUML代码
@startuml
left to right direction
actor 运营人员 as D
actor 客户端用户 as user
rectangle 晒单有礼(精简版) {
D --> (晒单策略):设置
user --> (晒单)
(晒单) --> (晒单策略):匹配
}
@enduml
解析
1、@staruml 和 @enduml plantuml预发的起始和结束标识
2、left to right direction //标识图形由左向右绘制
3、actor 用户(小人图形)
4、rectangle 矩形框,内部代码图形都在这个框内
5、 --> 实线箭头
上图简单的表达了,“客户端用户使用晒单有礼系统匹配晒单策略”和“运营人员使用该系统设置晒单策略”,已经能能大概回答“谁用什么系统做什么事”了。但是还不够精细,我们还可以做如下扩展:

上图将“晒单”和“晒单策略”进行了补充和解释。
- “晒单”入口来源于订单列表
- “晒单策略”分为“设置”和“匹配”两个动作
- “晒单”包括“发动态”和“匹配晒单策略”
- “设置晒单策略”包括“设置激励类型”和“设置画像”
PlantUML代码
@startuml
left to right direction
actor 运营人员 as D
actor 客户端用户 as user
rectangle 晒单有礼(扩展版) {

本文介绍了软件生命周期中的需求分析和设计阶段,强调了用例图在理解系统功能中的重要性。通过PlantUML工具,展示了如何绘制用例图、活动图、状态图和时序图,以清晰地描述系统流程。同时,文章通过实例阐述了如何在详细设计中使用这些图表,为后续编码工作打下坚实基础。
最低0.47元/天 解锁文章
732





