软件需求是什么?是客户最基本的要求,是开发人员如何针对开发的基准,若软件开发没有了这一步,也就失去了此次开发的必要性,也就如同做了无用功。有需求的存在,对客户、开发团队双方来言是互利的存在,所以我们作为软件工程的学生,自当做好对需求的正确、准确分析。
软件需求是软件项目和产品开发的起点,更是用户和开发团队之间沟通的基础。理论上,获取的需求足够完整、正确,特别是在形式化可验证的情况下,就可能利用相关技术开发出高质量的软件。但需求确是一个较宽泛的概念,那如何获取准确的需求,如何找到正确的方法?现今,工程化的方法(需求的研究与现实开发结合)仍在使用。需求分析中的分析包括:逻辑方法中的定义、划分、归纳、演绎、推理、假设、论证等。
要做好分析工作,首先要对以上逻辑方法清楚了解,学会综合使用。分析的对象,自然有两个,一是客户的需要,二是软件构成的要素。分析的目的:让客户的需求和软件构成的要素建立匹配关系,也就是开发出符合用户习惯、可接受的软件。
总结来说:要做好分析工作:即是“一法两点”。一法:掌握逻辑方法,两点:懂客户业务知识和软件知识。软件项目的失败根源大多时候都是需求分析的不完整、不准确、不一致,所以,找到真正的用户需求就显得十分重要。
当前软件需求面临着
①难题问题(需求的不完整、不准确、变化不可控、不一致等)
②性能问题(是否能用、好用、耐用)
③范畴问题(业务需求是客户提出的,但也属于软件需求工作的范畴)
④鸿沟问题(业务和软件之间实际是同一个抽象在不同的领域的实现)
⑤关系问题(关于需求工程和软件工程之间的界定: 需求工程是圆心,客户业务是内核,软件工程是圆点)
⑥观念问题(需求分析的观念传统与时代的相适应)
⑦地位问题(应重技术、轻业务)
我们学习软件需求分析的步骤是什么样的呢?常规步骤:先了解原理(需求工程原理篇、需求工程篇),然后应用(需求方法篇、需求规划篇、需求开发篇、需求管理篇),最后组织构建需求分析体系。需求工程过程是有需求规划、需求开发的业务活动构成的业务过程和需求管理的管理活动构成的。需求规划的业务活动特点:“业务定性定量定细节、系统定性定量定宏观”,需求开发的业务活动特点:“操作定性定量定细节,功能定性定量定细节”,需求开发的业务活动特点:“操作定性定量定细节,功能定性定量定细节、性能定性定量定细节”,接口是定性定量定宏观。即管理活动的特点:“三控、五管、两协调”。