26
CERN GS Department CH-1211 Genève 23 Switzerland Internet Services GS AI S General Services Department GS Administrative Information Services How to be aware of Software Quality David Gonzalez Maline May 15 th 2012

How to be aware of Software Quality

  • Upload
    nani

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

How to be aware of Software Quality. David Gonzalez Maline May 15 th 2012. How do we measure SQ?. What is Software Quality?. Functional Requirements: Is the software useful to the users? Non Functional Requirements : Is the design appropriate? Is it easy to understand/maintain?. - PowerPoint PPT Presentation

Citation preview

Page 1: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS General Services

DepartmentGS

Administrative Information Services

How to be aware ofSoftware Quality

David Gonzalez MalineMay 15th 2012

Page 2: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

How do we measure SQ?

Page 3: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

What is Software Quality?

Functional Requirements:

• Is the software useful to the users?

Non Functional Requirements:

• Is the design appropriate?

• Is it easy to understand/maintain?

Page 4: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Find the right perspective

Page 5: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

The 10.000ft view

http://softarch.97things.oreilly.com/wiki/index.php/Get_the_1000ft_view

• Is at the right level

• Aggregates data and metrics

• Uses visual techniques

• Depends on the question

Page 6: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Metrics

• Lines of Code

• Size of Method

• Size of Classes

• Duplication

• Different complexities

Page 7: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Functional Requirements

http://www.alfredodehoces.com/fuckowski-on-line

Page 8: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Code Coverage

Page 9: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Test/Code Ratio

Page 10: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Cyclomatic Complexity

A control flow graph of a simple program. The program begins executing at the red node, then enters a loop (group of three nodes immediately below the red node). On exiting the loop, there is a conditional statement (group below the loop), and finally the program exits at the blue node. For this graph, E = 9, N = 8 and P = 1, so the cyclomatic complexity of the program is 9 - 8 + (2*1) = 3.

Page 11: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Toxicity Chart

Page 12: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Dependency Structure Matrix

Page 13: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Dependency Structure Matrix

Pastaf

arian

!

Page 14: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Dependency Structure Matrix

Page 15: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Dependency graphs

Page 16: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Tree Maps

Page 17: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

System Complexity View

Page 18: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Environment Set Up

Page 19: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Environment Set Up

Page 20: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Environment Set Up

Page 21: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Environment Set Up

Page 22: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Environment Set Up

Page 23: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Environment Set Up

Introscope® Workstation

Page 24: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

How do you see quality?

Making comparisions

• Industry standards

• Trends

• Outliers

Aesthetics

• Symmetry

• Balance/harmony

Page 25: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Beware of this religion!

Page 26: How to be aware of Software Quality

CERN GS Department

CH-1211 Genève 23

Switzerlandcern.ch/gs-dep

InternetServices

GSAIS

Спасибо[email protected]