Software Development Context and Methodologies Flashcards
Name 3 different types of models used in businesses
Waterfall Model
V Model
Spiral Model
Agile Methodologies
What type of model is a waterfall model
A sequential model
One stage of the model will not start unless the other has been complete
What are the stages within a waterfall model?
Requirements Analysis System Design Implementation Integration and Testing Deployment Maintenance
Strengths of using the waterfall method?
Organised layout Clear goal Easy transfer of data/information Plan becomes final outcome Easy Testing Upkeep timescales
Weaknesses of using the waterfall method?
Can't progress until current stage is complete Complicated to amend changes Internal rather than external No testing until complete Longer delivery of products Lacking in flexibility
What is the V-model?
A way of Iterative and incremental development
How does the V-model work?
Development is done in different parts
Manages different projects
Repeated in a system
Iterative designs with building an incremental model
what is the spiral model?
Combination of linear, sequential and iterative model
Begins with design goal, ends with review
How does a spiral model work?
Identification
Design
Construct or build
Evaluate and review
what are Agile methodologies?
Umbrella term which defines several approaches to software development
What is Agile?
Set of values and principles
Collection of beliefs
Foundation for final product
Collaborative effort
List some of the Agile methodologies
Frequent delivery of high quality software
Incremental rather than all at once
Cross functional team
Requirements can be altered anytime
Ways of working Agile
SCRUM
KANBAN
XP
12 Principles of Agile
- Satisfy Customers
- Welcome changes
- Deliver value frequently (Up to date software)
- Work together
- Build projects with motivation
- Face to face conversations
- Working Software
- Maintain a constant pace
- Attention to detail
- Simplicity (Maximising work not done)
- Self-organising Teams
- Reflection
What are some points on the Agile manifesto?
Must work as a team Efficiently work together Comprehensive Work with customers Develop beneficial software for users Embrace change Work quickly
Name reasons that requirements may change during the development of software?
End users needs may change
Errors in capturing requirements
Financial changes
Change in technology
What is XP and what does it do?
XP = Extreme Programming
Frequent releases in short development cycles
Two or more people working on the same piece of code
What is SCRUM?
An iterative and incremental agile software development framework which manages the development of products
What are benefits of using SCRUM?
Easily adaptable Fast Working Allows for flexibility Effectively gets work done Gives clients insight throughout
Name different SCRUM ceremonies
Sprint planning master
Sprint review meeting
Sprint retrospective
Daily-stand up
What is TDD?
Test Driven Development
What is the purpose of TDD?
A way of changing code to pass a certain test
Detects what the code will do
Form of software Development
How does TDD work?
Add and run tests
Make changes to system
Run tests till it works
Completed development
Benefits of TDD
Clean/simple code
Higher quality code
Low maintenance
Less debugging
Meaning of SDLC
Software development lifecycle
What does SDLC do?
Process used by the industry to design, test and develop high quality software
Benefits of SDLC
Lower software development cost Higher quality Shorter production time Creates software through stages Defines new system requirements
Phases of SDLC
Outlines broad terms for creating software
Follows development models
Embed key phases in how they’re used
Highlight key processes with making software