Factor Of Software Quality

Slides:



Advertisements
Similar presentations
System Integration Verification and Validation
Advertisements

PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
CHAPTER 1 Introduction to SQA.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Definitions and objectives Software testing strategies Software test.
OHT 10.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The testing process Determining the test methodology phase Planning.
Software project management (intro) Quality assurance.
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Quality assurance in software production Lari Karppinen
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The need for comprehensive software quality requirements Classification.
Software Quality Assurance
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance.
Non-functional requirements
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
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.
Software Project Management Fifth Edition
Software Quality Assurance
Managing Software Quality
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Quality Control Project Management Unit Credit Value : 4 Essential
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,
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
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.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
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.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
Chapter 13: Software Quality Project Management Afnan Albahli.
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
SEN 460 Software Quality Assurance
CSE 303 – Software Design and Architecture
Copyright © 2007 Pearson Education Canada 23-1 Chapter 23: Using Advanced Skills.
SE513 Software Quality Assurance Lecture02: Software Quality Factors SE513 Software Quality Assurance Lecture02: Software Quality Factors Galin, SQA from.
Chapter 3 Software Quality Factors. The need for comprehensive Software Quality Requirements Classification of requirements into Software Quality Factors.
TOTAL QUALITY MANAGEMENT
Software Quality Factors
Classifications of Software Requirements
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
SEVERITY & PRIORITY RELATIONSHIP
Source & Courtesy: Doc. S. Dapkūnas
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
Lecture 15: Technical Metrics
Software Quality Assurance
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Software quality factors
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software Requirements Specification (SRS) Template.
Chapter # 2 Software Quality Factors
Software quality factors
ISO/IEC Systems and software Quality Requirements and Evaluation
Presentation transcript:

Factor Of Software Quality By: MSMZ

The need for comprehensive software quality requirements There are some characteristics commons to all the case study which is key word “but’s”: All the software projects satisfactorily fulfilled the BASIC requirements for correct calculations (e.g correct discount, correct loan interest) But, all the software projects suffered from poor performance in important areas such as maintenance, reliability, software reuse, or training. The cause for the poor performance of the developed software projects in these areas was the lack of predefined requirements to cover these important aspects of the software’s functionality. By: MSMZ

The need for comprehensive software quality requirements There is a need for comprehensive definition of requirements that will cover all attributes of software and aspects of the use of software including reliability aspects, maintainability aspects and so on . The issues related to the various attributes of software is called as software quality factors. So, there must be a team responsible for defining the software requirements of a software system to examine the need to define the requirements that belong to each factor. By: MSMZ

McCall model By: MSMZ

Classifications of Software Requirements into Software Quality Factors McCall model (1977) consists of 11 factors. It classifies all software requirements into 11 software quality factors. The 11 factors are grouped into three categories Product operation Product revision Product transition By: MSMZ

Classifications of Software Requirements into Software Quality Factors Product operation factors: Correctness, Reliability, Efficiency, Integrity, Usability Product revision factors: Maintainability, Flexibility, Testability Product transition factors: Portability, Reusability, Interoperability By: MSMZ

Product operation software quality factors Five software quality factors are included in this category. Deal with requirements that directly influence the daily operation of the software. By: MSMZ

Product operation software quality factors Correctness The extent to which a program satisfies its specification and fulfills customer’s objectives. (McGraw Hill) Example:- Such as a query display of a customer’s balance in the sales accounting information system. By: MSMZ

Product operation software quality factors (Correctness) Must have an output specifications which are The output mission The acceptable accuracy of those output that can be affected by inaccurate data or inaccurate calculation The acceptable of the output information, which can be adversely affected by incomplete data The up-to-dateness of the information. The availability of the information The standard for coding and documenting the software system. By: MSMZ

