26
1 Software Architecture Completeness Analysis Christian Lange Eindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian Lange TU/e

1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

Embed Size (px)

Citation preview

Page 1: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

1

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Software Architecture Completeness Analysis

Interim Presentation

Christian Lange

TU/e

Page 2: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

2

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Overview

Introduction Software Architecture Analysis Survey Completeness Rules & Metrics Outlook Questions

TU/e

Page 3: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

3

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Introduction

“Technische Informatica” TUE since 1998

Since December 2002 final year project at Océ Technologies (Venlo)

Supervisor Michel Chaudron Advisor Eric Dortmans (Océ) Lou Somers

TU/e

Page 4: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

4

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Introduction

Extension of SAAT Software Architecture Analysis Tool (Johan

Muskens)

Completeness of Architecture Introduced by Océ architecture specialists

TU/e

Page 5: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

5

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Question / Goal

What is

Software Architecture Completeness ?

Development of techniques to assess a model’s completeness to identify “incomplete spots” (tool supported)

Validation of techniques in practice

TU/e

Page 6: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

6

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

SW Architecture

4+1 Views of Philippe Kruchten

TU/e

Logical view Development view

Process view Physical view

Scenarios

End- user functionality

Integrators, Performance, Scalability

Programmers software management

Topology,

Communications

Page 7: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

7

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

SW Architecture Analysis

Maintainability, Extensibility, Testability,… SAAM, ATAM

Specialist work, qualitative

Metrics, SAAT, other toolsCohesion, couplingAutomated supportQuantitative

Completeness, Consistency This project

Automated supportQuantitative

TU/e

Existing

New

Page 8: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

8

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Survey

Web-based survey To get insight in the way practitioners are using the UML for

architecture To investigate practitioners

needs To get feedback on the

ideas so far

Published In newsgroups Within Océ Sent to known experts

20 questions (multiple choice, comments possible) 2 month, 80 responses (20 Océ, 30 CGEY, 30 other) Aimed audience

TU/e

Page 9: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

9

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Survey conclusions

To what degree do you follow the UML standard?

TU/e

Following UML Standard

0

5

10

15

20

25

30

35

40

not at all very loosely loosely strict very strict

Page 10: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

10

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Survey conclusions

What criteria do you use to stop modelling?

TU/e

Stop Criteria

05

1015202530354045

Effo

rt S

pent

Pas

sing

revi

ew/in

spec

tion

Sch

edul

e /

Dea

dlin

e

Com

plet

enes

s

not known

>99 man years

10-98 man years

<10 man years

Project size

Page 11: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

11

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Other survey conclusions

Logical and Scenario view mostly used

Most practitioners encountered incompleteness problems

Consistency is important

Metrics usage in early stage expected to be useful

Use of dedicated case tools (XMI export)

TU/e

Page 12: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

12

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Completeness

Intuition: Has the maturity of the architecture model

reached a level, such that we are ready to start implementing?

Definition: An architecture model is complete if and only

if it entirely describes and specifies the system that exactly fulfills all requirements and the model contains all necessary information that is needed to implement that desired model

TU/e

Page 13: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

13

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Completeness

Decomposition

TU/e

Tracing

SemanticsSyntax

Completeness

A model must be syntactically correct, i.e. it must be consistent with respect to different views and different levels of abstraction.

A model must reach a good "score" for the non-functional quality attributes

A model must necessarily reflect all functional requirements of the desired system

Page 14: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

14

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Consistency

Dimensions of consistency Differs from “completeness”

TU/e

Time

Views

Abstraction level

Page 15: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

15

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Scope of Completeness TU/eRequirements

R1 R2 R3 ...

UC1 UC2 UC3 UC4

Model

...

SC1 SC2 SC3 SC4 ...

U se C ases

S cenarios

SD1 SD2

...

S tateD iagram s

Class1

Class2

Class3

Class4

Class5

C lasses

Implementation

Class1

Class2

Class3

Class4

Class5

?

?

?

Page 16: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

16

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Meta Model

Logical View Class diagram

Class interfaces associations, dependencies, inheritance

State diagram

Scenario View Message sequence charts

Objects, messages

Use Case diagrams Use cases, Actors associations, dependencies, inheritance, instantiations

TU/e

Page 17: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

17

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Meta Model

Subset of Logical and Scenario View

TU/e

Objects

Use Cases

Classes

Scenarios

Actors

Attributes

M essages

StateM achines

M ethodsStates

1..n

1..n

1 1..n

1

1..n

1..n

11

1..n

1

1..n

0..1

1has

dascribes

1..n

1

has

belongs to

1..n

1..nbelongs to

has

1..n

1..n

has

1 1

has

has

consists of

callercalleecan change

to

0..n

0..1

calls

has

predecessor

Page 18: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

18

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Rules & Metrics

Size of Use Case

TU/e

Operation Operation

T he U se C ase has the s ize o f:2 scenarios, 5 ob jects and 6 m essages

Page 19: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

19

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Rules & Metrics

Dynamicity

TU/e

Operation

:B:A

Operation

:B:A :B

D ynam ic ity o f C lass A = 5 (2 out, 3 in)D ynam ic ity o f C lass B = 6 (3 out, 3 in)

Page 20: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

20

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Rules & Metrics

Examples (Rules, 18 so far) Objects must have a name Abstract classes should have abstract

superclasses Classes have at most one state diagram Classes with a high dynamicity have a state

diagram

Examples (Metrics, 20 so far) (shown before)

TU/e

Page 21: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

21

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

The tool TU/e

Order

+get()

-val : int

item

-m e : string

client product

Queries (rules & metrics)

Database

XMI representationof model

UML representationof model

HTML output

Page 22: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

22

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Outlook

Rules and metrics set Dependencies

Rule A Rule B #Scenarios = 0 NOT objects need name/type, dynamicity,…

Classification abstraction level, phase

TU/e

Requirements Analysis Design Implementation

Rule A X X

Rule B X X X

Rule C X

Rule D X X X X

Page 23: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

23

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Outlook

Case studies for validation Tool vendor examples, literature examples

Assumed to be completeFault injectionSmall

Case studies evaluated by JohanVarious domainsCompare results

Real-world projects (Océ, …)Large projectsArchitects available for evaluation, discussionSubsequent versionsProblem tracking data availableImplemented code available (e.g. compare design with reverse-

engineered model)

TU/e

Page 24: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

24

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Ongoing case study

Context Controller, embedded system, Printer / scanner

Size: 103 Use cases 135 classes 109 scenarios

TU/e

Page 25: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

25

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Ongoing case study

Identified: oversized use case

14 scenarios vs. 1 - 5533 messages vs. 3 – 90

High level scenarios vs. low level logical viewOnly actors in MSCs, messages without method relation

(wrong) interpretation of “Actor” 1 god class vs. 97 empty classes God class is abstract but subclass of non-

abstract class

TU/e

Page 26: 1 Software Architecture Completeness Analysis Christian LangeEindhoven, 6-6-03 Software Architecture Completeness Analysis Interim Presentation Christian

26

Software Architecture Completeness Analysis

Christian Lange Eindhoven, 6-6-03

Questions

?

TU/e