文档介绍:软件需求分析方法软件需求分析( 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 )为软件管理人员进行软件成本计价和编制软件开发计划书提供依据; 需求分析的具体内容可以归纳为六个方面: 软件的功能需求, 软件与硬件或其他外部系统接口, 软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。此外, 为保证软件设计质量, 便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。 软件功能需求软件的功能需求是整个需求分析最主要、最关键和最复杂的部分, 它描述软件的各种可能的条件下, 对所有可能输入的数据信息,应完成那些具体功能,产生什么样的输出。描述软件功能需求是应注意下面几点: 1 )功能需求的完整性和一致性对功能的描述应包含与功能相关的信息, 并应具有内在的一致性( 即各种描述之间不矛盾、不冲突)。应注意以下几点: (1) 给出触发功能的各种条件(如:控制流、运行状态、运行模式等); (2) 定义各种可能性条件下的所有可能的输入(包括合法的输入空间和非法的输入空间); (3) 给出各种功能间