Se Intro Sdlc

Embed Size (px)

Citation preview

  • 8/10/2019 Se Intro Sdlc

    1/37

  • 8/10/2019 Se Intro Sdlc

    2/37

    Software is engineered, not manufactured.

    Software Doesnt Wear outMost software are custom-build

    Why is Software Different?

  • 8/10/2019 Se Intro Sdlc

    3/37

    Infant

    mortalityWear out

    Time

    Hardware

    Failure rate.

  • 8/10/2019 Se Intro Sdlc

    4/37

    LIST OF PROBLEMS

    Role of Software :

    Advances in Hardware outpace the software.

    Cannot keep pace with the demand for new Software.

    Struggle to build high quality and reliable software.

    Ability to support and enhance existing programs is

    threatened by poor doc and inadequate resources.

  • 8/10/2019 Se Intro Sdlc

    5/37

    LIST OF PROBLEMS

    Industry Perspective :

    Why does it take so long to get programs finished ?

    Why are costs so high?

    Why cant we find all errors before we give the

    software to our customers ?

  • 8/10/2019 Se Intro Sdlc

    6/37

    LIST OF PROBLEMS

    Ageing of S/W plant :

    Even small changes can fail the S/W.

    No one understands the internals.

  • 8/10/2019 Se Intro Sdlc

    7/37

    Why Projects Fail ?

    Lack of clear & understandable specifications

    Poor Documentation

    Over Ambitious Objectives

    Poor Communication

  • 8/10/2019 Se Intro Sdlc

    8/37

    The application of a systematic, disciplined,quantifiable approach to development, operation,

    and maintenance of software; that is, the applicationof engineering to software.

    IEEE Standard Computer Dictionary, 610, ISBN 1-55937-079-3, 1990

    Definition of Software Engineering

  • 8/10/2019 Se Intro Sdlc

    9/37

    Why?

    As a solution provider, you need to

    understand why the customer is interested inyour solution.

    Understanding of the context and

    background of the customers request

    Without this, you will not feel the

    importance of the project/product.

  • 8/10/2019 Se Intro Sdlc

    10/37

    What?

    What the customer is looking for?

    Requirements and Analysis would cover this

    in a formal way.

    i.e. What solution will suit the purpose thanwhat you can do or would like to do.

  • 8/10/2019 Se Intro Sdlc

    11/37

    How?

    How to implement? What are the methods

    to be followed?

    Follow a scientific way of implementing the

    project/ developing the product.

  • 8/10/2019 Se Intro Sdlc

    12/37

    1. Project Startup - Concept, Proposal.

    2. Requirements and Analysis.

    3. High level Design.

    4. Low level Design.

    5. Construction - Unit test, Code inspection.

    6. Integration and System tests.

    7. Replication, delivery, installation.8. Acceptance Testing (Requirements mapped)

    9. Maintenance (may involve all the above)

    10.Project windup - Checklist, Report, Lessons learnt.

    Phases of Software Development

  • 8/10/2019 Se Intro Sdlc

    13/37

    S D L C

    Determine project scope

    Secure project sponsorship

    Define preliminary resources

    Secure core resources

    Scope complete

    Scope

  • 8/10/2019 Se Intro Sdlc

    14/37

    How the customer explained it

  • 8/10/2019 Se Intro Sdlc

    15/37

    S D L C

    Scope

    Conduct needs analysis

    Draft preliminary software specifications

    Develop preliminary budget

    Review software specifications/budget with team

    Incorporate feedback on software specifications

    Develop delivery timeline

    Obtain approvals to proceed (concept, timeline,

    budget) Secure required resources

    Analysis complete

    Requirements

  • 8/10/2019 Se Intro Sdlc

    16/37

    How the project leader understood it

  • 8/10/2019 Se Intro Sdlc

    17/37

    S D L C

    ScopeRequirements

    Review preliminary software specifications

    Develop functional specifications

    Review functional specifications

    Incorporate feedback into functional

    specifications

    Obtain approval to proceed Design complete

    Design

  • 8/10/2019 Se Intro Sdlc

    18/37

    How the system analyst designed it

  • 8/10/2019 Se Intro Sdlc

    19/37

    S D L C

    ScopeRequirements

    Design Identify modular/tiered design parameters

    Assign development staff

    Develop code

    Developer testing (primary debugging)

    Development

  • 8/10/2019 Se Intro Sdlc

    20/37

    How the programmer wrote it

  • 8/10/2019 Se Intro Sdlc

    21/37

    S D L C

    ScopeRequirements

    Design

    Development

    Develop unit test plans using product

    specifications

    Develop integration test plans using product

    specifications

    Unit Testing

    Review modular code

    Test component modules to productspecifications

    Identify anomalies to product specifications

    Modify code

    Re-test modified code

    Testing

  • 8/10/2019 Se Intro Sdlc

    22/37

    S D L C

    ScopeRequirements

    Design

    DevelopmentIntegration Testing

    Test module integration

    Identify anomalies to specifications

    Modify code

    Re-test modified code

    Testing (Contd)

  • 8/10/2019 Se Intro Sdlc

    23/37

    What operations installed

  • 8/10/2019 Se Intro Sdlc

    24/37

    S D L C

    ScopeRequirements

    Design

    Development

    Testing

    Develop training specifications for end users

    Develop training specifications for helpdesk

    support staff

    Identify training delivery methodology

    (computer based training, classroom, etc.)

    Develop training materials Conduct training usability study

    Finalize training materials

    Develop training delivery mechanism

    Training

  • 8/10/2019 Se Intro Sdlc

    25/37

    S D L C

    ScopeRequirements

    Design

    Development

    Testing

    Training

    Develop Help specification

    Develop Help system

    Review Help documentation Incorporate Help documentation feedback

    Develop user manuals specifications

    Develop user manuals

    Review all user documentation

    Incorporate user documentation feedback

    Documentation

  • 8/10/2019 Se Intro Sdlc

    26/37

    How the project was documented

  • 8/10/2019 Se Intro Sdlc

    27/37

    How the customer explained it

  • 8/10/2019 Se Intro Sdlc

    28/37

    How the project leader understood it

  • 8/10/2019 Se Intro Sdlc

    29/37

    How the system analyst designed it

  • 8/10/2019 Se Intro Sdlc

    30/37

    How the programmer wrote it

  • 8/10/2019 Se Intro Sdlc

    31/37

    How the Business Consultant described it

  • 8/10/2019 Se Intro Sdlc

    32/37

    How the project was documented

  • 8/10/2019 Se Intro Sdlc

    33/37

    What operations installed

  • 8/10/2019 Se Intro Sdlc

    34/37

    How the customer was billed

  • 8/10/2019 Se Intro Sdlc

    35/37

    How it was supported

  • 8/10/2019 Se Intro Sdlc

    36/37

    What the customer really needed

  • 8/10/2019 Se Intro Sdlc

    37/37

    Increasing quality Achieve conformance to requirements

    reduce the number of software defects

    mitigate risks associated with the software

    Reducing project cost and schedule

    provides a framework for systematic, incremental software process improvements reduces the cost and schedule of the testing, installation, and maintenance phases

    Improving manageability enhanced accuracy of project planning

    detailed means of tracking projects

    early measures of software quality

    improved repeatability of success stories

    Benefits of SDLC