Objects and Systems Principled Design with Implementations in C++ and Java
The author's aim in this textbook is to provide students with a clear understanding of the relationship between the principles of object-oriented programming and software engineering. Professor Zeigler takes an approach based on state representation to formal specification. Consequently, this b...
Main Author: | |
---|---|
Format: | eBook |
Language: | English |
Published: |
New York, NY
Springer New York
1997, 1997
|
Edition: | 1st ed. 1997 |
Series: | Undergraduate Texts in Computer Science
|
Subjects: | |
Online Access: | |
Collection: | Springer Book Archives -2004 - Collection details see MPG.ReNa |
Table of Contents:
- 12. Design Based on Hierarchical Decomposition and Ensemble Methods
- 12.1 Trees as Hierarchical Containers
- 12.2 Tree Computations with Ensemble Methods
- 12.3 A Class of Graphics Puzzles
- 12.4 General Approach to 00 Software Development
- 12.5 Alarming a Building
- 12.6 Summary
- Problems
- Appendix: Specifying a Graphics Puzzle
- 13. Java and Threaded Containers
- 13.1 Basic Java
- 13.2 Distinctive Java Features
- 13.3 Ensemble Methods in Java
- 13.4 General Approach to Ensemble Methods in Java
- 13.5 Synchronization
- 13.6 Hierarchical Graphics Construction in Java
- 13.6 Summary
- Problems
- 4.3 Inheritance and Derived Classes in C++
- 4.4 Using Inheritance for Alternative Implementations
- 4.5 Hierarchical Construction
- 4.6 Summary
- Problems
- 5. Containers: An Object Behavior Specification
- 5.1 Class entity
- 5.2 Container Base Class
- 5.3 Ensemble Methods
- 5.4 Container Subclasses: Unordered
- Problems
- 6. C++ Implementation of a Heterogeneous Container Class Library
- 6.1 HCCL Implementation Strategy
- 6.2 Ensemble Methods in C++
- 6.3 A Macro Approach to Ensemble Methods
- Appendix 1: Ensemble Method Macros
- Appendix 2: C++ Typing Rules That Arise From Inheritance
- Problems
- 7. Testing Based on Behavior Specification
- 7.1 The Look-and-See Method
- 7.2 Testing Rudiments
- 7.3 Blueprint-Based Testing
- 7.4 Constructing Behavior Samples
- 7.5 Testing Constructors for Correct Initialization
- 7.6 State Transition-based Testing
- 7.7 Transition-Based Test Methodology
- 7.8 Transition-Based Testing: More Considerations
- 1. Object Orientation and State Systems
- 1.1 Finite State Machine Example: Binary Counter
- 1.2 Problems with Nonobject-Oriented Programming
- 1.3 Benefits of Object Orientation: Binary Counter C++ Implementation
- 1.4 Access Restrictions in C++
- 1.5 Instance Generation, Information Hiding, and Restricted Access in OOPS
- Problems
- 2. Object Behavior Specification: Software Blueprints
- 2.1 Object Behavior Specification
- 2.2 Simulating an Object Behavior Specification
- 2.3 Definition of Behavior
- Problems
- 3. Lists: Behavior Specification, Models and Implementations
- 3.1 Domain Restrictions and Legal Sequences
- 3.2 An Abstract Model for the List Specification
- 3.3 Implementations and Models of Lists
- 3.4 Parallel Implementations of Lists
- 3.5 Proving and Testing Correctness
- Problems
- 4. Inheritance Hierarchies and Hierarchical Construction
- 4.1 Specifying and Implementing an and-gate
- 4.2 General Switching Functions
- 7.9 Combining the Approaches
- Problems
- 8. Constructing Inheritance Class Hierarchies
- 8.1 How to Construct Inheritance Hierarchies
- 8.2 Class Hierarchy Example: Investments
- 8.3 Portfolio Selection and Rating Specification
- 8.4 Implementing the Investment System
- 8.5 Polymorphism and Dynamic Binding
- 8.6 Extensibility
- Problems
- 9. Ensemble-Based Implementation of Containers
- 9.1 More Ensemble Methods
- 9.2 Implementing Container Classes by Ensemble Methods
- 9.3 Lessons Learned
- Problems
- 10. Ordered Containers and Their Implementation
- 10.1 Class Order
- 10.2 Stacks and Queues
- 10.3 List as a Subclass of Order
- Problems
- Appendix: Specifying list as a Subclass of order
- 11. More Useful Concepts for Containers
- 11.1 Logic Ensemble Methods
- 11.2 Container Equality
- 11.3 Inclusion, Union, Intersection, and Difference
- 11.4 Conversion
- 11.5 Container Comparison
- Problems
- Appendix: Specifying and Implementing Set Theory Operations