Recommended bibliography for software engineers (both classic books abroad !!!)

Source: Internet
Author: User
Tags microsoft c
Software recommendation bibliography (I) Master

1. Philosophy of Science and Management
[1] The psychology of computer programming: silver anniversary edition)
[2] "Introduction to systematic thinking" (an introduction to systems thinking, silver anniversary edition)
[3] General Principles of system design)
[4] "quality? Software? Management (volume 1st)-system thinking (quality software management: Systems Thinking)
[5] "becoming a technical leader-an organic solution to problems" (becoming a technical leader: an organic problem solving approach)
[6] "is your light on? -The real location of the problem found is "(are your lights on? How to figure out what the problem really is)
[7] the pragmatic programmer)
[8] "Dancing with Bear: software project risk management" (waltzing with bears: Managing Risk on Software Projects)
[9] "The Fifth practice: the art and practice of a learning organization)

Ii. Computer science basics
[10] The Art of computer programming)
[11] "computer systems a programmer's Perspective)
[12] "Introduction to algorithms" (Introduction to algorithms, Second Edition)
[13] "data structure and algorithm analysis-C language description (source book version 2nd)" (Data Structure & algorithm analysis in C, Second Edition)
[14] "Introduction to theory, language, and computing of automatic machines (2nd)" (Introduction to Automation Theory, ages, and computation (second edition ))
[15] "discrete mathematics and Its Applications (Fourth Edition)" (Discrete Mathematics and its applications, Fourth Edition)
[16] "Compilation Principle" (compilers: Principles, techniques and tools)
[17] Modern Operating System)
[18] "Computer Network (4th)" (Computer Networks)
[19] "Introduction to database systems (version 7th)" (an introduction to database systems (seventh edition ))

Iii. Software Engineering ideas
[20] "pieces" (peopleware: productive projects and teams, 2nd ed .)
[21] "People collection-user-friendly software development" (The peopleware papers: notes on the human side of software)
[22] "Mythical man-month" (The Mythical man-month)
[23] "Software Engineering-research methods for practitioners (5th)" (Software Engineering: a practitioner's approach, privacy th Edition)
[24] "Agile Software Development-principles, models and practices" (Agile Software Development: Principles, patterns, and practices)
[25] Planning eXtreme Programming (Planning eXtreme Programming)
[26] "Introduction to RUP (version 3rd)" (the Rational Unified Process: an introduction, Third Edition)
[27] the unified software development process)

4. software requirements
[28] "Exploration requirements-quality before design" (requirement ing requirements: quality before design)
[29] "writing into tive use cases)

V. Software Design and Modeling
[30] "Principles and Practices of object-oriented methods"
[31] "Object-Oriented Software Architecture (English version. 2nd)" (object-oriented software construction, Second Edition)
[32] "Object-Oriented Analysis and Design (formerly known as OSS 2nd)" (object-oriented analysis and design with applications, 2e)
[33] "UML object-oriented design basics" (Fundamentals of object-oriented design in UML)
[34] "UML essence-Concise Guide to Standard Object Modeling Language (version 2nd)" (UML Distilled: a brief guide to the standard Object Modeling Language (2nd edition ))
[35] "UML and pattern application (formerly known as version 2nd)" (applying UML and patterns: An Introduction to object-oriented analysis and design and the uniied process, Second Edition)
[36] Design Patterns explained)
[37] "design pattern: Reusable basics of object-oriented software" (design patterns: Elements of reusable object-oriented software)
[38] "pattern-Oriented Software Architecture Volume 1: pattern system" (pattern-oriented software architecture, Volume 1: a system of patterns)
【39] "The Art of software design" (bringing design to software)

