Software Characteristics Assignment Help | Software Characteristics Homework Help

Software characteristics

The nature and behavior of a software is quite different than other products of human life. Some of the important characteristics are discussed below:

(i)    Software does not wear out: This is a very special characteristic of a software. This can be well understood with the help of a well-known “bath tub curve” in reliability studies for hardware products.

The shape of the curve is like “bath tub”; and is known as bath tub curve.

There are three phases for the life of hardware product. Initial phase is burn-in-phase, where failure intensity is high. It is expected to test the product in the industry before delivery. Due to testing and fixing faults, failure intensity will come down initially and may stabilize after certain time. The second phase is the useful life phase where failure intensity is approximately constant and is called useful life of a product. After few years, again failure intensity will increase due to wearing out of components. This phase is called wear out phase. But software does not have this phase, as it does not wear out.

              Bath tube curve                                                      Software curve

Therefore, software becomes reliable overtime instead of wearing out. It may become obsolete as the environment in which it was developed, changes. Hence software may be retired due to new requirements, new expectations, environmental changes etc.

(ii)    Software is Flexible: This statement is not always true for all the situations. Most of us feel that software is flexible. A program can be developed to do “almost anything”. Sometimes, this characteristic ‘almost anything’ may be the best and may help us to accommodate any kind of change. However, most of the times this characteristic has made software development difficult to plan, monitor and control.

(iii)    Software is not Manufactured: The life of a software begins with the requirement and analysis phase and ends up with the retirement of a software  product. Development of a software is a one time effort but it requires a continuous maintenance effort in order to keep it operational. However, making 100 copies is not an issue and it does not involve any cost. In case of hardware product, every product costs us due to raw material and other processing expenses. There is no assembly line in software development. Hence it is not manufactured in classical sense.

(iv)    Reusability of Components: If we have to manufacture a personal computer, we may purchase monitor from one vendor, cabinet from another vendor, keyboard from the third and other components from fourth vendor. We will assemble every part and test the product thoroughly to produce a good quality computer. We purchase every unit and components from the market to produce the finished product. We purchase every unit and components from the market to produce the finished product. We may have standard quality guidelines and effective processes to produce a good quality product.

In software, every project is a new project. We start from the scratch and design of every unit of a software product. Huge effort is required to develop software which further increases the cost of the software product. However, effort has been made to design standard components that may be used in new projects. Software reusability has introduced another area and is known as component bases software engineering.

Therefore, developers can concentrate on truly innovative elements of design, that is, the part of the design that represent something new. Whereas in hardware world component reuse is a natural part of engineering process. In software, there is only a humble beginning like graphics. User interfaces are built using reusable components that enable the creation of graphics windows, pull-down menus, and a wide variety of interaction mechanisms.

For more help in Software characteristics click the button below to submit your homework assignment