an overview of software code quality and connection to … · 2013-10-07 · an overview of...

75
Yann-Gaël Guéhéneuc This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License An Overview of Software Code Quality and Connection to Business Process Quality 1 st IEEE International Workshop on Communicating Business Process and Software Models (Quality, Understandability, and Maintainability)

Upload: others

Post on 04-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

Yann-Gaël Guéhéneuc

This work is licensed under a Creative Commons Attribution-NonCommercial-

ShareAlike 3.0 Unported License

An Overview of Software Code Quality and Connection to Business Process Quality

1st IEEE International Workshop on

Communicating Business Process

and Software Models(Quality, Understandability, and Maintainability)

Page 2: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

2/75

Page 3: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

3/75

Page 4: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

4/75

Outline

Example

Introduction

Trail

Definitions

Following the Trail

Conclusion

Page 5: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

5/75

Introduction

Software total cost of ownership (TCO) includes all the costs to acquire and keep a program running, from specifications to licenses to training

Maintenance contributes between 50% and 90% of TCO [Erlikh, Lientz]

Page 6: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

6/75

Introduction

Four factors impact maintainers [ISO9126]

– Software analysability

• Their ability to identify and understand defects

– Software Changeability

• The effort needed to change the software

– Software Stability

• The sensitivity of the software to change

– Software Testability

• The effort needed to test the software

Page 7: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

7/75

Introduction

Two factors impact software analysability

– Software quality characteristics

• ISO/IEC standards 9126:2001 and 25000:2005 decompose software quality into process quality, product quality, and quality in use

– Software products are the output of software processes. Product quality is determined by the degree to which the developed software meets the defined requirements

– Developers’ characteristics

• Status, experience, education, gender

• …

Page 8: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

8/75

Introduction

Three dimensions characterise software quality characteristics

– Functional vs. non-functional

• At runtime vs. overall

– Internal vs. external

• Maintainability vs. understandability

– Metric-based vs. practice-based

• Objective vs. subjective

Page 9: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

9/75

Introduction

Three dimensions characterise software quality characteristics

– Functional vs. non-functional

• At runtime vs. overall

– Internal vs. external

• Maintainability vs. understandability

– Metric-based vs. practice-based

• Objective vs. subjective

Page 10: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

10/75

Outline

Example

Introduction

Trail

Definitions

Following the Trail

Conclusion

Page 11: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

11/75

Trail

In this talk, we will discuss how to measure the overall quality characteristics of maintainability and understandability objectively and subjectively

Page 12: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

12/75

Trail

MaintainabilityUnderstandability

Quality Models Models

Good Practices Definition

Metrics

Detection Occurrences

Social Studies Characteristics

Eye-tracking Studies Behaviour

Factors

Measures

Page 13: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

13/75

Outline

Example

Introduction

Trail

Definitions

Following the Trail

Conclusion

Page 14: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

14/75

Definitions

Maintainability

– Ease with which a software system can be modified [IEEE Standard Glossary of Software Engineering Terminology]

Understandability

– Ease with which a software system can be understood [Boehm]

Page 15: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

15/75

Definitions

Software code artefacts

– Source code, such as Java

– UML-like models

– …

Labelled, weighted multi-graphs

Page 16: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

16/75

Definitions

Business process artefacts

– Languages, such as BEPL

– BPMN

– …

Labelled, weighted multi-graphs

Page 17: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

17/75

Outline

Example

Introduction

Trail

Definitions

Following the Trail

Conclusion

Page 18: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

18/75

Trail

MaintainabilityUnderstandability

Quality Models Models

Good Practices Definition

Metrics

Detection Occurrences

Social Studies Characteristics

Eye-tracking Studies Behaviour

Factors

Measures

Page 19: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

19/75

Quality Models

Problem: how to measure software code artefacts?Solution: define and use quality metrics and models

Page 20: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

20/75

Quality Models

Quality models

– A model with the objective to describe, assess and–or predict quality [Deissenboeck]

Metrics

Models

Page 21: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

21/75

Quality Models

Metrics have been well researched since the early days of software engineering

