1.2.3 Software Development Flashcards
Identify the common stages of software development life cycles (SDLCs)
Analysis Design Development Testing Implementation Evaluation Maintenance (ADD TIE M)
Define white box testing:
A form of testing carried out by software development teams in which the test plan is based on the internal structure of the program. All of the possible routes through the program are tested.
What is TELOS
A method of analysis used by designers to evaluate the feasibility of a project. It considers:
Technical Economic Legal Operational Scheduling
aspects of the project
What are agile methodologies?
A collection of methodologies which aim to improve flexibility of software development. They respond quickly to changes in user requirements.
Identify the advantages of waterfall programming methodologies:
- Straightforward to manage
- Clear structure
- Clearly documented
Give 3 disadvantages of extreme programming methodologies:
- High cost due to 2 people working on one project
- Teamwork and good communication is essential
- End-user must be present throughout the duration of the project
What type of projects are spiral programming methodologies suited to?
Large, risk-intensive projects with high budget
What type of projects are Rapid Application Development (RAD) programming methodologies suited to?
Projects where high usability is required and user requirements may not be clear from the outset or are continually changing. Suited to projects of a small to medium size with a relatively low budget and short time-frame.
Define an algorithm:
A set of instructions used to solve a problem
State key qualities or considerations good algorithms should make:
- Inputs must be clearly defined (what is valid and invalid?)
- Must always produce a valid output for any defined input
- Must always be able to deal with invalid inputs
- Must always reach a stopping condition
- Must be well-documented for reference
- Must be well-commented so modifications can easily be made