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