1.2.3 Software Development Flashcards
Identify 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.
Identify the advantages of waterfall programming methodologies.
- Straightforward to manage,
- Clear structure,
- Clearly documented.
Give three disadvantages of extreme programming methodologies.
- High cost due to two people working on one team 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 some key qualities of an algorithm?
- 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 so modifications can easily be made.