viewpoints in software architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. ·...

29
Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen 1 Christine Hofmeister 2 Rainer Koschke 3 Leon Moonen 1 Claudio Riva 4 1 CWI & Delft Univ. of Technology 2 Institut f¨ ur Softwaretechnologie Universit¨ at Stuttgart 3 Lehigh University 4 Nokia Research Workshop Software-Reengineering, Bad Honnef, 4. Mai 2004 van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Upload: others

Post on 14-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Viewpoints in Software Architecture

Arie van Deursen1 Christine Hofmeister2 Rainer Koschke3

Leon Moonen1 Claudio Riva4

1CWI & Delft Univ. of Technology

2Institut fur SoftwaretechnologieUniversitat Stuttgart

3Lehigh University

4Nokia Research

Workshop Software-Reengineering, Bad Honnef, 4. Mai 2004

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 2: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Software-Architektur

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 3: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Was ist Software-Architektur?

Definition

Software architecture is the organizational structure of a system orcomponent [IEEE 610.12-1990].

Definition

Software architecture is the fundamental organization of a systemembodied in its

components,

their relationships to each other and to the environment,

and the principles guiding its design and evolution

[IEEE Recommended Practice for Architectural Description P1471-2000].

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 4: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Was ist Software-Architektur?

Definition

Software architecture is the organizational structure of a system orcomponent [IEEE 610.12-1990].

Definition

Software architecture is the fundamental organization of a systemembodied in its

components,

their relationships to each other and to the environment,

and the principles guiding its design and evolution

[IEEE Recommended Practice for Architectural Description P1471-2000].

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 5: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Views und Viewpoints

Definition

A view is a representation of a whole system from theperspective of a set of concerns [IEEE P1471-2000].

A viewpoint is a specification of the conventions forconstructing and using a view [IEEE P1471-2000].

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 6: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Views und Viewpoints

Definition

A view is a representation of a whole system from theperspective of a set of concerns [IEEE P1471-2000].

A viewpoint is a specification of the conventions forconstructing and using a view [IEEE P1471-2000].

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 7: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Beispiel: Module-Viewpoint von Hofmeister et al.

Module (layer) A uses

Module

Interface

Layer

module (layer) B whenA requires an interfacethat B provides

Subsystem

use

0..1

require *

*

*

require

* provide

*

* * * * *

0..1

0..1

use *

* *

* assigned−to

*

cont

ain

provide

contain

0..1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 8: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

Beispiel: Module-View eines 1,5 MLOC-Systems

md_ctg_libra

file

wga_cal

file

md_ctg

file

md_mibus

file

md_common

file

md_wga_d

file

md_cdadc

file

file

md_cseq

file

md_casc

file

fw_mx_cal_agent

file

md_wde_d

file

md_mibus_libra

file md_capsc

filemd_wge_wde_a

file

md_wde_a

file

fw_mx_cal_fw_cmd

file

aacu

file

md_wga_a

file

fw_mx_cal_util

file

wga_cal_apply

file

wga_cal_dc

file

wga_cal_error

file

wga_init

file

ssmnproc

file

ssmgr

file

ssmproc

file

ssmslot

file

ssmtask

file

mdtask

file

insttask

file

rtask

file

ssm_ew_proc

file

wga_cmd_b

filewga_setup_b

file

wde_cal

file

wg_util

file

wga_smem

file

acd_clock_dom_set

file

acd_clock_dom

file

fw_acd_clock_dom

file

acd_util

fileacd_clock_dom_resource

file

wgf_cmd_r

file

wgf_cmd_b

file

md_wgf

filewgf_memt

file

wgf_rmem

file

wgf_setup_b

file

wgf_cal_apply

file

wgf_init

file

wgf_cal

file wgf_cal_util

file

wgf_cal_error

file

aacu_relay_ctrl

file

aacu_reg_ctrl

file

aacu_ctrl_hw

file

aacu_path_ctrl

file

aacu_eeprom

file

md_wdd_a

file

md_rcg

filemd_wda_d

file

md_wda_a

file

md_spa_a

filemd_wgd_a

file

md_spb_a

file

md_tia

file

md_wdb_a

filemd_wgb_a

file

md_wgc

file

md_wge_a

file

wde_cal_timing

file

wde_cal_error

file

md_cseq_libra

file

wde_cal_dc

file

wde_cal_apply

file

wde_init

file

wde_cmd_b

file

wde_setup_b

file

ssm_async_wait

file

wde_smem

file

wde_util

file

fw_mx_cal_timing

file

tia_wrap

file

wgc_wrap

file

spb_cal_timing

file

spb_cal_error

file

spb_cal

filemd_spb_d

filemd_ctg_para

filewge_cal_timing

file

wge_cal_error

file

wge_cal

file

md_wge_d

file