Vi. Program Design
[40] programming pearls Second Edition)
[41] "C programming language (version 2nd? New Version) "(The C programming language)
[42] "C ++ programming language (Special Edition)" (The C ++ programming language, Special Edition)
[43] "C ++ primer (3rd )"
[44] "design and evolution of C ++ language" (the design and evolution of c ++)
[45] "C ++ programming ideology (2nd)" (thinking in C ++ Second Edition)
[46] "effective C ++" & "more effective C ++"
[47] The Art of C ++)
[48] "Java programming ideology: Version 3rd" (thinking in Java, Third Edition)
[49] "valid Java"

VII. Software Testing
[50] "test-driven development (Chinese version)" (test-driven development: by example)
[51] "object-oriented system testing" (testing object-oriented system: models, patterns, and tools)
[52] "unit test path Java edition-use JUnit"/"unit test path C # edition-use nunit" (Pragmatic unit testing: in Java with JUnit/pragmatic unit testing: in C # With nunit)

8. software maintenance and reconstruction
[53] refactoring: improving the design of existing code)
9. Configuration Management and Version Control
[54] "version control path-use CVS" (First part of the programmer's trilogy: pragmatic version control using CVS)

10. Field topics (related to networks, platforms, and databases)
[55] "TCP/IP explanation" (TCP/IP multicast stracted)
[56] "UNIX network programming" (UNIX Network Programming)
[57] "Advanced Programming in UNIX environment" (Advanced Programming in the Unix environment)
[58] The Art of Unix programming)
[59] "Data Access Mode-database interaction in object-oriented applications"

