Objects and systems : principled design with implementations in C++ and Java
著者
書誌事項
Objects and systems : principled design with implementations in C++ and Java
(Undergraduate texts in computer science)
Springer, c1997
大学図書館所蔵 全22件
  青森
  岩手
  宮城
  秋田
  山形
  福島
  茨城
  栃木
  群馬
  埼玉
  千葉
  東京
  神奈川
  新潟
  富山
  石川
  福井
  山梨
  長野
  岐阜
  静岡
  愛知
  三重
  滋賀
  京都
  大阪
  兵庫
  奈良
  和歌山
  鳥取
  島根
  岡山
  広島
  山口
  徳島
  香川
  愛媛
  高知
  福岡
  佐賀
  長崎
  熊本
  大分
  宮崎
  鹿児島
  沖縄
  韓国
  中国
  タイ
  イギリス
  ドイツ
  スイス
  フランス
  ベルギー
  オランダ
  スウェーデン
  ノルウェー
  アメリカ
注記
Includes index
内容説明・目次
内容説明
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.
目次
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.- 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.- 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.- 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.
「Nielsen BookData」 より