Short Tutorial on jUCMNav Daniel Amyot Jason Kealey

Download Report

Transcript Short Tutorial on jUCMNav Daniel Amyot Jason Kealey

Short Tutorial on
jUCMNav
Daniel Amyot
Jason Kealey
Jean-François Roy
Gunter Mussbacher
Stéphane S. Somé
http://jucmnav.softwareengineering.ca
1
Pronounced: juicy – em – nav
http://jucmnav.softwareengineering.ca
2
Overview











jUCMNav installation
Crash course on URN for BPM (with simplified example
from a hospital data warehouse access process)
GRL editing
GRL analysis with strategies
UCM editing
UCM analysis with scenario definitions
URN model export (figures, HTML)
MSC generation from UCM scenarios
GRL/UCM linking
URN model export to Telelogic DOORS
KPI analysis and links to data warehouses (presented by
Pengfei)
http://jucmnav.softwareengineering.ca
3
Useful Resources

Installation


Online Help


http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/
HelpOnLine
Animated Demos


http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/
JUCMNavRelease241
http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/
JUCMNavTutorials
Papers (URN Virtual Library)

http://www.UseCaseMaps.org/pub/

Search for papers written by Roy or Kealey
http://jucmnav.softwareengineering.ca
4
User Requirements Notation


URN is a semi-formal, lightweight method for
modeling and analysis of user requirements in
the form of goals and scenarios
Combines two existing notations
 Goal-oriented Requirements
 Use Case Map (UCM)

Language (GRL)
URN can be used to model business processes,
reactive systems, distributed systems, etc.
 Weiss, Amyot:
Business Process Modeling with URN.
IJEBR, 2005
http://jucmnav.softwareengineering.ca
5
jUCMNav Features







Editing, analysis, and transformation of URN models
jUCMNav takes advantage of the Eclipse views
(hierarchical/graphical outline, properties, resources)
Good usability: drag & drop editing, group manipulation,
zoom, unlimited undo/redo, preferences, …
Multiple element references
Autolayout mechanism
Only allows the creation of syntactically valid models
Export and analysis facilities
http://jucmnav.softwareengineering.ca
6
Goal-oriented Requirements
Language


Goals describe the objectives a system should
achieve: why do an activity?
Towards a higher, strategic level of modeling
the current or future system and environment
 Focus
is very
much on system
evolution
 Can explore
opportunities and
vulnerabilities
http://jucmnav.softwareengineering.ca
7
Use Case Maps

UCMs model scenarios as causal flows of
responsibilities that can be superimposed on underlying
structures of components

What should this activity be precisely? Who is involved in this
activity? Where/when perform the activity?
Different structures
suggested by
alternatives in a GRL
model can be evaluated
by allocating
responsibilities to UCM
components
http://jucmnav.softwareengineering.ca
components
responsibilities
8
Getting Started…
Start Eclipse
 Create a new general project
 Add a new file (from jUCMNav category):

 Use
Case Map / GRL Graph
 Create a new UCM and/or GRL diagram

You can rename the project and the .jucm
file
http://jucmnav.softwareengineering.ca
9
Adding/Renaming a UCM/GRL
Diagram

Right-click on URNspec (or on an existing
diagram), add a new UCM or GRL graph
 Many
diagrams can be added, but they all are
views of the same model

Rename the diagram, and add a
description
 Use

the Property view
Delete a diagram, and undo this!
http://jucmnav.softwareengineering.ca
10
Adding Intentional Elements



Add a couple of goals, softgoals, tasks…
Rename them
Use the property view to change
 Description
 Name
 Colour
 Priority/Criticality

See effect on Outline (textual/graphical) and
Elements panels
http://jucmnav.softwareengineering.ca
11
Adding Decompositions and
Contributions




Add decomposition links from multiple
decomposed intentional elements to a single
source element
Change the decomposition type of the source
element (And/Or) via the property view
Add a few contributions/correlations
Change their contribution type
http://jucmnav.softwareengineering.ca
12
Adding Beliefs
Add a belief with a long name/explanation
 Link it to another intentional element

http://jucmnav.softwareengineering.ca
13
Auto-Layout
 Try
the auto-layout feature on your
diagram…
 Can
be undone if needed 
http://jucmnav.softwareengineering.ca
14
Adding Actors
Actors contain intentional elements (their
individual concerns)
 Add a few actors and rename them
 Distribute your intentional elements among
them (or create new ones)
 Move/resize actors
 Actors can contain actors too

http://jucmnav.softwareengineering.ca
15
Adding Dependencies

Add a few dependencies between actors
 Create
a dependum (intentional element between two
actors)
 Create a dependency link between the source
element (depender) in one actor to the dependum
 Create a dependency link between the dependum
and a target element (dependee) in another actor
 jUCMNav does not yet support dependency links
between actors
http://jucmnav.softwareengineering.ca
16
Reusing Actors/Elements
Create a new GRL graph
 Drag&drop existing actors and elements
from the Outline

 New