Software recommendation bibliography (2)
[1] "system thinking" (the core of practice and the powerful tool for managers to deal with complex problems) (seeing the forest for the trees: a manager's Guide to applying systems thinking)
[2] "kernel method of Pattern Analysis" (Kernel Methods for Pattern Analysis)
[3] "Introduction to computer science: Version 8th" (Computer Science: An Overview (8th edition ))
[4] "Introduction to computer science" (Foundations of Computer Science: from data manipulation to theory of computation)
[5] "The mysteries of coding" (CODE)
[6] "Specific mathematics: computer science basics (English version. 2nd)" (concrete mathematics a foundation for computer science (second edition ))
[7] "data structure and algorithm analysis C ++ description (version 2nd)" (Data Structures & algorithm analysis in C ++ (2nd ed .))
[8] "data structure and algorithm analysis-Java language description" (data structures and algorithm analysis in Java)
[9] "data structure, algorithms and applications: C ++ description" (data structures, algorithms and Applications in C ++)
[10] "data structure and algorithm analysis (C ++) Version 2" (practice introduction to data structures and algorithm analysis (C ++ edition) (2nd edition ))
[11] "Data Structure C ++ language description" (data structures C ++)
[12] "concise Graph Theory tutorial" (a friendly introduction to graph theory)
[13] "operating system concepts (version 6)" (operating system concepts, Sixth Edition)
[14] "Operating System: design and implementation (second edition) book, next book (new version)" (Operating Systems: design and implementation (second edition ))
[15] "Distributed System-Principles and dimensions" (Distributed Systems: Principles and paradigms)
[16] "4.4 BSD operating system design and implementation (Chinese version)" (the design and implementation of the 4.4bsd Operation System)
[17] "Leon's Unix source code analysis" (lion 'Commentary on UNIX 6th edition with source code)
[18] "Linux kernel design and implementation" (Linux kernel development)
[19] "compilation principles and practices" (Compiler Construction: Principles and Practice)
[20] "data and computer communication (seventh edition)" (data and computer communications, seventh edition)
[21] "Database System Concepts" (Database System Concepts, Fourth Edition)
[22] "Database Management System: principles and design (3rd edition)" (database management systems (Third edition ))
[23] "database principles, programming, and performance (2nd)" (Database-principles, programming, and performance Second Edition)
[24] "Deadline" (the deadline: a novel about Project Management)
[25] "Death journey (version 2)" (death march, Second Edition)
[26] "Management of technicians-innovation, collaboration and software processes" (managing technical people: innovation, teamwork, and the software process)
[27] "individual software process" (introduction to the personal software process)
[28] "group software development process" (introduction to the Team Software Process)
[29] "software engineering specifications" (a discipline for Software Engineering)
[30] "Rapid software development-effective control and completion of the Schedule" (Rapid Development)
[31] "surpassing traditional software development-illusion and truth of extreme programming"
[32] "Agile Software Development-using scrum process (photocopy)" (Agile Software Development with scrum)
[33] "Resolution eXtreme Programming: Embracing Change (photocopy)" (eXtreme Programming explained: Embrace change)
[34] Lean software development: an agile Toolkit)
[35] "Agile Software Development (Chinese version)" (Agile Software Development)
[36] "Principles and Practices of feature-driven development methods" (a practical guide to feature-Driven Development)
[37] "agile Modeling: Effective Practice of extreme programming and unified processes" (agile Modeling: Valid practices for extreme programming and the Unified Process)
[38] Agile Project Management: creating innovative products)
【39 】 adaptive software development-a collaboration mode for managing complex systems (Adaptive software development: a collaborative approach to managing complex systems)
[40] "Rational Unified Process: practitioner Guide" (the Rational Unified Process made easy: a practitioner's guide to the RUP)
[41] "cmme essence-Introduction to integration process improvement" (cmme Distilled: A Practical Introduction to integrated process improvement)
[42] "cmme-Guide to process integration and Product improvement (photocopy)" (cmme: Guidelines for Process Integration and Product improvement)
[43] domain-driven development (domain-driven design: tacking complexity in the heart of software)
[44] "Creating a Software Engineering Culture" (creating a Software Engineering Culture)
[45] "process mode" (more process patterns: delivering large-scale systems using object technology)
[46] software craftsmanship)
[47] "software requirements)
[48] "Software Requirement management: unified method" (managing software requirements: a unified approach)
[49] "Software Reuse Technology: considering reuse in system development" (software reuse techniques adding reuse to the systems development process)
[50] "Software Reuse architecture, process and organization)
[51] "Analysis Mode: Reusable Object Model" (Analysis Patterns: Reusable object models)
[52] "design by Contract Principles and Practices" (design by contract by example)
[53] "UML User Guide" (The uniied modeling language user guide)
[54] "UML Reference Manual" (The uniied Modeling Language Reference Manual)
[55] System Analysis and Design (5th Edition)
[56] "Software Architecture Practice (version 2nd)" (Software Architecture in practice, Second Edition)
[57] patterns of enterprise application architecture)
[58] The Art of software architecture: Design Methods and Techniques)
[59] documenting software architecture tures: Views and beyond)
[60] "Oo project survival rules" (using ving object-oriented projects)
[61] "Ood kickoff" (object-oriented design heuristics)
[62] "Object secrets: Java, Eiffel and C ++" (Objects unencapsulated: Java, Eiffel and C ++)
[63] the science and art of Software Development)
[64] the practice of Programming)
[65] "code reading methods and practices" (code reading: The Open Source perspective)
[66] "code Daquan" (Code complete)
[67] "reconstruction manual (Chinese version)" (refactoring workbook)
[68] "programming language-the path to practice" (programming language pragmatics)
[69] "high quality programming guide-C ++/C Language"
[70] "C Programming (second edition )"
[71] "C ++ Program Design"
[72] "C ++ object-oriented programming" (object-oriented programming in C ++ Fourth Edition)
[73] "C ++ gotchas (photocopy)" (C ++ gotchas: Avoiding common problems in coding and Design)
[74] "essential C ++ Chinese version" (essential C ++)
[75] "C ++ classic Q & A" (C ++ FAQs (2nd edition ))
[76] "C ++ templates Chinese version" (C ++ templates: the complete Guide)
[77] "C ++ standard library-self-repair Tutorial and Reference Manual" (the C ++ Standard Library)
[78] "C ++ STL (Chinese version)" (C ++ Standard Template Library)
[79] "Generic programming and STL" (generic programming and the STL: using and extending the C ++ Standard Template Library)
[80] "C ++ multi-model design" (Multi-paradigm Design for C ++)
[81] "C ++ new design thinking (Application of generic programming and design patterns)" (modern c ++ design: Generic programming and design patterns applied)
[82] "C ++ meditation" (ruminations on C ++)
[83] "accelerated C ++ Chinese version" (accelerated C ++)
[84] "Advanced C ++ Chinese version" (Advanced C ++ programming styles and idioms)
[85] "predictional C ++ (Chinese version)" "More predictional C ++ (English version)" (predictional C ++, more predictional C ++)
[86] "C ++ programming idioms-common methods and skills for senior programmers" (C ++ strategies and tactics)
[87] "in-depth exploration of the C ++ Object Model" (inside the C ++ Object Model)
[88] "applied C ++ Chinese version -- practical technology for building better software" (applied C ++: practical techniques for building better software)
[89] "C ++ efficient programming: memory and performance optimization" (C ++ footprint and performance optimization)
[90] "programming technology for improving C ++ performance" (efficient C ++: Performance programming techniques)
[91] "code optimization: Effective memory usage" (code optimization: invalid memory usage)
[92] "large-scale C ++ Program Design" (large-scale C ++ software design)
[93] "Java programming language (Third edition)" (the Java programming language, Third Edition)
[94] "UML Java programmer Guide" (UML for Java programmers)
[95] "latest Java 2 core technology" (core Java 2)
[96] "Java programming art" (The Art of Java)
[97] "J2EE Core Model (2nd)" (core J2EE patterns: Best Practices and design strategies, Second Edition)
[98] "application debugging technology" (debugging applications)
[99] software testing a craftsmaj's approach (second edition)
[100] "survival rules for software testing" (selling ving the Top Ten Challenges of software testing: a people-oriented approach)
[101] "Function Point Analysis-measurement practices of successful software projects" (Function Point Analysis: measurement practices for successful software projects)
[102] "Walk, review and technical review manual-evaluate programs, projects and products (version 3rd)" (Handbook of activities throughs, inspections, and technical reviews: evaluating programs, projects, and products, 3rd ed .)
[103] configuration management principles and practices (Configuration Management Principles and Practice)
[104] "software release methodology)
[105] "Lex and YACC (second edition)" (Lex & YACC, Second Edition)
[106] "using TCP/IP for Internet connection" (TCP/IP network interconnection technology) (Internetworking with TCP/IP)
[107] "TCP/IP routing technology" (Routing TCP/IP)
[108] "Windows Programming (version 5th) (Previous and next)" (programming windows (Program th Edition ))
[109] ". NET architecture technology and Visual C ++ programming" (. NET architecture and programming using Visual C ++)
[110] "Microsoft. NET Programming Technology insider" (programming Microsoft. NET)
[111] "Microsoft C # windows programming (previous and next )"
[112] "Advanced CORBA programming with C ++)
[113] "computer graphics" (Computer Graphics)
[114] "computer graphics: C language version (2nd" English photocopy) "(computer graphics: C version, Second Edition)
[115] "Computer Graphics (Third edition)" (computer graphics with OpenGL, 3e)
[116] "Windows game programming Masters (version 2)" (tricks of the Windows game programming gurus, 2nd)
[117] "top game design: Constructing the game world" (Ultimate Game Design: building game worlds)
[118] The Art of Assembly Language)
[119] "software analysis-code Attack and Defense" (exploiting software: how to break code)
[120] "Write Secure Code" (writing Secure Code)
[121] "application Cryptography (Protocol algorithm and C source program)" (applied cryptography: protocols, algorithms, and source code in C)
[122] "truth about network information security" (secrets and lies: digital security in a networked world)
[123] "Data Warehouse project management)
[124] "Data Mining concepts and technologies" (Data Mining: concepts and techniques)
[125] "artificial intelligence" (Artifical Intelligence: a new synthesis)
[126] Neural Network Design)
[127] Grid Computing)
[128] "workflow management-model methods and systems" (Workflow Management: models, methods, and systems)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.