Analysis
Analysis
When performing the analysis stage of a project there are 3 things that have to be considered first:
Purpose
Scope
Boundaries
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:
detailed design of the program structure
test plan with completed test data table
working program
results of testing
evaluation report
This development work must be completed within 4 hours
Boundaries
Boundaries: the limits that help to define what is in the project. It can also clarify any assumptions made.
The program will read the pupil data (name, prelim mark and assignment mark) for 20 pupils from a text file.
The only output needed is the name and percentage of the pupil with the highest percentage.
The minimum percentage is 0 and the maximum percentage is 100.
Assumptions (these can dictate the direction of development)
The data is accurate, so there is no need to implement input validation.
Each row in the file will have one set of data
The arrays will have 20 elements.
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