22.5 C
New York
Monday, August 30, 2021

Software Development Life Cycle (SDLC)

Software Development Life Cycle is all about making, experimenting, working, and living software.

 phases of SDLCThe SDLC process is in wide use in all kinds of organizations, be it big or small. It is financially suitable. SDLC presents a strategy that gets arranged in a stepwise manner. It reduces the tensed environment that arises in big teams when it is a big project.

 

Software Development Life Cycle:

Primarily the question that arises is – What is SDLC? SDLC is the detailed step-by-step map that focuses on making the blueprint for developing software.

It enables disciplined and strategic planning.

SDLC Cycle:

It is a manifestation of the procedure for software development. 

Software Development Life Cycle Phases:

SDLC Phases are as follows:

  • ​Collection and analysis
  • ​Designing
  • ​Execution
  • ​Experiment
  • ​Putting to work
  • ​Maintenance

Below are a detailed study of each phase of the Software Development Life Cycle

1. COLLECTION AND ANALYSIS:

The first of all software development life cycles is collection and analysis. Customers get approached for relevant information for making products; that stand to their expectations.

SDLC PhasesIn this, the committee governing the software manufacturer holds a meeting. Here, the demands of the customers get heard. Information regarding the wanted features comes under observation. After collection, the analysis gets done. The smooth working of every feature on the product gets checked. In case of a doubt or query, a further gathering gets also arranged.

After this, a document gets created, where all requirements are shortlisted. This document is to be read by developers and gets also given to customers for review.

2. Designing

In this software life cycle, all collected data get taken as input. Software construction that gets taken that gets used for executing software.

3. Execution

What does the Software Development Life Cycle’s third phase involve? It includes the Programming and Execution post the presentation of the document. It gets made into source code. All features of the expected software get put in this phase.

4. Experimentation in software development life cycle

This cycle is the most vital of all phases of SDLC. After all coding, programming gets done, it is the turn of experimenting. Did you know that the software should get subjected to repeated tests? Any defects that get duly noted; are reported to developers to get rectified.

Experimentation continues until the software is up to the customer’s expectations. The documents listed are referred to by makers to have traces of changes.

5. Putting to Work

After testing the software, it gets put to work. Hence, UAT is now in use. Moreover, it works according to customer demands.

For UAT, a dummy marketplace gets made. Moreover, customer along with testers take part in the testing. Once the customer provides a green light to the performance, it is made ready to go live.

The progress of all Software Development Life Cycle phases is dependent on this phase.

6. Maintaining in Software Development Life Cycle

The final stage of all stages of SDLC is proper maintenance of the well-being of the product. Hence, the maintenance involves taking care of complaints, issues by the customers that require addressing by the developers.

Software Development Life Cycle Models:

An SDLC life cycle is a detailed structure of software development strategy. The following are the various models; in which the development can get shaped:

  • Waterfall Model

Additionally called the Linear Sequential Model. In this, the input of a step is the output of its preceding one.

Pros of the Waterfall Model:

  • Simplicity lies in understanding and representation of this model. 
  • The model addresses zero complexity and is easily manageable.

Cons of the model:

  • Subject to delay, not feasible for short projects.
  • This model doesn’t fit the bill for projects that have unrealistic or unreasonable requirements. Not being ready initially and call for a new need amidst the progress can cost extensively.
  • V-Shaped Model

The V-Shaped Model is also called Verification and Validation Model. Additionally, in this model, programming and experimentation go side by side. 

Pros of V – Model:

  • Easily understandable.
  • Best for small projects where requirements are known and planned.
  • The best model, helpful for a high-quality product

Cons of V-Model:

  • Not beneficial for projects that are in progress.
  • Emergency requirements can get expensive.
  • Prototype Model

In this, the prototype model gets made before the actual software.

Pros of Prototype Model:

  • Defects are detectable early; therefore, effective in cost and time.
  • Any feature that might have got missed can get attended, and put in remodeling.
  • Advising involves the customers.

Cons of Prototype Model:

  • The customer intervention sometimes gives rise to complexity in the finished product; therefore causes a delay in departure.
  • Spiral Model

In this model, loops are usable. Additionally, did you know that the software development life cycle’s varied phases comprised of these loops? So, the order inwards to outwards is – collection and analysis to implementation.

Pros of Spiral Model:

  • Extensive analysis possible through the prototype
  • Easy to go for enhancement and updates

Cons of Spiral Model:

  • The model has limitations to large projects only.
  • A Large iteration sometimes takes high time and incurs high cost.
  • Iterative Incremental Model

What is SDLCThe product is divisible into small parts in iterations. Hence, after completion of iterations, the customer receives delivery. Moreover, the next iteration gets an added feature according to customer reviews.

With the iterations, the product increases along. The final make after all iterations holds all feasible features.

Pros of Iterative & Incremental Model:

  • The model welcomes all alterations with ease.
  • Iterations allow effective risk-analysis.
  • Detection of flaws happens quite early.
  • Division in small parts helps in the effective management of products.

Cons of Iterative & Incremental Model:

  • The knowledge and compatibility combine to form successful development.
  • Big Bang Model

Did you know that this exhibit has no outline for its procedure? It is a combination of efforts, time, and money. The work progress accordingly. Hence, the end results of this process sometimes fail to address the client’s legitimate expectations. 

Pros of the Big Bang Model:

  • Simplistic model.
  • Minimal planning or routine requirement.
  • Developer-friendly model.

Cons of the Big Bang Model:

  • The model doesn’t seem fit for substantial and compound projects.
  • Uncertain, the percentage of risk is excessively high.
  • Agile Model

This model substantially focuses on pliability and fails to pay heed to most of the pre-requisites. Also, it is a union of iterative and incremental models.

Advantages of Agile Model:

  • Adaptable to changes.
  • Easy to update.
  • Customer reviews are integral parts of every stage of development.

Disadvantages:

  • No paper works required.
  • The high demand for experienced personnel and skills is a pre-requisite.
  • Unclear customer demands results in product failure. 

Conclusion:

SDLC processIf you follow a proper plan, a well-planned SDLC life cycle will enable adequate software development as per the customer’s legitimate expectations.

Thus, various Software Development Life Cycle models consist of their own set of advantages and disadvantages. Focus on factors like Requirements, Complexion, project size, expense, skill set, etc., before determining the execution model. 

For instance, Spiral and Agile models are best when ingredients are unclear. It gains easy accommodation in case any emergency arises. 

Hence, the waterfall model stands as the fundamental model. Additionally, other models in the context follow the path determined by this waterfall model.



Latest news

Daniyel Carlson
Daniyel Carlson is a Young Researcher in the field of Data Science & Analytics having research experience of more than 8 years. He has a Masters in Computer Engineering and currently serves as an Editorial Assistant in IGI Global, United States of America. Daniyel also holds honorary positions in the Associate Member of Institute of Research Engineers and Doctors, International Association of Computer Science and Information Technology, International Association of Engineers, Society of Digital Information and Wireless Communications.

Read Also

- Advertisement -

LEAVE A REPLY

Please enter your comment!
Please enter your name here