`
Althars
  • 浏览: 75005 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类

Top 100 Best Software Engineering Books

阅读更多
1 Steve McConnell
Code Complete: A Practical Handbook of Software Construction

2 Elisabeth Freeman, etc.
Head First Design Patterns

3 Steve McConnell
Rapid Development

4 Erich Gamma
Design Patterns: Elements of Reusable Object-Oriented Software

5 Bruce Schneier
Applied Cryptography: Protocols, Algorithms, and Source Code (2nd Edition)

6 Robert C. Martin
Agile Software Development: Principles, Patterns and Practices

7 Joel Spolsky
Joel on Software

8 Tom DeMarco, Timothy Lister
Peopleware: Productive Projects and Teams (2nd Edition)

9 Frederick P. Brooks
The Mythical Man-Month, Anniversary Edition (2nd Edition)

10 Martin Fowler
Refactoring: Improving the Design of Existing Code

11 Mike Cohn
Agile Estimating and Planning

12 Alistair Cockburn
Writing Effective Use Cases

13 Bertrand Meyer
Object-Oriented Software Construction (2nd Edition)

14 Steve McConnell
Software Estimation: Demystifying the Black Art

15 Mike Cohn
User Stories Applied: For Agile Software Development

16 Donald E. Knuth
The Art of Computer Programming, The, Volumes 1-3 Boxed Set (2nd Edition)

17 Martin Fowler
Patterns of Enterprise Application Architecture

18 Jeffrey Friedl
Mastering Regular Expressions

19 Andrew Hunt, David Thomas
The Pragmatic Programmer: From Journeyman to Master

20 Karl E. Wiegers
Software Requirements (2nd Edition)

21 Craig Larman
Applying UML and Patterns (3rd Edition)

22 Alistair Cockburn
Agile Software Development: The Cooperative Game (2nd Edition)

23 Gary McGraw
Software Security: Building Security In

24 Gregor Hohpe, Bobby Woolf
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

25 Tom DeMarco
The Deadline: A Novel About Project Management

26 Craig Larman
Agile and Iterative Development: A Manager's Guide

27 Eric A. Marks, Michael Bell
Service-Oriented Architecture: A Planning and Implementation Guide for Business and Technology

28 Thomas H. Cormen, etc.
Introduction to Algorithms, Second Edition

29 Thomas Erl
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services

30 Martin Fowler
UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)

31 Kent Beck
Extreme Programming Explained: Embrace Change (2nd Edition)

32 Alan Shalloway, James Trott
Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)

33 Grady Booch, etc.
Object-Oriented Analysis and Design with Applications (3rd Edition)

34 Jim Highsmith
Agile Project Management: Creating Innovative Products

35 Scott Berkun
Making Things Happen: Mastering Project Management

36 Jon Bentley
Programming Pearls (2nd Edition)

37 Paul Duvall, etc.
Continuous Integration: Improving Software Quality and Reducing Risk

38 Andrew Stellman, Jennifer Greene
Applied Software Project Management

39 Clemens Szyperski
Component Software: Beyond Object-Oriented Programming

40 Arthur J. Riel
Object-Oriented Design Heuristics

41 Thomas Erl
SOA Principles of Service Design

42 Mary Poppendieck, Tom Poppendieck
Lean Software Development: An Agile Toolkit

43 Ken Schwaber
Agile Project Management with Scrum

44 Ken Schwaber, Mike Beedle
Agile Software Development with Scrum

45 Joshua Kerievsky
Refactoring to Patterns

46 Alistair Cockburn
Crystal Clear: A Human-Powered Methodology for Small Teams

47 Steve McConnell
Software Project Survival Guide

48 Tom DeMarco, Timothy Lister
Waltzing With Bears: Managing Risk on Software Projects

49 Venkat Subramaniam, Andy Hunt
Practices of an Agile Developer: Working in the Real World

50 Kathy Schwalbe
Information Technology Project Management

51 Randall Hyde
Write Great Code: Volume 1: Understanding the Machine

52 Scott Rosenberg
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software

53 Cem Kaner, etc.
Lessons Learned in Software Testing

54 Andy Oram, Greg Wilson
Beautiful Code: Leading Programmers Explain How They Think

55 Luke Hohmann
Beyond Software Architecture: Creating and Sustaining Winning Solutions

56 Grady Booch
Unified Modeling Language User Guide, The (2nd Edition)

57 Karl Fogel
Producing Open Source Software: How to Run a Successful Free Software Project

58 Michael Feathers
Working Effectively with Legacy Code

59 Kent Beck
Test Driven Development: By Example

60 Per Kroll, Philippe Kruchten
The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP

61 Thomas Erl
Service-Oriented Architecture: Concepts, Technology, and Design

62 Cem Kaner, etc.
Testing Computer Software (2nd Edition)

63 Frank Buschmann, etc.
Pattern-Oriented Software Architecture Volume 1: A System of Patterns

64 Harold Abelson, Gerald Jay Sussman
Structure and Interpretation of Computer Programs - 2nd Edition

65 Dan Pilone
UML 2.0 in a Nutshell

66 Brett D. McLaughlin, etc.
Head First Object-Oriented Analysis and Design

67 Johanna Rothman
Manage It!: Your Guide to Modern, Pragmatic Project Management

68 JamesShore, Shane Warden
The Art of Agile Development

69 Brian W. Kernighan, Rob Pike
The Practice of Programming

70 Ron Jeffries, etc.
Extreme Programming Installed

71 Scott W. Ambler, Pramodkumar J. Sadalage
Refactoring Databases: Evolutionary Database Design

72 Jared Richardson, William Gwaltney
Ship it! A Practical Guide to Successful Software Projects

73 Greg Hoglund, Gary McGraw
Exploiting Software: How to Break Code

74 Michael Nygard
Release It!: Design and Deploy Production-Ready Software

75 Edward Yourdon
Death March (2nd Edition)

76 ???
Alright, I tricked you. Shame on me! The remaining 25 positions of the list are only available when you request the full PDF MS Word version. Don't worry, it's free! See below...

Scope of the Project
For this Top 100 list I have included only books covering subjects found in the Software Engineering Body of Knowledge (SWEBOK). This means that I have left out books with main topics such as web design, computer science, business management and system administration. The main reason being that I had to limit the scope, or I would never be able to finish the bloody thing. It means you will not find classics such as About Face, Don't Make Me Think!, Machine Learning, Neural Networks, Business Dynamics, Data Mining, Secrets and Lies and Hacking. (Sorry people, maybe some other idiot with time on his hands wants to pick that up...)

I also excluded all books that dealt with specific technologies, such as Java, .NET, Ruby, PHP, and BoogieWoogie 3.1. I was only interested in the potentially timeless software engineering classics. Technology books don't fall into that category. And I did include books on project management (as project management is one of the competences in SWEBOK) but onlywhen those books explicitly dealt with managing software development. (That's why you won't see any generic PMP-related stuff on the list.)

Finding the Books
To find all these potentially timeless classics, I checked the best-selling books in these five Amazon categories:

Books > Computers & Internet > Computer Science > Software Engineering
Books > Computers & Internet > Computer Science > System Analysis & Design
Books > Computers & Internet > Programming > Algorithms
Books > Computers & Internet > Programming > Software Design, Testing & Engineering
Books > Computers & Internet > Project Management

After I found all best-selling software engineering books, I subsequently found many other books through the "Customers Who Bought This Item Also Bought" cross-reference thingy. That's how I finally ended up with a list of 250 books, and a headache the size of one of Jupiter's moons.

Doing the Calculations
Then it was time to do the calculations. I checked the number of customer reviews on Amazon, and I ranked the books according to these numbers (= a measure of quantity). I also calculated the average Amazon ratings, and I ranked the books according to these ratings (= a measure of quality). I then checked the number of Google hitsfor each of the books, and I ranked them accordingly (= a measure of popularity). Finally, I took the three rankings, added extra points for all winners of Jolt awards, and then re-calculated it into a final ranking. This resulted in the list you now have before you.

I can guarantee that the system I used is scientifically incorrect and artistically atrocious! Nevertheless, the results are quite interesting, and I'm sure this list can be of great help if you want to broaden your knowledge of the field of software engineering, in all its exciting dimensions. I suggest you start with number 1, and then slowly work you way down. It shouldn't take you more than a couple of years.

Feedback Please!
Now, I'm sure you will understand that the creation of this list cost me many hours of work, some sleepless nights, and a couple of broken relationships. If you think the list is interesting, or even valuable, then I suggest you digg, stumble and bookmark the hell out of it! This is the first time I honestly think I deserve it. On the other hand, if you don't like the outcome, and you've got something to complain about, don't hesitate to let me know. I'll do my best to think of some innovative ways of ignoring you.

Furthermore, if you want to receive a PDF MS Word version with the full Top 100 list, including ISBN-numbers, release dates, Amazon ratings and Jolt awards, then you can send me an emailand simply ask for it. I like getting email. And it will help your request tremendously if you told me that you've subscribed to my blog/feed. And don't you dare lying about it! I'll be monitoring the feed statistics actively, so I know it when you people are playing me false.

(Oh, and please allow me at least 24 hours to reply to your mail. I might be trying to recover from the hours of sleep I lost...)

Thanks for your feedback, and happy reading!
分享到:
评论

相关推荐

    软件工程第9版(Software Engineering,9th Edition)

    Progress in software engineering has been remarkable over my professional lifetime. Our societies could not function without large, professional software systems. For building business systems, there ...

    Rapid Development - Taming Wild Software Schedules - Part1

    Software Engineering is then about achieving tradeoffs, and this is what this book is primarily about. Because the book is so big, it has been broken into sections that can be read selectively and ...

    Build Web Applications with Java

    This book is primarily intended for beginners who wants to learn various aspects of software engineering and building web applications using Java programming language. There are many good books ...

    Skill Up: A Software Developer's Guide to Life and Career

    Jordan has traveled the world building applications and training individuals on a wide variety of topics, including Ruby development, big data analysis, and software engineering. Jordan focuses on ...

    Object Oriented Analysis And Design With Applications 3Rd Edition.pdf

    Grady has served as architect and architectural mentor for numerous complex software-intensive projects around the world. Grady is the author of six best-selling books, including the UML Users ...

    Rapid Development - Part 2

    Rapid Development - Taming Wild Software Schedules - Part2 <br>Steve McConnell\'s books have always displayed a remarkable degree of practicality and readability. This book is no different. <br>...

    Rapid Development - Part3

    Rapid Development - Taming Wild Software Schedules - Part 3 Total 4 parts <br>Steve McConnell\'s books have always displayed a remarkable degree of practicality and readability. This book is no...

    Rapid Development - Part 4

    Rapid Development - Taming Wild Software Schedules - Part 4 (the last part) Total : 4 parts. <br>Steve McConnell\'s books have always displayed a remarkable degree of practicality and ...

    Soft Skills to Advance Your Developer Career.pdf

    Throughout this journey, I have read more than 100 books in the area of professionalism, taking responsibility, mindset, entrepreneurship, software engineering best practices, communication, learning...

    Professional.Cplusplus.3rd.Edition

    Chapter 24: Maximizing Software Engineering Methods Chapter 25: Writing Efficient C++ Chapter 26: Conquering Debugging Appendix A: C++ Interviews Appendix B: Annotated Bibliography Appendix C: ...

    [集成安全] 安全模式 (英文版)

    Security Patterns addresses the full spectrum of security in systems design, using best practice solutions to show how to integrate security in the broader engineering process. ☆ 出版信息:☆ ...

    The Practice of Cloud System Administration pdf

    Understand the new software engineering implications of cloud administration Make systems that are resilient to failure and grow and scale dynamically Implement DevOps principles and cultural ...

    The.Data.Science.Handbook.pdf

    Unlike many analytics books, computer science and software engineering are given extensive coverage since they play such a central role in the daily work of a data scientist. The author also describes...

    C#大学教程how to program课后答案

    Visual C# 2010 how to program 4th EditionDeitel-This book focuses on software engineering best practices. At the heart of the book is the Deitel signature “live-code approach.” Concepts are ...

    Apress.Coders.at.Work.Sep.2009_www_softarchive_net.rar

    programmer or software engineer. And that doesn’t count professional programmers outside the U.S. nor the many student and hobbyist programmers and people whose official job is something else but who...

    William Stallings,Cryptography and Network Security Principles and Practice(7th)

    William Stallings has authored 18 titles, and counting revised editions, over 40 books on computer security, computer networking, and computer architecture. His writings have appeared in numerous ...

    openGL超级宝典(第四版).pdf

    He studied electrical engineering and computer science at the University of Louisville’s Speed Scientific School and made it half way through his senior year before his career got the best of him ...

    Spring.Boot.in.Action.2015.12.pdf

    the books we publish printed on acid-free paper, and we exert our best efforts to that end Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on ...

Global site tag (gtag.js) - Google Analytics