Flexible, Reliable Software: Using Patterns and Agile Development (Chapman & Hall/CRC Textbooks in Computing v. 3)

Flexible, Reliable Software: Using Patterns and Agile Development (Chapman & Hall/CRC Textbooks in Computing v. 3)

By: Henrik B. Christensen (author), John Impagliazzo (series_editor), Andrew McGettrick (series_editor)Hardback

More than 4 weeks availability


Flexible, Reliable Software: Using Patterns and Agile Development guides students through the software development process. By describing practical stories, explaining the design and programming process in detail, and using projects as a learning context, the text helps readers understand why a given technique is required and why techniques must be combined to overcome the challenges facing software developers. The presentation is pedagogically organized as a realistic development story in which customer requests require introducing new techniques to combat ever-increasing software complexity. After an overview and introduction of basic terminology, the book presents the core practices, concepts, tools, and analytic skills for designing flexible and reliable software, including test-driven development, refactoring, design patterns, test doubles, and responsibility driven and compositional design. It then provides a collection of design patterns leading to a thorough discussion of frameworks, exemplified by a graphical user interface frramework (MiniDraw). The author also discusses the important topics of configuration management and systematic testing. In the last chapter, projects lead students to design and implement their own frameworks, resulting in a reliable and usable implementation of a large and complex software system complete with a graphical user interface. This text teaches how to design, program, and maintain flexible and reliable software. Installation guides, source code for the examples, exercises, and projects can be found on the author's website.

Create a review

About Author

Henrik Baerbak Christensen is an associate professor in the Department of Computer Science at the University of Aarhus, where he has been teaching advanced design and programming techniques for more than ten years to young students and seasoned developers. Dr. Christensen is also the owner of Imhotep, a company specializing in consulting and courses in software development.


BASIC TERMINOLOGY Agile Development Processes Reliability and Testing Flexibility and Maintainability THE PROGRAMMING PROCESS Pay Station Case Test-Driven Development Build Management THE FIRST DESIGN PATTERN Deriving Strategy Pattern Refactoring and Integration Testing Design Patterns-Part I Coupling and Cohesion VARIABILITY MANAGEMENT AND 3-1-2 Deriving State Pattern Test Stubs Deriving Abstract Factory Pattern Fragility COMPOSITIONAL DESIGN Roles and Responsibilities Compositional Design Principles Multi-Dimensional Variance Design Patterns-Part II A DESIGN PATTERN CATALOGUE Facade Decorator Adapter Builder Command Iterator Proxy Composite Null Object Observer Model-View-Controller FRAMEWORKS Introducing MiniDraw Template Method Framework Theory OUTLOOK Configuration Management Systematic Testing PROJECTS The HotGammon Project The HotCiv Project Bibliography Index Index of Sidebars/Key Points A summary, selected solutions, review questions, and exercises appear at the end of most chapters.

Product Details

  • publication date: 03/05/2010
  • ISBN13: 9781420093629
  • Format: Hardback
  • Number Of Pages: 527
  • ID: 9781420093629
  • weight: 1133
  • ISBN10: 1420093622

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly