Software Development Flashcards
Testing types
Alpha: By dev team
Beta: By end users
White box: Knowledge of internal structure, all possible routes tested
Black box: No knowledge of internal structure, traces inputs and outputs
Waterfall lifecycle defintion and eval
+ Good for low risk projects with little user input
+ Clearly documented
- No flexibility
- Limited user involvement
Agile method defintion and eval
Design, build, feedback, re-design
+ High quality code
+ Regular user input
- Poor documentation
- Requires a lot of interaction between user and programmer
Extreme programming defintion and eval
2 pairs of programmers and end user. Written by one programmer and critiqued by the other.
+ High quality code
+ User involvement
- High cost of 2 people
- End user involvement is fiddly
Spiral Model defintion and eval
For heavy risk projects: Analyse, mitigate risks, develop and implement, evaluate for next iteration
+ Risk mitigation
+ Prototypes throughout
- Expensive to hire risk-assessor
- Inefficient
Rapid Action Development defintion and eval
User requirements through focus group, continually build on prototypes using user feedback
+ Usable product
+ Caters to user needs
- Poor documentation
- Fast pace may reduce code quality
LMC Commands
ADD
SUB
Input = INP
Store = STA
Load = LDA
BRZ = Branch if 0
BRP = Branch if positive
BRA = Branch always
OOP evaluation
+ High level of reusability, good for projects with many similar components
+ Modular structure means it is easy to maintain and update
+ Encapsulation protects attributes from being directly accessed.
— Requires and alternative style of thinking
— Not suited for all types of programs