Presentation by Jason Kealey jkealey@shade University of Ottawa
1 Presentation and tool by Jason Kealey [email protected] University of Ottawa CSI5180 Automatic...
-
Upload
kory-nichols -
Category
Documents
-
view
214 -
download
1
Transcript of 1 Presentation and tool by Jason Kealey [email protected] University of Ottawa CSI5180 Automatic...
1
Presentation and tool by
Jason [email protected]
University of OttawaCSI5180
Automatic conversion of
Use Cases to Use Case Maps
2Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Textual Use Cases
• Sequence of steps representing a high level view of the interactions between a system under discussion (SuD) and other entities (actors, users).
• Black-box view of a system
• Used early in the development cycle
• Written in natural language
3Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Key idea: simplified English
• Key idea for automatic conversion: use a subset of English in use case steps. – References to Writing Effective Use Cases and
other books/papers to validate the simplified English to be used.
– Related work: Controlled languages (AECMA Simplified English: aviation industry standard)
4Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
UCEd: Use Case Editor
• A tool that uses simple English to write use cases
• Eclipse-based tool
• Validates the use cases with a domain model
• Can convert use cases into state machines
• Can execute scenarios on these state machines
5Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Example UCEd Use Case
6Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Quick note on Use Case Diagrams
7Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Use Case Maps
• A graphical notation to express scenarios running through architectural entities.
• Standardized by the International Telecommunication Union
• Part of the User Requirements Notation (URN)
• jUCMNav is an Eclipse-based UCM editor
8Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Example Use Case Map
9Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Research Goals
• Study the NLP related to understanding the different Use Cases constructs.
• Express improvements to be made to the NLP tool used in UCEd.
• Define mappings between Use Case concepts and Use Case Map concepts.
• Prototype the conversion utility from UCEd use cases to jUCMNav Use Case Maps.
10Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Concepts by example – Main Path
Title: General ScenarioPrecondition: jUCMNav is not UCM loadedPostcondition: jUCMNav is UCM loadedSteps:1. User Jason clicks import button2. jUCMNav GUI displays file list3. User Jason selects file4. jUCMNav ImportExport forwards request5. UCEd loads Use Case6. jUCMNav ImportExport UC2UCM converts Use Case into Use Case Map7. jUCMNav loads UCM8. jUCMNav GUI displays UCM
11Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Quick Note – Auto layout• jUCMNav has an auto layout feature, currently
only a prototype. • The examples seen here are touched up versions
of these generated UCMs.
12Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Concepts by example – Alternatives
Title: General ScenarioPrecondition: jUCMNav is not UCM loadedPostcondition: jUCMNav is UCM loaded1. User Jason clicks import button2. jUCMNav GUI displays file list3. User Jason selects file4. UCEd loads Use Case5. jUCMNav ImportExport UC2UCM converts UC into UCM6. jUCMNav loads UCM7. jUCMNav GUI displays UCM3. a. User file is not found3. a. 1. Goto step 24. a. UCEd Use Case is not valid4. a. 1. jUCMNav GUI displays error message
13Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Concepts by example – Inclusion
Title: General Scenario1. User Jason clicks import button2. jUCMNav GUI displays file list3. User Jason selects file4. include Load Use Case5. jUCMNav ImportExport UC2UCM converts UC into UCM6. jUCMNav loads UCM7. jUCMNav GUI displays UCM
Title: Load Use Case1. UCEd loads Use Case2. IF UCEd Use Case is not valid THEN jUCMNav GUI displays error message
14Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Concepts by example – Extensions
Title: General ScenarioPrecondition: jUCMNav is not UCM loadedPostcondition: jUCMNav is UCM loaded1. User Jason clicks import button2. User Jason selects file3. include Load Use Case4. jUCMNav ImportExport UC2UCM converts UC into UCM5. jUCMNav loads UCMExtensionPoint==> loaded6. jUCMNav GUI displays UCM
Title: LoggingPART 1. At Extension Point loaded1. jUCMNav logs usage
15Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Concepts by example – Timing
Title: General ScenarioPrimary Actor: User Jason1. User Jason clicks import button2. User Jason selects file3. BEFORE 60 sec jUCMNav ImportExport UC2UCM converts UC into UCM4. jUCMNav loads UCM5. jUCMNav GUI displays UCM2. a. AFTER 60 sec2. a. 1. jUCMNav GUI displays error message
16Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Comparison: Mencl vs UCEd vs jUCMNav
Mencl: Pro-cases UCEd jUCMNav / UCM
1 Components expressiveness - + only visual
2 Component identification automatic manual automatic
3 Conditions - + boolean only, not yet implemented
4 Time - simplesimple, no semantics, difficult mapping
5 Loops not mentionnedallowed, found in state machine illegal loops prevented
6 Indirect object + stored but not used -
7 Extensions/Inclusion macro substitution supported +
8 Usability - - +
9 Termination + - local, difficult to implement global
10 Alternatives in alternatives + no (good practices) +
17Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Possible UCEd NLP Improvements
• Improve the domain extractor by using parse trees instead of BNF grammar.
• Review use of determinants in conditions.• Simplify notation required to reference components in
use case steps.• Support scenario termination and extension
abortion.• Use indirect object to refine communication model.
• (UCEd also needs a major usability overhaul)
18Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Future work• Current import limitations
– Doesn’t create stub InBindings/OutBindings.– Can’t jump to later step.
• Illegal in UCEd, but could be implemented.– Support for Any * alternatives– Support for operation effects– jUCMNav currently does not support scenarios and has
limited support for time.• Causes many issues concerning conflicting alternatives,
especially with time issues.
19Jason Kealey, [email protected], http://www.softwareengineering.ca/jucmnav
Conclusion and references
• D. Amyot, Introduction to the User Requirements Notation: Learning by Example, Computer Networks, 42(3), June 2003, 285-301.
– http://www.usecasemaps.org/pub/ComNet03.pdf
• D. Amyot and G. Mussbacher, “On the Extension of UML with Use Case Maps Concepts”, 2000, 3rd International Conference on the Unified Modeling Language, York, UK, October 2000. LNCS 1939, 16-31
– http://www.usecasemaps.org/pub/uml2000.pdf
• J. Kealey, E. Tremblay, J.-P. Daigle, J. McManus, and O. Clift-Noël, “jUCMNav: une nouvelle plateforme ouverte pour l'édition et l'analyse de modèles UCM“, Actes du 5ième colloque sur les Nouvelles Technologies de la Répartition (NOTERE 2005), Gatineau, Canada, août 2005, 215-222.
– http://www.site.uottawa.ca/~damyot/pub/notere05.pdf
• V. Mencl, “Deriving Behavior Specifications from Textual Use Cases”, Proceedings of Workshop on Intelligent Technologies for Software Engineering (WITSE04), Linz, Austria, September 2005, 331-341,
– http://nenya.ms.mff.cuni.cz/publications/Mencl-DerivingBehSpec-WITSE04.pdf
• S. Somé, “Beyond Scenarios: Generating State Models from Use Cases”, ICSE 2002 Workshop Scenarios and state machines: models, algorithms, and tools, May 2002.
– http://www.site.uottawa.ca/~ssome/publis/ICSE02_Scenario_Workshop.pdf