1/23
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Purpose of PLDC
Easier to manage
Easier to plan/cost
Clear deliverables produced at the end of stage
“Three activities that take place during development stage”
Data structures
Algorithms/flowcharts/pseudocode
Modules (program structures)/ module - team allocation
Testing method/plan
Choice of programming language
Documents produced in analysis stage
Problem definition
Requirements specification
Documents related to current system (Feasibility study)
Meaning of downward arrows in PLDC diagram
Result from one stage is passed to the next
Meaning of upward arrows in PLDC diagram
More work is required at a previous stage to complete the current stage
Analysis
The problem is identified
The developer discusses the program requirements with the customer
A ‘requirements specification’ document is produced that details what is required from the program
Design
An identifier table is produced
Data structures
What algorithms, flowcharts and pseudocode will be used
What modules will be used and which member of the team will be allocated to what
What programming language will be used
Coding
All design stages (such as algorithms, flowcharts and pseudocode) are converted into chosen program code
Modules assigned to each team member based on level of experience
Syntax errors can occur, are addressed and solved
Testing
Test table is produced
Carried out by a small group of potential costumers
Users help to identify any errors or bugs in the software
They can then help to feedback suggestions that can help improve the software
Any problems are then fixed before final release
Principles of waterfall model
Lifecycle is carried out sequentially, in order
Each stage must be completed before going on to the next
Takes longer than other models because each stage must be complete before going to the next stage
Full documentations + lots of planning
Waterfall model
Produced on at end of process
(Must finish all stages before there is a final product)
Drawbacks of waterfall model
Concentrated, problems often found late into testing phase
Difficult and costly to change requirements later
No working program until late in life cycle - slower to market than competitors
High amount of client feedback needed
Iterative development
Main focus is continuous development
Principles of iterative development
Cycles of design, implement, test, review run repeatedly
Produced early and frequently
High tolerance, easily incorporated into the next cycle
Distributed and mitigated early
Benefits of iterative development
Allows release of working parts sooner (match market demand quickly)
Reduced risk (find issues early)
Easier to test and debug
Improved quality (continuous testing and feedback)
Higher flexibility/adaptation
Drawbacks of iterative development
Complex to manage
Architecture issues from revolving requirements
Difficult to fix hard deadlines/costs
Heavy reliance on constant involvement of customer
Endless refinement (needs of client may keep changing)
Rapid application development
(Not a finished product, work on small sections of the code at the same time)
Designed to get a version out as quickly as possible
Principles of RAD development
Modules are developed in parallel
Minimal planning is carried out/allows for changes to requirements
Flexible development process
Small incremental releases are made, each adding functionality
Used for time critical development
Client involved during all stages of development
“Benefits of RAD”
Quicker development possible/multiple areas can be worked on at the same time
Prototype produced at early stage in process
Easier to change requirements
Early review possible
“Drawbacks of RAD”
Difficult to estimate cost/time to complete project
Documentation often omitted
Lack of client availability throughout cycle (too easy for client to keep changing their mind)
“Identify and describe a final stage of testing”
Beta testing
Testing carried out by a small group of potential users
Users will check that the website/software works as required
Users will feedback problems/suggestions for improvement
Problems/suggestions identified are addressed
“Reasons why waterfall model wouldn’t be suitable for program development”
No working software until late in the life cycle so slower to market than competitors
More difficult to cope with changes to the requirements
Needs high involvement/feedback of the customer
“Reasons to use Iterative/RAD model”
Provides a working model/prototype at an early stage for client review/approval
Benefits of waterfall model
Easy to manage, stages are completed one at a time and do not overlap
Each stage has clear/specific deliverables (detailed documentation)
Leaves little room for clients to change mind (project planned out) = smoother development