wge_cal_dc

file

wge_init

file

wge_cmd_b

file

wge_setup_b

filewge_cal_apply

file

wge_util

file

wge_smem

file

spb_cal_dc

file

spb_cal_apply

file spb_init

file

spb_cmd_b

file

spb_setup_b

file

spb_smem

file

spb_util

file

wga_cal_timing

file

wga_cmd_r

file

wdd_cal

file

md_wdd_d

filewdd_init

file

wdd_cmd_b

file

wdd_setup_b

file

wdd_cal_apply

file

wdd_smem

file

wd_util

file

wdd_cal_error

file

wdd_cal_dc

file

wdd_cal_sm

file

wdd_cal_timing

file

wda_cal_apply

file

wda_cal

file

wda_init

file

wda_cmd_b

file

wda_smem

file

wda_setup_b

file

wda_cal_dc

file

wda_cal_error

file

wdd_cmd_r

file

spa_cal

file

md_spa_d

file

md_spa_wdb_d

file

spa_cal_apply

file

spa_cal_dc

file

spa_cal_error

file

spa_init

file

spa_cmd_b

file

spa_setup_b

file

spa_smem

file

spa_util

file

spa_cal_timing

file

spa_cmd_r

file

wgd_cal

file

md_wgd_d

file

wgd_cal_apply

file

wgd_cal_dc

file

wgd_cal_error

file

wgd_cal_timing

file

wgd_init

file

wgd_cmd_b

file

wgd_setup_b

file

wgd_smem

file

wgd_cmd_r

file

acd_init_clock_dom

file

wgf_cal_dc

file

wgf_cal_timing

file

md_cdadcps

file

md_wdb_d

file

md_wgb_d

file

wgb_cal

file

wgb_cal_apply

file

wgb_cal_dc

filewgb_cal_error

file

wgb_cal_timing

file

wgb_init

file

wgb_cmd_b

file

wgb_setup_b

file

wgb_smem

filewgb_cmd_r

file

wde_cmd_r

file

wdc

file

swa_cmd_b

file

swa_init

fileswa_util

file

swa_hw_acc

file

swa_virtual_hw

file

swa_setup_b

file

swa_raw

file

swa_cmd_r

file

wdb_cal

filewdb_cal_apply

file

wdb_cal_dc

file

wdb_cal_error

file

wdb_init

file

wdb_cmd_b

file

wdb_setup_b

file

wdb_smem

file

wdb_cal_timing

file

wdb_cmd_r

file

tia_cal

file

tia_cal_apply

file

tia_cal_dc

file

tia_cal_error

file

tia_init

file

tia_cal_timing

file

tia_cmd_b

file

tia_setup_b

file

tia_cmd_r

file

hpib_ssm

file

init_ssm

file

wda_cal_timing

filewda_cmd_r

file

eaa_pga_cal

file

eaa_pga_cmd

file

eaa_pga_pattern

file

daa_cmd

filedaa_meas

file

eaa_pga_init

file

wd_cmd_r

file

spb_cmd_r

file

wgc_cal

file

wgc_util

file

wgc_init

file

wgc_cmd_b

file

wgc_setup_b

file

wgc_file

file

wgc_cal_apply

file

wgc_smem

file

wgc_cal_error

file

wgc_cal_timing

file

wgc_cmd_r

file

daa_cal

file

daa_init

file

wge_cmd_r

file

wg_cmd_b

file

wg_cmd_r

file

fw_mx_cal_equations

file

pdb_ana_wga

file

machine

file

pdb_ana

file

pdb

file

pdb_ana_wdd

file

scp

file

pdb_ana_wgd

file

pdb_ana_spa

file

fw_ana_clock_

file

fw_clock_dom_types

file

butil

file

pdb_ana_wgf

file

mx_ext_com

file

pdb_ana_wgb

file

pdb_ana_wde

file

fw_mx_wde

file

llt_timer

file

md_wde

file

fw_mx_cal

file

pdb_ana_wdb

file

global_dbase

file

sa_ipc

file

ei_types

file

pdb_ana_tia

file

fw_types

file

mem_mgt

file

clock_types

file

pdb_ana_wda

filepdb_ana_wgc

file

fw_mx_wg

file

ssm

file

fw_mx_wgc

file

pdb_ana_spb

file

pdb_ana_wge

file

fw_mx_wge

file

pcm_digital_io_board_list

file

pdb_cal

file

multi_site

file

eq_types

file

wft_types

file

dvc_types

file

s_ptab

file

pac

file

int64

file

fw_mxds_list

file

ssf_types

file

pdb_ana_clock

file

hw_acc_mibus

file

storage

file

fw_mx

file

eds

file

seq_basis

file

hw_acc_cseq

file

hw_acc_wga

file

dc_cal

file

largefile

file

