第三章 需求分析
1.需求:需求是指目标软件的需求,即软件包含的功能、性能、安全、运行维护等方面的要求。
功能需求是最重要的需求。
2.需求分析的最终成果:软件需求规格说明书。
3.需求分析的基本任务:准确地回答“系统必须做什么?”的问题。
4.需求分析的基本任务的描述:
获得当前系统的物理模型;
抽象出当前系统的逻辑模型;
建立目标系统的逻辑模型;
对目标系统逻辑模型进行补充。
5.物理模型:可运行的应用系统
逻辑模型:不可运行的应用系统;
目标系统:待开发的软件系统;
当前系统:当前正在运行的系统软件;
6.需求的种类:
功能需求:目标软件系统必须完成的全部功能;
性能需求:目标软件系统必须满足的定时约束或容量约束;
可靠性和可用性需求:目标软件系统在给定的时间间隔内可以成功运行的概率的度量;
出错处理的需求:目标软件系统对环境错误应该怎样响应;
各种借口需求:目标系统与他的运行环境进行通信的格式;
安装运行需求:目标系统在安装、正常运行过程中所需要的基本软硬件环境;
未来可能提出来的需求:不属于当前系统开发范畴,但根据分析将来很有可能会提出的相关要求考虑到当前系统的开发过程中。
逆向需求:软件系统不应该做什么;
约束:软件系统应该遵守的限制条件;
7.需求分析的步骤:
7.1 分析系统的数据要求;
a.软件系统的本质是处理数据的过程。
b.软件需求分析的起点是对目标软件的数据要求展开分析。
c.结构化分析方法就是以分析数据为核心的软件工程方法学。
7.2 分析系统的逻辑,建立系统逻辑模型;
a.最终结果是以形式化的方式形成描述目标软件系统的逻辑模型。
b.需求分析过程中主要的逻辑模型有:
数据流图、数据字典、加工处理和数据存储、E-R模型等。
7.3 修订开发计划;
7.4 构造原型;
原型就是一个小软件,它是最终开发出来的目标软件系统的子集。
7.5 验证软件的需求:
a.软件开发的巨大风险是:
在软件测试阶段发现软件的需求不准确、不完整,甚至是根本不能满足用户的需求。
b.衡量软件需求的标准:
正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性、可追踪性。
可验证性:即在经济、技术、法律均可性的条件下,每一条需求都能得到验证和确认。
一致性:需求描述的需求规格说明书中前后保持一致,各种命名应该统一。
7.6 编写软件需求规格说明书;
8.需求分析的方法:
8.1 访谈及实地调研;
8.2 结构化分析方法 SA:
a.结构化分析方法就是面向数据流的自顶向下求精法。
b.分析对象时可行性分析阶段已经得到的描述目标软件的高层逻辑模型,即高层的数据流图和数据字典。
c.结构化分析方法的核心思想是:自顶向下、逐步细化。
d.结构化分析方法的核心是:
采用数据流图分层地来描述软件在不同抽象层次的逻辑表示,然后在软件设计中
将软件划分为若干程序模块,并相互组织在一起完成所需要的软件功能。
e.结构化分析方法的主要工具:数据流图、数据字典、E-R模型,他们一起构成系统的分析模型。
这三个工具达成的主要目标:
描述用户的需求;
建立结构化设计的基础;
定义在软件完成后可以被确认的一组需求;
8.3 面向对象分析方法:
a.面向对象分析方法的出发点是尽可能模拟人类习惯的思维方式,即客观世界是由各种对象组成,
任何事物都可以被视为对象,复杂对象由多个简单对象所构成。
b.面向对象方法学的核心是:
静态模型:即类模型。
动态模型:时序图、活动图、状态转换图、协作图等。
功能模型:用例模型、数据流图模型。
9.结构化分析
a.结构化分析方法就是一种自顶向下、逐步细化的方法。
b.结构化分析方法就是一种面向数据流的分析方法。
c.结构化分析的工具:数据流图、数据字典、IPO图等。
d.结构化分析的核心是数据流图。
e.结构化分析的思想是分解和抽象,即自顶向下、逐步细化,细化和求精的对象是数据流图和数据字典。
f.结构化分析方法的种类:
正向需求分析方法:
从数据流的输入端到数据流输出端。
逆向需求分析方法:
从数据流的输出端回溯到数据流的输入端。
h.结构化分析方法的步骤概括:建立——抽象——建立——改进
10.结构化分层的思想:
11.结构化分析的步骤:自外向内、自顶向下、逐层细化、完善求精。
a.寻找软件的数据源点和数据终点,得到数据流图的外部实体;
b.根据系统需求,逐个分析出细化的数据处理;
c.分析联系数据处理的中间数据流和数据存储文件,完成本层次的数据流图设计;
d.对有数据中心特点的数据处理进行柱层析华,得出它的数据流图子图,重复此步,直到所有复杂处理均细化到最底层。
12.数据流图可能出现的问题:
a.数据流图仅由数据处理、外部实体、数据流、数据存储四大元素构成。
b.任何数据流必须封装在外部实体之间。
c.每个处理至少有一条输入数据流和输出数据流。
d.任何数据流图子图必须与他的上一层的父处理对应,即两者的输入数据流和数据输出流必须在数量和内容上保持一致。
e.数据流图仅描述做什么,不描述怎么做和做的顺序。
13.需求分析的其他工具:
a.分析数据模型的工具:E-R图;
b.分析行为模型的工具:状态转换图;
c.分析数据加工的工具:IPO图;
即input proces output, IPO图描述了数据、输出数据和数据处理之间的关系。