Today's Updates:

Sunday, April 20, 2014

What is Software Development Life Cycle (SDLC)? Explain with waterfall model.

What is Software Development Life Cycle (SDLC)? Explain with waterfall model.

SDLC is a process of developing the software and there are different SDLC are used to develop the software called SDLC models.
The development process adopted for a project will depend on the project aims and goals. There are numerous development life cycles that have been developed in order to achieve different required objectives. 
These life cycles range from lightweight and fast methodologies, where time to market is of the essence, through to fully controlled and documented methodologies where quality and reliability are key drivers.
Each of these methodologies has its place in modern software development and the most appropriate
development process should be applied to each project. The models specify the various stages of the process and the order in which they are carried out.
The life cycle model that is adopted for a project will have a big impact on the testing that is carried out.
Test activities are related to software development activities. Different development life cycle models need different approaches to testing.

Types of SDLC models
  1. Waterfall model
  2. Spiral model
  3. V-model
  4. Agile model
  5. Prototype or pilot model
  6. Hybrid model
  7. Derived model and etc..
Waterfall model
To explain the module let me take one example that XYZ Company got a project of developing an application for a bank.
One group goes to bank; there will be
1. Business analysts
2. Project Managers
3. Testing Managers
People who have experience in bank around 10-15 years, He will be trained by software developer and he will prepare the requirement list what they are in need.

Ø  Requirement Collection
It is a process of collecting the requirements or specifications or necessary objectives from the customers. These documents contain information about the complete project requirements and this document will help developers to develop the software in an efficient manner.

It involves following steps,
CRS: This means customer requirement specification and this document feed by the customer which is difficult to understand by IT people/developers/testers.
SRS: System requirement specification and CRS is converted to SRC with the help of stakeholders (senior developer, programmer, business analyst, etc). This is the format suitable to understand by IT people or developers.

SFS: System functional specification. SRS is converted to SFS, this is also reference document like SRS and which is very easy to understand. It is developed by senior developers.


Ø  Feasibility Analysis:-
This is a process of analyzing whether the project is feasible or not? And here all project developer, managers, HR all sit together and discuss whether the project is profitable or not.
For ex: whether the project is profitable? Whether it meets correct time to complete? Are we having number of developers/testers to complete this project? Etc.
If the project is infeasible then the team will ignore this project. This process involves finance head, project manager, business analyst, human resource. If the project is feasible then design process will starts.
Ø  Design:-
It is dividing into two sections,
High Level Design and Low level design

High Level Design
  • No. of modules
  • No. of screens
  • Screen Layouts
  • Database and its designing.
 Low Level Design
·         In this section Pseudo code or false code or algorithm is done. It is done by Sr. Developers.

Ø  Coding
 Conversion of pseudo code into real code.

Ø  Testing
Testing is a process of identifying the defects.

Ø  Implementation
Before accepting the project client tests the project. There will be again a group
  • Tech support engineers
  • Developers and Test engineers.
Ø  Maintenance
 There will be always one maintenance team until project is existing.

  Disadvantages
  • Requirements are not tested  
  • Designs are not tested  
  • Downfall of the defect is not avoid  
  • Cost of fixing the defects is high  
  • Not suitable for dynamically changing requirements. 
 Advantages:-
  • Strong and stable application and excellent quality, if the requirements are freezes.

Complete Testing material
Testing basic interview questions

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...