0% found this document useful (0 votes)
858 views15 pages

Software Nature Qualities

The document discusses the nature and qualities of software. It defines software as an engineering activity that is more human intensive than manufacturing. It classifies software qualities as either external/visible to users or internal/concerning developers. Representative qualities that determine software quality are discussed, including correctness, reliability, robustness, performance, user-friendliness, verifiability, reusability, understandability, productivity, timeliness, visibility, and maintainability. Methods for achieving these qualities, such as modular design and testing, are also outlined.

Uploaded by

Sudani Ankit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
858 views15 pages

Software Nature Qualities

The document discusses the nature and qualities of software. It defines software as an engineering activity that is more human intensive than manufacturing. It classifies software qualities as either external/visible to users or internal/concerning developers. Representative qualities that determine software quality are discussed, including correctness, reliability, robustness, performance, user-friendliness, verifiability, reusability, understandability, productivity, timeliness, visibility, and maintainability. Methods for achieving these qualities, such as modular design and testing, are also outlined.

Uploaded by

Sudani Ankit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Software

Nature & Qualities


Himadri Barman
Centre for Management Studies, Dibrugarh University

Reference:
Ghezzi Carlo, Jajayeri Mehdi, Mandrioli Dino, Fundamentals of Software Engineering, c1991 Prentice-Hall Inc.
S/W Development – An Engineering Activity

How it differs?

 Malleable – Modify the product itself – as


opposed to its design – rather easily
 Software creation is human intensive: it requires
mostly engineering rather than manufacturing.
Here manufacturing is just the trivial process of
duplication
The s/w production process deals with design & implementation,
rather than manufacturing
Classification of S/W Qualities
Two different approaches:
9 External v/s Internal
9 Product v/s Process
The external qualities are visible to the users of the system; the
internal qualities are those that concern the developers of the system
The internal quality of reliability is necessary for achieving the
external quality of reliability – Distinction not sharp

We use a process or a set of processes to produce the s/w product.


Both are inter-related. Process quality enhances product reliability.
Configuration Management
Part of the s/w production process that is concerned
with maintaining and controlling the relationship
between all the related pieces of the various
versions of the product
We select a set of qualities
called representative qualities to
determine and assure the
quality of a software product.

What are these?


Correctness , Reliability & Robustness

Process Product Internal External

Reliability
• Satisfies/behaves according
Robustness to the specifications
•A mathematical property
Correctness
establishing an absolute
quantity
• An equivalence relation
between the product and its
specifications

Ideal Case
Performance
9Equated with efficiency Process
Product
Internal
User Friendliness External

9 Subjective – differs in different systems, for e.g.,


in an embedded system, user friendliness is
reflected in the ease with which the systems can
be configured and adapted to the h/w
environment
Verifiability
9 If its properties can be verified easily Process
Product

Reusability Internal
External
9 Characterizes maturity

Understandability
9 Characterizes user friendliness (external view
point)
Productivity
9Measures the efficiency of the process Process
Product

Timeliness Internal
External
9 Ability to deliver a product on time

Visibility
9 Glasnost (transparency or openness) – all steps
and its current status are documented clearly
Process
Product

Maintainability
Internal
External

9 S/W maintenance is divided into three categories


•Corrective – fixing bugs
•Adaptive
sources of change
•Perceptive
adjusting the application to changes in the environment
involves changing the s/w to improve some of its qualities – add
new functions, make it easier to use, etc.

Maintainability has two measurable dimensions


Reparability – if a s/w system allows the correction of
its defects with a limited amount of work
Evolvability – version releases
Process
Product

Portability
Internal
External

9 s/w is portable if it can run in different


environments (hardware platforms) or different
O/S s
9 o/s provides portability across h/w platforms

Interoperability
9 the ability of a system to coexist and cooperate
with other systems
How to achieve?
• Correctness
Experimental Approach Analytical Approach
(testing) (formal verification)

- using HLL
- using standard algorithms
- using libraries of standard modules
• Reliability
- extensive testing
• Robustness
- coding taking into consideration all possible errors
- extensive testing
How to achieve? (Contd…)
• Performance
three approaches
- measurement
- analysis
- simulation
• User friendliness
- standardization of the human interface
• Portability
- use techniques that allow the s/w to determine the
capability of the h/w and adapt to them
How to achieve? (Contd…)
• Repairability
- modular architecture
- use of proper tools
• Evolvability
- use of proper tools
• Reusability
- use of proper tools
• Verifiability (Understandability)
- modular design
- disciplined coding practices
- use of an appropriate programming language
How to achieve? (Contd…)
• Interoperability
- standardization of Interface
• Productivity
- work to plan
- leaving scope for contingencies
• Timeliness
- incremental delivery of the product (must be
combined with other software qualities)
• Visibility
- process steps be documented
- current status of intermediate products, such as
requirements specifications & design specifications be
maintained accurately

You might also like