软件工程及软件方法学
-
移动软件开发技术卢军,郭本俊 主编随着3G时代的到来,移动环境的软件编程技术已成为程序员必须掌握的技术之一。鉴于国内该类书籍较少,作者结合多年的研究和教学经验编写了本教材。全书共分为12章,包括移动计算的概念和模型、移动Agent技术、移动终端操作系统简介、无线通信技术、移动服务架构MSA、普适计算概述、Android开发平台、Windows Mobile开发平台、Svmbian开发平台、Openmoko开发平台和J2ME开发平台等内容。《移动软件开发技术》面向移动计算技术的初学者,既有详尽的理论阐述,又有丰富的案例程序,使读者能容易、快速、全面地掌握移动环境软件编程技术。《移动软件开发技术》循序渐进、内容完整、实用性强,以教材方式组织内容,可作为大中专院校计算机相关专业学生、高等职业技术院校计算机相关专业学生、计算机培训教师和学员的教材,也可供计算机爱好者和相关技术人员参考。《移动软件开发技术》是一本完整的介绍移动软件开发技术的教程,取材广泛、内容丰富,包括移动计算基础和普适计算知识、移动服务架构、各种不同开发平台及详尽案例。全书侧重于移动计算开发技术,对移动计算技术的发展和应用进行了深入细致的分析和研究。《移动软件开发技术》由浅入深、循序渐进地介绍了移动开发技术的知识点。重点介绍了移动计算模型、移动Agent技术、主流移动终端操作系统、移动服务架构MSA、普适计算及各主流开发平台完整开发案例。《移动软件开发技术》对读者入门要求不高,读者只需要具备最基本编程思想和计算机基础知识就能掌握移动计算的总体框架、应用方式及开发特点。 -
用户故事与敏捷方法(美)科恩 著,石永超,张博超 译,李国彪,滕振宇 审校《用户故事与敏捷方法》详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如何搜集和整理用户故事,如何排列用户故事的优先级,进而澄清真正适合用户需求的、有价值的功能需求。《用户故事与敏捷方法》对于软件开发人员、测试人员、需求分析师和管理者,具有实际的指导意义和重要的参考价值。 -
探索式软件测试(美)惠特克 著,方敏,张胜,钟颂东 等译谈论软件质量的方法有很多,感兴趣的听众也有很多。本书是为软件测试人员而写的,写的是一种我认为比其他任何缺陷都重要的特殊缺陷:即逃过所有各种检测手段而最终存在于发布产品中的缺陷。 任何一个软件公司发布的产品都有缺陷。缺陷是怎么引入的?为什么没有在代码审核、单元测试、静态分析或其他面向开发人员的活动中把它们找出来?为什么自动化测试没有找出它们?那些缺陷有些什么特质使其能逃过手工测试? 什么是找出产品缺陷的最好方法? 本书针对的正是最后一个问题。在第2章“手工测试”中,我提出了一个观点:因为用户是在使用软件过程中找到这些缺陷的,所以我们的测试人员也应该通过使用软件来找到它们。无论使用自动化测试和单元测试,还是其他一些手段,都难以接触到这些缺陷。无论测试人员怎么实现自动化测试,即使全部都自动化,这些缺陷还是会处处作怪,并在产品中屡屡重现从而伤害最终用户。 问题在于很多现代化手工测试实践都缺乏目的性,随机性强且重复性强。有些人可能还会加上一条:手工测试无聊透顶。本书试图为手工测试流程提供一些指导、技术和规划。 在第3章“局部探索式测试法”中,针对测试人员在运行任何一个测试用例时都需要做出很多细微的战术层面决定,我给出了详尽的指导建议。测试人员必须决定对于某个特定的输入字段应该使用什么输入值,或者给应用程序使用的文件提供什么数据。在测试过程中,必须做出许多这样的小决定。在缺乏指导的情况下,这些决定常常是未经分析且不是最优化的。在向一个文本框内输入一个数时,选择整数4难道就胜过整数400么?应该用长度为32字节的字符串还是长度为256字节的字符串?选择一个而不选另一个是有一定道理的,这一切都取决于处理该输入的软件的具体情况。鉴于测试人员每天都要做出数百次这样的小决定,在这里提供有效的指导建议显得至关重要。 在第4章“全局探索式测试法”中,针对测试人员在编制测试计划和测试用例设计时需要考虑哪些广泛的战略性问题,我也给出了一些指导建议。这些技术都基于“漫游测试”(tour)概念,如同一个导游带领旅游团队参观大都市中一系列著名景点一样,这种漫游测试法指出的路线可以指导测试人员如何探索软件的方方面面。这里的探索并不一定是随机的或者漫无目的的。本书所记录的方法已经成为微软和谷歌的许多测试人员日常工作的一部分。诸如“地标测试法”(landmark tour)和“极限测试法”(intellectual’s tour)等词汇已经列入了手工测试人员的标准词汇表中。测试技术以前确实被称作“漫游”,但是用整个旅游业来隐喻软件测试,并在测试实际发布的应用程序时,大规模使用这些隐喻的名称,还属于本书的一个创举。 全局探索式测试法对于制定完整的测试策略给出了指导建议。例如,如何创建一组特性覆盖率(feature coverage)较高的测试用例?如何确定是否要在一个单独的测试用例中使用多个特性?如何创建一个完整的测试用例套件(test case suite),从而使软件尽可能地满负荷工作以便能找到更多重要的缺陷?这些都是设计测试用例和保证测试套件质量时必须解决的重大问题。 在第5章“混合探索测试技术”中,通过把探索式测试和传统的脚本或基于场景的测试技术相结合,进一步扩展了漫游的概念。我们将讨论如何修改各种端到端场景(end-to-end scenario)、测试脚本(test script)或用户故事(user story),来创造更多的变化情况,以激发传统静态测试技术查找缺陷的潜力。 在第6章“探索式测试的实际应用”中,来自微软不同产品组的五位客串作者提供了他们使用漫游技术后得到的经验报告。这些作者和他们的团队在真实的开发环境中,把漫游方法应用在真实的软件上。他们记录了各自是如何使用漫游、修改漫游甚至创建自己的漫游的。这些内容来自于使用漫游法测试重要的关键软件产品的测试人员,属于真正的第一手资料。 最后,我用两章内容总结前面各章所讨论的内容。在第7章“漫游测试的棘手问题”中,描述了我认为的测试中最困难的几个问题,以及如何将那些具有高度针对性的探索式测试方法融入一个更广泛的解决方案中。在第8章“软件测试的未来”中,我更进一步讨论在未来几年中,诸如虚拟化、可视化甚至电视游戏之类的技术将如何改变测试的面貌。附录包括我对测试职业生涯的看法,收集了我以前一些深受读者喜爱的文章(加入了一些新的注解),其中一些文章已经无法在其他地方看到了。 写这本书对我来说是一种享受,我希望你阅读本书也是一种享受。 -
设计模式沉思录(美)威利斯迪斯 著,葛子昂 译《设计模式沉思录》在《设计模式》的基础上进行了拓展,运用其中的概念,介绍了一些技巧,帮助读者决定在不同的情况下应该使用哪些模式,以及不应该使用哪些模式。《设计模式沉思录》不仅对已有的一些模式提出新的见解,还让读者见证开发新模式的整个过程。《设计模式沉思录》适合使用设计模式的软件开发人员阅读。 -
架构实战—软件架构设计的过程(英)伊乐斯,克里普斯 著,蔡黄辉,马文涛 译本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”中,作者补充说明了架构师和软件开发项目其他方面的关系,后面又说明了各种软件开发项目可能存在的困难及相应的处理方法。本书理论结合实践,介绍了一些可以应用到整个或部分的架构设计流程中的最佳方法。不管你是一位资深的架构师还是一位有志于成为架构师的初级使用者,通过阅读本书都能从中获益。 -
简单之美倪健 著《简单之美:软件开发实践者的思考》是一本关于方法论的理论性书籍(尽管已经尝试在大量的思考上进行一些理论归纳),也不是一本关于具体技术的操作手册。它为读者呈现的是作者在软件开发实践中的思考和体验,目的在于探究实践中的问题的根源,并给出思想上的解决之道。《简单之美:软件开发实践者的思考》以软件开发的基本顺序为主线,以简单、想象和文化的开发思想为线索,以为软件开发实践提供指导价值为目标。作者尝试对简单、想象和文化做一些形而上的思考,这些思考会比较抽象,但却是很多话题的基础。《简单之美:软件开发实践者的思考》力图做到传递经过组织的、可操作的软件开发经验,使软件开发领域的新手在知识(软件开发思想)积累过程中少走弯路,也使软件开发领域的老手可以对照自己的经验把可能的困惑降到最低。此外,《简单之美:软件开发实践者的思考》有一个完整的场景故事和有一些有趣例子为书中有价值的思考提供支持。这是一本为那些在实际工作中陷入迷惘或存在困惑的软件开发者、管理者和企业经营者准备的书。当你面对软件开发、管理和架构中的迷惘和失败时,你也许会在追溯问题根源的;过程中用到《简单之美:软件开发实践者的思考》中的知识。 -
软件工程(美)弗里格,(加)阿特利 著,杨卫东 译《软件工程(第4版)》是软件工程领域的经典著作,国际上众多名校均采用《软件工程(第4版)》作为教材。《软件工程(第4版)》分为3个部分。第一部分解释为什么软件工程知识对实践者和研究者同样重要,还讨论了理解过程模型问题的必要性以及敏捷方法和精细地进行项目计划的必要性;第二部分论述开发和维护的主要步骤;第三部分主要讲述软件评估和改进。《软件工程(第4版)》适合作为计算机相关专业软件工程课程的本科教材,也适用于介绍软件工程的概念与实践的研究生课程,期望进一步学习该领域相关知识的专业人员也可以阅读《软件工程(第4版)》。《软件工程(第4版)》是软件工程领域公认的经典名著,也是业界最常引用的主要文献之一,被国内外众多名校广泛采用。与其他软件工程著作不同,《软件工程(第4版)》注重从实践出发选择和安排素材,同时又从理论上进行了全面深入的探讨。对诸如复用、风险管理和质量工程、测度和度量等理论性比较强的主题,没有专设章节,而是融合在相关的各种软件工程活动中讲述。《软件工程(第4版)》理论阐述循序渐进,善于揭示各知识点之间的内在联系,并通过大量实例和工程实践深化和丰富理论知识;选材与时俱进,反映了最新的业界动态,尤其是建模和敏捷方法方面的重要进展。两个贯穿全书的研究案例——信息系统案例和实时系统案例,以及书中的学期项目,引导读者很好地将概念有机地应用到实际项目中去。相对于上一版,新版完全改写了“软件体系结构”一章,并新增了“设计模块”一章,很好地论述了软件工程研究热点和最新发展方向。 -
常用工具软件应用从新手到高手杨继萍 等编著《常用工具软件应用从新手到高手(附光盘)》由多位资深的计算机应用人员共同编著,深入浅出地介绍常用工具软件的基本操作和使用方法,内容涉及了各种与计算机密切相关的工具软件,包括系统维护、即时通信、电子邮件、网页浏览、音视频编辑、财务管理及其他行业内容。《常用工具软件应用从新手到高手(附光盘)》在编写过程中注重知识性与实用性相结合,体现了理论的适度性、实践的指导性和应用的典型性原则,结构清晰,叙述流畅,采用图文并茂的排版方式,实例丰富,并在配书光盘中提供了大容量的多媒体教学文件和实例素材。《常用工具软件应用从新手到高手(附光盘)》适合高等院校和高职高专院校学生学习使用,也可以作为计算机用户深入学习常用工具软件的培训书和参考资料。 -
编码(美)佩措尔德 著,左飞,薛佟佟 译《编码:隐匿在计算机软硬件背后的语言》是讲述计算机工作原理的书。不过,你千万不要因为“工作原理”之类的字眼就武断地认为,它是晦涩而难懂的。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的,这种深度甚至不逊于“电气工程师”和“程序员”的理解。不管你是计算机高手,还是对这个神奇的机器充满敬畏之心的菜鸟,都不妨翻阅一下《编码:隐匿在计算机软硬件背后的语言》,读一读大师的经典作品,必然会有收获。 -
Director虚拟现实设计宝典黎成茂 著《Director虚拟现实设计宝典》全面介绍了Director的ShockWave功能和虚拟现实设计技术。Director集成的3D插件,可将Director与第三方3D建模软件有机的整合,让Director开发人员除了可创建二维动画外,还可创建基于网络的、生动的、高性能的三维演示及动画。Director可开发的3D产品非常广泛,从简单的3D文本处理、交互式3D产品演示到开发复杂的3D游戏环境。使用Shockwave Player,通过支持Shockwave的浏览器,可在网络上回放极具震撼效果的3D产品。
