需求分析的任务

1 确定对系统的综合要求

虽然功能需求是对软件系统的一项基本需求,但却并不是唯一的需求。通常对软件系统有下述几方面的综合要求。

1.功能需求

这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。

2.性能需求

性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。例如,"应力分析程序必须在一分钟之内生成任何一个梁的应力报告。"就是一项性能需求。

3.可靠性和可用性需求

可靠性需求定量地指定系统的可靠性,例如,"机场雷达系统在一个月内不能出现2次以上故障。"

可用性与可靠性密切相关,它量化了用户可以使用系统的程度。例如,"在任何时候主机或备份机上的机场雷达系统应该至少有一个是可用的,而且在一个月内在任何一台计算机上该系统不可用的时间不能超过总时间的2%。"

4.出错处理需求

这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这类错误并不是由该应用系统本身造成的。

在某些情况下,"出错处理"指的是当应用系统发现它自己犯下一个错误时所采取的行动。但是,应该有选择地提出这类出错处理需求。人们的目的是开发出正确的系统,而不是用无休止的出错处理代码掩盖自己的错误。总之,对应用系统本身错误的检测应该仅限于系统的关键部分,而且应该尽可能少。

5.接口需求

接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。例如:

"把商品从货源地运送到目的地所需要的成本,应该一直显示在"成本'正文框中。"

"向运输公司传送*需运送的商品'信息的格式是exp<string>,其中<string>是从商品目录中选取的字符串。"

上述第一个例子是应用系统与用户接口的一个需求,第二个例子指定了与其他应用系统通信的信息格式。两者都是接口需求。

6.约束

设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。在需求分析阶段提出这类需求,并不是要取代设计(或实现)过程,只是说明用户或环境强加给项目的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。

7.逆向需求

逆向需求说明软件截图( A l t + A )该做什么。理论上有无限多个逆向需求,人们应该仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。例如,"应力分析程序无须分析桥梁倒塌数据。"

8.将来可能提出的要求

应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。这样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦确实需要时能比较容易地进行这种扩充和修改。

2 分析系统的数据要求

任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。分析系统的数据要求通常采用建立数据模型的方法。

复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典可以全面准确地定义数据,但是数据字典的缺点是不够形象直观。为了提高可理解性,常常利用图形工具辅助描绘数据结构。常用的图形工具有层次方框图和Warnier图。

软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。

3 导出系统的逻辑模型

综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。

4 修正系统开发计划

根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。

相关推荐
飞讯软件1 天前
制造企业MES系统委外工单管理探析
软件工程
沿着路走到底1 天前
面向对象程序设计
软件工程
Dola_Zou2 天前
CodeMeter 8.20&AxProtector 11.50版本更新
安全·软件工程·软件加密
北京云巴巴信息技术有限公司2 天前
TAPD卓越版的全面评测:超强的功能与用户体验优势
产品经理·需求分析
⠀One0ne3 天前
软件设计原则(Java实现/给出正例反例)
java·软件工程
AmHardy3 天前
系统架构设计师 需求分析篇二
系统架构·需求分析·面向对象分析·分析模型·uml和sysml
茜茜西西CeCe4 天前
软件工程知识点总结(7):软件项目管理
软件工程·甘特图·软件项目管理·wbs·gantt
帅次4 天前
重塑在线软件开发新纪元:集成高效安全特性,深度解析与评估支持浏览器在线编程的系统架构设计
性能优化·重构·软件工程·软件构建·个人开发·代码规范·规格说明书
黄焖鸡能干四碗4 天前
【大数据方案】智慧大数据平台总体建设方案书(word原件)
大数据·运维·系统安全·需求分析·规格说明书
长安er4 天前
编译原理/软件工程核心概念-问题理解
java·开发语言·软件工程·编译·指针·敏捷开发·瀑布模型