02323cam a2200181Ma 4500020001800000020001500018050001800033100002300051245007000074250004400144260005700188300003500245500123600280520053201516650003202048650002502080650003602105 a9781292038360 a129203836514aQA 76.76bMAR1 aMartin, Robert C.,10aAgile software developmentbprinciples, patterns, and practices / aInternational edition of first edition. aHarlow, Essex :bPearson Education Limited, cc2014. aiv, 524 pages :bIllustrations aI. 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. aFor 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. 0aAgile software development. 0aeXtreme programming. 7aComputer software - development