Header Ads

  • Breaking News

    Software Engineering Phases

    Software Engineering Phases (Software Development Life Cycle)


    Software Development Life Cycle, SDLC for short, is a well defined, structured sequence of phases in software engineering to develop the intended software product.
    SDLC provides a series of steps that is used to design and develop a software product efficiently.
    SDLC framework includes the following steps:

    • Feasibility study
    • Requirement Analysis
    • Design
    • Coding & Testing
    • Integration & System Testing
    • Maintenance

    Feasibility Study: The main aim of feasibility study is to determine whether it would be financially and technically feasible to develop the product.
    In this phase, it is determined that the customer budget would meet the cost of the product and whether they have sufficient technical expertise in the area of development.

    • Requirement Analysis: All possible requirements of the system to be developed are captured in this phase. Requirements are set of functionalities and constraints that the end-user (who will be using the system) expects from the system. Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.

    • System Design: The requirement specifications are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The system design specifications serve as input for the next phase of the model. Engineers produce meta-data and data dictionaries, logical diagrams, data-flow diagrams, and in some cases pseudo codes.
    • System Design:
    • Metadata summarizes basic information about data, which can make finding and working with particular instances of data easier.
    • A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of programmers and others who need to refer to them.

    • Coding & Unit Testing: (sometime called as Implementation phase) On receiving system design documents, the works divided in modules/units and actual coding is started. The system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality; this is referred to as Unit Testing.

    • Integration & System Testing: Integration of different modules is undertaken once they have been coded and unit tested. During this phase, the modules are integrated in a planned manner. When all the modules have been successfully integrated and tested, system testing is carried out. The goal of system testing is to ensure that the developed system conforms to its requirements.

    • Maintenance: The software is maintained by updating the code according to the changes taking place in user end environment or technology. This phase may face challenges from hidden bugs and real-world unidentified problems.

    No comments