首页 > 其他分享 >活动图一般都是high-level,很少用来描述用例模板中的流,对吧?-这次回答的还比较靠谱

活动图一般都是high-level,很少用来描述用例模板中的流,对吧?-这次回答的还比较靠谱

时间:2025-01-09 16:59:42浏览次数:3  
标签:逻辑 level 流程 high 用例 活动 模板 描述

是的,从实践经验来看,**活动图通常用于高层次的流程建模**,更多关注的是某个用例的行为或业务逻辑整体,而不是详细到专门描述用例模板中的所有基本流(Basic Flow)或可选流(Alternative Flow)。换句话说,活动图一般从更广阔的视角来描述用例的执行逻辑,而不是直接一一映射用例模板的流。

然而也要注意到,在特定情况下(特别是复杂的用例或流程),活动图可以用来反映用例中的关键流(包括基本流和可选流),但这需要明确建模范围。以下是一些论述和细化:

---

### 1. **活动图的适用范围**
活动图是UML中的行为图之一,特别擅长用于描述流程或逻辑。其典型的应用场景包括:
- **描述用例的总体流程**:比如业务系统中涉及多个参与者之间的交互和工作分配。
- **描述系统工作的动态逻辑**:例如某个用例的主功能运行过程和主要分支。
- **展示并行、分支及循环逻辑**:便于描述复杂的行为流程或条件判断。
- **为开发者提供设计指引**:更详细地展示某个核心流程的执行步骤。

因此,活动图更多用于**逻辑流层次较高的大粒度建模**,而不是逐字逐句或直接完全对标用例模板中的流。

---

### 2. **活动图与用例模板的关系**
用例模板(Use Case Template)本身是对系统功能细节的一种结构化描述,包括几个关键部分:
- **基本流(Basic Flow)**:即主要流程,是用例最常用的正常路径。
- **可选流(Alternative Flow/Extensions)**:例外、错误或其他选择性行为逻辑的描述。
- **前置条件 / 后置条件(Preconditions / Postconditions)**:定义用例的起点和完成后的状态。

活动图与用例模板的关系可以总结为:
1. **活动图可以更加形象化地描述用例的主体逻辑**:
   - 如果你在用例模板中已经定义了一个明确的基本流,活动图可以直观表现这些行为步骤的流程,但活动图通常不用于描述过于细节的交互,例如“系统输出 X 信息提示 Y”可能只通过简单节点表示。
   - 对于用例的高层次行为描述来说,活动图是非常有用的工具,尤其适合展示用例中复杂的逻辑分支、条件判断和循环操作。

2. **活动图不一定完全覆盖模板所有流的细节**:
   - 用例模板中的一些分支流和异常流,可能只有在活动图需要细化某些特定场景时才会展开。
   - 可选流中的一些小的异常处理逻辑(如密码错误提示,用户重新输入)可能直接在用例模板中以文字描述,而不是在活动图中绘制。

3. **活动图适合展示用例间的上下文或复用**:
   - 当一个活动涉及多个用例时,例如登录对多个系统操作的影响,则活动图会优化地组织所有的行为,而不专注于每个用例的具体模板细节。

---

### 3. **实际建模中的分工**
- **用例模板**主要以**结构化的文本方式**记录流程,用于清晰地表达用例的目标、触发事件、参与者以及具体流程操作。
- **活动图**则以**图形化方式**对某些用例或多个用例的关键流程进一步抽象。
   
#### **为什么活动图很少逐一描述用例模板中的流?**
- **精细度不同**:用例模板往往需要大量的细节描述,但活动图本质上是以流程为核心,不会去表现过于细节的操作。
  - 例如,登录失败的错误提示和重新输入,这在用例模板会清晰表述,而活动图可能只是通过一个“错误分支”节点加以概括。
- **复杂性问题**:如果活动图表现了用例模板中所有的基本流和异常流,可能会导致图形过于复杂、不易阅读。
- **不同语法习惯**:活动图专注于流程完成的行为结构,而用例模板更面向需求,因此前者较少表达用例中一些细节性场景,比如系统消息描述等。

---

### 4. **什么时候使用活动图描述用例模板中的流**
尽管活动图大部分用于高层级建模,但如果某些用例逻辑较为复杂(例如用例包含大量的嵌套分支),从活动图的角度进行细化就变得很有价值。

以下是一些适合对用例模板中的流用活动图表达的场景:
- **系统行为流程较为复杂**(包括多分支、循环):
  - 如果某用例模板的基本流有很多步骤,而这些步骤间存在逻辑判断或依赖条件(如“是否符合验证”、“是否通过授权”),可以用活动图直观展示其逻辑。
- **多个可选流/扩展流相互交叉影响主流程**:
  - 如果异常流或分支流对主流程影响较大,也可以使用活动图加以说明。
