1 Introduction

This book will develop a methodology for constructing software systems. Our goal is to help programmers construct programs of high quality—programs that are reliable, efficient, and reasonably easy to understand, modify, and maintain.

A very small program, consisting of no more than a few hundred lines, can be implemented as a single monolithic unit. As the size of the program increases, however, such a monolithic structure is no longer reasonable because the code becomes difficult to understand. Instead, the program must be decomposed into a number of small independent programs, called modules, that together provide the desired function. We shall focus on this decomposition process: how to decompose large programming problems ...

Get Program Development in Java: Abstraction, Specification, and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.