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

9 Specifications

Throughout this book, we emphasize the importance of specifications in all stages of program development. Our main premise is that the proper use of abstraction is the key to good programming. Without specifications, abstractions are too intangible to be helpful. In this chapter, we discuss the meaning of specifications and some criteria to consider when writing them. We also discuss two primary uses of specifications.

9.1 Specifications and Specificand Sets

The purpose of a specification is to define the behavior of an abstraction. Users will rely on this behavior, while implementors must provide it. An implementation that provides the described behavior is said to satisfy the specification.

We define the meaning of a specification ...

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