11月我选择阅读的书是《需求模式——软件建模与分析》,这本书是共分为五个部分:1)绪论。2)需求获取。3)需求分析。4)需求的文档化和验证。5)需求管理与工程管理。这本书是关于软件需求工程的专项著述,目标是从开发者的视角出发,侧重于实践者的技术与方法,系统地介绍需求工程的最新发展,促进需求工程领域理论、方法和技术的全面融合应用,指导需求工程各阶段的系统化实践。这本书从需求的获取,建模,文档化,验证以及管理等各个方面介绍了需求工程,值得我们读一读。
什么是需求工程?需求工程是所有需求处理活动的综合,它收集信息、分析问题、整合挂点、记录需求并验证其正确性,最终反应软件被应用后与其环境互动形成的期望效应。需求工程是为了在软件开发前需要软件工程师们去了解并去设计出一套解决方案。因为软件工程师并不是了解所有领域。所以更加需要更用户沟通。需求工程十分重要。虽然人们很早就认识到这一点,但是在时间、人力、物力、财力的投入上却并没有那么重要。事后必然会导致需求分析水平低,软件开发质量低,用户抱怨多的问题出现。
需求分析师们必须具备以下技能以方便、明确、成功的做出需求分析:
1)需要专业技能,懂得需求工程的相关知识、理解需求工程的相关理论、熟悉需求工程的各项活动、掌握需求工程的各种办法与技术是必须得;
2)要有分析技能,必须可以从大量信息中提取、分析、整合出有用的信息处理,了解用户需求中的冲突与遗漏,分析可行性;
3)需要交流技能,这是必须的,要掌握交谈和提问的技巧,否则很难跟不懂软件的客户出现隔阂,隔行如隔山,大家不能各说各的吧;
4)还有观察技能、建模技能、写作技能、创新技能、协调技能等。
需求工程师应该具有敏锐的洞察力,可以通过观察用户的工作环境和工作过程,发现通过谈话及其他方法所无法发现的重要信息。同时也应该掌握从传统流程图到结构化的分析模型,直至当今的统一建模语言等多种分析工具。因为需要跟客户、管理人员、开发人员等交涉信息,所以需要写好书面的需求规格说明书。写作技能是必须的。需求工程师需要通过写作清晰的表达出复杂的概念。
软件需求位于软件工程的初始阶段,是软件系统开发中一个重要的独立工作阶段,为软件工程后续阶段提供了工作基础,对软件项目的成败至关重要。随着软件系统规模的日益扩大和复杂程度的日益增长,以需求分析为中心的的传统需求技术已不能适应现代软件及时的发展的要求,完整的需求工程工程应运而生。需求工程是开发者再进一步升入理解然软件项目需求处理活动之后提出的一阶段性活动。这本书从开发者角度出发,侧重实践的技术与方法,系统地介绍了需求工程中的最新进展,促进需求工程领域理论、方法和技术的融合应用。在系统的介绍需求工程中,运用一些实例让我对需求工程的了解进一步加深。
本书开始几节介绍了软件的发展,又软件的发展逐步写到需求工程的产生。软件实现其功能的基础、手段和过程是在用户领域内现实可理解的,即软件系统是在理解其现实环境的基础上,通过影响现实的某些环节,或者改变现实各部分的通信方式,最终达成某些目的或者解决某些问题的。应用型软件一般以普通用户为应用对象,因此也要求具有使用的方便性。实现功能的模拟性和使用的方便性也仅要求所用技术具有可行性。和工具型软件不同的是,应用型软件通常不是通用的,它们是为特定的应用环境定制的,对环境的模拟性是其主要的关注点。书中强调面向普通用户的纯工具型软件以功能的有用性为首要成功标准,一些过于复杂的功能反而会因其灵活性而丧失一定的实用性,进而受到用户的抵制。普通用户技术能力有限,所以对操作的要求以使用方便为主,在使用方便的前提下追求使用的高效性。实现功能的有用性和使用的方便性,利用常见的可行技术即可,先进技术并非必要条件。有效性是该类软件的主要关注点,能够有效使用即可占有一席之地。