pcm_clock_board_list

file

fw_mxds

file

pcm_register64_sequence

file

pcm_instruction64_sequence

file

pcm_definitions

filepcm_digital_io_channel_list

filepcm_external_clock_list

file

pcm_cal_status_info

file

seq_cntrl

file

pdi_channel_version_map

file

dc_tf

file

hw_acc_wde

file

sqgb_public

file

result

file

pdivec_definitions

file

pdivec_representation

file

level

file

routing

file

fw_mx_wga

file

brst

file

hw_acc_wgf

file

mx_msi

file

pdb_ana_eaa

file

pdb_ana_pga

file

hw_acc_wda

file

hw_acc_mibus_libra

file

fw_mx_wd

file

mx_ext_dts

file

hw_acc_ctg_para

file

fw_mx_spb

file

hw_acc_wge

file

hw_acc_wdd

file

hw_acc_spa

file

fw_mx_spa

file

hw_acc_wgd

file

fw_mx_wgd

file

hw_acc_wgb

file

fw_mx_wgb

file

vec_edit

file

physdev

file

pdb_ana_swa

file

pdb_ana_cm

file

pdb_ana_daa

file

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 9: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Viele Architekturrekonstruktionstechniken

Tilley et al. (1996): Reverse-Engineering-Techniken folgendem Muster:

1. Data Gathering2. Knowledge Inference3. Information Presentation

Techniken sind spezifisch fur einen Viewpoint, keineubergreifende Prozessbeschreibung

Keine Katalogisierung der Techniken bzgl. Viewpoints

Unser Beitrag: Symphony

Rekonstruktionsprozess mit Views und expliziten ViewpointsKonzeptueller Rahmen fur Forschung→ Katalogisierung der Techniken/Viewpoints

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 10: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Viele Architekturrekonstruktionstechniken

Tilley et al. (1996): Reverse-Engineering-Techniken folgendem Muster:

1. Data Gathering2. Knowledge Inference3. Information Presentation

Techniken sind spezifisch fur einen Viewpoint, keineubergreifende Prozessbeschreibung

Keine Katalogisierung der Techniken bzgl. Viewpoints

Unser Beitrag: Symphony

Rekonstruktionsprozess mit Views und expliziten ViewpointsKonzeptueller Rahmen fur Forschung→ Katalogisierung der Techniken/Viewpoints

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 11: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Viele Architekturrekonstruktionstechniken

Tilley et al. (1996): Reverse-Engineering-Techniken folgendem Muster:

1. Data Gathering2. Knowledge Inference3. Information Presentation

Techniken sind spezifisch fur einen Viewpoint, keineubergreifende Prozessbeschreibung

Keine Katalogisierung der Techniken bzgl. Viewpoints

Unser Beitrag: Symphony

Rekonstruktionsprozess mit Views und expliziten ViewpointsKonzeptueller Rahmen fur Forschung→ Katalogisierung der Techniken/Viewpoints

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 12: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Viele Architekturrekonstruktionstechniken

Tilley et al. (1996): Reverse-Engineering-Techniken folgendem Muster:

1. Data Gathering2. Knowledge Inference3. Information Presentation

Techniken sind spezifisch fur einen Viewpoint, keineubergreifende Prozessbeschreibung

Keine Katalogisierung der Techniken bzgl. Viewpoints

Unser Beitrag: Symphony

Rekonstruktionsprozess mit Views und expliziten ViewpointsKonzeptueller Rahmen fur Forschung→ Katalogisierung der Techniken/Viewpoints

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 13: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Symphony: Ebenen

Entwurf des Rekonstruktionsprozess

Ausführung des Rekonstruktionsprozess

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 14: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Symphony: Ausfuhrungsebene

SourceViews

TargetViews

ViewsArchitectural

stakeholders

Data

reconstructor

RepositoryDataGathering

actor in

data flow

KnowledgeInference

TargetSource

InformationInterpretation

Map

Views Views

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 15: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Symphony: Entwurfs- und Ausfuhrungsebene

Target ViewpointsProblem Statement

process designer reconstructor

Source Viewpoints

stakeholders

actor in

data flowInformationInterpretation

Target ViewpointsMapping RulesProblem

StatementProblemElicitation

ConceptDetermination

Source Viewpoints

KnowledgeInference

DataGathering

Library ofViewpoints

Refinement

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 16: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Konzeptuelles Modell von Symphony

mapping rules

1 1 specifies

{OR} source viewpoint

1 1 specifies

target viewpoint

1 1 1

maps to

1 1

specifies

compared to

viewpoint for hypothetical

view 1 1

1 1 extracted from

1 1 specifies

map * *

{OR}

implementation fact

source view

*

* * target view

1 1 1

abstracted from

hypothesized architectural fact

* * hypothetical

view

1 1

