05.08.2014 Views

Database Fundamentals Assignment (Weighting 70%)

Database Fundamentals Assignment (Weighting 70%)

Database Fundamentals Assignment (Weighting 70%)

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!