欢迎来到相识电子书!

标签:软件开发

  • 系统设计的一般原理

    作者:杰拉尔德・温伯格,丹妮拉・温伯格

    本书是一位计算机专家与一位人类学家思想碰撞的结晶,针对那些无法通过传统方法解决的系统问题,为我们介绍了分析与理解这类问题的新观点和新方法。 这是一本有关一般系统的思想与如何有效思考的著作,对各个学科领域,都有广泛的适用性,不仅仅是关于计算机的系统,还包括各种系统--人类、自然、科技。它提供了许多关于设计信息管理系统、培训程序、商业组织或都市人日常工作的应用实例。行文旁征博引,例子丰富,语言幽默风趣,涵盖了各类型系统(人类、自然以及技术系统)的设计问题。 本书曾以"关于稳定系统的设计"为题首次出版,历经数年后再次修订出版。作者利用他们在技术和社会科学上的优势,给出许多非常有启发性的见解,并把这些见解用任何人都能理解的语言表述出来。无论专业人员、普通人还是学生,都可以从本书中获得求解问题的实用方法,因此是一本可读性极强的佳作。也可以作为人文、社会、自然和工程科学等专业本科生的教材。
  • 人月神话

    作者:弗雷德里克・布鲁克斯

    20余年畅销不衰的经典巨作,软件工程领域的圣经宝典!IBM大型电脑之父Fred Brooks20余年开发经验的汇集,远谋深虑,字字珠玑!技术之巧与人文之美的完美结合!纯正原版影印,真正理解大师的睿智思维,再无译文之歧义困扰!更收录包括《No Silver Bullet》(没有银弹)在内的最新四篇经典论文!
  • 游戏编程精粹4

    作者:柯姆斯

    本书秉承了“游戏编程精粹”系列的一贯作风,挟60余篇崭新的技术文章以飨读者。它将再次无可争议地成为一本游戏开发者不可多得的参考书。由于全部作者都来自于亲手打造当今优秀游戏的经验丰富的开发者们,读者在文章中不但可以找到针对疑难问题的有效解决方案,而且常能找到令人玩昧再三的深刻见解。它们将激起读者探索的欲望和创意的火花。新一卷的“游戏编程精粹”对于游戏程序员来说,无疑是一本宝贵的参考书。
  • 死亡之旅

    作者:EDWARD YOURDON,周浩宇

  • UNIX程序设计艺术

    作者:雷蒙德

    编写更好的软件:30年UNIX开发经验的结晶! 本书是作者封笔30年后历时5年创作而成,是一部难得的软件工程方面的佳作。作者首次将哲学、设计模式、工具、文化和传统结合在一起,使得UNIX成为世界上最好且最创新意义的软件,并展示了如何将其拓展到Linux和当今的开源(open-source)运动中。通过取自最主要的开源项目中的示例,作者向UNIX和Linux编程人员展示了如何更巧妙地创建软件,使其更雅致、更灵巧、更具可重用性且具有更长的生命期。 Raymond借鉴了以下13位UNIX先锋人物的观点: Ken Thompson,UNIX的发明者 Ken Arnold,4BSD UNIX的创建者之一,也是《The Java Programming Language》的作者之一。 Steven M.Bellovin,Usenet的创始人之一,也是《Firewalls and Internel Security》的作者之一。 Stuart Feldman,贝尔实验室UNIX开发组成员,也是《make》和《f77》的作者。 Jim gettys和Keith Packard,X视窗系统的主创人员。 Steve Johnson,《yacc》和《Portable C Compiler》两书的作者。 Brian Kernighan《The C Programming Language》、《The UNIX Programming Environment》及《The Practice of Programming》等几本书的作者之一,也是awk编程语言的作者之一。 David Korn,korn shell的创始人,也是《The New Korn Shell Command and Programming Language》的作者。 Mike Lesk,贝尔实验室开发组成员,ms宏包、tbl和refer工具以及lex与UUCP的作者 Doug Mcllroy,贝尔实验室研究组主任,UNIX即诞生于此;同时他还是UNIX管道的发明者。 Marshall Kirk McKusick,4.2BSD快速文件系统的开发者,4.3BSD和4.4BSD开发组的领导。 Henry Spencer,早期UNIX开发者中的佼佼者,他创建了getopt、第一个开源字符串库以及用于4.4BSD的正则表达式引擎。 “Reading this book has filled a gap in my education. I feel a sense of completion, understand that UNIX is really a style of community. Now I get it, at least I get it one level deeper than I ever did before. This book came at a perfect moment for me, a moment when I shifted from visualizing programs as things to programs as the shadows cast by communities. From this perspective, Eric makes UNIX make perfect sense。” 作者简介: Eric S.Raymond多年前即从事NUIX开发。他以开源社区巡回大使的身份而著称。他在著名的《The Cathedral and the Bazaar》、《大教堂和市集》中发表了开源运动的宣言,并且还编著了《The New Hacker's Dictionary》一书。
  • 大规模C++程序设计

    作者:John Lakos

    在本书中,Lakos介绍了将大型系统分解成较小且较好管理的组件层次结构(不是继承)的过程。这种具有非循环物理依赖的系统的维护、测试和重用从根本上比相互紧密依赖的系统更容易且更经济。此外,本书还说明了遵从好的物理设计和逻辑设计规划的动机。Lakos给读者提供了一系列用来消除循环依赖、编译时依赖和连接时(物理)依赖的特殊技术。
  • 质量·软件·管理(第Ⅱ卷)

    作者:杰拉尔德·温伯格

    本书是现代管理理论和软件工程领域结合的经典之作,清晰地提出并论述了"一阶测量"的概念。堪称本类图书中最具实用性的图书之一。也是纪念作者与计算机四十年的恋爱史! 是一本里程碑式的书,每一位软件开发经理都应该读这本书!
  • 设计原本

    作者:Frederick P. Brooks,

    无论是软件开发、工程还是建筑,有效的设计都是工作的核心。《设计原本:计算机科学巨匠Frederick P. Brooks的思考》将对设计过程进行深入分析,揭示进行有效和优雅设计的方法。 本书包含了多个行业设计者的特别领悟。Frederick P. Brooks, Jr.精确发现了所有设计项目中内在的不变因素,揭示 了进行优秀设计的过程和模式。通过与几十位优秀设计者的对话,以及他自己在几个设计领域的经验,作者指出,大胆的设计决定会产生更好的结果。 作者追踪了设计过程的演进,探讨了协作和分布式设计,阐明了哪些条件造就了真正卓越的设计者。他探讨了设计过程的具体细节,包括多种预算约束条件、美学考虑、设计经验主义及工具。同时,他将这些讨论与现实中的案例结合起来,这些案例从房屋建造到IBM的Operating System/360。成功的关键因素贯穿全书,每个设计者、设计项目经理和设计研究者都应该知道。
  • Effective Java

    作者:Joshua Bloch

    本书介绍了在java编程中78条经典的、实用性极高的经验规则,这些经验规则可以帮助开发人员来解决每天都有可能面对的大多数问题。书中对java平台设计专家所使用的技术的介绍,揭示了如何事半功倍地的编写清晰、健壮和高效的代码。本书是经典图书effective java的第2版,涵盖了java 5中的重要变化,并删除了一些过时的内容。本书所介绍的每条规则,都以简明易懂的语言来阐释,并通过示例代码进一步加以说明。 本书内容翔实,层次分明,是一本可以帮助技术人员更深层次理解java的参考用书。
  • The Design of Design

    作者:Frederick P. Brooks

    Making Sense of Design Effective design is at the heart of everything from software development to engineering to architecture. But what do we really know about the design process? What leads to effective, elegant designs? The Design of Design addresses these questions. These new essays by Fred Brooks contain extraordinary insights for designers in every discipline. Brooks pinpoints constants inherent in all design projects and uncovers processes and patterns likely to lead to excellence. Drawing on conversations with dozens of exceptional designers, as well as his own experiences in several design domains, Brooks observes that bold design decisions lead to better outcomes. The author tracks the evolution of the design process, treats collaborative and distributed design, and illuminates what makes a truly great designer. He examines the nuts and bolts of design processes, including budget constraints of many kinds, aesthetics, design empiricism, and tools, and grounds this discussion in his own real-world examples--case studies ranging from home construction to IBM's Operating System/360. Throughout, Brooks reveals keys to success that every designer, design project manager, and design researcher should know.
  • 软件工程的事实与谬误

    作者:[美] Robert L. Glass

    关于构建软件,我们理应知道许多东西,但是实际上却因为这样或那样的原因不知道,甚至我们想当然的一些看法实际上是显而易见的错误。本书抽取软件行业中经典的55个基本事实和10个谬误进行分析,对于每个观点,作者都提供观点的来源和证据,以及相关的参考文献。除此之外,还介绍业界对这个观点的其他不同的认识和理解。可能并非所有的读者都喜欢书中的这55个事实,其中有些事实与某些所谓的现代方法截然相反,但了解这些事实一定大有裨益。
  • Java与模式

    作者:阎宏 编著

    《Java与模式》是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。全书分为55章,第一个章节讲解一个编编程模式,说明此模式的用意、结构,以及这一模式适合于什么样的情况等。每一个章节都附有多个例子和练习题,研习这些例子、完成这些练习题可以帮助读者更好地理解所讲的内容。大多数的章节都是相对独立的,读者可以从任何一章开始读起。为了满足不同程序的读者的需要,书中提供了一些标为“专题”的章节,不阅读这些章节,对阅读书中的标准章节没有影响。
  • 编程珠玑(第2版•修订版)

    作者:[美] Jon Bentley 乔恩•本

    历史上最伟大的计算机科学著作之一 融深邃思想、实战技术与趣味轶事于一炉的奇书 带你真正领略计算机科学之美 多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。 在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。 本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。 书评 “《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。” ——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
  • 深入理解Java虚拟机(第2版)

    作者:周志明

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》内容简介:第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。 《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。 第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解书中后面内容有重要帮助。 第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。 第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。 第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果; 第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。
  • Struts2技术内幕

    作者:陆舟

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2的技术内幕提供了大量真知灼见。同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。 《Struts2技术内幕:深入解析Struts2架构设计与实现原理》主要分为3大部分,内容安排具有极强的逻辑推理性,章和章之间互相呼应且互为印证。知识准备篇首先介绍了获取、阅读和调试Struts2源代码的方法,以及Struts2源代码的组织形式;然后厘清了Web开发中极易混淆的一些重要概念,以及Struts2的核心技术、宏观视图、微观元素、配置元素等,提纲挈领地对Struts2进行了多角度的讲解。核心技术篇首先分析了Struts2中多种具有代表性的设计模式,然后对Struts2中的精华——OGNL表达式引擎和XWork框架的原理及机制进行了全面深入的分析和讲解。运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。 海报:
  • The Mythical Man-Month

    作者:Frederick Phillips B

  • Growing Object-Oriented Software, Guided by Tests

    作者:Steve Freeman,Nat Pr

    Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows." --Ward Cunningham "At last, a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes * Implementing TDD effectively: getting started, and maintaining your momentum throughout the project * Creating cleaner, more expressive, more sustainable code * Using tests to stay relentlessly focused on sustaining quality * Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project * Using Mock Objects to guide object-oriented designs * Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency
  • 元素模式

    作者:Jason McC. Smith

    本书介绍了一类全新的设计模式,称为元素模式(Elemental Design Pattern),其为软件工程设计模式的研究和应用打下了基础。元素模式深深植根于软件程序设计理论的研究,但其目的却在于实践性和实用性。从程序设计的新手,到资深的开发工程师,都是元素模式的目标受众。它能够带领学生加入软件工业的大军,也能够为研究者打开新的思路。
  • COM本质论

    作者:[美] Don Box

    自1993年COM首次发布以来,COM本身经历了重大的变化,但是它的基本思想和结构一直保持相对稳定,这也正说明了COM思想的魅力所在。尽管如此,由于COM的神秘本质,并不是每个人都能够很容易地理解COM的思想,理解COM的魅力。 《COM本质论》不是一本供新手学习的书,也不是一本教授如何开发COM组件的书,而是一本帮助读者在一定的基础上继续提高对COM的理解的书,许多内容需要一定的经验基础才能看得明白。 COM是跨语言的组件对象模型,但是它与C++和OO(面向对象)思想的渊源可谓深矣。这本书中解释了这些内容,但前提是读者必须具备扎实的C++基础知识,特别要理解C++类的二进制结构以及类型转换机制。反过来,阅读这本书也可以加强在C++和OO思想方面的理解。此外,书中还涉及到许多COM高级特性,例如线程模型(或者套间模型)、名字对象、连接点等,因此,要想从这本书里获得最大受益,也需要有COM的知识作基础。 全书由国内COM方面最负盛名的专家潘爱民翻译。
  • 程序开发心理学

    作者:(美)杰拉尔德·温伯格

    本书开创"以人为本"研究方法的先驱,在长达25年的岁月中一直保持活力,至今仍在继续。1997年,本书作者温伯格因其在软件领域的杰出贡献,被美国计算机博物馆的计算机名人堂选为首批5位成员之一。 在计算机界,还没有任何一本计算机方面的书,在初次出版之后,能够在长达25年的岁月中一直保持活力--而且这种活力到今天仍在继续。《程序开发心理学》是开创"以人为本"研究方法的先驱,它以其对程序员们在智力、技巧、团队和问题求解能力等方面独特的视角和敏锐的观察经受住了时间的考验。 weinberg先生在1971年出版的、具有深远影响的第1版的基础上,增加了令人耳目一新的内容,构成了这本《程序开发心理学》的银年纪念版。新增的内容包括:新的前言,每一章之后的评注以及针对影响程序员职业生涯的若干问题发自内心的真知灼见。 weinberg先生以其独特的视角回顾了自己当年的见解,重新审视了与今天的程序开发尤为相关的问题,并强调了今与昔的异同。内容包括:作为社会行为的程序开发、心理学测量、无私式程序开发、程序开发团队、大型工程中共同的社会性问题、智力水平,以及问题求解能力、积极性、培训以及经验,还有程序语言设计的一些原则等等。