欢迎来到相识电子书!

标签:软件工程

  • 技术领导之路(中英文对照)

    作者:Gerald M.Weinberg

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

    作者:Venkat Subramaniam,A

    “书中‘切身感受’的内容非常有价值——通过它我们可以做到学有所思,思有所悟,悟有所行。” ——Nathaniel T. Schutta,《Ajax基础教程》作者 “此书通过常理和经验,阐述了为什么你应该在项目中使用敏捷方法。最难得的是,这些行之有效的实战经验,竟然从一本书中得到了。” ——Matthew Johnson,软件工程师 十年来,软件行业发生了翻天覆地的变化。敏捷方法大行其道,测试和测试驱动开发在很多开发人员的工作中扮演着重要的角色。作为一名程序员,你应该培养怎样的素质,方能对多变的环境应对自如,始终立于不败之地? 本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等5个方面积极修炼。通过学习这些内容,养成这些好的习惯,你可以极大地提升自己的编程实力,更快速、更可靠地交付更高质量的软件,从而成为真正的高效程序员。
  • 架构之美

    作者:Till Adam

    本书围绕5个主题领域来组织本书的内容:概述、企业应用、系统、最终用户应用和编程语言。本书让最优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。
  • 项目管理修炼之道

    作者:罗斯曼(Johanna Rothman)

    《项目管理修炼之道》基于作者多年项目管理的实践经验,融会贯通地讲解了成功管理软件项目的各个要素。书中内容涉及软件项目管理的整个流程:项目启动、项目章程、项目计划、项目日程安排、项目估算、明确的角色和职责、明确的开发流程、恰到好处的度量标准、发布条件、参与beta测试的客户……所有成功项目管理的必备元素一应俱全。贯穿全书的提示和生动的案例,更能加深读者对项目管理的领悟。 《项目管理修炼之道》是一本项目经理的实战手册,项目开发人员、软件经理等项目相关人员也能从中获得有益的指导。
  • 冒号课堂

    作者:郑晖

    《冒号课堂》以课堂对话的形式,借六位师生之口讲述编程要义。上篇对编程范式作了入门性的介绍,并对一些流行的编程语言进行了简评;下篇侧重阐发软件设计思想,其中在范式上以OOP为主,在语言上以C++、Java和C#为主。全书寓庄于谐,深入浅出,既可开阔眼界,又能引发思考,值得编程爱好者品读。
  • 面向对象分析与设计

    作者:Grady Booch / Robert

    《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的实际需要。《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到移交阶段将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。书中的表示法采用最新的UML 2.0,因此《面向对象分析与设计(第3版)》是学习UML 2.0不可多得的参考书。《面向对象分析与设计(第3版)》作者基于长期丰富的经验,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题,非常适合实际系统和软件的开发者、系统分析师或构架师、项目经理阅读。《面向对象分析与设计(第3版)》主要阐述了软件开发的方法,也可以作为高等院校软件工程和高级编程课程的教材使用。
  • The Passionate Programmer

    作者:Chad Fowler

    Success in today's IT environment requires you to view your career as a business endeavor. In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself; don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical 'Act on It' sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.
  • 可伸缩敏捷开发

    作者:兰芬维奥

    《可伸缩敏捷开发:企业级最佳实践》简体中文版由电子工业出版社和Pearson Education 培生教育出版亚洲有限公司合作出版。未经出版者预先书面许可,不得以任何方式复制或抄袭《可伸缩敏捷开发:企业级最佳实践》的任何部分。
  • 企业应用架构模式

    作者:Martin Fowler

    随着信息技术的广泛应用,系统需要处理的数据量越来越大,企业级软件开发已经渐成主流,而开发人员面临的困难与挑战也是显而易见的。更糟糕的是,这一领域的资料一直非常缺乏。 本书是软件开发大师Martin Fowler的代表作,采用模式的形式系统总结了业界多年积累的经验,被称为“企业级应用开发领域的圣经”,出版以来一直畅销不衰,至今仍然无可替代。作 者在精彩地阐述了企业应用开发和设计中的核心原则基础上,详细、生动地讲述了51个模式并给出主流平台(Java和.NET)中的应用实例,更分析了许多 相似模式之间的差异,提供了具体运用和选择这些模式的大量经验之谈,使你不仅知其然,更知其所以然。 这是一部软件开发领域不朽的经典,任何一位真正的软件开发人员都不可错过。
  • The Cathedral and the Bazaar

    作者:Eric Steven Raymond

    《大教堂与市集》(The Cathedral and the Bazaar)是埃里克·斯蒂芬·雷蒙(Eric Steven Raymond)所撰写的软件工程方法论。以Linux的核心开发过程以及作者自己主持开发的开放原始码软件──Fetchmail为讨论案例。文章在1997年5月27日发表,并在1999年出版成书。 本书讨论两种不同的自由软件开发模式︰ 大教堂模式(The Cathedral model)︰原始码在本模式是公开的,但在软件的每个版本开发过程是由一个专属的团队所控管的。作者以GNU Emacs及GCC这两软件为例。 市集模式(The Bazaar model)︰原始码在本模式也是公开的,不过却是放在因特网上供人检视及开发。作者以Linux核心的创始者林纳斯·托瓦兹带领Linux核心的开发为例,亦引用fetchmail的开发为例。 这篇文章的要义是让够多人看到原始码,错误将无所遁形(Given enough eyeballs, all bugs are shallow)。作者表示大教堂模式的软件开发让程序除错的时间大幅增加,因为只有少数的开发者可参与修改工作。市集模式则相反。 此文让大部份的开放原始码及自由软件的开发计划采用市集模式,甚至原来采用大教堂模式的 GNC Emacs 及 GCC 也是如此。Netscape 网页浏览器后来释出原始码,并启动Mozilla计划,也或多或少受到这篇文章的启发。 大教堂与市集也被延伸到非电脑软件的开发上面。例如维基百科就是市集模式,而Nupedia与大英百科全书就是大教堂模式。 欧莱礼出版社于1999年发行此书的创举是,首次商业印刷出版的书以Creative Commons授权模式出版。 本书(原文)的国际标准书号是 ISBN 1565927249(精装本)、ISBN 0596001088(平装本)。
  • 程序设计语言原理

    作者:(美)賽巴斯塔(Sebesta,R.W.

    本书从为什么学习程序设计语言入手,深入细致地讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象机制、支持面向对象程序设计(继承和动态方法绑定)、并发和异常处理等方面。最后两章介绍了函数式程序设计语言和逻辑程序设计语言。 本书内容丰富,剖析透彻,被美国和加拿大多所高等院校采用作为教材。本书既可用做高等院校计算机及相关专业本科生程序设计语言课程的教材和参考书,也可供程序设计人员参考。
  • 领域特定语言

    作者:Martin Fowler

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

    作者:Martin Fowler

    本书是专门为那些缺乏经验的企业应用开发人员编写的。本书的作者,著名的面向对象设计师Martin Fowler发现如果不考虑Smalltalk、CORBA、Java和.NET在技术上的差异的话,相同的基础设计理念是能够用来解决架构方面的常见问题的。在特约专家组的帮助下,Martin将40余种可重现解决方案提炼成为模式。因此,这本不可或缺的解决方案手册适用于任何企业应用平台。 本书实际上是将两本书合二为一了。本书的第一部分是开发企业应用的简短指南,你可以从中了解到本书所涵盖的内容。第二部分是本书的主体,是关于模式的详细讲解。每种模式都介绍了用法和实现信息,同时还附有相应的Java或C#代码范例。整本书中有大量的UML图,用以进一步解释有关概念。 有了本书的帮助,在确定构建企业应用的架构和实施阶段所用模式时,你将具备必要的知识。 本书要点: ·将企业应用分层 ·组织业务逻辑的主要方法 ·对象和关系数据库之间的映射方法 ·使用MVC来组织Web表示 ·处理涉及多个事务的数据的并发 ·设计分布式对象接口
  • 测试驱动开发

    作者: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星),从这些也足可见其在业内的显赫地位。相信这本书以影印版的形式在国内推出,巨匠巨著,原汁原味,无疑是给国内广大软件开发人员提供了一盏前进路上的明灯。 读者对象:软件开发人员,项目管理人员,高等院校计算机及相关专业师生,其他相关人员
  • 探索需求

    作者:章柏幸,王媛媛,谢攀,杰拉尔德・温伯格,

    本书将与您一起寻找"什么是客户真正想要的"这一问题的答案。 本书着眼于系统设计之前的需求过程,它是整个开发过程(如何设计人们想要的产品和系统)中最有挑战性的那部分。通过对一些需求分析中的常见误区和问题的分析和讨论,从和客户沟通开始,深入研究一些可能的需求,澄清用户和开发者期望值,最终给出了能够大幅度提高项目成功几率的一些建议方法。 本书由该领域内公认的两位作者合著,搜集了他们在大大小小的公司里加起来超过60年的在工作中发现、提炼和检验之后的观点。在本书中描述的原则并不局限于软件开发,还涉及到所有需要为别人设计和制作产品的领域。这些技巧已经成功的应用于开发所有类型的产品和系统--包括计算机硬件和软件、家具、建筑和书籍等等。 本书认为,开发是把人们的期望转化成一种能够满足其期望的产品的过程。本书的讨论围绕着需求过程--在开发中人们试图发现其期望的产品--的那一部分。通过对五个关键词语"期望"、"产品"、"人们"、"试图"和"发现"的层层分析,给出了大量使用的技巧和观点。 产品开发项目可能失败的原因非常多,最糟糕的莫过于在需求过程带入的缺陷。目前已有了很多书籍来阐述避免那些缺陷的方法,而本书则是集中在需求过程的以下三个危险而又被忽视的人性视角: 1. 在所有参与者中开发一种对需求的可靠的理解。 2. 开发一种项目的团队工作期望。 3. 开发一些必要的技巧和工具以能够有效的像团队一样来定义需求。 由于这些主题或多或少有些被有关系统开发的著作所忽略,《探索需求》可以用作对你当前的任何需求过程的一个补充,而不管其是否正式。本书的很多章节都设计成独立的模块,每一个都介绍了一到几种用于提高需求技术的工具或方法。读者可以逐页阅读本书,也可以在任何时间只读那些你最需要的章节。 全书通俗易懂、层次分明,其中共有上百幅插图,便于读者深入理解,是需求分析人员的入门和提高必备指南。
  • 成为技术领导者

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

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

    作者:Watts S.Humphrey

    《个体软件过程》(简称“PSPI”),是Watts S.Humphrey于1997年特为美国大学一年级学生编写的教科书。书中描述了很多资深的软件工程师解决软件工程问题的方法,特别是有关软件项目计划和软件质量控制方面的先进方法,并提供了很多练习来帮助读者掌握这些方法。 美国Embry-Riddle航空大学计算机科学系以本书初稿为教材,为该系一年级学生讲授了这门课程,经验证明,这对造就学生成为合格的软件专业人员很有帮助。每章之后还附有习题,以帮助读者复习与掌握该章的主要内容。由于本书是在两个学期的计算机科学或软件工程导论课程中使用,所以本书的内容分成两部分,在第一学期中讲授时间管理(前10章),在第二学期中讲授质量问题(后10章)。 本书实用性与可读性较强,可作为高等学校计算机软件工程课程的教材,也可作为工程技术人员自学个体软件过程的教材,是进行软件过程改善和能力成熟度模型SW-CMM评估的重要参考资料。本书同样适用于软件开发项目经理、程序员和一般编程爱好者在开发软件时参考。
  • Why Programs Fail

    作者:泽勒