目 錄
自序 1
前言 7
一、 科學哲學和管理哲學 13
【1】 “程式開發心理學”(The Psychology of Computer Programming : Silver Anniversary Edition) 13
【2】 “系統化思維導論”(An Introduction to Systems Thinking, Silver Anniversary Edition) 14
【3】 “系統設計的一般原理”( General Principles of Systems Design) 15
【4】 “品質·軟體·管理(第1卷)—— 系統思維”(Quality Software Management:Systems Thinking) 16
【5】 “成為技術領導者——解決問題的有機方法”(Becoming A Technical Leader:An Organic Problem-Solving Approach) 16
【6】 “你的燈亮著嗎?-發現問題的真正所在”( Are Your Lights On? How to Figure Out What the Problem Really Is) 18
【7】 “程式員修鍊之道”(The Pragmatic Programmer) 20
【8】 “與熊共舞:軟體項目風險管理” (Waltzing With Bears: Managing Risk on Software Projects) 23
【9】 “第五項修鍊: 學習型組織的藝術與實務”( The Fifth Discipline) 24
二、 電腦科學基礎 26
【10】 “電腦程式設計藝術”(The Art of Computer Programming) 26
【11】 “深入理解電腦系統”(Computer Systems A Programmer's Perspective ) 29
【12】 “演算法導論”(Introduction to Algorithms, Second Edition) 30
【13】 “資料結構與演算法分析 —— C語言描述(原書第2版) ”(Data Structure & Algorithm Analysis in C, Second Edition) 31
【14】 “自動機理論、語言和計算導論(第2版)”(Introduction to Automata Theory, Languages, and Computation(Second Edition)) 32
【15】 “離散數學及其應用(原書第四版)”(Discrete Mathematics and Its Applications,Fourth Edition) 33
【16】 “編譯原理”(Compilers: Principles, Techniques and Tools) 34
【17】 “現代作業系統”(Modern Operating System) 35
【18】 “電腦網路(第4版)”(Computer Networks) 35
【19】 “資料庫系統導論(第7版)”(An Introduction to Database Systems(Seventh Edition)) 36
三、 軟體工程思想 37
【20】 “人件”(Peopleware : Productive Projects and Teams, 2nd Ed.) 38
【21】 “人件集 —— 人性化的軟體開發”( The Peopleware Papers: Notes on the Human Side of Software) 39
【22】 “人月神話”(The Mythical Man-Month) 40
【23】 “軟體工程 — 實踐者的研究方法(原書第5版)”(Software Engineering: A Practitioner's Approach, Fifth Edition) 56
【24】 “敏捷式軟體開發 (Agile Software Development)-原則、模式與實踐”(Agile Software Development: Principles, Patterns, and Practices) 57
【25】 “規劃極限編程”( Planning Extreme Programming) 58
【26】 “RUP導論(原書第3版)”(The Rational Unified Process:An Introduction,Third Edition ) 59
【27】 “統一軟體開發過程”(The Unified Software Development Process) 60
四、 軟體需求 62
【28】 “探索需求-設計前的品質”( Exploring Requirements: Quality Before Design) 63
【29】 “編寫有效用例”(Writing Effective Use Cases ) 64
五、 軟體設計和建模 66
【30】 “物件導向方法原理與實踐” 66
【31】 “物件導向軟體構造(英文版.第2版)”(Object-Oriented Software Construction,Second Edition ) 68
【32】 “物件導向分析與設計(原書第2版)”(Object-Oriented Analysis and Design with Applications,2E ) 69
【33】 “UML物件導向設計基礎”(Fundamentals of Object-Oriented Design in UML) 70
【34】 “UML精粹 —— 標準對象建模語言簡明指南(第2版)”( UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition)) 71
【35】 “UML和模式應用(原書第2版)”(Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, Second Edition ) 72
【36】 “設計模式精解”(Design Patterns Explained) 74
【37】 “設計模式:可複用物件導向軟體的基礎”( Design Patterns:Elements of Reusable Object-Oriented software) 75
【38】 “面向模式的軟體體繫結構 卷1:模式系統”( Pattern-Oriented Software Architecture, Volume 1: A System of Patterns) 76
【39】 “軟體設計的藝術”(Bringing Design to Software) 77
六、 程式設計 79
【40】 “編程珠磯”(Programming Pearls Second Edition ) 80
【41】 “C程式設計語言(第2版·新版)”(The C Programming Language ) 81
【42】 “C++ 程式設計語言(特別版)”(The C++ Programming Language, Special Edition) 82
【43】 “C++ Primer (3RD)” 83
【44】 “C++語言的設計和演化”( The Design and Evolution of C++) 84
【45】 “C++ 編程思想(2ND)”(Thinking in C++ Second Edition) 85
【46】 “Effective C++” & “More Effective C++” 86
【47】 “C++編程藝術 ”(The Art of C++ ) 88
【48】 “Java 編程思想:第3版”( Thinking in Java, Third Edition) 89
【49】 “Effective Java” 90
七、 軟體測試 91
【50】 “測試驅動開發(中文版)”(Test-driven development:by example ) 91
【51】 “物件導向系統的測試”(Testing Object-Oriented System: Models, Patterns, and Tools) 92
【52】 “單元測試之道Java版 —— 使用Junit”/ “單元測試之道C#版——使用NUnit” (Pragmatic Unit Testing:In Java with JUnit / Pragmatic Unit Testing:In C# with NUnit ) 93
八、 軟體維護和重構 95
【53】 “重構-改善既有代碼的設計”(Refactoring: Improving the Design of Existing Code) 96
九、 組態管理和版本控制 97
【54】 “版本控制之道 —— 使用CVS”(程式員修鍊三部曲第一部:Pragmatic Version Control Using CVS) 97
十、 領域專題(網路、平台、資料庫相關) 99
【55】 “TCP/IP詳解”( TCP/IP Illustracted) 99
【56】 “Unix網路編程”(UNIX Network Programming) 100
【57】 “UNIX環境進階編程”(Advanced Programming in the UNIX Environment) 102
【58】 “UNIX 編程藝術”(The Art of Unix Programming) 103
【59】 “資料訪問模式 —— 物件導向應用中的資料庫互動” 103
跋 105
附錄A:部分作者簡介 110
附錄B:部分譯者簡介 122
附錄C:資料-曆屆“震撼大獎”獲獎圖書 126
附錄D:歷程記錄 131