29
Brussel 05 October 2017 Traceability in practice workshop Dennis Geluk

EA User Group Brussels 2017 - Traceability in Practice

  • Upload
    divetro

  • View
    105

  • Download
    1

Embed Size (px)

Citation preview

Brussel 05 October 2017

Traceability in practice workshop

Dennis Geluk

ww

w.d

ivetr

o.n

l

Roadmap

05/10/2017 3Traceability in practice workshop

ww

w.d

ivetr

o.n

l

05/10/2017 Traceability in practice workshop 4

Repository

• Elements• Relations• Diagrams• Relational model (SQL)

• Registration of elements, relations and diagrams

• Views on repository

Global design Enterprise Architect

ww

w.d

ivetr

o.n

l

Globale design Enterprise Architect

• Delete from diagram ≠ Delete from repository

• Not shown / visible ≠ Does not exist in repository

• Repository based upon relational database principle• Query opportunity's

05/10/2017 Traceability in practice workshop 5

ww

w.d

ivetr

o.n

l

Traceability

05/10/2017 Traceability in practice workshop 6

Traceability is the capability to trace something. In some cases it is interpreted as the ability to verify the history, location, or application of an item by means of documented

recorded identification.Other common definitions include the capability (and implementation) of keeping track of

a given set or type of information to a given degree, or the ability to chronologically interrelate uniquely identifiable entities in a way that is verifiable.

ww

w.d

ivetr

o.n

l

Why

• Traceability can reduce costs / time• Impact analyses

• New enhancements (of previous requirements)

• Start-up time new staff members

• Traceability can increase the quality of the model / work• Are all requirements covered?

• Are all needs / features covered?

05/10/2017 Traceability in practice workshop 7

ww

w.d

ivetr

o.n

l

• Model structure

• Composed elements

• Naming conventions

05/10/2017 Traceability in practice workshop 8

Traceability in EA

Soft

• (UML) Relations

• Trace relations

• Custom relations

Hard

ww

w.d

ivetr

o.n

l

Structure

• Structure will help in• Understandability of the model

• Readability of the model

• Ways to create structure• Package structure

• Composted Elements• Activity / Interaction /

Statemachine

• Composite Diagram /Nested elements

05/10/2017 Traceability in practice workshop 10

ww

w.d

ivetr

o.n

l

Hands-on 1

Start model: TW Model Nr 1

Situation: Snapshot of project without focus on structure

Actions:

• Try to bring structure into the project

• Brief discussion on chosen direction

05/10/2017 Traceability in practice workshop 11

15 minutes

ww

w.d

ivetr

o.n

l

Conventions

• Conventions will help in• Understandability of the model

• Maintainability of the model

• Examples• Number ranges for specific domain (parts)

• Name conventions for• Elements

• Diagrams

05/10/2017 Traceability in practice workshop 12

ww

w.d

ivetr

o.n

l

Hands-on 2

Start model: TW Model Nr 2

Situation: Snapshot of project with some structure

Actions:

• Try to bring more structure into the project with conventions

• Brief discussion on chosen direction

05/10/2017 Traceability in practice workshop 13

15 minutes

ww

w.d

ivetr

o.n

l

(UML) Relations

• Two types of relations• Structural (UML) relations

• Explicit <trace> relations

• Structural relations• Purpose: registration of common UML structural relations to create a more

explicit model

• Such as:• Include, Extend relations between use cases

• Inheritance relations between classes

• (Directed) associations between elements

• Realize relations between interface and component

• Relation between architectural elements (on different levels)

05/10/2017 Traceability in practice workshop 15

Class1 Class2

Class3

Use Case1

User

Use Case2

Use Case3

Use Case4«include»

«extend»

«ArchiMate_BusinessProcess»

Sell Flowers

(from Business Processes)

«ArchiM...

Record Orders

(from Business

Processes)

«ArchiM...

Dispatch Flowers

(from Business

Processes)

«ArchiM...

Reserv e Stock

(from Business

Processes)

«ArchiMate...

Customer Orders

Receiv ed

(from Business

Events)

«ArchiMate...

Flower Selling

(from Business

Services)

«ArchiMate...

Flower Deliv ery

Serv ice

(from Business

Services)

«ArchiMate...

Business Roles::

Retailer

«ArchiMate...

Business Actors::

Sales Department

«ArchiMate...

Business Roles::

Flower Seller

«ArchiMate_Realization» «ArchiMate_Realization»

«ArchiMate_Assignment»«ArchiMate_Assignment»«ArchiMate_Triggering» «ArchiMate_Triggering»

«ArchiMate_UsedBy»

«ArchiMate_Triggering»

«ArchiMate_UsedBy»

ww

w.d

ivetr

o.n

l

(Trace) Relations

• Trace relations• Purpose: registration of specific trace relations for traceability reasons

• Such as:• Trace relation between needs & features

• Trace relation between glossary item & use case

• Trace relation between business rule & use case

• …

05/10/2017 Traceability in practice workshop 16

Use Case1

GlossaryItem 1

GlossaryItem 2

BusinessRule 1

Business Rule 2

«trace»

«trace»

«trace»

«trace»

ww

w.d

ivetr

o.n

l

(Trace) Relations

Direction of traceability should be used consistent!

There are two ways:

1. Bottom up• Relation from “child” to “parent”

• Traceability diagram belongs to “child”

