software quality management standards

16
Software Quality Management Standards (SQMS) MCN 8108 Software Quality Assurance & Testing Class Presentations. Nov 05 . 2011 ALOYSIUS OCHOLA 2010/HD18/431U , [email protected] MAKERERE UNIVERSITY Faculty of Computing and Informatics Technology

Upload: gen-aloys-ochola-badde

Post on 19-Jan-2015

740 views

Category:

Education


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Software quality management standards

Software Quality Management Standards

(SQMS)

MCN 8108 Software Quality Assurance & Testing

Class Presentations. Nov 05 . 2011

ALOYSIUS OCHOLA2010/HD18/431U , [email protected]

MAKERERE UNIVERSITYFaculty of Computing and Informatics Technology

Page 2: Software quality management standards

Software Quality Quality

• Generally an excellence of standard or level Software Quality

• When its bug free, delivered on time and within budget, meets requirements, expectations and is maintainable.

Some Problems Affecting SQ• Tension between quality attributes

• Customer vs Developer points of view

• Requirements and associated problems• ambiguity

• Incompleteness

• Changes during development, etc

Page 3: Software quality management standards

Software Quality Management

Aimed  to manage  the quality of  software and of  its development process

Encapsulate 3 major procedural activities• Software Quality Assurance(SQA)

• Establish organisational procedures and standards for quality

• Software Quality Plan (SQP)• Select applicable procedures and  standards  for a particular project 

and modify these as required

• Software Quality Control (SQC) • Ensure that procedures and standards are followed by the software 

development team

Page 4: Software quality management standards

Software Quality Assurance

Monitors  and  tries  to  improve  the  development  process  from  the beginning of the project to ensure Quality.

Also  ensures  that  the  Software  project  is  based  on  previously  agreed specifications,  standards  and  functionality  and  does  not  defects  and possible problems.

Encompasses the entire software development process

• Requirements definition• Software Architecture (design and coding process)• Implementation and Testing• Documentation• Training and Support• Maintenance

Incorporated knowledge base of best practices Off­the­shelf software tools selected to be used during the process

Page 5: Software quality management standards

Software Quality Plan

A project level quality plan written for declaring project commitment to follow an applicable set of standards, regulations tools during the development life­cycle

Contain  quality  goals  to  be  achieved,  expected  risks  and  risk management

SQP sources are derived from

• SQA components that are adopted or customized to the project's needs

• New procedures, standards and tools complementing missing or not-applicable SQA components

Any deviation of an SQP from SQA should be justified by the project manager and be confirmed by the company management

Page 6: Software quality management standards

Software Quality Control

Ensures  in­process  that  both  SQA  and  SQP  are  being followed by the development teams

SQC activities include• Mentoring how to produce artifacts, Ex well-defined

engineering documents using standard templates• Mentoring how to conduct standard processes, such as

quality reviews• Perform in-process quality reviews to verify, evaluate

and confirm artifacts• Verify and evaluate to improve the use of methods,

procedures and adopted software tools

Page 7: Software quality management standards

A standard can be defined as a degree or  level of required excellence or attainment.

In  SE  context:  it  can  be  defined  by  the  clients and  developers  or  both,  in  terms  of  mutual agreement on the protocols to be followed, Ex.• Clients with his requirements• Developer and the development tools

Institutions have also defined several standards to guide software quality.

 The SQM Standards ­ What is?

Page 8: Software quality management standards

Some Standards Organisations ANSI:  American  National  Standards  Institute.  Does  not  itself  make 

standards but approves them.

AIAA: American Institute of Aeronautics and Astronautics (Ex. AIAA R­013­1992 Recommended Practice for Software Reliability)

EIA:  Electronic  Industries  Association  (Ex.  EIA/IS­632  Systems Engineering)

IEC:  International  Electro­technical  Commission  (Ex.  IEC  61508 Functional Safety ­ Safety­Related Systems)

IEEE:  Institute  of  Electrical  and  Electronics  Engineers  Computer Society  Software  Engineering  Standards  Committee  (Ex.  IEEE  Std 1228­1994 Standard for Software Safety Plans)

ISO:  International  Organization  for  Standardization  (Ex.  ISO/IEC 2382­7:1989 Vocabulary­Part 7: Computer Programming)

Page 9: Software quality management standards

Prevents  idiosyncrasy  Ex.  Standards  for  primitives  in programming languages 

Customer protection Ex. Quality assurance standards Encapsulation  of  best  practice­  avoids  repetition  of  past 

mistakes, Ex. Repeating  inspection processes, which  in  turn is very complex.

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.

Why Standards

Page 10: Software quality management standards

Quality Assurance Standard

Differing views of quality standards: • Taking a systems view

• that good management systems yield high quality

• And taking an analytical view• that good measurement frameworks yield high quality

Ex.  Quality  management:  ISO  9000­3  Quality Management and Quality Assurance Standards• Part 3: Guidelines for the application of 9001 to the

development, supply, installation and maintenance of computer software

Ex.  Quality  measurement:  IEEE  Std  1061­1992 Standard for Software Quality Metrics Methodology

Page 11: Software quality management standards

Project Management Standards

Concerned  with  how  general  principles  of good  management  are  applied  to  specific areas of software engineering

Examples of Standards under this.• General project management: IEE Std

1058.1-1987 Standard for Software Project Management Plans

• Producing plans: IEEE Std 1059-1993 Guide for Software Verification and Validation Plans

Page 12: Software quality management standards

System Engineering Standard

Particular  application  domains  develop sophisticated  interactions  between  system  and software  engineering,  so  standardizing  from  a systems point of view can be beneficial.

Standards Examples:• Lifecycle: ISO/IEC WD 15288 System Life

Cycle Processes• Requirements: IEEE Std 1233-1996 Guide

for Developing System Requirements Specifications

Page 13: Software quality management standards

Safety Standards

These  traditionally  come  out  of  specific industrial  sectors  since  safety  requires  deep analysis of the domain and the technology

Examples of such standards include• Safety plans: IEEE Std 1228-1994

Standard for Software Safety Plans• Functional safety: IEC 61508 Functional

Safety-Safety-Related Systems• Nuclear domain: IEE 603 Criteria for

Safety Systems of Nuclear Plants

Page 14: Software quality management standards

Product Standards

Focus  on  the  products  of  software engineering,  rather  than  on  the  processes used to obtain them.

product standards seem difficult to obtain. Ex.

• Product evaluation: ISO/IEC 14598 Software product evaluation

• Packaging: ISO/IEC 12119:1994 Software Packages - Quality Requirements and Testing

Page 15: Software quality management standards

Problems with Standards

They may not be seen as relevant and up­to­date by software engineers.

They  often  involve  too  much  bureaucratic form filling.

If  they  are  unsupported  by  software  tools, tedious  manual  work  is  often  involved  to maintain  the  documentation  associated  with the standards.

Page 16: Software quality management standards

References

Chemuturi,  Murali  (2010).  Software  Quality  Assurance:  Best Practices, Tools and Techniques for Software Developers

Ian Sommerville (2004), Software Engineering, 7th edition Select  Business  Solutions,  retrieved  Oct  2011  from 

http://www.selectbs.com/analysis­and­design/what­is­a­software­development­process

NASA­STD­8739.8  w/Change  1,  (July  28,  2004)  Software Assurance Standard (NASA Technical Standard)

TC  176/SC  (2005).  ISO  9000:2005,  Quality  Management Systems ­­ Fundamentals and vocabulary

James  A.  Bednar,  D.  Robertson  (2005),  Software  Quality  and Standards