Traditional SDLC Model Assignment-93552-51425

Table of Contents

Introduction. 2

Traditional SDLC Model 2

Steps of Traditional SDLC.. 2

I.       Planning. 2

II.     Requirement Analysis. 2

III.        Design. 2

IV.        Development 3

V.     Testing. 3

VI.        Implementation. 3

VII.      Maintenance. 3

Iterative SDLC model 3

Steps in the Iterative SDLC Model 3

Comparison and Contrast 4

References. 5

Introduction

The aim of this research report is to compare and contrast traditional SDLC or Software Development Life Cycle model with some new SDLC model. Traditional SDLC model has seven steps. The newer SDLC model will have either 4 or 12 steps.

Traditional SDLC Model

SDLC or System Development Life Cycle model is a structured, iterative and multi-phased methodical process used to model a software development process. It helps in modelling technical and non-technical aspects of tasks related to a software development project. The main goal of the model is to provide quality, meeting the requirements and expectations of the business process and helping in decision making activities during the project. (Langer, 2012)

The basic SDLC model used to have 5 basic steps. In the traditional SDLC model, that 4 steps have been updated into 7 steps. Addition of more steps has helped in defining actions and goals in a clearer way.

SDLC is similar to PLC or Project Life Cycle, whereas SDLC gives a systematic approach for describing a process. SDLC is mostly used in Information System or other IT development projects.

SDLC gives clear information about each step and what activities are done in each step. Users will be able to understand, at any given point of time, what steps are being followed or repeated. It also helps in understanding the necessity of reworks.

The steps in the SDLC process, turn a new development project into an operational project.

Steps of Traditional SDLC

The steps in the traditional SDLC process are described as,

       I.            Planning

Planning is the first step in the SDLC process. In this step, it is verified that whether the proposed system will be able to fulfill the objectives of the business process. An initial planning or feasibility study is carried out during this step. The feasibility study assesses whether the resources needed for the project is available to the business or not, the scope of the project and the proposed system, requirements of the resources, time, and cost benefit analysis for the project. An initial project planning is developed. (Sommerville, 2011)

    II.            Requirement Analysis

This is the second step in the SDLC process. In this step, the functional and non-functional requirements for the proposed system are identified. The requirements of the business process, expectations of the end users are considered in this step. Based on the identified system requirements. An SRS or System Requirement Specification document is developed based on those requirements. Analysis of system requirements also helps in understanding whether the requirements will be able to meet the expectations of the end users. (Wieringa, 2010)

 III.            Design

This is the third step of the SDLC process. Based on the SRS document, the required specifications, features and functions of the proposed system are identified and defined. The end users or the clients can discuss their requirements, specific information about the business. The hardware and software components required for the system will be identified along with networking component and structures. Architectural and detailed design documents will be produced in this step.

 IV.            Development

This is the fourth step. In this step, the actual development of the system is done. Based on the design documents, each component and structure of the system are coded and unit tested. Testing results and codes are the primary deliverables from this step.

    V.            Testing

This is the fifth step. In this step, the components and structures developed in the previous step, are integrated one by one into a complete system. Quality Assurance or QA is an important part of this step. QA process will check whether the initial requirements and specifications have been met by the system or not. System testing will check for bugs, errors, and compatibility and interoperability issues. After system testing there will be acceptance testing. End users will take part in the acceptance testing. (Jorgensen, 2013)

 VI.            Implementation

This is the sixth step. The new system will be installed in its targeted environment. System analyst and the end users will check for the changes in the implemented system if there is any.

VII.            Maintenance

This is the final step. The system will be maintained for future. If is needs some updates or changes then that will be done. Main aims of this step are, boosting the performance of the system, checking for capabilities of the system and addition of minor user requirements or customization.

Iterative SDLC model

