成人论坛

Software design and development

  • Development methodologies

    Software design is a process with definite phases. Modern design methodology involves repeating stages of the process in a cycle until a satisfactory piece of software is finalised.

  • Analysis

    The purpose of a piece of software is the starting point for the analysis phase. The purpose and functional requirements can be defined in terms of inputs, processes and outputs.

  • 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

    Data is stored differently depending on its type. Numbers are stored as integers or real numbers, text as string or characters. Lists of the same type of data can be stored in an array.

  • Implementation: Computational constructs

    Programs use computational constructs such as loops and predefined functions to break programs up into sections. This makes programs more compact, easier to write and easier to maintain.

  • Implementation: Algorithm specification

    Algorithms are created to allow users to tell a computer how to solve a problem. Understanding how to construct three of the most common algorithms is a critical skill for budding software developers.

  • Testing and documentation

    The aim of testing is to prevent software failure. Using normal, exceptional and extreme test data as part of a test plan will reduce the prevalence of syntax, logic and execution errors in 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.

  • Reference language

    It is important to read and understand a formal language. Declaring variables and data types, using selection statements, iteration and using operators are comprehensions required before coding.

Computer systems

  • Data representation

    Processors handle binary numbers while humans use denary. Binary to denary conversion aids understanding of data representation. ASCII represents text. Bitmapped graphics are stored as binary. Vector graphics store objects as a list of attributes.

  • Computer structure

    The CPU handles instructions. Translators in the form of an interpreter or compiler translate code into binary. Buses are used to allow data to move between RAM and the Processor (ALU, Control Unit and Registers).

  • Environmental impact

    Computer systems require a lot of power at start-up and are often left running when not in use. Using power down, sleep, hibernate and standby can reduce unnecessary use of natural resources.

  • Security precautions

    Large amounts of data enter and leave networks and systems on a daily basis. Firewalls protect systems by checking incoming and outcoming data packets. Encryption ensures that data is secure during transfer, with keys used to keep data encoded.

Database design and development

  • Introducing databases

    Flat file databases cause 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. Decisions should be informed by the Data Protection Act. Entities, 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

    Thorough analysis that takes account of user needs, such as accessibility needs and use of mobile devices, will result in the production of end user and functional requirements.

  • Design

    Understanding hierarchical and linear site structures as well as the implications of the Copyright, Designs and Patents Act ensures that wireframe designs are fit for purpose.

  • Implementation: CSS

    Cascading Style Sheets (CSS) are used to apply styles to a webpage (internal) or website (external). Understanding the properties of text and backgrounds provides fundamental knowledge of CSS and how to apply styles using selectors, classes and IDs.

  • Implementation: HTML

    The main structure of an HTML page makes use of <head>, <title> and <body> tags. Implementation of HTML through use of titles, videos, audio, div, anchor, headings, paragraphs and links provides a solid basis for future implementation.

  • Implementation: JavaScript

    JavaScript events such as Onmouseover and Onmouseout can be used to ensure that web content responds to the user in real time. Use of functions to activate events is often necessary.

  • Testing and evaluation

    Websites are deemed fit for purpose if they satisfy end user and functional requirements. Testing links and media playback as well as user interface design will inform evaluation.

Links