Deck 1 - Higher Computing - Software Design and Development Flashcards
Name the stages we normally work through when developing software.
- Analysis
- Design
- Implementation
- Testing
- Documentation
- Evaluation
- Maintenance (not in test)
What are the two main methodologies for creating software?
- Iterative
- Agile
What does iterative mean?
- Repeating steps over and over again
What is the iterative development methodology?
- The Iterative Development Methodology involves completing all of the stages or development.
- If there are any issues, you start the whole process again.
What is the agile development methodology?
- A way of developing software in a reactive and responsive way, with constant feedback with the client.
- Each stage of development can be iterated many times before moving on to the next stage.
- The client is involved throughout the whole process.
- The whole development team works closely together.
- The project is broken down into many short-term goals (sometimes called “sprints”) that the team works towards.
How is agile development achieved?
- It is achieved with a very short feedback loop
What is software that does not crash easily when given invalid data called?
- Robust
What is a software-development methodology where active user involvement is imperative to gain feedback called?
- Agile
What is software that solves the problem that it is required to solve in terms of usability and functionality requirements called?
- Fit for purpose
What is software which can be easily adapted to changing requirements in the future called?
- Maintainable
What is software that solves a problem without using an unnecessarily large amount of code called?
- Efficient
What design methodology is suited to what scale of projects?
- The iterative method is better suited to large scale projects with strict deadlines
- Agile is better suited to projects that don’t have a clear scope and where client needs might change
What is the analysis stage and what it is done through?
- During the analysis stage of software development, the analyst will discover exactly what the client needs
- The analysis is done through:
- Interviews with the client
- Questionnaires for the users
- Observing the current system in use
- Reading the documentation for the current system
What is software specification?
- A legally binding contract between the client and the developer
- The software specification outlines:
- Purpose
- Scope
- Boundaries
- Functional requirements
What is the scope (analysis)?
- The scope of your solution is a list of things you will deliver to the client as part of your project
- The scope can also include a timescale for delivery