Automatically Deriving a UML Analysis Model from a Use Case Model
Total Page:16
File Type:pdf, Size:1020Kb
Automatically Deriving a UML Analysis Model from a Use Case Model by Tao Yue, M.A.Sc. A thesis submitted to the Faculty of Graduate Studies and Research In partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical and Computer Engineering Ottawa-Carleton Institute of Electrical and Computer Engineering (OCIECE) Department of Systems and Computer Engineering Carleton University Ottawa, Ontario, Canada, K1S 5B6 September 2010 Copyright © 2010 by Tao Yue i The undersigned recommend to the Faculty of Graduate Studies and Research acceptance of the thesis Automatically Deriving a UML Analysis Model from a Use Case Model submitted by Tao Yue, M.A.Sc. in partial fulfilment of the requirements for the degree of Doctor of Philosophy _________________________________________ Professor H. M. Schwartz, Department of Systems and Computer Engineering _________________________________________ Thesis Supervisor, Lionel C. Briand _________________________________________ Thesis Supervisor, Yvan Labiche _________________________________________ External Examiner, Robert B. France, Department of Computer Science, Colorado State University Carleton University September 2010 ii Abstract The transition from requirements expressed in Natural Language (NL) to a structured, precise specification is an important challenge in practice. It is particularly so for object- oriented methods, defined in the context of the OMG’s Model Driven Architecture (MDA). However, its automation has received little attention, mostly because requirements are in practice expressed in NL and are much less structured than other kinds of development artifacts. Such an automated transformation would enable at least the generation of an initial, likely incomplete, analysis model and enable automated traceability from requirements to code, through various intermediate models. In this thesis, we propose a method and a tool, building on existing work, to automatically generate analysis models from requirements. Such models include class, sequence and activity diagrams to describe the structure and behavior of a system. It also includes automatically establishing traceability links between the requirements and the automatically generated analysis model. Requirements are assumed to be modeled with our use case modeling approach (RUCM), which we showed to have enough expressive power, to be easy to apply, to help improve the quality of manually derived analysis models. Seven (six) case studies were performed to compare class (sequence) diagrams generated by our tool to the ones created by experts, Masters students, and trained, 4th year undergraduate students. Our results show that our method performs well when compared to reference diagrams. Further, statistical test results show that our tool significantly outperforms 4th year engineering students, thus demonstrating the value of automation. Performance analysis results show that the execution time of the tool remains within a range of a few minutes, thus suggesting the approach is scalable. Five case studies were performed to assess our approach’s capability to generate activity diagrams. The results show that high quality activity diagrams can be generated and the analysis also shows that our approach outperforms existing academic approaches and commercial tools. We also conducted two industrial case studies, yielding results that demonstrate that RUCM iii is applicable in two different industrial domains and that aToucan-generated analysis models are largely correct and complete from the perspective of domain experts. iv Dedication To the loving memory of my father who instilled in me the confidence that I have the capability to do anything that I have in my mind. To my mother for her truly unconditional and forever love. v Acknowledgements I would like to show my deep and sincere gratitude to my supervisor, Professor Lionel C. Briand for guiding me through the process of transitioning from an engineer into a researcher. Throughout my Masters and PhD studies, he taught me how to be a good researcher and I am also really proud of being one of his students. I must also express my warm and sincere thanks to my supervisor, Professor Yvan Labiche for all the valuable advice and discussion on almost every single detail of my work and paper preparation. I wish to thank all my collegues at the SQUALL laboratory for providing a nice working environment. Thank you all for those valuable memories. I am indebted to my entire family and all my friends, who are always there for me no matter what happens. THANK YOU ALL! vi TABLE OF CONTENTS CHAPTER 1 INTRODUCTION .......................................................................................... 1 CHAPTER 2 SYSTEMATIC REVIEW ............................................................................... 6 2.1 Systematic review scope ................................................................................. 7 2.2 Research questions ......................................................................................... 7 2.3 Search strategy ............................................................................................... 8 2.3.1 Identification of query string ................................................................................................ 9 2.3.2 Electronic and manual search ............................................................................................. 10 2.3.3 Inclusion/exclusion criteria ................................................................................................. 11 2.3.4 Statistics from included primary studies ............................................................................. 12 2.4 Conceptual framework ................................................................................. 13 2.4.1 Static model ........................................................................................................................ 13 2.4.2 Taxonomies ......................................................................................................................... 15 2.4.3 Process model ..................................................................................................................... 20 2.5 Evaluation Criteria ........................................................................................ 22 2.5.1 Evaluation criterion for requirements ................................................................................ 23 2.5.2 Evaluation criterion for analysis models ............................................................................. 24 2.5.3 Evaluation criteria for transformation ................................................................................ 24 2.5.4 Discussion............................................................................................................................ 26 2.6 Synthesis and Evaluation .............................................................................. 27 2.6.1 Requirements configurations .............................................................................................. 29 2.6.2 Analysis models ................................................................................................................... 30 2.6.3 Transformation ‐ automation ............................................................................................. 31 2.6.4 Transformation ‐ efficiency ................................................................................................. 33 2.6.5 Transformation – others ..................................................................................................... 34 2.7 Open issues and suggestions ......................................................................... 44 2.7.1 Approach configuration ...................................................................................................... 44 2.7.2 Intermediate model ............................................................................................................ 49 2.7.3 Transformations .................................................................................................................. 50 2.8 Conclusion .................................................................................................... 53 2.9 Other related work ....................................................................................... 55 CHAPTER 3 RUCM ............................................................................................................ 57 3.1 Related work ................................................................................................ 57 3.1.1 Use case template ............................................................................................................... 57 3.1.2 Restriction rules .................................................................................................................. 60 3.2 Use case template ......................................................................................... 61 3.3 Restriction rules ............................................................................................ 63 3.4 Example ........................................................................................................ 66 CHAPTER 4 UCMETA ....................................................................................................... 69 4.1 Architecture .................................................................................................. 70 vii 4.2 Packages