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

Full description

Bibliographic Details
Main Author: Zeigler, Bernard P.
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
LEADER 05483nmm a2200337 u 4500
001 EB000618837
003 EBX01000000000000000471919
005 00000000000000.0
007 cr|||||||||||||||||||||
008 140122 ||| eng
020 |a 9781461219125 
100 1 |a Zeigler, Bernard P. 
245 0 0 |a Objects and Systems  |h Elektronische Ressource  |b Principled Design with Implementations in C++ and Java  |c by Bernard P. Zeigler 
250 |a 1st ed. 1997 
260 |a New York, NY  |b Springer New York  |c 1997, 1997 
300 |a XXI, 221 p  |b online resource 
505 0 |a 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 
505 0 |a 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 --  
505 0 |a 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 --  
505 0 |a 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 --  
653 |a Software engineering 
653 |a Programming Techniques 
653 |a Computer programming 
653 |a Software Engineering 
041 0 7 |a eng  |2 ISO 639-2 
989 |b SBA  |a Springer Book Archives -2004 
490 0 |a Undergraduate Texts in Computer Science 
028 5 0 |a 10.1007/978-1-4612-1912-5 
856 4 0 |u https://doi.org/10.1007/978-1-4612-1912-5?nosfx=y  |x Verlag  |3 Volltext 
082 0 |a 005.11 
520 |a 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 book is unique through its - emphasis on formulating primitives from which all other functionality can be built; - integral use of a semi-formal behaviour specification language based on state transition concepts; -differentiation between behaviour and implementation; -a reusable heterogeneous container class library; -ability to show the elegance and power of ensemble methods with non-trivial examples. As a result, students studying software engineering will find this a distinctive and valuable approach to programming and systems engineering