欢迎来到相识电子书!

标签:软件工程

  • UML Distilled

    作者:Martin Fowler

    Pressured with tight deadlines, application developers do not have the luxury of keeping completely up-to-date with all of the latest innovations in software engineering. Once in a great while, a tremendous resource comes along that helps these professionals become more efficient. The first two editions of UML Distilled have been perennial best-sellers because of their concise, yet thorough, nature. This eagerly-anticipated third edition allows you to get acquainted with some of the best thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book's convenient format that has made it an essential resource for anyone who designs software for a living. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community.
  • The Best Software Writing I

    作者:Avram Joel Spolsky

    Frustrated by the lack of well-written essays on software engineering, Joel Spolsky (of www.joelonsoftware.com fame) has put together a collection of his favorite writings on the topic. With a nod to both the serious and funny sides of technical writing, The Best Software Writing I: Selected and Introduced by Joel Spolsky is an entertaining read and a guide to the technical writing literati. The Best Software Writing I contains writings from: * Ken Arnold * Leon Bambrick * Michel Bean * Rory Blyth * Adam Bosworth * danah boyd * Raymond Chen * Kevin Cheng and Tom Chi * Cory Doctorow * ea_spouse * Bruce Eckel * Paul Ford * Paul Graham * John Gruber * Gregor Hohpe * Ron Jeffries * Eric Johnson * Eric Lippert * Michel Lopp * Larry Osterman * Mary Poppendieck * Rick Schaut * Aaron Swartz * Clay Shirky * Eric Sink * why the lucky stiff
  • 软件测试的艺术

    作者:梅尔斯

    《软件测试的艺术》(原书第2版)成功、有效地进行软件测试的实用策略和技术:    基本的测试原理和策略      验收测试    程序检查和走查         安装测试    代码检查            模块(单元)测试    错误列表            测试规划与控制    同行评分            独立测试机构    黑盒、白盒测试         调试原理    错误猜测            错误分析    自顶向下与自底向上测试     极限测试    高级测试            测试因特网应用系统    功能和系统测试         电子商务体系结构的高级测试
  • UML参考手册

    作者:兰博

    《UML参考手册》在第1版的基础上进行了重大更新和扩展。UML的创建者James Rumbaugh、Ivar Jacobson和Grady Booch,清晰完整地讲述了UML的所有概念,包括对序列图、活动模型、状态机、组件、类和组件的内部结构以及特性描述的主要修订。手册式结构不仅有助于读者对UML的概念进行规范化的学习与理解,更为广大程序开发人员、系统用户和工程技术人员提供了方便快捷的查询方式。无论您是在捕获需求、开发软件架构、设计实现还是在试图理解现有系统,在《UML参考手册》中您都将找到满意的答案。   《UML参考手册》第2版基于UML2.0规范,对1999年出版的第1版进行了全面的修改。《UML参考手册》首先简要介绍了UML的历史、基本概念、目标及使用方法、然后按字母顺序列出了UML的所有术语,从语义、表示法和用途等方面全面而详尽地介绍了UML的构成和概念。   《UML参考手册》的作者是面向对象方法最早的倡导者,更是UML的创始人。   《UML参考手册》的手册式结构不仅有助于读者对UML的概念进行规范化的学习与理解,更为广为大程序开发人员、系统用户和工程技术人员提供了方便快捷的查询。
  • Joel说软件

    作者:Joel Spolsky

    这是一本介绍软件管理的小品文集。全书分为45章,每章就是一个独立的专题或者知识点。本书内容十分丰富全面,小到项目负责人制订进度表,大到软件执行总裁提出富有竞争性的战略,都在本书的介绍之列。尽管内容很多,但事例驱动的写作方式,奠定了本书在可学性与可用性方面明显的优势。 本书从不同侧面满足了软件开发人员、设计人员、管理人员及从事软件相关工作的人员的学习与工作需要。
  • Writing Effective Use Cases

    作者:Alistair Cockburn

    Use cases have never been this easy to understand -- or this easy to create! In Writing Effective Use Cases, Alistair Cockburn offers a hands-on, soup-to-nuts guide to use case development, based on the proven concepts he has refined through years of research, development, and seminar presentations. Cockburn begins by answering the most basic questions facing anyone interested in use cases: "What does a use case look like? When do I write one?" Next, he introduces each key element of use cases: actors, stakeholders, design scope, goal levels, scenarios, and more. Writing Effective Use Cases contains detailed guidelines, formats, and project standards for creating use cases -- as well as a detailed chapter on style, containing specific do's and don'ts. Cockburn shows how use cases fit together with requirements gathering, business processing reengineering, and other key issues facing software professionals. The book includes practice exercises with solutions, as well as a detailed appendix on how to use these techniques with UML. For all application developers, object technology practitioners, software system designers, architects, and analysts.
  • Head First Design Patterns

    作者:Elisabeth Freeman,Er

    You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on... something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design paddle pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect - a visually-rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
  • Joel on Software

    作者:Joel Spolsky

    This book covers every imaginable aspect of softward programming, from the best way to write a code to the best way to design an office in with to write a code.
  • 编写高质量代码:改善Python程序的91个建议

    作者:张颖,赖勇浩

    在通往“Python技术殿堂”的路上,本书将为你编写健壮、优雅、高质量的Python代码提供切实帮助!内容全部由Python编码的最佳实践组成,从基本原则、惯用法、语法、库、设计模式、内部机制、开发工具和性能优化8个方面深入探讨了编写高质量Python代码的技巧与禁忌,一共总结出91条宝贵的建议。每条建议对应Python程序员可能会遇到的一个问题。本书不仅以建议的方式从正反两方面给出了被实践证明为十分优秀的解决方案或非常糟糕的解决方案,而且分析了问题产生的根源,会使人有一种醍醐灌顶的感觉,豁然开朗。 《编写高质量代码:改善Python程序的91个建议》针对每个问题所选择的应用场景都非常典型,给出的建议也都与实践紧密结合。书中的每一条建议都可能在你的下一行代码、下一个应用或下一个项目中显露锋芒。建议你将本书搁置在手边,随时查阅,相信这么做一定能使你的学习和开发工作事半功倍。
  • 恰如其分的软件架构

    作者:George Fairbanks

    本书描述了一种恰如其分的软件架构设计方法。作者建议根据项目面临的风险来调整架构设计的成本,并从多个视角阐述了软件架构的建模过程和方法,包括用例模型、概念模型、域模型、设计模型和代码模型等。本书不仅介绍方法,而且还对方法和概念进行了归类和阐述,将软件架构设计融入开发实践中,与 敏捷开发方法有机地结合在一起,适合普通程序员阅读。 . 这是一本超值的书,案例丰富有趣,言简意赅,阅读轻松。当年如果读到这样的书,我可以少犯许多错误!渴望成为更为优秀软件设计师的读者,这本书绝对值得在你的书架上占有一席之地。 ——Timothy J. Halloran博士,SureLogic Inc.工程总监 . 本书提出的独特视角让软件架构设计变得不再难以捉摸。恰如其分的软件架构概念及风险驱动的设计理念让人耳目一新。作者将架构设计原则与现实问题有机地结合起来,值得所有从事软件开发工作的人士阅读。 ——Marcus Fontoura博士,Yahoo! Research首席科学家兼架构师 . Fairbanks把笔墨聚集在“恰如其分”的软件架构上,这对于每一位想要使架构过程变得更容易的开发人员来说,都是极具吸引力的。本书通过详细的案例和建议,展示了如何用风险驱动来管理架构的建设和范围,重点突出,易于理解。同时,作者提供了软件架构学术方面的很多细节,这对那些对理论和实践都很感兴趣的开发人员非常有益。 ——Bradley Schmerl博士,卡耐基梅隆大学计算机科学院资深系统科学家 . George Fairbanks的《恰如其分的软件架构》一书中的风险驱动建模方法已经被NASA Johnson Space Center(JSC)成功地应用于eXtensible Information Modeler (XIM) 项目。项目的所有成员,从项目管理人员到开发人员,都必须遵循。实际上,这本书应该是每一位开发人员的必备工具。仅仅是讲述(代码模型和反模式)的部分,就值回书价了。 ——Christopher Dean, 美国国家航空航天局约翰逊空间中心工程科学团队XIM首席架构师 . 《恰如其分的软件架构》教你如何在战略和战术上使用工具,以及如何为你的软件项目选择架构策略。无论你是一位开发人员还是架构师,本书都是你在架构过程中的必备参考资料。 ——Nicholas Sherman,微软项目经理 . 作者将过程、生命周期、架构、建模及服务质量方面的最新理念集成在一个条理清楚的框架中。这个框架可以立即应用于你的 IT应用。Fairbanks的写作异常清晰、精确,同时具有很高的可读性和趣味性。《恰如其分的软件架构》是IT应用架构方面一个具有重要贡献的文献,对于企业应用架构师来说,也许会成为他们的标准参考资料。 ——Ian Maung博士,花旗企业架构部门资深副总裁,Covance前企业架构总监 . 本书完全满足了那些软件开发实践者的关键需求,即如何有效地创建更加实际的系统。George常常运用自己的经验,并与学术理论相结合,为我们提供一个又一个概念模型、领域(或更广范围)内的最佳实践,以及在软件架构方面(如何更有用更现实)非常实用的指导。他在书中提出了基于风险的架构方法,并帮助我们认识到怎样才是“恰如其分”的。本书的问世为软件架构领域又增添了一份重要的文献。 ——Desmond D’Souza, 《MAp and Catalysis》一书的作者,Kinetium, Inc. . 很多系统和软件开发人员常常追问为什么要做,以及针对什么做软件架构,他们一定会感谢本书的作者在这本书中呈现了清晰的论证和精彩的推理;对于纠结何时,以及如何做架构的开发人员,也会在本书中找到恰如其分的指导,当然还有很多概念和思想。总之,本书简洁易懂,还有很多可供参考的内容——的确是一本架构精到、设计精心的好书! ——Shang-Wen Cheng博士,航空软件工程师 . 如果你打算阅读一本关于软件架构的书,那就选择这一本吧。《恰如其分的软件架构》覆盖了每一位程序员、开发人员、测试人员、架构师、经理都必须知道的软件架构的基本概念,它提供了很多在实战中非常实用的建议,而这只需要你花几个小时去阅读! ——Michael Keeling,专业软件工程师 . 本书展现了软件架构将如何帮助你来构建软件,而不会阻碍软件的构建;本书能够让你关注那些真正值得关注的关键性架构工作,从而避免影响编码工作。 ——Kevin Bierhoff博士,专业软件工程师
  • 人件集

    作者:L.L.) 康斯坦丁(Constanti

    《人件集:人性化的软件开发》谈的是计算机软件的另一面:朝外的一面。技术人员可以接触到(如你、我)这一面,普通的人也可以接触到(如你、我)这一面。本文要探讨的是“人件(peopleware)”的各种不同的表现形式,软件与开发人员之间的界面,软件与使用者之间的界面。《人件集:人性化的软件开发》适合于所有开发并使用软件的设计人员、开发人员和管理人员阅读,《人件集:人性化的软件开发》的许多章节收自于作者在多本知名计算机杂志的人件专栏文章,在带领读者走进人件世界的旅行中,以人性化的角度思考如何迎接软件开发所面临的各种挑战。
  • Patterns of Enterprise Application Architecture

    作者:Martin Fowler

    The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include * Dividing an enterprise application into layers * The major approaches to organizing business logic * An in-depth treatment of mapping between objects and relational databases * Using Model-View-Controller to organize a Web presentation * Handling concurrency for data that spans multiple transactions * Designing distributed object interfaces
  • 测试驱动开发

    作者:Kent Beck

  • 软件需求

    作者:维格斯

    本书讲述了软件开发中一个至关重要的问题——软件需求问题。软件开发人员及用户往往容易忽略信息沟通,导致软件开发出来后,不能很好地满足用户的需要。而返工则不仅在技术上给开发人员带来巨大的麻烦,而且软件性能深受影响且造成人力、物力的浪费。所以在开发周期早期提高项目需求分析的质量,减少重复劳动,通这控制项目范围的扩展及需求变更来达到按计划完成预定目标是当前我国软件业急需解决的问题——这也是本书讨论的主要内容。
  • 质量·软件·管理(第1卷)

    作者:杰拉尔德・温伯格

    《质量软件管理》(第1卷)通过大量的实例解释了"控制点"的概念,只要对这些位置进行管理,就可以防止危机的发生,或者至少不使情况更糟。 书中讨论的问题包括:质量、压力与崩溃、软件文化、软件模式、管理模式、反馈作用、软件工程中的规模 / 复杂度动力、故障检测及其应对方法、错误排除动力、客户作用等。极具价值的图表、索引、练习题以及参考书目,更使《质量软件管理》(第1卷)光彩倍增。
  • UML和模式应用

    作者:(美)Carig Larman,(美)P

    世界上最畅销介绍面向对象分析/设计、迭代开发和UML的书籍,《UML和模式应用:面向对象分析和设计及统一过程导论(第2版)(影印版)》的目的是帮助开发人员或学生掌握关于面向对象的分析和设计(OOA/D)的核心原理与最佳实践,并将它们真正应用到软件设计中去,而不仅仅是画画UML而已。作为颇有声望的对象技术和迭代方法的先驱,Craig Larman提出了一个单独的、具有一致性的案例研究的三种迭代方法,介绍了OOA/D的关键技能,同时还强调了最基本的开发活动、原则和模式。 《UML和模式应用:面向对象分析和设计及统一过程导论(第2版)(影印版)》涉及的内容包括: ·需求和用况:识别并记录需求 ·领域对象建模:了解领域“感兴趣的对象”、它们的特征以及相互间的关系 ·架构:创建分层的架构,将应用的灵活性、健壮性和可维护性最大化 ·基本对象设计:用诸如策略、工厂、改编者、观察者、模板方法和命令等流行的high-use模式创建健壮的对象和框架 ·迭代开发和“敏捷方法”:用简单的、基本的统一过程(流行的迭代过程)活动和最佳实践来组织建模和开发 《UML和模式应用:面向对象分析和设计及统一过程导论(第2版)(影印版)》在第一版的基础上做了全在的修订,增加了新的案例研究,更新了关于模式、用况、统一过程、架构分析等的探讨。《UML和模式应用:面向对象分析和设计及统一过程导论(第2版)(影印版)》为分析和设计对象的方法提供了明晰而具有实际价值的介绍。 作者介简 Craig Larman:是Valtech公司的首席科学家,该公司在技术咨询领域居领先地位。在国际软件开发社区中,他是对象技术、模式、UML、建模和迭代开发方面广为人知的专家。Larman从20世纪80年代就开始帮助人们学习对象和迭代开发,他亲自指导过的开发人员已达数千人。此外,他还是《Java 2 Performance and Idiom Guide》一书的作者之一,并拥有计算机科学学士和硕士学位。Larman的最新作品《AgileIterative Development:a Manager's Guide》(《敏捷迭代开发》)即将由中国电力出版社出版。
  • 软件测试经验与教训

    作者:Cem Kaner,James Bach

    本书汇总了293条来自软件测试界顶尖专家的经验与建议,阐述了如何做好测试工作、如何管理测试,以及如何澄清有关软件测试的常见误解,读者可直接将这些建议用于自己的测试项目工作中。这些经验中的每一条都是与软件测试有关的一个观点,观点后面是针对运用该测试经验的方法、时机和原因的解释或例子。 本书还提供了有关如何将本书提供的经验有选择性地运用到读者实际项目环境中的建议,在所有关键问题上所积累的经验,以及基于多年的测试经验总结出的有用实践和问题评估方法。 优秀的软件测试团队不是天生的,而是造就的,是通过大量艰苦工作和有效沟通造就的。在这个过程中,有很多陷阱,这些陷阱会使精心制订的计划出现偏差,使项目不能按进度完成。 本书的三位作者具有多年的测试经验,知道成功的测试都需要什么。在这本革命性的新书中,他们汇总了293条测试经验建议,阐述了如何做好测试工作,如何管理测试,以及如何澄清有关软件测试的常见误解。读者可直接将这些经验用于自己的测试工作中。这些经验中的每一条都是与软件测试有关的一个观点,后面是对运用这条经验的方法、时机和原因的解释或例子。 为了满足不同层次的软件测试员、开发人员和管理人员的需要,本书还提供以下内容: ◆ 根据世界顶级软件测试专家多年的测试经验总结出的有用实践和问题评估方法。 ◆ 在所有关键问题上积累的经验,包括测试设计、测试自动化、测试管理、测试策略和错误报告。 ◆ 如何将本书提供的经验有选择性地运用到实际项目环境中的建议。
  • 小组软件开发过程

    作者:WattsS.Humphrey

    《小组软件开发过程》(简称“TSPi”),是美国Embry—Riddle Aeronautica1大学为计算机科学系研究生和高年级本科生开设的一门软件工程课的教科书。这本书系统地论述了如何以开发小组的形式来进行软件的开发,并对开发过程作出了具体而详尽的指导,包括小组成员之间的协调、进度的管理、质量的控制等等令读者最感兴趣的方面。 全书共四个部分:第一部分—绪论,包括前两章,是对理论的简单介绍
  • 完美软件

    作者:Gerald M.Weinberg

    《完美软件:对软件测试的各种幻想(中英文对照)》是从事软件行业五十余年的Gernald M. Weinberg针对软件测试所写的新作。他在软件项目的管理、设计、开发和测试方面都具有极其丰富的经验,对于与软件开发有关人员的心理尤其有深入的研究。在《完美软件:对软件测试的各种幻想(中英文对照)》中,他重点讨论了与软件测试有关的各种心理问题及其表现与应对方法。作者首先阐述软件测试之所以如此困难的原因——人的思维不是完美的,而软件测试的最终目的就是发现对改善软件产品和软件开发过程有益的信息,故软件测试是一个信息获取的过程。接着,作者利用丰富的经历和大量的实例,展现了在软件测试中可能会出现的各种与人的心理有关的现象、误区、欺诈,以及容易犯下的常见错误等等。《完美软件:对软件测试的各种幻想(中英文对照)》的重点不是告诉大家要做什么或者说如何做,而更多的是让读者明白在与软件测试相关的活动中会出现某些特定现象的原因。理解这些与人的心理有关的现象有助于与软件开发有关的所有人之间更好地就软件测试的目的和实现过程进行沟通,从而实现具有更高品质的软件。