algorithm design and problem solving Flashcards
whats pdlc
program development life cycle
steps followed in developing a program
what are the steps in pdlc and what do they stand for
analysis- understanding inputs needed and if enough resources available
design- technical and visual aspects of product
coding- programming implementation of design and analysis
testing- testing if program functions in intended way
what happens if program doesnt work in inteded way
process loops, goes back to analysis stage to find problem and how to fix it, this is called iteration
what are the three parts of the analysis stage
abstracting problem
decomposing problem
identifying requirements
describe the abstracting problem phase in analysis
abstraction- process of including only specific details of problem higher level of abstraction is more removed program is from direct control of cpu
describe the decomposing problem phase in analysis
process of breaking big probelm into smaller manageable chunks
describe the indentifying requirements phase in analysis
requeirements- specific mandatory conditions, must be carried out to be certain of final outcome
question on requirements usually passed to client or user by program designer
describe design stage
representing program before writing code, expresses how code would work what input are how logic would be coded etc.
involves similiar decomposition stage to the anaylisis stage, includes 3 representations structure diagram, flowchartm and pseudocode
what are the processes in the design stage
client feedback
ease of sharing- feedback from other programer
ease of modification- where to implement amendments
what are the three representations possible in design stage
flowchart
pseudocode
strucutre diagram
describe structure diagrams
represent sub systems, each level is less abstracted than above
helps to split and delegate development work to teams
help identify which part needs debugging
describe flowcharts and components
indicates inputs needed and process to be followed
-> = arrow represents control between shapes, order to be followed
rectangle = process, something being performed eg. declaring
parallelogram= input/ output of data
diamond= decision, results in two lines representing different outcomes eg. if statement
oval= start and stop
describe pseudocode
actual code, not understood by computer, only by humans
describe coding stage
written in ide- which organises code, debugs, supports many programming languages
has iterative testing in between coding stage
what is meant by iterative testing
testing carried out in coding stage
iterative= action carried in a loop until correct outcome
splitting up longer code into smaller chunks called modules
iterative testing applied to each module during coding phase
describe testing phase
make sure program works as inteded
iterative testing regularly carried out during coding, 6 different tests that can be carried out
unit testing
done by yourself, programmer, on pieces of code that you have written
integration test
putting all modules together testing complete system
system testing
testing software app you have built
dryrun testing
programmer goes over everyline of code and traces how program will bhave
alpha testing
prototype product tested by yourself