O'Reilly logo

Program Development in Java: Abstraction, Specification, and Object-Oriented Design by John Guttag, Barbara Liskov

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required