软件需求分析方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
欢迎阅读
软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。
1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整?性,促
使用户在软件设计启动之前周密地、全面地思考软件需求;
2)了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;
3)为软件管理人员进行软件成本计价和编制软件开发计划书提供依据;
需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。
软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。2.1、????? 软件功能需求
1
不
(5)??? 尽可能不使用“待定”这样的词。所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说明,落实负责人员、落实实施日期。
2)功能描述的无岔意性和可追踪性
需求功能描述的无岔意性、可追踪性和规范化:
(1)??? 功能描述必须清晰地描述出怎样输入到怎样输出,并且输入、输出描述应对应有数据流描述、控制流描述图,这些描述必须与其它地方描述一致;
(2)??? 可以用语言、方程式、决策表、矩阵或图等对功能的描述。如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或子功能)的执行是顺序,选择,
重复,还是并发,然后说明步骤逻辑。整个描述必须单入单出。
(3)??? 描述时,每一个功能名称和参照编号必须唯一,且不要将多个功能混在一起进行描述,这样便于功能的追踪和修改。
(4)??? 功能描述应注意需求说明和程序设计的区别。需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实现这一外部功能必须做哪些事情(采
2.2、
2.3、
(2)??? 处理容限、精度、采样参数的分辨率,误差处理等;
(3)??? 可靠性的MTBF要求,可维护性、安全性要求等。(对可能的不正常的输入给以正常响应是可靠性的重要内容,这属于功能性需求。)
2.4、????? 软件反向需求
软件的反向需求描述软件在那些情况下不能做什么。这一条是随软件实际要求而定。有两类情形需要采用反向需求的形式。第一种情况:某些用户需求适宜采用反向形式说明,如数据安全性要求属于这类形式。第二种情况:对一些可靠性和安全性要求较高的软件,有些必须描述软件不能做些什么。如控制点火时序,我们必须交代清楚在那些情况下不能点火,否则会造成故障。
2.5、????? 软件设计和实现上的限制
软件设计和实现上的限制主要指对软件设计者的限制。如软件运行环境的限制(选择计算机类型,使用配置,操作系统的限制等)、设计工具的限制(使用语言、执行的标准)和保密要求等。
2.6、????? 阅读支持信息
??????? 效果图描述。主要是用户UI界面的描述反映用户需求功能;
✍??????? 逻辑图描述。根据用户需求功能,使用抽象化理论,以及需求分析理论,对用户需求功能进行全面的分析,建立功能性逻辑关系图,流程逻辑关系图等;
✍??????? 关系图表描述。主要是对信息关系、数据库表格、接口函数等描述;
✍??????? 工程数学描述。分析用户需求,分析用户需求信息,运用工程数学进行算法推导,进行合理化需求分析推导;
✍??????? 甘地图描述。主要是软件项目工作安排,开发周期预估;
✍??????? 其它方法描述。保证完整性合理性的有效描述。
因此在需求分析之前我们必须建立需求分析技术层面的基本框架,从技术上保证需求分析的要求,在此基础上我们进行的需求分析才能满足项目对需求分析的要求。
6.3、保证可实施性
我们必须以用户软件需求为依据,以求实的态度详细的、准确的、完整的编写软件需求分析,避免空想世界,空中楼阁的想法;避免无逻辑性、无核心的描述;避免无量化思维,无实际空间概念。
6.4、需求分析评价指标
主要有这么几个指标:功能性、完整性、正确性、逻辑性、表现性、合理性,可实施性等。6.5、工作周期
评价人员投入,以及费用支出的合理性问题。正确制定工作周期,保证软件项目的顺利完成。
6.6、需求不确定更改与可确认保证
可确认需求功能是实现用户需求的基本保证,如果不可确认的、不确定更改存在,将会阻碍软件实现,或者软件设计存在着不完整性缺陷,或者存在着不可实施性问题,我们必须区分是功能性障碍问题,还是未来性问题。如果不能够明确是未来性问题,则必须调整功能需求,化解不确定更