每天,Google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《Google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《Google软件测试之道》抓住了Google做测试的本质,抓住了Google测试这个时代最复杂软件的精华。《Google软件测试之道》描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理及在Google的测试历史或在主要产品上发挥了重要作用的工程师的访谈,这对那些试图建立类似Google的测试流程或团队的人受益很
本书针对软件工程中的关键问题,讨论了如何分析问题并提出解决方案。书中介绍了目前的软件技术和工具,引用大量实例研究和文献中的例子,讨论它们如何影响我们构建和使用的最终软件产品。Pfleeger博士将的软件工程方法应用到了两个完全融合到一起的个案研究——一个是真实的信息系统,一个是有大量需求的实时系统——清楚地描述了大型软件开发项目是怎样从需要发展为想法、再转变为现实的过程。最终给出高质量的软件的解决方案。 本书是为本科生的软件工程课程而设计的,也适用于研究生课程,也可供那些希望扩展专业知识的软件开发人员和项目管理人员参考。
本书全面深入地讨论持续集成的各个方面。本书介绍了一种增加项目可见性、降低项目失败风险的有效实践。许多软件开发的资深人士认定,这种方法非常不错。本书除了介绍持续集成的基本原则和工具之外,也介绍了测试驱动、代码审查、数据库集成、信息反馈等实践和工具。书中的各种主题介绍了今天在持续集成领域中运用的各种方法,帮助读者衡量需要进行的折衷。
本书以案例学习的方式讲述了软件开发全过程中涉及的一系列问题和持续一致地实施成功软件开发的系统化方法,并从以下几个方面探讨了软件开发与管理的技术:项目规划过程、软件系统开发过程、变更控制过程、产品与过程的评审、软件度量等。本书还包含了许多生动丰富的图片,可对软件开发人员提供有益的帮员参考。 在互联网时代,软件担负的角色比过去更为关键,软件开发项目偶尔成功已不再满足要求。我们需要持续地交付产品——而且必须比以前更快。 本书基于“软件系统开发没有方法”这一事实,引入了一种成熟而灵活的软件开发过程模型——系统工程环境(SEE)。该模型包含互不可分的两大基本元素:用于定义如何进行软件开发的方针与规程,以及用于完成工作的技术方法。 通过学习使用SEE框架,你可以: 理解并“推销”
本书介绍了一套已经得以完整构建的设计方法,涉及产品开发的各个领域,涵盖了从市场需求的探究、概念的产生和实现、竞争对手的分析、设计与工程的结合等各个方面,以大量的实例阐述了反向设计法与再设计等新的设计理论和方法。这套方法源自于许多工业方面的实例,研究重点在于产品的设计与设计要素的构成。从下达一项设计任务开始,就建立一个符合设计预想规范的功能模型。在其后的设计过程中,均以该功能模型为设计基础,将规范落实到设计的每一个步骤中。从而使设计师在保证利润的前提下能够创造性地、有效地解决产品开发的问题。
项目成败的关键在于是否在“做正确的事情”,而本书正是从分析的角度帮助项目来做到这一点。本书中分析活动是指对人(利益相关者和用户)、情境(人所处的环境)、利益相关者的需要以及解决方案的分析和理解,同时,分析活动要贯穿项目始终,将敏捷思维模式应用在所有分析活动中,才能助力项目成功。本书共分4个部分15章,内容涵盖将敏捷思维模式应用到分析中会涉及的理念、案例分析、技术和相关资源。本书并没有将太多篇幅放在解释那些已被证明的技术上,而是更注重实用性,注重如何选择合适的方法进行需求分析。
《软件详细设计教程》在软件工程知识体系框架下,围绕着软件形成过程,以软件详细设计这一关键环节为中心,系统讲述了软件详细设计的基本思想、理论、方法、技术,以及软件详细设计技术在软件工程中的应用方法、原则和技术规范。 《软件详细设计教程》首先从详细设计阶段前的先导过程出发,介绍了包括软件体系结构、统一建模语言、软件需求工程、软件设计工程在内的相关基础性知识;其次重点介绍了软件结构化详细设计和面向对象详细设计这两类主流技术,并与软件实现过程相结合,介绍了软件编码设计与规范,指出了面向对象软件实现的衔接方法;最后介绍了软件测试的方法、过程与技术,强调了软件详细设计与软件测试二者之间的应用关系和协作方法。 《软件详细设计教程》适合作为高等院校计算机、软件工程、信息工程、通信工程
本书以UPEDU软件工程过程作为具体的过程实例,全面介绍软件工程过程的基本知识,阐述了一系列助于在更短的时间内开发出更好的软件的活动。全书分4个部分:第I部分介绍了软件过程的基本问题,即软件生命周期的方法、工具和概念;第II部分和第III部分主要介绍软件工程规范和管理规范;第IV部分介绍软件工程过程的质量和建模问题,最后一章介绍了软件工程元模型,它是所有软件过程的理论基础。 本书主要作为软件工程过程的教材,要求读者具备的面向对象方法和UML知识。
本书是《国防科技工业质量与可靠性专业技术丛书》之一。 本书共分九章和两个附录,其内容包括:软件质量管理概述和基本概念,软件质量管理 基础,软件质量评价、软件开发和维护过程控制,软件验证与确认技术和方法,配置管理和FRACAS,软件质量管理的相关文档,软件过程改过。两个附录包括软件设计准则和软件设计评审检查单示例。 本书以作为国防工业质量管理专业人员、软件研制人员、软件测试人员、型号研制管理人员对开展质量管理工作提供反术支持和学习参考用书。
每天,Google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《Google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《Google软件测试之道》抓住了Google做测试的本质,抓住了Google测试这个时代最复杂软件的精华。《Google软件测试之道》描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理及在Google的测试历史或在主要产品上发挥了重要作用的工程师的访谈,这对那些试图建立类似Google的测试流程或团队的人受益很
《Unity 3D ShaderLab 开发实战详解(第2版)》全面讲解了Unity Shader渲染的实战技术,全书分为5篇共33章,主要内容为:Shader在3D游戏中的作用、Shader的实例化、Shader的实现语言等;Unity中Shader的形态、SubShader的重要标签、可编程Shader、Surface Shader;Shader中用到的各种空间的概念和Shader中的投影矩阵;基本的光照模型;一个被执行的Pass,包括渲染路径和Pass的LightMode标签;VertexLit渲染路径,包括顶点照明和Unity存放光源的方式;Forward渲染路径;基于光照贴图的烘焙照明;NDC的验证;基于LightProbes的照明;平面阴影;球体阴影;体积阴影;映射阴影;内置的阴影;Pass的通用指令开关;Blend操作;Stencil蒙版;固定管线;Surface Shader;凹凸材质;卡通材质;镜面材质;半透明材质;制作透明材质;体积雾;Wrap Model新解;用Shader切割物体;面积光;体积光;材质替代渲染;自定义材
在软件领域,很少能有像《人月神话》一样具有深远影响力和不衰的著作。Brooks 博士为人们管理复杂项目提供了洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks 博士在IBM 公司SYSTEM /360 家族和OS /360 中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。 在《人月神话》次出版40 年后的今天,我们重新整理了Brooks 博士的经典内容,并将国内软件开发领域先行者们对《人月神话》中的实践及系统理论的使用经验和心得集结成册免费赠与大家共享,更使本书成为国内从业者的经典之一。 本书读者包括:软件开发人员、软件项目经理、系统分析师等IT 从业者。
本书是“面向21世纪计算机专业本科系列教材”之一,是紧扣“计算机学科教学计划2000”进行编写的,是系统、全面地介绍软件工程的思想、技术和方法的*教科书。 本书分软件工程技术与软件工程管理两部分。软件工程技术部分包括软件工程概述,软件需求分析,软件复用,软件测试,软件维护与软件再工程,软件工具与软件开发环境等内容;软件工程管理部分包括软件质量管理(含软件可靠性与软件容错技术),软件文档与软件工程标准化,软件项目、配置及人员组织管理,软件知识产权保护等内容;后介绍当前国际上软件工程研究的新方向。 本书可作为计算机专业本科生的软件工程教材,也可作为广大软件产业及IT产业从业人员的软件工程参考工具书。
本书采用工程理论、工具详解和实际案例分析相结合的方式,全面介绍了英特尔ParallelStudio工具集的使用。全书分三部分:基础部分(第1、2章)介绍了多核架构、并行编程的关键理论,ParallelStudio的特点以及一些简单案例;中级部分(第3~12章)详述了ParallelStudio各个组件的使用,是本书的重点;提高部分(第13章)选取了来自英特尔线程挑战赛的4个算例和1个商业软件并行优化案例,提供了从工程实际角度解决并行问题的视角。 本书适合所有对并行开发技术感兴趣的人员,包括具备一定编程经验的程序员、调试人员,计算密集型行业的高性能计算架构师、性能优化分析师,并行开发的研究人员,对英特尔ParallelStudio感兴趣的技术决策者等。此外,本书也可作为高等院校计算机专业并行开发相关课程的培训及社会实践参考用书。
软件能力成熟度模型(CMM)在国外软件企业中应用很广泛,它为软件企业开展质量管理、上规模和出效益指出了一条可行之路。 本书共分8章,内容包括:第1、2章介绍CMM的基本概念、基本原理和体系结构。第3、4、5、6章分别介绍每个软件成熟级别的详细标准(1级除外)。第7章介绍CMM和ISO9000的区别所在。第8章介绍了本书作者在北京市自然科学基金和国家社会科学基金课题研究中的部分观点,从国内外软件产业实施CMM的情况,提出了我国软件产业实施CMM的对策。 本书可以作为从事软件行业的工程技术人员、软件过程管理人员和软件企业经理们的参考书,也可供计算机软件专业、信息管理专业本科和研究生参考。
本书通过理论与实例结合的方式,深入浅出地介绍了LabVIEw的使用方法和使用技巧。全书共分12章,每个章节中都配有必要的实例,目的在于让读者结合实例更加快捷地掌握LabVIEw的编程方法。第l章介绍虚拟仪器系统的基本概念、组成与特点,虚拟仪器技术的发展现状与展望;第2章介绍LabVIEW8.2.1的新功能和新特性,编程环境以及帮助系统;第3章介绍LabVIEW的前面板、前面板控件及其使用方法和属性设置、程序框图及其组成要素;第4章介绍创建和编辑VI的方法,运行和调试VI的方法与技巧以及创建和调用子VI的方法,Express VI的概念及使用方法,菜单的创建方法;第5章介绍LabVIEW中的程序控制结构框图;第6章介绍局部变量和全局变量,数组、簇和波形数据;第7章介绍LabVIEW中与数据显示相关的内容;第8章介绍L,abVIEW中与数据的存储和读取相关的内容:第9章介绍LabVIEW中
极限编程(XP)是一种经历过实践考验的轻量级软件开发方法学,本书提供了*的XP开发人员的实践途径。 本书共分3部分,第1部分探讨了XP编程规则,其中第1章介绍了XP程序员的编程方法-测试先行的增量编程方法;第2章介绍了XP程序员改进代码的方法-重构。第2部分探讨了XP团队是如何实践的。其中第3章介绍了面向团队的实践活动和其他的替代方案;第4章介绍了结对编程实践;第5章介绍了XP程序的体系结构;第6章探索了如何用隐喻驱动不同类型系统的概念化并实现它。第3部分探讨了XP过程。第7章描述了版本发布计划;第8章演示迭代的计划游戏;第9章描述迭代过程中客户、程序员和管理人员的日常活动。本书后全面总结了XP,并提供了大量的XP参考资源。 本书就XP各方面的具体机制进行了专题探讨,语言轻松活泼,实用性与可读性较强,适合于软件开发人员、
CMMI(Capability Maturity ModelIntegration,能力成熟度模型集成)包含了产品的开发、维护及服务方面好的实践做法、覆盖了从开始到交付和维护的整个产品生命周期。本书是CMMI框架(CMMIFramework)的扩展,功能上等价于CMMI框架。本书提供了所有CMMI模型的信息,读者无需选择某种特定的模型来开始启动,所有的选择都被集中到本书中了。本书既介绍了所有CMMI模型的共同点,也说明了它们之间的区别。读者可以通过本书理解每种CMMI模型并用它们来*地满足自己的需要。
《UML建模设计与分析标准教程(2013-2015版)》全面介绍了使用UML,进行软件设计、分析与开发的知识。全书共包含18章,内容涉及面向对象的分析方法和设计方法,面向对象分析的三层设计,现实开发模型中所存在的问题,用例图、类图、对象图和包图,活动图,通信图、时间图、状态机图、组件图和部署图,UML的核心语义、UML的体系结构以及面向对象约束语言等,最后两章通过具体的案例详细介绍如何使用UML中的模型图对系统建模。 王菁和赵元庆等编著的《UML建模设计与分析标准教程(2013-2015版)》内容全面、实例丰富,适合作为高校相关专业和社会培训教材,也可以作为软件设计人员和开发人员的参考资料。
Martin Fowler和本书另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。本书解释重构的原理(principles)和实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。本书的核心是一份完整的重构名录(catalog of refactoring),其中每一项都介绍一种经过实证的代码变换手法(code transformation)的动机和技术。某些项目如Extract Method和Move Field看起来可能很浅显,但不要掉以轻心,因为理解这类技术正是有条不紊地进行重构的关键。本书所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口。