Вы находитесь на странице: 1из 10

Chapter-27

Quality Management

Difference between software system & other system:

 The fundamental reason is that software is the only field of engineering that exists in
a totally artificial environment.

 Software does not anything about civil, mechanical or industrial. In most cases it won’t
include digital circuit design, let alone analog circuit.

 Most system created by people are touchable but the system which is a software that
cannot be touchable.

Quality Management:

 Managing the quality of the software process and products.

 Quality management provides an independent check on the software development


process.

 It concerned with ensuring that the required level of quality is achieved in a software
product.

Activities of Quality Management:

Software quality management for large systems can be structured into three main activities:
 Quality assurance: Established of a framework of organisational procedures and
standards that lead to high quality software.
 Quality planning: Select applicable procedures and standards from this framework for
a particular project and modify these as required.
 Quality control: Ensure that procedures and standards are followed by the software
development team.

Scope of Quality Management:

 Quality management is particularly important for large, complex systems.

 For smaller systems, quality management needs less documentation and should focus
on establishing a quality culture.

 Techniques have to evolve when agile development is used.

1
Quality Management & Software development:

Quality management should be separate from project management to ensure independence.


The quality management process checks the project deliverables to ensure that they are
consistent with organisational standards and goals.

Fig: Quality Management & Software development

The quality team:

 Should be independent from the development group.

 Check the project deliverables to ensure they are consistent with organizational
standards and goals.

 Report problems and difficulties to senior management in the organization, to


managers above the project managers level.

Project management have to maintain the project budget and schedule. They might
compromise on project quality to meet the schedule. An independent quality management
team ensures that the organizational goals of quality are not compromised by short-term
budget and schedule considerations.

Dina, CSE 8th Batch

2
Process based quality:
There is a clear link between process and product quality in manufacturing because the
process is relatively easy to standardize and monitor. The quality of a developed product is
influenced by the quality of the production process.

The relationship between process quality and product quality is more complex. It is difficult
to measure software quality attributes, such as maintainability, even after using the software
for a long time.

Fig: Process-based quality

Process quality management and improvement can lead to fewer defects in delivered
software. Process quality management involves:

 Defining process standards such as how and when reviews should be conducted.

 Monitoring the development process to ensure that standards are being followed.

 Reporting the software process to project management and to the buyer of the
software.

One problem with process-based quality assurance is that the quality assurance team may
insist that standard processes should be used irrespective of the type of software that is being
developed.

Quality assurance:

Quality assurance is the process of defining:

 How software quality can be achieved.

 How the development organization knows that the software has the required
level of quality.

Quality assurance process is primary concerned with defining or selecting standards which
applied to the development

Dina, CSE 8th Batch

3
Advantages of quality assurance:

 Improved product quality


 Reduced cost of development
 Improved time to market
 Improved staff satisfaction
 Improved customer satisfaction
 Improved perception of organisation
 Enhanced motivation
 No barriers between workers and managers
 Competitive advantages

Dis-advantages of quality assurance:

 Time Consuming
 High initial costs

Software Standards:

Standards: Standards define the required attributes of a product or process. They play an
important role in quality management. They may be international, national, organizational
or project standards.

There are two related types of software engineering standard that may be defined and used
in software quality management:

1. Product standards.
2. Process standards.

Product Standards: These standards apply to the software product being developed. They
include document standards- The structure of requirements documents; documentation
standards- A standard comment header for an object class definition; coding standards-
which define how a programming language should be used.

Process Standards: These standards define the processes that should be followed during
software development. They should encapsulate good development practice. Process
standards may include definitions of specification, design and validation processes, process
support tools and a description of the documents that should be written during these
processes.

Product Standards Process Standards


Design review form Design review conduct
Requirements document structure Submission of new code for system building
Method header format Version release process
Java programming style Project plan approval process
Project plan format Change control process
Change request form Test recording process

4
Importance of Standards:

 Standards are developed by experts and practitioners, they capture knowledge and
lessons learned by them, do have to repeat the mistakes of the past. Encapsulation of
best practice- avoids repetition of past mistakes.

 They are a framework for quality assurance processes - they involve checking
compliance to standards.

 They provide continuity - new staff can understand the organisation by understanding
the standards that are used.

 Standards are used to software project participants (project manager, QA).

 Standards define common terminology to avoid confusion and communication


problems.

 Standards are updated regularly to capture the latest developments in the field.

 Standards can be used to define a development process or maintenance.

 Protect the software engineers who use the practices of standards.

 Specify techniques to develop software faster, cheaper, better.

Problems with Standards:

 Focusing too much on the details of standards and forgetting the end user.

 Using too many standards for software development.

 Slow evolution of standards for fast evolving technologies (web tech).

 Too many standards imposed by a customer.

 Very small projects not being able to adapt standards to their needs.

 Define ‘what’ to do and do not define ‘how’ to do.

 Expensive to buy for many organisations.

 Difficult to understand.

 Not enough support to apply them.

 Difficult to demonstrate an increase of quality.

Dina, CSE 8th Batch

5
ISO 9000 Standards:

 An international set of standards that can be used in the development of a quality


