Software is a set of executable codes, libraries and documentations. Software is used to provide solutions, to execute procedures or to adapt for requirement of real-world.
Software cost a lot of money so companies have to use software for a long time to get return their investments, but business changes generate new requirements and software may have to be modified to correct errors, to adapt it for platform changes, or to improve its performance. A problem is how to manage these changes in software?
Software evolution is a process of developing a software using software engineering rules and methods. Software evolution includes the initial development, maintenance and updates. The initial development is a process with four stages: requirements, design, implementation and evolve (Figure 1).
Software Development Lifecycle DiagramSLXLM

Software Evolution 1

                                                    Figure 1: Initial Development Stages
Even after software has released, the advancing technology and the changing requirements make the software less efficient. The economical solution is to change the existing software to match the latest requirements, thus companies are evolving existing software rather than developing a new one. Evolving software is implemented by modifying existing components or adding new components to the software, so the software evolution is a spiral process (Figure 2).
Software Evolution 2SMLXL

Software Evolution 1

                                                            Figure 2: Software Evolution Model
Finally  In real-world, software development is an evolutionary process where software is continually changed over its lifetime, so to manage changes in software the economical solution is to change the existing software rather than developing a new software.

A bout the Author:

Akmal Ibrahim, IT Instructor Since 2001, Linux Admin Since 2005.

 

One Response

Leave a Reply

Your email address will not be published. Required fields are marked *