用例图怎么画 34次播放 00:00
用例图是UML中用于描述系统功能与外部参与者交互关系的视图,由参与者(Actor)、用例(Use Case)、系统边界以及它们之间的关系构成。它从用户视角定义系统“做什么”,常用于需求获取、跨角色沟通、以及指导测试与后续设计,是项目早期达成共识的关键工件。用例图不描述内部实现,强调功能与价值交付,适合在敏捷与瀑布等多种开发流程中使用。 绘制步骤 1)确...
绘制步骤
1)确定系统边界:明确研究范围(整系统或某模块),用方框标注系统名称,区分内部功能与外部交互。 2)识别参与者:找出与系统交互的外部实体(人、系统、设备、时间触发器等),注意同一实体在不同场景可能扮演不同角色。 3)定义用例:以“动词+名词”命名,聚焦对用户有价值的功能单元,粒度适中,避免把实现细节当作用例。 4)绘制元素与关系:将参与者置于边界外、用例置于边界内,用关联线连接;按需添加包含、扩展、泛化等关系。 5)细化与验证:为每个用例补充简要描述(主流程/替代流程/前置后置条件),与利益相关者评审,迭代优化。 以上步骤可配合工具快速落地,先保正确,再求美观。
关系与符号规范
关联(Association):参与者与用例之间的交互,用直线表示,必要时可标注角色名。 包含(Include):表示“必须”复用的子流程,箭头从基础用例指向被包含用例(空心三角+虚线)。 扩展(Extend):表示“条件触发”的可选行为,箭头从扩展用例指向基础用例,基础用例需声明扩展点(空心三角+虚线)。 泛化(Generalization):表示“is-a”关系,子用例继承父用例行为与约束,箭头从子指向父(空心三角+实线)。 关系选择提示:公共流程抽取用包含;异常/条件分支用扩展;角色或用例的层级抽象用泛化。避免把数据库、外部系统误画成用例,它们应作为参与者出现。
工具选择与实操示例
常用工具 Microsoft Visio:模板丰富、上手快,适合企业文档化与静态建模。 StarUML:轻量、跨平台,支持多类型UML图。 Visual Paradigm:专业级建模与需求管理,适合中大型项目。 PlantUML:文本化建模、便于版本管理与自动化生成。
实操示例(PlantUML,主题:在线订票) @startumlleft to right directionactor 顾客 as Cactor 管理员 as Aactor "支付平台" as Prectangle "在线订票系统" { usecase "搜索票务" as UC1 usecase "预订票" as UC2 usecase "支付订单" as UC3 usecase "取消订单" as UC4 usecase "查询订单" as UC5 usecase "管理票务" as UC6 usecase "处理退款" as UC7}C --> UC1C --> UC2C --> UC4C --> UC5UC2 --> UC3 : includeUC3 --> P : usesA --> UC6A --> UC7@enduml
常见错误与优化建议
把系统组件当用例:如将“数据库”“消息队列”画成用例,应改为参与者或放到系统边界外。 关系误用:把“偶尔发生”的流程用包含;把“必定发生”的公共步骤用扩展。牢记包含是“必须”,扩展是“可选且条件触发”。 粒度失衡:图面塞满琐碎步骤或过度抽象,导致可读性差。用例图应保持简洁,细节放入用例说明或活动图。 命名不规范:避免技术化命名,采用业务语言,如“提交订单”“生成报表”。 忽视迭代:需求演进后未同步更新图,导致文档与实现脱节。建议将用例图纳入版本管理与评审清单。
