1.2.3: Software Development Flashcards
What is the Waterfall Lifecycle based on?
- A series of stages completed in sequence, start to finish
What does the analysis stage of the Waterfall Lifecycle include?
- A study in which designers evaluate the practicality of the project using ‘TELOS’
What does the ‘T’ in ‘TELOS’ stand for and mean?
- Technical: Is the project possible considering the technology available and accessible?
What does the ‘E’ in ‘TELOS’ stand for and mean?
- Economic: Can the project be financed in the short-term and long-term?
What does the ‘L’ in ‘TELOS’ stand for and mean?
- Legal: Can the project be solved within the law?
What does the ‘O’ in ‘TELOS’ stand for and mean?
- Operational: Can the project be successfully implemented and maintained?
What does the ‘S’ in ‘TELOS’ stand for and mean?
- Scheduling: Can the project be completed given the time available?
What happens if a change needs to be made within a project being developed by the Waterfall Model?
- Programmers must revisit all levels between the current stage and the stage at which a change needs to be made
What is a disadvantage of the Waterfall Lifecycle?
- The model is inflexible and unsuitable to projects with changing requirements
- Users have little input as they are only involved at the very beginning and end of the Waterfall Lifecycle, during the analysis and evaluation stage
What are the Agile Methodologies?
- A collection of methodologies aiming to improve the flexibility of software development and adapt to changes in user requirements faster
What is an advantage of using Agile Methodologies?
- It is easier to make improvements or changes to the software
What is the process of developing a program using Agile Methodologies?
- The problem is broken down into sections developed in parallel, the design and analysis phases often occurring together
- Different sections of software can be at different stages of development
How does using an Agile Methodology work?
- A working prototype is delivered early on and prototypes are built upon and improved in an iterative manner so that new prototypes are delivered regularly throughout the dev cycle
What is an advantage and a disadvantage of using Agile Methodologies?
- Less focus on documentation and more priority is given to user satisfaction
What is Extreme Programming?
- An agile model in which the dev team consists of a pair of programmers alongside a representative end-user
What is Extreme Programming built upon?
- The model is built on ‘user stories’
- System requirements are specified by the end-user when designing the program
What is the aim of the ‘paired programming’ during Extreme Programming?
- To produce high-quality code, as the code is written by one person and critiqued by the other so it is improved as it is written
What is an advantage of Extreme Programming?
- Programmers work no longer than 40 hours a week, with the aim that quality is not compromised