设想把编程看成是转动曲柄从井里提一桶水上来的过程。如果水桶比较小,那么仅需一个能自由转动的曲柄就可以了。如果水桶比较大而且装满水,那么还没等水桶全部被提上来你就会很累了。你需要一个防倒转的装置,以保证每转一次可以休息一会儿。水桶越重,防倒转的棘齿相距越近。 测试驱动开发中的测试程序就是防倒转装置上的棘齿。一旦我们的某个测试程序能工作了,你就知道,它从现在开始并且以后永远都可以工作了。相比于测试程序没有通过,你距离让所有的测试程序都工作又近了一步。现在我们的工作是让下一个测试程序工作,然后再下一个,就这样一直进行。分析表明,要编程解决的问题越难,每次测试所覆盖的范围就应该越小。
本书是开源运动的独立宣言,它清晰、透彻和准确地描述了开源运动的理论与实际应用,对开源软件运动的成功和Linux操作系统的广泛采用都起到了至关重要的作用。本书在开源运动中的地位相当于基督教的,用黑客们的话说,这是“黑客藏经阁”的收藏。 本书并不只是在讲开源和黑客,所有关心软件开发和IT发展的人都应该花些时间通读全书,书中给出了大量充满智慧的观点和经过验证的概念,如命令体系、礼物文化、以少成多、内部市场、竞次、反公地模型、委员会设计、同侪声誉、模因工程、SNAFU现象、进化不利条件、软件业是服务行业、组织结构决定产品结构、准入门槛越低稳定性越高、程序员是资产而非成本等,这些内容会给你带来新的启示和思考。
《软件需求实践:SERU过程框架原理与应用》首先从软件需求实践中出现的主要问题和困难入手,指出了改进的主要方向;然后逐一说明了需求定义、需求捕获、需求分析与建模、编写规约、需求验证等需求开发活动的任务、要点和具体手段;并提出了一个可操作性强、易于上手的SERU过程框架,能够帮助读者清晰地了解整个过程,理解各阶段的关键产物和产物之间的关系。 《软件需求实践:SERU过程框架原理与应用》还对包括需求基线、变更管理、需求跟踪在内的需求管理活动的操作要点进行了阐述,给出了具有很强实践性的具体建议。综观全书,语言浅显、文字生动,蕴含了许多人文、心理、交流方面的知识,即使非技术背景的读者也能够轻松读懂大部分内容,从中受益。 《软件需求实践:SERU过程框架原理与应用》可作为计算机软件专业本科生、研究生和软件