You are on page 1of 2

Software is said to be:

A document that describe the operation and use of the program. Data structure that enables the program to manipulate the information. Instructions that when executed provides the desired features or function.

Generic software: Generic software is those which are developed for a broad category of customers. These are the users whose environment is well understood and common for all. This type of software sold in the open market where they face several competitors.

Customized software: This type of software is meant or developed keeping in mind the needs of a particular customer e.g. hospital management system. These types of users have their own unique domain, environment and requirements. Following are the characteristics of software engineering: Software is not manufactured in the classical sense, but it is developed or engineered: Software or hardware both get manufactured in the same manner and both of them uses the design model to implement the product. The only difference is in their implementation part. They both differ in their coding part. So, it is said that software is not manufactured but it is developed or engineered. The only difference lies in the cost of both the hardware and software. Software doesn't wear out: The hardware can wear out whereas software can't. In case of hardware we have a "bathtub" like curve, which is a curve that lies in between failure -rate and time. In this curve, in the starting time there is relatively high failure rate. But, after some period of time, defects get corrected and failure-rate drops to a steady-state for some time period. But, the failure-rate again rises due to the effects of rain, dust, temperature extreme and many other environment effects. The hardware begins to wear out. But, the software is not responsible to the failure rate of hardware. The failure rate of software can be understood by the "idealized curve". In this type of curve the failure rate in the initial state is very high. But, the errors in the software get corrected and the curve flattens. However, the implication is clear

that the software can "deteriorate" it does not "wear out". This can be explained by the actual curve. As soon as that error gets corrected the curve encounters another spike that means another error in the software. After some time the steady state of the software don't remains steady and the failure rate begins to rise. If hardware gets failed then it can be replaced but there is no replacement in case of software. Software is flexible: Software is said to be "flexile" because, software can be developed for doing anything and any type of problem. Software can be developed for solving any type of problem and can also be changed if the requirements change. Reusability of component: In this world the reusability of the component is a natural part of engineering process. You don't need to start writing the software from the scratch. You can use the initially developed software to develop the new one e.g. if an engineer wants to manufacture a television then he can take picture tube from one spare TV, and cabinet from another and like this by joining the parts he can easily manufacture a TV set quickly. In the similar manner, software can be developed. You don't need to start writing the code from the scratch. But you can use already developed software to develop another one, e.g. a graphical user interface can be developed by the software which are developed prior to your new software. You don't need to think over it that how it can be developed. You just use the already developed code for it.

You might also like