The Life Cycle of a Program

Did you know that all the programs we write have a life cycle of their own? Yes, even the fun and easy ones that we write and use for our daily work! What’s more, you are probably following this life cycle without even realizing it!

Let’s say you are writing a program to make a calculator. Now when you think of a simple calculator, you know that it must have the ability to add, subtract, multiply and divide two numbers and then display the result. This is the very first step of the life cycle of a program. It is called ‘Requirement Gathering and Analysis’. In the software industry, you might have to talk to your client to understand their requirements and document it. It states very simply what your software must do once it is developed. It sets the margins of expectations thereby clearly mentioning what is within and what is outside the scope of the software.

Once you have decided upon the functions that your calculator should perform, you will want to take two numbers as input from the user. You may also decide to give buttons for this purpose or ask the user to manually type in the numbers using the keyboard. You might ask the user for the mathematical operation he wants to perform. This can be done by using keyboard keys or by providing buttons for user input. This step of looking up all the options and deciding how to go about the program entails the second step of the software life cycle called ‘Design’. In this step, you might want to shortlist on a higher level, all the classes and objects that you want to use and how all this will interact with each other. Effective design can save a lot of time during the actual coding of the software. It is similar to laying groundwork for the full software.

Let us assume that we have finalized that the user shall enter two numbers and also the mathematical operation via the keyboard. We now sit down and begin coding in one of the programming languages that we are comfortable with. This step is called ‘Implementation/Development’. In the corporate software world, this step is usually split into modules and assigned to different developers so that time is saved and the software can be delivered quickly to the client.

Once the calculator code has been completed, you will want to test it. You might try out a few different numbers along with a different combination of mathematical operations. This is the ‘Testing’ phase. In commercial software products, there are different types of testing that takes place. A few of them are peer reviews, alpha testing, beta testing, system testing, stress testing, etc. The results of testing are a few nasty bugs and defects in code that will then have to be fixed by the developer. At the end of this phase, the software is expected to an ideal one that can possibly be delivered to the customer.

Following the release of the software, the last step in it’s life cycle is called ‘Maintenance’. This step involves continuous support for trouble shooting and perhaps even customer care. This step is performed after the software has begin to be put into use by the customers. Hopefully a bug-free software will not require too much of it!

In conclusion, the five steps of the life cycle of a program are - Requirement Gathering and Analysis, Design, Implementation/Development, Testing and Maintenance. These are also called the ‘Software Development Life Cycle’ or SDLC.

By Priya T.