Tuesday, February 24, 2009

Software product quality

to remind:

Talking about the quality we can talk either about the
-
process quality
or
-
product quality,
which are by the way related to each other (=>). The
product quality attributes (safety, security, reliability, testability, usability, ...) are hard to measure. We measure process quality. Process quality management involves: defining process standards, monitoring development process and reporting to software project to the project manager and the buyer of the software.

Three
quality management activities:
  1. quality assurance
  2. quality planning
  3. quality control
plus remembering that quality management process is independent from software development process and, it is done by different people.. (the graph)
  1. q. assurance - defining how software quality can be achieved and checked;
    it can establish:
    • product standards -> document standards (structure of requirements, documentation standards, and coding standards)
    • process standards -> specification of the processes (processes like validation, design, specification)
      ... bla bla bla....
  2. q. planning ...bla bla bla....
  3. q. control: may be done by
    • quality reviews - review team walks through the document with the author - takes lot of time
    • automated software assessment, which may involve measuring some software attributes
..and here we got to Software measurement and metrics :)..

from the slides:

Software product quality - not only having no defects (
reliable) but also satisfies other quality requirements, e.g. functionality and usability.

There are two series of standards:
  • ISO/IEC 9126 - Product quality (inside: quality model, external metrics, internal metrics, quality in use metrics) (from these metrics company can choose what they want)
  • ISO/IEC 14598 - Product evaluation (general overview, planning and management, process for developers, process for acquires, process for evaluators, evaluation module)

  • plus... we have some additional paper but no idea what it is.. IEEE P12207/CD3 ISO/IEC 12207...
And these two are integrated into SQuaRE = Software product Quality Requirements and Evaluation, to move the two main processes of requirements specification and quality evaluation into software quality measurement process...??

EXTERNAL and INTERNAL QUALITY and QUALITY IN USE

people quality => process q. => internal q. => external q. => quality in use

'=>' means 'influences'
for the last 4 we have metrcs
the last 3 we should measure (maybe 4 also...?)

8 CHARACTERISTICS OF SOFTWARE PRODUCT QUALITY (so proud of getting it ;P)
newer version of /*eee... this thick paper we got.. ISO/IEC JTC1/SC7/.... 23 Jan, .. somthing, somthing SQuaRE, somting, Quality models for sofware product quality and system quality in use............page 15*/
  1. funcitonal suitaibility
  2. reliability
  3. performance efficiency
  4. operability
  5. security
  6. compatibility
  7. maintainability
  8. portability
---
INTERNAL METRICS - applied e.g. to non-executable software product, during its development stages (e.g. request for proposal, requirements definition, design specification, source code, ..). It helps predicting the quality of the final product. It's done early and this is good.

EXTERNAL METRICS - when executing the software product in the system environment in which it is intended to operate.. done only during testing stages of l.c. or any operational stages..

QUALITY IN USE - user's view of quality
  • efectiveness
  • productivity
  • safety
  • satisfaction