在进行软件开发的过程中,首先我们必须要清楚用户真正的需求,这样就保证了我们后续软件开发的可靠性和有效性,即我们开发的软件能最大可能的逼近用户的要求。因此,对软件进行需求分析是非常有必要的。下面,小编将带领大家了解软件需求分析的任务、各种常用的软件需求分析方法以及在需求分析过程中常用的建模工具等。
软件工程需求分析――方法/步骤软件工程需求分析 1、
需求分析概述。
需求分析是软件开发的基础和前提,也是最终目标软件验收的标准,它可以避免或者今早的剔除早期的错误。虽然在可行性研究阶段,我们也进行了用户需求的分析,但是只是粗略的进行了分析,很多的细节部分都被忽略了,而需求分析比较详细了对用户的需求进行了分析,更加精确、细致的回答了目标系统必须做什么。通常我们在进行软件开发的过程中,往往由于需求分析的不足,而最终导致项目的失败。据统计,超过60%的失败项目都是由于项目需求不明确或错误造成的,由此可见,对软件进行需求分析是很有必要的。
软件工程需求分析 2、
需求分析的主要任务。需求分析主要有4大任务:
1. 确定系统的综合需求:功能需求、性能需求、可靠性和可用性需求、出错处理需求
、接口需求、约束需求、逆向需求、将来可能提出来的需求(可扩展性)等。
2. 分析系统的数据要求:由于我们的软件系统一般都是对一系列数据或者信息进行处理,因此在软件开发的过程中,对系统运行过程中涉及到的数据进行分析也是很重要的。通常我们通过对数据进行建模来分析,即E-R图。
3. 导出系统的逻辑模型:在需求分析中,我们可以通过一系列的模型来导出系统的逻辑模型,以方便我们对系统有一个更加直观的了解。通常涉及到的模型有:功能模型、数据模型、行为模型、算法逻辑模型等。。
4. 修正系统的开发计划:在可行性分析阶段的最后我们制定了一个开发计划,在进行需求分析后,我们可以根据我们分析的结果对开发计划中不合理的部分进行修正。
软件工程需求分析 3、
如何进行需求分析。在软件工程中,我们总结了四种常用的需求分析方法:
1. 访谈:系统分析员或者设计人员针对该项目提出一些事先已经准备好的具体问题,鼓励被访问人员(即用户)说出自己的想法。同时,也可以通过调查表的形式对相关问题进行一个初步的统计。也可以在某种程度上通过快速建立的原型演示系统的主要功能,然后让用户去体验,用户针对体验的结果做出自己的分析和理解,这种方法充分提高了用户在需求分析过程中积极主动的作用,这种方法我们通常称之为“情景分析技术”。
2. 面向数据流的自顶向下求精:基本思想是--“自顶向下,逐步求精,抽象和细分”。主要是利用数据流图,先建立一个初步的系统功能模型,然后按照基本思想,自顶向下,逐步对顶层数据流图进行细分,在细分的过程中,与用户进行充分的交流,用户根据数据流图判断是否分解正确或者哪些地方有问题,分析员根据用户的意见进行修正,这样一步步完善数据流图直到达到用户的需求。
3. 简易的应用规格说明技术:1)进行初步访谈,初步确定待解决的问题的范围和解决方案;2)开发者和用户分别写出“产品需求”;3)选定会议的时间和地点,选举协调人;4)邀请开发者和用户双方组织的代表出席会议;5)列出系统环境组成部分的对象、系统将产生的对象、系统为完成自己的功能将使用的对象,列出操作这些对象或与这些对象交互的服务,列出约束条件和性能标准;6)共同创建一张组合列表n起草完整的软件需求规格说明书。
4. 快速原型分析技术:首先通过初步需求,快速建立一个系统原型;然后运行给用户看,用户根据原型提出自己的修改意见;最后程序开发者根据用户的建议,对原型进行修改和完善。如此反复的迭代进行,知道最终建立以个满足用户需求的软件系统为止。
软件工程需求分析 4、
软件需求分析过程中用到的建模工具:1)功能模型:数据流图;2)数据模型:实体-联系图;3)行为模型:状态转换图。
软件工程需求分析 5、
软件需求规格说明书。在软件需求分析的最后,我们要提交一份详尽的规格说明书,规格说明书具体包含内容如下:
Ⅰ.引言
A.系统参考文献
B.整体描述C.软件项目约束
Ⅱ.信息描述
A.信息内容
B.信息流:1 .数据流、2 .控制流
Ⅲ.功能描述
A.功能分解
B.功能描述:1 .处理说明、2 .限制、3 .性能需求、4 .设计约束、5 .支撑图
C.控制描述:1 .控制规格说明、2 .设计约束
Ⅳ.行为描述
A.系统状态
B.事件和动作
Ⅴ.确认标准
A.性能范围
B.测试种类
C.预期的软件响应
D.特殊考虑
Ⅵ.参考书目
Ⅶ.附录