JUCMNavRequirementsPrioritization - JUCMNAV/projetseg-update GitHub Wiki

jUCMNav Requirements Prioritization Exercise

The following is a list of candidate high-level requirements to be prioritized (using, for instance, Ali Pourshahid's Web-based prioritization tool). Feel free to add to the list, modify the current requirements, or restructure the list. Our goal is to have a list ready for priorization by November 26, 2006.

Usability features. jUCMNav shall support:

  • Labels
    • Movable labels for GRL contribution labels
    • Movable labels for GRL satisfaction labels
    • Movable labels for UCM stub IN/OUT segments
    • Multi-line labels in UCM responsibilities and components
  • Copy/paste
    • Copying/pasting part of UCM diagrams across diagrams in the same model
    • Copying/pasting part of GRL diagrams across diagrams in the same model
    • Copying/pasting part of UCM diagrams across models
    • Copying/pasting part of GRL diagrams across models
    • Copying/pasting part of UCM diagrams (images) to external tools such as Word without using the export wizard.
    • Copying/pasting part of GRL diagrams (images) to external tools such as Word without using the export wizard.
  • Duplicate and delete
    • The duplication of UCM diagrams
    • The duplication of GRL diagrams
    • The automatic deletion of unused UCM components and responsibilities
    • The combined deletion of definition and of all references of a UCM component, UCM responsibility, GRL actor, GRL intentional element
  • Others
    • Adding “Negate all others” (else) to conditions in UCM OR-forks and stubs
    • Code completion for UCM responsibility/condition code editor
    • Extracting a stub with a plug-in from a selection of UCM elements (refactoring)
    • Arrow to empty-point transformation in UCM diagrams
    • Responsibility to stub transformation in UCM diagrams
    • Taking the direction of the UCM path into account when adding a branch to a stub or a fork
    • Reorder the GRL diagrams/UCM maps (in the Outline and in the multipage editor)

Visualization and Navigation. jUCMNav shall support:

  • Layout
    • Usable auto-layout of UCM diagrams
    • Usable auto-layout of GRL diagrams
    • UCM scenario/map flattening (expand stubs)
    • Collapsing GRL actors and their content
    • Collapsing UCM components and their content
    • Viewing only the result of a UCM scenario traversal
  • Views
    • A hierarchical navigation view (where are we in the tree of maps/submaps)
    • A component tree view (showing the containment relationships in components)
    • Showing GRL conflict resolutions and other decisions in the Problems view
    • Sorting of diagrams in the Outline view
    • Collapse/expand all in the Outline view
    • Sorting of diagrams in the Strategies/Scenarios view
    • Collapse/expand all in the Strategies/Scenarios view
    • Changing group for a strategy/scenario
    • Definition of root map for a feature/use case plus automatic listing of all plug-in maps reached from the defined root map
  • Others
    • The use of resizable fonts for URN models
    • Centered labels in GRL intentional elements
    • Adding labels (yellow triangle) to GRL elements when URN links are defined
    • The automatic identification of top-level UCM maps
    • The selectable visualization of GRL graphical and textual contribution/satisfaction labels globally
    • Closable panels/tabs for URN models with a large number of diagrams
    • Highlighting of start/end points and in/out-paths when moving from stub to plug-in map and back

UCM scenarios and GRL strategies. jUCMNav shall support:

  • Semantic variations for UCM traversal (AND-joins, timers, waiting places, …)
  • Displaying the result of the traversal of multiple scenarios
  • Coverage analysis of multiple scenarios
  • GRL strategies integrated with UCM scenario definitions
  • GRL numerical contributions (beyond current help, make, hurt…)
  • Automated combination and execution of each scenario in group A with each scenario in group B (or potentially, each scenario in the model with all other scenarios)
  • Indicating order of plug-in traversal where one or more plug-ins of a stub are traversed multiple times during the execution of one scenario
  • String data type for scenatio definitions
  • Interactive selection (by user) of alternatives in non-deterministic locations when executing a UCM scenario
  • Local variables for components in scenario definitions
  • Local variables for plug-ins in scenario definitions

Architecture. jUCMNav shall support:

  • Diff of URN models (beyond Eclipse’s XML diff)
  • Merging URN models
  • The generalization and refactoring of the model import API
  • The inclusion of a textual use case editor
  • URN hyperlinks (to/from URLs)
  • A scripting language for batch execution and tool interworking
  • A central repository with locking mechanism for concurrent development of URN models
  • Links to an Architecture Description Language (ADL)

Transformations of URN models. jUCMNav shall support:

  • Exporting UCM models to UML use case diagrams
  • Exporting UCM models to UML activity diagrams
  • Exporting UCM scenarios to UML sequence diagrams
  • Exporting UCM scenarios to Message Sequence Charts
  • Exporting UCM scenarios to DOORS (in DXL)
  • Exporting UCM scenarios to XML
  • Exporting UCM to FitNesse test goals
  • Exporting GRL strategies to HTML
  • Exporting UCM models to BPMN (Business Process Modeling Notation)
  • Exporting UCM models to BPEL (Business Process Execution Language)
  • Exporting UCM models to CSM (Core Scenario Model)
  • Exporting UCM models to TTCN-3 test cases
  • The application of UCM reengineering patterns

Generation of URN reports. jUCMNav shall support:

  • Images
    • Cropping images to eliminate surrounding white space during export
    • Optional rectangles around images during export
    • Exporting URN images in SVG format (Scalable Vector Graphics)
    • Exporting URN diagrams in PS/PDF
  • Reports
    • Exporting URN model information to HTML (in addition of images)
    • Exporting URN reports to one flat HTML file (instead of current multi-file, hierarchical HTML documents)
    • Exporting URN reports in MS Word (e.g. RTF)
    • Exporting URN reports in PS/PDF
    • Saving URN models to metamodel-independent XML-based file format

Import of URN models. jUCMNav shall support:

  • Loading URN models from metamodel-independent XML-based file format
  • Loading UCM models from old UCMNav files
  • Importing GRL models from the OpenOME tool (OME uses the same file format)
  • Importing UCM models from the Compact Trace Format (CTF)
  • Importing UCM models from ASP.NET code
  • Importing UCM models from .NET code

URN notation. jUCMNav shall support:

  • Existing URN metamodel concepts
    • Meta-information (tagged values) attached to URN elements
    • Performance annotations
    • UCM dynamic components (slots) and dynamic responsibilities
    • UCM empty responsibilities
    • UCM component stacks
    • UCM events on start points, waiting places, and timers
    • User-defined links between GRL and UCM elements
  • New concepts
    • UCM exception mechanism (definitions and handling)
    • UCM stub references (separate from stub definition)
    • Time concept in URN
    • UCM component classes and instances
    • Distinguishing UCM plug-in maps that are the same instance from those that are different instances
    • UCM component parameterization in stubs/plug-ins
    • Groups of stubs which share the same plug-in instance and optional merging of plug-in bindings for those stubs
    • Reference to “parent” component in UCM plug-ins
    • GRL dependencies between actors - expanding/hiding actor details
    • Visual user-defined comments (post notes) for UCM diagrams
    • UML class diagrams for describing domain models
    • Aspect-oriented concepts and notation for UCM
    • Aspect-oriented concepts and notation for GRL

Documentation

  • jUCMNav shall include help for all its wizards
  • jUCMNav’s documentation shall cover GRL model editing
  • jUCMNav’s documentation shall cover GRL strategy usage
  • jUCMNav’s Web site shall include examples (GRL with strategies, UCM with scenarios, models integrating GRL and UCM)
  • jUCMNav’s Web site shall include training material (exercises and solutions) for creating and analyzing URN models

-- Main.DanielAmyot - 19 Nov 2006