Section 2 - Investigation
The Eduqas specification says:
a) Carry out an investigation of the current system using a variety of appropriate methods.
b) Research existing solutions to similar problems.
c) Identify stakeholders of the current system and their requirements for the proposed project.
d) Analyse data collected for input and processing by the current system.
e) Identify and describe all outputs from the current system.
f) Consider the limitations of the current system.
g) Produce a working specification that summarises the purpose of the project.
h) Justify the methods to be used in the solution to the problem
i) Set objectives, including measurable success criteria for the proposed system.
Things to consider doing:
i) Put a heading, 2a Investigation of the current system.
ii) Ask yourself how you will fully understand the problem that has to be solved. You are being asked to investigate the current system using a variety of appropriate methods so you must use at least two methods.
iii) You will almost certainly need to do at least one in-depth interview, to find out what it is your user wants, in addition to the ones you have already done. You will need to identify what the product will look like when it is finished, what features it will have, what functions it can perform, how it will be used, who will use it, where any data it needs will come from, what validation rules each piece of data might need, what input and output might be necessary, what any screens will look like, what security arrangements (log-ins and passwords, for example) need to exist, what back-up arrangements need to be in place and so on. Plan the interview questions in advance.
iv) If you are building on a system that already exisits, or using data from existing sources, can you collect any existing documents and get examples of any records or data that your solution will use? You can ask for examples at the in-depth interview. These will help you start to work out what data your system needs to use, its nature, data type, special cases, validation rules and examples.
v) Are you producing a game or other system? You could ask a small sample of the target users to complete a questionnaire, to find out the kind of features they like and dislike.
vi) Put a heading, 2b Existing solutions to similar problems.
vii) Can you identify similar problems and see how they were solved? For example, can you find a game with some input and output and see how they handled that? If you are writing an adventure or dungeons and dragons game, can you find the code for a working game and have a look at it? How did they store characters? how did they keep track of each character's attributes? How did they actually get two characters to 'fight'. You can learn a lot by looking at existing similar problems and solutions.
viii) Put a heading, 2c Stakeholders.
ix) Write down a list of the specific names, job titles, groups of people or target audience who will have an interest in whatever solution you provide. c) For each of the entities you've identified, describe them briefly. What is their job, their role and their interest in whatever solution you provide? Can you say why each stakeholder might be interested in any solution you provide? What benefit is it to them? What will they be able to do when they have your solution that they can't do now? Why is this an improvement? You may need to do and write up interviews with the different kinds of stakeholders, or do questionnaires. You could quickly provide the evidence for this whole section as a table, with three headings: Stakeholder, Description and Requirements.
x) Put a heading, 2d Data in the current system.
xi) If you are doing a completely original system, your teacher will advise you on what to do here. If you investigating an existing system with a view to adding something to it, then you should collect examples of the data it currently uses, the rules that apply to the data and find out what happens to the data (the processing of it). You can do this by asking the right, specific questions of the users of the current system and partly, by collecting examples of all documents that are produced and printed off and get screendumps of the different screens displayed using the current system at all stages of use relevent to your project.
xii) Put a heading, 2e Outputs from the current system.
xiii) If you are doing a completely original system, your teacher will advise you on what to do here. If you investigating an existing system with a view to adding something to it, then you should collect examples of all documents that are produced and printed off and get screendumps of the different screens displayed using the current system at all stages of use relevent to your project.
xiv) Put a heading, 2f Limitations of the current system.
xv) If you are doing a completely original system, your teacher will advise you on what to do here. If you investigating an existing system with a view to adding something to it, then you should identify what the current system cannot do now, that if it could do would be a really useful feature.
xvi) Put a heading, 2g Requirements Specification and 2i Success criteria.
xvii) You need to produce a Requirements Specification. This is a list of objectives, that specifies exactly what you will do for your user and exactly how the success of each item in the list will be measured. By the end of the project, what will your user be able to do with your system? How will you know if this has been achieved, partially achieved or not at all completed? Typically, you should start by producing a 'Draft Requirements Specification' with success criteria. You then state that you need to check this with your user. You then go back to your user and get further information to clarify points. You them produce a 'Final Requirements Specification'. You then go back to your user to check it. If they are happy, both you and they sign and date a copy of the final User Requirements Specification on headed paper (your school's is fine). All of the above needs to be clearly documented. Don't forget the diary entries. Examples of entries include:
The user will be able to search for a student and get back all of their test results within two seconds. This will be tested by using John Smith and observing all his test results being displayed on the screen within two seconds.
Each time the hero is killed, the 'Lives left' data on the screen will be updated correctly. If the hero loses three lives, the game should end and the final statistics should be displayed. This will be tested by killing the hero after zero, one and two lives have already been lost and observing that the data is updated correctly, and the game ends after losing the third life.
Each player should be able to select what character they would like to be. This will be tested by asking Jack Jones to select each one of the options at the start of a new game and observing that this is possible.
xviii) Put a heading, 2h Methods to be used for the solution.
xix) You need to describe and justify how you will approach solving this problem. For example:
Will you be using a programing language? Why? Why not use a package? What features will you be using?
If you are using the Python programming language, you might talk about the need for a graphical user interface so will be using a module called tkinter to do this.
You might discuss the data structures you will be using, or why you will be using standard algorithms and for what purpose. Don't forget to give some specific examples for your project.