– Chidamber and Kemerer

– Hitz and Montazeri

– Lorenz and Kidd

– McCabe

– …

(Don’t miss Briand et al.’s surveys on the metrics of cohesion and coupling)

Page 22: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

22/75

Quality Models

Metrics alone are meaningless

– Size vs. IQ

– …

– Hotness vs. IQ [Srivastava]

http://hardsci.wordpress.com/2013/09/17/the-hotness-iq-tradeoff-in-academia/

Page 23: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

23/75

Quality Models

Few quality models exist

– Boehm’s

– ISO9126

– McCall’s

– QMOOD

– …

Page 24: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

24/75

Quality Models

Bansiya and Davis’ QMOOD

– Hierarchical model for OO designs

– Structural and behavioural design properties of classes, objects, and their relationships

• Reusability, flexibility, and complexity

– Object-oriented design metrics, such as

• Encapsulation, modularity, coupling, and cohesion

– Validated using empirical and expert opinion on several large commercial systems

Page 25: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

25/75

Quality Models

Difficulty to relate metric values with quality characteristics, such as maintainability and understandability

Difficulty to identify relevant metrics and show that the metrics measure what they are expected to measure

Page 26: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

26/75

Quality Models

Metrics

– 3QM-Framework [Overhage et al.]

– ProM [Vanderfeesten et al.]

Models

There probably exist more?

Page 27: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

27/75

Trail

MaintainabilityUnderstandability

Quality Models Models

Good Practices Definition

Metrics

Detection Occurrences

Social Studies Characteristics

Eye-tracking Studies Behaviour

Factors

Measures

Page 28: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

28/75

Good Practices

Problem: how to identify good/bad practices?Solution: collect and detect models of the practices

Page 29: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

29/75

Good Practices

Software engineering development and maintenance are based on a few principles

– SOLID

– Do not reinvent the wheel

– Beware of assumptions

– …

Page 30: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

30/75

Good Practices

Martin and Feather’s SOLID

– Single responsibility

– Open/closed

– Liskov substitution

– Interface segregation

– Dependency inversion

(Don’t miss Michael Feather’s keynote on Thursday on the software useful life)

Page 31: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

31/75

Good Practices

Each pattern describes a problem which occurs over and over again in our environ-ment, and then describes the core of the solution to that problem, in such way that you can use this solution a million times over, without ever doing it the same way twice.

—Christopher Alexander, 1977

Page 32: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

32/75

Good Practices

Important assumptions

– That patterns can be codified in such a way that they can be shared between different designers.

– That reuse will lead to “better” designs. There is an obvious question here of what constitutes “better”, but a key measure is maintainability.

—Zhang and Budgen, 2012

(With minor adaptations)

Page 33: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

33/75

Good Practices

Page 34: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

34/75

Good Practices

Design Patterns

– A general reusable solution to a commonly occurring problem within a given context in software design

Design Antipatterns

– A design pattern that may be commonly used but is ineffective/counterproductive in practice

Page 35: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

35/75

Good Practices

Pattern solution = Motif which

connotes an

elegant architecture

Page 36: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

36/75

Good Practices

How to identify

in the architecture

of a program

micro-architectures

similar to

design motifs

to explain the

problem solved?

Figure

CompositeFigureAttributeFigure PolyLineFigureDecoratorFigure

To compose objectsin a tree-like structureto describe whole–parthierarchies

Frame

DrawingEditor

Tool

Handle

Panel

DrawingView

Drawing

Figure

AbstractFigure

CompositeFigureAttributeFigure PolyLineFigureDecoratorFigure

Component

operation()

Leaf

operation()

Composite

add(Component)remove(Component)getComponent(int)operation()

ramification

For each componentscomponent.operation()

1..nClient

Page 37: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

37/75

Good Practices

What motifs and what model for these motifs?

What model for the program architecture?

How to perform the identification?

Page 38: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

38/75

Good Practices

What motifs and what model for these motifs?

What model for the program architecture?

How to perform the identification?

Design Meta-model

Design motifs and a motif meta-model

Page 39: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

