Friday 11 October 2019

What is Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC):

Software Development Life Cycle sometime known as System Development Life Cycle . It is defined by the U.S. Department of Justice (DOJ) as a software development process, although it is also a distinct process independent of software or other information technology considerations.
it is used by a system analyst to develop an information system, including requirement, validation training and user ownership through investigation , analysis, design, implementation and  maintenance system.

SDLC also known as Information System development or application development model.
SDLC should result in a high quality system that meets or exceeds customers, expectations, within time and cost estimates, works effectively and efficiently in the current and planned information technology infrastructure, and is cheap to maintain and cost effective to enhance.
SDLC is a systematic approach to problem solving and is composed of several phases, each comprised of multiple steps.

SDLC consists of the following steps during its life:

  1. Project identification and selection
  2. project initiation and planning
  3. Analysis
  4. Design of System
  5. Coding
  6. Testing
  7. Implementation
  8. Maintenance

  1. Project Identification and Selection:

  1. This is the First phase in the SDLC. In this phase someone identifies the need for a new system.Information needs of the organization as a whole are examined, and project to meet these needs are proactively identified.

    When the request is made, the first process that takes place is dividing it three different parts. These are:
    (i)- Request Clarification
    (ii)-Feasibility Study
    (iii)- Request Approval

    i. Request Clarification:
    Many request from employees and users are not clearly defined. so it becomes necessary that object request must be examined and clarified properly before considering system investigation.

    ii.Feasibility Study:
    An important outcome of preliminary investigations is the determination that system request is feasible. there are three aspect of this Study:
    (a)- Technical Feasibility
    (b)-Economical Feasibility
    (c)-Operational Feasibility

    iii. Request Approach:
    It is not necessary that all requested project are desirable or feasible. However, those projects that are feasible and desirable should be put into a schedule. after a project request is approved, its cost priorities completion time and personal requirements are estimated which are used for initiation of development.
  2. Project Initiation and Planning:

  1. this is second phase of SDLC. the two major activities in this phase are the formal investigation of the system problem and the presentation of reasons why the system should or should not be developed by the organization. a critical steps at this point is determining the scope of the proposed system. The Project leader and initial team of system analysis also produce a specific plan, which the team will follow along with the SDLC steps.
    3-Requirement Analysis:
  2. The requirement analysis done in order to understand the problem the software system is to solve. the problem could be automating and existing manual process developing a new automated system or a combination of the two.
    The emphasis in requirements analysis is on identifying what is needed from the system not how the system will achieve its goals. for completion of this task there are often at least two parties involved in software development--a client and a developer.
    the developer has to develop the system to satisfy the clients need
    System Requirement analysis is also known as requirements engineering. the term requirement analysis can also be applied specifically to the analysis proper.
    it must be actionable, measurable, testable, related to identified business needs or opportunities and defined to a level of detail sufficient for system design.

    Conceptually Requirements analysis includes three type of activity:

    (i)-Eliciting Requirements:
    the task of communicating with customers and users to determine what their requirements are. this is sometimes also called requirements gathering.
    (ii)- Analysing requirements:
    determining whether the stated requirements are unclear, incomplete ambiguous or contradictory, and then resolving these issues.
    (iii)- Recording Requirements:
    requirements may be documented in various forms, such as natural language documents , use cases, user stories, or process specifications.

    4-Design of System:
  3. Software design is a process of problem solving and planning for a software solution. after the purpose and specification fo software is determined, software developer will design or employ designers to develop a plan for a solution. it includes low levels components and algorithm implementation issues as well as the architectural view.
  4. once the design is complete, most of the major decisions about the system have been made. however many of the details about coding the design. which often depend on the programming language chosen are not specified during design.
    the goal of coding phase is to translate the design of the system into code in a given programming language. for  a given design the aim in this phase is to implement the design in the best possible manner.
    The coding phase affect both testing and maintenance phase profoundly. well written code can reduce the testing and maintenance effort. because the testing and maintenance costs of software are much higher than the coding cost, the goal of coding should be to reduce the maintenance and testing efforts.
    the system is tested to ensure that all modules working correctly or not. in this phase a module tested separately. the purpose of testing is to detect coding errors. after this , the modules are gradually integrated into subsystem which are then integrated to eventually form the entire system. during integration of modules integration testing is performed to detect design error by focusing on testing the interconnection between modules 

    this phase is less creative then system design. it is primarily concerned with user training site preposition and file conversion.
    there are three type of implementation:
    a- Implementation of computer system to replace a manual system.
    b-implementation of a new computer system to replace an existing one.
    c-implementation of a modified application software to replace an existing one using the same computer.

    in brief we can say implementation is the process of converting a new system design into operation conversion include several steps.

    * Review of the project plan and implementation plan
  5. * Convert the files
    * Conduct parallel processing
    *Discontinue the old system
    *User Training
    *Plan for Post-Implementation Review
    Every system need maintenance. software will definitely undergo change once it is delivered to the customer. there are many reasons for the change. change could happen because of some unexpected input value into the system.
    there are number of problems  with maintenance e.g.
    i- Maintenance is not as rewarding as developing system
    ii-There are Minimal Standards for Maintenance.
    iii-Few tools and techniques are available for maintenance.
    iv- procedures and guidelines are poorly defined
    v- most programming view maintenance as low level

No comments:

Post a Comment

Popular Posts