现在的位置:首页 > 软件开发公告 > 新闻详情

需求分析在软件开发中的重要性--淄博软件开发

   一、绪论   随着计算机在日常工作中的普及,软件开发行业作为其必不可少的组成部分,被人们所认可。在我国,软件行业日渐成熟,小作坊式的开发形式,已经不能满足我国对于软件规范化、实用性的要求,软件开发流程化及各个职能部门工作的有效划分和正确协作,是现在软件行业面临的一个较大的问题。软件需求分析是软件开发的出发点,为设计起到指导性作用,所以需求分析在软件行业及开发流程中起着非常重要的作用。  “需求分析”,就是对需要解决的问题进行详细分析,弄清楚需要解决的问题。开发人员需要了解顾客的需求,然后体现在软件中。如果说软件开发过程中,开发人员需要了解自己做什么,顾客需要告诉开发人员自己需要什么,而需求分析就是连接开发人员和顾客之间的重要纽带。只有真正理解顾客的需求,才能设计出顾客所需要的软件。   在过去很长一段时间,开发人员的认为需求分析是整个开发过程中最简单的一个环节。然后越来越多的开发人员认识到它才是整个开发过程中的核心部分。正所谓“磨刀不误砍柴工”。只有真正理解了顾客的需求,才能顺利开发出顾客真正需要的软件。如果一味追求进度,而忽略需求分析,很可能南辕北辙,开发变得毫无意义。

  二、什么是软件需求分析   通俗地说,软件需求分析是解决做什么,怎么做的问题。告诉客户及开发人员,需要实现哪些功能,以何种方式,在什么平台去进行操作,开发结束后,应交付哪些东西。   需求分析就是分析软件用户的需求是什么。如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发,这种返工是让人痛心疾首的。(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。   (这个问题是最典型也是最常见的,现在这个问题一般很好避免,都知道项目的一些敏感性的东西,例如想会有哪些地方设计的不好可能导致以后的使用出现BUG。)  

     (一)了解顾客的要求      

     这是需求分析的重点任务,也是最基本的任务。只有正确了解、理解顾客的要求,才能顺利完成需求分析。

    (二)分析系统的数据要求   软件产品是指软件开发商根据市场需要开发的、具有一定适用性和潜在客户的、可销售的软件成品。它区别于应特定客户需求或根据订单开发的软件商品,通常应具有更高的通       用性和适应性。但它的通用性和适应性不是轻而易举就能达到的。要实现软件的产品化,就必须在软件产品的设计上下一番功夫。 本文结合一个"多媒体远程教学系统"实例,探讨软件产品设计中的一些经     验与看法。

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

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

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

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

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

 四、需求分析的方法   需求分析的方法有很多。这里只强调原型化方法,其它的方法如:结构化方法,动态分析法等(个人认为,对初学者不必深究这些方法,实际上我也从来没用过这些方法)在此不讨论。原型化方法是十分重要的(是软考等常考的知识点)。原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。通过反复测试和改进最终完成目标系统。 原型化方法就是尽可能快地建造一个粗 糙的系统,这系统实现了目标系统的某些或全部功能,但是这个系统可能在可靠性,界面的友好性或其他方面上存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等。如,为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。以后的目标系统就在原型系统的基础上开发。原型主要有三种类型(软考考过):探索型,实验型,进化型。探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。   在使用原型化方法是有两种不同的策略:废弃策略,追加策略。废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整,准确,一致,可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。   追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略。 

五、总结  需求分析为软件的开发起到了决策的作用,提供了开发的方向,并指明了开发的策略,在软件开发及维护中均起到了举足轻重的作用。大家一定要足够重视需求分析,可以说在一个大型软件系统的开发中,它的作用要远远大于程序设计。永远别忘了:需求分析和程序设计不尽相同,合理、可行是才是重要的。跳出程序设计的圈子,站在系统的角度上来看问题,你的结论会截然不同。淄博软件开发


想要了解更多详情欢迎来电咨询18678812288,或登陆网址www.wfydkj.net 联系人:王经理。

软件开发行业资讯

公司新闻

软件开发成功案例 查看更多+

  • 淄博智慧井盖---潍坊智慧井盖智能

    淄博智慧井盖---潍坊智慧井盖智能

  • 潍坊应急指挥调度云平台--潍坊户

    潍坊应急指挥调度云平台--潍坊户

  • 淄博智慧党建-潍坊智慧党建平台,

    淄博智慧党建-潍坊智慧党建平台,

  • 潍坊应急指挥调度,淄博应急指挥调

    潍坊应急指挥调度,淄博应急指挥调

  • 潍坊环卫人员管控平台--淄博在外

    潍坊环卫人员管控平台--淄博在外

  • 淄博、潍坊检察院人员分类管理绩

    淄博、潍坊检察院人员分类管理绩

  • 潍坊应急管理局智慧化平台整体解

    潍坊应急管理局智慧化平台整体解

  • 淄博交规速成系统|潍坊交规考试软

    淄博交规速成系统|潍坊交规考试软

  • 检察院网络服务大厅软件平台

    检察院网络服务大厅软件平台

  • 企业在线考试系统

    企业在线考试系统

  • 党员在线考试系统

    党员在线考试系统

  • 淄博心理测评软件|潍坊心理测评系

    淄博心理测评软件|潍坊心理测评系

  • 潍坊内部培训管理系统|淄博出国留

    潍坊内部培训管理系统|淄博出国留

  • 潍坊物流软件开发|淄博快递软件开

    潍坊物流软件开发|淄博快递软件开

  • 狠刹“四风”网络监督平台软件

    狠刹“四风”网络监督平台软件

  • 党员领导干部德廉知识在线学习测

    党员领导干部德廉知识在线学习测

  • 潍坊在线考试系统|淄博在线考试软

    潍坊在线考试系统|淄博在线考试软

  • 菏泽新巨龙煤矿采掘资料达标管理

    菏泽新巨龙煤矿采掘资料达标管理

  • 科技信息评价信息系统

    科技信息评价信息系统

  • 绩效考核系统

    绩效考核系统

无标题文档