Lehman
has given laws for software evolution. He divided the software into three
different categories:
● S-type
(static-type) - This is a software, which works
strictly according to defined specifications and solutions.The
solution and the method to achieve it, both are immediately understood before
coding. The s-type software is least subjected to changes hence this is the
simplest of all. For example, calculator program for mathematical computation.
● P-type
(practical-type) - This is a software with a collection of procedures. This
is defined by exactly what procedures can do. In this software, the
specifications can be described but the solution is not obvious instantly. For
example, gaming software.
● E-type
(embedded-type) - This software works closely as the requirement
of real-world environment.This software has a high degree of
evolution as there are various changes in laws, taxes etc. in the real world
situations. For example, Online trading
software.