Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.