项目需求分析

项目需求分析

功能与客户达成一致的一款软件
项目需求分析是功能与客户达成一致的一款软件,指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。
    中文名:项目需求分析 外文名: 适用领域: 所属学科: 软件:功能与客户达成一致 最终形成:开发计划的一个复杂过程 需求分析:是指理解用户需求

为什么要需求分析

需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。

需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位。大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计。

需求分析的过程

需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审。

问题识别

就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求(做什么),性能需求环(要达到什么指标),境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行时所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标。

分析与综合

逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型)。

制订规格说明书

即编制文档,描述需求的文档称为软件需求规格说明书。请注意,需求分析阶段的成果是需求规格说明书(好象软考曾经考过这个问题)向下一阶段提交。

评审

对功能的正确性,完整性和清晰性,以及其它需求给予评价。评审通过才可进行下一阶段的工作,否则重新进行需求分析。

需求分析的方法

需求分析的方法有很多。这里只强调原型化方法,其它的方法如:结构化方法,动态分析法等(个人认为,对初学者不必深究这些方法,实际上我也从来没用过这些方法)在此不讨论。原型化方法是十分重要的(是软考等常考的知识点)原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能,但是这个系统可能在可靠性,界面的友好性或其他方面上存在缺陷。

建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等。如,为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。以后的目标系统就在原型系统的基础上开发。

原型主要有三种类型(软考考过):探索型,实验型,进化型。探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。

在使用原型化方法是有两种不同的策略:废弃策略,追加策略。废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整,准确,一致,可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。

追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略。

相关词条

相关搜索

其它词条