Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ch2: Software: Its Nature and Qualities. 1 Introduction  Difference between a software and other engineering products.  Difference between software.

Similar presentations


Presentation on theme: "Ch2: Software: Its Nature and Qualities. 1 Introduction  Difference between a software and other engineering products.  Difference between software."— Presentation transcript:

1 Ch2: Software: Its Nature and Qualities

2 1 Introduction  Difference between a software and other engineering products.  Difference between software process and other engineering processes

3 2 What is a software quality?  Definition:  Software qualities:  Software quality assurance:

4 3 Classification of software qualities  Internal vs. external:  Product vs. process:

5 4 Correctness  Definition:  Assessing correctness - potential problems  Correctness is an absolute (yes/no) quality

6 5 Correctness (contd..)  Example: Cars  Is it possible to define correctness for all the types of software applications?

7 6 Reliability  Definition:  Relationship between reliability and correctness:  Different reliability requirements per domain:

8 7 Reliability (contd..)  Cars:

9 8 Robustness  Definition:  Different robustness requirements per domain

10 9 Robustness (contd..)  Windows 98:  Cars:

11 10 Performance  Definition:  Can be verified  Performance is equated with efficiency, scalability, reliability, user-acceptance, etc.

12 11 Performance (contd..)  Measurement:  Analytical models:  Simulation models:  System performance must be addressed from day one, throughout lifetime

13 12 Performance (example)  Cars:

14 13 Usability  Definition:  Cars:

15 14 Verifiability  Definition:  Cars:

16 15 Maintainability  Definition:  Three main categories of maintenance  Evolution:  Maintanability decomposed as:

17 16 Repairability  Definition:  What is the difference between repairing a software product as opposed to repairing a car, air-conditioner?

18 17 Evolvability  Field of dreams: If you build it, it will change!  Key evolvability issues:  Cars:

19 18 Reusability  Definition:  Focused on software components:

20 19 Reusability (contd..)  Reusability evolving to larger components (for example, Java Beans and subsystems)  Cars:  Reuse of standard parts measure of maturity of the field

21 20 Portability  Definition:  Hard in practice – All C++’s not created equal:  Newer languages such as Java stress the ability to port without rewriting any code.

22 21 Understandability  Internal understandability  External understandability:

23 22 Interoperability  Definition:  Car:

24 23 Typical process qualities  Productivity  Timeliness  Visibility

25 24 Productivity  Definition:  Many metrics used, the most common one is number of classes/lines of code.  Lines of code is inadequate metric to measure productivity, why?  What could be another metric to measure productivity?

26 25 Timeliness  Definition:  Impacted by:  Incremental delivery

27 26 Timeliness (contd..)  Windows 2000:

28 27 Visibility  Definition:  Software engineers are apprised of decisions and choices  Strong visibility results in:

29 28 Importance of software product qualities  Relative importance of software product qualities depends on the product and the environment  Some attributes may dominate  Costs tend to rise exponentially if very high levels of any one attribute are required.


Download ppt "Ch2: Software: Its Nature and Qualities. 1 Introduction  Difference between a software and other engineering products.  Difference between software."

Similar presentations


Ads by Google