Software development Flashcards
What is the waterfall lifecycle?8
The waterfall lifecycle consists of a sequence of stages: each stage is started only after previous one is completed
it is possible to go back a stage when necessary
Each stage can vary but usually are required definitions, analysis, design, coding, testing.maintenanace
The advantage of waterfall lifecycle?
It works well where there is a clear expected output at each stage and everyone has clear responsibilities
Very good for small projects
The disadvantage of waterfall lifecycle?
It is not suited to high-risk projects.If a problem is discovered at a later stage a lot of work(and therefore time and money)may have been wasted
What is RAD
Rapid Application Development involves the use of prototypes
The user is shown the prototype and gives feedback that is used to inform how the prototype can be further developed
This continues until the end user is happy that the prototype has all the required functionality.At this point it becomes the end product
What is agile software development?
A group of methods.These methods are designed to cope with changing requirements though producing the software in an iterative manner, that is to say, it is produced in version, each building on the previous one and each increasing the requirements it meets
What is extreme programming?
A methodology that puts emphasis on the coding itself A representative of the customer becomes part of the team to help decide the ‘user stories’ and to answer questions
What is the Spiral model?
Introduces the idea of developing the software in iterative stages.At the start of the process, the requirements are defined and the developers work towards an initial prototype.Each successive loop around the spiral generates a refined prototype until the product is finished
What are both extreme programming and rad good for?
Good methodologies for large projects where there is a danger of getting bogged down or sidetracked by suggested improvements that developers are continually chasing a moving target
What does a good algorithm contai
It should be designed in such a way that other people will be able to understand it and modify it if necessary