软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软
件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。
软件需求分析是一个项目的开端,也是项目实施最重要的关键点。据有关地机构分析结果说明,我们
设计的软件产品存在不完整性、不正确性等问题 80%以上是需求分析错误所导致的,而且由于需求分析错
误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。
一、 软件需求分析理论
如果我们用数学方法来描述软件需求分析,可以将一个应用软件定义为 S,可能应用软件涉与功能性问
题非常广,我们用抽象化理论分析,可以划分为各个功能域,可以用 D1、D2、… Dn 表示,那么,我们可
以用一个表达式描述为
S={D1,D2,D3,…Dn}
但是,功能域 Di 依然存在着有若干个问题 P1、P2、P3、… Pm 组成,并且每个功能对应于子系统中的一个
软构件,我们可以表示为
Di={P1,P2,P3,…Pm}
同样,功能 Pj 有若干个行为 F1、F2、F3、… Fk,每个行为对应于软构件中的实现方法
Pj={F1,F2,F3,…Fk}
一个软件包含了所有功能的集合,同时包含了实现所有功能的所有方法和算法描述。需求分析是依据
于用户需求,经过需求问题识别,进行分析、消化与综合,制订规格说明,评审,分为四个阶段,形成用
户需求与设计同步,设计满足用户需求目标。
需求分析方法始终贯穿着吸收、同化、贯彻方法和手段,用商业化行为解决需求与实现中存在的矛盾,
解决用户需求与商业化产品融通,解决规与个性化追求。
二、 软件需求分析目标
软件需求分析的主要实现目标:
1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整 性,促使用户
在软件设计启动之前周密地、全面地思考软件需求;
2)了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;
3)为软件管理人员进行软件成本计价和编制软件开发计划书提供依据;