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 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
State three key qualities or considerations good algorithms should make
● 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