BLOCK 3 Flashcards
What is the Waterfall model?
A sequential, one-way, progressive flow of activity and
information.
Advantages of the waterfall model?
Practical and easy to use
Simple structured approached agreed content and structure
Emphasis on analysis and design documentation
Disadvantages of the waterfall model?
Requirements, processes and data structure evolve over time
Technology changes very rapidly
The market changes very rapidly
When is the waterfall model appropriate?
Systems not expected to change over time
Safety-critical systems
computerizing existing manual systems without major changes
What is RAD(Rapid application development)
RAD based on prototyping and incremental and or evolutionary delivery
Principles of RAD
Requirement cannot always be specified in advance,
Requirements are never complete
80/20 rule:80% of the system can be built in 20% of the time
Most important requirements build first
What is DSDM
Evolved from RAD for the purpose of meeting tight schedules, budgets and quality standards.
Focusing on quality assurance
Structure to RAD and increase the likelihood of success
More formalized procedures
What is Extreme programming?
A continuous process of development, testing, integration and very frequent small releases.
Intends to improve;
Software quality
Productivity
Responsiveness to changing requirements
Some characteristics of XP?
Customer directly prioritises work
Pair programming
Test-driven development
Delay programming of features until they are needed
Criticisms of Agile methods?
Lack of design and documentation
Finding the balance with enough design and documentation but not too much.
Need for above-average programmers
Above-average programmers always create above average code.
Just an excuse for “cowboy coding”, e.g. in
terms of face-to-face communication and relatively
sparse use of documentation.
Differences: traditional vs. agile methods
Compared to traditional methods, agile ones
emphasise:
Continuous customer participation in development decisions and interaction with developers.
Timeboxing: fixed resources and deadline instead of fixed requirements.
Iterative development and more frequent release of software versions.
Small teams in close collaboration.
Who is involved in system development?
The user/ stakeholders
The developer or programmer: turning requirements into programs
The analyst developers and users do not “speak” the same language
Who is the analyst?
The person who communicates user requirements and translates them into computer programmes.
Bridges the gap between developer and user
What is a methodology?
Collection of procedures, techniques, tools, notations, and documentation
Aids developers efforts to implement Information Systems
Guiding choice of techniques for carrying out the tasks
Levels of user engagement; Waterfall model
User agrees requirements
Developers do design and implement it
The user performs acceptance trials