Software Quality Model - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Software Quality Model

Description:

Demo & Download. Demo Video - Quality Model In Action or ... Download a free trial version. Try it before you choose to buy. Talk to us at sales_at_codeswat.com ... – PowerPoint PPT presentation

Number of Views:135
Avg rating:3.0/5.0
Slides: 14
Provided by: codesw
Category:

less

Transcript and Presenter's Notes

Title: Software Quality Model


1
Software Quality Model
  • Swat4j Quality Model Overview

2
Software Metrics
  • Software metrics deals with the measurement of
    software product and the process by which it is
    developed.
  • Software metrics can be classified as either
    product metrics (internal metrics) or process
    metrics(external metrics). Product metrics are
    measure of the software product measured from
    artifacts of the software, while Process Metrics
    are measures of software development process,
    such as overall development time, methodology and
    staff experience etc.

3
Software Metrics
  • Product (Internal) Metrics such as SEI
    Maintainability Index, Cyclomatic Complexity and
    Object Oriented Metrics helps us to understand
    software quality goals such as Testability,
    Maintainability, Design Quality,
    Understandability, Reusability ..
  • One can use these metrics to understand the
    quality of code. For e.g..
  • Cyclomatic Complexity can be used to understand
    the Testability of code,
  • SEI Maintainability Index can be used to
    understand the Maintainability of code.

4
Software Best Practices
  • Disciplined personal practices can reduce defect
    introduction rates by up to 75 percent. - Barry
    Boehm, Victor R. Basili
  • Like Software Metrics, best practices rules can
    help us understand quality conformance levels of
    source code.

5
Technology
  • Fortunately we have an effective technology
    Static Code Analysis to automate these
    measurements ( Software Metrics Best
    Practices).
  • Static code analysis is a technique of analyzing
    software without actually executing it. It can be
    used to reverse engineer the structural and
    relational information of software from source
    code. A simple but very useful technique to
    automatically extract information about the
    software and its components.

Source Code
Static Analysis
Facts
6
Quality Model
  • So, automated Software Metrics and Best
    Practices measurements enables us to reflect on
    developed codes quality.
  • However, raw measurements is not enough to
    translate organizational quality vision.
  • Hence, Swat4j provides a framework to express
    common quality goals in terms of software metrics
    and software best practices, and automates the
    process of evaluating the achievements.
  • Swat4j is Java static code analyzer, but the
    model can be extended to other programming
    languages.

7
Predicate Contribution
  • Software metrics and best practices are
    collectively called as predicates of one or
    more quality goals and one or more predicates can
    contribute to evaluate a quality goal.
  • Predicate contribution can be controlled using
    weight.
  • Accepted range of predicates are controlled by
    setting best/worst thresholds.

8
Example
  • Lets take two predicates a.) Cyclomatic Complex
    of method (CC_MTD) b.) Percentage of comments in
    a method. (POC_MTD).
  • An example of predicate contribution to goals
  • Lets assume that
  • CC_MTD Best Threshold 4.0 and Worst
    Threshold9.0
  • (up to 4 conditions in a method is OK, beyond 9
    conditions in a method is to invite trouble)
  • POC_MTD Best Threshold20 and Worst Threshold5
  • (a method with 20 comment will be easy to
    understand/maintain than a method with less than
    5)
  • As we can see that CC_MTD can contribute five
    quality goals and POC_MTD contributes to three
    quality goals. For instance, Maintainability
    can be quantified using POC_MTD and CC_MTD where
    POC_MTD is twice as important as CC_MTD.
  • Swat4j provides about 150 predicates across five
    levels and six quality goals.

9
Configuring Quality Model
  • Code quality can be very ambiguous is left
    un-defined.
  • Swat4j provides a quantitative means to define a
    code quality for your project/organization and
    automates the process of evaluation.
  • Since the quality model is highly customize-able
    organizations can express quality in way that
    fits for them.

10
Further
  • Swat4j team keeps adding metrics and best
    practices from time to time.
  • Giving you more predicates to evaluate code
    quality.
  • Swat4j comes with a default quality model, which
    can be customized quickly to fit needs.
  • Swat4j team are actively involved developing
    stereo types of Quality Models for different
    types of application. For e.g.. Model for UI
    intensive apps, Model for App. Servers, etc.

11
Define, Analyze Improve
Swat4j Control Code Quality
12
Usage scenarios
  • Control quality of outsourced software
    maintenance.
  • Control quality of product development.
  • Understand softwares quality (maintainability,
    testability ..etc) before accepting software
    maintenance projects.
  • As an acceptance criteria, for outsourced
    development.
  • Evaluate open source products before adopting.
  • In learning/training environments.

13
Demo Download
  • Demo Video - Quality Model In Action or
  • Visit http//www.codeswat.com
  • Download a free trial version
  • Try it before you choose to buy
  • Talk to us at sales_at_codeswat.com
Write a Comment
User Comments (0)
About PowerShow.com