软件工程类图书

preview
需积分: 0 0 下载量 90 浏览量 更新于2011-12-21 收藏 35KB DOC 举报
### 软件工程类图书知识点汇总 #### 1. **《人月神话》(The Mythical Man-Month)** - **作者**: Frederick Brooks - **核心知识点**: - **Brooks定律**: 增加人力到已经延期的项目上会使项目进一步延期。 - **沟通成本**: 当团队规模增大时,成员之间的沟通成本呈指数增长。 - **本质复杂度与偶然复杂度**: 软件项目中存在无法避免的本质复杂度以及可以通过技术手段降低的偶然复杂度。 #### 2. **《设计模式: 可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)** - **作者**: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (四人被称为“Gang of Four”) - **核心知识点**: - **23种设计模式**: 包括单例模式、工厂模式等,每种模式都提供了一种解决特定问题的方法。 - **设计原则**: 如开闭原则(Open-Closed Principle)、里氏替换原则(Liskov Substitution Principle)等。 - **面向对象设计**: 强调抽象、封装、继承、多态等基本原则在实际项目中的应用。 #### 3. **《人件》(Peopleware)** - **作者**: Tom DeMarco, Timothy Lister - **核心知识点**: - **工作环境**: 提出良好的物理和心理工作环境对于提高程序员生产力至关重要。 - **团队协作**: 讨论了有效的团队管理和协作方式。 - **项目管理**: 分析了传统项目管理方法的局限性和改进方案。 #### 4. **《企业应用架构模式》(Enterprise Application Architecture)** - **作者**: Martin Fowler - **核心知识点**: - **架构模式**: 如分层架构、微服务架构等。 - **架构决策**: 如何根据业务需求选择合适的架构模式。 - **最佳实践**: 如何设计可扩展、高可用的企业级应用程序。 #### 5. **《重构: 改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)** - **作者**: Martin Fowler - **核心知识点**: - **重构技巧**: 提供了一系列实用的代码重构技巧。 - **重构模式**: 如重命名变量、提取函数等。 - **重构案例**: 通过实际案例展示如何逐步改进代码结构。 #### 6. **《解析极限编程》(Extreme Programming Explained)** - **作者**: Kent Beck - **核心知识点**: - **极限编程原则**: 如持续集成、结对编程等。 - **敏捷方法论**: 解释了极限编程作为敏捷开发的一种实践方法。 - **实践指导**: 提供了将极限编程应用于实际项目的指导。 #### 7. **《UML精粹: 标准对象建模语言简明教程》(UML Distilled: A Brief Guide to the Standard Object Modeling Language)** - **作者**: Martin Fowler - **核心知识点**: - **UML基础**: 包括类图、顺序图等的基本概念。 - **UML应用**: 如何使用UML进行需求分析、系统设计等。 - **最佳实践**: UML在不同场景下的应用技巧。 #### 8. **《敏捷软件开发: 原则、模式与实践》(Agile Software Development: Principles, Patterns, and Practices)** - **作者**: Robert C. Martin (Bob Martin) - **核心知识点**: - **敏捷原则**: 如个体和交互高于流程和工具。 - **设计原则**: 如单一职责原则等。 - **开发实践**: 如TDD(测试驱动开发)、持续集成等。 #### 其他推荐书籍知识点 - **《软件工程: 实践者之路》**: 提供了软件工程理论与实践的全面介绍。 - **《设计模式: 可复用面向对象软件的基础》**: 经典设计模式参考书。 - **《UML用户指南》**: 深入讲解UML的各种用法。 - **《系统分析与设计方法》**: 覆盖了系统分析和设计的关键技术。 - **《敏捷软件开发》**: 探讨敏捷方法的应用和实践。 - **《面向对象软件开发原理》**: 阐述面向对象编程的核心理念和技术。 - **《软件自动化测试》**: 强调自动化测试的重要性及其实现方法。 - **《项目管理手册》**: 提供项目管理的最佳实践和方法论。 以上书籍覆盖了软件工程的各个方面,包括需求分析、设计、编码、测试以及项目管理等,是软件工程师和项目经理的重要参考资料。通过学习这些经典著作,不仅可以提升个人的技术能力,还能够更好地理解软件开发的全过程,为职业生涯的发展打下坚实的基础。