Contents
1. Introduction
1.1. Motivation
1.2. Notation
1.3. Scope of the Primer
1.4. What Is a ``Requirement'', What Is a ``Specification''?
3. Defining Objects and Operations
3.1. Interface Heuristics
3.2. Heuristic Application
3.3. Further Refinement
4. Formal Specification with Preconditions and Postconditions
4.1. Notational Summary
4.2. Formal Specification Maxims
4.3. Basic Rolodex Definitions
4.4. Basic User-Level Requirements
4.4.1. No Duplicates
4.4.2. Input Value Checking
4.4.3. Ordering of Multi-Card Lists
4.4.4. Unbounded Quantification
4.4.5. Using Auxiliary Functions
5. User-Level Refinements and Enhancements
5.1. Pattern-Based Search
5.2. Historical Dialogs
5.3. Check Pointing
5.4. Undo
5.5. Security
6. Rolodex File Operations
6.1. Abstract File Operations
6.2. More Concrete File Operations
6.3. Considering a Rolodex System Workspace