The Software Development Life Cycle is the cycle in which
the business analysts, the software developers, the database designers and/or
the database developers, the QA developers and end users collaborate to build
the application software. Basically, it involves designing the application
from scratch, documenting everything, adding the improvements and fixing the
bugs that occur in the SDLC. It is the lifecycle of Software from concept to
obsolescence.
A quality software system is based on the following three
principles:
·
Modeling of the software development process (process)
·
Modeling of the measurement of product (product)
·
Modeling of the management and human interactions (people)
The software development life cycle (SDLC) may be divided
into the following steps:
1.
Requests from customers/original idea
2.
Creation of feature lists based on item 1
3.
Technical design of features based on item 2
4.
Software design and time evaluation based on item 3
5.
Code implementation based on item 4
6.
Software Testing
7.
Beta release/ bug fixes
8.
Final release
The following section discusses each of these steps briefly.
Requests from customers/original idea
All the information relevant to the system and its
scenarios, the occurrence and the behavior is gathered in this phase from the
customer or the client who can provide the valuable information. These are
basically raw facts or materials collected from the customer’s point of view by
his or her observation over a period of time.
Creation of feature lists based on item 1
The information collected from the discussions mentioned on
item1 is considered for a refinery process that varies from company-to-company
depending on the standardization and the methodology that they do adopt. It
lists all the details of the proposed items in an organized manner.
Technical design of features based on item 2
Here the technical aspects come into the picture and the designing
of those aspects in terms of computer terminology. It involves the designing
of the architecture and the sources that influence them like UML, OOAD, etc.
Software design and time evaluation, based on item 3
The software design phase in the software development life
cycle is produced from the results of the requirements phase. It contains
detailed design of the software in terms of the interfaces that it will provide
and also the relevant functionalities that have to be implemented. It also
involves the designing of the database. In this phase it is equally important
to estimate the duration required based on the number of resources available in
hand.
Code implementation, based on item 4
The coding phase involves writing the source code based on
the required functionality by adhering the coding standards, code optimization,
etc.
Software Testing
After developing the software it is important to ensure that
the functioning of it is perfect. Software testing involves a mechanism that is
used to report the bugs/undesired results that may occur in the SDLC.
Beta release/ bug fixes
The newly developed software will be released to undergo the
tests for issues like the performance and its behavior under different
circumstances. The bugs that occurred earlier in the cycle are rectified.
The Final release
After the clearance of the bugs reported during the beta
release, the software is now ready to be released and delivered to the
customer.