1 需求分析
#需求分析
1.1 需求分析概述
- 初步软件需求存在的问题:不具体,不清晰,关系不明朗,存在潜在缺陷,没有区分不同软件需求(有必要鉴别不同软件需求项的重要性差别,区分不同软件需求的开发优先级)
- 分析软件需求的任务:基于初步软件需求,进一步精化和分析软件需求,确定软件需求优先级,建立软件需求模型,发现和解决软件需求缺陷,形成高质量的软件需求模型和软件需求规格说明书
- 软件需求的不同视角表示:
- 用例视角:具有哪些功能、功能间有何关系、功能与利益相关方有何关系,UML提供了[[【笔记】软件工程05:需求分析#1.2.3 用例图描述| 用例图]]来分析和描述用例视角的软件需求模型
- 行为视角:用例是如何通过业务领域中一组对象以及它们间的交互来达成的,UML提供了交互图、状态图来描述行为视角的软件需求模型
- 结构视角:业务领域有哪些重要的领域概念以及它们之间具有什么样的关系,UML提供了类图来描述和分析业务领域的概念模型
1.1.1 软件需求和需求工程
1.1.1.1 软件开发的本质
1.1.1.2 软件系统的利益相关方
软件利益相关方会站在自身的角度对软件提出要求
1.1.1.3 何为软件需求
1.1.1.4 软件需求的类别
1.1.1.5 软件需求的特点
如何从利益相关者获取完整、清晰和一致软件需求是一项挑战!
1.1.1.6 软件需求的质量要求
1.1.1.7 软件需求的重要性
软件的价值所在,软件开发的基础和前提,软件验收的标准和依据
1.1.1.8 何为需求工程
1.1.1.9 需求工程的一般性过程
1.1.1.10 需求工程的特点
1.1.1.11 需求工程的方法学——抽象
1.1.1.12 需求工程的方法学——建模
1.1.1.13 需求工程的方法学——分析
1.1.2 结构化需求分析方法学
1.1.2.1 基本思想
1.1.2.2 数据流图
Data Flow Diagram(简称DFD):描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模。
基本元素包括:
1.1.2.3 画分层数据流图的步骤
1.画系统的输入和输出
2.画系统内部
3.画加工内部
4.根据自顶向下逐层分解的思想,重复第3步,继续分解加工,直至每个尚未分解的加工都足够简单(即不必再分解)
注:每个层次画在独立的数据流图中,加工个数可大致控制在“7加减2”的范围中