Criteria for the Evaluation of Implemented Architectures Eric - - PowerPoint PPT Presentation

criteria for the evaluation of implemented architectures
SMART_READER_LITE
LIVE PREVIEW

Criteria for the Evaluation of Implemented Architectures Eric - - PowerPoint PPT Presentation

Criteria for the Evaluation of Implemented Architectures Eric Bouwers, Joost Visser, Arie van Deursen 2009/09/22 Arent Janszoon Ernststraat 595-H NL-1082 LD Amsterdam info@sig.nl www.sig.nl Why evaluate software architectures?


slide-1
SLIDE 1

Arent Janszoon Ernststraat 595-H NL-1082 LD Amsterdam info@sig.nl www.sig.nl

Criteria for the Evaluation of Implemented Architectures

Eric Bouwers, Joost Visser, Arie van Deursen

2009/09/22

slide-2
SLIDE 2

Criteria for the Evaluation of Implemented Architectures

Why evaluate software architectures?

‘Architectures allow or preclude nearly all of the system’s quality attributes’

  • - from `Evaluating Software Architectures`

by P. Clements, R. Kazman and M. Klein

slide-3
SLIDE 3

Criteria for the Evaluation of Implemented Architectures

Why evaluate implemented architectures?

slide-4
SLIDE 4

Criteria for the Evaluation of Implemented Architectures

Why evaluate implemented architectures?

slide-5
SLIDE 5

Criteria for the Evaluation of Implemented Architectures

Why do we want criteria for the evaluation? Maintenance Phase Architecture Evaluation Result Architecture Evaluation Result Architecture Evaluation Result Architecture Evaluation Result

slide-6
SLIDE 6

Criteria for the Evaluation of Implemented Architectures

Literature reviews

A framework for classifying and comparing software architecture evaluation methods.

  • M. Babar, L. Zhu, and D. R. Jeffery

A survey on software architecture analysis methods.

  • L. Dobrica and E. Niemelä.
slide-7
SLIDE 7

Criteria for the Evaluation of Implemented Architectures

IEEE Computer, July 2009

‘Technology transfer remains a major challenge. There is limited out of the box process and tool support for

  • rganizations that want to

start reviews.’

‘Software Architecture Review: The state of Practice’ by M. Babar, I. Gorton

slide-8
SLIDE 8

Criteria for the Evaluation of Implemented Architectures

Software Risk Assessment (SRA)

A one-time investigation into software maintainability and related business risks

slide-9
SLIDE 9

Criteria for the Evaluation of Implemented Architectures

Architectural properties GUI Data Access Business Logic High Level Design:

Saving Paying Stocks

Modularization: if(hasPayed() && !isAdmin()){ showThankYou(); } Separation of Concerns: Business logic/Security

slide-10
SLIDE 10

Criteria for the Evaluation of Implemented Architectures

Research questions

Q1: Which system attributes do experts take into account when evaluating architectural system properties? Q2: How do these system attributes influence the architectural system properties?

slide-11
SLIDE 11

Criteria for the Evaluation of Implemented Architectures

Empirical study resources

slide-12
SLIDE 12

Criteria for the Evaluation of Implemented Architectures

A selection of our clients

Financials IT Logistics Other Public

slide-13
SLIDE 13

Criteria for the Evaluation of Implemented Architectures

Evaluated systems characteristics

slide-14
SLIDE 14

Criteria for the Evaluation of Implemented Architectures

Empirical study design overview

Create Attribute List Create Mapping to Properties Validate Attributes & Mapping

slide-15
SLIDE 15

Criteria for the Evaluation of Implemented Architectures

Experimental design (1/3) Creation of the attribute list

1) Check table with property ratings for arguments if this table does not exists use specific paragraphs For each report: 2) For all arguments found determine system attribute if the attribute is not on the list add system attribute to the list

slide-16
SLIDE 16

Criteria for the Evaluation of Implemented Architectures

Experimental design (2/3) Create mapping from attributes to properties

