Академический Документы
Профессиональный Документы
Культура Документы
Software Engineering
Coding
Testing Maintenance
50 40 30 20 10 0
Relative Effort
Maintnce
Design
Coding
Req. Sp
Test
Prototyping Model
Before starting actual development,
a working prototype of the system should first be built.
Refine Requirements
Implement
Test
Maintain
Evolutionary Model
Evolutionary model ( successive versions or incremental model):
The system is broken down into several modules which can be incrementally implemented and delivered.
First develop the core modules of the system. The initial product skeleton is refined into increasing levels of capability:
by adding new functionalities in successive versions.
AB
Spiral Model
Proposed by Boehm in 1988. Each loop of the spiral represents a phase of the software process:
the innermost loop might be concerned with system feasibility, the next loop with system requirements definition, the next one with system design, and so on.
There are no fixed phases in this model, the phases shown in the figure are just examples.
Steps are taken to reduce the risk. For example, if there is a risk that the requirements are inappropriate:
a prototype system may be developed.
enables understanding and reacting to risks during each iteration along the spiral. uses:
prototyping as a risk reduction mechanism retains the step-wise approach of the waterfall model.
(CONT.)
can be decomposed into a set of modules that can be incrementally implemented, incremental delivery of the system is acceptable to the customer.
SDLC Model
A framework that describes the activities performed at each stage of a software development project.
Waterfall Model
Requirements defines needed information, function, behavior, performance and interfaces. Design data structures, software architecture, interface representations, algorithmic details. Implementation source code, database, user documentation, testing.
Waterfall Strengths
Easy to understand, easy to use Milestones are well understood Sets requirements stability Good for management control (plan, staff, track) Works well when quality is more important than cost
Waterfall Deficiencies
All requirements must be known upfront Deliverables created for each phase are considered frozen inhibits flexibility Does not reflect problem-solving nature of software development iterations of phases Little opportunity for customer to preview the system (until it may be too late)
The designer demonstrates the prototype, the user evaluates for problems and suggests improvements. This loop continues until the user is satisfied
Objectives: functionality, performance, hardware/software interface, critical success factors, etc. Alternatives: build, reuse, buy, sub-contract, etc. Constraints: cost, schedule, interface, etc.
What information is put into SRS? What do you need to do for phase 1?
What is SRS?
It is a document that you prepare:
after customer gives you their system specifications before you design the system
The *SRS+ specifies the requirements and the methods to be used to ensure that each requirement has been met. [source?]
Purpose (continued)
An SRS is basically an organizations understanding (in writing) or a customer or potential clients system requirements and dependencies at a particular point in time (usually) prior to any actual design or development work.
[www.techwr-l.com/techwhirl/magazine/writing/softwarerequirementspecs.html]
Its a two-way insurance policy that assures that both the client and the organization understand the others requirements from that perspective at a given point in time
[www.techwr-l.com/techwhirl/magazine/writing/softwarerequirementspecs.html]
Purpose (continued)
1. It provides feedback to the customer. 2. It serves as an input to the design specification. 3. It serves as a product validation check.
[www.techwrl.com/techwhirl/magazine/writing/softwarerequirementspecs.html]
Correct: every requirement given in SRS is a requirement of the software Unambiguous: every requirement has exactly one interpretation Complete: includes all functional, performance, design, external interface requirements; definition of the response of the software to all inputs (valid and invalid) Consistent: internal consistency
Ranked importance: essential vs. desirable Verifiable: for each requirement there must be a finite cost-effective method to verify process with which a person or machine can check that the software product meets the requirement. Modifiable: SRS must be structured to permit effective modifications (e.g. dont be redundant, keep requirements separate) Traceable: origin of each requirement is clear.
Scope
identify software to be produced by name explain what sw will (not) do describe application of sw (benefits, objectives)
Overview
brief description of rest of SRS organization of SRS
Apportioning of requirements
requirements that may be delayed to future versions
Additional comments