Skip to main content

Object-Oriented Analysis and Design for Information Systems

Agile Modeling with UML, OCL, and IFML

Object-Oriented Analysis and Design for Information Systems clearly explains real object-oriented programming in practice. Expert author Raul Sidnei Wazlawick explains concepts… Read more

World Book Day celebration

Where learning shapes lives

Up to 25% off trusted resources that support research, study, and discovery.

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.

Key features

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

Readership

Systems Analysis and Design professionals; students in graduate level CS/SE/IS courses

Table of contents

Dedication

Acknowledgments

About the Author

Foreword

Preface

Chapter 1. Introduction

Key Topics in this Chapter

1.1 This book

1.2 Object-oriented systems development

1.3 Unified Modeling Language (UML)

1.4 Unified Process (UP)

1.5 The process so far

1.6 Questions

Chapter 2. Business Modeling

Key Topics in this Chapter

2.1 Introduction to business modeling

2.2 General view of the system

2.3 Business use cases

2.4 Business activity diagram

2.5 State-dependent aspects of a business

2.6 Remarks

2.7 The process so far

2.8 Questions

Chapter 3. High-Level Requirements

Key Topics in this Chapter

3.1 Introduction to high-level requirements

3.2 System actors

3.3 System use cases

3.4 How to find system use cases in the business model

3.5 Requirements

3.6 Preliminary conceptual model

3.7 The process so far

3.8 Questions

Chapter e4. Use Case Based Project Planning

4.1 Introduction to effort estimation and risk analysis in software projects

4.2 Use case point analysis

4.3 Planning an iterative project

4.4 The process so far

4.5 Questions

Chapter 5. Expanded Use Cases

Key Topics in this Chapter

5.1 Introduction to expanded use cases

5.2 Main flow

5.3 Alternate flows

5.4 Writing recommendations

5.5 Included use cases and fragments

5.6 Expansion of stereotyped use cases

5.7 Other sections of an expanded use case

5.8 System sequence diagrams

5.9 The process so far

5.10 Questions

Chapter 6. Conceptual Modeling: Fundamentals

Key Topics in this Chapter

6.1 Introduction to conceptual modeling

6.2 Attributes

6.3 Concepts

6.4 Associations

6.5 Collections

6.6 Organization of the conceptual model

6.7 Invariants

6.8 Iterative construction of the conceptual model

6.9 The process so far

6.10 Questions

Chapter 7. Conceptual Modeling: Patterns

Key Topics in this Chapter

7.1 Introduction to conceptual model patterns

7.2 High cohesion

7.3 Specification classes

7.4 Quantity

7.5 Measure

7.6 Strategy

7.7 Composite

7.8 Organizational hierarchy

7.9 Object joining

7.10 Account/Transaction

7.11 Range

7.12 Temporal patterns

7.13 Discussion

7.14 The process so far

7.15 Questions

Chapter 8. Functional Modeling with OCL Contracts

Key Topics in this Chapter

8.1 Introduction to functional modeling

8.2 Preconditions

8.3 Transient associations

8.4 Query return

8.5 Postconditions

8.6 Exceptions

8.7 Pattern contracts for CRUD

8.8 Pattern contracts for listing objects

8.9 Contracts related to use cases

8.10 The process so far

8.11 Questions

Chapter 9. Domain Tier Design

Key Topics in this Chapter

9.1 Introduction to domain tier design

9.2 Object responsibility distribution

9.3 Visibility

9.4 Dynamic modeling based on postconditions

9.5 System queries

9.6 Delegation and low coupling

9.7 Design class diagram

9.8 The process so far

9.9 Questions

Chapter e10. Code Generation

Key Topics in this Chapter:

10.1 Introduction to code generation

10.2 Classes and attributes

10.3 Unidirectional associations

10.4 Bidirectional associations

10.5 Delegated methods and system operations

10.6 Patterns for filtered queries

10.7 The process so far

10.8 Questions

Chapter 11. Testing

Key Topics in this Chapter

11.1 Introduction to testing

11.2 Functional testing

11.3 Stubs and drivers

11.4 Test-driven development

11.5 Unit testing

11.6 System operations testing

11.7 Use case testing (System, acceptance, and business cycle tests)

11.8 The process so far

11.9 Questions

Chapter 12. Interface Tier Design with IFML

Key Topics in this Chapter

12.1 Introduction to interface tier design

12.2 Interaction flow modeling language (IFML)

12.3 View components

12.4 Pages

12.5 Flows

12.6 Hypertext organization

12.7 Web Interface Patterns

12.8 Modeling operations in the interface

12.9 IFML models for CRUD operations

12.10 Use case interface modeling with IFML

12.11 The process so far

12.12 Questions

Chapter e13. Data Persistence

Key Topics in this Chapter

13.1 Introduction to data persistence

13.2 Object-relational mapping (ORM)

13.3 Saving and loading objects

13.4 The whole process

13.5 Questions

Postface

References

Index

Product details

About the author

RW

Raul Sidnei Wazlawick

Dr. Raul Sidnei Wazlawick is a Full Professor of Computer Science at Universidade Federal de Santa Catarina, in Florianópolis, Brazil. He has received a Bachelor’s and Master’s in Computer Science, and Doctor in Engineering, as well as a Post-Doctorate at Universidade Nova de Lisboa. Dr. Wazlawick was chair of the IFIP Working Group on Informatics and ICT in Higher-Education, trustee of the Brazilian Computer Society, general chair of the Brazilian Symposium on Software Engineering, and co-chair of the IFIP World Conference on Computers in Education. He is the author of six textbooks in Portuguese. His field of experience includes object-oriented systems, with which he has worked since 1986. Dr. Wazlawick’s main research interest is object-oriented software engineering. He leads a software development team that is developing software systems to support the Brazilian public health system with almost 200 people in agile teams. He often makes presentations at universities, companies, and government institutions on topics related to software engineering. He also has worked as a software engineering consultant since the early 1990s.
Affiliations and expertise
Full Professor, Universidade Federal de Santa Catarina, Brazil

View book on ScienceDirect

Read Object-Oriented Analysis and Design for Information Systems on ScienceDirect