欢迎来到相识电子书!

标签:软件开发

  • 面向对象分析与设计

    作者:Grady Booch,Robert A

    《面向对象分析与设计(第3版)》是《Jolt大奖精选丛书》系列之一,Jolt大奖素有“软件业之奥斯卡”的美称,本丛书精选自Jolt历届获奖图书,以植根于开发实践中的独到工程思想与杰出方法论为主要甄选方向。《面向对象分析与设计(第3版)》第1版和第2版分别于1991年和1993年荣获Jolt震撼奖。 《面向对象分析与设计(第3版)》是UML创始人GradyBooch的代表作之一。 全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到交付阶段,将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。书中介绍的概念都基于牢固的理论基础。同时,作者十分注重实效,基于其丰富的经验,面向软件工程实践者的实际需要,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题;运用大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。
  • 领域特定语言

    作者:Martin Fowler

    本书是DSL领域的丰碑之作,由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。 全书共57章,分为六个部分:第一部分介绍了什么是DSL,DSL的用途,如何实现外部DS和内部DSL,如何生成代码,语言工作台的使用方法;第二部分介绍了各种DSL,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;第三部分分别揭示分隔符指导翻译、语法指导翻译、BNF、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。
  • Practical Java中文版

    作者:(美)Peter Haggar

    本书出自第一线JAVA编程专家之手,为读者展现正确、高效、强固之JAVA代码实践方案。 这本取材广泛的掼,以不同层级的专家经验,帮助程序员更透彻地理解JAVA,使他们的编码效能发挥到极致。此书以准则/条款形式进行编排,探究改善代码的68个重要主题,提供精晰明快、精心撰写之示例和方案。所有示例和方案都带有详尽的解说,你可以将它们融入自身工作之中。这些编程和设计上的实践方案,描述了经验丰富的程序员实际运用之最佳实践手法。为方便中高阶JAVA程序员阅读,本书内容被精心安排成为各自独立的课程,因此你既可以从头通读至尾,也可以挑选独特专题加以精读。
  • 测试驱动开发

    作者:Kent Beck

    《测试驱动开发》(中文版)设想把编程看成是转动曲柄从井里提一桶水上来的过程。如果水桶比较小,那么仅需一个能自由转动的曲柄就可以了。如果水桶比较大而且装满水,那么还没等水桶全部被提上来你就会很累了。你需要一个防倒转的装置,以保证每转一次可以休息一会儿。水桶越重,防倒转的棘齿相距越近。测试驱动开发中的测试程序就是防倒转装置上的棘齿。一旦我们的某个测试程序能工作了,你就知道,它从现在开始并且以后永远都可以工作了。相比于测试程序没有通过,你距离让所有的测试程序都工作又近了一步。现在我们的工作是让下一个测试程序工作,然后再下一个,就这样一直进行。分析表明,要编程解决的问题越难,每次测试所覆盖的范围就应该越小。
  • 重构(影印版)

    作者:Martin Fowler

    随着对象技术应用越来越普及,软件开发社区出现了一个新的问题。缺乏经验的开发者编写出了大批设计较差的程序,导致这些应用程序非常低效,且难于维护和扩展。本书除了讨论重构的各种技巧之外,还提供了超过70个可行重构的详细编目,对如何应用它们给出了有用的提示;并以step by step的形式给出了应用每一种重构的指南;而且用实例展示了重构的工作原理。这些示例都是用Java语言写成的,但其中的思想却可以运用于任何面向对象编程语言。 本书是软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄",全美销量超过100000册,亚马逊书店五星书。在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。重构的每一步可能都非常简单、非常基础,但这些轻微的改变的累积效果却可以在极大程度上改进我们的设计。事实证明,重构是防止软件没落的可行方式。 本书除了讨论重构的各种技巧之外,还提供了超过70个可行重构的详细目录,给出了重构的工作原理,并以step by step的形式给出了应用每一种重构的指南。这些示例都是用Java语言写成的,但其中的思想却可以运用到任何面对象的编程语言中。 第一作者Martin Fowler,除了是对象技术方面的专家外,还是UML和模式方面的专家。他撰写的Analysis Patterns、UML Distilled、Patterns of Enterprise Application Architecture和Planning Extreme Programming几本书也广受赞誉,在亚马逊上的评价也极高(最低星级为4星),从这些也足可见其在业内的显赫地位。相信这本书以影印版的形式在国内推出,巨匠巨著,原汁原味,无疑是给国内广大软件开发人员提供了一盏前进路上的明灯。 读者对象:软件开发人员,项目管理人员,高等院校计算机及相关专业师生,其他相关人员
  • Java编程思想

    作者:埃克尔

    本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性,本书能逐步指导你轻松掌握。   本书经典的Java介绍,完全针对Java1.4版本更新,并增加了许多新主题。350多个可运行的Java程序,15000多行代码。讲述Java的同时着得阐释面向对象原理。支持网站包括所有源代码、带注释的解决方案指南、评论以及其他资源。随书光盘包括可用于Windows、Linux和Mac的完整的Fundations for Java多媒体研讨教材。本书的全面性,适用于初学者;本书的深入性,适用于专家。随书光盘含有15个小时的Bruce Eckel演讲课程。
  • 成为技术领导者

    作者:[美] 杰拉尔德·温伯格

    《成为技术领导者》阐述了作为一名成功领导者所必须掌握的领导方法与技巧——创新、激励和组织。本书提出了一些方法,供读者分析自己在这三个方面的领导技巧,并提供了开发这些技巧所需的实践步骤。本书是一本个性化的掼,帮助人们培养成为成功领导者的素质。它告诉人们在技术的环境下,哪些领导技能最有效,以及为什么技术人员在向技术领导者转变的过程存在这样或那样的困难。本书探讨的范畴不仅仅局限于技术层面,而且还拓展到了如何与他人更好地协作。温伯格通过他幽默和坦诚的语言在书中阐述了不同类型的领导行为,分析了那些阻止有效领导或排斥他人领导的不利因素,并指出了能够把事情做得更好的行为因讲解基本原理的过程中所举的逸闻趣事、类比与比喻令人印象深刻,非常有助于读者领会其中精要。本书在美国项目管理学会的《项目管理知识体系指南》(PMBOK)中,被确定为重要的参考文献。本书适合所有管理者和被管理者,以及那些管理者和被管理者共同生活或相识的人。对于那些领导者、希望成为领导者的技术人员、以及不想成为领导者的技术人员,本书绝对值得拥有。
  • 程序设计实践

    作者:[美] BRIAN W.KERNIG

    从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法,它的翻译出版将填补国内目前这方面书籍的空白。《程序设计实践》(双语版)值得每个梦想并努力使自己成为优秀程序员的人参考,值得每个计算机专业的学生和计算机工作者阅读,也可作为程序设计高级课程的教材或参考书。
  • Why Programs Fail

    作者:泽勒

  • 质量·软件·管理(第Ⅲ卷)

    作者:杰拉尔德·温伯格

    这是一本里程碑式的书,是一本每位软件开发经理都应该读的书。 本书讨论了如何成长为一名优秀的软件开发经理,即他要懂得“协调管理”。为了领导得力,经理们必须行动一致。换而言之,这些经理不仅需要对优秀软件工作的概念有所理解,而且还必须身体力行这些原则,在实践中这一点更为重要。 本书语言力求通俗易懂,管理技巧实用,堪称是现代管理理论和软件工程领域结合的经典之作。
  • Effective C++

    作者:Scott Meyers

    “c++程序员可以分成两类,读过effective c++的和没读过的。”世界顶级c++大师scott meyers这部成名之作,与这句话一道在全球无数读者间广为传颂。几乎所有c++书籍推荐名单上﹐《effective c++:改善程序与设计的55个具体做法:第3版》都会位列三甲。作者高超的技术把握力、独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织﹐都受到极大的推崇和仿效。 对于国外技术图书,选择翻译版还是影印版,常让人陷入两难。本评注版力邀国内资深专家执笔,在英文原著基础上增加中文点评与注释,旨在融合二者之长,既保留经典的原创文字与味道,又以先行者的学研心得与实践感悟,对读者阅读与学习加以点拨、指明捷径。 经过评注的版本,更值得反复阅读与体会。希望这《effective c++:改善程序与设计的55个具体做法:第3版》能够帮助您跨越c++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的c++程序员。
  • 软件开发者路线图

    作者:Dave H. Hoover,Adewa

    作为一名软件开发者,你在奋力推进自己的职业生涯吗?面对今天日新月异和不断拓展的技术,取得成功需要的不仅仅是技术专长。为了增强专业性,你还需要一些软技能以及高效的学习技能。本书的全部内容都是关于如何修炼这些技能的。两位作者Dave Hoover和Adewale Oshineye给出了数十种行为模式,来帮你提高主要的技能。 本书中的模式凝结了多年的调查研究、无数次的访谈以及来自O’Reilly在线论坛的反馈,可以解决程序员、管理员和设计者每天都会面对的困难情形。本书介绍的不只是经济方面的成功,学徒模式还把软件开发看成一种自我实现的途径。读一读这本书吧,它会帮你充分利用好自己的生命和职业生涯。 厌倦了自己的工作?去找一个玩具项目来帮你重拾解决问题的乐趣吧,这叫“培养激情”。 感觉要被新知识淹没了?做点以前做过的事情,重新探索一下自己熟悉的领域,然后通过“以退为进”再次前进。 学习停滞了?那就去寻找一支由富有经验和才能的开发者组成的团队,暂时呆在里面“只求最差”。
  • Python基础教程

    作者:Magnus Lie Hetland

    本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、结构严谨、内容翔实,特别是在最后几章,作者将前面讲述的内容应用到了10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程。本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是 Python方面的技术专家,也能从书里找到令你耳目一新的东西。
  • 面向模式的软件架构 卷4:分布式计算的模式语言

    作者:Frank Buschmann,Doug

    迄今为止,人们提出的软件开发模式有不少是关于分布式计算的,但人们始终无法以完整的视角了解分布式计算中各种模式是如何协同工作、取长补短的。构建复杂的分布式系统似乎成为了永远也无法精通的一门手艺。本书的出版改变了这一切。 本书是经典的POSA系列的第4卷,介绍了一种模式设计语言,将分布式系统开发中的114个模式联系起来。书中首先介绍了一些分布式系统和模式语言的概念,然后通过一个仓库管理流程控制系统的例子,介绍如何使用模式语言设计分布式系统,最后介绍模式语言本身。 使用这一模式语言,人们可以有效地解决许多与分布式系统开发相关的技术问题,如 ★ 对象交互 ★ 接口与组件划分 ★ 应用控制 ★ 资源管理 ★ 并发与同步 本书从实用角度展示了如何从现有的主要模式中整合出一门全面的模式语言,用于开发分布式计算中间件及应用程序。作为该领域在市场上唯一统揽全局的书,它将给读者带来醍醐灌顶的感觉!
  • 程序开发心理学

    作者:(美)Gerald M. Weinber

    《程序开发心理学(银年纪念版·中英对照)》出自软件领域著名思想家,美国计算机名人堂首批成员之一的Gerald M.Weinberg温伯格之手。《程序开发心理学(银年纪念版·中英对照)》关注的是程序开发过程中人的因素,堪称这一领域的开山之作。《程序开发心理学(银年纪念版·中英对照)》的初稿完成于整整40年前,作者当时慧眼独具,前瞻性地提出了将程序开发作为一种人类行为来考察的观点。在书中,作者从人类行为、社会行为、个人行为等角度,分析了人在计算机程序开发的过程中所表现出的行为及其影响,探讨了诸如什么样的程序员才是好的程序员,怎样才能打造出优秀的开发团队,我们在求职或招聘时做的那些智力测验是否真的有用,等等这类问题。作者的行文深入浅出,书中所举例子看似信手拈来,然而却发人深省,值得读者细细品读。几十年来,《程序开发心理学(银年纪念版·中英对照)》已让无数读者从中受益,时至今日仍然是畅销全球的经典之作。 适合阅读《程序开发心理学(银年纪念版·中英对照)》的,不仅仅是处在软件行业第一线的程序员;各个软件开发单位的团队领导、项目主管、高层管理人员,以及人力资源经理、文档撰写人员、程序开发工具的设计者、程序开发语言的设计者,甚至所有其工作与程序开发有关的人,都能从《程序开发心理学(银年纪念版·中英对照)》中得到启发。
  • More Joel on Software

    作者:Avram Joel Spolsky

    Joel, Apress, Blogs, and Blooks ...I was learning the hard way about how to be a publisher and probably spending way too much time looking at web sites and programming than I should have in response to that. Anyway, one day I came across this web site called , which was run by a guy with strong opinions and an unusual, clever writing style, along with a willingness to take on the conventional wisdom. In particular, he was writing this ongoing series about how bad most user interfaces were--mostly because programmers by and large knew, as Joel and I would say, using the same Yiddish--derived NYC vernacular that we both share, "bupkis" about what users really want. And I, like many, was hooked both by the series and the occasional random essay that Joel wrote. And then I had this epiphany: I'm a publisher, I like reading his stuff, why not turn it into a book?...Read the complete Foreword -- Gary Cornell, Cofounder, Apress Since the release of the bestselling title Joel on Software in 2004, requests for a sequel have been relentless. So, we went back to the famed JoelonSoftware.com archives and pulled out a new batch of favorites, many of which have been downloaded over one million times. With Joel's newest book, More Joel on Software, you'll get an even better (not to mention updated) feast of Joel's opinions and impressions on software development, software design, running a software business, and so much more. This is a new selection of essays from the author's web site, http://www.joelonsoftware.com. Joel Spolsky started his weblog in March 2000 in order to offer his insights, based on years of experience, on how to improve the world of programming. This weblog has become infamous among the programming world, and is linked to more than 600 other web sites and translated into 30+ languages! Spolsky's extraordinary writing skills, technical knowledge, and caustic wit have made him a programming guru. With the success of Joel on Software, there has been a strong demand for additional gems and advice, and this book is the answer to those requests. Containing a collection of all--new articles from the original, More Joel on Software has even more of an edge than the original, and the tips for running a business or managing people have far broader application than the software industry. We feel it is safe to say that this is the most useful book you will buy this year. What you'll learn * The best approaches to managing and hiring extraordinary people * Advice for those interested in the software industry as a career and for managers who want to get them * Joel's unique impressions of how to create products and design--good and bad * An "in the trenches" look at how to start and run an effective software business (or any business for that matter) * A true sense of what it takes to create a differentiated, unique, motivated organization Who this book is for Anyone interested in the software business will truly enjoy this book, but in particular this should be required reading for managers of technical businesses. Table of Contents * My First BillG Review * Finding Great Developers * A Field Guide to Developers * Three Management Methods (Introduction) * The Command and Control Management Method * The Econ 101 Management Method * The Identity Management Method * The Perils of JavaSchools * Talk at Yale * Advice for Computer Science College Students * Font Smoothing, Anti-Aliasing, and Subpixel Rendering * A Game of Inches * The Big Picture * Choices = Headaches * It's Not Just Usability * Building Communities with Software * Martian Headsets * Why Are the Microsoft Office File Formats So Complicated? * Where There's Muck, There's Brass * Evidence-Based Scheduling * Strategy Letter VI * Can Your Programming Language Do This? * Making Wrong Code Look Wrong * Foreword to Eric Sink on the Business of Software * Foreword to Micro-ISV: From Vision to Reality * Hitting the High Notes * Bionic Office * Up the Tata Without a Tutu * Simplicity * Rub a Dub Dub * Top Twelve Tips for Running a Beta Test * Seven Steps to Remarkable Customer Service * Picking a Ship Date * Camels and Rubber Duckies * Five Whys * Set Your Priorities
  • 软件调试

    作者:张银奎

    围绕如何实现高效调试这一主题,本书深入系统地介绍了以调试器为核心的各种软件调试技术。本书共30章,分为6篇。第1篇介绍了软件调试的概况和简要历史。第2篇以英特尔架构(IA)的CPU为例,介绍了计算机系统的硬件核心所提供的调试支持,包括异常、断点指令、单步执行标志、分支监视、JTAG和MCE等。第3篇以Windows操作系统为例,介绍了计算机系统的软件核心中的调试设施,包括内核调试引擎、用户态调试子系统、异常处理、验证器、错误报告、事件追踪、故障转储、硬件错误处理等。第4篇以Visual C/C++编译器为例,介绍了生产软件的主要工具的调试支持,重点讨论了编译期检查、运行期检查及调试符号。第5篇讨论了软件的可调试性,探讨了如何在软件架构设计和软件开发过程中加入调试支持,使软件更容易被调试。在前5篇内容的基础上,第6篇首先介绍了调试器的发展历史、典型功能和实现方法,然后全面介绍了WinDBG调试器,包括它的模块结构、工作模型、使用方法和主要调试功能的实现细节。. 本书是对软件调试技术在过去50年中所取得成就的全面展示,也是对作者本人在软件设计和系统开发第一线奋战10多年的经验总结。本书理论与实践紧密结合,选取了大量具有代表性和普遍意义的技术细节进行讨论,是学习软件调试技术的宝贵资料,适合每一位希望深刻理解软件和自由驾驭软件的人阅读,特别是从事软件开发、测试、支持的技术人员和有关的研究人员。...
  • 专业嵌入式软件开发

    作者:李云

    《专业嵌入式软件开发:全面走向高质高效编程》分为6篇。硬件篇就嵌入式软件开发所需掌握的处理器概念进行了介绍。工具篇对make、gcc编译器、bintuils工具集、ld链接器和gdb调试器进行了讲解,其中对make这一嵌入式开发环境的全能管家进行了精辟的介绍,致力于帮助读者成为Makefile方面的专家。编程语言篇致力于让读者更深入地理解C编程语言。操作系统篇通过循序渐进的方式介绍ClearRTOS的设计与实现,使得读者能透彻地理解操作系统的关键概念和实现原理。设计篇和质量保证篇通过实践的方式逐步展开讲解,以帮助读者获得一些实用的设计原则、最佳实践和一套有效的质量保证方法论。 《专业嵌入式软件开发:全面走向高质高效编程》适合嵌入式软件开发领域的新手和在工作中碰到瓶颈的老手阅读。阅读《专业嵌入式软件开发:全面走向高质高效编程》要求读者已掌握C编程语言和基本的UML知识。
  • 成为技术领导者

    作者:Gerald M. Weinberg

    搞定技术问题并不简单,但与人打交道也并非易事。作为一个技术专家,你是否在走上管理岗位时遇到了各种不适“症状”?《成为技术领导者:掌握全面解决问题的方法》将帮助你成为一个成功的解决问题的领导者。书中温伯格从一个反思者的角度阐述了要成为一个成功的解决问题的领导者必备的3 个技能——MOI,即激励(Motivation)、组织(Organization)和创新(Innovation)。同时还提供了一些方法以供读者对上述3 个技能进行自我分析和自我完善,最终帮助你走上成功的解决问题的领导者之路。不同于其他讲述管理的图书,温伯格并没有大量阐释原理、定义,而是通过现实当中的故事启发读者自己找到最终的答案。《成为技术领导者:掌握全面解决问题的方法》在美国项目管理学会的《项目管理知识体系指南》(PMBOK)中,被确定为重要的参考文献。
  • Exceptional C++中文版

    作者:萨特 (Sutter Herb)

    本书详细地讨论了如何编写健壮高效的代码以及模块设计技术。本书采用了自问自答的语言风格,它讨论了实际程序设计中普遍存在的,又非常不易察觉的问题,并且进行了深刻的分析,提出了具有广泛意义的解决方案。本书值得每个想成为优秀c++程序员的人阅读。我相信,任何c++程序员都会在本书的阅读过程中有许多收获,甚至有一种醍醐灌顶,恍然大悟的收获和喜悦。