Database Fundamentals Assignment (Weighting 70%)
Database Fundamentals Assignment (Weighting 70%)
Database Fundamentals Assignment (Weighting 70%)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Database</strong> <strong>Fundamentals</strong> <strong>Assignment</strong> (<strong>Weighting</strong> <strong>70%</strong>)<br />
For your assignment you are required to design and Build a database application in Microsoft<br />
Access.<br />
The design brief is as follows:<br />
1. You are required to design a computerised database system for an online bookshop.<br />
2. The system must enable the user to perform the following tasks:<br />
• Log on as either user or administrator<br />
• Register as a new user.<br />
• Allow all users browse the shop by Subject.<br />
• Allow all users to search by Author/Title/Subject.<br />
• Allow all user to check order status<br />
• Allow the user to check out<br />
• Allow the user to view/edit personal information.<br />
• The administrator must be able to add and delete items of the store and change<br />
their description. The standard user will not be able to do this.<br />
3. Your design should be implemented in Microsoft Access database.<br />
4. I shall arrange for each one of you to have three 5 minutes interview with me during<br />
the development. These interviews will be arranged during the following lecture<br />
sessions:<br />
Interview 1: Specifications Week 6<br />
Interview 2: Testing Week 9<br />
Interview 3: Commissioning Week 12<br />
I shall produce an alphabetically arranged list of students with interview times.<br />
To help you with your design and development work I have included guidelines below. These<br />
guidelines are designed to tell you how you should approach the problem, carry out the design<br />
and implementation and what evidence you must submit to support your work.<br />
The guidelines use reference to imaginary users of the database in order to give you an idea of<br />
what details need to be included.<br />
The marks for this assignment are allocated according to the following scheme:<br />
<strong>Database</strong> <strong>Fundamentals</strong> - <strong>Assignment</strong> Marking Scheme<br />
Activity description<br />
Allocated<br />
Marks<br />
1 Definition - Nature of the problem. 5<br />
2 Investigation and Analysis. 15<br />
3 Design 10<br />
4 Intended Benefits. 3<br />
5 Limits of the Scope of the Solution. 2<br />
6 Development and Testing. 15<br />
7 Implementation. 10<br />
8 Appropriateness of structure and Exploitation of Available Facilities. 5<br />
9 Technical documentation. 10<br />
10 User documentation. 5<br />
11 Discussion of the degree of success in meeting the original objectives. 10<br />
12 Evaluate the User's Response to the System. 5<br />
13 Recommended further work 5<br />
Total Marks 100<br />
1
<strong>Database</strong> <strong>Fundamentals</strong> - <strong>Assignment</strong> Project Report<br />
Guide for students<br />
Table of Contents<br />
Section 1 Analysis ............................................................................................................ 3<br />
(a) Definition, Investigation and Analysis ...................................................................... 3<br />
(i) Definition - Nature of the problem. (5 marks) ................................................................. 3<br />
(ii) Investigation and Analysis. (15 marks).......................................................................... 4<br />
1. Problem. ......................................................................................................................... 4<br />
2.Backround........................................................................................................................ 5<br />
3.Solutions. ......................................................................................................................... 5<br />
4. A requirements specification. ......................................................................................... 5<br />
(b) Design .......................................................................................................................... 6<br />
(1) Nature of the Solution. (10 marks) ............................................................................... 6<br />
(ii) Intended Benefits. (3 marks) ......................................................................................... 7<br />
(iii) Limits of the Scope of the Solution. (2 marks).............................................................. 8<br />
(c) Software Development, Testing and Implementation. ............................................ 8<br />
(i) Development and Testing. (15 marks) ........................................................................... 8<br />
(ii) Implementation. (10 marks)........................................................................................... 9<br />
(Iii) Appropriateness of structure and Exploitation of Available Facilities. (5 marks)........ 10<br />
(d) Documentation.......................................................................................................... 11<br />
(i) Technical documentation. (10 marks) .......................................................................... 11<br />
(ii) User documentation. (5 marks) ................................................................................... 12<br />
(e) Evaluation. ................................................................................................................. 13<br />
(i) Discussion of the degree of success in meeting the original objectives. (10 marks)... 13<br />
(ii) Evaluate the User's Response to the System. (5 marks)............................................ 14<br />
(iii) Recommended further work. (5 marks) ...................................................................... 14<br />
2
You will be assessed for each of the sections given in this guide according to the evidence that<br />
you produce. The evidence that is required for each section is clearly stated in the guide.<br />
Your assignment report should consist of the following sections<br />
Section 1 Analysis<br />
(a) Definition, Investigation and Analysis<br />
(i) Definition - Nature of the problem. (5 marks)<br />
Every project has an aim and in this case you are required to solve a problem. You are<br />
computer systems analyst who is charged with delivering a solution to this problem. Your client<br />
is me (for most part of this project). You will need to meet up with me for a 5-minute session on<br />
three occasions;<br />
1. At the beginning in order to elicit information from the client (week 6)<br />
2. Mid-way through the project (week 9), to determine if system is looking right.<br />
3. At the end of the project (week 12) to determine if the product is as client<br />
expected.<br />
To define the problem you will have to meet with me for the first session and for this you will<br />
prepare a series of interview questions that I shall try to answer. You will use these answers<br />
and any assumptions that you may need to make, to produce the requirement specification.<br />
Some of the details that you will need are: (other details you will obtain at the interview, and<br />
remember that you can also make some reasonable assumptions)<br />
You are required to design a computerised database system for an online bookstore.<br />
At present the customer runs a book shop and wants to expend the business aiming to<br />
open an online book shop which allow user to register and browse the bookshop and order<br />
books online. When registering, the new user should provide information like full name,<br />
address, email, phone number and credit card information as well as choosing a<br />
username. The user should be able to browse the shop based on subjects. It should also<br />
provide the search functions based on the author, title and subjects. User should be able<br />
to easily add the books browsed to the shopping cart. The system should also a user<br />
friendly function for checking out and provide users the invoice. The system should include<br />
an administrator accunt which allows the administrator to add new books to the database<br />
or delete the book which has been sold out.<br />
Although it will be perfect to provide a web based online bookshop, it will be good that at<br />
the first stage you can design a database systems simulating how it will work just in a PC<br />
with Access 2007 installed.<br />
There are two administrators on the system: Joe Lunghi (shopkeeper) and Anjim Brown<br />
(his assistant).<br />
It is further intended that the computerised system support the following features:<br />
• Log on as either user or administrator<br />
• Register as a new user.<br />
• Allow all users browse the shop by Subject.<br />
• Allow all users to search by Author/Title/Subject.<br />
• Allow all user to check order status<br />
• Allow the user to check out<br />
• Allow the user to view/edit personal information.<br />
• The administrator must be able to add and delete items of the store and change<br />
their description. The standard user will not be able to do this<br />
3
• The user should be able to submit a registration form, but the administrator has to<br />
approve it before the user is allowed access to the system.<br />
Evidence:<br />
As evidence that the work has been carried out properly for this section you will need to<br />
produce the following:<br />
A description of the organisation that has the problem and the place of the problem<br />
within it.<br />
I have done this for you above, in its basic form and you can include the description that I have<br />
given. You are welcome to change it as you see fit and make any assumptions.<br />
A description of how the chosen problem is dealt with at the moment.<br />
Once again, I have given a brief description. You can make some assumptions and elaborate<br />
on this. Assume it is your local library and consider that the system is not computerised yet.<br />
Then make assumptions on how things are done.<br />
A clear description of the data that is used in the area of the problem.<br />
Once again, you will need to consider the data that is needed to help you maintain a record of<br />
lending in a library. You can start by considering that data structure is as follows:<br />
Books: Author, Title, ISBN, Price, Subject<br />
Orders: OrderNo,ReeceivedDate,ShippedDate, ShipAddress<br />
Etc..<br />
Note that the exact data that will form part of the solution is as yet not known because the<br />
problem has not been fully specified, however, it is necessary to be aware of all the data that<br />
may be required.<br />
A clear indication of where the data came from. How it is collected.<br />
Much of this information may not be known. The analyst may have to make and clearly state<br />
any assumptions at this stage,<br />
(ii) Investigation and Analysis. (15 marks)<br />
This section of the work is in four parts:<br />
1. Finding out what the problem is in some detail.<br />
2. Learning about the area within which the problem is situated.<br />
3. Considering different types of solution to the identified problem.<br />
4. A requirements specification, which will allow the student to carry on to the next stage.<br />
1. Problem.<br />
This is going to involve the end user, in this case me. The analyst (student) needs to find out,<br />
in detail, what the end user wants from the system. The normal solution is to arrange an<br />
interview with the end user. This is not a matter of the student having a general chat with their<br />
end user, or even having detailed discussions where the end user has carefully considered all<br />
the questions and asks them in order. It must be planned and yet be very different from simply<br />
reading from a questionnaire.<br />
The interview sessions will take place in week 6. Each student will have the opportunity to ask<br />
me questions about the work and I shall allocate a strict limit of 5 minutes to each student, (so<br />
come prepared).<br />
The student should go into the interview with a series of well-prepared questions to ask.<br />
However, they should not be asked as a simple list. If this is all that is done, the interview is a<br />
waste of time; the end-user could simply have filled in a questionnaire.<br />
4
The whole point about an interview is that the questioning should be flexible. Students should<br />
have `starter' questions on each of the areas to which they want answers. They should also<br />
have prepared a series of follow up questions that can be used, dependent upon the answer to<br />
the initial question.<br />
2.Backround.<br />
Students should not forget that there are different people involved in this organisation. I have<br />
identified for you that there are two administrators and a number of users. You may assume<br />
that the maximum number of registered users on the system is 1000.<br />
At this stage the analyst may chose to gather information from these here will be important to<br />
be gleaned from these people about the features of the system. This can be done by using<br />
different methods of collection. For example, a sample of users (how are they to be chosen?)<br />
could be sent a questionnaire. If you chose to design such a method, you may consider other<br />
students as users, and if they are willing to fill in a questionnaire then this is up to you to<br />
organise.<br />
3.Solutions.<br />
Having collected all the information, different types of solution may present themselves for<br />
consideration.<br />
In general I have suggested that a database solution is required. However, you will need to<br />
consider how the database will be shared with users. It is likely that different solutions will be<br />
possible and you need to consider these.<br />
These different types of solution must be considered as they provide a pointer towards the<br />
identification of the final problem. These different approaches should be discussed with the<br />
end-user and the responses should be noted. You may chose to ask me questions at interview<br />
1, in relation to this.<br />
4. A requirements specification.<br />
Now that you have identified the problem and the type of solution, which is necessary.<br />
Thoughts must now turn toward the hardware and the software that will be necessary to<br />
provide a solution. I have given you the specification of the network, but you are welcome to<br />
suggest any modifications at the interview stage.<br />
Evidence:<br />
This section deals with the specifications. Some of these are given to you, and you should list<br />
these if you chose to adopt them. Other functionality you will ascertain from the interview.<br />
Thus, detail relating to the planning of the end-user interview need to be produced.<br />
The original plan of the questions, showing that all areas had been planned to be covered and<br />
that sensible follow up questions had been considered.<br />
Transcript of the interview itself, including an element of later analysis and isolation of<br />
important facts.<br />
Further evidence of information collection relevant to the problem area.<br />
Possibly a data flow diagram (or some other representation) showing how the present system<br />
works.<br />
Consideration of different methods of solving the problem, together with some evidence that<br />
the end user has been involved in the decision making.<br />
Hardware and software requirements of the system with discussion about the needs for each<br />
and any problems that may arise because some elements are not available.<br />
5
(b) Design<br />
(1) Nature of the Solution. (10 marks)<br />
Following the collection of information about the organisation and the perception of the enduser<br />
about the problem that needs to be solved, the student should now decide what the scope<br />
of the project is going to be.<br />
In other words, the student should decide what needs to be done by the time the project is<br />
finished.<br />
The student should draw up a list of required outcomes (objectives).<br />
Just to give you an idea what objectives are, consider an unrelated problem of allocating<br />
lockers in a primary school. Here, for example, the list might start with the following objectives:<br />
• Mr. Bezanov must be able to access all the records.<br />
• Mrs. Rogers must have complete access to year 8 records but not to other years.<br />
• It must be possible to pass on records to the next year/form groupings at the end of a<br />
year.<br />
• A form teacher must be able to output a series of letters to the parents of pupils who<br />
are behind with their payments.<br />
These objectives must be easily quantifiable. When the project is over it is simple to check to<br />
see if form teachers can produce the required letters.<br />
The final list of objectives should be signed by both parties and will provide the basis both for<br />
the evaluation of how successful the project has been, and also for the testing regime that is<br />
going to be used towards the end of your work.<br />
When you are ready with your objectives, you can ask me to come and sign the document that<br />
constitutes our agreed objectives. This document should be submitted with your report.<br />
The next stage is for the student to design the output documents and the input formats with<br />
appropriate screen designs.<br />
The end-user does not need to know anything about the processing or the data structures that<br />
are to be used because they are not in the realm of the user.<br />
However the end-user does need to know what the input and output formats are likely to look<br />
like. These, together with the list of objectives, make up the design specification and should<br />
now all be agreed with the end-user.<br />
Students should realise that this process of agreeing the design specification should take some<br />
time. If the student has one interview with the end-user, who, subsequently, immediately<br />
agrees to all the student's suggestions without needing further modification, then the<br />
relationship is not a realistic one.<br />
Remember that the intention is to mirror the real world, in which the process would continually<br />
need fine-tuning. Later in the project the student may well find that the original design<br />
specification is no longer satisfactory, this is not a point at which the student should think that<br />
their project is a disaster, but rather an opportunity for involving their end user again in<br />
modifying the design specification. The student should be encouraged to document all such<br />
occurrences and how they were resolved.<br />
The next stage is to determine how the data will be moved around the system and be stored<br />
within it. The simplest way of describing this is to draw it but it could be described carefully in<br />
6
words. The important thing is to convey to the reader that there is a clear idea of how the<br />
different parts of their system fit together and where the data is stored within the system.<br />
The next stage is to consider the data that needs to be stored on the system. The data should<br />
be divided up into different groups (files) dependent on the use that will be made of them, and<br />
the links with the other files.<br />
An attempt should be made to arrange the data into files so that there is as little duplication of<br />
the data as possible. This will inevitably mean that the files will need to be linked so that data<br />
from one file can be used in an application area designed for a different file.<br />
The data attributes, or fields, from each file should be listed. It should be clear what field or<br />
fields will be used as the key and also the foreign keys that are going to provide links with the<br />
other files in the system.<br />
It is then necessary to explain the purpose of storing each of the fields and to decide the data<br />
type that is to be used for each field. When the files have been defined, it is then necessary to<br />
size them by giving a size to each of the fields and scaling up to give an indication of size for<br />
the whole file.<br />
Each of the items of data in the file will need to be input; consequently there will need to be<br />
validation done on the data input. These proposed validation checks should also be detailed.<br />
Evidence:<br />
A list of objectives against which the final product can be measured. This report should be<br />
signed by the end-user (me in this case)<br />
An explanation of the way that the data is to be collected.<br />
An explanation of the way that the data is to be input to the system together with any initial<br />
plans of input screens, and explanation of intended means of validation.<br />
An explanation of the output that should be expected and any initial screen designs for the<br />
output of data.<br />
Details of the file structures that are to be used and the links between them.<br />
Explanation of the way the data is manipulated through the system. This section could contain<br />
a diagrammatic representation of the data through the system.<br />
If the solution is to be attempted in module form there should be a description of the way the<br />
problem has been modularised and also how the modules will ft together.<br />
(ii) Intended Benefits. (3 marks)<br />
The introduction of a new system should, by definition, include changes that will be made from<br />
the old way of doing things. If there are to be no changes, then what is the point of the system<br />
being changed in the first place?<br />
These changes can be one of two types. Either they bring improvements on what went before,<br />
or they make the system worse. It is to be hoped that the time and energy expended on<br />
producing a new system will mean that the solution is an improvement on what was there<br />
before. It is the expected improvements that are discussed here.<br />
The sort of response expected is: "The new system allows the user to search a large number<br />
of records for the presence of a particular value far faster than the old system because the<br />
user does not have to look at all the individual paper records."<br />
7
Evidence:<br />
In this section you will need to produce evidence of three specific improvements that the new<br />
system will make to the running of the old system. It may be useful to give four benefits to be<br />
on the safe side.<br />
(iii) Limits of the Scope of the Solution. (2 marks)<br />
Any solution will be limited as to its effectiveness by a number of things. The hardware that is<br />
available to produce the solution may limit the number of options available. For example, if<br />
there is no A3 printer available, then it is not possible to produce an A3 version of a large<br />
spreadsheet to be used at a board meeting. The software will dictate the types of solution<br />
possible and the facilities of the particular examples of the generic software that are available<br />
dictate the way that the final product can be presented.<br />
You may need to make assumptions here, but do state what assumptions you have made.<br />
Particularly important are the files of data that are to be used as part of the solution.<br />
The real world aspect is that the files will be of a measurable or predictable size. It is<br />
necessary to know this predicted size because it will effect many other decisions. An obvious<br />
one is the decision about how the file is to be backed up and onto what medium.<br />
The other aspect of the size of the data files. There is a limit to the size of the files that it is<br />
sensible to expect a student to produce. It is not a sensible use of a student's time to expect all<br />
the data to be input to the system, so the idea of creating a file, which is a fraction of the size of<br />
the real file, while retaining its characteristics, is sensible.<br />
It is necessary to size the full file to show that the size of the file is understood and then to list<br />
the size of the file and the time available as a limitation in the solution.<br />
Evidence:<br />
A description of the contents and data types stored in each of the files to be used together with<br />
an approximation of their size.<br />
Any adjustments that the student thinks are necessary to their solution compared to the real<br />
thing.<br />
A list of any limitations that have been placed on the solution because of the hardware<br />
available and the software available.<br />
(c) Software Development, Testing and Implementation.<br />
(i) Development and Testing. (15 marks)<br />
By this stage the planning of the intended system has been done and the design has been fully<br />
documented. The decision has been made whether to use a tailored version of a software<br />
package, or to write a piece of software or a mixture of the two.<br />
Whichever it is, it is necessary to produce outputs to demonstrate the necessary tailoring has<br />
been done and that the data files exist. That the coding has been written and that the results<br />
are produced.<br />
All the work that is given under this section should be annotated do not be scared of `spoiling'<br />
your beautiful printout by annotating it. The more written explanation the better. It is a good<br />
idea to do all the annotation in pencil because it distinguishes it from the other work and it also<br />
means that it can be altered easily.<br />
It is essential that the solution is tested in order to make sure that it is able to do all the things<br />
expected of it.<br />
Note that if the testing is planned after the solution is developed there are two problems. The<br />
first is that the testing will tend to be devised in order to show what the solution can do, not<br />
8
whether it can do what was intended and this leads to the second problem, that the original<br />
specification may not be tested at all.<br />
For these reasons the testing needs to be planned before the development of the solution. This<br />
test plan should contain details of the areas of the solution that will be tested and the results<br />
that should be obtained when they are tested.<br />
The final report should contain evidence of the existence of the solution and also the input and<br />
output from the solution to prove that it actually exists. The elements that were detailed in the<br />
test plan before the development of the software solution should now be executed and the<br />
results tabulated.<br />
Remember that it is impossible to fully test a software solution to ensure that it always works<br />
because for most problems there will be an infinite number of possible input/process/output<br />
combinations. All that can be reasonably expected is that enough test runs have been carried<br />
out to show that the different parts of the system work as anticipated and that errors in the data<br />
are captured and don't produce any unpleasant surprises.<br />
If the solution involves original coding then the listing should be present and should be fully<br />
annotated by the student. It is important to think of the reader of your report as someone who<br />
can understand program logic, but who does not know the particular characteristics of the<br />
specific programming language that the student has used.<br />
Evidence:<br />
The testing plan. This should consist of at least 8 different areas of the solution to be tested,<br />
including an indication of what is expected as the outcome.<br />
If the full marks are wanted from this section, the student should include enough testing to be<br />
able to test all the different areas of the solution, though, remember, it is not possible to test<br />
every aspect of the solution with all possible values, and this should not be attempted.<br />
Data structures are described and their existence is proved by means of printing them out.<br />
Input and output screens are described and produced. They should be fully annotated to show<br />
their effectiveness.<br />
The file before and after the input of the data to show that the test has proven that the data is,<br />
indeed, input to the file. Remember that it is not good enough to simply type in the different<br />
fields of a record and print out the form to call it a test.<br />
For each of the tests planned the intention of the test run and the reason why this particular<br />
test is necessary.<br />
What is it testing? It is also necessary to have a clear idea of what the expected result is. If the<br />
test does not produce the expected result there should be a detailed explanation as to why the<br />
expectations were not met.<br />
Detailed and annotated program listing if any original code has been produced.<br />
(ii) Implementation. (10 marks)<br />
This section refers to the way that the end user, or their organisation, has been involved in the<br />
development of the solution. Ideally, the end user has been asked at various stages to look at<br />
the solution `so far' and to give their opinions.<br />
This is known as prototyping, and the end-user's views should be acted upon as far as<br />
possible, or at least discussed to explain why something may not be possible.<br />
This sort of exchange should be documented as it shows that the importance of the end-user is<br />
understood by the student. The user should be able to use the solution and obtain meaningful<br />
outputs, evidence of which should form part of the report.<br />
9
Not every project will result in the system being fully implemented into the organisation for<br />
which it is intended. It is probably rare because the limitations imposed on the solution are<br />
normally such that there is a better solution available elsewhere.<br />
However, it is important for the student to imagine that the solution will be fully implemented,<br />
because there are marks in this section for producing a working plan for the change over of the<br />
organisation from their old system to this new one.<br />
This plan of implementation should have details of the training that is required to allow the<br />
workers to be able to use the new system adequately, and where this training is going to be<br />
available and what it needs to contain.<br />
Plans must be made for the creation of the files, where the data is going to come from and how<br />
they are to be kept up to date while being produced.<br />
Finally, how will the changeover be made? Will it be a big bang, or a phased introduction, or is<br />
there a better means of introducing the new system? What are the reasons for the choice that<br />
has been made?<br />
Evidence:<br />
Evidence that the end-user, or some other representative of the organisation, has seen the<br />
system. Here we will have another interview this will be in week 9. I shall once again allocate 5<br />
minutes to each analyst in order to see their system and give them feedback. You can design a<br />
short questionnaire for me if you like, but all in all I shall only spend 5 minutes with each<br />
analyst.<br />
Evidence that the end-user has used the system, and has obtained meaningful results from the<br />
system.<br />
Evidence that the end-user has been involved at different stages of the system development<br />
and has not just been tacked on at the end. You will keep a logbook, to be used as evidence of<br />
this. (But as I said, I shall not mark the logbook)<br />
Hopefully some evidence that the opinions of the end-user have been used to adapt the<br />
solution.<br />
Details of the training that will need to be available for the staff that must use the new system.<br />
Details of the means by which the new files are going to be created, including some indication<br />
of the scale of the problem.<br />
Details of the changeover anticipated.<br />
(Iii) Appropriateness of structure and Exploitation of Available Facilities. (5 marks)<br />
Whatever the original problem and the solution decided upon, there will be a degree of<br />
choosing the solutions to problems before they have actually arisen. If I once again consider<br />
the example of locker in a school, then, at one extreme, the school has a certain amount and<br />
type of hardware available, in reality the student has no control over this, and with hindsight it<br />
may well be that the available hardware was not ideal.<br />
Similarly, the software that was used in the solution may not have been the best available, or a<br />
choice made earlier in the project may lead to problems later on.<br />
The purpose of this section is to show that the student can look beyond their solution to identify<br />
problems that have arisen. To show that the student is capable of being critical of his or her<br />
own work in the same way that a systems analyst would need to be.<br />
All large-scale work of this nature will be subject to difficulties during the construction of the<br />
solution. Any project that has been produced by a student who says that there were no<br />
problems has either been too superficial or the student is suffering from selective memory! It is<br />
10
important that these difficulties are noted and that the student reports them and catalogues the<br />
solutions that were found.<br />
Evidence:<br />
A critical appraisal of the hardware that has been used, to include comments about more<br />
appropriate hardware if the student feels it necessary. For this project, you can take details of<br />
your own computer and note these. Assume that there are four of these in a network all with<br />
the same specifications. You can allocate your own computer names.<br />
A critical appraisal of the software that has been used, to include comments about more<br />
appropriate software if the student feels it necessary. Here, I have asked you to use Microsoft<br />
Access. You are encouraged to consider alternative databases, but your final design will have<br />
to be in Access.<br />
A log of all the problems that were encountered during the production of the solution. This log<br />
should include a detailed description of the measures taken to solve the problems found. There<br />
should be references to the evidence that the solutions had the desired effects. This part of the<br />
work is so important and as I have said at the beginning you will need to maintain a logbook<br />
during your project work.<br />
(d) Documentation.<br />
(1) Technical documentation. (10 marks)<br />
The technical documentation is hard to pin down in a guide like this one. The reason being that<br />
the content will differ massively dependent on the type of project produced.<br />
However, there are some general rules that should be followed. The first is that the technical<br />
documentation should be a stand-alone document. In other words, the finished item should be<br />
capable of being useful without reference to any of the other documentation in the project.<br />
The result of this is that if an item is deemed to be important enough for inclusion in the<br />
technical documentation and that it already appears elsewhere in the project, it is necessary to<br />
make a copy of it for inclusion here.<br />
The technical documentation should be seen as being all the information that another analyst,<br />
or programmer, or student would need to carry on and finish the project, or amend the project,<br />
without reference being necessary to any more analysis or design.<br />
The guide should be well presented, should ideally be bound separately from the main project<br />
and should give the impression of being a seamless presentation, rather than simply a<br />
collection of individual items.<br />
Evidence:<br />
A description of the records used and the fields within the records.<br />
The types of data should be described as should the data structures used to hold the data. Any<br />
data handling implies that data has been stored. Whether the project is based on programming<br />
or on tailoring software, it is going to be necessary to explain how the data is being stored.<br />
If a database solution has been produced, an explanation of the relationships between the<br />
various files, or tables, and the linkages used.<br />
The screens used and the menu system for the input of data along with the form designs<br />
where these items are appropriate to the particular project.<br />
A data dictionary or list of variables used and details of the formulae used, the queries<br />
employed, and the algorithms for any coding, whether it be SQL in helping to analyse a<br />
database, or another HLL which has been used to produce a piece of original software.<br />
Any algorithms should be fully annotated and supported by annotated code, which takes<br />
advantage of automatic annotation techniques like comments and indentations.<br />
11
A listing of the recommended hardware and software configuration needed to run the system.<br />
(ii) User documentation. (5 marks)<br />
The first thing to realise is that there are two quite distinct types of user guide. A User guide is<br />
simply that. It is a guide for the person who is intending to use the project to do something<br />
useful.<br />
Unlike the technician they do not want to understand how the solution works (indeed, the user<br />
may well not be able to understand the logic behind the solution) but they do need to know<br />
how to make it do something useful.<br />
The two types of user guide are a guide in paper form and one, which is available on screen,<br />
electronically. The first is useful because it can be used away from the computer, while the<br />
second is useful because the contents required by the user are determined by the position in<br />
the project where help was requested. In reality the best user guide will combine the two types.<br />
Students should be wary about including details of the software that has been tailored. It is the<br />
tailoring of the software that provides the solution to the problem, it is the tailoring of the<br />
software that the user will use, and consequently, it will be the tailoring of the software that<br />
should be documented here.<br />
As a simple illustration, consider the case of a project that allowed the user to search a file of<br />
data for all the people on the file who live in a certain town and then to mail merge their details<br />
with a standard letter in order to send information to them about something happening in their<br />
town.<br />
If the solution is to be based on the use of a standard query from within the software package<br />
itself, then the software has not been tailored properly and the inclusion of the necessary<br />
techniques in the user guide would mean copying out chunks of the software guide which<br />
would not be appropriate.<br />
However, if the solution has involved the correct degree of tailoring then the user guide will<br />
contain explanation of the forms that have to be completed and the type of data that is<br />
required.<br />
Examples of valid data would also be provided and the user would be presented with example<br />
outputs so that it was known what to expect.<br />
The user would not expect to see a long explanation about the way that the software created<br />
the query and how it was dealt with.<br />
Students should remember that there are a number of things that are important in the guide,<br />
above and beyond the obvious `How to use it'.<br />
The input requirements and the choices that the software will offer the user together with an<br />
explanation of the results of those choices should be present.<br />
Details of the outputs, both hard copy and to storage for the purposes of backing up the data<br />
are important. In some circumstances it may be appropriate to go further and discuss the need<br />
for archiving some of the data, particularly if the solution is based on a regular cycle, like the<br />
start of the school year.<br />
The solution may use a number of different pieces of software. In this instance the student<br />
should ensure that they include an explanation of the different types of entry for different types<br />
of data.<br />
This will normally take the form of a menu screen offering the user one of a number of forms<br />
that can be filled in with the data.<br />
12
These different options should be understood. The user should be able to find their way around<br />
the user guide with ease; consequently, an index is necessary (or at least a contents page).<br />
The student should not lose sight of the fact that the final user will probably be largely<br />
computer illiterate. This means that there are likely to be a number of terms used in the project<br />
as a whole, and in the guide in particular, which will need to be explained.<br />
A glossary of terminology used (like a short dictionary) is valuable.<br />
Don't lose sight of the fact that for full marks there should be an on-screen help guide (however<br />
rudimentary) to supplement the paper one.<br />
Evidence:<br />
A contents page and possibly an index.<br />
Details of input requirements including examples of valid and invalid data with explanations,<br />
examples of the input screens so that the user knows what the screen will look like.<br />
How to move from input to input on the screen, how to show that the screen input is completed<br />
Methods of output. How to select them, where the output will appear, how to facilitate output,<br />
even simple things like `ensure that the printer is switched on. If there is a choice of hardcopy<br />
output, how is the choice made and what criteria are used to decide on which output device to<br />
use?<br />
Explanation of the error messages that may appear. In most projects these will tend to be<br />
related either to the printer or to data that has failed a validation test on input to the system.<br />
Back-up routines and data archiving strategies.<br />
Methods that have been used to protect the data. For example passwords on files.<br />
A certain amount of on-screen helps. This may take the form of error messages or may be<br />
more active, allowing the user to access advice about a particular part of the solution from<br />
within the solution. Screen dumps or photographs of these on-screen help facilities will be<br />
needed as evidence.<br />
A glossary of any words or terms that a typical user of the system may find confusing.<br />
(e) Evaluation.<br />
(i) Discussion of the degree of success in meeting the original objectives. (10 marks)<br />
By the time this stage has been reached it is assumed that the end-user has seen the<br />
completed piece of work, and that an attempt has been made to run the solution, either with<br />
real data rather than test data, or with a real user rather than the student.<br />
This section centres on a comparison of the hopes that were originally identified for the<br />
solution way back in section 1 and what was achieved by the end of the work.<br />
Each of the requirements that were originally agreed with the end user should be compared<br />
with the final outcome and an assessment made of how well the project has worked, taking<br />
into account any limitations that had been identified.<br />
Evidence:<br />
A clear matching up of the agreed objectives of the project, taken from the requirements<br />
specification, with evidence that the objectives have been met.<br />
13
For each objective a discussion about the degree of success that the student believes has<br />
been achieved (with reference to the evidence in the rest of the report), any shortcomings that<br />
the student has been able to identify and the reasons why such shortcomings occurred.<br />
The results that were obtained upon using `real' data rather than manufactured test data. It is<br />
understood that any problems outlined earlier about restrictions because of the Data Protection<br />
Act or similar are still accepted. The distinction between the two types of data should be seen<br />
as: test data has been specially chosen to have a certain characteristic which can be used to<br />
test a specific area of the software solution, while real data is the sort of data that will arise in<br />
operation of the system.<br />
(ii) Evaluate the User's Response to the System. (5 marks)<br />
The end user needs to use the finished system. Here we will have another interview, 5<br />
minutes, no more for me to use your system.<br />
Ideally the end user will be presented with the user guide and a machine that has been<br />
switched on with the software loaded up, and left to get on with it.<br />
This is a bit unreasonable, and the student should be on hand to answer any questions and to<br />
help in the use of the software as the end user will not have been trained yet. However, the<br />
principle that the end user should use the solution (and not just sit and watch the student make<br />
it work) is an important one.<br />
There should be evidence that the end-user has used the system, probably in the form of print<br />
outs of completed tasks and a letter from the end-user stating how well they think the solution<br />
has met the specification. It is often helpful to present the end user with a worksheet to follow<br />
so that they are led through the system gently and so that there are no areas of the software<br />
that they fail to use.<br />
Evidence:<br />
A letter from the end-user stating that they have used the software solution and listing the<br />
things that they managed to do and those that they could not, or that still need work to improve<br />
them.<br />
Some evidence to support the letter. For example a printout showing an amendment to a<br />
record in the file.<br />
Some indication of the degree of success that the student has achieved in the opinion of the<br />
end user.<br />
(iii) Recommended further work. (5 marks)<br />
The student should be aware that no system is ever finished.<br />
However well a system works there are always going to be extra things that could be done,<br />
rough edges that could be smoothed out, new hardware that could be used to give an<br />
improved finished product etc.<br />
The intention of this section is to show that the student is aware that however good their<br />
project is, and however wonderful their end user said it was, there is always something that<br />
could have been better.<br />
The students should also be prepared to give themselves a pat on the back when they get<br />
something right. This ability to recognise that a part of the work is successful is an important<br />
point about the production of a system because it is necessary to have the skill to know that<br />
there is nothing to gain from continuing this part of the system and that efforts would more<br />
profitably be spent on something else.<br />
14
Evidence:<br />
Lists of those parts of the system that the student believes are satisfactorily completed.<br />
A list of those areas that have not been successful. A reason why the student holds that<br />
opinion and what should be done about it if there was enough time to rectify the situation.<br />
Areas within the system where previously identified limitations have had a marked effect on the<br />
results.<br />
A clear indication that the student realises that, although the project is finished, the solution is<br />
not and that there are a number of possibilities for extending the solution with brief outlines<br />
about what would be involved in such extensions.<br />
15