Fixing Generalization Defects in UML Use Case Diagrams

Use case diagrams appear early within a UML-based development, structured over the concepts of actors and use cases to capture user requirements of an application. Good modeling practices suggest that use case diagrams should be simple and easy-to-read, two goals that can be achieved by introducing relevant generalizations of actors and use cases. The approach presented in this paper allows, using Formal Concept Analysis and one of its variants, Relational Concept Analysis, to refactor a use case diagram as a whole in order to make it clearer while respecting the semantics of the original diagram. The relevancy of this approach has been confirmed by its implementation as a tool and the results obtained from its application on several representative diagrams.

[1]  Scott W. Ambler,et al.  The Object Primer: Agile Model-Driven Development with UML 2.0 , 2004 .

[2]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[3]  William DeMarco CSL International Conference Proceedings , 2008 .

[4]  Marianne Huchard,et al.  Relational concept discovery in structured datasets , 2007, Annals of Mathematics and Artificial Intelligence.

[5]  José Manuel Marqués Corral,et al.  On the Semantics of the Extend Relationship in Use Case Models: Open-Closed Principle or Clairvoyance? , 2010, CAiSE.

[6]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[7]  Mordechai Ben-Menachem,et al.  Writing effective use cases , 2001, SOEN.

[8]  Brian Henderson-Sellers,et al.  Sizing Use Cases: How to Create a Standard Metrical Approach , 2002, OOIS.

[9]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[10]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[11]  Ferhat Khendek,et al.  LTS semantics for use case models , 2009, SAC '09.

[12]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction, Second Edition , 2000 .

[13]  Alistair Cockburn,et al.  Goals and Use Cases , 1997, J. Object Oriented Program..

[14]  Alistair Cockburn,et al.  Using Goal-Based Use Cases , 1997, J. Object Oriented Program..

[15]  Hafedh Mili,et al.  Building and maintaining analysis-level class hierarchies using Galois Lattices , 1993, OOPSLA '93.

[16]  Gregory Butler,et al.  Refactoring Use Case Models: The Metamodel , 2003, ACSC.

[17]  Colette Rolland,et al.  Guiding the Construction of Textual Use Case Specifications , 1998, Data Knowl. Eng..

[18]  Clémentine Nebut,et al.  Building abstractions in class models: formal concept analysis in a model-driven approach , 2006, MoDELS'06.

[19]  Zhiyi Ma,et al.  Detecting Duplications in Sequence Diagrams Based on Suffix Trees , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[20]  Philippe Reitz,et al.  Correction des défauts de généralisation dans les diagrammes de cas d'utilisation UML , 2010 .

[21]  Juan Llorens Morillo,et al.  Digging into Use Case Relationships , 2002, UML.

[22]  Debbie Richards,et al.  A Controlled Language to Assist Conversion of Use Case Descriptions into Concept Lattices , 2002, Australian Joint Conference on Artificial Intelligence.

[23]  Ayman Issa,et al.  Utilising Refactoring To Restructure Use-Case Models , 2007, World Congress on Engineering.

[24]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[25]  L. Beran,et al.  [Formal concept analysis]. , 1996, Casopis lekaru ceskych.

[26]  Anthony J. H. Simons,et al.  Use cases considered harmful , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[27]  Peter Becker,et al.  A Survey of Formal Concept Analysis Support for Software Engineering Activities , 2005, Formal Concept Analysis.

[28]  Stefania Gnesi,et al.  Applications of linguistic techniques for use case analysis , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[29]  Wolfgang Hesse,et al.  Bridging the gap between Use Case Analysis and Class Structure Design by Formal Concept Analysis , 2001 .