Product operation software quality factors (Correctness) - example The correctness requirements of a club membership information system consists:- The output mission : A list of 11 types of reports The required accuracy of the outputs: The probability for a non-accurate output that containing mistakes, will not exceed 1%. The completeness of the output information: The probability of missing data will not exceed 1%. The up-to-dateness of the information: Not more than two working days for information about participation… The availability of information: Reaction time for queries will be less than 2 seconds on average… The required standard and guidelines: The software and documentation are required to comply with client guidelines By: MSMZ

Product operation software quality factors Reliability Reliability requirements deal with failures to provide service. The extent to which a program can be expected to perform its function with required precision. (McGraw Hill) Example: the failure frequency of a heart-monitoring unit that will operate in a hospital is required must be less than one in 20years. Failure frequency of money transaction is within 10 minutes per month during bank’s office hours. By: MSMZ

Product operation software quality factors Efficiency The amount of hardware resources and code required by a program to perform its function. (McGraw Hill) Requirements deal with the hardware resources needed to perform all the functions of the software system in conformance to all other requirements. Example: There are 2 software which is system A and systems B. System A required 100GB processor and 500GB HD to run the program while system B required 50GB processor and 100GB HD to run the program. WHICH ONE IS MORE EFFICIENT?? By: MSMZ

Product operation software quality factors Integrity Extent to which access to software or data by unauthorized persons can be controlled. (McGraw Hill) Requirements deal with the software system security requirements to prevent access to unauthorized persons Data confidentiality, privacy Example :- A GIS (geographic Information System). Allow public to access through the internet. Allow only viewing and copying but not inserting. By: MSMZ

Product operation software quality factors Usability Effort required to learn, operate, prepare input of a program. (McGraw Hill) Is the ease of use and learnability of a human-made object. The object of use can be a software application, website, book, tool, machine, process, or anything a human interacts with Requirements deal with the scope off staff resources to operate the software system. Example :- a staff member should be able to handle at least 60 services calls a day. Training a new employee will take no more than two days. By: MSMZ

Product revision software quality factor Three quality factors comprise the product revision category Deal with those requirements that affect the complete range of software maintenance activities: Corrective maintenance (correction of software faults and failure) Adaptive maintenance (adapting the current software to additional circumstances and customers without changing the software) Perfective maintenance (enhancement and improving of existing software with respect to locally limited issues). By: MSMZ

Product revision software quality factor Maintainability Effort required to locate and fix an error in a program (McGraw Hill) Maintainability requirement determine the efforts that will be needed by users and maintenance personnel to identify the reasons for software failures, to correct the failures, and to verify the success of the corrections. Refers to modular structure of the software, the internal program documentation, programmer’s manual. By: MSMZ

Product revision software quality factor Maintainability Example : the size of a software module will not exceed 30 statements The programming will hold to the company coding standards and guideline. By: MSMZ

Product revision software quality factor Flexibility Effort required to modify operational program. (McGraw Hill) The capabilities and efforts required to support adaptive maintenance activities This includes the resources required to adapt a software package to a variety of customers of the same trade, of various extents of activities, of different ranges of products and so on. This factor requirements also support perfective maintenance activities such as changes and additions to the software in order to improve its service. By: MSMZ

Product revision software quality factor Testability Effort required to test a program to ensure that it performs its intended function. Deal with the testing of an information system as well as with its operation. Requirements for ease of testing are related to special features in the programs that help the tester, example providing predefined intermediate results and log files. Requirements includes automatic diagnostics performed by the software system prior to starting the system, report about detected faults etc. Also automatic diagnostic checks to detect the cause of software failure. By: MSMZ

Product transition software quality factor This category pertains to the adaptation of software to other environments and its interaction with other software systems. Three quality factors are included in this category. Portability Reusability Interoperability By: MSMZ

Product transition software quality factor Portability Requirement tend to the adaptation of a software system to other environments consisting of different hardware, different operating systems, and so forth. To make it possible to continue using the same basic software in diverse situation or to use it simultaneously in diverse hardware and OS situation. By: MSMZ

Product transition software quality factor Portability Example: a software package designed and programmed to operate in a Windows 2000 environment is required to allow low-cost transfer to Linux and Window NT environment. By: MSMZ

