240 likes | 268 Views
SE513 Software Quality Assurance Lecture09: Software Quality Planning and Control. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004. Assuring the quality of external participants' contributions. Introduction Types of external participants
E N D
SE513 Software Quality AssuranceLecture09: Software Quality Planning and Control Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Assuring the quality of external participants' contributions • Introduction • Types of external participants • Risks and benefits of introducing external participants • Assuring the quality of external participants’ contribution: objectives • SQA tools for assuring the quality of external participants’ contributions Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Types of external participants • Subcontractors (currently called “outsourcing” organizations) • Suppliers of COTS software and reused software modules • The customers themselves as participants in performing the project Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Software development projects Typical contracting structures Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Risks and benefits of introducing external participants Main risks to project quality (1) Delays in completion of the project (2) Low quality of project parts supplied by external participants (3) Future maintenance difficulties (4) Loss of controlover project parts Main benefits for the contractor: (1) Budget reductions. (2) Remedy of professional staff shortages. (3) Shorter project schedule. (4) Acquisition of expertise in specialized areas Main benefits for the customer (as external participant): (1) Protecting the customer’s commercial secrets. (2) Provision of employment to internal software development department. (3) Acquisition of project know-how for self-supplied maintenance. (4) Project cost reductions. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
CASE tools and their effect on software quality • What is a CASE tool? • The contribution of CASE tools to software productquality • The contribution of CASE tools tosoftwaremaintenancequality • The contribution of CASE tools to improved projectmanagement Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
CASE tools - definition CASE tools are computerized software development tools that support the developer when performing one or more phases of the software life cycle and/or support software maintenance. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Traditional development life cycle Real CASE tool-supported development life cycle Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Contribution of CASE tools to software product quality Extent of contribution to quality Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Contribution of CASE tools to software maintenance quality To corrective maintenance: * CASE-generated updated documentation enables easier and more reliable identification of software failure causes. * Cross-referenced queries enable better anticipation effects of proposed correction. * Correction by means of lower CASE or integrated CASE tools provides automated coding and documentation of corrections. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Contribution of CASE tools to software maintenance quality To adaptive maintenance: Full and updated documentation by CASE tools enables thorough examination of possible software adaptations for new applications. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Contribution of CASE tools to software maintenance quality To functional improvement maintenance: * Use of the repository assures consistency of new applications and improvements with existing software systems. * Cross-referenced repository queries enable better planning of changes and additions. * Changes and additions carried out by means of lower CASE or integrated CASE tools enable automated coding and documentation of the changes and additions. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Procedures and work instructions • Software quality infrastructure components • The need for procedures and work instructions • Procedures and proceduresmanuals • Work instructions and work instruction manuals • Procedures and work instructions: preparation, implementationand updating Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Infrastructure • Infrastructure components are tools employed to prevent software errors and promote the quality level of the entire organization. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Typical infrastructure components • * Procedures and work instruction. • * Quality support devices like templates and checklists. • * Staff SQA training and certification activities. • * Preventive and corrective actions. • * Software configuration management. • * Documentation and quality records control. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Procedures and work instructions - benefits • Performance of tasks, processes or activities in the most effective and efficient way. • Effective and efficient communication between development and maintenance teams that reduces the misunderstandings which lead to software errors. • Simplified coordination between tasks and activities performed by various teams that means fewer errors. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Conceptual hierarchy of procedures and work instructions International or national SQA standard The organization’s SQA policy The organization’s SQA procedures SQA work instructions Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Issues resolved by procedures The Five W's • * What activities have to be performed • * HoW should each activity be performed • * When should the activity be performed • * Where should the activity be performed • * Who should perform the activity Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Typical fixed table of contents for procedure • Introduction * • Purpose • Terms and abbreviations * • Applicable documents • Method • Quality records and documentation • Reporting and follow up * • Responsibility for implementation * • List of appendices * • Appendices * * Sections included only if applicable Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Factors affecting the contents of the SQA procedures manual • * The types of software development and maintenance activities carried out by the organization • * The range of activities belonging to each activity type. • * The range of customers. • * The conceptions for the choice of method applied by the organization to achieved SQA objectives. Galin, SQA from Theory to Implementation @Pearson Education Limited 2004
Motivations for updating existing procedures • <>Technological changes in development tools, hardware, communication equipment, etc. • <> Changes in the organization's areas of activity • <>User proposals for improvement • <>Analysis of failures as well as successes • <>Proposals for improvements initiated by Internet audit reports • <>Learning from the experience of other organizations • <>Experiences of the SQA team Galin, SQA from Theory to Implementation @Pearson Education Limited 2004