Analysis

The first step in software design is the identification of need. Why is this new piece of software required? What problem does it seek to solve?

The design is then divided into 5 sections:

  • Purpose
  • Scope
  • Functional Requirements
  • Boundaries
  • Final details

Purpose

Your design plan should explain what the purpose of the software is and what it will be used for.

Example

The purpose of this software is to take in any number of pupil first names, surnames, their school year (1-6 integer) and their exam mark (0-100 integer). The software then calculates the grade of each pupil and prints a table showing the names, years and grades order alphabetically by the pupil names. 


Scope

The next stage is to create a scope document. This should contain a list of all the deliverables that the developer(s) will create but goes beyond just the software itself. The scope document includes such items as the software, user interface designs, documentation, test plans and results, and any evaluation carried out on project conclusion.

Example

The deliverables include:

  • Detailed design of the program structure, indicating top level program, refinements and data flow
  • Detailed design of the user interface, identifying validated inputs and outputs
  • Test plan
  • Working software including comprehensive comments
  • Results of testing
  • Evaluation report

The timescale for this is 4 hours.


Functional requirements

Figure out what the system needs in terms of inputs. What outputs it will generate. These could be printed on the screen, written to a file, etc. And finally the processes needed to get from the inputs to the outputs.

Example

Inputs:

  • First name – string, maximum 100 characters
  • Surname – string, maximum 100 characters
  • Year – integer, in the range 1 – 6 inclusive
  • Exam mark – integer, in the range 0 – 100 inclusive

Outputs:

  • Asking for a First name – string, maximum 100 characters
  • Asking for a Surname – string, maximum 100 characters
  • Asking for a Year – integer, in the range 1 – 6 inclusive
  • Displaying a First name, Surname and Year
  • Displaying a Grade – string, one of the values: A, B, C, D, No Award

Processes:

  • Loop until nothing entered
  • Prompt for pupil details
  • Validate name
  • Validate year
  • Validate exam mark
  • Calculate grade
  • Order list of pupils
  • Print list of pupils

Boundaries

The limits set on a program. What counts as a valid input? How can you check an output is correct? These are usually used when it comes to test the software.

Example

The program will check that any first name or surname is within a range or 1 to 100 characters inclusive. If no first name is entered then the program will stop prompting for a new pupil. The year is within the range 1 to 6 inclusive. The exam mark is within the range 0 to 100 inclusive. The grade will be calculated from the exam mark using the following ranges:

  • A: 70 – 100
  • B: 60 – 69
  • C: 50 – 59
  • D: 40 – 49
  • No Award: 0 – 39

Final details

The design document should also highlight any assumptions that have been made during the design process. This should consider details such as:

  • Software compatibility – Does this program require additional software? Does it only run on certain operating systems?
  • Hardware – What is the minimum hardware specification to run the program? Does it require an input device?
  • Internet / Network connection – Is this software self-contained or does it require network access?
  • Training – Depending on the complexity of the program it might require users to be trained.

Report a Glow concern
Cookie policy  Privacy policy

Glow Blogs uses cookies to enhance your experience on our service. By using this service or closing this message you consent to our use of those cookies. Please read our Cookie Policy.