1/25
Made with help from PMT Comp. Sci. notes
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
The 5 developement methodologies you need to know
Waterfall lifecycle
Agile methodologies
Extreme programming
Spiral model
Rapid application development
Waterfall lifecycle
Includes analysis, design, implementation, evaluation and maintanance stages
The stages are completed in sequence
Phases can be revisited back in turn
Inflexible - ff a change occurs in the requirements the lifecycle cannot respond easily, often at the cost of time and money.
What types of project are the waterfall lifecycle suited to?
Suits large scale projects
Suits projects with stable requirements
Suits low risk projects
What are the benefits of the waterfall lifecycle?
Straightforward to manage
Clearly documented
What are the drawbacks of the waterfall lifecycle?
Lack of flexibility
No risk analysis
Limited user involvement
Agile methodologies
A collection of methodologies which aim to improve the flexibility of software development and adapt to changes in user requirements faster
A working prototype is delivered early on and is built upon in an iterative manner so that new prototypes are delivered regularly throughout the developement
Less focus given to documentation and more to user satisfaction
What types of project are agile methodologies suited to?
Projects with unclear initial requirements.
Small to medium scale projects
What are the benefits of agile methodologies?
Produces high quality code
Flexible to changing requirements
Regular user input
What are the drawbacks of agile methodologies?
Poor documentation
Requires consistent interaction between user and programmer
Extreme programming (XE)
Programming stage is main focus
Is a form of agile developement
Includes planning, design, code, test stages
Testing is focused throughout developement
Prioritises code quality over documentation
Encourages the use of pair programming
What types of project are extreme programming suited to?
Projects with unclear initial requirements.
Projects requiring excellent usability
Small to medium scale projects
What are the benefits of extreme programming?
Produces high quality code
Constant user involvement means high usability
What are the drawbacks of extreme programming?
High cost of two people working on one project
Teamwork is essential
End-user may not be able to be present
Spiral model
Incremental design
Includes planning, design, programming and evaluation stages
At the end of all 4 phases it repeats
Each cycle usually adds a new element to the problem
Is used to manage risk
Prioritises riskiest elements first
What types of project are suited to the spiral model?
High risk projects
Suited to very large scale projects
High budget projects because risk management involves hiring risk assessors which is expensive
What are the benefits of the spiral model?
Thorough risk-analysis and mitigation
Caters to changing user needs
Produces prototypes throughout
What are the drawbacks of the spiral model?
Expensive to hire risk assessors
Lack of focus on code efficiency
High costs due to constant prototyping
Rapid application developement (RAD)
Iterative methodology:
Innitial user requirements are used to create a prototype.
This is given to users for evaluation and feedback
Feedback is used to inform any changes made in the next iteration (of the prototype)
This process repeats until requirements of end-users are met at which point the prototype becomes the final product
What types of project are suited to rapid application developement?
Small to medium projects
Low-budget projects
Projects with short time-frames.
What are the benefits of rapid application developement?
Caters to changing user requirements
Highly usable finished product
Focus on core features, reducing development time
What are the drawbacks of rapid application developement?
Poorer quality documentation
Fast pace may reduce code quality
Alpha testing
Testing by the developers
Testing in the way the end user would
Used when the program is complete
Takes place before beta testing
Beta testing
Takes place after alpha testing
Testing by end users
Feedback from users is used to inform the
next stage of development
Describe white box testing
Using source code to checks every possible path through the program
Uses dry runs and/or trace tables
Describe black box testing
Tests the expected output based on input
Does not look at the code / looks only at program specification
Can be carried out by developers or end users
Advantages of a modular approach
Work is easier to divide between a team
each team member just needs to know what values go into their subroutine and the expected functionality
Saves time as work takes place in parallel
Each team member can work on their area of expertise.
Breaks problems into smaller area
Easier to test/ debug/ read
Each subroutine can be tested before integration.
Code can be reused in the project/ future projects