The Software Development Process Contents Product Components Software
















- Slides: 16
The Software Development Process
Contents çProduct Components çSoftware project staff çSoftware development lifecycle models
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 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 or coders design çTester or Quality Assurance çTechnical writers, user assistance user education çConfiguration management
SDLC methodology
The SDLC and Quality Triangle Software product User Requirements Requirement Specification
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 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 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 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 ç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 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 the waterfall model. çThe spiral model is intended for large, expensive, and complicated projects.