[需求是软件的核心部分,就像发动机没有汽油不能运行一样。软件没有需求就没有存在的价值,需求就是软件的土壤或基石,一样的需求或许因为不同额理解和解释会开发出个性迥异的软件,这就像是相同的种子在不同其中的种植下,长出不同差异的果实一样。]
锐智互动根据多年服务企业软件开发的项目经验,总结出做好需求工作需要做好以下几点:
一、分析软件开发的需求特点
1、目的性:希望得到什么,有明确的的要求,
2、描述性:可描述的需求内容,可以详细解释的
3、操作性:有步骤、可进行操作,哪怕只有一个步骤,
4、条件性:在一定条件下可实现的需求,
5、计算性:需要有固定算法,不然无法实现,即使人工智能、人工模拟也是通过最基本的算法而成的;
6、验证性:需求最终实现后怎样判断结果是否正确?需求是否可被验证,
二、在实践过程中,用户一开始提出的需求,往往是模糊的,不明确的,毕竟大部分的用户都不是信息系统的专业人士。开发设计人员需要分化分解才能够理解需求的内在本质。需要从以下几方面考虑问题:
1、客户的现状是什么:用户目前的现状、用的什么系统,市场情况、使用材料、设备、方法、人员、技术和流程,和有什么缺陷、错误、抱怨或损失,数据量、使用频率、用户量、使用范围、业务相关性和重要如何;
2、客户的期望是什么:什么样的问题最需要迫切解决,用户系统提升到什么程度,需求的便利性和拓展性怎样?
3、客户有没有替代方案:如没有解决方案,可以代替的方案有几种,方案之间的优缺点是什么?
4、客户的预算范围:开发预算决定开发量和使用技术的成本。
5、需求的范围:公开、内部、多厂区、多语言使用还是分阶段使用?使用的用户量是多少、是否需要控制权限;
6、需求的内容是什么:结构图、流程图、操作说明、数据报表等具体内容;
7、需求的样本:如用户、材料清单、服务器配置、数据接口参数、数据格式和报告说明等需求的实例文件。
综上:需求清楚是软件设计与软件开发的工作依据,是决定软件成果能否落地的关键。所以选择软件开发公司时,对软件开发公司安排的梳理需求的人员的专业和经验需要重点评估。