references are created
Rename them and check impact
 Change the reference to the definition via
the properties view

http://jucmnav.softwareengineering.ca
17
Changing Preferences

Window

Preferences

jUCMNav
Preferences
http://jucmnav.softwareengineering.ca
18
Exercise 1

Open
jUCMNavDemo_v1.jucm
and add this
complementary GRL
diagram (named
DoUsefulResearch)
http://jucmnav.softwareengineering.ca
19
GRL Strategies





User defined sets of initial evaluations
Evaluation propagated in the model
Implemented using the strategies view
Numerical interpretation of the satisfaction levels
Evaluation of the impact of strategies on the
operational and architectural aspects, using
URN links
http://jucmnav.softwareengineering.ca
20
Strategies in jUCMNav
A star (*) indicates an
initial value part of
a given strategy. All
the others are evaluated
through a propagation
algorithm.
http://jucmnav.softwareengineering.ca
21
Actor Evaluation



Evaluation to deal with negotiation between
stakeholders.
Helps analyzing and comparing the satisfaction
levels of each actor based on the selected
strategy
Computed from priority and criticality
attributes of intentional element references
bound to actors
http://jucmnav.softwareengineering.ca
22
Actor Evaluation Example
Priority = Low
Criticality = None
Priority = None
Criticality = High
http://jucmnav.softwareengineering.ca
23
Exercise 2

Open jUCMNavDemo_v2.jucm and add 2
strategies:
 SurveyOnly
 Set Use Survey Only to 100
 AgreementWithLogs
 Same as AgreementNoLogs but with Verify Access Logs set
to 100


Which of the 4 strategies is the best?
How do we delete a value initialization in a given
strategy?
http://jucmnav.softwareengineering.ca
24
Editing UCM Diagrams

The PathTool can be used to
 Create
a new path
 Extend an existing path (start/end point)
 Insert empty points

The rest is similar to the GRL editor
 Components
are like actors
 Path elements are bound to components
http://jucmnav.softwareengineering.ca
25
UCM Path Nodes

Add various elements on path nodes
 Using
the palette
 Using the contextual menu
Add/remove branches on forks, joins,
stubs
 Experiment with merging start/end points,
end/path, end/join, start/stub, etc.

http://jucmnav.softwareengineering.ca
26
UCM Components
Add components around paths
 Bind/unbind path elements
 Look at properties and change them

 Component
type can be modified there too
http://jucmnav.softwareengineering.ca
27
Stubs
Edit Stub Plugins (on a given stub)
 Select a plug-in map for a stub
 Bind its IN/OUT segments to start/end
points of the plug-in map
 Add guarding selection conditions to the
plug-ins in a dynamic stub

 Requires
the definition of variables.
http://jucmnav.softwareengineering.ca
28
Exercise 3



Open jUCMNavDemo_v3.jucm and add a new plug-in
map (Agreement) for stub CheckAccountability.
Bind it properly to the stub. Adjust its precondition.
In map Review, add a timeout path between
WaitREBdone and the OR-join found before the Reject
end point
http://jucmnav.softwareengineering.ca
29
UCM Scenario Definitions and
Path Traversal (Highlight)
 Extraction
of
individual scenarios
based on a
traversal algorithm
 Conditions
attached to
selection points
 Initialization of
variables, and
selection of
start/end points
 Transformation to
MSC
http://jucmnav.softwareengineering.ca
30
jUCMNav 2.4 Features
Groups
of scenarios can be run together
Scenarios can be exported to:
 UCM

Stubs flattened and choices resolved (but documented with special
waiting places)
 UCM


model where all scenarios are linearized and well-formed
From graph to “tree” (especially for AND-joins)
Some concurrency may be lost along the way
 MSC

model where all scenarios are linearized
model with one diagram per scenario (next page)
Can be visualized with embedded MSC viewer
http://jucmnav.softwareengineering.ca
31
Exercise 4




Open jUCMNavDemo_v4.jucm and make sure
your Problems View is open
Add a scenario to test what happens when the
REB is not ready (start point not triggered)
Using scenario inclusion, add a scenario for
RejectTrust
What can go wrong and how can the Problems
View help with clickable error messages?
http://jucmnav.softwareengineering.ca
32
Exercise 5

Add URN links
 From
HIC (GRL) to the Hospital component
 From Trust User (GRL) to the TrustUser map
 From Check Ethical Issues (GRL) to the
ChkEthicsCompliance responsibility

Examine that responsibility as strategies
are highlighted.
http://jucmnav.softwareengineering.ca
33
Exporting Diagrams/Models



Select the URNSpec in
the Outline or click on a
diagram background
Right-click to export
(starts a Wizard)
Export individual
diagrams or entire
models to various
formats…
http://jucmnav.softwareengineering.ca
34
jUCMNav 2 supports
-MSC viewer
-MSC export to images
http://jucmnav.softwareengineering.ca
35
URN Model Export to Telelogic
DOORS
http://jucmnav.softwareengineering.ca
36