Software Development Life Cycle Models

Description of a process typically showing the main stages in producing and maintaining:
–Executable software (software development life cycle)
–Computer Aided Business Systems (systems development life cycle)

Basic Systems/Software Development Steps:

Define the problem… essential first step (initiating systems development)
–What is the problem?
–Work: compile problem statement or vision statement. Define objectives. Define Scope.
–Output: terms of reference for continuation

Feasibility (systems investigation)
–Expand on problem. Is there a feasible solution? How do we develop a new system?
–Work: High level analysis. Cost Benefit analysis. Organisational Feasibility. Technology available. Development and implementation plan (high level).
–Output: Feasibility report. Summary of preliminary findings and recommendations for next step.

Systems Analysis
–Understand what is done now. What are the requirements of a new system.
–Work: Analyse existing system’s ability to meet user’s needs. Determine what problems are, what the requirements are.
–Output: System model. Statement of requirements

Systems Design (two steps)
–How in general can the system be designed and realised
–Work: transform the requirements into a logical design. Prepare designs for various options.
–Output: alternative design options

Detailed Design
–How specifically should the system be designed and implemented
–Work: prepare a detailed physical design (architecture, hardware, data organisation, detailed design software procedures) for the chosen solution
–Output: detailed design specification

Implementation
–Realise the new system (put it into operation)
–Work: buy or assemble or develop programs. Write procedures. Set up organisation. Install hardware. Test. Convert from old system. Go live.
–Output: an operational system

Operation, Maintenance & Review
–Use the system, evaluate, modify if necessary, keep system in operation.
–Work: day to day running, modifications and maintenance
–Output: an ongoing operational system



Implementation of the SDLC

-“Traditional approach,” also known as the Waterfall Model
-Rapid Prototyping
-Incremental Approach
-Extreme Programming


Waterfall Model Advantages

By far the most commonly used approach up to now
All the most widely used methods are underpinned by the waterfall model
The stages are clear cut

Activities -> Outputs
Requirements Analysis -> Feasibility Study, Outline Requirements
Requirements Definition -> Requirements Specification
System Specification -> Functional Specification, Acceptance Test Specification, Draft user manual
Architectural Design -> Design architecture specification, System test specification
Interface Design -> Interface specification, Integration test specification
Detailed Design -> Design Specification, Unit test specification
Coding -> Program Code
Unit Testing -> Unit test result report
Module Testing -> Module test result report
Integration Testing -> Integration test report, Final user manual
System Testing -> System test report
Acceptance Testing -> Final System

Waterfall Disadvantages
Can be too rigid
One phase must be completed before proceeding on to the next
Difficult to incorporate user feedback without implementation

Rapid Prototyping



The prototype is an executable version of the functionality and interfaces (sometimes called a behavioural prototype)
Minimal time investment in prototypes
Facilitates user understanding and specification role
The prototype is a throwaway program and used to elicit and specify requirements (non-operational)
The system is then designed, constructed, and implemented using waterfall model
Rapid prototyping has been enabled by the availability of modern programming tools (screen painters, 4GLs, Database software, etc.)

Incremental



Planning
Management Cycle Plan: resource, execute, control
Planning means “thinking of everything”
Without a plan (defining some goal) it is impossible to evaluate how you are progressing toward that goal

Gantt Charts for Planning


Your Project

The SDLC gives you the stages you must follow to develop your program/system
You must plan how long you are going to take at each stage and what you are going to produce at each stage
Then you can evaluate how you are progressing (control)

Conclusion

There is a recognised systematic approach to software development
The recognised steps are:
Feasibility (investigation)
Analysis
Design
Implementation (including testing)
Maintenance and review
Each stage delivers outputs that progressively build the system
You can plan by assessing what you are going to deliver at each stage and how long you think it will take. You control, progress against the plan

12 comments:

  1. Hi

    If anybody wants to go for Software Testing training, visit http://www.btes.co.in

    ReplyDelete
  2. thank you very much for your valuable information sir.it was really very helpful to me.

    ReplyDelete
  3. Acetech is one of the largest independent solution providers in custom software development services and Offshore software development. For details or business enquiries visit Acetech software development company in delhi.

    ReplyDelete
  4. It is a nice blog. Well we are IT organization i.e. Publicus Solutions Ltd is an established IT firm in London delivering its magnificent IT and web based services to different region of business and industries. It has become leading name in IT Support London along with IT consultancy services in London and IT Support and solutions London. If you need more details just log on to in www.publicus-solutions.com

    ReplyDelete
  5. the greatest free plan suppliers Hadoop Training in Chennai in custom programming progression organizations and Offshore programming change. For purposes of interest or business enquiries visit

    ReplyDelete


  6. very nice blogs!!! i have to learning for lot of information for this sites...Sharing for wonderful information.


    Custom Software Development India - Nintriva

    ReplyDelete
  7. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.

    Big Data Hadoop Training In Chennai | Big Data Hadoop Training In anna nagar | Big Data Hadoop Training In omr | Big Data Hadoop Training In porur | Big Data Hadoop Training In tambaram | Big Data Hadoop Training In velachery

    ReplyDelete
  8. This is a very interesting web page and I have enjoyed reading many of the articles and posts contained on the website, keep up the good work and hope to read some more interesting content in the future.
    Document Management Software
    Cloud Document Management System
    Document Management System
    Electronic Document Management Software

    ReplyDelete