Software Engineering and Characteristics of Well Engineered Software

Harsh Gupta - Tech Writer
Software crisis leads to the term "Software Engineering." Software engineering is the branch of software that deals with development of well developed software that satisfies all the users' requirements and ensures that the software is provided on time and within budget. The software is provided along with documentation that gives description to the user on how to use the software. Software engineering can be defined as:

"Software engineering is the branch of engineering in which the software is developed in a manner that it will have all the properties like maintenance, extensibility and is within time and budget and also satisfies all the requirements given by user."

Producing software does not mean producing just software but it means to develop the software in a cost effective manner. Characteristics of well engineered software are:

Efficiency:

Software is said to be efficient if it uses the available resources in the most efficient manner. The software should be able to offer a quick response in the least processing time using the resources at minimum level. Resources refer to the memory and processor utilization. The software should efficiently perform what the user demanded and give appropriate response in each case i.e. the output given is accurate or not.

Maintainability:

This characteristic of the software is important for both the software engineer and the user. If the change is to be required in the software then the change leads to the change in the software so that it performs in accordance with the user requirement. The software engineer has to respond very fast if there is any change in the user requirements. Changes should be performed like this that it will not affect the overall integrity of the software.

On-time:

The software should be developed on-time. If the software is developed late then it is of no use. A good engineer always develops the software on-time.

Within budget:

Some of the software gets overrun. Overrun doesn't mean that the cost of the software exceeds the limit given by user. But, it means that the software cost is out of control. So, the software should be developed in such a manner that it will not overrun and the software being developed is within budget.

Functionality:

The software system is developed in a manner that it performs the entire task perfectly for which it is developed. The software should respond correctly as the user wants.

Adaptability:

The software should be adaptable. Software is desired to be adaptable all the changes efficiently. The software should easily adopt all the changes in the software with no change in the efficiency of the software.

Dependability:

It is the ability of the software that should not cause any physical or economic damage in the event of system failure. It includes a range of characteristics like: Reusability, security, and safety.

Usability:

Software becomes usable if it doesn't call for extra efforts to be learned. Usability increases with good documentation provided along with the software. In software operations a lot depends on the quality of user manual.

If software satisfies all the above characteristics then it is said to be good software or the software is well engineered.

Published by Harsh Gupta - Tech Writer

I am a part time freelancer and writing is my hobby Some of my websites: http://www.GenericArticles.com http://www.JailBreakingiPhone.com  View profile

  • Software is said to be efficient if it uses the available resources in the most efficient manner
"Software engineering is the branch of engineering in which the software is developed in a manner that it will have all the properties like maintenance, extensibility and is within time and budget and also satisfies all the requirements given by user."

2 Comments

Post a Comment
  • Friend10/15/2010

    I never Know About this things, this very useful....

  • Ayla3/18/2010

    Further properties:
    -Usability
    -Availability of appropriate documentation
    -Portability

Displaying Comments

To comment, please sign in to your Yahoo! account, or sign up for a new account.