Sample Chapters
Three chapters are downloadable for preview of the book. The chapters are available in non-printable pdf format.
The following are the chapters available:
- Chapter 1: Software Development Lifecycle (approx. 650KB)
This chapter defines the concepts of system, process, software engineering, programming, modeling, etc.
The chapter presents the lifecycle phases from analysis through to maintenance. It also defines popular
lifecycle models starting from the waterfall lifecycle through to various iterative lifecycles, including
model-driven and agile lifecycles.
- Chapter 9: Architectural Design (approx. 650KB)
This chapter introduces software development from the perspective of architectural design.
It discusses the importance of layering and dependency management. It describes dependencies
between packages, classes and methods and explains dependencies due to implementation and
interface inheritance and due to event processing. The chapter shows techniques to minimize
dependencies and how patterns can be applied in the process. The chapter presents further
the Presentation-Control-Mediator-Entity-Foundation (PCMEF) as the chosen architecture used
for the case-study and referred to throughout the book.
- Chapter 15: Architectural Refactoring (approx. 400KB)
Iterative and incremental software development assumes the need for frequent monitoring and cleaning-up
the design. When the implemented design deviates from architectural principles and does not conform to
the necessary measures (metrics), then there is a need to refactor the implementation.
This chapter discusses different types of refactoring methods to address specific refactoring targets.
Patterns that can assist in refactoring of large enterprise systems are also discussed.