For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers “in the trenches,” this text focuses on the technology—the principles, patterns, and process—that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers.
Features + Benefits
Comprehensive, pragmatic tutorial on Agile Development
and eXtreme programming written by one of the founding
father of Agile Development.
Teaches software developers how to get projects done on
time, and on budget using the power of Agile Development.
Uses real-world case studies to show how to of plan, test,
refactor, and pair program using eXtreme programming.
Focuses on solving customer oriented systems problems
using UML and Design Patterns
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.
Index.
Features + Benefits
Comprehensive, pragmatic tutorial on Agile Development
and eXtreme programming written by one of the founding
father of Agile Development.
Teaches software developers how to get projects done on
time, and on budget using the power of Agile Development.
Uses real-world case studies to show how to of plan, test,
refactor, and pair program using eXtreme programming.
Focuses on solving customer oriented systems problems
using UML and Design Patterns
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.
Index.