Object-Oriented Analysis and Design for Information Systems

Book description

Object-Oriented Analysis and Design for Information Systems clearly explains real object-oriented programming in practice. Expert author Raul Sidnei Wazlawick explains concepts such as object responsibility, visibility and the real need for delegation in detail. The object-oriented code generated by using these concepts in a systematic way is concise, organized and reusable.

The patterns and solutions presented in this book are based in research and industrial applications. You will come away with clarity regarding processes and use cases and a clear understand of how to expand a use case. Wazlawick clearly explains clearly how to build meaningful sequence diagrams. Object-Oriented Analysis and Design for Information Systems illustrates how and why building a class model is not just placing classes into a diagram. You will learn the necessary organizational patterns so that your software architecture will be maintainable.

  • Learn how to build better class models, which are more maintainable and understandable.
  • Write use cases in a more efficient and standardized way, using more effective and less complex diagrams.
  • Build true object-oriented code with division of responsibility and delegation.

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Acknowledgments
  7. About the Author
  8. Foreword
  9. Preface
  10. Chapter 1. Introduction
    1. Key Topics in this Chapter
    2. 1.1 This book
    3. 1.2 Object-oriented systems development
    4. 1.3 Unified Modeling Language (UML)
    5. 1.4 Unified Process (UP)
    6. 1.5 The process so far
    7. 1.6 Questions
  11. Chapter 2. Business Modeling
    1. Key Topics in this Chapter
    2. 2.1 Introduction to business modeling
    3. 2.2 General view of the system
    4. 2.3 Business use cases
    5. 2.4 Business activity diagram
    6. 2.5 State-dependent aspects of a business
    7. 2.6 Remarks
    8. 2.7 The process so far
    9. 2.8 Questions
  12. Chapter 3. High-Level Requirements
    1. Key Topics in this Chapter
    2. 3.1 Introduction to high-level requirements
    3. 3.2 System actors
    4. 3.3 System use cases
    5. 3.4 How to find system use cases in the business model
    6. 3.5 Requirements
    7. 3.6 Preliminary conceptual model
    8. 3.7 The process so far
    9. 3.8 Questions
  13. Chapter e4. Use Case Based Project Planning
    1. 4.1 Introduction to effort estimation and risk analysis in software projects
    2. 4.2 Use case point analysis
    3. 4.3 Planning an iterative project
    4. 4.4 The process so far
    5. 4.5 Questions
  14. Chapter 5. Expanded Use Cases
    1. Key Topics in this Chapter
    2. 5.1 Introduction to expanded use cases
    3. 5.2 Main flow
    4. 5.3 Alternate flows
    5. 5.4 Writing recommendations
    6. 5.5 Included use cases and fragments
    7. 5.6 Expansion of stereotyped use cases
    8. 5.7 Other sections of an expanded use case
    9. 5.8 System sequence diagrams
    10. 5.9 The process so far
    11. 5.10 Questions
  15. Chapter 6. Conceptual Modeling: Fundamentals
    1. Key Topics in this Chapter
    2. 6.1 Introduction to conceptual modeling
    3. 6.2 Attributes
    4. 6.3 Concepts
    5. 6.4 Associations
    6. 6.5 Collections
    7. 6.6 Organization of the conceptual model
    8. 6.7 Invariants
    9. 6.8 Iterative construction of the conceptual model
    10. 6.9 The process so far
    11. 6.10 Questions
  16. Chapter 7. Conceptual Modeling: Patterns
    1. Key Topics in this Chapter
    2. 7.1 Introduction to conceptual model patterns
    3. 7.2 High cohesion
    4. 7.3 Specification classes
    5. 7.4 Quantity
    6. 7.5 Measure
    7. 7.6 Strategy
    8. 7.7 Composite
    9. 7.8 Organizational hierarchy
    10. 7.9 Object joining
    11. 7.10 Account/Transaction
    12. 7.11 Range
    13. 7.12 Temporal patterns
    14. 7.13 Discussion
    15. 7.14 The process so far
    16. 7.15 Questions
  17. Chapter 8. Functional Modeling with OCL Contracts
    1. Key Topics in this Chapter
    2. 8.1 Introduction to functional modeling
    3. 8.2 Preconditions
    4. 8.3 Transient associations
    5. 8.4 Query return
    6. 8.5 Postconditions
    7. 8.6 Exceptions
    8. 8.7 Pattern contracts for CRUD
    9. 8.8 Pattern contracts for listing objects
    10. 8.9 Contracts related to use cases
    11. 8.10 The process so far
    12. 8.11 Questions
  18. Chapter 9. Domain Tier Design
    1. Key Topics in this Chapter
    2. 9.1 Introduction to domain tier design
    3. 9.2 Object responsibility distribution
    4. 9.3 Visibility
    5. 9.4 Dynamic modeling based on postconditions
    6. 9.5 System queries
    7. 9.6 Delegation and low coupling
    8. 9.7 Design class diagram
    9. 9.8 The process so far
    10. 9.9 Questions
  19. Chapter e10. Code Generation
    1. Key Topics in this Chapter:
    2. 10.1 Introduction to code generation
    3. 10.2 Classes and attributes
    4. 10.3 Unidirectional associations
    5. 10.4 Bidirectional associations
    6. 10.5 Delegated methods and system operations
    7. 10.6 Patterns for filtered queries
    8. 10.7 The process so far
    9. 10.8 Questions
  20. Chapter 11. Testing
    1. Key Topics in this Chapter
    2. 11.1 Introduction to testing
    3. 11.2 Functional testing
    4. 11.3 Stubs and drivers
    5. 11.4 Test-driven development
    6. 11.5 Unit testing
    7. 11.6 System operations testing
    8. 11.7 Use case testing (System, acceptance, and business cycle tests)
    9. 11.8 The process so far
    10. 11.9 Questions
  21. Chapter 12. Interface Tier Design with IFML
    1. Key Topics in this Chapter
    2. 12.1 Introduction to interface tier design
    3. 12.2 Interaction flow modeling language (IFML)
    4. 12.3 View components
    5. 12.4 Pages
    6. 12.5 Flows
    7. 12.6 Hypertext organization
    8. 12.7 Web Interface Patterns
    9. 12.8 Modeling operations in the interface
    10. 12.9 IFML models for CRUD operations
    11. 12.10 Use case interface modeling with IFML
    12. 12.11 The process so far
    13. 12.12 Questions
  22. Chapter e13. Data Persistence
    1. Key Topics in this Chapter
    2. 13.1 Introduction to data persistence
    3. 13.2 Object-relational mapping (ORM)
    4. 13.3 Saving and loading objects
    5. 13.4 The whole process
    6. 13.5 Questions
  23. Postface
  24. References
  25. Index

Product information

  • Title: Object-Oriented Analysis and Design for Information Systems
  • Author(s): Raul Sidnei Wazlawick
  • Release date: January 2014
  • Publisher(s): Morgan Kaufmann
  • ISBN: 9780124172937