Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

Slides:



Advertisements
Similar presentations
System Integration Verification and Validation
Advertisements

Software Quality Seung Yang CS 525 Software Engineering II Dr. Sheldon X. Liang.
©Brooks/Cole, 2003 Chapter 10 Software Engineering.
Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Quality Management. What is a software product? Software product = computer programs (sources and executable) + associated documentation Software products.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Software Engineering Lecture 2 ASPI8-4 Anders P. Ravn, Feb
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
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.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
S OFTWARE Q UALITY A SSURANCE M ODEL. S UGGESTED MODEL One of SQA model that is suggested is a McCall’s model which consists of 11 factors, subsequent.
Chapter 7 Software Engineering Objectives Understand the software life cycle. Describe the development process models.. Understand the concept of modularity.
Chapter 7 Software Engineering Objectives Understand the software life cycle. Describe the development process models. Understand the concept of modularity.
Managing Software Quality
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
CSE 303 – Software Design and Architecture
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.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Programming Lifecycle
 Once the system has been installed it will be monitored to check whether it is working correctly. Sometimes problems with a system will not be found.
IT Requirements Management Balancing Needs and Expectations.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Other Quality Attributes Other Important Quality attributes Variability: a special form of modifiability. The ability of a system and its supporting artifacts.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
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.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
Code Complete Steve McConnell. 20. The Software-Quality Landscape.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Software quality factors
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
ANKITHA CHOWDARY GARAPATI
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
SEN 460 Software Quality Assurance
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
TOTAL QUALITY MANAGEMENT
16CS202 & Software Engineering
Figure 9.8 User Evaluation Form
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
The Development Process of Web Applications
SEVERITY & PRIORITY RELATIONSHIP
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
Initiating systems development
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Software engineering Lecturer: Nareena.
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software Requirements Specification (SRS) Template.
Presentation transcript:

Software Engineering Quality

What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit. The software must be well documented, meet the operating standards of the organization, and run effectively on the hardware that it is developed for.

What are the 3 factors to quality? Software Quality Operability MaintainabilityTransferability Accuracy Efficiency Reliability Security Timeliness Usability Changeability Correctabilty Flexibility Testability Code reusability Interoperability Portability

Operability Operability is the basic operation of the system. Factors that comprise operability Accuracy: The system must be accurate, so it is tested by a system’s test engineer and the user. Accuracy is measured by average time between failures, numbers of bugs per thousands lines of code, and the number of user requests for change. Efficiency: The performance standard of a system. Reliability: The sum of Accuracy and Efficiency Security: How secure the system is, does the system require a password? Timeliness: The output is delivered in a timely fashion, and the response time satisfies the user’s requirements Usability: the user’s is able to easily understand the system

Maintainability Maintainability refers to keeping the system running correctly and up to date Factors that comprise maintainability Changeability: How easy it is to change the system. Correctability: The average time it takes for the system to recover after it fails. Flexibility: A system needs to be able to change easily, due to requests from users. Testability: Measures the ease with which the software can be tested as an operational system.

Transferability Transferability refers to the ability to easily move data from one platform to another and to reuse code. Factors that comprise transferability Code Reusability: Functions that are written in a system that can be reused in different programs. Interoperability: Addresses the ability of one system to exchange data with another. Portability: The ease with which a system can be moved to another hardware environment.

The Quality Circle There are 6 steps to quality software: quality tools, technical reviews, formal testing, change controls, standards, and measurements and reporting. Quality tools: computer aided software engineering guides software development through requirements, design, programming and testing into production. Technical Review: Reviews taken at every step of the development process. Formal Testing: Ensures that the program work together as a system and meet the defined requirements Change Controls: To ensure quality, each change should be reviewed and approved by change control board. Measurements: Allows one to see if the quality is good or bad.

Documentation For a software package to be used properly and maintained efficiently, documentation is needed. User Documentation: A manual that shows how the program is run for the user System Documentation: A formal structured record of a software package. Documentation in the Analysis Phase: Information collected should be carefully documented. Documentation in the Design Phase: Tools used in the final copy must be documented. Documentation in the Implementation Phase: There are two phases; General and Function Documentation. General is a general description of the program, while Function is a block of codes. Documentation in the Testing Phase:Developers carefully document the testing phase Documentation as an Ongoing Process: Documentation is always continuous. If a package has problems or is modified, they must be documented.