Software evolution


Software Evolution Laws
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.
Software Paradigms
Software paradigms refer to the methods and steps, which are taken while designing the software. There are many methods proposed and are in work today, but we need to see where in the software engineering these paradigms stand. These can be combined into various categories, though each of them is contained in one another:



Programming paradigm is a subset of Software design paradigm which is further a subset of Software development paradigm.

Software Development Paradigm

This Paradigm is known as software engineering paradigms where all the engineering concepts pertaining to the development of software are applied. It includes various researches and requirement gathering which helps the software product to build. It consists of –

●      Requirement gathering

●      Software design

●      Programming

Software Design Paradigm
This paradigm is a part of Software Development and includes –

●      Design

●      Maintenance

●      Programming

Programming Paradigm
This paradigm is related closely to programming aspect of software development. This includes –

●      Coding

●      Testing

●      Integration


Post a Comment

0 Comments