Home

Manual

image

Contents

1. Figure 3 37 2 First Steps N Do it Process Role Allocation l Create System Components Create System Requirements Initiate Project i gt Integrate System Validate System Create System Design Including basic entities into a user defined graphical view e Select the activity Create Design system and use the Include neighbors button on the horizontal tool bar to include all entities this activity is linked to in other views that is as long as the user defined graphical view allows for their display Something to remember The buttons on the horizontal tool bar Include and Include neighbors create a reference to the object in the model If you delete one of the objects you have just included from the view you erase it from the model This generates an inconsistency Name Conventions mre wee System Nyy Design Requirements Software System Documentation Documentation f Including relationships of entities into a user defined graphical view e Mark the artifact Software System Documentation e Use the Exclude selected button on the horizontal tool bar to exclude this entity from the graph In the same way roles can be included into the graph e Select them in the roles view and use the Include selected button on the horizontal tool bar Copyright Fraunhofer IESE 2003 A 1 First Steps Figure 3 38 Figure 3 39 42
2. Copyright Fraunhofer IESE 2003 97 Consistency Assurance ro I a FI ES t Tutorialinc som E Insepn ensis SANAE rE Bias id i i e e T EEE Pevelorr il 5 Artifact SubOutput2 is contained by no product flow graph R32 j amp Doit HF Artifact SubOutput2 is not consumed modified or produced by at least one activity R21 New View gt Root artifact SubOutput2 is imported by no product flow graph R193 Plugins gt Artifact Subinput2 is contained by no product flow graph R32 Artifact Subinput2 is not consumed modified or produced by atleast one activity R213 Root artifact SubiInput2 is imported by no product flow graph R193 Artifact SubOutputt is not consumed modified or produced by atleast one activity R21 Root artifact SubOutput1 is imported by no product flow graph R193 Artifact SubOutput is contained by no product flow graph R323 Artifact Subinoput1 is not consumed modified or produced by at least one activity R213 Rant arifart Suhlnannti ig ironed hinn nrodiict flow aranh R10 Extract View Minimize Import Export LS goaL E Pomreermat es Ps Transform Attifact Sublnputt is contained by no product flow graph R32 nro Activity noname does not consume modify or produce atleast one artifact R20 Attifact Regquireaments Documentation is produced by activity Create System Requireme
3. rogrammer Requirements Engineer g g Domain Expert P g Tester eate System Designer System Integration Engineer Customer B Including roles from the roles view into the user defined graphical view e Now activate the Link Objects button on the vertical tool bar e Link the roles to the activities to complete the view Name a Conventions Om Requirements Create System _ Engineer Requirements A completed user defined graphical view ge Requirements Documentation E pe w f _ Create System Designer Design Customer Something to remember The option Include neighbors includes in the graph the objects and links which are related in some way with the selected object If there are activities or artifacts which don t have a link connecting them to the selected object then those are not from the same level It is recommended to use the Exclude option to remove these objects from the view in order to obtain a representation with elements from the same level Copyright Fraunhofer IESE 2003 First Steps jejeje a box PAA aac HE N2 Requirements Create Developer Engineer Create Customer Requirements Requirements S O ain we E Domain Create System Requirements Knowledge Requirements Documentation l O Create Test Verify Systems Cases Requirements Name Conventions Create Traceability Matr
4. objects 40 34 11 16 entities activities artifacts roles tools product flow graphs control flow graphs links Fig 9 1 Calculate Basis Statistics 9 2 Calculate Size and Complexity The Calculate Size and Complexity plugin calculates size and complexity measures for a process model Copyright Fraunhofer IESE 2003 119 Plugins Calculate Size and Complexity x Process model Do itProcess is characterized as follows Process model SIZE 193 COMPLEXITY 0 793 which is calculated from the following data objects 40 links 153 Subsets views 12 SIZE per subset i 0 34 mean 18 75 COMPLEXITY per subset 0 0 588 mean 0 327 which is calculated from the following data objects per subset min 0 max 18 mean 10 917 links per subset min 0 max 20 mean 7 833 The following formulas were used SIZE lt objects links COMPLEXITY links SIZE Fig 9 2 Calculate Size and Complexity 9 3 Find Undefined Attributes The Find Undefined Attributes plugin searches entities in a process model that have attributes with an empty value These entities and their empty attributes are displayed in a result list The user can click on any entry in this list to directly focus the properties view on the corresponding attribute 1 20 Copyright Fraunhofer IESE 2003 Plugins Artifact Executable System Attribute Description Activity Create System Requirements Attribute
5. A PEN areas Attifact Reguiraments Documentation is produced by activity Create System Requireme m RA Aitari Oa aiivees nannte Dannmanntatinnl ie aes hu aatiui enanta Quester De aires m i emt Root artifact Name Conventions is imported by more than one product flow graph R19 There is more than one root activity RV Root control flow graph General Control Flow contains more than one activity R39 Root product flaw graph General View contains more than one activity R14 Properties Attribute Profiles Inconsistencies Figure 6 5 Inconsistencies 6 2 3 Showing and Correcting Inconsistencies on Selected Objects The aim of the menu Inconsistencies is to facilitate the elimination of inconsistencies on selected parts of the process model If an object i e a view or a SPEARMINT entity is selected and the mouse popup is invoked all inconsistencies related to the currently selected object are listed in a short version Hew Sub Antifact Copy Mark Paste Copy Paste Obiect Acthaty DefectPrevDetectionRate prod gt Activity DefectPrevDetectionRate prod gt Figure 6 6 Inconsistencies of an Entity Moving your mouse pointer on such a list entry the tool tip displays the long version of the error message Selecting a list entry SPEARMINT offers Suggestions on how the inconsistency can be removed The user can select one of these suggestions to correct the model accordingly 98 Copyrig
6. Description Role Programmer Attribute Description Artifact Requirements Specification Attribute Description Artifact Name Conventions Attribute Description Activity Create Test Cases Attribute Description Artifact Reference Knowledge Attribute Description Activity Create Customer Requirements Attribute Description Activity Create System Design Attribute Description Role Domain Expert Attribute Description Artifact Verification Document Attribute Description Fig 9 3 Find Undefined Attributes 9 4 Outdated Plugins There are some Outdated Plugins as well These are prototypical implementations of research ideas No support is provided for them 9 5 Writing Plugins To design and implement plugins for SPEARMINT providers should have a look at the SPEARMINT API documentation lt SPEARMINT installation directory gt doc api index html SPEARMINT plugins have to implement the following interface spearmint plugin RevisedSpearmintPlugin For compilation the following libraries have to be put in the CLASSPATH environment variable lt SPEARMINT installation directory gt lib spearmint jar lt SPEARMINT installation directory gt lib framework jar lt SPEARMINT installation directory gt lib omf jar For activation plugins must be put in the following directory lt SPEARMINT installation directory gt plugins To activate a plugin it has to be added to the property spearmin
7. Figure 4 2 the user can customize the Strategy of snapping the nodes to the grid In the left area the strategy is selected in the right the anchor point inside the nodes can be chosen the anchor point is oriented on the icon of the node Strategies Snap to Borders snaps to the borders of the bounding rectangle all anchor points are disabled Snap to Point snaps to the selected anchor point all anchor points are enabled Snap to Horizontal Lines snap the upper center anchor point center anchor point or bottom center anchor point to the horizontal lines Snap to Vertical Lines snaps the left center anchor point center anchor point or the right center anchor point to the vertical lines Customize the Grid Adjustments Copyright Fraunhofer IESE 2003 6 7 User Interface Customize Grid amp Snapping Figure 4 21 The Grid Adjustment Tab In the Grid Adjustment tab Figure 4 2 the user can customize the visible grid and the snapping invisible grid In the left area are all properties of the visible grid and also a checkbox for using this setting for the snapping grid as well When this option is selected the input fields for the snapping grid in the right area are disabled I 2 Q a boom AA a Bolter ota Ey hs pt tt ttt ty te tT TET PE TE ET TE TET TE ET pt tt ttt te tt TT ET TT TTT TT TET BRONNE BANY SAEN BOA Oe Ee SN a a a a aly a y a a th eS ee eee oe custo
8. JoinSplitState with an or or xor split A Precedes link may only have a non empty guard if all other Precedes links to successors of the predecessor have a non empty guard If an Activity produces an Artifact that is consumed or modified by another Activity the producing Activity must precede the consuming or moditying Activity A State must not precede itself If an Activity contains at least one element activity it is refined by at least one ProductFlowGraph Copyright Fraunhofer IESE 2003 Consistency Assurance R53 If an Activity contains at least one element activity it is refined by at least one ControlFlowGraph 6 2 Working with Automated Consistency Assurance 6 2 1 Figure 6 2 Copyright Fraunhofer IESE 2003 SPEARMINT provides three functions related to automated consistency assurance e Setting up automated consistency assurance e Checking the consistency of a process model e Showing and correcting inconsistencies on selected objects These are described below Setting up Automated Consistency Assurance Especially in early phases of modelling it is necessary to be able to work with inconsistent models Therefore you can customize the automated consistency assurance to your personal needs Open the consistency assurance dialog Figure 6 2 by using the Tools menu and choosing the option Consistency Assurance Consistency assurance x Consistency assurance v Allow interr
9. Showing and Correcting Inconsistencies on Selected Objects98 Similarity Analysis Introduction Usage Heuristics Parameter setting Electronic Process Guide EPG Generation SPEARMINT 7 EPG generation SPEARMINT 5 EPG Setting the Configuration Changing the Settings for Graphical Views Generating a SPEARMINT 5 EPG Open a SPEARMINT 5 EPG Structure of the EPG Plugins Calculate Basis Statistics Calculate Size and Complexity Find Undefined Attributes Outdated Plugins Writing Plugins Copyright Fraunhofer IESE 2003 100 100 100 106 112 114 114 114 114 117 118 118 119 119 119 120 121 121 Introduction 1 Introduction Understanding software development processes is the basis for effective software process improvement One key instrument to process understanding and communication is the explicit description of the processes and their representation by a software process model However real world processes and their models are complex To deal with this complexity adequate tool support is necessary 1 1 Scope of Tool and Document A process modeling tool that was especially designed to deal with this type of complexity is the SPEARMINT EPG tool set The tool set consists of two components The modeling environment SPEARMINT Software Process Elicitation Analysis Review and Modeling in an Integrated Environment assists a process engineer in creating and maintaining process models The
10. a Properties 4 Including entities into the product flow graph Something to remember If you have selected Paste Copy instead of Paste Object then you have to go to the artifacts view and delete the duplicated artifacts Copyright Fraunhofer IESE 2003 First Steps Domain Knowledge Executable Component Executable Systerr Executable System Mame Conventions Confirm Delete E xj D Do you really want to delete 8 objects Yesi mo Tutorialinc spm Ready Fig 3 21 Duplicated artifact vertical tool bar has to be activated Arrange the objects in the graph by x e To work on any object in the graph the Select Objects button of the dragging them into position with the mouse e Now activate the button Link Objects in the vertical tool bar e Add links by clicking an object holding the left mouse button and moving the mouse to the object that you wish to link it to e To create a modifying link repeat this procedure in both directions The graph should look similar to the following Copyright Fraunhofer IESE 2003 29 First Steps women os PLUS a ome Knowledge O Create System y Executable Requirements j System Name i Requirements Conventions q Documentation Create System Software System Design 1 Documentation 7 Executable Component Developement Create System SW Component Guidelines Components Documentation
11. ab Create System Components Cy Create System Design Create System Requiremen Initiate Project gt Integrate System Copy Mark Validate System Paste Copy Paste Object Figure 3 14 Creating a new product flow graph e A delayed double click allows to rename the graph General View rab Create System Components Create System Design ib Create System Requirements General View Initiate Project gt Integrate System Validate System Figure 3 15 A product flow graph in the product flow view In order to include the activities into the graph they have to be moved e Mark the activities by holding the key Strg or Shift while clicking on each activity e Right click the marked activities for the context menu to pop up and choose the option Copy Mark Paste Copy General View Rename amp cre Oc Ini amp Inte Vali Properties 2 6 Copyright Fraunhofer IESE 2003 First Steps Figure 3 16 Copy Mark option on the context popup menu e Now mark the product flow graph e Bring up its context menu by using the right mouse button and choose the option Paste Object 3s Product Flows g ral B ib Create System Components Cy Create System Design Create System Requirements y Initiate Proje show Ch Integrate Syg New Activity Validate Sys ane Paste Copy Figure 3 17 Past Object option on the context popup menu e The activities will now be includ
12. and Produces links between imported Activities and Artifacts The name of an Attribute must be unique among the Attributes of the same Element Entities must have unique names An Activity is contained by at most one Activity built in There must be exactly one root Activity A root Activity is not contained by an Activity An Artifact is contained by at most one Artifact built in An Activity must not contain itself neither directly nor indirectly PF 4 first part An Artifact must not contain itself neither directly nor indirectly PF 4 second part An Activity is refined by at most one ProductFlowGraph A ProductFlowGraph refines at most one Activity built in There must be exactly one root ProductFlowGraph A root ProductFlowGraph does not refine an Activity A root ProductFlowGraph imports exactly one Activity A root ProductFlowGraph imports only root Activities A root ProductFlowGraph imports only root Artifacts If a ProductFlowGraph refines an Activity it imports exactly the element Activities of the refined Activity If a ProductFlowGraph refines an Activity and the refined Activity consumes modifies or produces an Artifact the ProductFlowGraph imports either the Artifact or all of its element Artifacts Copyright Fraunhofer IESE 2003 R19 R20 R21 R22 R23 R24 R25 Consistency Assurance Example scenario I mei im A root Artifact must be imported by exactly o
13. e Extract View creates a copy of this process model in which it removes all entities that are not connected with a specific role To extract a view e A dialog appears where the user can select the desired role e Anew process model is created automatically and named as the original ug connected with to the role selected Double click the process model 58 Copyright Fraunhofer IESE 2003 User Interface e Notice that the views in the new process model are a subset of the original They contain only the activities artifacts roles tools and split join states directly related to the selected role E Tutoriallne spm AF Embedded Software Development OcitProcess Do itProcess Customer Activities C Artifacts P Roles P Tools Product Flows P Control Flows 0 Role Allocation HA Rolle allocation Fig 4 10 Extract view e Minimize deletes all artifacts roles tools product flow graphs and control flow graphs that are not connected to any activity e Generate This option allows the user to generate Electronic Process Guides EPG using different templates as inputs and producing different types of documents as outputs e Electronic process guide This option allows to generate an HTML based electronic process guide from the process using SPEARMINT s default template For a detailed description please see chapter 7 e DocBook XML This option allows to gen
14. for viewing the model in a browser by loading the URL in a web browser see figure 2 5 Copyright Fraunhofer IESE 2003 Basic Concepts Spearmint Web based Guidebook Netscape File Edit View Go Communicator Help p a ri p SPEARMINT Web based Guidebook Software Process Elicitation Analysis Review and Measurement in an Integrated Modeling Environment Show me in Spearmint Project ssp Elements of view HTTP View Activity Requirement Analysis Activities Description Analysis Analysing the Requirements of a new System Design Implementation Attributes Requirement Analysis i Benutzeranforderunge No attributes defined e Funktionale Anforderungen Nichtfunktionale anforderungen Component Of Artifacts none top level Analysis Documents Design Documents Contains Program Documentation Requirements Document Benutzeranforderunge Funktionale Anforderungen Nichtfunktionale anforderungen Programmer l Productflow Requirements Engineer System Analyst Roles e System Designer Consumed products none Produced products Tools Requirements Document IDE Involved Roles UML Tool Wordprocessor Requirements Engineer Used Resources VWordprocessor This page has been generated on 10 15 12 April 2000 by Spearmint tm ar D Document Done 35 4s AP Cal ve Z Fig 2 5 Hypertext view e Properties View for giving additional in
15. Consistency Rules Every instance of class Process in the process metamodel is a process model that is required to conform to both the metamodel and to the following set of consistency rules R1 An Attribute belongs to exactly one Element built in1 1 Rules R1 R6 R8 R12 and R37 are made explicit in the metamodel with multiplicity restrictions 1 or 0 1 In addition rule R1 is related to a composition has rules R6 and R8 are related to hierarchies contains cf rules R9 and R10 and rules R12 and R37 are related to derived hierarchies implied by refines and imports Visual modeling is expected to deal with composition and hierarchies in appropriate ways e g with graphical user interface GUI components for lists and trees Using these kinds of GUI components violations of the above rules are considered very unintuitive for the user and difficult to deal with by the programmer Therefore a decision was made to not allow violations of these rules Consequently they have been hard coded built in into the design of the software system Copyright Fraunhofer IESE 2003 89 Consistency Assurance 90 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 If a ProductFlowGraph imports a Consumes Modifies or Produces link it must import the corresponding Activity and Artifact as well A ProductFlowGraph must import all Consumes Modifies
16. Documents and Settings Modell spm Opening a new database Copyright Fraunhofer IESE 2003 First Steps e The dialog Create Database will pop up Chose a folder by double clicking enter the file name IESE Process Repository and click Create Look in Gam tt Era File name IESE Process Repository Create Files of type Spearmint Database SPM x Cancel Figure 3 3 Creating a new database 3 1 2 Creating a New Project A new database has been created in SPEARMINT which will now be seen in the database explorer that is the left hand panel of the main window To create a new project e Use the popup menu by clicking with the right mouse button on the database named IESE Process Repository som e Choose the option New Project e Enter the project name Embedded Software Development gt SPEARMINT 7 0 File Window Tools Help mjas i Export Properties Attribute Profiles Plugins gt n Figure 3 4 Creating a new project Copyright Fraunhofer IESE 2003 First Steps 3 1 3 Creating a New Process Model A new process model is created in the same way e Use the popup menu of the project by clicking with the right mouse button on the project name Embedded Software Development in the left hand panel of the main window e Choose the option New Process Model SPEARMINT 7 0 File Window Tools Help x bl de
17. Interface Structure Copyright Fraunhofer IESE 2003 VI U U U U U U U U g a w u N U1 UI N N hoe a PAS 5 2 4 22 5 2 6 e an DZ a Dee 1 DLs lk PAF OY OY OV OV OD OY om oe ee L MU a View Manager 52 Working Area 52 Menu Toolbar and Status Bar 53 Popup Menus 5 Database Popup Menu 5 7 Project Popup Menu 58 Process Model Popup Menu 58 Popup Menus of the Predefined Views 60 Background Popup Menu 60 Node Popup Menu 61 Graphical Views 61 General Functions of Toolbars in Graphical Views 62 Background Popup Menu only for Graphical View Product Flow Graph and Control Flow Graph 64 Edges Popup Menu 65 Grid and Snapping 66 Align and Distribute 69 Modelling with Views 72 Process Model Edition T2 Selection 72 Include and Exclude Z3 Delete 74 Copy Mark Paste Copy and Paste Object 74 Tree Structure Modification 75 Views 70 Activity View 70 Artifact View 76 Roles and Tools View 7 Product Flows View 78 Product Flow Graphs 78 Control Flow View 80 Control Flow Graphs 80 Role Involvement View 82 Resource Usage View 82 Graphical View User Defined View 82 Hypertext View 83 Properties View 86 Consistency Assurance 88 Methodological Prerequisites 88 Process Metamodel 88 Consistency Rules 89 Working with Automated Consistency Assurance 95 Setting up Automated Consistency Assurance 95 Copyright Fraunhofer IESE 2003 VII Checking the Consistency of a Process Model 97
18. Mktplace Process Model Do it Process Y Do it Process gt Activities Artifacts F Roles Product Flow Customer i Designer The following graphis depict the global product flow for this process model Programmer e General View Requirements Engineer System Integration Engineer Tester Tools Process Model Do it Process Product Flow Activities Artifacts Roles Activities Tools Process Views a The following are the activities present in this process model E a D Document Done Ss sie aa ead Figure 3 48 The generated EPG 3 10 2 Generating Printable Process Documentation SPEARMINT Printable Process Documentation creates a process guide which could be printed and uploaded by some word processors e To create a printable process guide right click on the process model Do it Process for the context menu to pop up Choose the option Generate gt DocBook XML SPEARMINT automatically will generate a DocBook XML document With this product the user can generate printed documents For more information on DocBook please refer to http Awww oasis open org docbook http sourceforge net projects docbook http Awww oreilly com catalog docbook SPEARMINT provides a prototypical solution as well In the main menu choose the option Tools gt DocBook XML to PDF and select the generated DocBook XML Tile SP
19. Property gt Fj PersonalConfiguration Notepad ifs Fa File Edit Search Help lt Configuration dtd 6 1 gt lt Property key epg manyWindows gt false lt Property gt lt Property key epg graphicalUiews gt fgiek Property gt lt Property key epg thumbnaill mgWidth gt 166 lt Property gt lt Property key epg feedbackAddress gt epg iese fhg de lt Property gt lt t lt Property key epg specProcModProperties gt lt Property gt gt lt t lt Property key epg activityAttributes gt lt Property gt gt lt t lt Property key epg artifactaAttributes gt lt Property gt gt lt t lt Property key epg roleAttributes gt lt Property gt gt lt t lt Property key epg toolAttributes gt lt Property gt gt lt Property key epg language gt en lt Property gt lt Property key epg ignoreEmptyAttributes gt true lt Property gt lt Property key epg showGenerationDate gt true lt Property gt lt Property key epg showProjectName gt true lt Property gt lt Property key epg background gt yellow lt Property gt lt Property key epg specProcModIidentifier gt Process Model lt Property gt M A lZ PersonalConfiguration Windows notepad The configuration of the EPG can be set in a configuration file see section 8741 lt Property key epg manyWindows gt false lt Property gt The value true will open a new window in the web browser for every new inquiry The value
20. The process hierarchy heuristic PcH computes a similarity values between two activities resting upon the PcAgg similarity of their sub activities Since a comparison of the whole aggregation trees can become very computational complex the computation is only concerned with the first three hierarchy levels of the tree structure Since different aggregation tree structures may imply the Same semantics different aggregation levels are compared independently of the tree structure i e the trees are converted into one level lists Copyright Fraunhofer IESE 2003 Similarity Analysis Given the lists of sub activities of a and b l x and l gt y the following formula is applied O if Ll Jand l or L Dand l PcH a b 51 if lL Jand l or l Dand l o l l else Here the similarity measure o between two non empty lists of sub activities is gt max PcAgg x Y1 PCAg8 Xia Vy gt max PcAge x Yi PcAgg x o l max i 9 n m The process structure heuristic PcS computes like the PcH a similarity values between two activities resting upon the PcAgg similarity of their sub activities Like in PcH the sub activities of two activities a and b belonging the first three level of the aggregation trees are collected in two lists 1 x x and l Y gt gt Y Given the sub matching table of PcAgg related to 7 and L the computation
21. The specitic methodological prerequisites that are relevant to the SPEARMINT tool are the process metamodel and the consistency rules Both are given in the following sections 6 1 1 Process Metamodel 88 Figure 6 1 shows the process metamodel that is used in SPEARMINT The core classes are Entity Activity Artifact Role Resource and Tool with the core associations contains consumes modifies produces involves uses and precedes The Attribute class is added for flexibility while the ProductFlowGraph and ControlFlowGraph classes and their associations are added for visual modeling Copyright Fraunhofer IESE 2003 Consistency Assurance SchemaObject abstract name String description String D 1 i E Element element has attributes Attribute ihstract value String D aa ProductFlowGraph ra I produces i A O 4 i O 1 container elements container elements lt refines contains gt contains imports Consumes Modifies Produces Li I Li x consumes x x i x Resource i involves modifies i jabstract p x Ta O 1 JoinSplitState i s State join nil and or xor nil abstract split nil and or xor nil x Ed predecessor Successor imports 5 ControlFlowGraph I precedes I Precedes x guard String Figure 6 1 Process metamodel of SPEARMINT 6 1 2
22. Tittarialine enm Reade l eee Fig 5 1 Selection The selection determines what is shown in the properties view If only one entity is selected then its properties will be shown in the properties view e Selection acts on the process model not on the view e When you select something it is selected in every view in which it is included and the properties view 5 1 2 Include and Exclude For user defined graphical views and hypertext views the user can specify what is shown in the views This is done indicating which elements existing in the process model should be included in the views Elements can also be excluded from the views when they are no longer needed These operations only act to determine the content of the view and have no effect on the underlying process model Copyright Fraunhofer IESE 2003 fe Modelling with Views 5 1 3 Delete Fig 5 2 e Deleting an entity removes it from the entire process model As a result the entity and all its relationships are removed from all views where It was showing The entity Is irrecoverable Confirm Delete a ie x b Do you really want to delete 1 objects Yes No Deleting e Excluding removes an entity from its view Something to remember If an activity is excluded from a refinement graph however it will be moved to the top level of the hierarchical structure in the product and control flow view as well as in the activities view It is imp
23. activities e Paste Objects on the context menu of the graph Create System Components Create System Design Create System Requirements Initiate Project Integrate System Rename Validate System Copy M Properties mean Paste Copy Figure 3 29 Moving entities within the control flow view Now the control flow graph can be opened by double click and modeled 3 5 2 Modeling a Control Flow Refinement Graph After creation of the subactivities of the main activity Create System Requirements a control flow retinement graph is automatically created into the hierarchical order of the control flow view including all subactivities The refinement graphs are automatically named after their main activity Copyright Fraunhofer IESE 2003 35 First Steps D General Control Flow Graph yy Create System Components Cy Create System Design D ie Create System Require ments Iirements Initiate Project gt Integrate System gt Validate System Figure 3 30 Control flow view e Open the refinement graph Create System Requirements by double clicking The subactivities have been included into the graph automatically e Activate the Link Objects button on the tool bar and link the objects Create Customer Requirements Create Test Create Developer Requirements y Create Traceability verify Systems Requirements Fig 3 31 Basic control flow The contro
24. editable too right mouse button Therefore sub tables provide comfortable detailed views of the model Heuristics The similarity computation rests upon several heuristics which can be classified into the following five groups Copyright Fraunhofer IESE 2003 Similarity Analysis Heuristics for all Heuristics for Heuristics for Heuristics for Heuristics for kind of entities artifacts roles tools activities Name RsAggTool PcAgg Attr SC ASt PdS PdF PcH Po RsT PcM The name heuristic Name computes the similarity between entity identifiers by the weighted Lewenshtein distance The computation applies the formula nea WLSD name name max length name name where WLSD name name is the Levenshtein distance between the names of two models a and b max length name name is the greatest of both name lengths The aggregation structure heuristic ASt computes the similarity between two models by their aggregation degree two entities are equal if and only if both are aggregations or not The attribute heuristic Attr computes the similarity between two models by the similarity between their attribute lists The following formula is applied 0 if list Jand list O or list O and list Attr a b Lif list Jand list or list O and list O list list else Here the similarity measure o between two non empty lists of attributes Lb N Xe bg O
25. is performed with a similar strategy like in the PdF heuristic 1 Convert each similarity assumption greater then the SC parameter Threshold into a positive fact 2 PcS a b SC C 1 The resource type heuristic RST computes a similarity value between two activities a and b using similarity results of the Name heuristic applied to their related roles and tools It is defined as RsT a b x o roles roles y O tools tools where x Role Name Amount y Tool Name Amount and X max Name x y Name x Y gt max Name x y Name x y eS aan o 1 1 max 9 n m The process model heuristic PCM compounds all heuristic for activities Its results are presented in the activity matching table For two given activities a b PcM a b is defined as follows PcM a b wps PdS a b Wayp PAF a b Wa PcH a b wp PcS a b Wz gt RsT a b Here isw xX Amount Copyright Fraunhofer IESE 2003 111 Similarity Analysis The relationships among the different heuristics are displayed by the following diagramm e reed heuristic B may we J matching table Figure 7 9 Hierarchy of similarity heuristics 7 3 Parameter setting There are several parameters influencing the behavior of the different heuristics A click on the setting button invokes a parameter edit dialog All parameters are grouped in the dialog by their related heuristic As the
26. parameters determine the relevancy of the subordinated heuristics within the heuristic they belong to their total amount is always 100 i e if you edit a parameter the tool will adjust the other parameters automatically The parameter value 0 switches off the related heuristic whereas all other involved heuristics are switched off by the value 100 1 1 2 Copyright Fraunhofer IESE 2003 Similarity Analysis Figure 7 10 Setting parameters of similarity heuristics The parameter Threshold of the SC heuristic does not determine the relevancy of any heuristic therefore it can be different than 100 You can find a description of each parameter in section 7 2 Copyright Fraunhofer IESE 2003 1 1 3 Electronic Process Guide EPG Generation 8 Electronic Process Guide EPG Generation With the EPG generator you can generate an HTML based EPG of the process model in SPEARMINT The EPG Is a web based description of the process It is a set of HTML pages that are browseable in any web browser Currently there are two options available for this purpose which are e Electronic Process Guide This option generates an electronic process guide based on a Tix template which is not visible to the user e SPEARMINT 5 EPG This option allows the generation of a SPEARMINT 5 Electronic Process Guide 8 1 SPEARMINT 7 EPG generation The steps to generate are e Right click on the process model e Select the o
27. second component is a generator to create EPGs Electronic Process Guides which are hypertext process handbooks that provide navigation facilities to support process performers during process execution An outstanding feature of SPEARMINT EPG is that the tool allows for efficient modeling of different views of the process model A view is a subset of the process model focusing on specific aspects for instance product flow or processes relevant for a certain role e g QualityReviewer Designer Different views may use different representation mechanisms The concept of views is shown in Fig 1 1 The views are kept consistent by SPEARMINT A view can be seen as a filter for information Using different views on the process model a Process Engineer can focus on exactly those aspects of the process that are relevant for his current task while information that is not needed for this task is not shown Thus the complexity of process models can be largely reduced This document describes the usage of the SPEARMINT EPG tool The report assumes that the reader is familiar with fundamental software process modeling concepts Copyright Fraunhofer IESE 2003 Introduction Figure 1 1 A view entire process model Complexity reduc
28. should be deleted Copyright Fraunhofer IESE 2003 46 First Steps f Deleted Files Bae BAS fe 5 x A All files and subdirectories in directory C Spearmint Tutoriallinc EPGEPG will be deleted Fig 3 46 Warning dialog e Accept the warning and SPEARMINT will start to generate the EPG e SPEARMINT has created a new folder for the EPG e To load the EPG open the explorer and go to the EPG file folder e Double click the file index html Folders 2 app J Documents and Settings installers L maafold a My Movies tof My Music AE Programm Files Bg Spearmint oe WE FreezeManualVersion Bg Qukoue 6 objectis Disk free space 16 2 GB Figure 3 47 Finding the starting point of the EPG index html file The EPG divides the browser window into three frames The frame on the upper left provides a structural tree with links to each SPEARMINT entity The frame below shows the attributes of the entity selected and the frame on the right shows the information of the link selected either from the upper or lower frame Copyright Fraunhofer IESE 2003 47 First Steps File Edit View Go Communicator Help lt 2 3 amp a a 3 a Back Forward Reload Home Search Netscape Piir Security Shop Sto z wt Bookmarks amp Location file C Spearmint Output epg index html amp What s Related a amp Instant Message E Members E WebMail E Connections E BizJournal E SmartUpdate E
29. to change the configuration to fit the user s needs Chapter 9 describes the Plug ins which have been developed for SPEARMINT and their functionality 1 3 Literature The following literature provides further information about SPEARMINT EPG from a research oriented point of view Richard Webby Ulrike Becker Towards a Logical Schema Integrating Software Process Modelling and Software Measurement In Process Modelling and Empirical Studies of Software Evolution ICSE 97 Workshop pages 84 88 1997 Marc I Kellner Ulrike Becker Kornstaedt William E Riddle Jennifer Tomal Martin Verlage Process Guides Effective Guidance for Process Participants In Proceedings of the Fifth International Conference on the Software Process ICSP 98 pages 11 25 1998 Ulrike Becker Kornstaedt Dirk Hamann Ralf Kempkens Peter R sch Martin Verlage Richard Webby and J rg Zettel Support for the process engineer The SPEARMINT approach to software process definition and process guidance In Matthias Jarke and Andreas Oberweis editors Advanced Information Systems Engineering 11th International Conference CAISE 99 Heidelberg Germany June 14 18 1999 Proceedings number 1626 in Lecture Notes in Computer Science pages 119 133 Springer Verlag 1999 Ulrike Becker Kornstaedt Holger Neu and Gunther Hirche Software Process Technology Transter Using a Formal Process Notation to Capture a Software Process in Indust
30. your immediate task In SPEARMINT there are eight predetined views for each process model These show all the information of a particular kind and their content is automatically determined according to what they show e Activities View lists activities only and allows a display of their hierarchical structure e Artifacts View lists artifacts only and allows a display of their hierarchical structure e Roles View lists roles only e Tools View lists tools only Copyright Fraunhofer IESE 2003 Basic Concepts e Product Flow View e Control Flow View e Role Involvement View e Resource Usage View lists the product flow graphs which model the product flow among activities and artifacts and activities hierarchically lists the control flow graphs which model the control flow among activities and activities hierarchically lists roles and their involvement in activities lists resources i e tools and their usage in activities The user can define other views In this case the user can choose which information is displayed in the view e Graphical view tor modeling resource allocation relationships that specify roles and tools involved in a process by assigning them to specific activities see figure 2 4 Requirements Create System Requirements Engineer Requirements Documentation Create System Conventions Design Customer Designer Fig 2 4 User defined graphical view e Hypertext View 16
31. 5 13 shows the control flow graph called Handle Design Defects The description of this graph is as follows The activity DesignDefectGenerationRrate could be followed OR by the activity DesignDefectDetectionRate or the activity DesignDetectsEscapeRate If the branch which has another join split state is followed then the activity DesignDetectsToNextPhase can be accomplished if and only if the activities DesignDefectsEscapeRate AND DesignBadFixesGenerate have been done before Copyright Fraunhofer IESE 2003 81 Modelling with Views 5 2 8 Role Involvement View Fig 5 14 The role involvement view displays roles and activities in a tabular form It shows alls roles and activities that are defined in the process model They are displayed in alphabetical order without making a distinction between aggregate activities and sub activities Names appear abbreviated Full names are displayed in tool tips only The existence of an involvement relationship between a role and an activity Is indicated by a check mark in the corresponding table cell Create Custome Create Develop Create System Create System Create System Create Test Cas Create Tr Create Syster Initiate Project Integrate System validate System verify System R poO0O System Integrati ONOOOCustomer besi OOO 0D Obomain Expert OO CProgrammer KOO Requirements E OOU fester n m n n E a doa Hoone LI
32. CICICS ooon Em Role involvement example 5 2 9 Resource Usage View The resource usage view displays resources i e tools and activities in a tabular form It shows alls tools and activities that are defined in the process model They are displayed in alphabetical order without making a distinction between aggregate activities and sub activities Names appear abbreviated Full names are displayed in tool tips only The existence of a usage relationship between a tool and an activity is indicated by a check mark in the corresponding table cell 5 2 10 Graphical View User Defined View 82 The user defined graphical view is a special type of view This is the only graphical view where the user can work with roles and tools This view is not part of the refinement hierarchy and can contain parts from each level of the refinement hierarchy The user defined graphical view is a partial view Copyright Fraunhofer IESE 2003 Modelling with Views A user detined graphical view can contain all four SPEARMINT entities namely activities artifacts roles and tools Roles and tools can be linked to activities Activities and artifacts can be linked displaying the relationship of consumption usage and modification as described in section 5 2 5 It is not possible to link two activities or to link two artifacts directly a ed Jjejejeal PPA wo WE oz g ______ Customer j Collect Issue R
33. Customer IESE Process Repository Ready Figure 5 7 Extracted view Copyright Fraunhofer IESE 2003 IJ Modelling with Views 5 2 4 Product Flows View Do it Proc 5 Pro o xl cit General View Create System Components Create System Design Q Create System Requirements Q Create System Requirements lo Create Customer Requirements Create Developer Requirements Create Test Cases Create Traceability Matrix Verify System Requirements Initiate Project Integrate System Validate System Fiaure 5 8 The Product Flow Refinement View All activities and product flow graphs are contained In the hierarchical structure of the product flow refinement view It shows activities and product flow graphs and the refinement relationships between them as well as which activities are contained in which product flow graphs New activities added to the product flow refinement view will automatically be shown in the activity view showing the same hierarchical structure of the activities as the product flow view Sub activities are included in the product flow refinement graph of their container activity The graph will automatically be named after the container activity To move any activity within the hierarchical structure of the tree may result in a change of the corresponding product flow graphs i e activities moved will be excluded trom the graph along with their links to
34. Display on displayed through coloring affected model elements red e Correct Violations of the consistency rule are automatically detected and corrected You will eventually Interrupt on be informed about a new inconsistency and the upcoming correction through a dialog then Something to remember There are some rules which can t be automatically corrected at the moment In these cases SPEARMINT behaves as the Prevent option e Prevent Operations which would lead to violations of the consistency rule are disabled These operations are listed in menus and the like further on but they appear gray and cannot be selected Rationales for disabled operations are available as tool tips So if an operation appears gray in a menu move the mouse over it and read the tool tip that appears to understand why Some consistency rules must not be violated on principle In this case only the options Correct and Prevent are available Interruptions through dialogs and displaying of inconsistencies through coloring affected model elements red can be switched off globally in the dialog Consistency assurance The determinations made here are ineffective then 6 2 2 Checking the Consistency of a Process Model A consistency check can be performed on an entire process model invoked from the process model popup menu in the database explorer After checking a window is displayed that shows the result of the consistency check Figure 6 5
35. EARMINT will automatically convert the DocBook XML file to a PDF file 3 10 3 Generating a Customized Process Guide SPEARMINT provides the user with several templates which can be used in order to generate documents with different layouts and structure from the default template Printable process documentation option 48 Copyright Fraunhofer IESE 2003 First Steps e To generate a Process Guide based on specific templates right click on the process model Do it Process for the context menu to pop up e Choose the option Other e Select the file Standard epg tpl and click read template faq Select a Template ee ee x Look in CA templates id l el f oO E runtime 4 dochook tpl File name standard epg tpl Read Template Files of type SPEARMINT Template TPL x Cancel Fig 3 49 Template selection e Select a generated document directory e Hit the Select directory button on the bottom right e To load the printed process documentation open the explorer and go to the folder you have previously selected e Open the Tile index html generated 3 10 4 Generating a SPEARMINT 5 Electronic Process Guide e To generate a SPEARMINT 5 EPG right click on the process model Do it Process for the context menu to pop up e In the upcoming dialog Generate EPG choose an existing folder with a single mouse click e Hit the Generate EPG button on the bottom
36. EPG Copyright Fraunhofer IESE 2003 45 First Steps SPEARMINT 7 0 File Window Tools Help et ab IESE Process Repository spm Q yr Embedded Software Developme E Acti C At Plugins _ old LF Too Check Consistency E Proq Extract View 3 Import 28 Rol Export XSL Transformation DocBook XML Copy Mark Other Paste E SPEARMINT 5 EPG a Properties Attribute Profiles EPIESEProcess Rej_ neonsistencies pii p O IESE Process Re EPIESEProcess Rej_ neonsistencies pii p O Figure 3 44 Generate EPG option on the context menu 3 10 1 Generating an Electronic Process Guide SPEARMINT s Electronic Process Guide creates an HTML set which helps the user to navigate through the information contained in the guide e To generate an EGP right click on the process model Do it Process for the context menu to pop up e Choose the option Electronic Process Guide e n the upcoming dialog Select Generated Document Directory choose an existing folder with a single mouse click and hit the Select directory button on the bottom right fe Select Generated Document Directory a x Look in output y E EI Output O T e E Sm File name epg Select Directory Files of type All Files v Cancel Figure 3 45 The Generate EPG dialog e The next upcoming dialog Deleted Files shows a warning about the Tiles which
37. Figure 3 22 The completed product flow graph 3 4 2 Modeling a Product Flow Refinement Graph To create a refined view of any specific activity e Go to the product flow view e Right click that activity for the context menu to pop up e Choose the option New Product Flow Refinement Here the activity Create System Requirements is going to be refined 30 Copyright Fraunhofer IESE 2003 First Steps General View rt Create System Components Create System Design Cy Initiate P gt Integrate validate OY Mark Paste Copy Paste Object Rename Properties Inconsistencies Figure 3 23 Creating a new product flow refinement The refinement graph of the activity will automatically be named after the activity Open the still empty graph with a double click Activate the Add Activity button on the vertical tool bar of the graph to add new activities by clicking once on the graph for each new activity to be added E e The new activities will automatically be shown in the hierarchical structure of the product flows view as subactivities Do it Process Create System Requirements E General View pea ee Create System Components iach Create System Design c Q Create System Requirements reate Developer Requirements O Create Customer Requirements Create Create Developer Requirements Traceability Matrix Create Test Cases Create Traceability Ma
38. MINT s graphical user interface General User Interface Structure The picture below shows the user interface of SPEARMINT On top of the window are a menu bar and a toolbar On the bottom is the status bar SPEARMINT 6 0 a zoj File Window Tools Help BiH ap gt Tutorialinc sam f 0 do it Process Role location 7 Embedded Software Deve i 1 SSE amp Do itProcess Bea 2 o 8 fioo E Activities E Artifacts E Roles Menu ye Sa Toolbar Database Explorer E Control Flows 29 Role Allocation HB Rolle allocation 3 p Rolle Allocation 2 r Create System Requirements Requirements Documentation Overview Area AEREI TREERE POOR usm gt t Q Y i 2 g ie o 3 g a o Z Create System Componer a Create System Design i Q Create System Requireme A Create System Require Initiate Project i y Integrate System g g Wo rki n g Validate System i e System Designer Area Status Bar all wom E Tetoriatine spm Ready Ep a lt i i _ _ 4 as Sa Figure 4 4 1 Screenshot SPEARMINT User Interface Copyright Fraunhofer IESE 2003 The middle section of the user interface contains the database explorer the overview view area and the working area In the database explorer on the upper left side the user can navigate throu
39. PEARMINT s look and feel e Help Menu The help menu opens the online documentation and provides a form to report bugs The About SPEARMINT information can be obtained here also To report bugs in SPEARMINT e Choose the option Report Problem e Fill the form and click Submit D95 User Interface Fig 4 6 4 3 1 2 Toolbar 56 SPEARMINT EPG software Process Elicitation Analysis Review and Measurement in an Integrated Modeling Environment SPEARMINT i a registered trademark b Fraunhoter Institute Experimental Software Engineering IESE REPORT A PROBLEM OR REQUEST A CHANGE Flease see the field descriptions you are not sure how fo fill out this form Organization unknown Originator email address po Os sw Severity non critical OOO T Priority low z Release SPEARMINT 6 0 Synopsis of the problem or issue al om 4 Report Problem The toolbar contains the following buttons BAC These buttons manipulate the database The two left buttons create a new database or open an existing database They are only active if no database is open To close a database use the file menu entry close OAE The save button on the right is only active if a database is open Then the new and open database buttons are disabled Copyright Fraunhofer IESE 2003 User Interface With these buttons you import process model data into the abl open database or you ex
40. SPEARMINT 7 User Manual Fraunhofer Institut Experimentelles Software Engineering Authors Ulrike Becker Kornstaedt Fabio Bella Jurgen Munch Holger Neu Alexis Ocampo J rg Zettel IESE Report No 072 02 E Version 1 1 January 2003 A publication by Fraunhofer IESE Fraunhofer IESE is an institute of the Fraunhofer Gesellschaft The institute transfers innovative software development techniques methods and tools into industrial practice assists companies in building software competencies customized to their needs and helps them to establish a competetive market position Fraunhofer IESE is directed by Prof Dr Dieter Rombach Sauerwiesen 6 D 67661 Kaiserslautern Germany Abstract SPEARMINT is a process modeling tool that supports the efficient capture and documentation of software development processes as well as the maintenance and analysis of the resulting software process models It supports graphical representations of process models contains tailorable concepts for the definition and maintenance of role oriented and personalized views and provides interactive direct manipulative and hypermedia integrated user interfaces SPEARMINT integrates closely with a generator that can generate web based handbooks as well as page based handbooks of the process This user manual explains how to use the SPEARMINT tool to create software process models and generate Electronic Process Guides EPGs A
41. When you move something all of the structure beneath that element moves with it e The relationship with the parent is deleted e The hierarchy under the entity moves with it 5 2 Views 5 2 1 Activity View Create System Components Create System Design Q Create System Requirements Create Customer Requirements Create Developer Requirements Create Test Cases Create Traceability Matrix D verify System Requirements Initiate Project Integrate System Validate System Figure 5 4 The Activities View 5 2 2 Artifact View Developement Guidelines Domain Knowledge Reference Knowledge 2 System Enviroment Executable Component Executable System Name Conventions D Requirements Documentation Customer Requirements Developer Requirements Requirements Specification Traceability Matrix Requirements Validation Docurnent Verification Document Software System Documentation SW Component Documentation Figure 5 5 The Artifacts View 70 The activity view displays activities only in a hierarchical list It shows all activities that are defined in the process model They are displayed in alphabetical order and the sub activities are displayed as sub nodes of the tree The tree can be expanded and collapsed All activities that are created in this view will automatically be shown in the hierarchical structure of the product flows view and the control flows view The artifact view display
42. assumption sim x y greater then the SC parameter Threshold into a positive fact if xe c a and ye m b or xe m a and ye c b or xE p a and ye m b or xe m a and ye p b Note that these artifacts are accessed by the activities aand bina Similar way 3 If there are neither facts concerning artifact x nor facts concerning artifact y convert each similarity assumption sim x y greater then the SC parameter Threshold into a positive fact if xe c a and ye p b or xe p a and ye c b Note that these artifacts are accessed by the activities a and b in a different way The product flow heuristic PAF computes the similarity between two activities resting upon the PdAgg similarity measure of their artifacts Like the PdS heuristic the PdF transtorms similarity assumptions in the sub matching table T5c a p lt J Concerning the artifacts accessed by the activities a and b into positive facts and applies the SC heuristic to compute the similarity values It works with the following strategy 1 Convert each similarity assumption greater then the SC parameter Threshold into a positive fact 2 PdF a b max PdF a b PAF 2 a b PdF 3 a b where PdF a b w SC c a c b Wim SCCm a m b Wp SCP p b PdF 2 a b w SC c a m b Wn SC m a c b Ww SC p a m b wn SC m a p b PdF 3 a b w SC c a p b w SC p a c b where w x y Amount in the PdF heuristic family
43. atabaseDesign renin _ es w DatabaseDesign noname 2 Testing Tutorialinc spm faa eae Fig 5 3 Paste Copy When you copy more than one entity all relationships between these entities are also copied even if they are not visible in the view Subsequently all this information is pasted into the model on a paste action e Paste Object makes a new independent copy of the entity thus a new entity is created e Do not confuse this with include which is the same entity made visible Paste Copy works on the model and not on the view e When you copy an entity you get not only the entity but all of its context as well including attributes and relationships it has to other entities It is important not to get confused because the Paste Object does only add references to additional views whereas Paste Copy creates new Instances of process elements and adds them to the process model 5 1 5 Tree Structure Modification For moving entities use Copy Mark to write the entity in the clipboard With Paste Object the entity is moved to the new location When you move elements around in a hierarchy either the activity or artifact containment hierarchies or the activity refinement structure the previous Copyright Fraunhofer IESE 2003 75 Modelling with Views relationship the element had with its parent element is deleted This is to ensure that the consistency rules are not violated
44. ating that the tool is used in the activity Delete the usage relation by clicking in the table cell again The cell becomes unchecked indicating that the tool is not used in the activity Copyright Fraunhofer IESE 2003 2 9 First Steps e Create meaningful usage relations between tools and activities as you like 3 8 Working with a User Defined Graphical View The graphical view is a user defined view and thus the user can determine what the view is going to show e To create a new user defined graphical view use the process model popup menu in the database explorer and choose the option New View and Process e Name the new view Role Allocation 1 SPEARMINT 7 0 _jolx File Window Tools Help isla el h IESE Process Repository spm AF Embedded Software Developme g EJA Plugins g Check Consistency Smf Extract View E d Minimize i Export Generate gt i e Copy Mark Paste Copy Rename Properties Attribute Profiles gt G IESE Process CoN sistencies Figure 3 35 Process model popup menu e Open the activities view and the new user defined graphical view Z e Select the activities Create System Requirements and Create System Design e Include them into the new view by using the Include selected button on the horizontal tool bar AO Copyright Fraunhofer IESE 2003 Figure 3 36 ca
45. ce versa If a ControlFlowGraph imports a Precedes link it must import the corresponding States as well A ControlFlowGraph must import all Precedes links between imported States 93 Consistency Assurance 94 R36 R37 R38 R39 R40 R41 R42 R43 R44 R45 R46 R47 R48 R49 R50 R51 R52 An Activity is refined by at most one ControlFlowGraph A ControlFlowGraph refines at most one Activity built in There must be exactly one root ControlFlowGraph A root ControlFlowGraph does not refine an Activity A root ControlFlowGraph imports exactly one Activity A root ControlFlowGraph imports only root Activities If a ControlFlowGraph refines an Activity it imports exactly the element Activities of the refined Activity If a ControlFlowGraph imports a State and the State succeeds or precedes a JoinSplitStateState the ControlFlowGraph imports the JoinSplitState as well An Activity must be imported by exactly one ControlFlowGraph A JoinSplitState must be imported by exactly one ControlFlowGraph An Activity must precede and succeed at most one State If a JoinSplitState succeeds at most one State its join must be nil if it succeeds more than one State its join must not be nil If a JoinSplitState precedes at most one State its split must be nil if it precedes more than one State its split must not be nil A Precedes link may only have a non empty guard if the predecessor is a
46. cenario If an Artifact is modified by an Activity and one of its element Artifacts is imported by a ProductFlowGraph refining that Activity the element Artifact must be moditied by at least one Activity that Is imported by the ProductFlowGraph Example scenario imports Activity i a If an Artifact is consumed by an Activity and is imported by a ProductFlowGraph refining that Activity the Artifact must be consumed by at least one Activity that is imported by the ProductFlowGraph Copyright Fraunhofer IESE 2003 R29 R30 R31 R32 R33 R34 R35 Copyright Fraunhofer IESE 2003 Consistency Assurance Example scenario ProductFlowGraph COMPUTES imports If an Artifact is consumed by an Activity and one of its element Artifacts is imported by a ProductFlowGraph refining that Activity the element Artifact must be consumed by at least one Activity that Is imported by the ProductFlowGraph Example scenario ProductFlowGraph imports COSTES imports A non root Activity may only produce an Artifact if the Artifact or its container Artifact is produced by the container Activity Example scenario Activity produces ana An Activity must be imported by exactly one ProductFlowGraph An Artifact must be imported by at least one ProductFlowGraph If a ProductFlowGraph imports an Artifact that is produced by an Activity the ProductFlowGraph must also import the Activity and vi
47. cription as Set of attributes for the model Modify the attribute profiles for the Tutorial set by clicking the modify button e Click on the button attributes to add or modify predefined attributes 1 SPEARMINT 7 0 _ O x File Window Tools Help et ab X 4 Embedded New Project Q Do itP Plugins P E7 Acti Artif Import E Role Export E Ui XSL Transformation Aco Ro properties L Reg Properties ES Set attribute profiles e Click on the button attributes to add or modify predefined attributes e Click on the button new to add the predefined attribute e Set the following fields in the window New default attribute o Name Enter Description o Implicit feature of Select any entity which means that roles tools activities and artifacts will have at least a description Copyright Fraunhofer IESE 2003 21 First Steps o Type Select Unformatted text and enter Short explanation of the entity Unformatted text means that the value of the attribute will be edited as normal text Other ways to edit values are Formatted Text HTML editor Changes Special table which introduces the version values of the attribute and Choice Option list with specific values o Description Enter Short explanation of the entity Attribute Profiles Attribute Profiles escription Name 5 Set of attributes for the model Tutorial Description Set o
48. dditionally it Sketches the underlying concepts Keywords Software Process Model Process Documentation Process Definition Software Process Views Process Engineering Process Modeling Tool Process Improvement SPEARMINT Electronic Process Guide Process Handbook Copyright Fraunhofer IESE 2003 Table of Contents N _ gt _ W N gt Introduction Scope of Tool and Document Structure of Document Literature Basic Concepts SPEARMINT Process Model Structure SPEARMINT Entities SPEARMINT Attributes SPEARMINT View Concept First Steps Building a New Model Creating a New Database Creating a New Project Creating a New Process Model Setting Up the Project Attribute Profiles Adding Basic Entities Adding Activities Adding Artifacts Adding Roles and Tools Working with a Product Flow View Modeling a Product Flow Graph Modeling a Product Flow Refinement Graph Working with a Control Flow View Modeling a Control Flow Graph Modeling a Control Flow Refinement Graph Working with a Role Involvement View Working with a Resource Usage View Working with a User Defined Graphical View Modifying Entities in the Properties View Generating Process Guides Generating an Electronic Process Guide Generating Printable Process Documentation Generating a Customized Process Guide Generating a SPEARMINT 5 Electronic Process Guide Transforming an XML File with XSLT User Interface General User
49. e System gt Validate System Rename Properties Copy Mark Paste Copy Inconsistencies P Tutorialinc spm Fig 5 9 Show New activity options On the left upper corner of the toolbar is a notice on which activity is the parent activity of that product flow graph If this view contains a top level graph the notice No parent will indicate this Copyright Fraunhofer IESE 2003 79 Modelling with Views ow o Initiate Project Pa _ aa H iz Domain ii a ao Knowledge Create System Requirements Caii T a Requirements Documentation Name Conventions Figure 5 10 A product flow graph 5 2 6 Control Flow View E 0o it Process OMral Flows uu on D General Control Flow Graph Oy Create System Components Cy Create System Design D ra Create System Requirements 6 Create System Requirements y Create Customer Requirements er re Create Developer Requirements h Create Test Cases Create Traceability Matrix re Verity System Requirements Initiate Project gt Integrate System Validate System Figure 5 11 The Control Flow Refinement View and the product flow refinement view 5 2 7 Control Flow Graphs a ce i ses cs ns cs me a All activities and control flow graphs are contained in the hierarchical structure of the control flow refinement view It shows activities and control flow graphs and the refinemen
50. e of a specific window that window is raised Tools Menu XSL Transformation changes an XML document based on a fixed DTD into another customized XML document through the use of a XSLT template This option is for users with knowledge of SPEARMINT s DTD and XSLT W3C DocBook XML to PDF transforms a DocBook XML file into a PDF file The option Consistency Assurance opens a dialog where the user can adjust the behavior of SPEARMINT s consistency management This window contains very specific information and should be reviewed carefully The details are written in the chapter SPEARMINT Consistency Rules The menu item Options opens a dialog to customize the look and feel of the user interface and your HTTP proxy settings Correct HTTP proxy settings are required for online problem reporting to work properly To change the look and feel of SPEARMINT s interface e Choose the option Options e Select the look and feel and the preferred language English or German e Click Ok To change the HTTP proxy settings e Choose the option Options e Click on Proxy and enter the proxy host and port information e Click Ok Copyright Fraunhofer IESE 2003 Fig 4 5 Copyright Fraunhofer IESE 2003 User Interface 1 SPEARMINT Options Ei General pea gt mort Preferred Language Eon v HTTP Proxy v Proxy Host proxyhosi Port s0 ears een S
51. e selected includes all selected objects to the hypertext view 2 Exclude selected excludes all selected objects from the hypertext view Include neighbors includes all objects that have an association with the selected object Include all includes the whole process model The button with the stop sign stops the server and is replaced by a button to start the server again When the server is stopped the partner is disconnected The server must be started again in order to present the process model to the partner Every time the server is started in a different location therefore the partner must be warned about the new location On the right side there is a red plug with a number which indicates how many browsers are connected to the server The options button switches the status window of the server to list with six display options The user can select which details the participating person could see in the browser The following display options can be selected e Show description e Show attributes e Show product flow Copyright Fraunhofer IESE 2003 Modelling with Views e Show decomposition e Relations from to resources e Relations from to roles By clicking on the microphone symbol in the upper frame the partner can submit a message from the browser to SPEARMINT This message appears in the status area of the Hypertext View This is an example of a generated view in a browser Spearmint Web based G
52. ed in the graph which is also reflected by the hierarchy in the product flow view e Double click the product flow graph General View to open it The activities can easily be positioned by dragging them with the mouse fm A i w Initiate Project Create System Requirements Validate System Create System Design Integrate System Create System Components 4 Figure 3 18 Activities in a product flow graph Copyright Fraunhofer IESE 2003 21 First Steps Fig 3 19 Figure 3 20 28 Something to remember If you have selected Paste Copy instead of Paste Object then you have created a copy of the objects If you want to delete these copies from the model open the activities view select them and delete them rih Create System component m n Hn gt Create System Design rib Create System Requirements F EATE ow S E Do you really want to delete 6 objects z Yesi no Duplicated activities e Copy Mark the artifacts in the artifacts view e Include them with Paste Object into the graph romeo B fone PAA Ee IS wl hr Initiate Project Copy Mark Paste Copy Create System Requirements Select all Select all Nodes Create System 4 Toggle Grid Design Snap Nodes Snap amp Grid AlignmentDistribution Components Inconsistencies d New Sub Artifact Paste Copy Paste Object oae Rename G2 EE Ee G2 Ge Ee
53. eports Installation Measurement Instructions Figure 5 15 A user defined graphical view The buttons for including are one way to populate the view with existing activities artifacts roles and tools You can also use the popup menu in the background to include entities with Paste Object With Paste Copy the content of the clipboard is included as a copy in the view and the model That means you created a new entity with the same name and attributes in the model and the view The newly created entity appears in the hierarchical view at the root level according to the type of the entity Activities also appear in the refinement view there they can be moved to the appropriate position in the refinement structure 5 2 11 Hypertext View The purpose of the hypertext view is to show and discuss a process model with a remote partner This partner can view the model in a browser ie Netscape or Internet Explorer Copyright Fraunhofer IESE 2003 83 Modelling with Views Figure 5 16 84 EE LIPE PE Hypertex HEEE Dont Starting Server HTTP service started Please load the following URL in your web browser Atte 1 2001 83 Sindex html _ show global selection The Hypertext view The user can decide which part of the process model the partner sees This can be done using the four buttons on the toolbar of the Aypertext view which include or exclude specific entities of the process model 2 Includ
54. eps it 30 M it Processi Lie Create i i Requirements wt Requirements Specification a _ E Customer Requirements E oan Te Reference Create Developer Knowledges Requirements Create a a i r a z a Conventions Tat cabil Matrix p W aceabilttiy F Matri NN Verify System Fl Verification Document Validation Document Figure 3 27 Product flow refinement graph of the activity Create System Requirements 3 5 Working with a Control Flow View The control flow view hierarchically lists the control flow graphs The control flow graphs model the control flow among activities 3 5 1 Modeling a Control Flow Graph Opening the control flow view by double clicking Control Flows in the database explorer you will find that all activities have automatically been included in this view To create a general control flow graph e Use the background popup menu of the control flow view choose the option New Control Flow Graph 34 Copyright Fraunhofer IESE 2003 First Steps e Name it General Control Flow Graph Create System Components Create System Design O Create System Require Initiate Project Integrate System Copy Mark Validate System d Y Paste Copy Paste Object Figure 3 28 Background popup menu of the control flow view e To include the activities into the graph use the option Mark Copy on the context menu of the
55. er the EPG will display empty attribute possible values are true or false lt Property key epg showGenerationDate gt true lt Property gt Determines whether the date when the EPG has been generated shall be displayed possible values are true or false lt Property key epg showProjectName gt true lt Property gt Determines whether the name of the project is to be displayed possible values are true or false Copyright Fraunhofer IESE 2003 Electronic Process Guide EPG Generation lt Property key epg background gt white lt Property gt Determines the background color of the EPG in the browser window lt Property key epg artifactsldentifier gt Artifacts lt Property gt A given entity is identified within a certain heading All artifacts could be documents for example In order for them to be labeled as such in the EPG the configuration would have to be changed as follows lt Property key epg artifactsidentitier gt Documents lt Property gt 8 2 2 Generating aSPEARMINT 5 EPG Choose the menu item Generate EPG in the popup menu of a process model A file choose dialog opens where the root folder for the EPG has to be selected Select the folder but do not enter it otherwise the generator will not Start f Select Generated Document Directory Look in EA Tutorianne al a i Database ERE Images Mew Folder EI KML File name EPG Select Directory Fil
56. erate a printable process documentation using an open source standard DTD for books called DocBook Its main structures correspond to the general notion of what constitutes a book For more information on this template please refer to www docbook org To generate Printable process documentation select the option and SPEARMINT will generate automatically the document e Other This option allows the use of SPEARMINT templates which present the documentation of the process in different ways The templates are detined using an XLM based standard The user can also generate its own templates The steps to generate the templates and the reference for the XML notation to use are best described in the Guidelines to the generation of customizable process guides in SPEARMINT e SPEARMINT 5 EPG This option allows to generate an HTML based electronic process guide using SPEARMINT 5 0 s generator For a detailed description please see chapter 7 e Copy Mark makes a copy of the process model Copyright Fraunhofer IESE 2003 59 User Interface 4 5 4 5 1 60 e Paste Copy inserts the process model on the clipboard into this process model e Attribute Profiles activates the attributes which have been defined previously for the project Popup Menus of the Predefined Views Each predefined view see section 2 4 in the process model has a general background popup menu as well as a specific
57. es of type All Files od Cancel Fig 8 3 Generate an EPG In the next file choose dialog the configuration file for the EPG can be selected If no file is selected the generator takes the default configuration file see Fig 7 2 Copyright Fraunhofer IESE 2003 117 Electronic Process Guide EPG Generation For defining an individual configuration file copy the default file DetaultConfiguration xml and change it to suit your own needs as described in section 7 1 Now generation will start The status of the generation is shown in the status bar 8 2 3 Open a SPEARMINT 5 EPG To open the EPG load the file Index html in the folder EPG into your web browser The EPG uses java applets and is optimized for the Netscape Navigator 8 3 Structure of the EPG The HTML based EPG s divides the browser window into three frames the two left frames are for navigation and the right frame is for displaying information on the process The top frame of the two left frames displays a tree with all entities of the process activities artifacts roles and tools The lower left frame contains a dynamic table of contents which changes according to the selection made in the upper frame Se a a a A a Back komad Hadad Home seach Nelscane Prk Secunty Shop foo a i w Bookmarks amp Location file Cl Speamint T utaialnc EPGifindex hl 8 What s Relate QS instant Message Sl Members Ml WebMail E
58. f attributes for the model New Modify Delete Okay Cancel Attributes Ghose Export Import New Default Attribute E xj Default Attributes ee xj anyEntiy gt Default Attributes escription Name Description Type Unformatted Text v Vawes Description Short explanation of the entity New Modi Delete Fig 3 8 Step by step default attribute creation e Select from the pop up menu of the process model the option attribute profiles e Check Tutorial and activate the definition you have just set 22 Copyright Fraunhofer IESE 2003 First Steps OoitProc P Activiti CJ Artifac Plugins F Roles check Consistency P Tools Fj Produ Extract View FJ Contry Minimize Generate tee TTANSTOTITI E TEN Paste Copy Rename Properties C Inconsistencies Fig 3 9 Activate the attribute profile 3 3 Adding Basic Entities There is a specific view for each of the four SPEARMINT entities New entities can be added in these views There are other ways of adding new entities in the flow views user detined graphical views and graphs 3 3 1 Adding Activities e Open the activities view window by double clicking Activities in the database explorer e Now click with the right mouse button anywhere in this window and the background context menu will pop up e Choose the option New Activ
59. face e Distribute Horizontal Vertical Distributes all selected nodes horizontally or vertically with the default distribution strategy 4 6 2 Background Popup Menu only for Graphical View Product Flow Graph and Control Flow Graph User defined graphical views product flow graphs and control flow graphs have similar popup menus that can be invoked from the background e Refine Product Flows only product flow graphs allows to include Copy Mark consumed and produced artifacts or the aste Copy Sub artifacts see 5 2 5 for details e Copy Mark Paste Copy and Paste Object have the standard function Select all e Exclude removes the selected entities Select all Nodes from the graph but does not delete them from the model EIST OU e Delete deletes all selected elements Snap amp Grid from the model These elements are Alignment Distribution irrecoverable e Select all selects all objects in the view e Select all Nodes selects all nodes in Figure 4 16 Popup menu of the product flow view the view e Toggle Grid toggles the grid on off If the grid is on the checkbox it is marked e Snap Nodes toggles the snapping of the nodes on off If the snapping is on the checkbox it is marked e Snap amp Grid opens the dialog for customizing the snap style the grid for snapping and the visible grid see 4 6 4 e Alignment Distribution opens the dialog for vertical horizontal alignment and di
60. false will open every inquiry in the same window of the web browser lt Property key epg graphicalViews gt true lt Property gt 115 Electronic Process Guide EPG Generation 116 Determines whether the EPG will include graphical views possible values are therefore true or false lt Property key epg thumbnaillmgWidth gt 100 lt Property gt Determines the width of the thumbnail image for the graphical views lt Property key epg feedbackAddress gt epg iese fhg de lt Property gt Gives the email feedback address to be displayed in the EPG lt lt Property key epg artifactAttributes gt status lt Property gt gt lt l gt this line is deactivated in the configuration to activate the line delete the outer brackets Determines which attributes are to be displayed in the EPG The attributes have to be named explicitly case sensitive and if there are more than one attribute they have to be divided by three symbols i e lt Property key epg artifactAttributes gt status size lt Property gt lf the property is deactivated all attributes will be displayed in the EPG lt Property key epg language gt en lt Property gt Determines the language of the EPG to change It to German the following change has to be made lt Property key epg language gt de lt Property gt lt Property key epg ignoreEmptyAttributes gt true lt Property gt Determines wheth
61. fer IESE 2003 a7 First Steps Create Customer Create Developer Requirements Requirements Create Test Create Traceability Cases Matrix Verify Systems Requirements Fig 3 33 Control flow graph with split and join states The Set join option represents a state which is preceded by more than one activity Here the control flow unifies itself into one branch The AND option states that the activity Verity Systems Requirements can be executed if and only if the activities Create Test Cases and Create Traceability Matrix were executed The following are the meanings for the AND OR XOR and NIL options e AND It means that at least two activities have to be performed before or after the new state e OR It means that any activity of at least two activities could be performed before or after the new state e XOR It means that exactly one out of a group of several activities could be performed before or after the new state e NIL It means that no activity is involved 3 6 Working with a Role Involvement View The role involvement view lists the roles and their involvement in activities in tabular form e Open the role involvement view by double clicking Role Involvement in the database explorer e Notice that roles are listed on the left side whereas activities are listed at the top 38 Copyright Fraunhofer IESE 2003 First Steps Role names and activity names appear abbreviated M
62. fined graphical view e Tools or tools view user defined graphical view 2 3 SPEARMINT Attributes The characteristics of SPEARMINT entities can be described using attributes e g duration of a design activity number of defects of a code document experience level of a tester SPEARMINT provides default attributes as shown in Fig 2 2 Default Attributes Default Attributes escription ExitCriteria Describes what needs to be accomplished before the activity can be considered to be completed Description Figure 2 2 Default attributes 1 4 Copyright Fraunhofer IESE 2003 Basic Concepts The importance of the default attributes is their generality The attributes defined here will be attached automatically to each entity created afterwards An individual definition of your own attributes is allowed by SPEARMINT Each attribute has a name a description a value and a content type Attributes are displayed in the properties view of the model ae Properties View specity_requirements Bee oe5 o A ee General Attributes Description Hame enot Description Type Unformatted Text Fig 2 3 Attributes defined by the user 2 4 SPEARMINT View Concept SPEARMINT provides different view types for accessing and editing the information in your process model Views usually show only a part of the whole process model They ensure that you see only the information you need for
63. formation about a specific entity e g defining attributes see Fig 2 3 In either case the information in any view is always consistent with the information in the process model If some information is changed in one view e g changing a name deleting an activity the change is immediately reflected in all views that show this element Copyright Fraunhofer IESE 2003 17 First Steps 3 3 1 3 1 1 Figure 3 1 Figure 3 2 18 First Steps Building a New Model In this section an example process model will be created from scratch The example can be used as an introductory tutorial Guidance on how to model a process with the different predefined and user defined views will be given Creating a New Database e SPEARMINT will automatically load the database that was opened last when started e Close this database with the main file menu by choosing the option Close SPEARMINT 7 0 Eim x Window Tools Help Strg N Strg O 1C Documents and Settings test spm 2 C SPEARMINT se2 spm 3 C SPEARMINT ipe spm 4 C Documents and Settings VvV Modell spm Closing a database e To create a new Tile use the main file menu by choosing the option New which will only be activated when no database is opened SPEARMINT 7 0 ojx Window Tools Help Import Export 1 C Documents and Settings test spm 2 C SPEARMINT ise2 spm 3 CASPEARMINT ipe spm 4 C
64. ge to a process element in some view causes a change in the process model and becomes immediately visible in any other view in which this process element is visible SPEARMINT offers predefined view types as well as views that can be detined by the user Multiple process models can be aggregated in a project and a set of projects can be stored in a SPEARMINT database having the extension spm SPEARMINT uses the following symbols e SPEARMINT file e Project o m e Process model Ll e View predefined view oo user defined graphical view View 1 1 1 Process Model 1 1 View 1 1 2 Project 1 View 1 2 1 Process Model 1 2 View 1 2 2 Database View 2 1 1 Process Model 2 1 View 2 1 2 View 2 2 1 Process Model 2 2 View 2 2 2 The structure of a SPEARMINT database Project 2 Fiqure 2 1 Spearmint database structure Copyright Fraunhofer IESE 2003 Basic Concepts 2 2 SPEARMINT Entities SPEARMINT uses a graphical notation to document processes For the notation icons were selected that are intuitively understandable SPEARMINT has the following four entity types Entity Icon View that can contain the entity e Activities activities view product flow refinement product flow graph control flow refinement control flow graph user defined graphical view e Artifacts artifacts view product flow graph user defined graphical view e Roles roles view user de
65. gh all views of a process and the different projects stored in a database The database explorer has a treelike structure with the database as root element By double clicking an element in the treelike structure of the database explorer the overview area displays its contents By right clicking on the element the contents are shown as a window in the working area The working area shows all the views that have been opened but it s only possible to work with one at a time 51 User Interface 4 2 View Manager Fig 4 2 In the database explorer all project models and views are shown as a tree The common root is the opened database The process models contain eight predefined views showing activities artifacts roles tools product flows control flows role involvement and resource usage g Customer Designer g Programmer g Requirements Engineer g System Integration Engineer Create System Component Create System Design re Create System Requirements Initiate Project Integrate System Development Guidelines E Domain Knowledge Executable Component Executable System Name Conventions Requirements Documentation Software System Documentation New Sub Artifact 0 Copy Mark Paste Copy New Sub Actnaty Copy Mark Paste Copy Paste Object Delete Copy Mark Paste Copy Delete Rename Properties Inconsistenc
66. gure the dialog Profile configuration appears Figure 6 4 With this dialog you can configure the represented consistency assurance profile by laying down for every single consistency rule how it should be reacted on violations of this rule Profile configuration E3 Profile Correct all tolerable inconsistencies Consistency rules Categories Consistency rules number of roots he name of an Attribute must be unique among the tributes of the same Element Ignore Automatic O Tolerate _ Interrupt Correct C Display Prevent Profile configuration dialog For clearness the consistency rules have been assigned to various categories Only the consistency rules that are assigned to the selected category are Copyright Fraunhofer IESE 2003 Consistency Assurance listed Name and description of the selected consistency rule are displayed For laying down the behaviour you have the following options e Ignore Violations of the consistency rule are ignored completely This does effectively switch off the rule e Tolerate Violations of the consistency rule are detected as inconsistencies but tolerated If you switch off automatic detection you will be informed about inconsistencies on explicit request only But you can also switch on automatic detection Then you will eventually Interrupt on be informed about new inconsistencies through dialogs In addition inconsistencies are eventually
67. he specific artifact with the right mouse button for the context menu to pop up and choose the option New Subartifact e Here the artifacts Domain Knowledge and Requirements Documentation have been substructured Copyright Fraunhofer IESE 2003 32 Figure 3 26 Copyright Fraunhofer IESE 2003 First Steps Sa eae i tte rye m yay 77 wn t Ororoce fiirinarte o b d mli Dno t Ornroece frintacte oo Ei J0 f FIOCeSss AMNACtS zu o e En 0 1 Mrocess SnWacis Boe nuu i KALI eee rice iS iea E Developement Guidelines Domain Knowledge Reference Knowledge System Enviroment Executable Component Paste Copy Executable System Paste Object Name Conventions Requirements Documentation Customer Requirements Developer Reugirements Properties Requirements Specification Traceability Matrix Requirements Validation Document verification Document Software System Documentation Su Component Documentation Copy Mark Inconsistencies Creating Subartifacts Use the option Copy Mark in the context menu of the artifacts to mark the newly added subartifacts as well as the artifact Name Conventions Use the option Paste Object on the background popup menu of the target graph to include them into graph see Figure 3 16 Arrange the objects and link them using the toolbar and the mouse The product flow refinement of the activity Create System Requirements is shown below 33 First St
68. ht Fraunhofer IESE 2003 Consistency Assurance E Input Select a correction Delete activity DefectPrevDetectionRate produces artifact DefectsPevDetected product flow R50 Figure 6 7 Solution suggestions for solving the selected inconsistency Copyright Fraunhofer IESE 2003 99 Similarity Analysis 7 Similarity Analysis 7 1 Introduction SPEARMINT supports the Multi View Modeling MVM approach Essential elements of this approach are role specific modeling of the different development processes and the integration of these models views in a comprehensive model Different points of view as well as different levels of abstraction applied by different roles originate mostly inconsistencies between the modeled views which makes their integration difficult There are two kinds of inconsistencies between views Different real world objects are modeled identically Identical real world objects are modeled differently The main condition for discovering such inconsistencies is an effective similarity analysis applied to the entities modeled in the views Therefore a tool for analyzing similarity between views supports the process engineer in integrating role specific views in a comprehensive model 7 1 1 Usage Start the similarity analysis tool by clicking the right mouse button on a project and by selecting the menu item Similarity Analysis 1 00 Copyright Fraunhofer IESE 2003 Similari
69. ies gt Paste Object Rename Properties Inconsistencies gt Rename Properties inconsistencies gt 4 E General Control Flow Create System Component Create System Design re Create System Requirements He Create System Requirements Initiate Project d Initiate Project Integrate System m Val i ABC Flow General view Acrobat Create System Component P Excel Create System Design SAS Create System Requirements 4 Copy Mark Paste Copy Integrate System Ster New Control Flow Refinement Rename Copy Mark Copy Mark Properties Paste Copy Paste Copy Inconsistencies gt Paste Object Paste Object Delete Rename Rename Properties Properties Inconsistencies inconsistencies E Titarialinr enm Roarhe SPEARMINT s views Additionally user defined graphical views and hypertext views are registered here Each type of node in the tree database project process model and views has its own popup menu which can be opened by using the right mouse button 4 3 Working Area 52 The working area contains all views that are opened These views can be moved maximized minimized and closed The views also have their own popup menus The views can be fixed outside the working area in order to maintain the window visible This is done by double clicking the view to be fixed in the database explorer Co
70. ignment Top Node translate all other nodes to build a horizontal line with the topmost node Bottom Node translate all other nodes to build a horizontal line with the bottommost node Arithmetic Mean translate all nodes to build a horizontal line at the arithmetic mean of all selected nodes Geometric Mean translate all nodes to build a horizontal line at the geometric mean of all selected nodes 69 User Interface Figure 4 24 Figure 4 25 70 In the right area the user can select whether the center the top or bottom edge of the Icon is the reference point for the alignment This is necessary if the icons have different sizes E Alignment amp Distribution Vertical Alignment I Align ta Malign Anchor 2 Left Node Anchor at Left O Right Node S O Anchor at Right i Arithmetric Mean on cancei _ Vertical Alignment Tab The Vertical Alignment tab Figure 4 2 works like the Horizontal Alignment tab E Alignment amp Distribution ertcalAignment Distribute Horizontal istribute Distribution Style between right and leftmost l Ej equal distance between centers O inside window width l equal space between borders C inside drawing boundaries om J conei Distribute Horizontal Tab In the Distribute Horizontal tab Figure 4 2 the user can select the strategy of how the selected nodes should be horizontally distributed In the
71. ity Copy Mark Paste Copy Paste Object Figure 3 10 Creating a new activity Copyright Fraunhofer IESE 2003 23 First Steps e A delayed double click allows to rename the activity e It is also possible to use the popup menu of the specific activity by right clicking with the mouse on the activity for the context menu of this item and choosing the option Rename e Create the following activities and note that they are automatically listed in alohabetical order Fil 2 L FIULBSS ACLIVILIES Fj j ab Create System Components Create System Design ib Create System Requirements gt Initiate Project Integrate System Validate System Figure 3 11 The activities view 3 3 2 Adding Artifacts Artifacts can be created in the same way e Open the artifacts view window by double clicking Artifacts in the view manager e Now click with the right mouse button anywhere in this window for the background context menu to pop up e Choose the option New Artifact Artifacts o ny x Development Guidelines a r Domain Knowledge Copy Mark Executable Component Executable System Mame Conventions Paste Object Requirements Documentation Sofware System Documentation Su Component Documentation Paste Copy Figure 3 12 Creating new artifacts e A delayed double click allows to rename the artifact Copyright Fraunhofer IESE 2003 24 First Steps e Again iti
72. ix Fig 3 40 Different level activities are shown in the same view The above Figure 3 31 shows an example of this situation The view contains activities and artifacts which don t belong to the same level The activities are from the main level and the artifacts belong to the activity Create Systems Requirements level 3 9 Modifying Entities in the Properties View The properties of an entity can be viewed in the properties view In order to view the properties for the artifact Requirements Documentation e Go to any view containing this artifact e g the artifacts view e Click on the entity with the right mouse button e Choose the option Properties trom the popup menu Copyright Fraunhofer IESE 2003 43 First Steps Developement Guidelines E Domain Knowledge Executable Component Executable System Name Conventions HAT New Sub Artifact Copy Mark Paste Copy Paste Object Inconsistencies F Figure 3 41 Properties option on the context menu e In the properties view there are two panels Choose the general tab and enter the description for the entity General Class Artifact ID 35 Name Requirements Documentation Description This document comprises a description of problems as well as a descprition ofthe customer s and designer s requirements The dacument includes a treaceability matrix by hich correlations within the system requirements are made explicit Furthermore the require
73. l Connections El Bizlounal E Smartlipdate El Mbktplace Activities Create System Component Create System Design Product Flow This activity consumes the following artifacts Development Guidelines Y Do it Process Activity Create System Component This activity modifies the following artifacts Executable Component SW Component Documentation mii Software System Documentation IESE o Activity Create System Component This activity does not produce any artifacts ee Subactivities Description Product Flow This activity has no subactivities Subactivities Involved Roles e Used Tools Involved Roles No roles are involved with this activity Send comments to ena iese fha de _ Copyright by Fraunhofer IESE Generated Mar I PNN TAR aR PAS i Document Done Kb BE kal a Fig 8 4 SPEARMINT 7 s EPG 1 1 g Copyright Fraunhofer IESE 2003 Plugins 9 Plugins Plugins are small programs that access the SPEARMINT database through a published API application programming interface Some plugins are provided with SPEARMINT others may be written by third parties 9 1 Calculate Basis Statistics The Calculate Basis Statistics plugin basically counts the elements of the object it is invoked on database project or process model Calculate Basic Statistics EJ Process model Do it Process contains
74. l flow can represent activities in parallel This is done using the join split states To link an activity to more than one other activity join split states have to be D used to add a join split state e Activate the JoinSplitState button on the vertical tool bar e Click once in the working area of the graph to include a new state 3 6 Copyright Fraunhofer IESE 2003 First Steps e To change the status of the joint split label right click the label and choose the option Set Split and then And e Change the diagram to look now as follows coo K Create Customer Create Developer Requirements irements Create Test Create Cases Traceability Matrix verify System Requirements Figure 3 32 Control flow refinement graph The Set split option represents a state which is succeeded by more than one activity The right half of the splitjoint symbol is used here to indicate that the control flow of the activity Create System Requirements is split To be more precise the control flow divides itself in two branches One goes to the activity Create Developer Requirements and the other to the activity Create Test Cases The AND option states that the activity Create Traceability Matrix can not be done before the previous Create Test Cases and Create Developer Requirements are executed e Set a join option and change the diagram to look now as follows Copyright Fraunho
75. la Er Q a IESE Process Repository spm o x Import Export Copy Mark Paste Copy Paste Object Rename Properties Pesosen Rey Figure 3 5 Creating a new process model e Enter the process model name Do it Process and hit the return key e The process model has now been created and by clicking on the node beside the model name the six predefined views can be seen in the database explorer SPEARMINT 7 0 File Window Tools Help 000000 et ab IESE Process Repository spm Q Embedded Software Developme amp Do itProcess E Activities E Artifacts F Roles E Tools Product Flows Control Flows E Role Involvement C Resource Usage TTR TTT TTT TOOT TTT TIT TTT T OTT TTT Figure 3 6 Structure of the SPEARMINT database 20 Copyright Fraunhofer IESE 2003 First Steps 3 2 Setting Up the Project Attribute Profiles The project IESE Process Repository could have several process models Each of these process models could have a fixed set of attributes which could be applied to all of its entities These attributes are set using the option attribute profiles as follows e Right click the IESE Process Repository node Select the attribute profiles option Click on new to create the set of attribute profiles which could be applied to one or several process models Name the attribute profiles as Tutorial and set its des
76. left area the user selects the range that should be used for the distribution Between right and leftmost uses the rightmost and leftmost nodes as the border those are not translated Inside window width uses the right and left border of the visible window Inside drawing boundaries uses the whole scrollable area of the view In the distribution style the user can decide if the nodes always have the same distance between their bounding rectangles or between the centers of the icons This is relevant if the icons of the nodes have different sizes Copyright Fraunhofer IESE 2003 Figure 4 26 Copyright Fraunhofer IESE 2003 User Interface E Alignment amp Distribution Distribute Vertical istribute istribution Style between top and bottommost __ oO equal distance between centers gt inside window width E U O equal space between borders gt inside drawing boundaries ov cones Distribute Vertical Tab The distribute vertical tab Figure 4 27 works like the distribute horizontal tab 71 Modelling with Views 5 5 1 5 1 1 72 Modelling with Views Process Model Edition Selection This section describes some manipulation functions that work on the entire process model across views The ways these functions work are implications of the view concept Any object can be selected by mouse click To select more than one object use the Control key in addition t
77. ments documentation contains documents for verification activities on the system requirements level and documents of validation activities Figure 3 42 Properties view general panel e Choose the attributes tab e Click Add to create a new attribute for this specific artifact e Click modify and specify name type and value 44 Copyright Fraunhofer IESE 2003 First Steps cecutable System Figure 3 43 Properties view attributes panel The properties window can be closed via the main menu bar To do this e Go to the Window menu and disable the check box Properties View or use the key Control D Something to remember Use the properties view for entering additional information about process entities you will later on display in your process handbooks such as tasks needed to perform an activity links to examples or templates for artifacts or required skills for roles This information appears in the process handbooks and EPGs generated from SPEARMINT process models 3 10 Generating Process Guides A process guide is a reference document for an intended process providing guidance to process participants in carrying it out SPEARMINT provides facilities to generate electronic and paper based Process Guides e Click on the process model e Choose the option Generate from the pop up menu e The following options are available Electronic Process Guide printable documentation other SPEARMINT 5
78. mize G Grid amp Snapping e OC e eed a Ba Customize Grid amp Snapping ie xi Fig 4 22 Snap and grid strategies example 68 Copyright Fraunhofer IESE 2003 User Interface The previous picture shows an example of a strategy The nodes in the view are Snapped to the center point of the snapping grid every 60 points The difference between nodes can be seen as tree squares in the visible grid 4 6 5 Align and Distribute Figure 4 23 Copyright Fraunhofer IESE 2003 This dialog combines two different actions each for vertical and horizontal orientation Thus the dialog contains four tabs align horizontal align vertical distribute horizontal and distribute vertical All these actions affect only the currently selected nodes if the OK button is pressed The alignment and distribution is effected if the snapping to the grid Is on If the snapping is on the nodes snap to the nearest point that is computed for the translation E Alignment amp Distribution x Vertical Alignment Distribute Horizontal Dist Horizontal Alignment Align tae Align Anchor _ Top Node i Anchor at Top gt Bottom Node p o O Anchor at Bottom O Arithmetric Mean Geometric Mean F Anchor at Center Horizontal Alignment Tab In the Horizontal Alignment tab Figure 4 2 the user can select the strategy of how the nodes should be aligned In the left area the user selects the strategy for the al
79. mputes the similarity between tools by a weighted average of the Name and the Attr Similarity measures RsAggTool a b w Name a b y Attr a b where w Tool Name Amount y Tool Attr Amount The process aggregation heuristic PcAgg is applied to activities PcAgg computes the similarity between activities by a weighted average of the Name and the Attr similarity measures PcAgg a b w Name a b y Attr a b where w Activity Name Amount y Activity Attr Amount Copyright Fraunhofer IESE 2003 Similarity Analysis The structure compatibleness heuristic SC is applied to lists of artifacts or activities related to the two activities to be analyzed and measures the capability to map the elements of one list into the elements of the other list Let sim a b be a similarity function between two list of artifacts or activities lL a a L b b and isFact sim a b a predicate true if sim a b is a fact Furthermore pe 0 1 2 p lt n is the number of elements from l with the following property There is at least one element be l with sim a b 1 0 and IsFact sim a b i e p a El ab E l sim a b 1 0 isFact sim a b Accordingly is q 0 1 2 p lt m the number of elements from J with sim a b 1 0 and isFact sim a b i e q be l Ja E l sim a b 1 0 isFact sim a b The function SC is defined as follows 2 mi SC L 1 _ 2 min p q n m Si
80. nce the SC heuristic works only with positive facts the parameter Threshold determines the minimal similarity value for an assumption to be considered a positive fact The product structure heuristic PAS computes the similarity between two activities resting upon the PdAgg similarity measure of their artifacts Given an activity a its artifact interface is defined as c a Um a U p a where ca is the set of artifacts consumed by a m a the set of modified artifacts and p a are the artifacts produced by a Therefore the artifact interface of a is the set of all artifacts accessed by a Let t 0 0 1 0 be a similarity threshold value and for activities a b Tsc the sub matching table of PAAgg concerning their artifact interfaces Tsc li J PdAgg x yj x c a Um a VU pla y c b o mb O pd The PdS similarity measure is computed by setting positive facts in Ty Li J and applying the SC heuristic to it The positive facts are automatically set with the following strategy 1 Convert each similarity assumption sim x y greater then the SC parameter Threshold into a positive fact if xe c a and ye c b or xe m a and ye mb or xe p a and ye p d Copyright Fraunhofer IESE 2003 109 Similarity Analysis 110 i e if the concerning artifacts are both consumed modified or produced 2 Ifthere are neither facts concerning artifact x nor facts concerning artifact y convert each similarity
81. ne ProductFlowGraph An Activity must consume modify or produce at least one Artifact An Artifact must be consumed modified or produced by at least one Activity An Artifact is produced by at most one root Activity An Artifact must not be both consumed and produced consumed and modified or modified and produced by the same Activity If an Artifact is produced by an Activity and is imported by a ProductFlowGraph refining that Activity the Artifact must be produced by exactly one Activity that is imported by the ProductFlowGraph Example scenario ProductFlowGraph Proce s imports Activity f Activity If an Artifact is produced by an Activity and one of its element Artifacts is imported by a ProductFlowGraph refining that Activity the element Artifact must be produced by exactly one Activity that is imported by the ProductFlowGraph 2 Thin lines and non italic fonts indicate the rules conditions whereas thick lines and italic fonts indicate the rules implications Copyright Fraunhofer IESE 2003 om Consistency Assurance 92 R26 Rey R28 Example scenario refines contains imports Activity If an Artifact is modified by an Activity and is imported by a ProductFlowGraph refining that Activity the Artifact must be modified by at least one Activity that is imported by the ProductFlowGraph Activity modifies ETE refines imports ProductFlowGraph modes Activity j Example s
82. node popup menu of the entity presented in a specific view The popup menus are almost alike and only differ in one or two menu items Background Popup Menu Figure 4 11 All hierarchical views have a background popup menu that is the same except for the first menu item e Copy Mark Paste Copy Paste Object and Delete are the Standard functions for process elements e Save Image stores an image of the Copy Mark view as a jpeg gif or cgm file Paste Copy facie Giant for documentation purposes oes e The option Paste Copy inserts a copy of entities into a view The feature can also be used across different process models Background popup menu of the activity view e The option Paste Object moves the entity on the clipboard to the specific location in the tree It is not present in the roles and tools views Depending on the view the user can add a new activity role artifact or tool using the first menu item eg New Activity New Artifact The product flow graph and the control flow graph are allowed to add activities to the model The product flow view and control flow view have a menu item for adding a new product flow refinement graph or a new control flow refinement graph Copyright Fraunhofer IESE 2003 User Interface 4 5 2 Node Popup Menu The popup menus for the nodes in the activities and artifacts view are the same except for the first menu item e The first menu item New Sub Activi
83. o the mouse click In graphical views the select button has to be activated in order to select objects Additionally a select frame can be drawn in graphical views by holding the left mouse button and dragging it across the objects that are to be selected Selection acts on the underlying process model and is not based on the view When you select something in a view It is selected in the model and its selection is propagated to all views where the entity is visible This means you can make selections in many views Copyright Fraunhofer IESE 2003 Modelling with Views SPEARMINT 6 0 File Window Tools Help ee oo tl he Tutorialine spm 4 Embedded Software Developme Do itProcess 4 E Activities E Artifacts Roles E Tools Product Flows E Control Flows D Role Allocation ff Rolle allocation D Rolle Allocation 2 TEEI SOR HN SS HSS I HO O 4 Requirements Engineer a a Create System Requirements Requirements Documentation n General View Create System Component Q Create System Requirements Create Customer Require Create Developer Require Create Test Cases Create Traceability Matrix Verify Systems Requireme Initiate Project Integrate System Validate System ad Customer g Create System Designer Design QG Name Conventions s s Ie
84. ogonal e Delete Edge deletes the edge from the graph 4 6 4 Grid and Snapping Figure 4 19 66 The graphical view has two grids e One that is only visible and has no further effect e One invisible that manages the snapping of the nodes The nodes can snap to the invisible grid with different strategies and with different anchor points The anchor points are shown below 2 S Boundina Rectanale Icon Name Position of the anchor points for snapping Depending on the strategy several or all anchor points are inactive Only for the Snap to Boarders strategy all anchor points are disabled because the bounding rectangle snaps to the horizontal and vertical gridlines Copyright Fraunhofer IESE 2003 User Interface If snapping is turned on all nodes stay in their original position If new nodes are added these are placed ignoring the grid They snap only if the user selects or drags one or several nodes Customize the snapping strategy E Customize Grid amp Snapping Snaping Adjustments Grid Adjustments raten rinchor Point _ Snap to Borders O Left Upper Corner gt Upper Center C Right Upper Corner Snap to Point C Left Center Center Right Center Snap to Horizontal Lines C Snap to Vertical Lines Left Bottom Corner lt Bottom Center Right Bottom Corner Default Values OK Cancel Figure 4 20 The Snapping Adjustments Tab In the Snapping Adjustments tab
85. on about process entities you will later on display in your process handbooks such as tasks needed to perform an activity links to examples or templates for artifacts or required skills for roles This information appears in the process handbooks generated from SPEARMINT process models Copyright Fraunhofer IESE 2003 87 7 Consistency Assurance 6 Consistency Assurance Process models should be complete and correct representations of reality This presupposes that they are internally consistent The interpretation of inconsistent models leads to ambiguities or contradictions Bringing about and preserving consistency of process models consequently is an important task when creating and maintaining models To ease this task for you consistency assurance has been partly automated in SPEARMINT The following sections first introduce the methodological prerequisites underlying consistency assurance in SPEARMINT namely the process metamodel and the consistency rules Then SPEARMINT s functions for automated consistency assurance are described 6 1 Methodological Prerequisites The SPEARMINT tool is designed to support a method for descriptive modelling of software development processes which has been detined by Fraunhofer IESE This method defines the concepts and notations to be used for process models as well as the activities and steps to be taken for eliciting and capturing process information into such models
86. ortant not to confuse delete with simply excluding an element from showing in a view The delete operation will delete the element from the underlying process model and as a result it will no longer show in any view in which it was visible The exclude operation just removes the element from a particular view while it continues to exist in the process model 5 1 4 Copy Mark Paste Copy and Paste Object 74 The menu item Copy Mark does two things it copies the selected item s of the process to the clipboard and it also marks it them Now that the object s are buffered you can paste the element s in two ways with Paste Object or Paste Copy If you initiate a Paste Object action the element is included in the view where the command is executed For example if you mark some entities in a product flow refinement view and want to import them to a user defined graphical view you have to use Paste Object If you initiate a Paste Copy action the underlying model will be changed and changes may be seen in other views as a result of the creation of a new entity Copyright Fraunhofer IESE 2003 Modelling with Views SPEARMINT 6 0 Nie xj File Window Tools Help DSC elt l a amp Do it_Process2 E Activities E Artifacts f Roles E Tools E Product Flows EF Control Flows Coding Coding Coding Coding Designing E Designing Coding Coding Coding D
87. other objects 5 2 5 Product Flow Graphs The product flow graphs contain activities artifacts and the relationships between them The activity produces the artifact The activity consumes the artifact The activity modifies the artifact It is not possible to link two activities or to link two artifacts directly It the product flow refines an activity the user can include the consumed and produced artifacts of the parent activity The activities in a product flow graph can be decomposed to get a finer grained description of the activity 78 Copyright Fraunhofer IESE 2003 Modelling with Views To create a decomposition of an activity you can use the popup menu New Product Flow Refinement of the activity This creates a new product flow graph where artifacts and activities can be easily included via the background popup menu If a refinement exists for the selected activity the New Product Flow Refinement menu item is deactivated and the menu items Show and New Activity are activated instead Show opens the diagram for this activity and New Activity creates a new sub activity of the selected activity in the model General view i Create System Component gt Create System Design D i Create System Requirements E Create System Reg a i Create Custom gt Create Develop New Activity Cy Create Test Cas hy Create Traceab y noname dh Verify Systems Paste Object Initiate Project 4 Integrat
88. ove the mouse over a role to see the full role name in the tool tip Create a new involvement relation by clicking in a table cell The cell becomes checked indicating that the role is involved in the activity Delete the involvement relation by clicking in the table cell again The cell becomes unchecked indicating that the role is not involved in the activity Create meaningful involvement relations between roles and activities as you like Create Custome Create Develop Create System Create System Create System Create Te Create Tr Create Syster Initiate Project Integrate System validate System verify System R OOOO CODomain Expert OOOOOProgrammer NOOC OReguirements E OOOO citester OOOO Osystem Integrati UN UCIL Designer Oooo ooog n n i E 4 googie Ooo OOO Figure 3 34 Role involvement view 3 7 Working with a Resource Usage View The resource usage view lists the resources i e tools and their usage in activities in tabular form e Open the resource usage view by double clicking Resource Usage in the database explorer Notice that tools are listed on the left side whereas activities are listed at the top Tool names and activity names appear abbreviated Move the mouse over a tool to see the full tool name in the tool tip Create a new usage relation by clicking in a table cell The cell becomes checked indic
89. pens Y S Copyright Fraunhofer IESE 2003 1 07 Similarity Analysis 108 gt max sim x Y SUMX Y gt max sim x y o StM X Y j l o 1 1 max _______________ n m The similarity measure between single attributes sim x y is computed by a weighted average of the attribute name similarity the attribute value similarity and the attribute type similarity sim x y w Name x y y equal type type z equal value value where w Attribute Name Amount y Attribute Type Amount z Attribute Value Amount The product aggregation heuristic PdAgg can be applied only to artifacts Its results are represented in the artifact matching table PAAgg computes the similarity between artifacts by a weighted average of the Name Attr and ASt similarity measures PdAgg a b w Name a b y ASt a b z Attr a b where w Artifact Name Amount y Artifact ASt Amount z Artifact Attr Amount The role aggregation heuristic RsAggRole can be applied only to roles Its results are represented in the role matching table RsSAggRole computes the similarity between roles by a weighted average of the Name and the Attr similarity measures RsAggRole a b w Name a b y Attr a b where w Role Name Amount y Role Attr Amount The tool aggregation heuristic RSAggTool can be applied only to tools Its results are represented in the tool matching table RSAggTool co
90. port process model data from the open database With the Help button you activate the help system only E available in German 4 3 1 3 Status bar 2 wise 0 1 020308 spm Ready Fig 4 7 Status bar The status bar displays information about the currently loaded database the status and a progress indicator if SPEARMINT is busy 4 4 Popup Menus 4 4 1 Database Popup Menu With the popup menu of the opened database the following options are available e New Project creates a new project e Plugins This option is intended for research purposes as an extension point from SPEARMINT The programms attached to this function are mainly developments which enhance specific aspects around process modelling XSL Transformation Therefore the contents and functionality are beyond the scope of this manual New Project Plugins Properties ee re e Import one or more projects into your database For importing files two formats are Figure 4 8 Database popup menu available XML and the proprietary SPEARMINT file format SPM e Export a complete database with many projects as one XML Tile This is especially important when migrating trom one SPEARMINT version to the next e XSL Transformation changes the original XML document based on a fixed DTD into another customized XML document This option is for users with knowledge of SPEARMINT s DTD and XSLT W3C e Paste Copy insert
91. ption Generate Electronic Process Guide e Select the directory where the documentation will be placed e A dialog box warning that all files and subdirectories will be deleted appears Verify once again the directory Click ok e Anew dialog pops up during the generation until it is completed In the directory selected previously for generation open the browser and select the file index html 8 2 SPEARMINT 5 EPG Setting the Configuration 8 2 1 Changing the Settings for Graphical Views Copy the document DefaultConfiguration xml which lies in the lib file of the SPEARMINT folder to a personal directory Rename it PersonalContiguration xml 114 Copyright Fraunhofer IESE 2003 Figure 8 1 Figure 8 2 Copyright Fraunhofer IESE 2003 Electronic Process Guide EPG Generation BI Exploring Personal _ Oy x File Edit View Tools Help aal ele xe Slee All Folders Contents of Personal O EA Desktop Modified Atr H emacs 2 PersonalContigurat 3KB XML Document 10 10 01 3 40 Ph H E lib H E mail H E Mail H E nemail H E Offices Fl profile tmp a e Oi i objectis 2 9466 Disk free space 4 1 7GB The renamed copy of the default configuration document Open the document PersonalContiguration xml in the windows notepad and change the configuration in the following line lt Configuration dtd 0 1 gt lt Property key epg graphicalViews gt true lt
92. pyright Fraunhofer IESE 2003 User Interface 4 3 1 Menu Toolbar and Status Bar SPEARMINT 7 0 Fie Window Tools Help Fig 4 3 Menu bar 4 3 1 1 Menu bar The menu bar contains the following menus e File Menu The menu items for opening an existing database or creating a new database are only active if no database is open The menu items for closing or saving a database as well as for importing and exporting are only active if a database is open To export a database Export Look in CA ExportTutorial El el Choose the option Export Select the directory where the project s information is going to be exported Name the file Click the Export Button x File name ExportTutorial spm Export Files of type SPEARMINT Database SPM x Cancel Fig 4 4 Exporting a database To import a database Choose the option Import e Select the directory where the project s information is going to be taken Copyright Fraunhofer IESE 2003 Select the file 33 User Interface 54 e Click the Import Button There is a choice of accessible databases that can be opened when no database is open and the option to exit the program e Window Menu Contains a feature for arranging the windows in the working area and a toggle for showing or hiding the properties window All opened windows in the working area are listed and by clicking the toggl
93. right Copyright Fraunhofer IESE 2003 49 First Steps Ei Load configuration a Look in Ei Personai ll ft EH File name PersonalConfiguration xm Load Files of type XML hi Cancel Figure 3 50 The Load configuration dialog Choose the configuration file PersonalConfiguration xml Hit the Load button on the bottom right and SPEARMINT will start to generate the EPG If no file is chosen simply hit the Cancel button and SPEARMINT will choose the default configuration file On completing the generation SPEARMINT will notify the user where the starting point of the EPG lies To load the EPG open the explorer and go to the EPG file folder Double click the Tile index html 3 10 5 Transforming an XML File with XSLT This option can be applied at the database level project level or process model level To transtorm an XML file with XSLT e Select the XSLT Style sheet file xsI and click Open e Select the source XML file and xml and click Import e Select the target file and click Export e Open the target Tile This option changes the original XML document based on a fixed DTD into another customized XML document This option is for users with knowledge of SPEARMINT s DTD and XSLT W3C 50 Copyright Fraunhofer IESE 2003 4 1 User Interface User Interface This section gives a detailed description of the elements contained in SPEAR
94. ry In Vincenzo Ambriola editor Software Process Technology 8th European Workshop EWSPT 2001 Witten Germany June 19 21 2001 Proceedings number 2077 in Lecture Notes on Computer Science pages 63 76 Springer 2001 Louise Scott Lucila Carvalho Ross Jeffery and John D Ambra An evaluation of the SPEARMINT approach to software process modelling In Vincenzo Ambriola editor Software Process Technology 8th European Workshop EWSPT 2001 Witten Germany June 19 21 2001 Proceedings number 2077 in Lecture Notes on Computer Science pages 77 89 Springer 2001 Louise Scott Lucila Carvalho Ross Jeffery John D Ambra and Ulrike Becker Kornstaedt Understanding the use of an electronic process guide In Information and Software Technology 44 10 601 616 July 2002 Copyright Fraunhofer IESE 2003 Introduction Martin Verlage An Approach for Capturing Large Software Development Processes by Integration of Views Modelled Indepently In Proceedings of the 10 International Conference on Software Engineering and Knowledge Engineering SEKE 98 pages 227 235 1998 Copyright Fraunhofer IESE 2003 Basic Concepts 2 Basic Concepts 2 1 SPEARMINT Process Model Structure SPEARMINT process models can be associated with several views These views are the visual representations of parts of the process model Process Elements in the views refer to the process elements in the model Therefore any chan
95. s a copy of a project from the clipboard e Properties opens the properties window in the working area Copyright Fraunhofer IESE 2003 5 7 User Interface e Attribute Profiles Selects the project profile that had been set up previously 4 4 2 Project Popup Menu With the popup menu of the project the following options are available e New Process Model creates a new process model New Process Model Plugins e Similarity Analysis allows for comparisons Similarity Analysis between two diferent process models e Import one or more process models into ral TEA your database For importing files two Copy Mark formats are available XML and the proprietary Paste Cop SPEARMINT file format SPM Paste Oniet Delete e Export a complete process model as one Delete Rename XML file Properties e Copy Mark makes a copy of the project Praga Project popup menu e Paste Copy inserts a copy of a process model from the clipboard e Paste Object moves the process model on the clipboard into this project e Delete and Rename the project The other options are similar to the database popup menu 4 4 3 Process Model Popup Menu With the popup menu of the process model node the following options are available e New View adds new process and hypertext views e Check Consistency shows the violation of the consistency rules according with the definition made in the Consistency Manager
96. s also possible to use the popup menu of the specific artifact e Create the artifacts listed above 3 3 3 Adding Roles and Tools The Roles and Tools are non hierarchical views merely listing the objects e Open the roles tools view window by double clicking Roles Tools in the view manager e Now click with the right mouse button anywhere in this window for the background context menu to pop up e Choose the option New Role New Tool Do it Process Roles o amp Customer Designer Es Domain Expert Copy Mark Programmer Paste Copy Requirements Engineer System Integration Engineer Tester Figure 3 13 Creating new roles e A delayed double click allows to rename the role tool e Again itis also possible to use the popup menu of the specific role tool e Try to create the roles listed above 3 4 Working with a Product Flow View The product flow view hierarchically lists the product flow graphs The product flow graphs model the product flow between activities and artifacts 3 4 1 Modeling a Product Flow Graph e Open the product flows window by double clicking Product Flows in the database explorer e Notice that the activities have been included into this view automatically e Create a new product flow graph by using the background popup menu and choosing the option New Product Flow Graph Copyright Fraunhofer IESE 2003 25 First Steps
97. s artifacts only in a hierarchical list It shows all artifacts that are defined in the process model They are displayed in alphabetical order and the sub artifacts are displayed as sub nodes of the tree The tree can be expanded and collapsed For the functionality of the menus see section 4 5 Copyright Fraunhofer IESE 2003 5 2 3 Roles and Tools View Customer Designer Domain Expert Programmer Requirements Engineer System Integration Engineer Tester Figure 5 6 The Roles View Modelling with Views The role view and the tool view are simple non hierarchical list views They contain all roles and tools respectively that are defined in the process model The only other view that can include roles or tools is the user defined graphical view The role view allows the option Extract view of a selected role to get the role specific view on the process as a new independent process model The extracted view will show all entities and their relationships with respect to one specific role See section 4 5 E Spearmint 5 1 File Window Tools Help OLX asl Ai wl IESE Process Repository spm O Embedded Software Developme Do itProcess i amp E Activities E Artifacts E Roles Tools E Product Flows E Control Flows F Role Allocation 4 Documentation vie A PAJAR H Dole g y _ Create System Designer Design
98. stribution see 4 6 5 e Save Image opens a dialog where you can save the graph as a graphic file e Inconsistencies shows all inconsistencies of elements contained in this view Copyright Fraunhofer IESE 2003 64 User Interface 4 6 3 Edges Popup Menu With a right mouse click on an edge or a routing point of the edge a popup menu is displayed The Delete Routing Point is active if the menu Is invoked on a Routing Point Add Routing Point Delete Routing Point Snap Routing Point Delete Edge Activity a na Figure 4 17 Popup menu of the edges e Add Routing Point adds a routing point at the location where the popup menu was invoked Selecting it and moving along the link can translate the point e Delete Routing Point deletes a routing point and draws a straight line between the right and left neighbors of the old point e Snap Routing Point translates the routing point to the nearest orthogonal position of one or both neighbors If the menu is invoked on a routing point both neighbors are used If the menu is invoked on the edge then the nearest point to the invoking position Is translated orthogonal to its neighbor Copyright Fraunhofer IESE 2003 65 User Interface Fig 4 18 ia i d H Add Routing Point j t Delete Routing Point 2 2 r Snap Routing Point j 4 i I i i t Oooo t f o j t l t l 4 f I t Snap routing point to nearest orth
99. sub tables are also provided To activate a sub table choose two entities by clicking the right mouse button on a similarity value and select one of the show items Roles in a LL esstoner Project Manager ustomer m m m m Developer I nil Tre lease M IEEE Document J Tele i Project Wla Wa ystem Te ul asitie fact Release Manag j uF el oo a negative fact System Teste aia s 5 E 2 9 a p G z 5 _ i 1 m Figure 7 7 Showing a sub table A sub tables is shown containing only entities that relate to the chosen entities Copyright Fraunhofer IESE 2003 105 Similarity Analysis jes involving Project Manager Acthaties involving Project Manager Manage Project Rework Code ii ollect Measur cote ct Measur E esearch arar L Activities involving Developer jure wi T a Refactor Syste ollect Scenari ae Oo m Figure 7 8 A sub table 7 2 106 Different kinds of sub tables can be generated depending on the type of the chosen entities Matching Tables Activities Contained Using activities Involving Using activities sub activities activities Artifacts Accessed Contained sub artifacts artifacts Roles Involved roles SS Related Sub Tables The similarity values within a sub table are
100. t relationships between them as well as which activities are contained in which control tlow graphs New activities added to the control flow refinement view will automatically be shown in the activity view showing the same hierarchical structure of the activities as the control flow view The hierarchical structure resembles the containment structure of the activities The control flow graphs contain activities join split states and precedes links A join split state is a circle that is divided in two halves the left half contains the 80 Copyright Fraunhofer IESE 2003 Modelling with Views join symbol and the right the split symbol The join and split symbols are AND x OR and XOR or nil empty The split symbol is used when an activity is followed by two or more activities The join symbol is used when two or more activities precede one activity Activity gt Activitys Activity Fig 5 12 Join And The join split state and precedes link were introduced tor modeling the control flow graphs The precedes links are arrows between activities or join split States Tee aa i fa ps a fice F 8 i i OL A m F iPad J a oe eb x as me a aaa a AAG Em HE TE O O Design_DefectGe Design_DefectDe Design_DefectCo nerationRate tectionRate rrectionRate Design_DefectsE scapeRate Design_DefectsT oNextPhase Design_BadFixes GenRate Fig 5 13 Control flow example Fig
101. t revisedplugins in the user s Tile S HOME spearmint This property contains a list of comma separated Java class names Copyright Fraunhofer IESE 2003 121 Plugins Document Information Title SPEARMINT 7 User Manual Date January 2003 Report IESE 072 02 E Status Final Distribution Public Copyright 2003 Fraunhofer IESE All rights reserved No part of this publication may be reproduced stored in a retrieval system or transmitted in any form or by any means including without limitation photocopying recording or otherwise without the prior written permission of the publisher Written permission is not needed if this publication is distributed for non commercial purposes 1 22 Copyright Fraunhofer IESE 2003
102. tion with the SPEARMINT view concept 1 2 Structure of Document This document is structured as follows The next chapter introduces the basic concepts of SPEARMINT such as activities artifacts roles tools and their relations Additionally the structure of a SPEARMINT database and the view concept implemented in the SPEARMINT tool are described Chapter 3 is a tutorial guide taking the user through his first steps of working in SPEARMINT This section can also function as a quick reference guide to basic questions such as how to create a new product flow graph or how to generate an EPG etc Chapter 4 introduces the SPEARMINT user interface The basic functionality is explained and the user interfaces of different standard views are introduced The functionality of the various SPEARMINT menus are explained i e the various context and background menus Chapter 5 describes the different views of SPEARMINT and how to edit the process model It explains the special focus of each predefined view in SPEARMINT and what it displays It also gives an account of the user defined VIEWS Chapter 6 explains the methodological consistency rules of SPEARMINT operates and shows some examples Copyright Fraunhofer IESE 2003 Introduction Chapter 7 describes the functionality of the Similarity analysis tool in SPEARMINT Chapter 8 describes the usage of the generator for the EPG It also describes how
103. tional information about the entities It always displays the information of the entity that is selected If no entity is selected the view is empty The view has two panels one for the general properties see Figure 5 17 and one for attributes see Figure 5 18 Class Artifact 27 Mon Functional System Test Report Description Examples Lsability Scalability Availability Figure 5 18 The General Properties tab of an entity unformatted Text x Figure 5 19 The Attributes tab for an entity g6 Copyright Fraunhofer IESE 2003 Modelling with Views It is possible to resize the columns and the value and description text fields Drag the split bars or use the small arrows to resize the components in this dialog Predetined sets of attributes can be activated via the attribute profiles option For each entity aname and a description can be specified These are the default attributes for all entities in SPEARMINT In the attributes tab Fig 5 18 the user can define its own attributes change the name of new or existing attributes and define a value for the attribute Something to remember The properties view is the mechanism that allows users to configure the process model information according to the specific needs of the organization The attributes specified can be generated into process handbooks or EPG s see Chapter 7 Something to remember use the properties view for entering additional informati
104. to a positive or a negative fact An unsure fact can be reconverted into an assumption by clicking on Reset 1 02 Copyright Fraunhofer IESE 2003 Figure 7 4 Copyright Fraunhofer IESE 2003 Similarity Analysis Roles SAG Bes Release Manag System Tester mim Eca i Setting a similarity fact A computation does not modify entered facts Entered facts influence the whole computation Similarity icons represent similarity values as follows 103 Similarity Analysis Figure 7 5 104 cor aG GI OI O E o m Semantic Similarity assumption ralae 2 Value 0 Td Similarity assumption a aloe fs B 100 100 similarity assumption 1S 25 100 TA Yaluge similarity assumption fay 35 Yaluec ae E i TO 100 similarity assumption as 4s Yalue kas Similarity assumption P45 53 100 100 Similarity assumption Yalue Ea 5 Similarity assumption i 6S 75 Value Too in Similarity assumption Value c a 2 100 100 Similarity assumption fai 95 Value ce Se 100 100 Similarity assumption 95 ee 2 Value ie Icons representing similarity values Copyright Fraunhofer IESE 2003 Icon B Figure 7 6 Icons representing similarity facts semantic Similanty fact Value Similanty fact Value Similarity Analysis Since matching tables may become very large
105. trix Verify System lo verify System Requirements Requirements Initiate Project Create Test Integrate System Cases Validate System Figure 3 24 Product flow view and product flow refinement graph The activities can be moved outside a Refined product flow graph as follows e Select the activity Create Test Cases e Right click that activity for the context menu to pop up e Select Copy Mark Copyright Fraunhofer IESE 2003 31 First Steps e Select the General View node in the Product Flow View e Select Paste Object e The activity is taken outside the Refined product flow graph and outside the activity Create System Requirements as shown Create Test Cases General View rib Create System Component C Create System Design D rid Create System Requirements om Create System Requirements Cy Create Customer Requirements ie Create Developer Requirements Cy Create Traceability Matrix rab Verify Systems Requirements gt Create Test Cases Initiate Project gt Integrate System Validate System Tutorialinc spm Ready Fig 3 25 Activity has been moved outside the Product Flow Refined graph e Move back the activity Create Test Cases into the Product Flow Retined graph Create System Requirements The product flow refinement graph of this activity will also include artifacts that are subartitacts of those already modeled To add subartitacts e Open the artifacts view e Click t
106. ty depends on the view adds a new activity or artifact to the currently selected node create et e Copy Mark Paste Copy Paste Create Syste Object and Rename are the standard Pacte Cuy functions for process elements Paste Object e Delete removes an entity from the entire process model As a result the entity and all its relationships are deleted from the raea model The function is irreversible Inconsistencies e Properties opens the properties dialog to Figure 4 12 Node popup menu of the activities view edit the attributes and the description of the selected entity e Inconsistencies shows all inconsistencies related to the selected entity The first menu item New Sub is only available in the activities and artifacts view The roles and tools view do not need these items because they contain only a list of items and no hierarchy The roles view has the additional option Extract View which extracts the view of a given role with all its links into a newly created process model within the same project Copy Mark Paste Copy Rename Properties Again the roles view and the tools view do not have the option Paste Object in their node popup menu Inconsistencies Figure 4 13 Node popup menu of the roles MeN 4 6 Graphical Views This section describes the user interface of the graphical views i e user defined graphical view product flow graphs and control flow graphs Cop
107. ty Analysis File Window Tools Help DlH e ae X H test sprmi e g Ne EA MEM Hew Process Model Import Export ranstorm Copy Mark Paste Copy Paste Object oee Rename Properties Figure 7 1 Starting similarity analysis A dialog is shown to select the process models to be analyzed y Select views tobe c select process model 1 LIPE select process model MLIPE Ok Cancel Figure 7 2 Selecting the process models to compare After the selection all entities of both views are presented on four tables matching tables i e one table for each kind of SPEARMINT entity Copyright Fraunhofer IESE 2003 101 Similarity Analysis Roles in MLIFE roject Manager ustomer Deweloper lease Manay Documentation System Tester nspector Duality Assura ae j ge MEEME MEE E E Jeustomer CA A WE WEE eeter TATE Quality Assura Figure 7 3 Matching tables All similarity values are initialized to 50 This is a neutral value as 100 means equality and 0 means that two entities are completely different A click on the run button i starts a new similarity computation Similarity values computed by the tool are always assumptions you can validate or refute them by converting them to positive or negative facts A click on the right mouse button by pointing at the similarity value icon invokes an edit menu An assumption can be set
108. uidebook Netscape File Edit View Go Communicator Help MDA tT al E SPEARMINT Web based Guidebook Software Process Elicitation Analysis Review and Measurement in an Integrated Modeling Environment Show me in Spearmint Project ssp Elernents of view HTTP View Activity Requirement Analysis Activities Description Analysis Analysing the Requirements of a new System Design Implementation Attributes Requirement Analysis j Benutzeranforderunge No attributes defined e Funktionale Anforderungen e Nichtfunktionale anforderungen Component Of Artifacts none top level Analysis Documents Design Documents Contains Program Documentation Requirements Document Benutzeranforderunge DenutzZeranrorderunge Funktionale Anforderungen Roles Nichtfunktionale anforderungen Programmer Productflow Requirements Engineer System Analyst e System Designer Consumed products none Produced products Tools Requirements Document DE Involved Roles UML Tool Wordprocessor Requirements Engineer Used Resources Wordprocessor E This page has been generated on 10 15 12 April 2000 by Spearmunt tm ae Document Done gt SP ca 2 Z Figure 5 17 The generated HTTP View in the browser Copyright Fraunhofer IESE 2003 85 Modelling with Views 5 2 12 Properties View The properties view gives the user the opportunity to type in addi
109. uptions Display inconsistencies Custom profile default Profiles Consistency assurance dialog e You can in general allow or disallow interruptions through dialogs that inform you about new inconsistencies e You can switch on and off the displaying of inconsistencies through colouring affected model elements red e You can select a defined consistency assurance profile for your further work with the model or define new profiles Consistency assurance profiles determine the behaviour of the automated consistency assurance Such a profile lays down for every single consistency rule how it is reacted on violations of this rule On one hand you can thereby customize the automated consistency assurance very flexibly to your needs On g5 Consistency Assurance Figure 6 3 Figure 6 4 96 the other hand you spare time in modelling since you can easily switch between the defined profiles Open the dialog Custom protfiles Figure 6 3 by clicking on the button Profiles With this dialog you can create an arbitrary number of individual profiles configure them and eventually delete them The standard profile default is invariable Custom profiles x Custom profiles Ignore all tolerable inconsistencies Tolerate all tolerable inconsistencies Correct all tolerable inconsistencies ew cise nepa Custom profiles dialog When you click on New or Confi
110. vertical toolbar on the left side Activate the appropriate button and every mouse click in the working area will create a new entity Adds a new activity to the graph Adds a new artifact to the graph El 2 Adds a new role to the graph 2 k je Adds a new tool to the graph Links can be added by holding the left mouse button and moving the S mouse to the object that you wish to link it to To create a modifying link repeat this procedure in both directions The horizontal toolbar also contains buttons for zooming distribution alignment toggle grid and snap nodes to the grid A node here is any object which has been drawn Artifact activity tool role link join split status mws 7 AAE Bae Dh og Align Distribute Toggle Snap Horizontal Horizontal Grid Nodes Figure 4 15 Horizontal Toolbar e Zooming You can zoom in and out with the magnifying glass icon With the combo box you can select a zoom value or type in an individual value The right button fits the whole drawing to the visible window size very useful if you get lost in a graph e Toggle Grid Toggles the visible grid on off The grid can be customized e Snap Nodes Toggles the snapping of the nodes on off The style for the Snapping can be customized e Align Horizontal Vertical Aligns all selected nodes horizontally or vertically with the default alignment strategy Copyright Fraunhofer IESE 2003 63 User Inter
111. yright Fraunhofer IESE 2003 61 User Interface Figure 4 14 Jjejeja a mw ARA EE ME ia User defined graphical view The structure of the user interface is the same for all graphical views The different tools are located in the vertical toolbar on the left side The horizontal toolbar on the top contains some buttons specific to the view and some general buttons for the graphical manipulation of the graph The vertical toolbar on the left side and the specific buttons in the horizontal toolbar are for the description of the process the product flow graph or the control flow graph 4 6 1 General Functions of Toolbars in Graphical Views 62 The horizontal toolbar contains buttons for including and excluding selected entities Entities can be selected by mouse click in any view 2 Include selected includes all selected objects into the user defined graphical view 2 Exclude selected excludes all selected objects from the user defined graphical view gt Include neighbors includes all objects that have an association with the selected object Include all includes the whole process model The top button of the vertical toolbar is activated when a graphical view has been opened Copyright Fraunhofer IESE 2003 User Interface w In order to work on the object in the graph the select button has to be activated Now objects can be edited moved etc You can also create new entities by using the

Download Pdf Manuals

image

Related Search

Manual manual manualslib manual car manuale digitale manually meaning manual timesheet manual transmission manual wheelchair manual arts high school manually update your device drivers windows manual definition manual for courts martial manual labor manual lawn mower manual muscle testing manually register devices with autopilot manual muscle testing grades manual transfer switch manualidades manual blood pressure cuff manual handling manual transmission cars for sale manual digital manual pdf manual autopilot enrollment

Related Contents

Introduction Application Limits Wiring Detail Symbols  Craftsman 247.77636 Chipper User Manual  Manuale d`uso - Guida rapida M-Log  Turboair Diva BL/F/80    平成26年度 受賞企業・ S” 者概要  A Multi-Agent Approach for Distribution System Restoration  Manual de instruções - Transmissor de pressão diferencial  H.264 36x Outdoor Speed Dome IP Camera User`s manual    

Copyright © All rights reserved.
Failed to retrieve file