Round-Trip Requirements Engineering: Automatic Synchronization of Textual Use Cases with Graphical Use Case Maps
Discussion
Currently, this something that I could accomplish, but does not match Daniel's needs nor encompass everything that I have done (and plan on doing) during my masters.
I have already done UC->UCM and am interested in doing UCM->UC. However, the whole "automatic synchronization" part doesn't interest me that much anymore for various reasons.
I don't want to do UI-heavy projects. Lots of effort is required to get the right result, and it usually is not that difficult, just a pain. I want to do resolve algorithmically complex problems (transformations, refactoring).
I'd like to automatically synchronize UCEd and jUCMNav, but have come to realize that their purposes are too different. UCEd has a notion of time and the tool is based on state machines while jUCMNav does not. [whole other discussion here]
I'd like to drop the automatic synchronization part and have automatic transformation instead. I insist on automatic (or should it be automated?) because I don't to build UIs that help users resolve problems.
The work that seems relevant (see next section) brings up alternate title ideas:
Round-Trip Requirements Engineering: Use Case Map Analysis Enhancements
Doesn't make sense with RTRE, a part that I want in the title. Vague (doesn't say what is done) while still too specific (didn't only do analysis enhancements)
Round-Trip Requirements Engineering: Bridging the gap between various requirements engineering notations
Sounds a bit pompous. Vague & possibly too large.
Round-Trip Requirements Engineering: Towards tighter integration of Use Case Maps and other requirements engineering notations
What do you think? I don't like it but I'm running out of ideas.
Draft of Work
Done (at least partially)
Addition of Import / Export Wizard.
Creation of UCEd Import
Addition of scenarios to jUCMNav
Focus on new features:
New data types: integers/enumerations
Inclusion / Inheritance (?)
Dual syntax: SDL / Java
Traversal parameters:
Determinism vs Non-determinism
Patient vs Impatient
Concurrency parameters
To Be Completed
Introduce concurrency in traversal algorithm
jUCMNav Scenarios / Strategies: Extension point
Create of Use Case Export (to UCEd / HTML Report)
Integration of MSC viewer into jUCMNav
Export to MSC
Ideas
Show what is not covered by any scenarios
Copy-paste jucmnav to jucmnav
More integration with GRL, UCM traversal depends on GRL results.
Reverse-engineer of Use Case Diagram from UCM set
More import/export ... focus on Eclipse UML plugins that are available
TODO
Review of literature
Areas
UCM <-> other notation
Use Cases
Daniel Amyot
Lionel C. Briand
UML
MSC (SDL?)
Activity Diagrams vs MSC
Read
To read
Timeline
TODO
Need to define priorities, what could be cut if not enough time.
UCM <-> UML Sequence Diagram
UCM <-> Use Case Diagram
What is not covered by any scenario? (although I don't think it would take much time)
Traversal depends on GRL links (although I don't think it would take much time)
Thesis Outline (Draft)
Introduction to UCMs and jUCMNav as of September 2005
Tool enhancements since
Import/Export
GRL & Strategies
Scenarios
New analysis capabilities
New scenario data model
New scenario inclusion/inheritance
Traversal depends on GRL links
A world of possibilities, source&target notations
Notation 1 : Use Cases
Why? Very close to UCMs, very widely used.
Tool: UCEd to avoid having to implement NLP.
Transformations by example (bi-directional), illustrate difficulties
Limitations
Notation 2: MSCs
Why? URN / SDL stardardized by ITU-T.
Tool: MSC viewer eclipse plugin. Is there anything to create MSCs other than Tau?
Transformations by example (bi-directional ?) , illustrate difficulties
Limitations
Notation 3: UML Sequence Diagram
Why? UML widely used. Incrementally not very difficult to add (or am I mistaken?)
Tool: TBD. (UML Eclipse Plugin)
Transformations by example (bi-directional?), illustrate difficulties
Limitations
Notation 4: UML Use Case Diagram * Why? Brings us back to our first notation, but at a level of abstraction above it. Often a missing piece of information when viewing UCM models. * Tool: same as 3, ideally well integrated into jUCMNav. * Transformations by example (bi-directional?), illustrate difficulties * Limitations
Future Work
Conclusion
Discussions
We need to discuss scenario inclusion versus inheritance.
We need to discuss what are the issues when exporting to MSC/sequence diagram directly versus intermediate language. Need to discuss what is hard when doing this.