39/75

Good Practices

Multi-layer framework for design motif identification

Information retrieval

– Search space

– Query

– Results

Page 40: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

40/75

Good Practices

Multi-layer framework for design motif identification

Code

Model

Model + Associations, aggregations

Model + Associations, aggregations,

and composition

Page 41: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

41/75

Good Practices

Constraint satisfaction problem solved with explanation-based constraint programming (e-CP) to obtain

– No a priori descriptions of variations

– Justification of the identified micro-architectures

– Strong interaction with the developers

Page 42: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

42/75

Good Practices – Example

Design motif ( )

Component

operation()

Leaf

operation()

Composite

add(Component)remove(Component)getComponent(int)operation()

ramification

For each componentscomponent.operation()

1..nClient

Page 43: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

43/75

Good Practices – Example

Example of JHotDraw

– Erich Gamma and Thomas Eggenschwiler

– 2D drawing

– Design patterns

Page 44: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

44/75

Goo

d P

ract

ices

–E

xam

ple

Frame

DrawingEditor

Tool

Handle

Panel

DrawingView

Drawing

Figure

AbstractFigure

CompositeFigureAttributeFigure PolyLineFigureDecoratorFigure

Page 45: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

45/75

Good Practices – Example

Micro-architecture ( )

Maintainability

Understandability

Figure

CompositeFigureAttributeFigure PolyLineFigureDecoratorFigure

Page 46: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

46/75

Component

operation()

Leaf

operation()

Composite

add(Component)remove(Component)getComponent(int)operation()

ramification

For each componentscomponent.operation()

1..nClient

Frame

DrawingEditor

Tool

Handle

Panel

DrawingView

Drawing

Figure

AbstractFigure

CompositeFigureAttributeFigure PolyLineFigureDecoratorFigure

e-CP

V = {component, leaf, composite}

C = {leaf < component, composite < component, composite component}

D = {DrawingEditor, DrawingView…}

Page 47: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

47/75

Frame

DrawingEditor

Tool

Handle

Panel

DrawingView

Drawing

Figure

AbstractFigure

CompositeFigureAttributeFigure PolyLineFigureDecoratorFigure

e-CP

V = {component, leaf, composite}

C = {leaf < component, composite < component, composite component}

D = {DrawingEditor, DrawingView…}

<< <<

Component

operation()

Leaf

operation()

Composite

add(Component)remove(Component)getComponent(int)operation()

ramification

For each componentscomponent.operation()

1..nClient

Page 48: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

48/75

Good Practices

Search space can be very large and the efficiency in time of the search very low

Use metrics and topology to reduce the search space

Page 49: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

49/75

Good Practices

“Design” patterns

– Workflow patterns [van der Aalst]

“Design” antipatterns

– In BPEL [Palma et al.]

More? Detection? Impact?

Page 50: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

50/75

Trail

MaintainabilityUnderstandability

Quality Models Models

Good Practices Definition

Metrics

Detection Occurrences

Social Studies Characteristics

Eye-tracking Studies Behaviour

Factors

Measures

Page 51: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

51/75

Social Studies

Problem: how to characterise developers?Solution: study developers’ social behaviours

Page 52: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

52/75

Social Studies

Developers’ characteristics

– Gender

• Males vs. females

– Professional status

• Practitioner vs. Students

– Expertise

• Experts vs. novices

(Don’t miss the sessions Developers, What are you Thinking? and Context)

Page 53: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

53/75

Social Studies

Such studies are typically experiments

– Independent variable (few)

– Dependent variables (many)

– Statistical analyses

– Threats to validity

Page 54: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

54/75

Social Studies

For example, impact on identifiers on program understandability

– Identifier styles [Sharif, Binkley]

– Identifier quality [Lawrie]

– Developers’ gender and identifiers [Sharafi]

– …

Page 55: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

55/75

Social Studies

Independent variables

– Gender: male vs. female

– Identifier: camel case vs. underscore

Dependent variables

– Accuracy

– Time

– Effort

Page 56: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

56/75

Social Studies

Subjects

Conclusions