2) For all arguments found determine system attribute add one to count of attribute for property 1) Extract arguments per property For each report:

slide-17
SLIDE 17

Criteria for the Evaluation of Implemented Architectures

Experimental design (3/3) Validation of Attributes and Mapping

slide-18
SLIDE 18

Criteria for the Evaluation of Implemented Architectures

Results of Empirical Study (1/3)

Create Attribute List Create Mapping to Properties Validate Attributes & Mapping

slide-19
SLIDE 19

Criteria for the Evaluation of Implemented Architectures

15 System attributes

  • Abstraction
  • Layering
  • Logic in Database
  • Module Inconsistency
  • Module Size
  • Source Grouping
  • Technology Combination
  • Textual Duplication
  • Functional Duplication
  • Libraries / Frameworks Usage
  • Module Dependencies
  • Module Functionality
  • Relation Documentation

and Implementation

  • Technology Age
  • Technology Usage
slide-20
SLIDE 20

Criteria for the Evaluation of Implemented Architectures

More details available in the paper Inspecting the call- graph on module level, matching this against expected dependencies The static dependencies (i.e. calls, includes) between modules Module Dependencies Inspecting the list

  • f imports and

structure of the source- and build- files The usage of standard libraries and frameworks Libraries / Frameworks Assessment Approach Description Name

slide-21
SLIDE 21

Criteria for the Evaluation of Implemented Architectures

Results of empirical study (2/3)

Create Attribute List Create Mapping to Properties Validate Attributes & Mapping

slide-22
SLIDE 22

Criteria for the Evaluation of Implemented Architectures

High Level Design Modularization Separation of Concerns

..... .....

Module Dependencies Module Functionality Relation Doc. / Impl. Functional Duplication Technology Combination Technology Age

7 4 2 2 5 13 11 32 3 6 1 0 6 13 0 18 0 0 Attributes used for each property

slide-23
SLIDE 23

Criteria for the Evaluation of Implemented Architectures

High Level Design Modularization Separation of Concerns

..... .....

Module Dependencies Module Functionality Relation Doc. / Impl. Functional Duplication Technology Combination Technology Age

X X X X X X X Attributes used for each property

slide-24
SLIDE 24

Criteria for the Evaluation of Implemented Architectures

Results of empirical study (3/3)

Create Attribute List Create Mapping to Properties Validate Attributes & Mapping

slide-25
SLIDE 25

Criteria for the Evaluation of Implemented Architectures

Interview results

High Level Design Modularization Separation of Concerns

E1

E1, E2

E1 E2 E2 ..... .....

Module Dependencies Module Functionality Relation Doc. / Impl. Functional Duplication Technology Combination Technology Age

slide-26
SLIDE 26

Criteria for the Evaluation of Implemented Architectures

Threats to validity

Representative data Reliability of measurements Generalization of the results

slide-27
SLIDE 27

Criteria for the Evaluation of Implemented Architectures

‘What is in it for me?’

  • - you
slide-28
SLIDE 28

Criteria for the Evaluation of Implemented Architectures

Our contributions

  • A description of an empirical study using over 40

reports

  • The identification of 15 system attributes that have

an impact on the maintainability of an architecture

  • An analysis of the projection of the found system

attributes onto three architectural system properties

slide-29
SLIDE 29

Criteria for the Evaluation of Implemented Architectures

Application of the results

slide-30
SLIDE 30

Criteria for the Evaluation of Implemented Architectures

Future research opportunities

slide-31
SLIDE 31

Criteria for the Evaluation of Implemented Architectures

slide-32
SLIDE 32

Criteria for the Evaluation of Implemented Architectures

slide-33
SLIDE 33

Criteria for the Evaluation of Implemented Architectures

Questions or comments?

Criteria for the Evaluation of Implemented Architectures

  • A description of an empirical study using over 40 SRA

reports

  • The identification of 15 system attributes that have an

impact on the maintainability of an implemented architecture

  • An analysis of the projection of the found system

attributes onto three architectural system properties

Feel free to contact me: e.bouwers@sig.eu