Software Development Flashcards
What are the common stages of software development life cycles (SDLCs)?
Analysis Design Development Testing Implementation Evaluation and Maintenance.
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 and operational aspects of the project as well as scheduling.
What are agile methodologies?
A collection of methodologies which aim to improve the flexibility of software development. They respond quickly to changes in user requirements.
What are the advantages of waterfall programming methodologies?
- Straightforward to manage. - Clear structure. - Clearly documented.
What are three disadvantages of extreme programming methodologies?
- High cost due to two 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 a 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.
What are three key qualities or considerations good algorithms should make?
Inputs must be clearly defined - what is valid and what is invalid? 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 so modifications can easily be made.