Software quality management standards
-
Upload
gen-aloys-ochola-badde -
Category
Education
-
view
738 -
download
3
description
Transcript of 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
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
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
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 Offtheshelf software tools selected to be used during the process
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 lifecycle
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
Software Quality Control
Ensures inprocess 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
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?
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 R0131992 Recommended Practice for Software Reliability)
EIA: Electronic Industries Association (Ex. EIA/IS632 Systems Engineering)
IEC: International Electrotechnical Commission (Ex. IEC 61508 Functional Safety SafetyRelated Systems)
IEEE: Institute of Electrical and Electronics Engineers Computer Society Software Engineering Standards Committee (Ex. IEEE Std 12281994 Standard for Software Safety Plans)
ISO: International Organization for Standardization (Ex. ISO/IEC 23827:1989 VocabularyPart 7: Computer Programming)
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
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 90003 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 10611992 Standard for Software Quality Metrics Methodology
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
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
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
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
Problems with Standards
They may not be seen as relevant and uptodate 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.
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/analysisanddesign/whatisasoftwaredevelopmentprocess
NASASTD8739.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