Showing posts with label Structured and Object Oriented Analysis and Design (SOOAD). Show all posts
Showing posts with label Structured and Object Oriented Analysis and Design (SOOAD). Show all posts

System Development Life Cycle (SDLC)

The entire process of building, deploying, using and updating ab information system is called the System Development Life Cycle. SDLC provides an overall framework for managing the process of system development. SDLC are of two types:
  1. Predictive Approach
  2. Adaptive Approach
1. Predictive Approach
    A predictive approach to the SDLC is an approach that assumes that the development project can be planned and organized in advance and that the new information system can be developed according to the plan. A predictive SDLC's are useful for a building system that is well understood and defined.
Waterfall Model
    The SDLC approach that is farthest to the left on the predictive/adaptive scale that is most predictive is called a waterfall model. It is an SDLC approach that assumes the various phases of a project can be completed sequentially, one phase leads into the next phase. A detailed plan is first developed, then the requirements are thoroughly specified, then the system is designed to the last algorithm, then it is programmed, tested and installed.
Phases:
1. Feasibility Analysis
    In this phase, Business analyst gather all the requirements from the client and document all the required in Software Requirement Specification (SRS).
2. Requirement & Specification
    After the info is gathered, the business analyst removes the inconsistency from the SRS and finalize SRS.
3. Design
    In this phase there are two stages:
  1. LLD (Low Level Design): It includes components, interfaces and packages. Example, UML diagrams.
  2. HLD (High Level Design): It includes classes, operations, relationship. Example, ER-Diagram and DFD.
4. Coding
    Implementation of above design
5. Testing
    Testing the system whether it works successfully or not.
6. Maintenance
    After the system or project has been developed it is mandatory to maintain it to keep update time to time.

Advantages:
1. Divide the problem into distinct phases that may be performed independently.
2. Natural and easy approach to solving the problem.

Disadvantages:
1. Once a requirement is finalized the new item cannot be added.
2. Until the final stage of the development cycle is complete, a working model of software does not 
    lie in the hand of the client.
3. Small changes or error that arise in the completed may cause a lot of problems.

2. Adaptive Approach
    An SDLC approach that is more flexible assuming that the project cannot be planned out completely in advance but must be modified as it progress. Some requirements of the system may yet need to be determined, after some preliminary development work.
Spiral Model
    An adaptive SDLC approach that cycles over and over again through development activities until a project is complete. After the initial planning is completed works begin in earnest of the first prototype. A prototype is a preliminary working model showing some aspect of its larger system.

    In Spiral model (adaptive approach) iteration is a fundamental element of the approach. Iteration means that work-activities analysis, design, implementation are done once, then again and yet again they are repeated. With each iteration, the developers refine the result so that it is clear to what is ultimately needed.

Advantages:
1. It is a evolutionary approach which enables developer and client to understand and react to risk at an evolutionary level.
2. It uses a prototyping as risk reduction mechanism and allows a developer to use the approach at any stage of the development.

Disadvantage:
1. Time-consuming model