- **跨参与者的主流程交互**:
  - 若某些逻辑涉及多个参与者协同工作,活动图(特别是泳道图风格)就可以很清楚地展示行为流的分工。
  
例如,用例模板中的**登录用例**可以用以下活动图扩展:
- 主流程:展示用户输入姓名和密码→系统验证→登录成功。
- 分支循环:如验证失败→展示错误提示→返回输入用户名和密码。

---

### 5. **总结**
综上所述,活动图更倾向于高层次的流程描述,而不是逐一细化用例模板中的所有流。这种方法简单直观,符合UML的建模原则。但在特定用例逻辑复杂或需要交互明确化时,活动图可以适度延伸细化到用例模板的基本流和可选流,以便清晰展现其执行逻辑。 

标签:逻辑,level,流程,high,用例,活动,模板,描述
From: https://blog.csdn.net/workflower/article/details/145037945

相关文章

  • CDS标准视图:技术对象检验级别描述 I_TechObjInspectionLevelText
    视图名称:技术对象检验级别描述I_TechObjInspectionLevelText视图类型:基础视图视图代码:点击查看代码@AbapCatalog:{sqlViewName:'ITECHOBJINSPLVLT',compiler.compareFilter:true,preserveKey:true}@AccessControl.authorizationCheck:#NOT_REQUIRED@En......
  • CDS标准视图:技术对象检验级别 I_TechObjInspectionLevelCode
    视图名称:技术对象检验级别I_TechObjInspectionLevelCode视图类型:基础视图代码:点击查看代码@AbapCatalog:{sqlViewName:'ITECHOBJINSPLVL',compiler.compareFilter:true,preserveKey:true}@ClientHandling.algorithm:#SESSION_VARIABLE@AccessControl.aut......
  • UML之发现用例
    用例是最简单的UML元素,用例图是最简单的UML图,但它也可能是UML中最有用的元素之一。尽管我们用包将工作分解为工作包、团队任务或单项任务,也就是说包是组织UML中的各种图及元素的工具。但是用例图可以帮助我们确定任务,以及应当如何将它们分组并确定工作范围。每个用例都代表用......
  • 面向对象分析与设计Python版 用例与用例图
    文章目录一、用例二、用例图一、用例参与者Actor代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统等)通过它,可以对软件系统与外界发生的交互进行分析和描述,了解客户希望软件系统提供哪些功能参与者的图形表示:根据问题识别参与者谁使用系统?谁......
  • Kioptrix-Level One
    确认攻击靶机靶机和攻击机都为nat模式为同一个网段,直接对网段进行扫描信息搜集注意到开启了web服务信息搜集一波dirp目录扫描dirsearch目录扫描whatweb指纹新信息RedHatLinuxNmap获取版本信息确认服务版本,不过没有显示139端口的服务信息尝试使用smb-enum-......
  • 如何编写自动化测试用例,一篇带你解决
    自动化测试脚本什么是自动化测试?自动化测试是验证和验证软件是否满足所有用户需求,并使用自动化工具按预期运行。它检查在产品开发阶段期间和之后出现的错误、问题和其他类型的缺陷。这种类型的软件测试运行在由测试工具处理的编程脚本上。有多种测试工具,它们要么提供基于代码的平......
  • ORACLE数据库高水位线(high water mark)
    来源:ORACLE数据库高水位线(highwatermark)-墨天轮(modb.pro) 文档课题:ORACLE数据库高水位线(highwatermark).1、相关概念ORACLE数据库逻辑结构包括:数据库块(block),区(extent),段(segment),表空间(tablespace).高水位线存在于段中,用于标识段中已使用过的数据块与未使用过的......
  • 软件测试--用例篇
     博主主页: 码农派大星.  数据结构专栏:Java数据结构 数据库专栏:数据库JavaEE专栏:JavaEE软件测试专栏:软件测试关注博主带你了解更多知识目录1.测试⽤例概念2.设计测试⽤例2.1 万能公式功能测试: 界⾯测试:性能测试:  兼容性测试:易⽤性测试:......
  • 2025年测试用例管理看这一篇就够了 ----Codes 开源免费、全面的测试管理解决方案
    1、前言Codes是国内首款重新定义SaaS模式的开源项目管理平台,支持云端认证、本地部署、全部功能开放,并且对30人以下团队免费。它通过整合迭代、看板、度量和自动化等功能,简化测试协同工作,使敏捷测试更易于实施。并提供低成本的敏捷测试解决方案,如同步在线离线测试用例、流程......
  • pytest如何实现yml测试用例的Mark功能
    在pytest中,如果测试用例是从YML文件中加载的,你可以动态地为这些用例添加Mark,从而实现对YML测试用例的分类和控制。以下是实现YML测试用例的Mark功能的完整方法:1.场景描述假设测试用例是从一个YML文件中加载的,你希望能够:为每个用例动态添加Mark,如smoke、......