Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Quality Assurance Plan
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 6/e (McGraw-Hill 2005). Slides copyright 2005 by Roger Pressman.1.
CHAPTER 1 Introduction to SQA.
Documentation Testing
Software project management (intro) Quality assurance.
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The need for comprehensive software quality requirements Classification.
Software Quality Assurance For Software Engineering && Architecture and Design.
SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance.
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Commercial Database Applications Testing. Test Plan Testing Strategy Testing Planning Testing Design (covered in other modules) Unit Testing (covered.
Systems Analysis and Design
Managing Software Quality
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered.
1 Software quality - Definition IEEE 1. The degree to which a system, component, or process meets specified requirements. 2. The degree to which a system,
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Service Transition & Planning Service Validation & Testing
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Creator: ACSession No: 15 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Software Quality Assurance & Software Quality Control.
© Mahindra Satyam 2009 Configuration Management QMS Training.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
1 Software quality - Definition IEEE 1. The degree to which a system, component, or process meets specified requirements. 2. The degree to which a system,
Software quality factors
Quality Models in Software Engineering Literature: An Analytical and Comparative Study Rafa E. Al-Qutaish, PhD Al Ain University of Science and Technology.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
SEN 460 Software Quality Assurance
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Test Strategy Best Practices By Gabriel Rodriguez.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Software Development Life Cycle (SDLC)
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Software Design and Development Development Methodoligies Computing Science.
Software Engineering, COMP201 Slide 1 Software Requirements.
Chapter 2 Object-Oriented Paradigm Overview
TOTAL QUALITY MANAGEMENT
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Quality Control and Quality Assurance: Introduction
Software Quality Management
Software Quality Assurance
The Development Process of Web Applications
SEVERITY & PRIORITY RELATIONSHIP
Source & Courtesy: Doc. S. Dapkūnas
Software Quality Assurance Software Quality Factor
CIF301 Project Quality Unit 6
Configuration Management and Prince2
McCall’s Quality Factors
Lecture 15: Technical Metrics
Software Quality Assurance
Software Configuration Management
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Software Quality Engineering CS- 449
Introduction to Software Testing
Software life cycle models
What is software quality?
Software Quality Assurance
What is software quality?
Software Requirements Specification (SRS) Template.
Chapter # 2 Software Quality Factors
Chapter # 1 Overview of Software Quality Assurance
Software Reviews.
Presentation transcript:

Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre, 9am to 11am on THURSDAY. Design Feedback on the Requirement Reviews

Managing Software Quality COMP 208/214/215/216 Lecture 6 Managing Software Quality

Source Pressman – Software Engineering PART THREE. Esp. Chapters 14 and 16.

Quality What is software quality? One definition: “Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software” (Pressman, Software Engineering, 1992) Requirements are the basis for measurement Standards are specified.

Features of Quality Software Several classifications, with different degrees of abstraction In general Quality Software Meets the needs of its users Is reliable (does not fail) Is easy to maintain (correct, or change).

F.U.R.P.S. Functionality: functions it performs, their generality and security Usability: aesthetics, consistency, documentation Reliability: frequency and severity of failure, accuracy of output Performance: response time, resource consumption Supportability: can it be extended, adapted, corrected? This is one possible way to measure software quality. Different aspects should be measured.

Software Quality Factors - I At the finest level of detail: Correctness - the extent to which the software satisfies its specification and fulfils customer objectives Reliability - the extent to which the system performs without malfunctions Efficiency - the amount of computer resources required to perform its functions. Another classification is based on McCall’s Quality Factors

Software Quality Factors - II Integrity - the extent to which access to functions and data can be controlled Usability - the effort required to learn, operate, prepare input for and interpret output from, the software Maintainability - the effort required to locate and fix errors in operative software Testability - the effort required to ensure that the software performs its intended functions.

Software Quality Factors - III Flexibility - the effort required to modify operational software Portability - the effort required to transfer software from one hardware configuration and/or software environment to another Re-usability - the extent to which software can be used in applications other that that for which it was produced Adaptability - the effort required to couple one system with another

Portability - can I use it on another machine? Reusability - can components be used in other ways? Interoperability - does it interface with other systems? Maintainability - can I fix it? Flexibility - can I change it? Testability - can I test it? Product revision Product Transition Product Operations Correctness - does it do what I want? Reliability - does it always do it accurately? Efficiency - does it run as well as it can? Integrity - is it secure? Usability - is it designed for the user?

Quality Assurance QA attempts to ensure the process of software development results in good quality outputs. There are seven major activities: Application of a methodology Formal technical Reviews Testing Enforcement of Standards Control of change Measurement Record keeping and reporting.

Following a Method Ensures that all steps are completed Builds in checks for various steps Produces a standard output: means that others can understand it, know what to expect Enables progress to be monitored Specifies deliverables and review points Connolly and Begg provides the method you should follow on this project.

Formal Reviews Confirm that the method is being followed Ensure that documentation is in order Can identify problems before they become fixed into the product Result in intermediate outputs which can be used as a used as foundations for subsequent stages.

Testing System testing User testing attempts to ensure correctness and reliability can identify efficiency problems User testing allows evaluation of the usability aspects attempts to ensure that the requirements are met

Standards Their purpose is to facilitate communication A uniform mode of presentation makes things easier to understand and ensures inter-operability Standards are not necessarily the “right” way of doing things. Several alternatives may be equally good. But is is useful if everyone does things the same way Standards cover many things: Documentation to be produced, notation for diagrams, coding conventions, etc.

Change Control Any change can introduce errors It is important to have a change control process To keep a version before the changes, so they can be rolled-back if necessary To incorporate a change once it is made satisfactorily So that simultaneous changes do not conflict.

Measurement and Records Where possible quality factors should be measured Nothing is perfect, but we need an idea of how imperfect it is Record keeping Makes the process transparent Enables audit, and reference back Results in a portfolio describing the development process.

Version Control Throughout the project you will be developing documentation and software It is important that an all times there is a definitive version. If two people make different changes, and we have two new versions - which one will be taken forward? If you need to make a change you want to know that you are using the latest version If a change goes wrong, you need to be able to return to the correct version.

Ownership Someone needs to “own” the current version at all times. They can then track who is doing what to it They can supply the current version if required They can agree to incorporate changes to produce the next version, or accept a changed version as the next version.

A Suggested Procedure Identify independent components (both documentation and software) For each such component: Make someone its owner That owner should at all times have a copy of the current version If someone else needs to make a change Give that person a copy Let no one else have a copy until the new version is supplied When the new version is ready, make the new version the current version and archive the old version.

Summary Software quality covers a large number of factors Following a method is the key to quality assurance: it specifies what the the deliverables are, and the form they should take Each deliverable can be subjected to appropriate checks and reviews Version control is essential.