School of Computing, Dublin Institute of Technology.
Published byModified over 5 years ago
Presentation on theme: "School of Computing, Dublin Institute of Technology."— Presentation transcript:
1 School of Computing, Dublin Institute of Technology. Software Quality Management Quality Assurance, Quality Control, Quality EngineeringRonan FitzpatrickSchool of Computing, Dublin Institute of Technology.April 2007
2 Software Quality Management Functions of software qualitySoftware Quality AssuranceSoftware Quality EngineeringSoftware Quality Control
3 Software Quality Assurance A planned and systematic pattern of all actions necessary to provide adequate confidence that the item or product conforms to established technical requirements.(IEEE Std )Assuring that processed are in place that will result in a quality software productThroughout the entire life cycle.
4 Software Quality Assurance The function of software quality that assures that the standards, processes, and procedures are appropriate for the project and are correctly implemented.NASA
5 Software Quality Assurance Subsists in the Quality Management VisionQuality ManualStandards ISO, CMMAudits for certification and accreditation
6 Software Quality Assurance The goal of Software Quality Assurance is to reduce the risksTechnical risksWill not perform as intendedWill be difficult to operate and maintainProgrammatic risksCost overrunSchedule delay
7 Software Quality Assurance AdvantagesImproved product qualityReduced cost of developmentImproved time to marketImproved staff productivity/satisfactionImproved customer satisfactionImproved perception of organisationImproved competitive advantage.
8 Software Quality Engineering The function of software quality that assures that quality is built into the software by performing analyses, trade studies, and investigations on the requirements, design, code and verification processes and results to assure that reliability, maintainability, and other quality factors are met.NASADoing
9 Software Quality Engineering Alternative definition
10 Software Quality Engineering Best engineering and development practiceMeasurementTesting (Unit, integration, system and acceptance)Focused on all quality factorsTest resultsWalk-through (who was involved and what was discovered)Acceptance (all requirements are as expected)Software tool confirming tests were executedManagement signoffBest Usability practice and testing
11 Software Quality Control Activities carried out to ensure that a component of a quality factor is present in a software system and its documentation.Pressman (1994,p560)Specific to a particular software project
12 Software Quality Control The function of software quality that checks that the project follows its standards, processes, and procedures, and that the project produces the required internal and external (deliverable) products.NASA
13 Quality Control Associated with control we have: Definitions power, authority, responsibilityDefinitionsTo test, to check, to verifyTo direct, to commandTo correct, to changeTo spendTo monitor, to record, to decide
14 Quality ControlChange projectto qualityProject control uses a repeating strategy of monitoring project progress at set intervals, gathering data relating to the progress, analysing that data to ensure that the project is still on course relative to the original plan and making appropriate decisions to ensure the project stays on course.
15 Software Quality Control Associated withValidation‘Building the right product’Requirements specificationVerification‘Building the product right’Documented development process was followed.
16 Software Quality Control Reminder - Control is applied toProductQuality factors; good enough qualityDesignCoding practiceSource code control and best practiceCode reviewsChange managementConfiguration and release managementUsability
17 Software Quality Control Staff controlSchedule controlBudget control
18 Another viewSoftware Quality Assurance (SQA) consists of a means of monitoring the software engineering processes and methods used to ensure quality. It does this by means of audits of the quality management system under which the software system is created. These audits are backed by one or more standards, usually ISO 9000.It is distinct from software quality control which includes reviewing requirements documents, and software testing. SQA encompasses the entire software development process, which includes processes such as software design, coding, source code control, code reviews, change management, configuration management, and release management. Whereas software quality control is a control of products, software quality assurance is a control of processes.Wikipedia (2008)
19 Another viewSoftware Quality Control (also known as Verification and Validation (software)) consists of a means of controlling the quality of software engineering products. It does this by means of tests of the software system. These tests can be unit tests, integration tests, or system tests. It also includes the formal proof of individual pieces of code, and the review of documents and code.It is distinct from software quality assurance which includes audits of the quality management system against a standard. Whereas software quality control is a control of products, software quality assurance is a control of processes.Wikipedia (2008)