Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Quality Engineering CS- 449

Similar presentations


Presentation on theme: "Software Quality Engineering CS- 449"— Presentation transcript:

1 Software Quality Engineering CS- 449
Lecture # 1

2 Course introduction See the course outline

3 Quality Luxury Class Taste Excellence Eminence Value Worth

4 Quality: Popular view “I know it when I see it”
Robert Persig [Per74] commented on the thing we call quality: “Quality you know what it is, yet you don't know what it is. But that's self-contradictory. But some things are better than others, that is, they have more quality. But when you try to say what the quality is, apart from the things that have it, it all goes poof! There's nothing to talk about. But if you can't say what Quality is, how do you know what it is, or how do you know that it even exists? If no one knows what it is, then for all practical purposes it doesn't exist at all. But for all practical purposes it really does exist. What else are the grades based on? Why else would people pay fortunes for some things and throw others in the trash pile? Obviously some things are better than others but what's the betterness? So round and round you go, spinning mental wheels and nowhere finding anyplace to get traction. What the hell is Quality? What is it?” “I know it when I see it”

5 Quality: Professional view
Conformance to requirements (Crosby, 1979) Fitness for use (Gryna, 1970) Quality of design Quality of conformance

6 Quality Definitions The American Heritage dictionary defines quality as “a characteristic or attribute of something”. IEEE Glossary: Degree to which a system, component, or process meets specified requirements, and customer or user needs or expectations ISO 8402: The totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs. Another definition, coined by Gerald Weinberg in Quality Software Management: Systems Thinking, is "Quality is value to some person.“ This definition stresses that quality is inherently subjective – different people will experience the quality of the same software very differently.

7 Different views of quality
Transcendental View User View Manufacturing View Product View Value based View

8 Different views of quality
The transcendental view argues (like Persig) that quality is something that you immediately recognize, but cannot explicitly define. The user view sees quality in terms of an end-user’s specific goals. If a product meets those goals, it exhibits quality. The manufacturer’s view defines quality in terms of the original specification of the product. If the product conforms to the spec, it exhibits quality. The product view suggests that quality can be tied to inherent characteristics (e.g., functions and features) of a product. Finally, the value-based view measures quality based on how much a customer is willing to pay for a product. In reality, quality encompasses all of these views and more. How much a customer is willing to pay for a certain level of quality. Quality is meaningless if a product does not make economic sense. The value-based view makes a trade-off between cost and quality.

9 Quality Types Quality of design Quality of conformance

10 Quality of Design How well software is designed
Measures how valid the design are in creating a worth while product Quality of design is the quality which the producer or supplier is intending to offer to the customer. When the producer is making the quality of design of the product, he should take in to consideration the customer's requirements in order to satisfy them with fitness for use of the product.

11 Quality of conformance
How well the software conforms to that design Quality of conformance is the level of the quality of product actually produced and delivered through the production or service process of the organization as per the specifications or design. When the quality of a product entirely conforms to the specification (design), the quality of conformance is deemed excellent. It focuses on implementation based on the design.

12 Software Quality Software Quality can be defined as,
“Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software” [Roger Pressman .Software Engineering: A Practitioner's Approach McGraw Hill 6 edition 2004] This definition emphasizes three important points Software requirements are the foundation from which quality is measured. Lack of conformance to requirements is lack of quality Specified standards define a set of development criteria that guide the way in which software is engineered. If the criteria are not followed, lack of quality will almost surely result. If a software conforms to its explicit requirements but fails to meet implicit requirements, software quality is suspect.

13 Software Quality Software quality can be defined as:
An effective software process applied in a manner that creates a useful product that provides measurable value for those who produce it and those who use it. [Bes04]

14 Effective software process
An effective software process establishes the infrastructure that supports any effort at building a high quality software product. The management aspects of process create the checks and balances that help avoid project chaos—a key contributor to poor quality. Software engineering practices allow the developer to analyze the problem and design a solid solution—both critical to building high quality software. Finally, umbrella activities such as change management and technical reviews have as much to do with quality as any other part of software engineering practice.

15 Useful Product A useful product delivers the content, functions, and features that the end-user desires But as important, it delivers these assets in a reliable, error free way. A useful product always satisfies those requirements that have been explicitly stated by stakeholders. In addition, it satisfies a set of implicit requirements (e.g., ease of use) that are expected of all high quality software.

16 Adding value By adding value for both the producer and user of a software product, high quality software provides benefits for the software organization and the end-user community. The software organization gains added value because high quality software requires less maintenance effort, fewer bug fixes, and reduced customer support. The user community gains added value because the application provides a useful capability in a way that expedites some business process. The end result is: greater software product revenue, better profitability when an application supports a business process, and/or improved availability of information that is crucial for the business.

17 References Software engineering: A practitioner’s approach by Roger S. Pressman 8th edition Metrics and models in software quality engineering by Stephen H. Kan 2nd edition


Download ppt "Software Quality Engineering CS- 449"

Similar presentations


Ads by Google