Software Quality Factors

System's features/characteristics meets requirements and customer & user needs/expectations

Entity

Final deliverable or intermediate product or process

Viewpoint/stakeholder

End-user,design-team,project manager,etc.

Attribute: depends on the entity and the viewpoint

Readability, usability, portability, etc.

Product quality factor: Maintainability of a system can be increased through

  • A highly modular (criterion) software which allows designers to put cohesive components in one module.
    • Modularity is an attribute of the software architecture (artifact)

Product Quality

Quality Aspect Factor degree to which a (final and intermediate) software artifact possesses characteristics/attributes desirable to stakeholders

Tend to be domain specific, pertaining to related app, components, or users. Grouped on 3 categories based on product STATE:

  • Operation
  • Revision
  • Transition

Product Quality Factors Developer/User product Quality Factors User oriented vs developer oriented product quality requirements have tension, so a quality trade-off analysis must be done - A defect based metric:

  • Defect (fault tree): quality is measured by faults
  • Suitability for use : quality measured by problem reports

Fault: incorrect step, process, or data definition in a program - a DEFECT. static char of software artifact. originates in specs, design, or implementation. activation -> error

Error: part of artifact state, can propagate to failure

Failure: inability to perform req'd fn w/in specified performance requirement - seen if fault is visible.User doesn't get what they expect. When software artifact is executing. Faults and Propogation

Process Quality

Quality Factors of the process used to develop, operate, and maintain (final or intermediate) software artifacts. Good Process = Good Product

Boehm and Papccio: Costs of Defects

If it costs $1 to find and fix a requirement-based problem during the requirements definitions, it can cost

  • $5 during design
  • $10 during coding
  • $20 during unit test
  • $200 at production

Defects Based on Function Point

Quality Factors

Characteristics/attributes capturing quality that is desirable to stakeholders (i.e. maintainability, reliability, usability, etc.)

  • Determines if desired quality is reached
  • foundation for reaching quality goals, policies, requirements, and architectural mechanism to fulfill them
  • Should be identified for all software artifacts

Quality Criteria

Quality factor attributes related to software development artifact/process

Quality Requirements

Minimum acceptable amount of quality factors & quality measures

Quality Framework

Software Quality Model

Standardizes relevant factors and criteria of quality for software systems

  • Decomposes quality concepts into taxonomy of quality factors
  • Provides specific quality criteria and measures - obtain unambiguous and testable quality requirements

EXAMPLES: they vary in completeness and usability.

ISO 9126

  • Aims to eliminate any misunderstanding of quality aspects between customer and supplier.Users are mainly interested in using the software, its performance, and effects of it's use.

  • Users evaluate the software without knowing the internal aspects of the software, or how the software is developed

  • Development requires users and engineers - same quality factors as requirement and acceptance
    • Engineers need a common base of criteria to support and evaluate quality factors across multiple intermediate artifacts at each phase of the development cycle
    • Managers are interested in overall quality and balance. Weights are needed to reflect business requirements in overall quality. Quality improvement & management project criteria should be balanced i.e. schedule delay or cost overrun - optimize quality within limited cost, human resources, and time-frame.

Quality Metrics

Quantifies factor/citerion, making it measurable, objective, and unambiguous.

Quality Factor Measured By
Performance Processed transactions/second, User/Event response time Screen refresh time
Ease of Use Training time, Number of help frames
Reliability Mean time to failure, Probability of unavailability Rate of failure occurrence
Robustness Time to restart after failure, Percentage of events causing failure Probability of data corruption on failure
Portability Percentage of target dependent, statements Number of target systems

Software Measurements

Numbers/symbols assigned to quality factors/criteria according to a set of clearly defined rules (i.e KLOC, 1, 50%, medium, poor, strong).

Static from software artifacts

Size of source code, cyclomatic number

Dynamic from observation of software execution

CPU Execution time

Direct

Size, effort

Indirect measures derived from direct measures

Failure intensity (amount/time)

results matching ""

    No results matching ""