management system in all industries is called ISO9000.

 ISO 9000 standards can be applied to a range of organizations from manufacturing to


service industries.

 Quality standards and procedures should be documented in an organisational quality


manual.

 External body may certify that an organisation’s quality manual conforms to ISO 9000
standards.

 Customers are, increasingly, demanding that suppliers are ISO 9000 certified.

ISO 9001 Standards:

 The ISO 9001 standard is a framework for developing software standards.

 It sets out general quality principles

 Describes quality processes in general

 Lays out the organizational standards and procedures that should be


defined.

 ISO 9001 applicable to organisations which design, develop and maintain products.

 ISO 9001 is a generic model of the quality process that must be instantiated for each
organisation.

 The ISO 9001 standard does not define the quality processes that should be used.

 Satisfy more customers.

 This allows flexibility across industrial sectors.

Documentation Standards:
Documentation process standards define the process used to produce documents. This
means that we set out the procedures involved in document development and the software
tools used for document production.

Documentation standards in a software project are important because documents are the
only tangible way of representing the software and the software process. It helps to
consistent appearance, structure and quality so that be easily to read and understand.

Dina, CSE 8th Batch

6
Types of documentation Standards:

There are three types of documentation standards:

1. Documentation process standards: How documents should be developed, validated and


maintained.
2. Document standards: Concerned with document contents, structure, and appearance.

3. Document interchange standards: How documents are stored and interchanged


between different documentation systems.

Examples of document standards that may be developed are:

 Document identification standards: How documents are uniquely identified.

 Document structure standards: Standard structure for project documents.

 Document presentation standards: Define fonts and styles, use of logos, use of color etc.

 Document update standards: Define how changes from previous versions are reflected
in a document (change bars, shading, color)

Quality Planning:

 Process of developing a quality plan for a project.

 A quality plan sets out the desired software qualities and how these are assessed.

 It defines what “high quality software” actually means.

 It should define the quality assessment process.

 Select those organisational standards that are appropriate to a particular product


and development process.

Software quality attributes:

Quality plan should include the most important quality attributes for the software that is
being developed:

Safety Understandability Portability


Security Testability Usability
Reliability Adaptability Reusability
Resilience Modularity Efficiency
Robustness Complexity Learnability

Dina, CSE 8th Batch

7
Quality Plan Structure:

Quality planning includes:

1. Product introduction
2. Product plans
3. Process descriptions
4. Quality goals
5. Risks and risk management

1. Product introduction: Product description, intended market, and quality expectations.

2. Product plans: Release dates and responsibilities, distribution, and warranty plan.

3. Process descriptions: Development and service processes to be used for the project.

4. Quality goals: Identification of critical quality attributes.

5. Risks and risk management: Key risks and action to address these risks.

Quality Control:

Quality control involves checking the software development process to ensure that
procedures and standards are being followed. Quality control is a operational technique and
activities that are used to fulfilled requirement of quality. Two approaches to quality control:

1. Quality reviews
2. Automated software assessment and software measurement

Advantages of Quality Control:

 Reduced costs
 Performance improvement
 Updates and changes can be introduced to the following projects and plans

Disadvantages of Quality Control:

 Increased time-to-market
 More employees needed

Dina, CSE 8th Batch

8
Quality reviews:

 The principal method of validating the quality of a process or of a product.

 Group examines part or all of a process or system and its documentation to find
potential problems.

 A group of people carefully examine part or all of a software system and its
associated documentation.

 Code, designs, specifications, test plans, standards, etc. can all be reviewed.

 Software or documents may be 'signed off' at a review which signifies that progress
to the next development stage has been approved by management.

Quality reviews types:

There are different types of review with different objectives.

1. Design or program inspections (product)


2. Progress reviews (product and process)
3. Quality reviews (product and standards)
Review Type Principle purpose
Design or program inspections To detect detailed errors in the design or code and to
check whether standards have been followed. The review
should be driven by a checklist of possible errors.
Progress reviews To provide information for management about the
overall progress of the project. This is both a process and
a product review and is concerned with costs, plans and
schedules.
Quality reviews To carry out a technical analysis of product components
or documentation to find faults or mismatches between
the specification and the design, code or documentation
to ensure that defined quality standards have been
followed.

Review Process:

9
Automated software assessment and software measurement:

Automated software assessment where the software and the documents that are produced
are processed by some program and compared to the standards that apply to that particular
development project. This automated assessment may involve measuring some software
attributes and comparing these measurements with some desirable level.

Difference between quality control and quality assurance:


Quality Assurance Quality Control
Are you doing right thing? Are you doing thing right?
It is a verification tool. It is a validation tool.
It is done by auditor. It is done by tester.
It review the report. It prepare the report.
Quality in designing stage. Quality in control stage.
Customer Emphasis. Standard Emphasis.
It is a managing tool. It is a corrective tool.
It is process-oriented. It is product-oriented.
It is pro-active strategy. It is re-active strategy.
Prevention of defects. Detection of defects.
Everyone’s responsibility. Testing team’s responsibility.
Performed in parallel with a project. Performed after the final product is ready.

Dina, CSE 8th Batch

10