2. Top down• Relation from “parent” to “child”

• Traceability diagram belongs to “parent”

05/10/2017 Traceability in practice workshop 17

ww

w.d

ivetr

o.n

l

(Trace) Relations

05/10/2017 Traceability in practice workshop 18

Top downBottom up

• Impact analyses• Is used by

• Review purposes• uses

Use Case1 BusinessRule 1«trace»

BusinessRule 1 Use Case1«trace»

ww

w.d

ivetr

o.n

l

Creation of relations

Relations can only be created in a limited way:

• Single relation• Diagram – Toolbox

• Diagram – Quick link menu of (source) Element

• Single or bulk• Relationship Matrix (use with proper care)

Be aware of not visible relations ☺

05/10/2017 Traceability in practice workshop 19

ww

w.d

ivetr

o.n

l

Hands-on 3

Start model: TW Model Nr 3

Situation: Middle-sized project with some structure and conventions

Actions:

• Create the relations as descripted (Hands-on 3.docx)

• Create traceability diagram

• Brief discussion on chosen direction

05/10/2017 Traceability in practice workshop 20

30 minutes

ww

w.d

ivetr

o.n

l

Visibility

Several ways to visualize traceability:

• Straight forward• Diagram

• Property - links

• Standard traceability window

• Plug ins

• On demand• Insert related elements

• Relationship matrix

• SQL query / script

05/10/2017 Traceability in practice workshop 22

ww

w.d

ivetr

o.n

l

Property - links

Property > Links (for each Element)

05/10/2017 Traceability in practice workshop 23

ww

w.d

ivetr

o.n

l

Standard traceability window

A “traceability window” can be added to the workspace (Ctrl+Shift+4)

• All relations of selected element are shown

• Possibilities to navigate to related elements

05/10/2017 Traceability in practice workshop 24

ww

w.d

ivetr

o.n

l

Insert related elements

“Insert related elements” can be use to construct a traceability diagram based on a root element

• Only works from a diagram

• Customization is possible

05/10/2017 Traceability in practice workshop 25

MRG-01-01:

Geboorteaangifte regels

(from 01 MR Groepen)

BRG-01-01: Erkenning

regels

(from 01 BR Groepen)

BRG-01-02:

Geslachtsnaam regels

(from 01 BR Groepen)

BRG-01-03: Nationaliteit

regels

(from 01 BR Groepen)

BRG-01-05: Mede-

ouderschap regels

(from 01 BR Groepen)

BRG-01-06: Adres regels

(from 01 BR Groepen)

BRG-01-07: Moederschap

regels

(from 01 BR Groepen)

BRG-01-10:

Registratie

regels

(from 01 BR Groepen)

MRG-01-03:

Erkenning regels

(from 01 MR Groepen)

Business rules

Traceability diagram

Module 01 Afstamming

BR-01-21: Ontbrekend

geslacht

(from 01 Bedrijfsregels)

BR-01-26: Geen dubbele

inschrijv ing in BRP

(from 01 Bedrijfsregels)

BR-01-31: Geslacht

moeder

(from 01 Bedrijfsregels)

(from 01 Afstamming)

KUC001 Registreren

geboorte

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

«trace»

ww

w.d

ivetr

o.n

l

Relationship matrix

• Feature to construct a matrix of elements and their relations

• Examples:• Needs vs. Features

• Features vs. Use Cases

• The relationship matrix can be used for maintaining relations• Great when creating / deleting a bulk of relations

Only works on one relation type at a time

05/10/2017 Traceability in practice workshop 26

ww

w.d

ivetr

o.n

l

SQL query / script

• Feature to run custom query / scripts on the model

• Examples:• All Needs that are not traced to any Feature

• All glossary items that are not traced to any other element

• …

• The feature is very powerful to guard the integrity / quality of your model

Not that easy to work with

05/10/2017 Traceability in practice workshop 27

ww

w.d

ivetr

o.n

l

05/10/2017 Traceability in practice workshop 28

Demo

ww

w.d

ivetr

o.n

l

Relationship matrix - Overview

05/10/2017 Traceability in practice workshop 29

Package and Element Typefor:• Source (horizontal)• Target (vertical)

Link Type and Direction of requested relations

ww

w.d

ivetr

o.n

l

Best practices

• When selected a Row / Column• Note can be shown

• Locate in package browser …

• Maintaining relations• In general always from a diagram

• Only use matrix if diagram becomes unreadable (don’t forget to place a note)

• Be aware of the direction of the relation

• Use default “Both” as Direction• Wrong relations are shown and can be adjusted

• Save commonly used settings as a “profile”

05/10/2017 Traceability in practice workshop 30

ww

w.d

ivetr

o.n

l

05/10/2017 Traceability in practice workshop 31

Demo

ww

w.d

ivetr

o.n

l

Hands-on 4

Start model: TW Model Nr 4

Situation: Large (real-life) project with structure, conventions and a lot of relations

Actions:

• Explore the model

• Answer some of the questions (Hands-on 4.docx)

• Brief discussion / conclusions / feedback

05/10/2017 Traceability in practice workshop 32

40 minutes

Dennis Geluk

[email protected]

+31 (0)6 13 476 892

+31 (0)26 443 67 90ww

w.d

ivetr

o.n

l

Parkstraat 74 | 6828 JL Arnhem