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.
|
|