A practical approach to enhancing quality in software models using UML Version 2.0
"Despite its increasing usage, many companies are not taking the best advantage of UML and, occasionally, individuals have experienced frustration in applying its standards. Perhaps this is because they have not yet read this book!"
-From the Foreword by Prof. Brian Henderson-Sellers
This book presents a practical checklist approach to enhancing the quality of software models created with the Unified Modeling Language (UML) Version 2.0. The foundation for quality is set by the discussion on the nature and creation of UML models. This is followed by a demonstration of how to apply verification and validation checks to these models with three foci: syntactical correctness, semantic meaningfulness, and aesthetic symmetry. The quality work is carried out within three distinct yet related modeling spaces:
* Model of problem space (MOPS)
* Model of solution space (MOSS)
* Model of background space (MOBS)
Readers can then choose a specific quality approach according to their roles in their projects.
Verification and validation checks are also organized according to these three modeling spaces, making it easier for the reader to focus on the appropriate diagrams and quality checks corresponding to their modeling space. In addition, a major element of this publication is the Strengths, Weaknesses, Objectives, and Traps (SWOT) analysis. This analysis is performed on each UML diagram, enabling readers to fully comprehend these diagrams, their advantages and limitations, and the way in which they can be used in practical projects for modeling.
A consistent case study of the Lucky Insurance System is provided throughout the chapters to illustrate the creation of good quality UML diagrams, followed by application of quality checks to them. With its emphasis on quality in UML-based projects, this book is an essential resource for all quality professionals, including quality analysts, process consultants, quality managers, test designers, and testers.
Table of Contents:
Glossary of Acronyms and Terms.
1 The Quality Strategy for UML.
1.1 Modeling and Quality.
1.2 Positioning UML for Modeling.
1.3 Quality Aspects of UML.
1.4 Understanding Modeling Spaces in Software.
1.5 Modeling Spaces and UML.
1.6 Verification and Validation.
1.7 Quality Checks and Skills Levels.
1.8 Levels of Quality Checks to UML Diagrams.
1.9 Model-Driven Architecture (MDA) and Quality.
1.10 Prototyping and Modeling Spaces.
2 Nature and Basics of UML Diagrams.
2.1 The Nature of UML Diagrams.
2.2 Use Case Diagrams.
2.3 Activity Diagrams.
2.4 Class Diagrams.
2.5 Sequence Diagrams.
2.6 Communication Diagrams.
2.7 Interaction Overview Diagrams.
2.8 Object Diagrams.
2.9 State Machine Diagrams.
2.10 Composite Structure Diagrams.
2.11 Component Diagrams.
2.12 Deployment Diagrams.
2.13 Package Diagrams.
2.14 Timing Diagrams.
2.15 UML’s Extensibility Mechanisms.
2.16 UML Meta-Models and Quality.
3 Strengths, Weaknesses, Objectives and Traps (SWOT) of UML Diagrams.
3.1 SWOT Analysis of the UML Diagrams.
3.2 SWOT of Use Case Diagrams.
3.3 SWOT of Activity Diagrams.
3.4 SWOT of Classes and Class Diagrams.
3.5 SWOT of Sequence Diagrams.
3.6 SWOT of Communication Diagrams.
3.7 SWOT of Interaction Overview Diagrams.
3.8 SWOT of Object Diagrams.
3.9 SWOT of State Machine Diagrams.
3.10 SWOT of Composite Structure Diagrams.
3.11 SWOT of Component Diagrams.
3.12 SWOT of Deployment Diagrams.
3.13 SWOT of Package Diagrams.
3.14 SWOT of Timing Diagrams.
4 V&V of the Quality of MOPS.
4.1 UML Diagrams in MOPS.
4.2 V&V of Use Cases and Use Case Diagrams in MOPS.
4.3 Quality of Activity Diagrams in MOPS.
4.4 Quality of Package Diagrams in MOPS.
4.5 Quality of Classes and Class Diagrams in MOPS.
4.6 Quality of Sequence Diagrams in MOPS.
4.7 Quality of State Machine Diagrams in MOPS.
4.8 Quality of Interaction Overview Diagrams in MOPS.
4.9 Validating the Entire MOPS.
4.10 Summary of Quality Checks for MOPS.
5 V&V of the Quality of MOSS.
5.1 UML Diagrams in the Solution Space (MOSS).
5.2 Analyzing MOPS for MOSS for a Solution.
5.3 Quality of Classes and Class Diagrams in MOSS.
5.4 Quality of Sequence Diagrams in MOSS.
5.5 Quality of Communication Diagrams in MOSS.
5.6 Quality of Object Diagrams in MOSS.
5.7 Quality of State Machine Diagrams in MOSS.
5.8 Quality of Timing Diagrams in MOSS.
5.9 Converting Models into Systems.
5.10 Cross-Diagram Dependencies.
6 V&V of the Quality of MOBS.
6.1 Working in the Background Space.
6.2 UML Diagrams in the Background Space (MOBS).
6.3 V&V of Package Diagrams in MOBS.
6.4 Classes and Class Diagrams in the Background Space.
6.5 V&V of Class Diagrams in the Background Space.
6.6 V&V of Robustness through Class Diagrams in MOBS.
6.7 V&V of Component Diagrams in MOBS.
6.8 V&V of Composite Structure Diagrams in MOBS.
6.9 V&V of Deployment Diagrams in MOBS.
6.10 Cross-diagram dependencies in MOBS.
7 Managing the V&V Process.
7.1 Processes and UML.
7.2 Understanding the Process and Process Components.
7.3 Iterations and Increments in a Process.
Appendix A: LUCKY Insurance Case Study.
Appendix B: UML CASE Tools.
Appendix C: Summary of Checks for V&V of the Quality of MOPS.
Appendix D: Summary of Checks for V&V of the Quality of MOSS.
Appendix E: Summary of Checks for V&V of the Quality of MOBS.
Appendix F: Templates for Actors, Use Cases and Classes in MOPS.