1 1 1

*

* *

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 17: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 18: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 19: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

systemdependencygraph

clustering

P2

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 20: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

sourceanalysis

sourcetext

P5

systemdependencygraph

clustering

P2

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 21: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

/ reference architecturesdomain concepts

domain analysis P6

sourceanalysis

sourcetext

P5

systemdependencygraph

clustering

P2

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 22: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

documentation/ interviews

documentationanalysis

P7

/ reference architecturesdomain concepts

domain analysis P6

sourceanalysis

sourcetext

P5

systemdependencygraph

clustering

P2

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 23: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

P4documentation/ interviews

documentationanalysis

P7

/ reference architecturesdomain concepts

domain analysis P6

sourceanalysis

sourcetext

P5

systemdependencygraph

clustering

P2

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 24: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architekturrekonstruktion als Folge von Sichten

namecomparison

namesP3

P4documentation/ interviews

documentationanalysis

P7

/ reference architecturesdomain concepts

domain analysis P6

sourceanalysis

sourcetext

P5

systemdependencygraph

clustering

P2

convergencesdivergencesabsences

reflexion model

hypotheticalmodules

concretemodules+ deps

mapping

P1

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 25: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architektursichten im Forward-Engineering

[Zach

man’8

7]

[Per

ry&

Wolfe’

92]

[Kru

chte

n’9

5]

[Hofm

eist

er’9

5]

[TA

FIM

’95]

[Dru

ffel

’94]

[Em

ery’

96]

[Sow

a’9

2]

[Soft

ech’7

8]

[Mor

iconi’94]

[IEEE1471]

behavioral, dynamic,operational

× × × ×

data, data flow,information

× × × ×

development,maintenance

× ×

distributed, network,physical

× × × × ×

functional, activity × × × ×

logical, conceptual × × × ×

decomposition,module, static

× ×

code ×

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 26: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architektursichten im Reverse-Engineering

Literaturstudie:

IEEE

WCRE 1996 - 2000ICSM 1996 - 2000IWPC 1998 - 2000CSMR 1997 - 2000Trans. SE 1995 - 2001

ACM

ICSE 1987 - 2000PASTE 1998 - 1999TOSEM 1992 - 2001SIGSOFT 1990 - 2000

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 27: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Architektursichten im Reverse-Engineering

Viewpoints

4 2 6 8

3 3 4 1

26

5 5 1

F u n d

a m e n

t a l s

E v a

l u a t

i o n s

E x p

e r i e

n c e s

M

u l t i p

l e v

i e w s

G l o b a

l c o n

t r o l v

i e w p o

i n t

D e s i g

n p a

t t e r n

v i e

w p o i n

t

O b j e c

t m o d

e l v

i e w p o

i n t

U s e c

a s e v

i e w p o

i n t

S t a t i c

d e c

o m p o

s i t i o

n v i

e w p o

i n t

C o m p o

n e n t

/ C o n

n e c t o

r v i e

w p o i n

t

F i n i

t e s

t a t e

v i e w

p o i n

t

P r o t o

c o l v

i e w p o

i n t

F e a t

u r e

v i e w

p o i n

t

I n t e

r f a c e

v i e

w p o i n

t

8 8

Related areas

General

4

T r a n

s f o r

m a t

i o n

3

V i s u a

l i z a t

i o n &

B r o

w i n g

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 28: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Symphonys Konsequenzen fur die Forschung/Praxis

Gliederung der Techniken/Methoden in Aktivitaten (DataGathering, Knowledge Inference, Information Interpretation)

Views bilden den Informationsfluss zwischen Aktivitaten

Beschreibung der Techniken/Methoden durch Viewpoints

Viewpoints beschreiben die Schnittstelle zwischen Aktivitaten(“Prozessinteroperabilitat”)Katalogisierung der Techniken/Methoden in die adressiertenViewpoints

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture

Page 29: Viewpoints in Software Architectureist/wsr2004/slides/koschke.pdf · 2004. 5. 26. · Software-Architektur und Sichten Symphony Viewpoints in Software Architecture Arie van Deursen1

Software-Architektur und SichtenSymphony

AusfuhrungsebeneEntwurfsebeneViewpoint-Katalog

Symphonys Konsequenzen fur die Forschung/Praxis

Gliederung der Techniken/Methoden in Aktivitaten (DataGathering, Knowledge Inference, Information Interpretation)

Views bilden den Informationsfluss zwischen Aktivitaten

Beschreibung der Techniken/Methoden durch Viewpoints

Viewpoints beschreiben die Schnittstelle zwischen Aktivitaten(“Prozessinteroperabilitat”)Katalogisierung der Techniken/Methoden in die adressiertenViewpoints

van Deursen, Hofmeister, Koschke, Moonen, Riva Viewpoints in Software Architecture