设计阶段如何画用例图(Use-Case Diagram)

简介:

一、概述

用例试图描概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。

 

    会员具有浏览商品类别、根据关键字产讯商品和选择商品加入购物车的功能。

二、术语解释

1Extends 用例扩展关系

扩展关系一般用来描述一个元素延伸为另外一种行为。Use Case中的扩展表示一个UC有可能扩展到另外一个UC的功能。Use Case中的扩展通常暗示一个选择性流程。

 

2Include 用例包含关系

包行关系表示源元素包行目标元素的行为,UC中的包含关系就是一个UC中包行另外一个UC的行为功能。用包行关系可以防止在多个UC中同时定义共同的功能模块,有些像委托delegation

 

3、角色(Actor

系统中的用户根据系统分为多个角色,每个角色都会与系统有交互。一个用户可以具有一个或者多个角色。

系统中用到的角色如果细分,可以分为主要角色和辅助角色

比如:在电子商务网站中主要角色有供应商、前台会员、系统管理员等等;辅助角色有Email Sender、物流系统、金流系统等等。

三、如何画Use Case 用例视图

       Note: 设计工具是EAEnterprise Architect 7.0

       假设目前的功能需求是:

A、供应商需要填写Form表单提报商品

B、供应商通过导入CSV文档提报商品

C、商品开发人员需要对供应商提报的是商品进行审核

       1、新建工程

              File->New Project->填写工程名称:Example.eap

          

  2、新建Use Case View 用例视图

              右击上面新建的Project->选择【New View->弹出对话框,选择【Use Cse】如下图

  

 

单击【OK】,在Model工程下,这样就新建了一个Package

右击Package【商品提报上架】->选择【Add->选择【Add Diagram】,如下图所示

 

弹出如下对话框:选择【UML Behavioral】->Use Case,单击【OK】

 

这样,一个空的Use Case新建完成。接下来我们需要向空的Use Case添加内容。

3、根据业务需求画Use Case视图

Note从左侧的ToolBox工具栏中 选择一些Use Case的元素,直接拖曳左边的Element,到右边的工作区,就可以把Element放到咱们的Use Case试图中。

A、拖曳两个Actor 元素到工作区,分别命名为“供应商”“商品开发人员”

B、拖曳三个Use Case元素到工作区,分别命名为“商品提报”“CSV档导入商品” “商品审核”

如下图所示:

 

C、通过关联关系 链接角色与系统功能,如下图:

 

      

至此,商品提报场景的Use Case图已经画完。一个Use Case视图会对应一个或者多个Use Case用例。

关于什么是Use Case 请参照需求阶段如何书写Use Case

 

四、Use Case 在实际项目中的组织结构

 

这是一个使用UC描述的系统需求功能目录图,每一个UC描述了Actor使用使系统时,与系统的交互行为。

五、总结

用例试图描概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。是客户和开发人员全貌理解项目需求功能比较好的一个方式,也是后续功能迭代的依据和方向。










本文转自 灵动生活 51CTO博客,原文链接:http://blog.51cto.com/smartlife/283028,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
存储 人工智能 缓存
超越单智能体!原生多Agent系统开发指南(附完整源码)
本文深入探讨多智能体系统的核心原理与工程实践,解析其模块化、错误隔离与解释性优势,并通过实战示例展示如何构建多智能体新闻生成器,助力AI协作应用开发。
1034 0
|
10月前
|
监控 Java API
【潜意识Java】使用SpringBoot构建高效的RESTfulAPI
本文介绍了使用Spring Boot构建RESTful API的完整流程,涵盖从项目创建到API测试的各个步骤。
457 1
|
机器学习/深度学习 Web App开发 测试技术
『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!
该文章介绍了八种常用的黑盒测试方法,包括等价类划分、边界值分析、错误推测法、因果图法、决策表测试、状态转换法、场景法以及随机测试,并提供了相应的案例说明。
|
前端开发 JavaScript API
基于Vue3+Hooks实现4位随机数和60秒倒计时
本文介绍了如何在Vue3中使用Hooks API来实现生成4位随机数和执行60秒倒计时的功能,并提供了详细的代码示例和运行效果展示。
362 1
基于Vue3+Hooks实现4位随机数和60秒倒计时
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和字典案例分析
该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。
『软件工程10』结构化系统分析:数据流图和字典案例分析
|
缓存 Java 数据库
Spring Boot中使用监听器
系统的介绍了监听器原理,以及在 Spring Boot 中如何使用监听器,列举了监听器的三个常用的案例,有很好的实战意义。最后讲解了项目中如何自定义事件和监听器,并结合微服务中常见的场景,给出具体的代码模型,均能运用到实际项目中去,希望读者认真消化。
|
敏捷开发 Java 测试技术
「架构」模型驱动架构设计方法及其运用
本文探讨了MDA在软件开发中的应用,从需求分析到测试,使用UML建模功能需求,通过PIM设计架构,自动生成代码以减少错误。MDA提升了可维护性、可扩展性和可移植性,通过工具如Enterprise Architect和Eclipse MDT支持自动化转换。虽然有挑战,如模型创建和平台转换,但结合敏捷方法和适当工具能有效解决,从而提高开发效率和软件质量。
1357 0
「架构」模型驱动架构设计方法及其运用
|
运维 安全 网络协议
盘点一款强大的网络工具集:Netwox
盘点一款强大的网络工具集:Netwox
285 0
|
设计模式 监控 架构师
如何在项目中考虑非功能需求
软件非功能需求包括性能、可靠性、安全性、易用性、可维护性、可移植性、兼容性、可重用性、可扩展性和可观察性。质量属性分为开发期和运行期,如易理解性、可扩展性、可测试性等是开发期质量,性能、安全性、易用性等是运行期质量。评估方法有ATAM(架构评估技术)、ADMEMS矩阵方法、SAAM(软件架构分析法)和CBAM(成本效益分析法)。ATAM包括建立评估小组、获取架构信息、风险承担者观点和形成最终报告四个阶段。
636 0
|
算法 Linux 编译器
【C++ 泛型编程 进阶篇】 C++ 模版元编程 类型转换 std::decay 全面教程
【C++ 泛型编程 进阶篇】 C++ 模版元编程 类型转换 std::decay 全面教程
600 0