做软件和做其他商品一样。一定要符合规格,也就是需求。
而且如果软件开发周期比较长的话呢,要求项目人员(特别是项目经理和分析师)对规格就一定要把握的很准确。
好处自然不用说了,降低风险,减少成本,最大化收益!
然而,拿过来一个项目或产品,如何才能很准确地把握需求呢?
首先,要明白,把握需求的关键是:问题是什么?别看只有5个字,但很多人却理解不好。有很多人在这个阶段过多地考虑到了设计和实现。结果导致理解的需求不是用户真正的需求,而是从自己设计或实现的角度曲解的东西。结果可想而知,最终产品总有这样或那样的问题。
“问题是什么?”,就像我们考试一样,对于问答题,首先要理解题干,就是问题是什么?明确问题的实质;然后才是如何解决问题,构思答案;然后是回答问题,最后是检查,交卷。所以做个类比,理解题干就相当于我们做需求分析;构思答案就相当于设计;写答案就相当于实现;检查就相当于软件测试;交卷就相当于交付。
当然,回答一个问题周期一般不会很长,然而,针对软件开发,这个周期可能要长的多。所以每一个阶段都要占用很长的时间。虽然这个理论在很多软件工程书上都写了。但真正在实现的时候,却有很多人或团队不按照这样干,还是作坊式的各行其是。
那么既然明白了软件开发首当其冲的任务是搞清需求。理解问题的实质。
那么理解问题实质的最佳途径也是最有效的途径就是最终用户参与和交互。然而在这里有一个问题一定要注意:需求不等同于需求分析。
需求是用户提出的要求。它只能从用户的角度粗粒度的说明待开发的项目或产品业务范围,也就是我们通常所说的商业场景。其最大的特点就是粗粒度的,简单描述的业务场景。然而,这同时也是项目最原始的,最根本的依据。
需求分析一般由系统分析师完成。系统分析师主要的职责就是从用户模糊的需求中分析出项目要包含的功能性的和非功能性的细致的描述。
需求分析一般可以通过两种方式完成:一种是原型法。另一种是用例驱动法。
原型法:顾名思义,为了准确地把握用户需求,先让项目组成员开发出一个项目原型,交由用户使用,用户根据原型进一步确定需求。系统分析师根据用户使用后的反馈,完善需求分析,最后获取用户的全部需求进行分析。由于用于获取需求的原型要事先做出来,所以从成本的角度讲,原型的开发周期不能太长,成本不能太高。
另外一种就是用例驱动,对用户提出的需求进行建模,然后对每一个用例进行描述,交由用户查看反馈,优化模型,最终得到全部的需求。
从这两种的途径看来,需求分析是至关重要的。它能够清晰反映用户的要求,清楚表示每个功能的业务规则和业务数据。为项目经理的项目进度计划安排提供佐证。为后期的设计提供根据。
所以做好第一步,后面的东西就有据可依,就能有效降低风险,保证项目的成功!
分享到:
相关推荐
浅谈软件需求稳定性最终版.pdf
浅谈软件需求分析中的参与者
浅谈软件需求说明书的编写.doc
建模就是采用表格化、图形化、公式化的方式,将系统的构成及其构成间的关系呈现给人们的一种技术方法。
在软件项目的开发过程中,需求变更贯穿了软件项目的整个生命周期,从软件的项目立项,研发,维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能 ,优化性能,提高...
浅谈软件项目需求管理.pdf
软件项目为什么会失败?- 浅谈需求驱动的项目管理
浅谈软件设计的需求分析与体系结构.pdf
浅谈软件设计的需求分析与体系结构(20211112174707).pdf
浅谈软件需求分析过程.pdf 煤炭企业业务事例型网络架构.pdf 用例建模技术在需求获取中的应用研究.pdf 设计模式——Java手册.pdf 试谈企业入口网站的规划和建构.pdf 软件工程中的需求分析.pdf 面向组件对象的软件需求...
一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节: 需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.
浅谈需求分析在软件开发中的重要性.doc
浅谈计算机软件开发设计的难点及解决措施全文共4页,当前为第1页。浅谈计算机软件开发设计的难点及解决措施全文共4页,当前为第1页。浅谈计算机软件开发设计的难点及解决措施 浅谈计算机软件开发设计的难点及解决...
软件测试方法软件测试方法分为静态测试和动态测试两类 。 ...对照需求验证代码的准确性 、 完整性 , 证代码满足详细设计 , 编码符合规定的标准 。 代 走查也以小组方式进行 , 是在小组成员认真研究
下面就浅谈应用该软件以来的几个方面的优点。 【关键词】健康体检软件,杏林七贤,体检软件,体检中心信息化 1健康卫士体检软件的概述 软件通过与医院现有的医学影像系统(LIS系统)、医学检验系统(HIS系统)及“军...
浅谈对⼤数据的理解 浅谈对⼤数据的理解 ⼤数据(big data): ⼤数据(big data): 指⽆法在⼀定时间范围内⽤常规软件⼯具进⾏捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策⼒、洞察发现⼒和...
浅谈软件测试管理[2]软件测试3.测试的人员组织为了保证软件的开发质量,软件测试应贯穿于软件定义与开发的整个过程。因此,对分析、设计和实现等各阶段所得到的结果,包括需求规格说明、设计规格说明及源程序都应...
软件过程中,需求调研是项目开始的第一步,这里浅谈一下需求调研的方法。
软件定义网络概念逐渐进入人们的视野,并作为一种新思维模式的突破慢慢改变着网络世界 的格局。 SDN 是一种将网络控制平面与转发平面分开的技术, 使得控制平面和数据平面可 以独立演进,此外还设计了逻辑集中的、...
浅谈未来计算机与计算机网络技术的发展 浅谈未来计算机与计算机网络技术的发展全文共3页,当前为第1页。 摘要:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线缆连接起来,在网络...