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
Levels of user engagement; RAD
The user is involved in all critical decisions
Users “buy into” the design decisions
RAD Vs Waterfall;
Cost
Time
Requirements
Waterfall;
Cost-flexible
Time-flexible
Requirements-fixed
RAD;
Cost-fixed
Time-fixed
Requirements-flexible
Four phases of RAD
Requirements planning phase
User design phase
Construction phase
Cutover phase
Stages in System development life cycle
Scope and objection Feasibility study System Analysis System Design Implementation System in use Evaluation and maintenenace
What is the cost of correction
Cost of correction is multiplied by 10
Principles of DSDM
The project team must be empowered to make decisions.
User involvement is the key to an efficient and effective project.
All changes are reversible.
One characteristic of cowboy coding?
Uncertain design requirements