Subject Name: Information System: Analysis Design &
Implementation
Subject Code : BCA 602 (N)
Topic : Software Quality
HIMANSHU SHUKLA
Department of Computer Application
UIET, CSJM University, Kanpur
Software Quality
Software Quality
Quality factor is a non-functional requirements which is not called up
by customer’s contract. The attributes are specific to Project. Some
quality factors are listed below :
1) Understandibility ( Easy to understand by novice user )
2) Completeness ( Fully developed and fully explained )
3) Conciseness ( To the point )
4) Portability ( Irrespective of architecture and platform )
5) Consistency ( Used uniform nomenclature or symbol )
6) Maintainability (Upgradtion of product as per user’s requirement)
7) Usability ( Easy to use )
8) Reliability ( Probability of free fail operation )
9) Structured ( Well defined structure )
10) Efficiency ( Performance in terms of throughput )
11) Security
ISO ( International Standard Organisation
)
ISO has developed quality system for the management and to
control the quality of product at every stage of design and
development, planning, production, installation and service.
ISO 9000 quality systems guidelines the direction of selection and
use of standards on quality system.
ISO 9001 models for quality assurance in design, development,
production, installation and servicing.
ISO 9002 model for quality assurance in production and
installation ( it deals with already established design )
ISO 9003 model for quality assurance during final inspection and
test.
ISO 9004 model for quality system guidelines on eligance of
quality management system (detection of customer need and
satisfaction )
Features
1) Management Responsibility.
2) Quality System.
3) Contract Review.
4) Inspection and Testing.
5) Corrective Action.
6) Handling storage, preservation, packaging and delivery.
7) Quality Records.
8) Internal Quality Audit.
9) Training and Human Resource Development.
10) Servicing.
11) Statistical Technique.
CMM ( Capability Maturity model )
The Capability Maturity Model (CMM) is a procedure used to develop
and refine an organization's software development process.
The model defines a five-level evolutionary stage of increasingly
organized and consistently more mature processes.
CMM was developed and is promoted by the Software Engineering
Institute (SEI), a research and development center promote by the U.S.
Department of Defence (DOD).
Capability Maturity Model is used as a benchmark to measure the
maturity of an organization's software process.
The higher the level, the better the software development process, hence
reaching each level is an expensive and time-consuming process.
Capability Maturity model ( Level )
CMM categorized software development industries into the following five
maturity levels. The various levels of SEI CMM have been designed so that
it is easy for an organization to build its quality system starting from scratch
slowly.
Level One :Initial - The software process is characterized as inconsistent,
and occasionally even chaotic. Defined processes and standard practices
that exist are abandoned during a crisis. Success of the organization
majorly depends on an individual effort, talent, and heroics. The heroes
eventually move on to other organizations taking their wealth of
knowledge or lessons learnt with them.
Level Two: Repeatable - This level of Software Development
Organization has a basic and consistent project management
processes to track cost, schedule, and functionality. The process is
in place to repeat the earlier successes on projects with similar
applications. Program management is a key characteristic of a level
two organization.
Level Three: Defined - The software process for both management and
engineering activities are documented, standardized, and integrated into
a standard software process for the entire organization and all projects
across the organization use an approved, tailored version of the
organization's standard software process for developing, testing and
maintaining the application.
Level Four: Managed - Management can effectively control the
software development effort using precise measurements. At this level,
organization set a quantitative quality goal for both software process
and software maintenance. At this maturity level, the performance of
processes is controlled using statistical and other quantitative
techniques, and is quantitatively predictable.
Level Five: Optimizing - The Key characteristic of this level is
focusing on continually improving process performance through both
incremental and innovative technological improvements. At this level,
changes to the process are to improve the process performance and at
the same time maintaining statistical probability to achieve the
established quantitative process-improvement objectives.