1.2.3 software development Flashcards
(8 cards)
software development
activities dedicated to the process of creating, design, deploying and supporting software
system development life cycle(SDLC)
-analysis
-design
-implementation
-testing strategies
-evaluation
-maintenance
TESTING STRATEGIES
-black box testing:
testers do not need to be aware of the internal structure; and only trace for the input and output
can be carried out both within the company and by
end-users
aka functional testing
-white box testing:
carried out by the dev team
test plan is based on the internal structure of the program - to test all possible routes
aka structural testing
of the program
-alpha testing: carried out by in-house
-beta testing: carried out by end-users, requires feedback
waterfall lifecycle
definition: each stage is completed and documented before next is begun
-Each phase is moved down in turn //linear process
-Phases can be revisited back in turn
suitable for
(1)large-scale development projects, that are
(2)well-understood and carry
(3)little risks
cycle:
analysis, design, implementation/programming, testing, evaluation
agile methodologies
- iterative process
- each version is built on the pervious version
- prioritize user satisfaction
- suitable for small projects
extreme programming
- a form of agile
- emphasis on code quality over documentation
- paired programming (also means collective code ownership)
- testing is focused throughout the development
- suitable for frequent release of software, and small projects
cycle:
planning, design, code, test
spiral
- risk driven
- incremental design
- have prototypes of different version
- each phase usually adds a new element
- suitable for larger projects
rapid application development
process of RAD(EQ)
- prototype created
-> evaluation and feedback for iteration
-> make changes
-> process repeated until prototype become the final product
- spiral +agile
- suitable if there is no clear requirements