此书前言中讲解了什么是软件需求和怎么样进行软件需求分析两个问题,简单点来说前者就是面向客户方和软件开发方,将双方的诉求进行有机结合,最终形成双方持有的一个契约。后者是运用“一法两点”,“一法”是说要掌握逻辑方法,“两点”是说要懂客户业务知识和软件知识。
新一代软件需求工程的表现为工作阶段划分、需求获取方式、关系定位和指导思想不同。需求规划是新一代需求工程中的最大亮点,它的工作是将业务、对象和信息化体系作为研究对象,采用科学研究、体系架构设计、信息资源规划的方法,编制出具有系统性、科学性、前瞻性的需求规划成果。需求规划的成果中包括形势分析、业务体系分析、对象体系分析等内容。它为需求开发中的需求获取奠定了坚实的基础。需求规划工作的原则是“业务定性、定量、定细节,系统定性、定量、定宏观”。本书由原理篇、知识篇、方法篇、应用篇、组织篇等构成。《软件需求十步走:新一代软件需求工程实践指南》提出了七个主要问题和对应得解决方法——难点问题:软件需求的不完整、不准确、变化不可控、一致性等难点问题。性能问题:如何建立能用、好用、耐用的软件产品。范畴问题:软件需求工作范畴到底是由客户提出的还是软件开发工程师提出。鸿沟问题:业务和软件之间的鸿沟问题。关系问题:需求工程和软件工程的关系问题是需求工程的核心问题。观念问题:软件需求分析的观念远远滞后于时代发展的问题。地位问题:需求分析部门在组织中的地位问题。因此,《软件需求十步走:新一代软件需求工程实践指南》:转换一种新的思路:业务驱动是核心,技术支撑是关键:业务需求工作的原则是不是客户告诉需求分析人员业务需求,而是需求分析人员要向客户讲述业务需求。引入一套新的方法——通过需求规划来获取业务需求。 “业务驱动而非技术驱动、面向业务的问题和目标、做到定性定量可计算”。
它的第一章内容主要是讲了对软件需求的反思,近年来,随着软件行业的迅速发展,对软件需求的要求也越来越高。无数个实践证明了如果软件需求做不好,软件必定会受到不同程度的影响,这一章主要讲了对以往的人们的错误认识的反思,要使软件需求做到完整、准确、清晰、变化可控等绝不是一个简单的事,需要重新定位软件需求并借助逻辑的方法才是解决之道。在软件工程的发展过程中,人们一直认为需求分析是整个软件工程活动中远比系统设计和开发编码要简单的工作,长期以来软件工程的重点放在系统设计和软件开发等领域的研究上。随着软件开发技术水平的提高,人们发现需求分析越发成为制约软件项目成功的一个短板。从20世纪90年代中后期,人们逐步认识到需求分析是整个软件开发过程中一个重要的、关键的业务活动,将需求分析从软件工程中分化出来,作为一个分支来加以认识和研究,就有了今天的软件需求工程这一领域。需求工程中将整个工程分为需求开发和需求管理两部分,其中需求分析是需求开发的其中一个环节,这无疑是有了重大进步,从此确立了需求开发与软件开发是同等重要的观念。需求工程是确保软件需求质量的,软件工程是确保软件开发质量的,一个软件项目要想成功,必须握有需求工程和软件工程这两把利剑在手。 当前需求工程工作开展的情况如何呢?近年来大量的高校、研究机构、软件企业投入了大量的人力、物力、财力进行了卓有成效的研究和探索,也取得了一定的成果。比如在需求分析方法层面,其成果体现在结构化分析方法、面向对象方法、面向问题领域分析方法等。这些方法和工具为推动需求分析向系统化、科学化方面起到了至关重要的作用,其中UML工具将需求分析成果自动化转化成系统设计成果方面尤为突出,解决了长期困扰软件开发中需求分析和系统设计之间失真的问题。