第2章 项目分析与软件需求分析(1)

发布于 2021-03-16  572 次阅读


2.4 用户需求获取

需求分析是一个项目的开端,也是软件建设的基石。

  1. 软件需求工程过程
    • 需求工程的目标是创建和维护系统需求的文档。
      (1) 业务需求描述
      (2) 原型构造(需求有效性验证)
      (3) 需求导出

      1. 需求分析是干什么的?

      答:需求分析是软件定义阶段的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”,而不是“怎样实现”

      【分析结果】系统分析源写出软件需求规格说明书。

      对一个软件系统来说,数据是稳定的,事务处理可能是变化的。

      需求分析的原则:

      1)建立数据模型:必须理解并描述问题的信息域。
      2)建立软件功能模型:必须定义软件应完成的功能域
      3)建立行为模型:必须描述作为外部时间结果的软件行为——用来描述时间的状态变化
      4)系统分解准则:必须对上述模型进行分解,用层次的方式展现具体的处理模型。
      (分解分为横向分解和纵向分解(三层,层数越深,软件功能越复杂))

      2. 如何获取用户需求

      答:步骤如下:

      (1) 确定需求开发过程
      (2) 编写项目视图和范围文档
      (3) 将用户群分类并归纳各自特点——总结各类用户对软件的不同需求并进行分类。
      (4)选择每类用户的产品代表——产品决策者
      (5)建立典型用户的核心队伍——用户群,收集产品的功能需求和非功能需求
      (6)让用户代表确定使用实例
      (7)召开应用程序开发联系会议——正式会议和私下交流,确定业务规范
      (8)分析用户工作流程——重点分析系统的数据要求
      (9)确定质量属性和其他非功能需求
      (10)对当前系统的问题报告进行检查,来进一步完善新系统的需求
      (11)跨项目重用

      2.5 需求文档与规格说明

      软件需求文档,又称软件需求规格说明书——“做什么”

      软件需求主要作用包括3个方面

    • 作为开发商与用户之间事实上的技术合同说明
    • 作为开发商下一步进行设计和编码的基础
    • 作为软件测试和验收的重要依据(正确、有效)

      规格说明常见的三种方式:

      (1)自然语言描述
      (2)结构化描述(常用)——文字+图
      (3)形式化语言——Z语言、Petri网、又穷状态机、伪代码

      软件需求的分析建模:

      【目的】为了更好的理解复杂事务。模型就是为了理解事务面对事务做出的一种抽象,是对事务的一种无歧义的书面描述。
      【模型的组成】模型由一组图形符号和组织这些符号的规则组成。


擦肩而过的概率