Академический Документы
Профессиональный Документы
Культура Документы
SDLC
Software Engineering (SE) is the
application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software
Requirements Analysis ,
Specification
Software architecture
Implementation
Testing
Documentation
Training and Support
Maintenance
Models
There are four types of Model are:
1 Waterfall
2 Iterative
3. Prototype
4. Spiral.
User Requirements
phase
output
Software Requirements
Document
Software Requirements
Architecture
Design
Swimming
upstream
Architectural Design
Document
The Waterfall
Lifecycle Workflow
Testing
Delivery
Time
Detailed
Design
& Code
Advantages
1. Easy to understand and implement.
2. Widely used and known (in theory!)
3. Reinforces good habits: define-beforedesign, design-before-code
4. Identifies deliverables and milestones
5. Document driven, URD, SRD, etc.
Published documentation standards, e.g.
PSS-05.
6. Works well on mature products and weak
teams.
Disadvantages I
1. Idealised, doesnt match reality well.
2. Doesnt reflect iterative nature of
exploratory development.
3. Unrealistic to expect accurate
requirements so early in project
4. Software is delivered late in project,
delays discovery of serious errors.
Disadvantages II
5. Difficult to integrate risk management
6. Difficult and expensive to make changes
to documents, swimming upstream.
7. Significant administrative overhead,
costly for small teams and projects.
Spiral Model
Since end-user requirements are hard to
obtain/define, it is natural to develop
software
in an experimental way: e.g.
1. Build some software
2. See if it meets customer requirements
3. If no goto 1 else stop.
Iterative-waterfall
Prototype model
Advantages Early visibility of the prototype gives users an idea of what the final
system looks like Encourages active participation among users and
producer.
Enables a higher output for user.
Cost effective (Development costs reduced)
Increases system development speed
Assists to identify any problems with the efficacy of earlier design,
requirements analysis and coding activities.
Disadvantages Possibility of causing systems to be left unfinished.
Possibility of implementing systems before they are ready.
Producer might produce a system inadequate for overall organization
needs.
Often lack flexibility.
Not suitable for large applications.
Project management difficulties.