Software development/section 1 Flashcards
Waterfall methodology
A several step process to deliver a product to a client
Stages of the waterfall methodology
Analysis, design, implementation, testing, documentation, evaluation
A Dance In The Dark Everyday
Analysis
The beginning stage of the design process, the developers and client will define the purpose and requirements of the software
Aspects of the design stage
Purpose, functional requirements, assumptions
Analysis stage
Purpose
A paragraph that outlines what the project is for, decided upon by the devcveloper and the client
Analysis stage
Functional requirements
The program is abstracted into inputs, processes and outputs, these are defined by the developer
Analysis stage
Assumptions
Anything that has not been made clear by the client
Can include: IT competency, software compatibility etc.
Design stage
The purpose and functional requirements are considered to create steps that are turned into code in implementation
Design stage
The design techniques
Structure diagram, flow charts, pseudocode
Design stage
Structure diagrams
A visual technique that shows the steps needed to solve a problem
Different shapes represent different techniques
Design stage
Flow charts
A visual design technique that shows the journey of a piece of software
Show the process not steps needed (steps needed is structure diagram)
Design stage
Psuedocode
A written design technique not based on any language
Design stage
Rules of psuedocode
Define and refine the main steps, variables are not declared, indentation to show loops and conditionals
Testing stage
To make sure a program runs as intended, you need to test various inputs to make sure they do what is expected
Testing stage
Normal cases
Any data you expect to work
Testing stage
Extreme cases
Data at the upper or lower limits of the program, the program should still work as intended
Testing stage
Exceptional cases
Any data just outsice of the limits, should not be accepted
Testing stage
Types of errors
Syntax errors, logical errors
Testing stage
Syntax errors
When the code cannot run because it is not written in the correct form
Testing stage
Logical errors
The code executes, but produces unexpected results
Such as using AND instead of OR
Documentation stage
A document that contains all analysis, design, implementation and testing
Evaluation stage
In this stage, the developer will compare the finished product with the analysis and other factors to evaluate whether the product meets expectation
Evaluation stage
Factors to evaluate
Fitness for purpose, efficiency, robustness, readability
Evaluation stage
Fitness for purpose
Compares the program to the purpose and functional requirements which must be met
Evaluation stage
Efficiency
Refers to demands on the processor and RAM, this demand must be as low as possible
Such as using loops where possible
Evaluation stage
Robustness
Describes whether a program can tackle errors or unexpected inputs
Such as by using inout validation