220 likes | 531 Views
Software Quality assurance (SQA) SWE 333. Software Quality Standards. Dr Khalid Alnafjan kalnafjan@ksu.edu.sa. What Are Standards. • A standard might simply be defined as 'a set of rules for ensuring quality' .
E N D
Software Quality assurance (SQA) SWE 333 Software Quality Standards Dr Khalid Alnafjan kalnafjan@ksu.edu.sa
What Are Standards • A standard might simply be defined as 'a set of rules for ensuring quality'. • A standard is an agreed way of doing something. It could be about making a product, managing a process, delivering a service or supplying materials – standards can cover a huge range of activities undertaken by organizations and used by their customers.
What Are Standards • Tasks performed from a standard are know to use proved way of achieving quality • Standards set out what are widely accepted as good principles, practices, or guidelines in a given area • Usually standards are published documents setting out specifications and procedures designed to ensure products, services and systems are safe, reliable and consistently perform the way they were intended to. They establish a common language which defines quality and safety criteria.
Benefits of standards to software quality • The ability to apply methodologies and procedures of the highest professional level • Better mutual understanding and coordination among development teams and also between development and maintenance teams. • Greater cooperation between the software developer and external participants in the project based on the adoption of standards as part of the contract.
Benefits of standards to software quality • Decreased number of defects and errors in software • Less rework as a result of less software defects • Reduced development and maintenance cost • Increased software reliability • Increased customer satisfaction • Happier software practitioners
Organizations involved in SQA Standards Development Most prominent developers of SQA standards: • IEEE (Institute of Electric and Electronic Engineers) Computer Society • ISO (International Standards Organization) • DOD (US Department of Defense) • ANSI (American National Standards Institute) • IEC (International Electrotechnical Commission) • EIA (Electronic Industries Association)
Software quality assurance standards Several standards that are related to software quality assurance are available. Examples are: • IEEE: Institute of Electrical and Electronics Engineers Computer Society • Software Engineering Standards Committee (e.g. • IEEE Std 1228-1994 Standard for Software Safety Plans) • Quality measurement: IEEE Std 1061-1992 Standard for Software Quality Metrics Methodology • ISO: International Organization for Standardization (e.g. • ISO/IEC 2382-7:1989 Vocabulary-Part 7: Computer Programming) • 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 • DOD: Department of deffence – USA • CMMi: Capability maturity level • IEC: International Electrotechnical Commission (e.g. IEC 61508 • Functional Safety - Safety-Related Systems)
Software quality assurance standards by tasks • 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 • Lifecycle: ISO/IEC WD 15288 • System Life Cycle Processes • Requirements: IEEE Std 1233-1996 • Guide for developing System Requirements Specifications
Software quality assurance standards by tasks • Maintenance: IEEE Std 1219-1992 • Standard for Software Maintenance • Productivity: IEE Std 1045-1992 • Standard for Software Productivity Metrics
Certification of Standards • Why organizations needs certification for standards they apply ? • To enable a software development organization to demonstrate consistent ability to assure acceptable quality of its software products or maintenance services. • In other words, Certification is a meaning that standards are applied correctly and completely
Certification of Standards • Certification also help to obtain more business because many customers require that organizations obtain certain standards. • Certification is granted by an external body.Thirdparty certification bodies provide independent confirmation that organizations meet the requirements of a certain standard and hence a certificate is given to that organizations
ISO 9000 • ISO 9000 is one of the popular standards. It is a written set of standard which describe and define the basic elements/clauses of the quality system needed to ensure that an organization’s products/or services meet or exceed customer needs and expectations ISO 9000 deals with the fundamentals of quality management systems • ISO 9000 is based on documentation and is based on the following: - Document what you do; - Do what your document; - Prove it and improve it
ISO 9000 • Any organization wishing to adopt ISO standrds should start be using ISO 9000 and then select the appropriate standard according to the type of their business • The ISO 9000 standard is continually being revised by standing technical committees and advisory groups, who receive feedback from those professionals who are implementing the standard. The last version Is ISO 9000- 2008
Other ISO Standards • ISO 9001 is the broadest standard and provides a model for design, development, production, installation and servicing • ISO 9002 is limited to production, installation and servicing • ISO 9003 is further limited to inspection and testing • ISO 9000-3 is further limited for software quality • A company should first use ISO 9000 to design and to implement a quality system. Once the quality has been installed, the company may use the quality assurance models of ISO 9001, ISO 9002, or ISO 9003 to demonstrate the adequacy of the quality system.
ISO 9000-3 • ISO 9000-3, the guidelines offered by ISO, represent implementation of the ISO 9000 standards to the special case of software development and maintenance. • ISO 9000-3 is a standard for quality software systems. • It is very short (approximately 30 pages) and very high level (abstraction). • It explains what to do and not how to do !! • It can not be implemented until ISO 9000 is succesfully implemented
ISO 9000-3: Requirements • The ISO 9000-3 includes about 20 requirements that relate to various aspects of software quality management classified into the following five groups: • Quality management system • Management responsibilities • Resource management • Product realization • Measurement, analysis and improvement
ISO 9000-3: Principal areas of quality focus • management responsibility • quality system requirements • contract review requirements • product design requirements • document and data control • purchasing requirements • customer supplied products • product identification and traceability • process control requirements • inspection and testing • control of inspection, measuring, and test equipment • inspection and test status • control of nonconforming products • corrective and preventive actions • handling, storage, and delivery • control of quality records • internal quality audit requirements • training requirements • servicing requirements • statistical techniques
IEEE 730:2002 Standard for software quality Plan • This is another example of a standard that is used widely in software quality assurance • The standard specifies the format and content of software quality assurance plans • It descries in details how a software quality assurance plan can be implemenred
Other IEEE standards • Quality measurement: IEEE Std 1061-1992 Standard for Software Quality Metrics Methodology • IEEE Std 1059-1993 Guide for Software Verification and Validation Plans • IEEE Std 1233-1996 Guide for Developing System Requirements Specifications • And Much more
Summary • A standard might simply be defined as 'a set of rules for ensuring quality'. • Standards improve software quality by adopting highest professional procedures • There are several benefits for using standards • Several organizations produce different standards • Certification is important to ensure that standard has been applied correctly and adequately