Software Development Flashcards
What is the waterfall lifecycle?
Sequential software development process divided into distinct phases
What happens during analysis in the waterfall lifecycle?
All possible system requirements to be developed are captured and documented clearly
What happens during design in the waterfall lifecycle?
Requirements from analysis are translated into a design.
Designers define overall structure and main concepts
What happens during implementation in the waterfall lifecycle?
Actual code is written based on design documents turning design into a functional program
What happens during testing in the waterfall lifecycle?
All components and modules are integrated(brought together)and tested to make sure system works as expected
What happens during deployment in the waterfall lifecycle?
The product is released to the client
May involve installation, customisation and training
What happens during maintenance in the waterfall lifecycle?
Post-release the system needs regular maintenance to fix bugs, improve performance and add new features
What are the benefits of the waterfall lifecycle?
Easy to understand and follow as each stage progressive linearly to next
Clear stages and milestones making progress easy to measure
Suitable for well defined projects as works best when requirement are clearand unlikely to change during development
What are the drawbacks of the waterfall cycle?
Inflexible as changes are difficult to implement once project has started and cant revisit previous stages
Expensive to fix late problems
Long development cycle as sequential nature may lead to longer development time
What is the waterfall model suitable for?
Projects where requirements are well understood and unlikely to change
Clear understanding of project goals and constraints
What is extreme programming?
A type of agile software development methodology that promotes adaptability and high customer involvement
What happens during planning in the Agile(XP)
development?
Customer and developers define the scope and priorities
Includes writing user stories
What happens during design in the Agile(XP)
development?
Developers create a simple design for the system that can evolve over time
What happens during coding in the Agile(XP)
development?
Coding done in small increments with frequent integration(bringing together) and pair programming to ensure quality
What happens during testing in the Agile(XP)
development?
Continuous testing throughout the coding process with automated tests developed before or alongside code
What happens during Iteration and Feedback in the Agile(XP)
development?
Constant feedback from stakeholders is used to guide future development cycles leading to iterative and incremental development
What are the benefits of Agile(XP) development?
Highly adaptable as it can respond quickly to changes
Frequent communication encourages constant communication between developers and users
Quality focus
Customer collaboration encourages working closely with customers and ensure it meets their needs
What are the drawbacks of Agile(XP) development?
Requires experienced team members
Intensive collaboration can lead to burnout as constant communication can be tiring
May lack documentation as it focuses on adaptability and immediate coding
Scope creep flexible nature may lead to uncontrolled changed in requirements
What is Agile(XP) development suitable for?
For small to medium-sized projects where requirements can change and customer involvement is high
What is the spiral model?
Software development methodology that combines aspects of both iterative and sequential processes
What happens during planning in the spiral model?
Defines the objective, alternatives and constraints for current phase of project
What happens during analysis in the spiral model?
Identifies and assess potential risks, and plan mitigation(reduce risk) strategies
What happens during engineering in the spiral model?
Develop the next version of the project including design, coding, testing and integration(bring together smaller components)
What happens during evaluation and feedback in the spiral model?
Review the progress with stakeholders, and plan next iteration