Chapter 1 The Uniqueness of Software Quality Assurance.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Project Quality Plans Gillian Sandilands Director of Quality
1.Quality-“a characteristic or attribute of something.” As an attribute of an item, quality refers to measurable characteristics— things we are able to.
Lecture 2 1 Introduction to Software Engineering.
RAMIRI2 Prague 2012 Project management and the RI Life Cycle.
PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
Chapter 3 Project Initiation
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Fundamentals of Information Systems, Second Edition
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Development Processes
Chapter 8 Assuring the quality of external participants’ contributions
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 9.3 Software Testing Strategies.
Software Quality Assurance
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
Chapter 1 The Uniqueness of Software Quality Assurance
Chapter 3 Project Initiation. The stages of a project  Project concept  Project proposal request  Project proposal  Project green light  Project.
Lesson 10: IT Project and Program Management. Lesson 10 Objectives  Identify resources for technical data  Identify project management fundamentals.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality - continued So let’s move on to ‘exactly’ what we mean.
Development and Quality Plans
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
SE513 Software Quality Assurance Lecture04: Contract Review Galin, SQA from Theory to Education Limited 2004.
Advanced Project Management PM Processes and Framework
Copyright Course Technology 1999
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
How To Apply Quality Management
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Chapter 4 Components of the Software Quality Assurance System
Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations The.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
SE513 Software Quality Control Lecture01: Introduction to Software Quality Assurance Galin, SQA from Theory to Education Limited.
Analyze Opportunity Part 1
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
Test Management Under construction – What happens? Maria Månsson.
SECTION 1 THE PROJECT MANAGEMENT FRAMEWORK
BSBPMG505A Manage Project Quality Manage Project Quality Project Quality Processes Diploma of Project Management Qualification Code BSB51507 Unit.
Copyright 2008  Project management process groups progress from initiating activities to planning activities, executing activities, monitoring and controlling.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Pre-Project Components
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Apply Quality Management Techniques Project Quality Processes Certificate IV in Project Management Qualification Code BSB41507 Unit Code BSBPMG404A.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 1 Diploma of Project Management.
BSBPMG404A Apply Quality Management Techniques Apply Quality Management Techniques Project Quality Processes C ertificate IV in Project Management
Copyright © 2007 Pearson Education Canada 23-1 Chapter 23: Using Advanced Skills.
PPTTEST 12/26/ :41 1 IT Ron Williams Information Technology Management Project Management.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Software Quality Assurance and Testing Fazal Rehman Shamil.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
1 Chapter 1 The Software Quality Challenge. 2 The uniqueness of software quality assurance  DO you think that there is a bug-free software?  Can software.
Chapter 1 Outline - The uniqueness of software quality assurance - The environments for which SQA methods are developed.
Chapter 1 the uniqueness of software quality assurance Dr. AlaaEddin Almabhouh.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Project Management A Practical Approach Sridhar Pandurangiah Director - Engineering Sridhar Pandurangiah Director - Engineering.
Principles of Information Systems Eighth Edition
Software Project Configuration Management
Chapter 1 The Uniqueness of Software Quality Assurance
Software Verification and Validation
Integrating Quality Activities in the Project Life Cycle
Project Integration Management
The Software Quality Challenge
Introduction SOFTWARE ENGINEERING.
Chapter # 4 Development and Quality Plans
Chapter # 1 Overview of Software Quality Assurance
Software Quality assurance SQA – SWE 333
Presentation transcript:

Chapter 1 The Uniqueness of Software Quality Assurance

The Software Quality Challenge This chapter is essentially about two major topics: – The uniqueness of software quality assurance – The environments for which SQA methods are developed.

The Uniqueness of Software Quality Assurance

Introduction Why study Quality Assurance and Testing? With all the methodology wars, numerous processes, huge number of tools to assist in software development, why this separate topic? methodology wars: XP, Scrum, UP, hybrids… What makes SQA important that it deserves so much attention? SQA is a key required course in software engineering curricula. Why??

Major Differences between Software Products and Industrial Products 1. High complexity of the software product – The potential ways in which a software product can be used with different data / data paths reflecting different incoming data is almost infinite. – Manner in which industrial products can be used are usually much more succinctly defined. Parameters for use are usually clearly spelled out. Process for development clearly defined; prototype, … – Think about software: every loop with different values of data reflects a different opportunity to see software fail. In truth, the number of paths through a non-trivial software product is infinite.

Differences between Software Products and Industrial Products 2. Invisibility of the software product – In an industrial product, missing parts are obvious. Something missing? Easily identified. Clear ‘spot’ for it. Parts missing easily identifiable too. – Not so in software products. May not be noticeable for years – if at all! Cite: phantom paths product at AFDSDC! Parts may have never been in the software ever!

Differences between Software Products and Industrial Products Consider: Product Development and Production Process from three perspectives: 1. For Industrial Products: – Product Development – Designers and QA people check / test the prototype for defects – Product Production Planning – Here, production process and tools are designed and prepared. May require special production line to be designed and built Lots of opportunities to check for defects that escaped reviews and tests conducted during development – Manufacturing – QA procedures are applied to detect failures of the products themselves during manufacturing. Can be corrected by change in the design or in production tools and this will change the way products are manufactured in the future.

