Quality for Components: Component and Component-Based Software Quality Issues - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Quality for Components: Component and Component-Based Software Quality Issues

Description:

21-22 May 2004. IMPROQ 2004 / Impact of SW Processes on ... Strong interrelationship between CBSE and Organization-wide quality improvement. set up tasks: ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 17
Provided by: yusufa
Category:

less

Transcript and Presenter's Notes

Title: Quality for Components: Component and Component-Based Software Quality Issues


1
Quality for Components Component and
Component-Based Software Quality Issues
  • Yusuf Altunel
  • Istanbul Kültür University, Department of
    Computer Engineering
  • Mehmet R. Tolun
  • Çankaya University, Department of Computer
    Engineering

2
Outline
  • Software components
  • and component-based software systems
  • have the capacity to
  • enhance the productivity,
  • reduce the time-to-market, and
  • increase the confidence on the software.
  • Build up software out of reusable components
  • satisfying the quality requirements
  • helps to meet the goals of software production.
  • The problems of the component market
  • and the market-oriented components
  • prevent the wide application of component based
    software production.
  • In this paper we investigate
  • the quality related problems of CBD
  • and the possible solutions.

3
Introduction
  • Quality focus in component-based software
    engineering (CBSE)
  • is the base layer
  • methodology in the area must be based on
  • Component market,
  • is a priori condition to maximize the
    intra-organizational software reusability,
  • cannot emerge without supplying high-quality
    products
  • Building up software out of components
  • Requires sufficient number of market components
  • To make the selection out of choices
  • Common belief
  • Market components are not reliable
  • Prevents the emergence of mature market.
  • Solution
  • Resolve quality problems of market components
  • Third-party certification programs.

4
Definition Product Quality
  • ensuring the satisfaction of functional and
    non-functional characteristics, which will
    determine the level of user satisfaction and
    conforming expectations
  • product characteristics
  • Some will reduce the software quality,
  • Some are neutral,
  • some will reduce the quality.
  • Software quality is defined as the level of a
    software system possessing the desired set of
    attributes 6, and lacking the undesired
    characteristics
  • There is a need to define a methodology
  • to specify softwares quality-related
    characteristics
  • To define metrics to objectively measure
    products quality

5
Definitions
  • A quality attribute
  • a quality property representing
  • a non-functional characteristics of a software
    system
  • to assign a metric
  • is a non-functional characteristic of a software
    system
  • Examples
  • functionality, reliability, usability,
    efficiency, maintainability, and portability.
  • A quality model
  • the set of characteristics and sub-characteristics
  • to provide a basis in specifying the quality
    requirements of a software system

6
Quality Assurance (QA)
  • Helps to localize the effects of changes
  • on the product reducing the ripple effects.
  • Component-based Quality Assurance
  • Increasing the modularity using components
  • will increase the speed of incremental delivery
  • help the developers to reduce time-to-market.
  • Component reuse might cause
  • integration difficulties,
  • performance problems,
  • incompatibility among products of different
    vendors.
  • reliability and performance problems
  • due to poor testing
  • The main focus in CBD quality assurance
  • to maximize the product quality
  • adequately describe the quality characteristics
  • increase the conformance to the standards

7
Importance of QA
  • Trusting to the code
  • constructed outside of the organization
  • is a basic prerequisite
  • to widespread use of commercial of-the-shelf
    (COTS) components
  • Third-party component licensing
  • To increase the trustworthiness of the components
  • To discipline and enhance the overall quality of
    market components.
  • confidence on the market components maintained
  • showing the components satisfy
  • functional and non-functional requirements.
  • quality assurance activities help
  • Increasing the externally developed software code
    reuse
  • Appearing more suitable market conditions

