Development
- The Exam board says.
You should be able to:
- develop the rules/methods/algorithms of a design using a programming language;
- develop the data structures of the design using the appropriate features of a programming language;
- develop inputs/outputs using the features of a programming language;
- test and refine the software solution during development, illustrating how the software solution evolves;
- test the software solution with the user, providing documented evidence that the solution works;
- produce suitable modular code with full annotation and a description of how the modules combine to create the solution;
- Produce detailed output from the testing, cross referencing as appropriate with the test plan.
Development
I am looking for you to develop a well-documented software solution that shows:
- Modularisation of code
- Code documentation
- Use of modules, data structures and objects
- In-code documentation
- Code structure
Testing
You should provide clearly cross-referenced to evidence that you have used the test plan developed in Part 2: Design to show that the system works with valid, invalid and borderline data (and, if it does not, under which circumstances it fails)
For each test in your test plan you should show the inputs into the test (via a screenshot) and the outputs from the test showing clearly whether the test is a success or not. Do not worry if tests fail – this is an opportunity for you to discuss what is wrong and how you can fix/improve it for the next version. For a data driven project, if you get your testing strategy right you can work through the steps systematically with the output of one test passing into the input of another e.g:
- View all records.
- Insert new record
- View new record as single item
- Edit new record
- Delete new record.
- back to step 1.
The testing section should include:
- Alpha testing – this can be done as a log/diary showing how you have responded to development problems and corrected them as you go.
- Beta testing – this relates to your test plan
- Evidence of user testing – you must show that your user has tested the system.
How will I be marked?
(i) Software Development [16 marks]
A technical description of how the solution relates to the design specification produced and agreed with the user should be included. It is the responsibility of the candidate to produce evidence of their development work. This section must show how the candidate tested each section during development and responses to this alpha testing. The code must be documented adequately to explain its function and there must be clear evidence of how modular code has been used to develop the final solution.
- 1-4 marks – Program listings are provided in the form of printouts but with no annotation or evidence of alpha testing. The developed solution does not fulfil the design specification. There is some evidence of system development.
- 5-8 marks – Program listings are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. There is some annotation evident to illustrate how the solution was developed and some limited evidence that some testing took place during development. The developed solution has significant flaws and only partially fulfils the design specification. The code may be linear but with some annotation indicating how the code relates to the problem and some limited evidence of alpha testing.
- 9-12 marks – Program listings are provided in the form of printouts. Data structures are illustrated as part of the listings where appropriate, detailing their purpose. There is sufficient annotation evident to illustrate how the solution was developed for a particular purpose indicating the purpose of sections of code. The code will be modular and there will be good evidence to show how testing was used during the development process to inform each stage. The developed solution fulfils the design specification but there are some minor flaws in the solution.
- 13-16 marks – There is complete evidence showing how the solution was developed using suitable alpha testing at each stage to inform the process. The modular code is fully annotated indicating clearly the purpose of each section and the interrelationship between the sections. The developed solution fulfils all of the design specification.
An attempt should be made to show that all parts of the system have been tested, including those sections dealing with unexpected or invalid data as well as extreme cases. Showing that many other cases of test data are likely to work – by including the outputs that they produce – is another important feature. Evidence of testing is essential. The beta testing should cover all aspects of the test plan produced in the design section, which should cover all aspects of the design specification. The examiner must be left in no doubt the system actually works in the target environment. This evidence may be in the form of hardcopy output (possibly including screen dumps), photographs or any format that does not require access to any specific hardware or software. The end user(s) must be involved in this process and evidence of end user testing is required.
- 1-4 marks – A collection of hardcopy test run outputs with no clear link to the test plan and covering few aspects of the system. No evidence of end user testing.
- 5-7 marks – There is limited evidence of testing based on a badly developed test plan with clear omissions. There is no description of the relationship between the test plan and the testing in evidence.
- 8-10 marks – There is evidence of testing covering most aspects of the design specification but with omissions, e.g. test data does not include erroneous data for all tests or there is limited evidence of end user testing.
- 11-14 marks – The testing covers as many different paths through the system as is feasible, including valid, invalid and extreme cases. The testing covers all aspects of the design specification and the test plan from the design section. There is clear evidence of end user testing.