Subscribe Us

Header Ads

Software Development Life Cycle


Software Development Life Cycle

SDLC  : The software corporation examine software development as a process.

According to Booch and Rumbaugh, “A refine determine who is doing what, when and how to reach a convinced intention?”

Software engineering is a domain which combines process, methods and gadget for the upshot of software.


    The various spoor (called phases) which are affiliate in the upshot of this process are collectively dub as Software Development Life Cycle (SDLC). 

Normally, these aspects are behaved lineally or circularly, but it can be changed concede to project as well.

 In general, different aspects of SDLC are defined as following:

• Requirements Gathering & Analysis
• Design
• Coding
• Software Testing
• Maintenance

Requirements Gathering & Analysis :

Requirements describe the “What” of a system.

The ambition which are to be achieved in Software process upshot are the requirements. In the requirements analysis aspects, the requirements are perfectly defined and noted down.
 The output of this aspects is SRS (Software Requirements Specification) document.

Requirements are gather from customers, clients , collaborator, users and then all these requirements are written in the specified document such as software requirement specifications .


Design :

 In this phase, a logical system is built which fulfills the given requirements
.
Design aspects of software development deals with reconstruct the customer’s engrossment into a logically working system. 

Normally, design is percolate in the following two steps:

a)      High Level Design
a)      Low Level Design

The input to the design phase is the Software Requirements Specification  document and the output is the Software Design Document .


Coding :

 The input to the coding phase is the Software Design Document. In this aspects , the design document is coded confer to the module specification.

This aspects alter the Software Design Document into a high level language code.

At present extensive software companies adhere to some well stated and standard style of coding called coding standards.

 Good coding standards improve the understanding of code.

Testing :



 Testing is the process of running the software on manually created inputs with the intention to find errors. In the process of testing, an attempt is made to detect errors, to correct the errors in order to develop error free software. The testing is performed keeping the user’s requirements in mind and before the software is actually launched on a real system, it is tested. Testing is the process of executing a program with the intention of finding errors.

 Normally, while developing the code, the software developer also carries out some testing. 

Types of Testing  

1 UNIT TESTING :
When a unit of an module is tested . 

2 INTEGRATION TESTING :
When each and every module is tested individually .

3 SYSTEM TESTING :
When combination of all modules are tested and whole system is tested .

Testing and debugging are different processes.

Testing is meant for recommendation the presence of defects while unscramble(debugging) stands for establishing the berth of errors and amend the errors during the dispose of testing.

Maintenance :

Software maintenance is a very expansive liveliness that constitute error correction, enhancement of competence, deletion of obsolete adequacy .

 Hence, once the software becomes operational, whatever changes are done is termed as maintenance

Let's take an example of maintenance  :




  • Continuous  process : As the software requirement change continuously, maintenance becomes a continuous process .
  • Huge cost :  In practice, the cost of software maintenance is far more than the cost of software development. It narrative for 50% to 80% of the total system development outlay .

There are three categories of maintenance:

i) Corrective Maintenance
ii) Adaptive Maintenance
iii) Perfective Maintenance

Post a Comment

0 Comments