8
Component Quality Assessment
  • A metric for quality measurement
  • a value that can be assigned to a quality
    attribute.
  • To assess component quality
  • define quality metrics with
  • statistical evidence showing the correspondence
    between the quality and its metrics.
  • code oriented measure is generally not feasible
  • due to the lack of the source code for outsourced
    components.
  • Quality metrics are used
  • to evaluate the quality level of components
  • before making the purchase or develop decisions.

9
CBSE Metrics
  • Management metrics
  • cost,
  • time to market,
  • software engineering environment
  • system resource utilization.
  • Requirements metrics
  • requirements conformance,
  • requirements stability.
  • Quality oriented metrics
  • adaptability,
  • complexity of interfaces and integration,
  • integration test coverage,
  • end-to-end test coverage,
  • fault profiles,
  • reliability,
  • customer satisfaction

10
CBSE and Organization-wide Quality Improvement
  • Strong interrelationship between CBSE and
    Organization-wide quality improvement
  • set up tasks
  • Producing quality plan ,
  • Define and apply quality and productivity
    measures,
  • Investigate the measures and measure results,
  • Execute correction actions,
  • Analyse the results.
  • Some reasons of unsuccessful CBSE projects
  • Low process maturity,
  • lacking the coordination and management,
  • absence of
  • well-tested, undocumented and ill-defined reuse
    oriented
  • methods, models, and processes

11
Enhancement of CBSE Quality
  • Component manufacturers
  • Establish organization-wide assessment standards.
  • Discover the rules to define such standards
  • Use the knowledge obtained from previous projects
  • to adjust component production activities.
  • Component consumers
  • Reuse might improve overall software quality
  • Components are reusable software units
  • Provide efficient reuse
  • To reduce the quality assurance effort and
    integration problems

12
Issues in Implementing Systematic Reuse
  • Managerial issues
  • to promote and reward reuse,
  • Economic issues
  • to make reuse economical,
  • Legal issues
  • to protect the legal rights of reuse
  • Technical issues
  • to apply technical variables
  • design method,
  • coding standards and practices,
  • reuse library indexing methods.

13
Cost of Quality
  • Costs of lacking the quality
  • Internal failure costs
  • the defects determined prior to
  • delivery of shipment of the product
  • Measured to analyse and improve
  • the component development process
  • External failure costs
  • occur after the delivery or shipment of the
    product
  • cover efforts to detect and correct problems
  • Costs to achieve quality
  • Appraisal costs
  • costs of measuring, evaluating, or auditing
    products
  • assure conformance
  • to quality standards and performance
    requirements.
  • Measured for cost/benefit analysis
  • To produce higher quality components and
    component-based software
  • Prevention costs
  • Costs associated with activities designed
  • to keep failure and appraisal costs to minimum

14
Conclusions
  • The lack-of-the quality
  • is a general problem of software development
  • has a vital importance for CBSE
  • An obstacle preventing the wide application of
    the CBSE.
  • CBSE provides a radical change in software
    development
  • construct the software systems out of quality
    components
  • instead of developing every piece of code from
    scratch.
  • wide application of software
  • developed outside of the organization.
  • confidence on the software developed outside of
    the organization
  • the component producers must concentrate on
    quality issues
  • Deal with extra costs and further activities
  • Extra resource allocation
  • increasing and assuring quality,
  • identifying and mitigating the risks related with
    the quality
  • quality planning and tracking activities

15
Conclusion-contd
  • Radical change is required to
  • Existing software development style
  • Software development culture
  • continuous process improvement.
  • Define formal processes
  • Regular data collection
  • to assess and improve the development
  • Classical SW development methodologies
  • not useful to reduce
  • the number of failures lower than a certain
    level,
  • Reason every piece of code is developed from
    scratch
  • Component defects
  • Must be minimized in component-based software
    production.
  • New SW development methodology
  • To constructs SW out of qualified components
  • Making the whole system
  • More trustable,
  • more efficient,
  • easier to maintain

16
End of Presentation
  • Questions and further discussions
Write a Comment
User Comments (0)
About PowerShow.com