Section 3 Software Development Flashcards
list procedural programming techniques
program flow
variables and constants
procedures and functions
arithmetic, boolean and assignment operators
string handling
file handling
what is black box testing?
testing carried out independently of the code used in the program
tests inputs and outputs and program functions
what is white box testing?
dependent on code logic
tests each possible path in the program at least once
will not detect missing functions (obvi)
what is alpha testing?
carried out by devs in house testing team
reveals errors and omissions
what is beta testing?
potential users outside of the dev team use it and report problems to the devs
aspects of software development
analysis - defines the problem
design - data structures and processing etc
programming and testing
implementation - installation to user’s PC
evaluation - review 3-6 months after put into operation on basis of effectiveness, usability and maintainabilty
what is the Waterfall lifecycle model
each stage is complete from beginning to end
when going back a few steps, you need to go through all of them backwards and were costly in manufacturing industry projects
What is the Spiral model
Uses steps in iterative stages where refined prototypes are continually made and requirements are redefined until a product is finished
this is used for larger projects that take years to complete
What is agile modelling?
at each stage, a prototype is built with user participation frequently used
it’s similar to an agile product
These help it work smoothly:
keeping the model simple
rapid user feedback
incremental changes during development
What is extreme programming?
Frequent releases of the agile development software made in short development cycles
Introduces checkpoints where new customer requirements can be adopted
what is RAD?
uses workshops to gather requirements rather than a formal requirement document
prototypes used to continually refine systems responding to user involvement
producing prototypes within a strict time limit, for a good enough outcome
software components are reused from elsewhere
What is the waterfall system’s use, advantages and disadvantages?
small projects requiring careful supervision eg that of students
no user involvement is a drawback
What is the advantage of the spiral model and agile approach?
understand that users don’t know what’s possible so can’t set specific requirements
easier to examine a working prototype and refine it
ExPro and RAD advantages?
good when there is a danger of getting sidetracked by suggested improvements so devs are continually adapting
Procedural languages
Has data structures built in
eg python or pascal