6. Software Development Flashcards
what is the software development lifecycle (SDLC)
- aim to produce high-quality software that really solves customer problem
- 6 stages
- planning: organise team, create road map, milestones, scope objectives
- analysis: define requirements and customer approval
- design: architecture, UI, framework, communications
- development: writing software, documentation
- testing: unit tests, system integration, user acceptance
- maintenance: deployment, fixing bugs
SDLC methodlogy
provide set of guide lines to follow for completing activities in SDLC process
1. models
2. techniques
3. tools
models
abstract representation of real world
concepts
equation
diagram
charts
techniques
a way of carrying out activities
1. requirement gathering
2. database design
3. project planning
4. software testing
tools
integrated development environment IDE
computer aided system engineering CASE
drawing tools
communication tools
SDLC approaches
- predictive
- planned and organised in advance
- well understood, well defined
- low technical risk - adaptive
- flexible, modified in progress
- uncertain requirements and needs
- high technical risks
Predictive flow
- planning
- analysis
- design
- development
- testing
- maintenance
linear sequential lifecycle model –> waterfall
extension of waterfall: V model
Iterative Incremental flow
- requirement
- analysis
- design
- implementation
- product increment 1
- repeat…
used by agile development for adaptability and customer satisfaction
predictive SDLC pro/con
pro
quicker working product
simple risk management
easier debugging and test
con
require good planning
needs clear and complete system definition
additional effort for system integration
used when
have clear requirements
high-risk features
adhere agreed scope
adaptive SDLC pro/con
pro
cater for evolving requirements
better customer satisfaction
actively involvement and interaction from stakeholders
con
unclear planning
needs highly skilled, cross-functional team
off track if unclear vision
used when
end goal not clearly defined
fast process start required
experimental software is involved
SDLC in practice
There are always some predictive and some adaptive elements
first understand the business
explore business environment, potential improvement by talking to manager…
document vision, business model, problems