unit 3 Flashcards
what is the waterfall lifecycle?
a sequential software development process divided into distinct phases. Each phase must be completed before the next one begins.
what are the 6 steps in the model?
requirement gathering
system design
implementation
integration and testing
deployment
maintenance
what are the benefits of the waterfall model?
simple and linear
clear stages and milestones
suitable for well-defined projects (when requirements are unlikely to change during development)
what are the drawbacks of the waterfall model?
inflexible, expensive to fix late problems, long development cycle
when is the waterfall model suitable?
most suitable where requirements are well understood and unlikely to change
what are the steps in the agile model?
planning
design
coding
testing
integration
feedback and iteration
what are the benefits of an agile model?
highly adaptable
frequent communication
quality focus
customer collaboration
what are the drawbacks of an agile model?
requires experienced team members, intensive collaboration can lead to burnout
may lack documentation
scope creep (uncontrolled changes in requirements)
when is an agile model suitable?
suitable for small to medium sized projects where requirements can change and customer involvement is high
what is the spiral model?
combines aspects of both iterative and sequential processes
what are the steps in the spiral model?
planning
risk analysis
engineering
evaluation and feedback
what are the benefits of the spiral model?
flexibility
risk management
strong customer involvement
incremental releases
what are the drawbacks of the spiral model?
complexity
time-consuming
expensive
not suitable for small projects
when is the spiral model suitable?
most suitable for large, complex projects where requirements may change
what is RAD?
methodology that emphasises fast and iterative development
what are the steps in the RAD model?
requirement planning
user design
construction
cutover or deployment
maintenance and updates
what are the benefits of RAD model?
speed, user involvement, flexibility, incremental development
what are the drawbacks of RAD model?
dependent on strong team collaboration, potential lack of quality, not suitable for small projects, can lead to scope creep
when is the RAD model suitable?
suitable for projects where rapid delivery is required
what is a programming paradigm?
established conventions and practices that dictate how computer programs are structured and developed
define a procedural paradigm
an imperative paradigm which is structured around procedure calls
what is an example of a language that uses a procedural paradigm?
C, Go
define object-oriented paradigm
organises code around objects which combine data and functionality
what is an example of a language that uses object oriented paradigm?
java, C#, swift