需求工程复习

狂风中的少年 提交于 2020-01-23 04:26:16

需求工程复习

  • 1.2.1需求工程简介

    • 定义

      简单地说,需求工程是所有需求处理活动的总和,它收集信息,分析问题,整合观点,记录需求并验证其正确性

      从细节上说,需求工程是软件工程的一个分支,它关注软件系统所应实现的现实目标,软件系统的功能和软件系统应当遵守的规约

      3个任务:

      • 必须说明软件系统将应用的环境与目标,‘“做什么”,“怎么做”
      • 必须将目标,功能,约束反映到系统软件中
      • 妥善处理目标,功能和约束随着时间的演化
    • 基本活动

      需求工程分为 需求开发需求管理

      • 需求管理:需求管理是对需求开发所建立的需求基线的管理。它在需求基线完成后正式开始,在需求工程结束之后继续存在

      • 需求开发

        • 需求获取:从项目战略规划开始建立的最初原始需求

        • 需求分析:保证需求的完整性统一性

        • 需求规格说明:将完整性,一致性的需求与能够满足需求的软件行为以文档方式明确固定下来

        • 需求验证:保证需求及其文档的正确性完整性一致性,最后统一意见,得出需求规格文档

  • 2.2.2 问题与与解系统

    • 问题域与解系统的关系

      • 问题域:是需求的背景,解决问题必须涉及的事件和事物,即解决问题的基本范围(用户关注的问题)

      • 解系统:指的是软件系统,软件系统通过影响问题域帮助人们解决问题,是软件解决方案在计算机上的实现(开发人员关注的问题)

      • 关系:两者通过接口连接起来,这个接口就是**(模拟性)共享对象** 问题域是用户关注的问题,解系统是开发人员关注的问题,而他们之间的接口就是需求工程师关注的问题

      • 共享对象: 共享对象就是解系统所模拟的问题域的部分

  • 2.3 需求和问题都有层次性

    需求层次三角形(p29)

    • (目标)业务需求:描述组织为什么要开发该类型系统,描述系统的目标与效益(来自决策者

    • (任务)用户需求:描述了系统能够帮助用户做什么,描述具体任务 如:xx用户可以使用系统完成xx任务(来自 用户(超市收银员))

    • (系统行为)系统需求:关注软件系统的行为,如:在xxx用户提出xxx请求时,系统可以xxx(来自 软件开发者

  • 2.4 严格意义上的软件需求分类

    • 功能需求:和系统主要工作相关的需求

    • 性能需求:系统性能:CPU使用率和内存使用率

    • 质量属性:系统完成工作质量:可靠性层度和可维护性程度

    • 对外接口:系统环境与其他系统需要建立的接口:硬件接口,软件接口,数据库接口

    • 约束:对系统构造的约束:编程语言和硬件设施

  • 2.5 优秀需求特性

    • 完备性

    • 正确性

    • 可行性

    • 必要性

    • 无歧义

    • 可验证

  • 3.1需求工程过程

    需求获取—>需求分析—>需要规格说明 —>需求验证

    产生的文档:

    • 项目前景和范围文档:定义系统业务需求,明确了系统开发努力方向

    • 用户需求文档:定义系统的用户需求,以用户立场表达对系统行为的期望(用例文档)

    • 需求规格文档:定义系统级需求,指出开发者应该完成的任务

  • 3.3 需求开发过程是迭代与并发的

    需求开发过程是并发与迭代的

    如何并发与迭代? 比如说:需求的基本活动,活动之间没有明显的界限。比如:需求验证的过程,需求验证的过程我们持续在所有的过程当中都在做,为什么要一边获取,一边理解,一遍建立分析模型,就是在持续不断地在做,在验证它

  • 5.2 问题分析(p96)

    • 问题分析过程

    • 获取问题(收集背景资料与涉及沟通来实现)

    • 明确问题(对问题达成共识;收集背景资料,判断问题的明确性;分析不明确的问题,发现问题背后的问题)

    • (根据问题来)发现业务需求

    • (根据业务需求来)定义系统解决方案及系统特性

    • (根据业务需求来)确定解决方案的边界 (用例图【 面向对象解决方案】 或者 上下文图 【结构化解决方案】)

  • 5.3 目标分析(109) 重要

    • 目标精化

      例子:比如 可以把目标分成不同的类型,接下来可以用一个目标精化图来表示

      与或树: 实心黑点(And精化 同时要求) ,空心白点(OR精化 或者 ),可以识别出目标规格的关系

    • 目标的规格与关系

      • 实现(achieve)
      • 终止 (cease)
      • 保持 (maintain)
      • 避免 (avoid)
      • 优化 (maximize) 最大优化 , (minimize)最小优化
  • 目标分析过程(113)

    实验报告三

  • 7.1 用例/场景模型,需求获取

属于中间部分

场景的定义:

场景是具有重点描述真实世界的特征,它利用情景,行为者之间的交互,事件随世界的演化方式来叙述性地 描述系统的使用

用例的定义:

每个用例是对相关场景集合(同一个目标下的多个场景的叙述性的文本描述)

(191图)

  • 8.2.2 面谈 问题的类型(199)

    • 问题的分类有哪些

      • 开放式问题:会见者对答复的选择可以是开发的,不受限制的(XXX是什么?)
      • 封闭式问题:对答案有基本形式(几个?几次? 等)
  • 9.1 原型及原型法 (218)

    原型及原型法用于解决不确定性

    • 不确定性:有风险,对未来知识了解有限而无法确定某些行为或事件的后果
    • 原型及原型法: 原型是真实系统中的模型,可以让人们可以了解到未来的物件的某一方面
    • 书面描绘,场景描述,故事板,幻灯演示,动画模拟,屏幕快照和代码等再能都是原型法
  • 9.2 原型的用途

    • 演示原型
    • 严格意义上的原型
    • 试验原型
    • 引示系统原型
  • 9.3 抛弃需求原型

    • 探索式
    • 实验式
    • 演化式
  • 10.2 文档审查

    • 需求重用
    • 文档分析
    • 需求剥离
  • 11.1.需求分析

    • 模型

      模型: 模型是对事物的抽象,帮助人们在创建一个事物之前有更好的理解

    • 两个世界三种模型(252)

      需求获取信息 —>业务模型—>分析模型—>计算模型

      问题世界—> 计算世界 —>机器世界

      • 计算机世界与计算模型
      • 问题世界与业务模型
      • 软件分析模型

    ​ 半形式化的特征 : 不像计算模型那么严格,又比业务模型更严谨

  • 11.2.2 常用的需求分析技术(260)

    • 需求分析方法
    • 结构化分析 信息工程 (是结构化分析就有信息工程)
    • 信息工程
    • 面向对象分析
    • 通用

结构化方法—>信息工程方法—>面向对象方法

  • 12 过程建模

    • 数据流图
  • 13 数据建模

    • 实体关系图

    • 找出实体

    • 确定实体标识符

    • 简化实体之间的关系

    • 添加详细的描述信息

  • 14 UML

    • 领域模型

      • 识别候选对象的类
      • 确定概念类
      • 建立类之间的关系
      • 添加类的重要属性
    • 行为模型

      • 交互图
    • 顺序图

      • 通信图

      • 系统顺序图

      • 状态图

      • 活动图

  • 15 需求规格说明

    • 需求规格说明文档

      整个系统功能分配给软件部分的详细描述

    • 硬件需求规格说明文档

      是对整个系统功能中分配给硬件部分的详细描述

    • 接口需求规格说明文档

      是对整个系统中需要软,硬件协同实现部分的详细描述

    • 人机交互文档

​ 对整个系统功能中需要进行人机交互部分的详细描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!