Iterative SDLC model is an incremental variation of traditional SDLC model, where, there are four steps and parallelism among the steps. The basic aims of this model is to ensure faster development process. After understanding the requirements of the proposed system, the requirements are broken down into smaller sets. In each iteration, a set of requirements are turned into an artifact, added with the solution from the previous iteration. This process continues until the system is completed and all requirements are successfully added to the newly developed system. The system is developed part by part. (Landry, 2011)

In this SDLC model, both of the iterative and incremental approaches have been utilized. At a point of time, more than one iteration may be in progress. Thus, it utilizes the power of parallelism. The approach taken in this model is also termed as ‘incremental build” or “evolutionary acquisition” approach.

A successful implementation of this model requires a number of validations and verifications for the requirements and rigorous testing activities. In each iteration, there are steps like requirement analysis, design, development and testing. (Wohlin, et al., 2012)

Steps in the Iterative SDLC Model

There are four basic steps in this model. Those are,

        I.            Requirement Analysis

     II.            Design and Development

   III.            Testing

  IV.            Implementation

The whole software development process is broken down into multiple builds. After the initial requirement analysis process, one of more builds start in parallel. Each build will have steps, design and development, testing, implementation.

In the requirement analysis step, the functional and non-functional requirements of the proposed system are identified. Then those requirements are broken down into smaller sets. Each set is used in each build. There may be dependencies among the builds. Hence, independent builds run in parallel at a time. In each build, first, the design and development process builds partial software based on the set of requirements for that build. Then the partial product is thoroughly tested and implemented. In succession products from each build are integrated with one other and the complete software or the system is built. (Dooley, 2011)

This SDLC model has some specific application. This is suitable for the systems, for which the requirements are completely known during requirement analysis, time is limited, some new technology is being used in the development process, scarcity in resources or some risks of change in requirements is expected in near future.

However, this model have some clear advantages. Those are, (Dooley, 2011)

  • It helps in faster development of the system or the software.
  • Results can be obtained earlier and periodically during the development process.
  • It supports parallel and incremental development.
  • It is easier to track and measure the progress during the life time of the system development.
  • It takes lesser effort and cost to incorporate some necessary changes during the development process.
  • Debugging and testing is easier and takes lesser time. Testing is more efficient also as it is applied to parts of software.
  • During each iteration, risk analysis help in exploring and mitigating risks if possible.
  • In each iteration, some operational product is delivered.
  • It has shorter initial operating time.
  • This is mostly suitable for mission critical and larger projects.

Comparison and Contrast

Iterative SDLC model is a specific variation of the traditional SDLC model. Iterative SDLC model is applicable under some specific conditions as described above. Same is true for SDLC approach. Even though is can be applied to any type of software development project, it gives better results in some specific cases. Traditional SDLC is mostly suitable for small and medium sized projects which are not mission critical. On the other hand, iterative SDLC model is mostly suited for mission critical and large projects. The time taken in the traditional SDLC approach is more than the same in iterative SDLC approach. Incorporating changes during the development process, is easier in case of iterative model compared to traditional SDLC model. Risk analysis and management is more efficient and easier in iterative SDLC model compared to the other one. In case of iterative model, periodically an operational part of the whole system is delivered. It helps in measuring the progress and tracking the same. In case of traditional SDLC approach, the whole system is delivered at once. Thus tracking and measuring the progress of the project is more difficult in case of traditional SDLC approach. Traditional SDLC approach takes more time, cost and resources compared to the other one. (Roebuck, 2011).

References

Dooley, J. (2011). Software Development and Professional Practice. Apress.

Jorgensen, P. C. (2013). Software Testing. CRC Press.

Landry, N. (2011). Iterative and Agile Implementation Methodologies in Business Intelligence Software Development.

Langer, A. M. (2012). Guide to Software Development. Springer.

Pearson . (2011). Software Engineering. Pearson .

Roebuck, K. (2011). Systems Development Life Cycle (SDLC). Emereo Pty Limited.

Sommerville, I. (2011). Software Engineering. Pearson .

Wieringa, R. (2010). Requirements Engineering: Foundation for Software Quality. Springer.

Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). Experimentation in Software Engineering. Springer .