软件需求分析的主要实现目标
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件需求分析的主要实现目标
软件需求分析的主要实现目标 2011年07月31日
软件需求分析的主要实现目标:
1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前周密地、全面地思考软件需求;
2)了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;
3)为软件管理人员进行软件成本计价和编制软件开发计划书提供依据;
需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。
软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。
这就要求软件需求分析内容应正确、完整、一致和可验证。
此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。
1、软件功能需求
软件的功能需求是整个需求分析最主要、最关键和最复杂的部分,它描述软件的各种可能的条件下,对所有可能输入的数据信息,应完成那些具体功能,产生什么样的输出。
描述软件功能需求是应注意下面几点:
1)功能需求的完整性和一致性
对功能的描述应包含与功能相关的信息,并应具有内在的一致性(即各种描述之间不矛盾、不冲突)。
应注意以下几点:
(1) 给出触发功能的各种条件(如:控制流、运行状态、运行模式等);
(2) 定义各种可能性条件下的所有可能的输入(包括合法的输入空间和非法的输入空间);
(3) 给出各种功能间可能的相互关系(如各个功能间的控制流、数据流、信息流,功能运行关系:顺序、重复、选择、并发、同步);
(4) 给出功能性的主要级别(如:基本功能、可由设计者选择逐步实现的功能、可由设计者改变实现的功能等);
(5) 尽可能不使用"待定"这样的词。
所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说明,落实负责人员、落实实施日期。
2)功能描述的无岔意性和可追踪性
需求功能描述的无岔意性、可追踪性和规范化:
(1) 功能描述必须清晰地描述出怎样输入到怎样输出,并且输入、输出描述应对应有数据流描述、控制流描述图,这些描述必须与其它地方描述一致;
(2) 可以用语言、方程式、决策表、矩阵或图等对功能的描述。
如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或子功能)的执行是顺序,选择,重复,还是并发,然后说明步骤逻辑。
整个描述必须单入单出。
(3) 描述时,每一个功能名称和参照编号必须唯一,且不要将多个功能混在一起进行描述,这样便于功能的追踪和修改。
(4) 功能描述应注意需求说明和程序设计的区别。
需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实现这一外部功能必须做哪些事情(采用和种数据结构,定义多个模块,接口间的接口等)是设计阶段的事情,功能描述不应涉及到那些细节问题,以避免给软件设计带来不必要的约束。
2、软件与硬件或其他外部系统接口
软件与硬件或其它外部系统接口包括下述内容:
(1) 人机接口:说明输入、输出的内容、屏幕安排、格式等要求;
(2) 硬件接口:说明端口号,指令集,输入输出信号的内容与数据类型,初始
化信号源,传输通道号和信号处理方式。
(3) 软件接口:说明软件的名称、助记符、规格说明、版本号和来源;
(4) 通讯接口:指定通讯接口和通讯协议等描述。
3、软件的非功能性需求
软件非功能性需求是指软件性能指标,容限等功能以外的需求。
一般指下述内容:
(1) 时间需求:输入、输出频率,输入、输出响应时间,各种功能恢复时间等;
(2) 处理容限、精度、采样参数的分辨率,误差处理等;
(3) 可靠性的MTBF要求,可维护性、安全性要求等。
(对可能的不正常的输入给以正常响应是可靠性的重要内容,这属于功能性需求。
)
4、软件反向需求
软件的反向需求描述软件在那些情况下不能做什么。
这一条是随软件实际要求而定。
有两类情形需要采用反向需求的形式。
第一种情况:某些用户需求适宜采用反向形式说明,如数据安全性要求属于这类形式。
第二种情况:对一些可靠性和安全性要求较高的软件,有些必须描述软件不能做些什么。
如控制点火时序,我们必须交代清楚在那些情况下不能点火,否则会造成故障。
5、软件设计和实现上的限制
软件设计和实现上的限制主要指对软件设计者的限制。
如软件运行环的限制(选择计算机类型,使用配置,操作系统的限制等)、设计工具的限境制(使用语言、执行的标准)和保密要求等。
2.6、阅读支持信息
这部分内容是为了更好的帮助我们理解用户需求,也是为了使需求便于修改和追踪。
其本身并不是对需求的描述,但它影响到需求分析的可读性,也属于需求分析的一个重要部分。
一般目录、需求背景信息、内容索引、交叉引用表、注释等均属于这个部分的内容。