Tuesday, April 30, 2013

Reliability


Reliability is the ability of a system to perform and maintain its routine circumstances as well as unexpected circumstances.  In other word we can say ability to perform system without any failure.

The Reliability defined by Institute of Electrical and Electronic Engineers (IEEE) as
The probability that software will not cause a system failure for a specified time under specified conditions.  The probability is a function of the inputs to, and use of, the system as well as function of the existence of faults in the software. The input to the system determines whether existing faults, if any, are encountered.

John Musa of AT&T Bell Laboratories defines as follows
The probability that a given software system operates for some time without software error, on the machine for  which it was designed, given that it is used with in design limit

Now a day’s software is become driving point in, most of the business, so reliability of software is more important.

Few objectives for software reliability as follows
  • To meet requirement
  • To perform software under a verity of the input and  the environment
  • The exception to be handled and the details should be maintained for audit purpose.
  • The application should be proceeding even the exceptions occurs.
  •  Response time are not adequate due to I/O  and memory resources are not optimized
Few functional reliability well known errors

  •  In ecommerce   credit card traction will be completed before you submit an order
  •  Bills are calculated wrongly or send to wrong person.
  •  In banking amount are credited from the wrong account
Few non- functional reliability well known errors 
  •  Due to improper access management, getting an access to unauthorized area.
  • User is not informed when error is occurred

Software reliability needs to address in all our SDLC process.   In the design phase we should have a proper architecture to address the reliability issues like security, exception management and auditing etc.  Proper coding standard document should be available for developer like how to do string concatenation, where to use session etc,.  In the coding phase code has to reviewed and make sure it follows all the best practice and architectural principals. In the testing phase application has to test completely with various scenarios and supported environments to increase the reliability.

No comments:

Post a Comment