Product transition software quality factor Reusability Requirement deal with the use of software modules originally designed for one project in a new software project currently being developed. Also enable future projects to make use of a given module or a group of modules of the currently developed software. This is expected to save development resources, shorten the development period, and provide higher quality modules. This assumption is through detection of faults by previous users during earlier reuses. By: MSMZ

Product transition software quality factor Interoperability Requirements focus on creating interfaces with other software systems or with other equipment firmware ( for example, the firmware of the production machinery and testing equipment interfaces with the production control software). Example: the medical laboratory’s system is required to process the results according to a standard data structure and then serve as input for laboratory information systems. By: MSMZ

McCall’s Software Quality Factors Portability Reusability Interoperability Maintainability Flexibility Testability PRODUCT REVISION PRODUCT TRANSITION PRODUCT OPERATION Correctness Reliability Usability Integrity Efficiency By: MSMZ

McCalls factor model tree By: MSMZ

ALTERNATIVES MODEL By: MSMZ

THE BOEHM MODEL (1978) Introduced in 78. Boehm has defined 3 level of quality attributes: Primary Uses Intermediate constructs Primitive constructs Similar to McCall model that it represents a hierarchical structure of characteristics. Boehm model sees the view of software with general utility. Utility from various dimension. General utility broken down into portability, utility and maintainability. By: MSMZ

Intermediate Constructs Primary Uses Intermediate Constructs Primitive Constructs By: MSMZ

THE BOEHM MODEL (1978) Utility is further broken down into reliability, efficiency and human engineering. Maintainability is in turn broken down into testability, understandability and modifiability. This model is presented in levels called primary uses, intermediate construct and primitive constructs. By: MSMZ

ISO 9126 Quality Factors The ISO 9126 standard was developed in an attempt to identify the key quality attributes for computer software. This standard aimed to define a quality model for software and a set of guidelines for measuring the characteristics associated with it. Functionality Reliability Usability Efficiency Maintainability Portability By: MSMZ

ISO 9126 Quality Factors By: MSMZ

Dromey According to http://profs.logti.etsmtl.ca Dromey's (1995) model takes a different approach to software quality then the two previously presented models. For Dromey, a quality model should clearly be based upon the product perspective of quality Dromey has built a quality evaluation framework that analyses the quality of software components through the measurement of tangible quality properties By: MSMZ

Dromey Dromey gives the following examples of what he means by software components for each of the different models: Variables, functions, statements, etc. can be considered components of the implementation model; A requirement can be considered a component of the requirements model; A module can be considered a component of the design model. By: MSMZ

Dromey According to Dromey (1995), these components all possess intrinsic properties that can be classified into four categories: Correctness: Evaluates if some basic principles are violated. Internal: Measure how well a component has been deployed according to its intended use. Contextual: Deals with external influences and the use of a component. Descriptive: Measure the descriptiveness of a component (for example, does it have a meaningful name?). By: MSMZ

Dromey These properties are used to evaluate the quality of the components. This is illustrated in a figure below for a variable component present in the implementation model. By: MSMZ

Measurement of Quality By: MSMZ

Fact It is difficult and in some cases impossible to develop direct measures of these quality factors. Many of metrics defined by McCall can be measured only indirectly. By: MSMZ

Measurement of Quality Factors that affect software quality can be put into two categories: factors that can be directly measured factors that can be measured only indirectly (e.g. usability and maintainability) Software quality factors should focus on three important aspects of a software product: its operational characteristics its ability to undergo change its adaptability to new environments By: MSMZ

Measurement of Quality One example of a popular metric is the number of faults encountered in the software. Software that contains few faults is considered by some to have higher quality than software that contains many faults. By: MSMZ

Thank You By: MSMZ

Exercise Choose 1 factor from McCall factor model and give one scenario or example according to the factor that you have choose. By: MSMZ

Assignment Find other software quality factor, explain the factor and give the example for each factor. One group (2 members) find only 1 factor and 1 example. The assignment need to be present in next week class. By: MSMZ