Differences between Software Products and Industrial Products Will see that: – Comparing industrial products with software products we see that the only phase when defects can be corrected in software products is really in the product development phase. Let’s look at the same three activities – (product development, product production planning, and manufacturing) for Software Products:

Differences between Software Products and Industrial Products Consider: Product Development and Production Process from three perspectives 2. For Software Products: Product Development – Best Chance to Detect Errors! – Here, we look for inherent product defects and hope to arrive at an acceptable prototype. Product Production Planning – This phase is not required for software production process. – Copies are simply reproduced / printed automatically…. – Numbers of copies of no consequence. – Defects in one copy are found in additional copies. End of story! Manufacturing – Manufacturing limited to copying product / printing copies of manuals. – Chances for detect defects here is quite limited.

Only Chance to Discover Defects: Best chance to really detect defects occurs during the software development process itself! “The need for special tools and methods for the software industry is reflected in the professional publications as well in special standards devoted to SQA, such as ISO , “Guidelines for the application of ISO 9001 to the development, supply, and maintenance of software.” Another: ISO : “Quality Management and Quality Systems Elements: Guidelines for the Services.” The characteristics of software – – complexity, – invisibility, and cu – limited opportunity to detect bugs has led to the development of the ISO Guidelines and an acute awareness of the importance and essential SQA methodology.

The Environment for which SQA Methods are Developed

Let’s look at the environment for professional software development and maintenance Main Characteristics: (We will look at each of these in turn) – 1. Contractual Conditions – 2. Subjection to Customer – Supplier Relationship – 3. Required Teamwork – 4. Cooperation and and coordination with other teams. – 5. Interfaces with other software systems – 6. The need to continue carrying out a project despite team member changes – 7. The need to continue carrying out software maintenance for an extended period. These are ALL activities where SQA in various forms is critical to successful software engineering work

The Environment for which SQA Methods are Developed 1. Contractual Conditions – These include functional requirements, the project budget, and the project timetable. – These are the biggies! Contracts are huge!!! (as are the other parameters) – Who has responsibility for what…we will see. – Delivering software on time, within budget that meets or exceeds the functional requirements constitutes the thrust and legal elementsof contracts.

The Environment for which SQA Methods are Developed 2. Subjection to Customer-Supplier Relationship – We must realize that the customer drives the process in many cases – submitting changes, evaluating deliverables, acceptance testing, accepting deployments, approving the deliverables This relationship must be generally good, but can be horribly complicated!! – This is the relationship that is critical when software is developed by software professionals. Many war stories available!

The Environment for which SQA Methods are Developed 3. Required Teamwork – Three very motivating factors for teams vice done individually: Timetable requirements – team members work together Have a variety of specializations – Discuss. Always necessary? Where? When? Mutual support and review to enhance product quality

The Environment for which SQA Methods are Developed 4. Cooperating and coordination with other software teams – In a large software development organization, there are many teams and much development that requires coordination and compatibility issues – Expertise may exist in another team. Can you borrow that person? That expertise? – Software development may outsourced in part. – Other teams may have developed similar software for the client and can offer tremendous help – perhaps… – Conflicts – Escalation!

The Environment for which SQA Methods are Developed 5. Interfaces with Other Systems – A Course Registration System – may well interface with a Class Scheduling System and perhaps a Billing System. – Oftentimes outputs from one system are inputs to another and vice versa! – A course registration system may need to ‘interface’ with an existing Billing system with different file / database formats, and more. – Sometimes outputs from one system are inputs to several others – Or, outputs from some system update master files / databases that are processed by other systems.

The Environment for which SQA Methods are Developed

6. The Need to continue Carrying out a Project despite Team Member Changes – Very commonplace! Count on it! – “The show must go on” – Fred Brooks: Adding people to a late project makes it later. – Fred Brooks: Communications with new members – Fred Brooks: Getting new people up to speed. – Team members leave, are hired, fired, take unexpected vacations, transferred within the company, and more. – Maddening truism, but the development must continue. – You can count on disruption!

The Environment for which SQA Methods are Developed 7. The Need to Continue Carrying out Software Maintenance for an Extended Period – Software is developed to run for years. This is what affects the company’s bottom line – not software development, where the company is totally in the ‘red.’ – Maintenance is good and is where software development corporations make their money. – Remember, when developing software, company is in the ‘red.’ – Takes some time after deployment for transition into the black and make revenue.

Internal Software Development Not terribly different from external clients. But in-house development normally eschews formal contracts and/or formal customer/supplier relationships. Much in-house development or upgrading of in-house software is typical. The relationships between ‘internal’ customers and development varies greatly ‘when measured by a formal-informal scale.’ Some managers claim that the closer the relationships to the formal form, the greater the probability for project success.

Homework – Chapter 1 You are to answer the following question in essay format and submit to me via Blackboard Assignment Chapter 1. Question 1.3, p12 Due: 4pm the date of the next class.

Discussion Forum Team 1 will lead a discussion and prepare materials to fully talk about the following questions in our next class: Present Brief Review of Chapter (five minutes) Question 1.1 Question 1.3, and Question 1.5