The Software Development Process Contents Product Components Software

  • Slides: 16
Download presentation
The Software Development Process

The Software Development Process

Contents çProduct Components çSoftware project staff çSoftware development lifecycle models

Contents çProduct Components çSoftware project staff çSoftware development lifecycle models

Product Components Competitive information Product reviews Schedules Product Specification Customer surveys Test plan Usability

Product Components Competitive information Product reviews Schedules Product Specification Customer surveys Test plan Usability data Software architecture Design document process Final product

Main components çCustomer Requirements: Customer need çSpecification : The result of requirement, confirm what

Main components çCustomer Requirements: Customer need çSpecification : The result of requirement, confirm what features the customer want. çSchedules: The mechanism to track product progress. çSoftware design documents: Architecture, DFD, State transition diagram, flowchart, commented code çTest Document: Test plan, test case, bug report

Software project staff çProject managers, Program managers, producers çArchitecture or system engineers çProgrammers, developers

Software project staff çProject managers, Program managers, producers çArchitecture or system engineers çProgrammers, developers or coders design çTester or Quality Assurance çTechnical writers, user assistance user education çConfiguration management

SDLC methodology

SDLC methodology

The SDLC and Quality Triangle Software product User Requirements Requirement Specification

The SDLC and Quality Triangle Software product User Requirements Requirement Specification

Software development lifecycle models çBig-Bang çCode-and-Fix çWaterfall çSpiral

Software development lifecycle models çBig-Bang çCode-and-Fix çWaterfall çSpiral

Big-Bang Testing çIs individual modules of the programs are not integrated until every thing

Big-Bang Testing çIs individual modules of the programs are not integrated until every thing is ready. çThis approach is seen mostly in inexperienced programmers who rely on 'Run it and see' approach.

Disadvantages of Big Bang testing çDefects present at the interfaces of components are identified

Disadvantages of Big Bang testing çDefects present at the interfaces of components are identified at very late stage. çIt is very difficult to isolate the defects found, as it is very difficult to tell whether defect is in component or interface. çThere is high probability of missing some critical defects which might surfaced in production. çIt is very difficult to make sure that all the cases for integration testing are covered.

Code-and-Fix Testing There are 2 steps çWrite some code çFix the problems in the

Code-and-Fix Testing There are 2 steps çWrite some code çFix the problems in the code There are basic problems: çPoor structure Cause of no good design çPoor preparation Cause of no good planning çPoor Match to customer need: no requirement

Waterfall Testing

Waterfall Testing

Waterfall Testing çAdvantages çTesting is inherent to every phase of the waterfall model çIt

Waterfall Testing çAdvantages çTesting is inherent to every phase of the waterfall model çIt is an enforced disciplined approach çIt is documentation driven, that is, documentation is produced at every stage

Waterfall Testing ç Disadvantages ç It only incorporates iteration indirectly, thus changes may cause

Waterfall Testing ç Disadvantages ç It only incorporates iteration indirectly, thus changes may cause considerable confusion as the project progresses. ç As The client usually only has a vague idea of exactly what is required from the software product, this WM has difficulty accommodating the natural uncertainty that exists at the beginning of the project. ç The customer only sees a working version of the product after it has been coded. This may result in disaster if any undetected problems are precipitated to this stage.

Spiral Testing çThis model of development combines the features of the prototyping model and

Spiral Testing çThis model of development combines the features of the prototyping model and the waterfall model. çThe spiral model is intended for large, expensive, and complicated projects.