Software design and development
Development methodologies
The waterfall method, rapid application, and more recently agile methods are all popular methodologies in software development. This guide explores their structures, advantages and limitations.
Analysis
A piece of software is often expressed as a description of what the software will be used for. Identify the scope, functional requirements and boundaries of a particular program.
Design
Pseudocode, flow charts and structure diagram are techniques that are used to design software. These allow data flow, constructs and variables to be identified before coding begins.
Implementation (data types and structures)
Programmers can identify, store and use different types of data, using 1-D Arrays and records.
Implementation (computational constructs)
Computational constructs dictate how a source code is structured. Parameter passing, sub-programs, procedures and functions are critical constructs that allow for the development of good software.
Implementation (algorithm specification)
Algorithms are created to allow users to tell a computer how to solve a problem. Understanding how to construct five of the most common algorithms is a critical skill for budding software developers.
Testing
Programmers often encounter logic, syntax and execution errors and use dry runs, trace tables and breakpoints to resolve errors and finalise code.
Evaluation
Appropriate use of coding constructs is evaluated to determine the efficiency of software as it relates to use of RAM. Software is measured against the functional requirements to evaluate fitness for purpose.