• No results found

Lecture 11-12

N/A
N/A
Protected

Academic year: 2020

Share "Lecture 11-12"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Quality Engineering

BS(SE)-VI

Dr. Assad Abbas

Department of Computer Science

(2)

2

9/22/20

Topics

n

QA activities in software processes

n

The SQA System - An Architecture View

5

SQA system component classes

g Pre-project quality components

g Project life cycle quality components

g Infrastructure error preventive and improvement components g Software quality management components

(3)

Quality Assurance Activities in Software Processes

n

QA activities form an integral part of the overall software

process

QA in software development and maintenance processes

n

QA in maintenance process focuses on defect handling

5 to make sure that each problem reported by customers from field operations is logged, analyzed, and resolved, and a complete

tracking record is kept so that we can learn from past problems for future quality improvement

n

Most of the core QA activities, including defect prevention and

defect reduction, are performed during software development

instead of during in-field software support after product

(4)

4

9/22/20

QA in the Waterfall Process

n

Development activities are typically grouped into

(5)

Quality Assurance Activities in Software Processes

n

Error source removal, a primary method of defect

preventions, is closely associated with these early

development phases

n

Although some faults could be injected into the software

systems during testing and other late development phases,

the vast majority of faults are injected in the early

development phases, particularly in detailed design and

implementation phases.

(6)

6

9/22/20

The components of the software quality assurance system–

overview

(7)

The SQA System - An Architecture View

n Objective: To provide an insight to the Software Quality Assurance (SQA)

System and the components it uses to ensure an acceptable level of quality is met.

n An SQA system always combines a wide range of SQA components, all of

which are employed to challenge the multitude of sources of software errors and to achieve an acceptable level of software quality

n SQA has many definitions. However, most people agree that it can be defined

as:

5 “A planned and systematic approach to the evaluation of the quality of and

adherence to the software product standards, processes and procedures” [1]

n Another formal definition is known as:

5 To assure that the standards, processes, and procedures are appropriate for

the project and are correctly implemented.” [2]

(8)

8

9/22/20

The SQA System - An Architecture View

n

SQA is a way of

monitoring

the software engineering process to

ensure that the standards and procedures are met.

n

Clear definitions of the

standards

and

procedures

are vital as

SQA relies upon these to determine the quality of the software

and to measure the project compliance.

(9)

Software Quality Assurance Components

n The SQA Components that are used by the SQA System can be

classified into six different categories; each of which is necessary to

guarantee maximum quality and to ensure the compliance with the standards and procedures.

5 Pre-project quality components

5 Project life cycle quality components

5 Infrastructure error preventive and improvement components 5 Software quality management components

5 Standardization, certification and SQA assessment components 5 Organizing for SQA – the human components

n The environment in which software development and maintenance is

undertaken, directly influences the SQA components. Alongside this

various errors will also affect the SQA components; therefore it is usually necessary to include all of the components.” [3]

(10)

10

9/22/20

(11)

1. Pre-Project Components

n

The Pre-Project component

ensures

that the project has been

adequately defined

ensuring that the

resources available

,

budget

and so forth have not been

misinterpreted

by the client

or the organisation.

n

This improves the preliminary steps taken prior to

initiating

work

on the project itself, thus leading to

fewer errors

later in

the development phase.

n

There are two key concepts to this component:

5

Contract review

(12)

12

9/22/20

1. Pre-Project Components

n

1.1 Contract Review

5

The Contract Review begins the

negotiations

of a

contract between the company and the client. One of

the key focuses is on the

areas or points

that could go

wrong, known as development risks.

5

The contract ensures that

commitments

have been

documented including an

agreement upon the functional

specification, budget and the schedule

.

5

The contract review activities must include

g

a detailed examination of the

project proposal draft

and

(13)

1. Pre-Project Components

5

Specifically, contract review activities include:

g Clarification of the customer’s requirements

g Review of the project’s schedule and resource requirement estimates

g Evaluation of the professional staff’s capacity to carry out the proposed project

g Evaluation of the customer’s capacity to fulfill his/her obligations g Evaluation of development risks.

5

A

checklist

is often used by reviewers to make this stage

easier and it is expected that the review stage will occur

more than once.

5

The outcome from this stage

(14)

14

9/22/20

1. Pre-Project Components

n

1.2 Development and Quality Plans

5

The development and Quality Plans stage occurs once an

agreement

has been made and a

software development

contract

has been signed.

5

The development plan focuses on several specific elements,

some of which are:

g The products of the project

g Project interfaces-- detailing what, if any, interfaces the product will have with existing software packages.

(15)

1. Pre-Project Components

5

The quality plan has four main elements; however, how

many of these are used is dependent upon the project.

g Quality Goals refers to the goals of the product, it is always better to have more goals as it is easier to see how well the system

performs.

g Planned review activities are a listing of all the planned reviews such as Design Reviews (DR) and Code Inspections.

g Planned software tests details all the software tests that are to be performed with details such as the unit, integration or complete system to be tested.

g Finally, planned acceptance tests for externally developed software; this is only necessary for products not developed in-house.

5

Approval of the two plans is

necessary

and is

approved or

rejected

according to the procedures within the

(16)

16

9/22/20

2. Project Lifecycle Activities and Assessment

n This component has two main stages:

5 The Development Lifecycle stage which aims to detect design and programming errors.

5 The Operation-Maintenance stage focuses on maintenance tasks that improve functionality.

n When developing the product there are a number of activities that take

place:

5 Reviews, such as formal design reviews and peer reviews 5 expert opinions,

