MI0033 – Software Engineering
Assignment Set- 2
Q1. Quality and reliability are related concepts but are fundamentally different in a number of ways. Discuss them.
Answer:
One of the challenges of software quality is that "everyone feels they understand it.
In addition to more software specific definitions given below, there are several applicable definitions of quality which are used in business.
Software quality may 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.
The three key points in this definition: 1. Software requirements are the foundations from which quality is measured.
Lack of conformance to requirement is lack of quality. 2. Specified standards define a set of development criteria that guide the management in software engineering.
If criteria are not followed lack of quality will usually result. 3. A set of implicit requirements often goes unmentioned, for example ease of use, maintainability etc.
If software conforms to its explicit requirements but fails to meet implicit requirements, software quality is suspected.
A definition in Steve McConnell's Code Complete divides software into two pieces: internal and external quality characteristics. External quality characteristics are those parts of a product that face its users, where internal quality characteristics are those that do not.[4]
Another definition by Dr. Tom De Marco says "a product's quality is a function of how much it changes the world for the better. This can be interpreted as meaning that user satisfaction is more important than anything in determining software quality.
Another definition, coined by Gerald Weinberg in Quality Software Management: Systems Thinking, is "Quality is value to some person." This definition stresses that