软件工程–实践者的研究方法[基于场景需求建模]

基于场景需求建模

  • 8.1 需求分析
    • 8.1.1 需求分析目标和原理
    • 8.1.2 分析的经验原则
    • 8.1.3 域分析
    • 8.1.4 需求建模的方法
  • 8.2 基于场景建模
    • 8.2.1 创建初始用例
    • 8.2.2 细化初始用例
    • 8.2.3 编写正式用例
  • 8.3 用例图
  • 8.4 活动图

8.1 需求分析

  • 需求分析目的是产生软件操作特征的规格说明,指明软件和其他系统元素的接口,建立软件必须满足的约束
  • 需求分析是细化基础要求,这些基础需求在前期需求工程的起始、导出、协商任务中建立的。
  • 需求建模是使用文字图表等综合形式,以相对容易理解的方式描述需求,特别是为了能够直接评审其正确性、完整性和一致性。

需求建模的结果为以下一种或多种模型类型:

  • 场景建模:出自各系统“参与者”观点的需求。
  • 数据模型:描述问题信息域的模型。
  • 面向类的模型:表示面向对象类的模型,其方式为通过类的协作获得系统需求。
  • 面向流程的模型:表示系统的功能元素并且描述当前功能元素在系统中运行时怎样进行数据变换的模型。
  • 行为模型:描述如何将软件行为看做是外部“事件”后续的模型。

8.1.1 需求分析目标和原理

  • 在整个需求分析建模过程中,软件工程师的主要关注点集中在“做什么”而不是“怎么做”方面。
  • 具体包括
    • 在特定环境下发生哪些用户交互/li>
    • 系统处理什么对象/li>
    • 系统必须执行什么功能/li>
    • 系统显示什么行为/li>
    • 定义什么接口/li>
    • 有什么约束/li>

总体目标和原理

  • 需求分析建立的模型必须实现三个主要目标:
    • 描述客户需要什么;
    • 为软件设计奠定基础;
    • 定义在软件完成后可以被确认的一组需求。
  • 需求模型是系统描述和设计之间的桥梁
  • 需求模型的所有元素都可以直接跟踪到设计模型

三者的关系

8.1.4 需求建模的方法

  • 需求建模的两种方法:
    • 结构化分析方法面向对象分析方法
  • 结构化分析方法:基本观点认为系统是数据和对数据的加工,建模是为了明确数据在系统中如何流动处理加工和转换。
  • 面向对象的分析方法:关注于定义类和影响客户需求的类之间的协作方式。
  • UML和统一过程主要是面向对象的。
  • 软件团队往往 – 结构化分析方法面向对象分析方法。中的所有表示手段。问题不是哪一种方法最好,而是怎么组合这些表示手段才能够提供最好的软件需求模型过渡到软件设计的最有效方法。
  • 需求模型的元素可以按照不同观点进行分类。
    • 基于场景的模型:用户如何和系统交互
    • 类模型:系统有哪些类和对象及它们如何协作
    • 行为模型:如何改变系统或系统内状态
    • 流模型:数据在流过各个功能时如何转换。

需求模型的元素

  • 为了确认软件需求,我们需要从不同的视角检验需求,本章主要从场景的观点考虑需求建模并检验。
  • 基于场景建模产生的面向文本的表达称作“用例”。用例描述了特定交互方式,形成非正式或更加结构化或正规化的自然特征。这些用例能补充大量不同的UML图,覆盖更多交互的程序化观点。

8.3 用例图

1.用例图的含义

参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的视图称为用例图

2.用例图的作用

  • 用例图是需求分析中的产物,主要作用是描述参与者和用例之间的关系,帮助开发人员可视化的理解系统的功能。
  • 借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。
  • 用例图可视化地表达,具有直观、规范等优点,克服了纯文字性说明的不足。

3.用例图构成

1.活动图的基本概念

  • 活动图是一种用于描述系统行为的模型视图,它可用来描述动作动作导致状态改变的结果。
  • 通常,活动图用来描述单个用例或商业过程的逻辑流程、以及单个操作或方法的逻辑
  • 在UML中,活动的起点是活动图的开始状态,用黑的实心圆表示。活动的终止点是活动图的终止状态,用一个含有实心圆的空心圆表示。活动图中的活动既可以是手动执行的任务,也可以是自动执行的任务,用圆角矩阵表示。

2.活动图主要作用
1)描述一个操作执行过程中所完成的工作。说明角色、工作流、组织和对象是如何工作的。
2)活动图对用例描述尤其有用。它可描述用例的工作流,显示用例内部和用例之间的逻辑,可以说明用例的实例时如何执行动作以及如何改变对象状态。
3)活动图对理解业务处理过程十分有用。活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。
4)描述复杂过程的算法,在一点活动图和传统的程序流程图的功能相似。

3.活动图的组成
1)动作状态

  • 动作状态(action state)是基本(原子)动作操作的执行状态,它不能被外部事件中断。
  • 在UML中,动作状态使用圆角矩形表示,动作状态名字写在矩形内部。
  • 组合活动是一种内嵌活动图的状态
  • 分支将转换路径分成多个,根据条件(布尔值)的真假来判定动作流向。
  • 分支的每个路径的监护条件应该是互斥的,保证只有一条路径的转换被激发。
  • 合并指的是两个或者多个控制路径在此汇合的情况。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月10日
下一篇 2021年1月10日

相关推荐