5 software testing,

n The SQA components used during the operation–maintenance phase

(17)

3. Infrastructure Components for Error Prevention and

Improvement

n The main goal of this component is to reduce the number of errors in the

system and improve productivity that can be achieved through the use of a number of sub-components:

1. Procedures and Work Instructions

5 A procedure describes how the process, a specific development activity, is

performed whilst a work instruction is more specific and provides detailed directions for the use of methods.

5 Having a detailed guideline ensures that all members know how to achieve

some goal.

n “Work instructions and procedures contribute to the correct and effective performance of established technologies and routines” [4]

(18)

18

9/22/20

3. Infrastructure Components for Error Prevention and

Improvement

2. Supporting Quality Devices

5 Used to maximise efficiency and quality.

5 A quality device could be a template or a checklist which saves time as the document will be complete and will not have to be developed, from scratch each time.

5 Using Quality Devices offers an improved form of communication and

provides standardisation within the organisation as each document will be of the same nature.

3. Staff Training, Instruction and Certification

5 Staff training is a vital element to avoiding errors throughout the development of the system.

5 Having well trained professional staff enables efficient and high quality performance from each member.

(19)

3. Infrastructure Components for Error Prevention and

Improvement

4.

Preventive and Corrective Actions

5

Studying

existing data

for similar faults and failures

can enable future ones to be solved easily either by

correcting it once it has occurred or by preventing it

from happening.

5

The data should be

recorded

in design review reports,

software test reports or customer complaints.

(20)

20

9/22/20

3. Infrastructure Components for Error Prevention and

Improvement …

5. Configuration Management

5 This deals with the dangers of version releases.

5 With intense work focusing on new versions and new software

releases dangers arise when different members carry out the same tasks.

5 This can lead to misidentification or the versions or releases or loss of records or development activities.

5 Configuration management introduces procedures that are used to

control the change process and monitor it.

6. Documentation Control

5 Document Control is necessary to ensure long term availability of controlled documents.

5 Controlled documents are maintained and updated.

(21)

4. Software Quality Management

n Quality management not only focuses on product quality but also the means

in which it can be achieved.

n Some of the components used to support the managerial control of software

development projects are:

5 Project Progress Control, Software Quality Metrics and Software Quality costs.

n The aim of Project Progress Control is simply to monitor the progress of the

project to ensure that it does not deviate from its initial plans.

5 It focuses particularly on monitoring resource usages, schedules (whether they are being met), risk management activities and the budget.

n A Software Quality Metric is a measurement that is used to evaluate

software quality in a system.

5 The measures can apply to functional quality, productivity and the organization side of the project.

n The Software Quality Costs are the costs that incur throughout the entire

project; the total cost is calculated from the costs of control and the costs of failure.

(22)

22

9/22/20

5. SQA Standards, System Certification, and Assessment

Components

n

This component focuses on using

external tools

to

achieve the, in-house, goals of software quality

assurance. There are three main objectives:

5

Utilization of

international professional

knowledge.

5

Improvement of

coordination

with other organizations

quality systems.

5

Objective

professional evaluation

and

measurement

of the

achievements of the organizations quality systems.

n

The outcome of this component is simply to use external

(23)

6. Organizing for SQA – The Human Components

n SQA cannot be directly applied to an organization; instead an

organizational base is required.

n The organizational base is collectively made up of the SQA Unit, SQA

trustees, committees and forums along with the continuous support of the management.

n The SQA Unit focuses purely on Software Quality Assurance, thus

ensuring that all standards, procedures and components are efficiently and correctly in use. This is, in part, done through the audits and quality

programs that the SQA Unit is required to produce.

n Management must ensure that all staff are aware of the quality policy, they

are required to define sufficient resources and accurately assign an adequate number of staff to the tasks.

n The SQA organizational base has three main objectives:

1. To aid the development and implementation of the SQA system.

(24)

24

9/22/20

Final Words

n The SQA System is a vital element in any software development project.

n With the difficulties of invisible defects it provides a useful mechanism to

reduce the number of errors and prevent further errors in future projects.

09/22/2020

Software Quality Engineering (CSE302)

(25)

References

1.

Software Quality Assurance: from Theory to

Implementation. Daniel Galin, Chapter 4, Pearson

Education, 2004.

2.

R A Khan, K Mustafa and SI Ahson (2006) Software

Quality; Concepts and Practices, Alpha Science Intl

ltd, England.

3.

http://cs.nott.ac.uk/~cah/G53QAT/G53QAT.html

4.

http://casd.csie.ncku.edu.tw/sq/ch04.ppt

5.

http://kur2003.if.itb.ac.id/file/SW%20Quality

%20Components.pdf

6.

References

Related documents

Resume recovery feature of Stellar Phoenix Photo Recovery allows you to recover photos, audio and video files using saved scan information file or image file.. You can use the

As of 1994, 263 physi- cians have completed family practice training in Massachusetts, 31 graduates from the New England Memorial Hospital Program and 232 from the

This study attempts to document the experiences of African American gay men to look at the ways in which racial identity interacts with sexual identity, to look at the ways that

Generation of gene deficient mice „knock-out“...

The back ground characteristics consisting of child’s gender, his/her mother’s educational attainment, source of drinking water, region, residential area, wealth index, size

Customer to pay any amount within ten (10) days after the amount is due and payable, b) abuse of the System or the equipment, c) dissolution, termination, discontinuance,

For the Holley 2300 HP approved metering blocks, the amount of holes and passages and the location must remain as manufactured with screw in emulsion bleed jets in each jet passage,