1.2.3 Software Development
No description yet. This curated deck is ready for daily study.
Card preview (24)
State the 7 stages of a software development life cycle.
Analysis Design Development Testing Implementation Evaluation Maintenance
State the 4 types of testing.
Alpha testing Beta testing White box testing Black box testing
What is the analysis stage of the SDLC?
Collecting information from stakeholders Using information to clearly define the problem & system requirements
What is the design stage of the SDLC?
Different aspects of the new system are defined including inputs, outputs, security features, hardware set-up & user interface Test plan may be designed
What is the development stage of the SDLC?
Design is used to split project into individual self-contained modules
What is the testing stage of the SDLC?
The program is tested against test plan
What is meant by alpha testing?
Carried out in-house by software development teams within company Bugs are pinpointed & fixed
What is meant by beta testing?
Carrited out by end-users Feedback from users informs the next stage of development
What is meant by white box testing?
Carried out by software development teams Test plan is based on internal structure of program All possible routes through program are tested
What is meant by black box testing?
Testers not aware of internal structure Either within company or end-users Test plan traces through inputs/outputs
What is meant by implementation?
Installed onto users systems after appropriate changes made
What is meant by evaluation?
Effectiveness of software is evaluated against system requirements Robustness, reliability, portability & maintainability are considered
What is meant by maintenance?
Errors or improvements are flagged by end-users Software updates are sent out to fix bugs, security issues & improvements
Describe the waterfall lifecycle.
Stages are completed in sequence To make a change programmers must revisit all stages inbetween Low user involvement
Describe agile methodologies.
Different sections of the prototype are devloped in parallel Adapt quickly to changes in user requirements Provides user satisfaction over documentation
Describe extreme programming.
Agile model Each iteration through cycle generates a “working version” of program
Describe the spiral model.
Manages risk-heavy projects Loops through analysis, risk assessment, implementation, evaluation
Describe rapid application development.
Each iteration generates an “incomplete version” given to user to trial User feedback is used to generate next, improved prototype
What six key qualities do all good algorithms have?
Inputs must be clearly defined Must always produce a valid output for any defined input Must be able to deal with invalid inputs Must always reach a stopping condition Must be well-documented for reference Must be well-commented for modifications
What is the waterfall model used for?
Low risk projects with little user input
What are the advantages of using the waterfall model?
Easy to manage Well documented
What are the disadvantages of using the waterfall model?
Lack of flexibility No risk analysis Limited user involvement
What are agile methodologies used for?
Small to medium projects with unclear initial requirements
What are the advantages of using agile methodologies?
Produces high quality code Flexible to changing requirements Regular user input