
Object-Oriented Analysis and Design for Information Systems
Modeling with BPMN, OCL, IFML, and Python
- 2nd Edition - March 16, 2024
- Imprint: Morgan Kaufmann
- Author: Raul Sidnei Wazlawick
- Language: English
- Paperback ISBN:9 7 8 - 0 - 4 4 3 - 1 3 7 3 9 - 6
- eBook ISBN:9 7 8 - 0 - 4 4 3 - 1 3 7 4 0 - 2
Object-Oriented Analysis and Design for Information Systems, Second Edition clearly explains real object-oriented programming in practice. Expert author Raul Sidnei Wazlaw… Read more

Purchase options

Institutional subscription on ScienceDirect
Request a sales quoteObject-Oriented Analysis and Design for Information Systems, Second Edition 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 understanding of how to expand a use case. Wazlawick clearly explains 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. The Second Edition includes all new content shifting the focus of the book to agile software development, including Scrum software project management, BPMN diagrams, user stories, and Python code examples.
- 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
- Covers contemporary themes such as agile methodologies and BPMN (Business Process Modeling and Notation)
Computer Science researchers, data science researchers, and software engineers working in academia and industry, including Systems Analysis and Design professionals, Graduate students and senior undergraduate students in Computer Science, data science, information systems, and software engineering
- Cover image
- Title page
- Table of Contents
- Copyright
- 1. Introduction
- Abstract
- Key topics in this chapter
- 1.1 This book
- 1.2 Object-oriented systems development
- 1.3 Agile software development
- 1.4 Discussion
- Questions
- 2. General view of the system
- Abstract
- Key topics in this chapter
- 2.1 Introduction to general view of the system
- 2.2 Early effort estimation
- 2.3 Acceptance criteria
- 2.4 Completing the general view of the system
- 2.5 Product backlog
- 2.6 Business use cases
- 2.7 Discussion
- Questions
- 3. Business modeling
- Abstract
- Key topics in this chapter
- 3.1 Introduction to business modeling
- 3.2 Business Process Modeling and Notation
- 3.3 State-dependent aspects of a business
- 3.4 Discussion
- Questions
- 4. High-level requirements
- Abstract
- Key topics in this chapter
- 4.1 Introduction to high-level requirements
- 4.2 System actors
- 4.3 System use cases
- 4.4 How to find system use cases in the business use case model?
- 4.5 How to find system use cases in BPMN diagrams?
- 4.6 How to find system use cases in machine state diagrams?
- 4.7 Requirements
- 4.8 Preliminary conceptual model
- 4.9 Discussion
- Questions
- 5. Use case-based project planning
- Abstract
- Key topics in this chapter
- 5.1 Introduction to effort estimation
- 5.2 Ad hoc techniques
- 5.3 Parametric techniques
- 5.4 User story points
- 5.5 Linear time
- 5.6 Estimating the duration of the sprints
- 5.7 Defining use case priority
- 5.8 Monitoring a project
- Questions
- 6. Expanded use cases
- Abstract
- Key topics in this chapter
- 6.1 Introduction to expanded use cases
- 6.2 Main flow
- 6.3 Alternate flows
- 6.4 Writing recommendations
- 6.5 Included use cases and fragments
- 6.6 Other sections of an expanded use case
- 6.7 Expansion of stereotyped use cases
- Questions
- 7. System operations
- Abstract
- Key topics in this chapter
- 7.1 Introduction to system operations
- 7.2 Elements of a sequence diagram
- 7.3 Expanded use cases as system sequence diagrams
- 7.4 Connecting the interface to the façade controller
- 7.5 Stateful and stateless
- 7.6 Alternate flows in system sequence diagrams
- 7.7 Discussion
- Questions
- 8. Conceptual modeling: fundamentals
- Abstract
- Key topics in this chapter
- 8.1 Introduction to conceptual modeling
- 8.2 Attributes
- 8.3 Concepts
- 8.4 Associations
- Questions
- 9. Conceptual modeling: data structures and organization
- Abstract
- Key topics in this chapter
- 9.1 Collections
- 9.2 Organization of the conceptual model
- 9.3 Modal classes
- 9.4 Invariants
- Questions
- 10. From use cases to conceptual model
- Abstract
- Key topics in this chapter
- 10.1 Iterative construction of the conceptual model
- 10.2 How to find concepts and attributes
- 10.3 Dependent and independent concepts
- 10.4 How to find associations
- 10.5 Example of iterative construction of the conceptual model
- Questions
- 11. Conceptual modeling: patterns
- Abstract
- Key topics in this chapter
- 11.1 Introduction to conceptual model patterns
- 11.2 High cohesion
- 11.3 Specification classes
- 11.4 Quantity
- 11.5 Measure
- 11.6 Strategy
- 11.7 Composite
- 11.8 Organizational hierarchy
- 11.9 Object joining
- 11.10 Account/transaction
- 11.11 Range or interval
- 11.12 Temporal patterns
- 11.13 Discussion
- Questions
- 12. Functional modeling with object constraint language contracts
- Abstract
- Key topics in this chapter
- 12.1 Introduction to functional modeling
- 12.2 Preconditions
- 12.3 Exceptions
- 12.4 Preconditions and exceptions versus invariants
- 12.5 Query return
- 12.6 Postconditions
- 12.7 Pattern contracts for CRUDL
- 12.8 Discussion
- Questions
- 13. Domain tier design
- Abstract
- Key topics in this chapter
- 13.1 Introduction to domain tier design
- 13.2 Object responsibility distribution
- 13.3 Visibility
- 13.4 Dynamic modeling based on postconditions
- 13.5 Delegation and low coupling
- 13.6 Design class diagram
- Questions
- Chapter 14. Code generation
- Abstract
- Key topics in this chapter
- 14.1 Introduction to code generation
- 14.2 Unidirectional associations
- 14.3 Bidirectional associations
- 14.4 Delegated methods and system operations
- Questions
- 15. Testing
- Abstract
- Key topics in this chapter
- 15.1 Introduction to testing
- 15.2 Functional testing
- 15.3 Stubs
- 15.4 Drivers
- 15.5 Test-driven development
- 15.6 Unit testing with TDD
- 15.7 Use case testing
- Questions
- 16. Interface tier design
- Abstract
- Key topics in this chapter
- 16.1 Introduction to interface tier design
- 16.2 View containers
- 16.3 View components
- 16.4 Flows
- 16.5 Web interface patterns
- 16.6 Connecting the IFML model with system operations
- Questions
- 17. Data persistence
- Abstract
- Key topics in this chapter
- 17.1 Introduction to data persistence
- 17.2 Object-relational mapping
- 17.3 Saving and loading objects
- Questions
- Bibliography
- Index
- Edition: 2
- Published: March 16, 2024
- No. of pages (Paperback): 402
- No. of pages (eBook): 420
- Imprint: Morgan Kaufmann
- Language: English
- Paperback ISBN: 9780443137396
- eBook ISBN: 9780443137402
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, BrazilRead Object-Oriented Analysis and Design for Information Systems on ScienceDirect