Subjects’ Demography(24 Subjects)

Academic background Gender

Ph.D. M.Sc. B.Sc. Male Female

11 10 3 15 9

Accuracy Time Effort

Page 57: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

57/75

Social Studies

Threats to validity

– Construct validity

• Measurements represent the construct being studied

– Internal validity

• A causal conclusion based on the study is warranted

– External validity

• Extent to which the results of the study can be generalised to other contexts or developers

– Conclusion validity

• Whether the presumed cause and effect covary

Page 58: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

58/75

Social Studies

Few studies

– Notations [Recker, Reijers]

• Understandability

• Personal factors

• Model factors

– Structuredness [Dumas et al.]

• Understanding

– Others?

Page 59: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

59/75

Trail

MaintainabilityUnderstandability

Quality Models Models

Good Practices Definition

Metrics

Detection Occurrences

Social Studies Characteristics

Eye-tracking Studies Behaviour

Factors

Measures

Page 60: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

60/75

Eye-tracking Studies

Problem: how to study developers’ behaviour?Solution: study developers’ thought processes

Page 61: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

61/75

Eye-tracking Studies

Developers’ thought processes

– Cognitive theories

• Brooks’

• Von Mayrhauser’s

• Pennington’s

• Soloway’s

– Mental models

• Gentner and Stevens’ mental models

– Memory theories

• Kelly’s categories

• Minsky’s frames

• Piaget’s schema

• Schank’s scripts

Page 62: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

62/75

Eye-tracking Studies

Studying developers’thought processes

– Yarbus’ eye-movements and vision

– Just and Carpenter’s eye-mind hypothesis

– Palmer’s vision science

– …

Page 63: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

63/75

Eye-tracking Studies

Picking into developers’ thought processes

Page 64: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

64/75

Eye-tracking Studies

Picking into developers’ thought processes

Page 65: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

65/75

Eye-tracking Studies

Such studies are typically experiments

– Independent variable (few)

– Dependent variables (many)

– Statistical analyses

– Threats to validity

Page 66: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

66/75

Eye-tracking Studies

For example, impact of design pattern notations

– Strongly visual [Schauer and Keler]

– Strongly textual [Dong et al.]

– Mixed [Vlissides]

– …

Page 67: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

67/75

Eye-tracking Studies

Independent variables

– Design pattern notations

– Tasks: Participation, Composition, Role

Dependent variables

– Average fixation duration

– Ratio of fixations

– Ration of fixation times

Page 68: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

68/75

Eye-tracking Studies

Subjects

– 24 Ph.D. and M.Sc. students

Conclusions

– Stereotype-enhanced UML diagram [Dong et al.]

more efficient for Composition and Role

– UML collaboration notation and the pattern-enhanced class diagrams more efficient for Participation

Page 69: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

69/75

Eye-tracking Studies

Threats to validity

– Construct validity

– Internal validity

– External validity

– Conclusion validity

Page 70: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

70/75

Eye-tracking Studies

One study

– Relevant regions [Petrusel and Mendling]

• Fixations

• Fixation time

– Others?

Page 71: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

71/75

Outline

Example

Introduction

Trail

Definitions

Following the Trail

Conclusion

Page 72: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

72/75

Conclusion

How to measure the overall quality characteristics of maintainability and understandability objectively and subjectively?

Focus on source code artefacts modelled as graphs, business process can be modelled as graphs too

Page 73: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

73/75

Conclusion

Software code quality is based on the modelling of code as graphs and on

– Quality metrics

– Quality models

– Good practices

and depends

– Experiences

– Human factors

Page 74: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

74/75

Conclusion

Business process quality could also be based on the modelling of business process code as graphs and follow similar research directions as source code?

Page 75: An Overview of Software Code Quality and Connection to … · 2013-10-07 · An Overview of Software Code Quality and Connection to Business Process Quality 1st IEEE International

75/75

MaintainabilityUnderstandability

Quality Models Models

Good Practices Definition

Metrics

Detection Occurrences

Social Studies Characteristics

Eye-tracking Studies Behaviour

Factors

Measures