Skip to main content
  1. Home
  2. Computer Science & IT
  3. Intermediate / Advanced Programming
  4. Object Oriented Design
  5. Agile Software Development, Principles, Patterns, and Practices

Agile Software Development, Principles, Patterns, and Practices, 1st edition

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

ISBN-13:  9780135974445

Hardcover
Free delivery
$63.99 $79.99
Free delivery
$63.99 $79.99

What's included

  • Hardcover

    You'll get a bound printed text.

Overview

Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application—from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts — showing the errors, blind alleys, and creative insights that occur throughout the software design process. The book covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.

Table of contents

I. AGILE DEVELOPMENT.

 1. Agile Practices.

 2. Overview of Extreme Programming.

 3. Planning.

 4. Testing.

 5. Refactoring.

 6. A Programming Episode.

II. AGILE DESIGN.

 7. What Is Agile Design?

 8. SRP: The Single-Responsibility Principle.

 9. OCP: The Open-Closed Principle.

10. LSP: The Liskov Substitution Principle.

11. DIP: The Dependency-Inversion Principle.

12. ISP: The Interface-Segregation Principle.

III. THE PAYROLL CASE STUDY.

13. Command and Active Object.

14. Template Method & Strategy: Inheritance vs. Delegation.

15. Facade and Mediator.

16. Singleton and Monostate.

17. Null Object.

18. The Payroll Case Study: Iteration One Begins.

19. The Payroll Case Study: Implementation.

IV. PACKAGING THE PAYROLL SYSTEM.

20. Principles of Package Design.

21. Factory.

22. The Payroll Case Study (Part 2).

V. THE WEATHER STATION CASE STUDY.

23. Composite.

24. Observer—Backing into a Pattern.

25. Abstract Server, Adapter, and Bridge.

26. Proxy and Stairway to Heaven: Managing Third Party APIs.

27. Case Study: Weather Station.

VI. THE ETS CASE STUDY.

28. Visitor.

29. State.

30. The ETS Framework.

Appendix A. UML Notation I: The CGI Example.

Appendix B. UML Notation II: The Statmux.

Appendix C. A Satire of Two Companies.

Appendix D. The Source Code Is the Design.

Index.

For teachers

All the material you need to teach your courses.

Discover teaching material

Published by Pearson (October 15th 2002) - Copyright © 2003