±«Óătv

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.

Computer systems

  • Data representation

    Data goes through the central processing unit which utilises main and cache memory to improve system performance. Peripherals use interfaces to communicate between the system and a connected device.

  • Computer structure

    The performance of the CPU is affected by the number of cores, clock speed and memory. There are different types of volatile and non-volatile memory.

  • Environmental implications

    Computer systems can have positive and negative impacts on the environment. Intelligent systems can reduce energy consumption.

  • Security risks and precautions

    While browsing the internet users can unwittingly download spyware, or become victims of phishing and keylogging software. Fraud, identity theft and server attacks are also becoming more commonplace. To safeguard against this, a server-side validation of online form data and encryption of network traffic is normally used.

Database design and development

  • Introducing databases

    Using flat file databases can lead to insertion, deletion and update anomalies. Use of relational databases where primary and foreign keys are used to link tables helps overcome these issues.

  • Analysis

    Inputs, processes and outputs are identified for further design as forms, queries and reports. Specific end user needs are considered when analysing the requirements prior to database development.

  • Design

    Designing queries and establishing a data dictionary are important and attributes and relationships should be clearly defined.

  • Implementation

    Structured Query Language is used to allow database developers to generate queries and interrogate the data held in a database. SELECT, FROM, WHERE, AND and OR are key areas of SQL.

  • Testing and evaluation

    A database is fit for purpose if it meets the end use and functional requirements. Testing queries and examining actual output against expected output helps to determine fitness for purpose.

Web design and development

  • Analysis

    When designing a website it is important to first analyse the end user requirements and the functional requirements.

  • Design

    Learn about the design and layout of a web page, wire frames, graphic and audio file formats and standard bit-mapped formats

  • Implementation (HTML)

    Learn about how HyperText Markup Language (HTML) tells a browser how to set out a web page.

  • Implementation (CSS)

    Learn about how Cascading Style Sheets (CSS) can be used to style web pages.

  • Implementation (JavaScript)

    JavaScript is the main client-side scripting language. It can be used to create, delete and manipulate HTML elements.

  • Testing and evaluation

    Usability testing uses personas, test cases and scenarios to find out how well a website would work in real conditions. Compatability testing ensures it works on different browsers and devices.