Software Processes Flashcards
Why are software products more complex than physical products?
Because they keep changing throughout their life and must fit around people and processes.
What makes software different from physical products?
Invisibility, complexity, conformity, and flexibility.
What does ‘invisibility’ mean in software?
Progress cannot be seen.
What does ‘complexity’ mean in software?
Software is more complex than other engineered products.
What does ‘conformity’ mean in software?
Software conforms to human rules, which are subject to change, rather than physical rules like gravity.
What does ‘flexibility’ mean in software?
Software is subject to constant change, adding complexity throughout its life.
Why is software considered a work of art rather than engineering?
Because it is entirely intellectual, every line must be correct, and small changes can have significant impacts.
What happens as software grows larger and more complex?
The impact of changes increases, testing becomes more expensive, and it is unlikely testing will ever be complete.
What was early software development like?
It was often ad hoc, anarchic, and difficult to support.
What does the Systems Development Life Cycle (SDLC) aim to do?
It provides a structured approach to software development by breaking it into stages.
What is the goal of the Waterfall Model?
To create a disciplined process with a precise definition of requirements.
What is a key assumption of the Waterfall Model?
Documents and unused software are considered to have value.
What is Rapid Application Development (RAD)?
A method where small teams work closely with users to build and test system prototypes iteratively.
What is the key assumption of the Iterative Approach?
Incomplete software that works has value.
What are the benefits of the Iterative Approach?
It identifies misunderstandings early, encourages user feedback, focuses on critical issues, and spreads workload evenly.