Analysis

Analysis

When performing the analysis stage of a project there are 3 things that  have to be considered first:

Purpose, Scope and Boundaries

Purpose: a general description of the purpose of the software.  

Scope: a list of the deliverables that the project will hand over to the client and/or end-user, eg design, completed program, test plan, test results and evaluation report. It can also include any time limits for the project.  

Boundaries: the limits that help to define what is in the project and what is not. It can also clarify any assumptions made by the software developers regarding the client’s requirements.  

Functional Requirements

Once the purpose scope and boundaries have been established then the requirements have to be established

Functional requirements: the features and functions that must be delivered by the system in terms of inputs, processes and outputs.

Worked Example

A teacher needs a program that will process the prelim and coursework marks for their class of 20 pupils which are held in a file. They will also need to find the percentages and the best performing student. The name(s) of the pupils with the highest mark will be written to a new file.

Purpose

To take 20 pupil names, their prelim marks and their assignment marks from a file into parallel arrays. Calculate the percentage, and then find and display the name and percentage of the pupil with the highest percentage.

A sample of the file is shown below:

Joe Smith, 40,50

Anna Jones, 30,60

...

Scope

This development involves creating a modular program. And the deliverables include:

Boundaries

Boundaries: the limits that help to define what is in the project. It can also clarify any assumptions made.

Assumptions (these can dictate the direction of development)

Functional Requirements

These are defined in terms of the inputs, processes and outputs. All inputs are imported from a file and all outputs displayed on the screen.

Each process will be a separate procedure or function that is called from the main program.

The inputs, processes and output required are shown below:

1 Inputs:

1.1Read in the Pupil Name, Prelim Mark , Assignment Mark from an external file

2 Processes

2.1 Calculate the percentage for each pupil

2.2 Find the highest percentage 

3 Output

3.1 Display the name(s) of the pupil with the highest percentage

3.2 Write the names of all puplils with the highest mark to a new file