a-level computing project

102
Thomas Davies Computing Project Module: 2510 // Candidate Number: 2054 // Centre Number: 20466

Upload: thomas-davies

Post on 12-Nov-2014

105 views

Category:

Documents


1 download

DESCRIPTION

A-Level Computing Coursework.

TRANSCRIPT

Page 1: A-Level Computing Project

Thomas Davies

Computing Project

Module: 2510 // Candidate Number: 2054 // Centre Number: 20466

Page 2: A-Level Computing Project

Table of Contents

Definition, Investigation & Analysis 1

i. Definition - Nature of the problem solved 1

Definition 1

ii. Investigation and Analysis 1

Interview 1

Letter 1

Transcript 2

Sample Documents 3

Inefficiencies 3

Data Flow Diagrams 4

Structure Diagrams 4

Hardware Requirements 4

Software Requirements 5

Requirement Specification 5

Input Requirements 5

Processing Requirments 5

Output Requirements 5

Miscellaneous Requirements 5

Alternative Implementations 5

Design 6

i. Nature of the Solution 6

Design Specification 6

Computing Project i

Page 3: A-Level Computing Project

Entity-Relationship Diagram 7

Entity Life Histories 8

Employee 8

Holiday 8

SickDay 8

Relationships 9

Table Designs 9

Employee Table 9

Holiday Table 10

SickDay Table 10

Software 11

Hardware 11

Printer 11

Form Designs 12

Standard Header 12

Employee Form 13

Over the Quota 14

SickDay Tab 14

Settings Tab 15

Reports 16

Holiday 16

Scripts and Functions 17

Calculation between two dates 17

CompleteBooking 17

Computing Project ii

Page 4: A-Level Computing Project

ii. Intended Benefits 17

iii. Limitations 18

Project 18

File Size 18

Software Development, Testing & Implementation 19

i. Development and Testing 19

Software Development 19

Relationships 19

Table Designs 20

Employee Table 20

Holiday Table 20

SickDays Table 21

Value Lists 21

Authorisation 21

Scripts and Functions 22

Calculation between two dates 22

CompleteBooking 23

Find Employee 23

New Employee 24

Print 24

Report 25

Backup 25

Form Designs 26

Employee (Holidays) 26

Computing Project iii

Page 5: A-Level Computing Project

Employee (Over the limit) 27

Employee (Sick Days) 28

Employee (New Employee) 29

Employee (Find Mode) 30

Employee (Settings) 31

Help / Settings 32

Reports 33

Holiday 33

Access Rights 34

Admin 34

Employee 35

Employee Privilege Set 35

Testing 36

Standard Buttons 36

Employee Details 36

Holidays Tab 37

Sick Days Tab 37

Settings Tab 38

Access Rights 38

Timing 39

Comments 39

Testing Evidence 40

ii. Implementation 48

Alternative Methods 48

Computing Project iv

Page 6: A-Level Computing Project

Implementation 48

Gantt Chart 48

Installation 48

Add data files 48

Make Adjustments 49

Show Manager 49

User Training 49

Break 49

Solve Issues 49

Changeover 49

User Training 49

iii. Exploitation of available facilities 50

Software 50

FileMaker Pro 50

Windows Vista 50

Mac OS X Leopard 50

Hardware 51

Apple Notebooks 51

MacBook Air 51

Documentation 52

i. Technical Guide 52

ii. User Guide 64

Evaluation 88

i. Degree of success in meeting the original objectives 88

Computing Project v

Page 7: A-Level Computing Project

Requirements 88

ii. Evaluate the users’ response to the system 89

Justin’s Letter 89

User-Friendly System 90

User Testing 91

iii. Desirable extensions 92

Good Points 92

Bad Points 92

Data Input 92

Output 92

Time Machine 93

Mobile Access 93

Glossary 94

Bibliography 95

Computing Project vi

Page 8: A-Level Computing Project

Definit ion, Investigation & Analysis

i. Definition - Nature of the problem solved

DefinitionBased in Electric Wharf, Coventry, Nexus Graphics is an Apple Authorised Service Provider (AASP) and Microsoft Small

Business Specialist. Justin Huckfield - who set up the organisation in 1998 - will be the end user for this project. He currently

employs 5 members of staff, with 4 qualified technicians and 1 secretary. The installation of hardware and software for small

business as well as providing on-site support are the two key areas of Nexus Graphics’ business.

Currently Nexus Graphics are having difficulty with tracking holidays for their employees. Over the past year, the organisation

has grown and is now unable to keep track of staff holiday bookings.

The data that is involved in the process is that of the employees’ holiday requests, either through a written note or a

conversation with the manager. They require Justin Huckfield or the secretary to authorise the request for it to be successful.

With the process taking place in the written form or through a conversation, holiday request information can get lost.

Furthermore, for it to be sanctioned, Justin Huckfield will enter the details into an Excel spreadsheet, one set up for each

employee.

Each employee receives 20 days holiday, along with all bank holidays as standard. As it is possible that staff members can

work on weekends, Nexus Graphics include ‘Bonus Days’ which provide employees with extra days if they have worked

more than their required amount. Moreover, with explicit authorisation, staff members can request that some of their days to

be carried over into the next year. However, this and the ‘Bonus Days’ require explicit authorisation, on a one for one basis.

ii. Investigation and Analysis

Interview

LetterOctober 1, 2007

Justin HuckfieldNexus GraphicsC11 Generator HallElectric WharfCV1 4JL

Dear Justin,

Thank you very much for being able to assist me with this project for my computing A-Level. To further the process, it would be of great assistance if I could arrange an interview with you. This interview will allow me to gain a better understanding of the current system, as well as share ideas for the new system.

Please could you suggest a time for this interview, and contact me as soon as possible.

Yours sincerely,

t.davies

Thomas Davies

Copy of the letter I sent to Justin Huckfield concerning the interview

Computing Project | Thomas Davies 1

Page 9: A-Level Computing Project

Transcript

On the 4th October 2007, I interviewed Justin Huckfield, the manager of Nexus Graphics. Taking place at the office of the

company, I questioned him concerning the proposed system.

• What are the problems with the current system?

Currently in Excel spreadsheet, doesn’t provide me with decent warnings if an employee has gone above his yearly quota of

20 days. Employee request forms can get lost as they are usually handwritten. Previously, when emailed to me I lose track of

them if I have more important emails to attend to. Furthermore the system is too slow, taking too much time to complete a

request. We can not be wasting too much time on booking holidays.

• Therefore, would you like employees to request holidays through the new system?

Yes, but limited access to request his holidays. Everywhere else must be read only for employees.

• Who would have access to edit all the information?

Myself (Justin) and Tracey (Secretary).

• So, speed wise, the action has to be completed as quickly as possible?

Yes, I want the request to only take a few minutes to complete, and sanction.

• Are there any compatibility issues, such as with Operating Systems?

Yes, the system will have to run on Mac OS X (10.4 / 10.5) and Windows Vista.

• Would you like to see integration with other products, such as iCal?

No, just standalone system, but I would like to email employees to show them that I have either sanctioned or declined their

request for holiday.

• So, would you like to see integrated emailing, where information concerning a holiday request is emailed to the employee?

Yes, as it would save time copying all the information into Apple Mail.

• Would these be reports for each employee?

Yes, I would like to see a report generated for each employee. This would show how many days he has left and the holidays

taken in the last year. Furthermore, if possible, I would appreciate a calendar view for all staff members. With this, I could see

straight away who has booked what days.

• Is there a certain format that these reports have to be in?

To ensure that they will be compatible with both Mac OS X (10.4 / 10.5) and Windows Vista, I would prefer them in

Adobe .pdf format.

• Are there any ways in which these reports will be distributed?

Along with being sent via email, I would also like them to be printed some of the time.

• When do you want the system to be up and running?

I need it working for January 2008. This is because I want to use it for the 2008 holiday bookings for employees.

Computing Project | Thomas Davies 2

Page 10: A-Level Computing Project

Sample Documents

The Excel spreadsheet used for current system (Opened in iWork Numbers)

The Email sent to employees after they authorisation or rejection

InefficienciesThe employees do not have access to the spreadsheet, as they are unable to sanction the holiday bookings. As Justin

Huckfield has stated in the interview, he wants to be able to email the information to the employees about their holiday

request. With this spreadsheet he is unable to do so with ease. It is not easy to export into Adobe .pdf format, and therefore

has to copy all this information into the email which he will send to the employee in question.

Furthermore, the email sent to inform the employee of the decision is not very helpful. While it is very concise it doesn’t say if

the other staff member has the exact same days off or just a few. If they had access to the system they could see what days

were available, rather than asking for holidays blind. Having all the details, via access to the system, will limit the time

wasted, when Justin Huckfield or the secretary checks to see if the days are available to book.

The current system is also not very scalable. If there is a new employee, a whole new sheet will have to be created, copying

certain data over from others. This wastes considerable amount of time, something which the end user is looking to

minimise with the new system.

Computing Project | Thomas Davies 3

Page 11: A-Level Computing Project

Data Flow Diagrams

Structure Diagrams

1.1 - Request Holiday

2.2 - Checks Employee

3.1 - Checks Dates

3.2 - Add Employee

4.1 - Accepts Request

4.2 - Declines Request

Hardware RequirementsCurrently, all members of staff have an Apple MacBook or MacBook Pro. These notebooks are fairly new, and will only be up

to 1 year old. These notebooks contain the new Intel chips, and not the PowerPC ones. With this in mind, the software used

will have to be compatible for the new chips, either sporting the Universal Binary or Intel only insignia.

Due to the notebook form factor, the input methods will be confined to both the keyboard and trackpad. As Justin Huckfield

stated he would like certain reports to be printed out, the system will be using the office’s laser printer.

Computing Project | Thomas Davies 4

EmployeeDetails received via email

correspondence.

1.1 - Receive

Details from email are

inputed into the system.

1.2 - Input

Checks no one else has

days off. Checks

employee has days left.

1.3 - Validation

Adds the holiday

information into the

system.

1.4 - Add

D1 - HolidaysConfirms Holiday

request has been

sanctioned.

Confirms Holiday

request has

been declined.

Information is stored in

the Holidays section of

the system.

Employee emails

to request holiday.

Page 12: A-Level Computing Project

Software RequirementsAs previously stated in the interview with Justin Huckfield, the system will have to be compatible with both Mac OS X (10.4 /

10.5) and Windows Vista. As the notebooks that the employees are running contain Intel chips, both the Mac OS X and

Windows Vista operating systems will run on them.

Requirement SpecificationFollowing the interview with Justin Huckfield, he has specified certain aspects of the system which will be required.

Input Requirements

• Full access for only Justin Huckfield and the secretary.

• Employees to have limited access. Request only.

• Requests to take a few minutes to complete.

• Requests to take a few minutes to sanction.

Processing Requirments

• Calculate the length between the start and finish dates.

• Checks that no two staff are unavailable on the same date.

Output Requirements

• Report generated for employees. Shows time left and future holidays.

• A calendar view to show all employee holidays.

• Integrated emailing facility to send report to employee.

Miscellaneous Requirements

• A user-friendly system.

• Compatible with both Mac OS X (10.4 / 10.5) and Windows Vista.

• System to be implemented for April 2008.

Alternative ImplementationsThere are many differing implementation approaches that could be undertaken for this project.

Solution Advantages Disadvantages

Same System Cheaper alternative to other solutions.No training required. Users already have system knowledge.

Limited expansion possibilities.

Coded Solution Bespoke software.Small memory footprint.More modifiable than using database software.

Lack of required skills to complete it.

Off the Shelf Software Quicker to implement than bespoke software.Cheaper than bespoke software.Wide range of support via internet, and books.

A solution may not exist.Doesn’t provide exact functions required.

Database Searching is more advanced that Spreadsheets.Has ability to use macros, and templates.Relational information. Can be normalised.

Not included in many office application suites.Requires the high-end packages.Costs more than standard packages.Not easy to program.

Spreadsheet Included in majority of office application suites.Allows for the use of forms and reports.The ability to search through the data, and use macros.

Flat file only.Not normalised.Can have data redundancy.Updating data is difficult.

The chosen implementation for this project will be the database solution. Even though a high-end package will be required,

the facilities included in this piece of software outweighs the increased cost of the package itself. Having the system

normalised is vital for a successful completion. Without normalised data, data redundancy will have a burden on the system.

Computing Project | Thomas Davies 5

Page 13: A-Level Computing Project

Design

i. Nature of the Solution

Design SpecificationThe Requirement Specification has been agreed by the end user. The following Design Specification is how the requirments

will be implemented into the database system.

Input Requirement Information

Full access for only Justin Huckfield and the secretary.

The system will be set up so that Justin Huckfield and the secretary have their own accounts to the database. These will be the only accounts with read / write access to the system. As these users are competent in database applications, they will have the ability to alter the back-end of the system.

Employees to have limited access. Request only.

These users will be assigned an account to the system, however, only allowing limited editing capability. Each employee will be able to edit their own personal record, such as adding new holiday dates.

Requests to take a few minutes to complete.

This will be achieved by limiting the amount of data to be entered. Following the selection of the employee, the only data to be entered will be: Start Date and Finish Date.

Requests to take a few minutes to sanction.

Employees who have just requested holidays will see their details highlighted on the main page of the system. This way, the end user will instantly know what the requests are. To sanction a request, a simple tick box will be implemented.

Processing Requirement Information

Calculate the length between the start and finish dates.

This will be implemented by standard calculation tools, using the built-in scripting tools to create this.

Checks that no two staff are unavailable on the same date.

The system will check once the dates have been entered that the calendar is vacant on those specific dates. If yes, then they are added to the database. If not, then a warning message is displayed.

Output Requirement Information

Report generated for employees. Shows time left and future holidays.

This will be achieved using the built-in report generating tools. The system will allow the report to view data from many different sources.

A calendar view to show all employee holidays

For this to be implemented, the system will include a 3rd party piece of code that enables the calendar view. This will be connected with the data, and will display the holidays on a monthly calender.

Integrated emailing facility to send a report to employees

Using the built-in features, the system will be able to send the report to the employee directly using the integrated emailing system. This will save time as no copying and pasting into an external mail application will be required.

Miscellaneous Requirement Information

A user-friendly system. Take advantage of tool-tips, text boxes, and a calendar pop-up box to make sure the date format is correct.

Compatible with both Mac OS X (10.4 / 10.5) and Windows Vista.

Use a multi-platform application, compatible with Mac OS X and Windows Vista.

System to be implemented for January 2008.

Produce a fully tested, and implemented system into the Nexus Graphics offices, ready for use in January 2008.

Ab le to run on MacBook A i r specifications or better.

Check that FileMaker can run successfully on the MacBook Air, and efficiently on the Intel processors.

Computing Project | Thomas Davies 6

Page 14: A-Level Computing Project

Entity-Relationship DiagramThis Entity-Relationship Diagram is using the Peter Chen notation1 to represent the relationships of this database.

Employee

Holiday

Reserves

SickDay

Confirms

FirstName

Surname

Email

DaysLeft

EmployeeID

EmployeeID

Start

Finish

TotalDays

SickDayID

EmployeeID

Start

Finish

TotalDays

HolidayID

Authorisation

m

1

m

1

Employee Confirms EmployeeID StartSickDayID

Key

Entity Relationship Primary Key Foreign Key Attribute

HolidayTotal

Computing Project | Thomas Davies 7

1 Dr. Peter Chen, 1976. The Entity-Relationship Model-Toward a Unified View of Data.

http://csc.lsu.edu/news/erd.pdf [Accessed January 2008]

Page 15: A-Level Computing Project

Entity Life Histories

Employee

Employee

Creation Life Deletion

Holiday ! Sick Leave ! Details Change !

Request * Return to Work *

Accept ! Decline !

Contact Manager * Return to Work *

Holiday

Holiday

Creation Life Deletion

Request * Complete Holiday *

Accept ! Decline !

SickDay

SickDay

Creation Life Deletion

Contact Manager * Return to Work *

Computing Project | Thomas Davies 8

Page 16: A-Level Computing Project

Relationships

Employee

EmployeeID

FirstName

Surname

Email

DaysLeft

Holiday

HolidayID

EmployeeID

Start

Finish

TotalDays

Authorisation

SickDay

SickDayID

EmployeeID

Start

Finish

TotalDays

Table Designs

Employee Table

Field Name Field Type Validation Example Origin Use

EmployeeID Number Serial Number on creation. Increments from “1”. Required value. Unique, numeric values only.

01 Automatic following the entering of Employee details

Automatically generated identification

FirstName Text Required value: Message (If not completed): “Please enter the First Name of the employee”

Jason Entering it in the Employee details form

First name of the employee

Surname Text Required value: Message (If not completed): “Please enter the Surname of the employee”

Smith Entering it in the Employee details form

Surname of the employee

Email Text Auto-entered example data: “[email protected]”. Required value: Message (If not completed): “Please enter the email of the employee”

[email protected]

Entering it in the Employee details form

Email address of the employee. Will send employee an email whether holiday was authorised or not

DaysLeft Calculation (Number)

User not allowed to enter data. =Settings::HolidayTotal - Sum ( Holiday::TotalDays )

20 Calculation between the TotalDays (Holiday) and Quota (Settings)

Shows how many days are left in an employee’s quota

HolidayTotal Number Auto-entered data: “20” 20 Automatic entry of ‘20’. Can be altered by changing the details

To complete the calculation of how many days the employee is allowed

Computing Project | Thomas Davies 9

Page 17: A-Level Computing Project

Holiday Table

Field Name Field Type Validation Example Origin Use

HolidayID Number Serial Number on creation. Increments from “1”. Required value. Unique, numeric values only.

01 Automatic following the entering of Holiday details

Automatically generated identification

EmployeeID Number Takes data from the Employee table.

01 From the Employee Table. Foreign Key

Links Holiday record with an Employee

Start Date Required value: Message (If not completed): “Please enter the first day of the holiday”. Only allow values of type: “4-Digit Year Date”

11/01/2008 Entered by selecting date on a Calendar pop-up in the Holiday portal on Employee form

Shows the first day of the holiday

Finish Date Required value: Message (If not completed): “Please enter the last day of the holiday”. Only allow values of type: “4-Digit Year Date”

15/01/2008 Entered by selecting date on a Calendar pop-up in the Holiday portal on Employee form

Shows the final day of the holiday

TotalDays Calculation (Number)

User not allowed to enter data. = age ( Start ; Finish )

4 Calculating the total length of the holiday by using Start and Finish. Uses the Calculation between two dates script

Shows the total length of the holiday. Used to calculate DaysLeft (Employee)

Authorisation Boolean Select either “Yes” or “No” Yes Selecting it in the Holiday portal on Employee form

States whether holiday is authorised. Required to send correct email

SickDay Table

Field Name Field Type Validation Example Origin Use

SickDayID Number Serial Number on creation. Increments from “1”. Required value. Unique, numeric values only.

01 Automatic following the entering of SickDay details

Automatically generated identification

EmployeeID Number Takes data from the Employee table.

01 From the Employee Table. Foreign Key

Links SickDay record with an Employee

Start Date Required value: Message (If not completed): “Please enter the first day of the ill period”. Only allow values of type: “4-Digit Year Date”

21/01/2008 Entered by selecting date on a Calendar pop-up in the SickDay portal on Employee form

Shows the first day of sick leave

Finish Date Required value: Message (If not completed): “Please enter the last day of the ill period”. Only allow values of type: “4-Digit Year Date”

21/01/2008 Entered by selecting date on a Calendar pop-up in the SickDay portal on Employee form.

Shows the final day of sick leave

TotalDays Calculation (Number)

User not allowed to enter data. = age ( Start ; Finish )

1 Calculating the total length of sick leave by using Start and Finish. Uses the Calculation between two dates script

Shows the total length of sick leave

Computing Project | Thomas Davies 10

Page 18: A-Level Computing Project

SoftwareThe holiday booking system will be run in the cross-platform software; FileMaker Pro. The product is a database application

and requires users to have Mac OS X 10.4 / 10.5 or Windows XP / Vista2. As all Nexus Graphics’ employees have either

Mac OS X 10.5 or Windows Vista running on their Apple notebooks, FileMaker Pro will run successfully on their Operating

Systems.

HardwareA requirement for the system is to be able to run successfully on the MacBook Air specifications3 or better. In terms of

hardware specifications, the MacBook Air is the least powerful out of the MacBook range. Therefore, as all staff have an

Apple notebook, running efficiently on a MacBook Air means FileMaker Pro will run well on any other MacBook. FileMaker

Pro requires at least 512MB of RAM, with an Intel processor, both of which the MacBook Air possesses. This results in the

fact that FileMaker Pro will be able to run efficiently across the whole line of MacBooks.

PrinterThe company offices are networked using Apple’s AirPort Extreme hardware devices. This technology allows Nexus

Graphics to share files on connected hard drives, as well as print documents wirelessly4.

As the employees use notebooks, wireless printing is fundamental to ensure efficiency. Therefore, I have selected a printer

that is compatible with the Airport Extreme base station; the HP DeskJet F4180, a simple multifunction inkjet printer.

However, even though I have selected this printer, any standard inkjet that is capable of connecting with the AirPort Extreme

device can be used for this system.

Computing Project | Thomas Davies 11

2 FileMaker, 2007. FileMaker Pro Tech Specs.

http://www.filemaker.com/products/fmp/tech_specs.html [Accessed February 2008]

3 Apple, 2008. Apple - MacBook Air - Technical Specifications.

http://www.apple.com/macbookair/specs.html [Accessed February 2008]

4 Apple, 2008. Apple - AirPort Extreme - Features - Wireless Printing.

http://www.apple.com/airportextreme/features/printing.html [Accessed April 2008]

Page 19: A-Level Computing Project

Form Designs

Standard Header

There are several forms in this staff holiday system. While they all complete different tasks, many operations on the forms

produce similar actions. For example, these include the ‘Find Employee’ and ‘Print’ tasks. On all pages these will instigate a

search and document print respectively. These operations remain in the same place on all pages so that the users can grow

accustomed and habituate to the tasks. Therefore, a list of all common interactions included in the system are listed below.

Nexus - Staff Holiday System

New Employee Find Employee Print Future Hols Email Staff Help / Settings

1 2 3 4 5

6

User Interactions

Reference Interactions Comments / Options

1 Find Employee Enters Find Mode

2 New Employee Enters New Record Mode

3 Print Future Holidays Prints IndividualEmployee Report

4 Email Staff Emails employees with the holiday listings

5 Help / Settings Enters the Help Page

Format

Reference Description Colour (Hex) Typeface Size Other

1, 2, 3, 4 Buttons 408cc0 Helvetica (000000) 12 -

5 Buttons ff6600 Helvetica (000000) 12 Orange to highlight significance of Help

6 Header e7e7e7 Helvetica (185792) 24 -

Computing Project | Thomas Davies 12

Page 20: A-Level Computing Project

Employee Form

This form will be edited by both employees and the end user, Justin Huckfield. The majority of the work in the system will

occur on this form. It will allow employees to request holiday periods, while allowing Justin Huckfield to either sanction or

deny the holiday request. For data entry, this is the only form that the employees will use. To maintain simplicity for the users,

this form will house both the employee details, as well as their individual holidays and sick days. Implementing the form in

such a manner will save users time and effort, as they do not have to edit multiple forms just to add a single holiday request.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

14days left

Holidays Sick DaysComplete

HolidayID Start Finish TotalDays Authorisation

1 12/11/2007

17/12/2007

31/12/2007

2

3

13/11/2007

20/12/2007

31/12/2007

1

4

1

Yes

Yes

Yes

Tabbed Menu

Conserves space, as Sick

Days will hardly be used.

Holidays set as the default tab.

Shows each possible form.

Portal

Ability to create / edit / delete

data from the Holidays and

Sick Days table. All this data is

related to the employee stated

above.

Days Left Field

Number is enlarged, so end

user can see easily how many

days are left. Will go red if they

have gone over their quota.

Uses the calculation between

two dates function.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

81 2

4 56

7

3

Sources Field Type

Employee Table Main Form

Holiday Table Portal (Subform)

SickDay Table Portal (Subform)

User Interactions

Reference Interactions Comments / Options

1 Holidays Shows the list of holidays that the employee has had. Can create / edit / delete data.

2 Sick Days Shows the list of sick days that the employee has had. Can create / edit / delete data.

3 Settings Shows the Settings page. Can edit the total amount of days that staff can have off.

8 Complete Implements the CompleteBooking Script.

Format

Reference Description Colour (Hex) Typeface Size Other

1, 2, 3 Tabs 408cc0 Helvetica (000000) 12 -

4 Labels 408cc0 Helvetica (000000) 12 Bold

5 Text Fields aaaaaa Helvetica (000000 or ff0000) 48 Red (ff0000) if employee is over quota

6, 7 Text Fields 408cc0 Helvetica (000000) 12 -

8 Button 408cc0 Helvetica (000000) 12 -

To improve form entry, both the ‘Start’ and ‘Finish’ fields include a drop-down calendar. This is to

ensure that the dates are entered in the correct format, so the system to understand it.

Implementing this feature will result in less error messages. Lowering the amount of monolog

boxes highlighting errors will improve both efficiency and usability. They merely disrupt the user’s

workflow, and provide no alternative solutions, resulting in 0% efficiency.5

Computing Project | Thomas Davies 13

5 Aza Raskin, 2006. UI Design Fundamentals.

http://humanized.com/weblog/2006/07/22/know_when_to_stop_designing_quantitatively [Accessed January 2008]

Page 21: A-Level Computing Project

Over the Quota

This scenario is witnessed when an employee goes over their quota. To alert the user the Days Left field changes the text

colour to red, informed them that the employee has used up their holiday quota and a solution to this problem is required.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

-1days left

Holidays Sick DaysComplete

HolidayID Start Finish TotalDays Authorisation

1 12/11/2007

17/12/2007

1/1/2008

2

3

22/11/2007

20/12/2007

5/1/2008

11

4

6

Yes

Yes

Yes

Tabbed Menu

Holidays is highlighted as it is

the selected tab.

Days Left Field

Will go red if they have gone

over their quota. Uses the

calculation between two dates

to work this out.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

SickDay Tab

Selecting the Sick Days tab will change the contents of the portal on the form. It will find all relating sick leave about the

current employee and display them in the same format as holidays, except for Authorisation, which is not required for sick

leave. Illness will not affect the employee’s holiday quota, so therefore the Days Left field remains the same.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

14days left

Holidays Sick DaysComplete

SickDayID Start Finish TotalDays

1 12/11/2007

17/12/2007

31/12/2007

2

3

13/11/2007

20/12/2007

31/12/2007

1

4

1

Tabbed Menu

Sick Days is highlighted as it is

the selected tab.

Portal

Altered its content from the

default Holiday content as the

Sick Days tab has been

selected.

Days Left Field

This field is not affected by the

data in the Sick Days tab as

they do not count towards

holiday leave.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

No Authorisation

The Authorisation field is not

required as the employer does

not need to sanction sick

leave like they do for holidays.

Computing Project | Thomas Davies 14

Page 22: A-Level Computing Project

Settings Tab

This form will be edited by the end user, Justin Huckfield. It is a very simple form to make sure that the user is not

overwhelmed with irrelevant setting for the system. The only setting that the administrators will need to update is the holiday

quota (The maximum amount of days allowed off for holiday), and therefore this option is set out very clearly. Only the

administrators will have access to this page as they are the ones who having the rights to update this setting, while the

employees are restricted from viewing this content. Allowing the administrators to update the holiday quota means that the

system is very scalable, and can change depending on the needs of the company.

This setting is unique to each employee to ensure that the quotas are fair. For example, it is unfair for an employee to join half

way through the year and receive 20 days off, as they should only have 10 days for the remaining second half of the year.

Furthermore, the company may introduce a loyalty scheme allowing staff members that have worked at Nexus Graphics for

a prolonged period of time to have higher quotas. This feature furthers the scalability of the solution, as it does not restrict

the company from introducing new policies concerning holiday leave.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

14days left

Holidays Sick DaysComplete

Tabbed Menu

Conserves space, as Sick

Days and Settings will hardly

be used. Holidays set as the

default tab. Shows each

possible form. Settings is now

highlighted.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

Holiday Quota 20

Holiday Quota

Enables the administrators to

access and change the

maximum amount of days

staff members are allowed off.

Default Value

Set as 20 as the current

maximum quota at Nexus

Graphics is 20 days.

Please enter the total amount of holidays that James is allowed off

Assistance

Simple instructions to inform

the user what this field does.

Personalisation

Uses the current employee’s

name to show that this

Holiday Quota is linked to the

employee.

User Interactions

Reference Interactions Comments / Options

1 Holiday Quota User enters the maximum number of days allowed for holidays.

Format

Reference Description Colour (Hex) Typeface Size Other

1 Text Fields 408cc0 Helvetica (000000) 12 -

Computing Project | Thomas Davies 15

Page 23: A-Level Computing Project

Reports

Holiday

!

Nexus - Staff Holiday System

EmployeeID 1

James Smith

[email protected]

11days left

Holiday

hID Start Finish Total

Sick Day

sID Start Finish Total

1 12/11/2008 12/11/2008 1 sID 01/11/2008 02/11/2008 2

2 07/09/2008 08/09/2008 2 sID 20/06/2008 21/06/2008 2

3 20/07/2008 23/07/2008 4 sID - - -

4 01/07/2008 01/07/2008 1 sID - - -

5 10/01/2008 10/01/2008 1 sID - - -

1

2

3

4

5

Days Left

Field is more prominent than

others. Will go red if employee

goes over quota.

Date 03/11/2008

Current Date

Shows date of pr intout.

Makes sure employees know

what document is up-to-date.

Employee Table

Provides information about the

employee at the top of their

section.

Holiday Table

Displays the next 5 holidays

for that employee.

SickDays Table

Displays the last 5 sick days

for that employee.

21

Sources Field Type

Employee Table -

Holiday Table -

SickDay Table -

Format

Reference Description Colour (Hex) Typeface Size Other

1 Text Fields 979f9f Helvetica (000000) 12 -

2 Text Field 979f9f Helvetica (ff0000) 18 Bold

Computing Project | Thomas Davies 16

Page 24: A-Level Computing Project

Scripts and FunctionsTo make the system fully functional, scripts and functions have been implemented. This is due to the fact that certain

features are lacking in the FileMaker Pro software.

Calculation between two dates6

Let ( [

neg = Case ( date1 > date2; -1; 1 );

d1 = Case ( neg < 0; date2; date1 );

d2 = Case ( neg < 0; date1; date2 );

d = Mod ( Day ( d2 ) - Day ( d1 ); Day (

Date ( Month ( d1 ) + 1; 0; Year ( d1 ) ) ) );

m = Mod ( Month ( d2 ) - Month ( d1 ) -

( Day ( d2 ) < Day ( d1 ) ); 12 );

y = Year ( d2 ) - Year ( d1 ) - ( ( Month ( d2 ) -

( Day ( d2 ) < Day ( d1 ) ) ) < Month ( d1 ) )

];

y * neg & ¶ &

m * neg & ¶ &

d * neg & ¶ &

y & " years, " & m & " months, and " & d & " days" & ¶

)

CompleteBooking

If [Holiday::Authorisation = “Yes”]

Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been authorised.”]

End If

If [Holiday::Authorisation = “No”]

Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been rejected.

Please choose another date, or email me to discuss the issue”]

Delete Portal Row [No dialog]

End If

Refresh Window [Flush cached join results]

ii. Intended BenefitsThe main benefit that the end user will receive following the implementation of this system will be the increased pace that a

holiday can be requested and sanctioned. The old system was using three different applications to solve one problem. Using

Excel to maintain the information, while using iCal to look at certain dates, and finally Apple Mail to inform the employee

either that they have been successful or not. However, with the new system, all this can be managed in FileMaker, and the

emailing system will be achieved from just one click of a button. The overall increase in speed will allow the company to

focus on more important tasks, such as working with clients.

Furthermore, the new system will allow the end user to maintain control over the employees’ holidays. The user interface has

been designed to show the important information more prominently in both input screens and print-outs. When viewing

details on employees, the most prominent piece of information is the field containing how many days that employee can

request. With this being so visible, the end user will not have to waste much time in declining the request if the employee has

used up their holiday quota.

Computing Project | Thomas Davies 17

6 Winfried Huslik, 2006. Calculating the distance between two dates.

http://www.fmdiff.com/fm/agecalc.html [Accessed December 2007]

Page 25: A-Level Computing Project

The system to be implemented will also involve the employees more. Rather than trying to get in contact with Justin

Huckfield to see if they can have a holiday - which can be difficult as many meetings take place at the client’s offices - they

can simply request it in the system, and wait until Justin Huckfield sanctions or declines the holiday request. Moreover, if the

employee enters the request into the system, Justin Huckfield will have less work to do.

iii. Limitations

Project

Even though the company only has 6 employees, significant staff expansion could be an issue for the system. One

requested feature was that no two employees could have the same day off. However, taking into account bank holidays,

Nexus Graphics could only employ 11 more members of staff before this could become an issue. Methods of solving this

could be either removing the warning system, or alter their working practise and allow two employees to have the same day

off.

As the company is quite mobile throughout the working day, it would have been good to implement a web-entry feature for

the system. However, this feature is only available in the latest versions of Filemaker Pro, and Nexus Graphics maintain an

older version, so therefore it will not be possible. Yet, it will still be possible and adequate to complete the holiday requests

over the company network in their office.

File Size

Employee Table Holiday Table SickDay Table

Field Name Field Size Comments Field Name Field Size Comments Field Name Field Size Comments

EmployeeID 2 - HolidayID 2 - SickDayID 2 -

FirstName 20 - EmployeeID 2 - EmployeeID 2 -

Surname 20 - Start 8 - Start 8 -

Email 50 - Finish 8 - Finish 8 -

DaysLeft 2 - TotalDays 2 - TotalDays 2 -

Authorisation 1 bit 1 byte

Total

(Record)

94 Adds all Field Sizes

Total

(Record)

23 Adds all Field Sizes

Total

(Record)

22 Adds all Field Sizes

Sub-Total

(File)

1880 Multiple by 20 (Staff Max)

Sub-Total

(File)

9200 Multiple by 20 (Holiday) & 20 (Staff)

Sub-Total

(File)

4400 Multiple by 10 (Leave) & 20 (Staff)

Extras 180 Add 10% for extras

Extras 920 Add 10% for extras

Extras 440 Add 10% for extras

Total (File) 2060 bytes - Total (File) 10120 byte - Total (File) 4840 bytes -

Total

(Maximum)

16.7 kilobytes

Computing Project | Thomas Davies 18

Page 26: A-Level Computing Project

Software Development, Testing & Implementation

i. Development and Testing

Software DevelopmentThe solution to the problem was created in the multi-platform software application,

FIleMaker Pro. It was developed using Mac OS X. The database management tool can run

on both Windows and Mac OS X, and is therefore perfect for Nexus Graphics, even though

Mac OS X is their main choice of operating systems.

Relationships

Relationship

The Employee to SickDays

table is a One to Many

relationship.

Relationship

The Employee to Holiday table

is a One to Many relationship.

Help Page

This is not linked to any other

table as it only holds textual

information on using the

system, and therefore needs

no i n te rac t i on w i th t he

database.

Computing Project | Thomas Davies 19

Page 27: A-Level Computing Project

Table Designs

Employee Table

Auto-enter Data

Default value is 20 days, as

this is the current amount.

Auto-enter Data

Provides an example email

address to ensure the user

knows how to enter the email

address.

Maximum Value

20 characters maximum for

the FirstName and Surname

fields.

Calculated Field

DaysLeft field is a calculation,

and utilises the Calculation

between two dates script.

Holiday Table

4-Digit Year Date

To ensure data is entered

correctly, the system requires

users to enter the Year in a 4-

digit format. This is to make

sure the calculations are

performed correctly.

Calculated Field

TotalDays field is a calculation,

and utilises the Calculation

between two dates script.

Message

Provides a message to inform

users when they have entered

the data incorrectly.

Value List

Uses the Authorisation Value

list. Makes sure only correct

data is entered.

Computing Project | Thomas Davies 20

Page 28: A-Level Computing Project

SickDays Table

4-Digit Year Date

To ensure data is entered

correctly, the system requires

users to enter the Year in a 4-

digit format. This is to make

sure the calculations are

performed correctly.

Calculated Field

TotalDays field is a calculation,

and utilises the Calculation

between two dates script.

Message

Provides a message to inform

users when they have entered

the data incorrectly.

Value Lists

Authorisation

Custom Values

These are values which are

not set through calculations in

the system itself. They are

predefined values

Values

This Value List has only 2

values; ‘Yes’ and ‘No’. This is

to ensure only correct data is

entered into the Authorisation

field on the Holidays table.

Computing Project | Thomas Davies 21

Page 29: A-Level Computing Project

Scripts and Functions

Calculation between two dates

This is a custom function from Winfried Huslik, and was therefore not included in the standard set of FileMaker Pro functions.

The function allows for the system to calculate between two dates, which is key for understanding how many days a certain

employee has had off.

Parameters

Start and Finish are the

parameters for this function.

Works with both the Holidays

and SickDays tables.

Days

The Month and Year part of

the function remain if they are

needed in the future. However,

the function will only calculate

the number of days passed.

Computing Project | Thomas Davies 22

Page 30: A-Level Computing Project

CompleteBooking

Delete Portal Row

If the request is not allowed,

then the system will email the

employee, and delete that

request from the system.

Authorisation Granted

If the request is allowed, then

an email will be sent to the

employee informing them that

t h e h o l i d a y h a s b e e n

sanctioned.

Find Employee

Find Mode

Enters the Find Mode for the

Employee page. Any field that

is editable, is also findable on

this screen.

New Window

Opens a new window, so that

the user can still utilise the

da ta f rom the p rev ious

window.

Computing Project | Thomas Davies 23

Page 31: A-Level Computing Project

New Employee

New Record

Enters the New Record mode

for the Employee page, so that

a new employee could be

added to the database.

New Window

Opens a new window, so that

the user can still utilise the

da ta f rom the p rev ious

window.

Print

Perform Find

Discovers the information

needed from the database for

the printout.

New Window

Opens a new window, so that

the user can still utilise the

da ta f rom the p rev ious

window.

Enter Preview Mode

So the user can see what the

printout will look like.

Print

Prints out the information, after

the user has finalised the

script.

Computing Project | Thomas Davies 24

Page 32: A-Level Computing Project

Report

New Window

Opens a new window, so that

the user can still utilise the

da ta f rom the p rev ious

window.

Enter Preview Mode

So the user can see what the

printout will look like.Send Mail

Adds the PDF file to the email,

and sends to all employees.

This is done by using the

addresses in the email field.

Save as PDF

Following the creation of the

file, it is automatically saved as

a PDF for email usage.

Backup

Copy

Creates a pure copy of the

system at the time of backup.

The file is called ‘OldSystem’

a n d i s s a v e d i n t o t h e

Documents folder.

Computing Project | Thomas Davies 25

Page 33: A-Level Computing Project

Form Designs

Employee (Holidays)

Se

lec

ted

Ta

b

Ho

lid

ays

is

cu

rre

ntl

y th

e

sele

cte

d

tab

, and

there

fore

show

s

all

the

holid

ays

th

at

Nath

an L

aw

is h

avi

ng.

Au

tho

risa

tio

n

All

of

Nath

an Law

’s holid

ays

ha

ve

b

ee

n

all

ow

ed

, a

nd

there

fore

th

ey have

not

been

dele

ted

fro

m t

he d

ata

base.

Da

ys L

eft

Show

s th

e

user

that

Nath

an

Law

has

6

d

ays

le

ft

of

his

cu

rre

nt

ho

lid

ay

qu

ota

.

Calc

ula

ted

with

in

form

atio

n

from

th

e T

ota

l D

ays

fie

ld a

nd

the T

ota

l H

olid

ay

field

(S

ett

ings

tab

).

Ho

lid

ay T

ab

le

Th

is

is

all

the

ho

lid

ay

info

rmation

fr

om

th

e

Holid

ay

Tab

le, re

lating t

o N

ath

an L

aw

.

Em

ail

Info

rmation u

sed

to e

mail

sta

ff

directly

from

the s

yste

m.

Em

plo

ye

e T

ab

le

This

is a

ll th

e e

mp

loye

e in

form

ation

fro

m t

he E

mp

loye

e

Tab

le, re

lating t

o N

ath

an L

aw

.

Complete

Used

when

the

end user

has

decid

ed

wh

eth

er

a

ho

liday

should

be a

llow

ed

. B

egin

s t

he

Com

ple

teB

ookin

g s

crip

t.

Computing Project | Thomas Davies 26

Page 34: A-Level Computing Project

Employee (Over the limit)

Se

lec

ted

Ta

b

Ho

lid

ays

is

cu

rre

ntl

y th

e

sele

cte

d

tab

, and

there

fore

show

s

all

the

holid

ays

th

at

Nath

an L

aw

is h

avi

ng.

Au

tho

risa

tio

n

All

of

Nath

an Law

’s holid

ays

ha

ve

b

ee

n

all

ow

ed

, a

nd

there

fore

th

ey have

not

been

dele

ted

fro

m t

he d

ata

base.

Da

ys L

eft

Show

s th

e

user

that

Nath

an

Law

has

gone o

ver

his

quota

.

This

info

rmation is

hig

hlig

hte

d

in

red

to

em

ph

asis

es

this

info

rmation.

Calc

ula

ted

with

in

form

atio

n

from

th

e T

ota

l D

ays

fie

ld a

nd

the T

ota

l H

olid

ay

field

(S

ett

ings

tab

).

The r

eason g

oin

g o

ver

the

lim

it

is allo

wed

is d

ue

to

th

e fa

ct

that

em

plo

yees

can

w

ork

in

weekend

s,

and t

here

fore

have

extr

a d

ays

off.

Ho

lid

ay T

ab

le

Th

is

is

all

the

ho

lid

ay

info

rmation

fr

om

th

e

Holid

ay

Tab

le, re

lating t

o N

ath

an L

aw

.

As

show

n,

Nath

an

Law

has

gone o

ver

his

usual q

uota

.

Em

ail

Info

rmation u

sed

to e

mail

sta

ff

directly

from

the s

yste

m.

Em

plo

ye

e T

ab

le

This

is a

ll th

e e

mp

loye

e in

form

ation

fro

m t

he E

mp

loye

e

Tab

le, re

lating t

o N

ath

an L

aw

.

Computing Project | Thomas Davies 27

Page 35: A-Level Computing Project

Employee (Sick Days)

Se

lec

ted

Ta

b

Sic

k

Days

is

cu

rren

tly

the

sele

cte

d

tab

, and

there

fore

show

s all

the

sic

k

days

th

at

Nath

an L

aw

has h

ad

off.

Da

ys L

eft

Show

s th

e

user

that

Nath

an

Law

has

6

d

ays

le

ft

of

his

cu

rre

nt

ho

lid

ay

qu

ota

.

Calc

ula

ted

with

in

form

atio

n

from

th

e T

ota

l D

ays

fie

ld a

nd

the T

ota

l H

olid

ay

field

(S

ett

ings

tab

).

As s

how

n,

the s

ick

days

that

Nath

an L

aw

has h

ad

off d

oes

not

effect

how

m

any

days

he

has le

ft for

holid

ays

.

Sic

kD

ay T

ab

le

Th

is

is

all

the

sic

k

da

ys

info

rmation

fr

om

th

e S

ickD

ay

Tab

le, re

lating t

o N

ath

an L

aw

.

Em

ail

Info

rmation u

sed

to e

mail

sta

ff

directly

from

the s

yste

m.

Em

plo

ye

e T

ab

le

This

is a

ll th

e e

mp

loye

e in

form

ation

fro

m t

he E

mp

loye

e

Tab

le, re

lating t

o N

ath

an L

aw

.

Computing Project | Thomas Davies 28

Page 36: A-Level Computing Project

Employee (New Employee)

De

fau

lt D

ays L

eft

As

20

days

is

the

curr

ent

holid

ay

quota

, th

e s

yste

m h

as

that

as t

he d

efa

ult v

alu

e.

De

fau

lt T

ab

Holid

ays is a

lways t

he f

irst

tab

to b

e s

een,

as t

he m

ajo

rity

of

the w

ork

will

be

done w

ith t

his

tab

le.

Em

plo

ye

eID

As th

e E

mp

loyeeID

is

set

by

the s

yste

m,

is it

un-e

ditab

le b

y

the u

sers

to e

nsure

it is a

lways

uniq

ue.

Em

ail

Pro

vid

es

an

exam

ple

em

ail

ad

dre

ss

to

ensure

th

at

the

user

und

ers

tand

s t

he form

at.

Computing Project | Thomas Davies 29

Page 37: A-Level Computing Project

Employee (Find Mode)

Da

ys L

eft

This

fie

ld i

s n

ot

searc

hab

le,

as

it p

rovid

es

p

oo

r searc

hin

g

cap

ab

ility

.

Po

rta

l

The

majo

rity

of

field

s in

th

e

port

al can

als

o b

e u

sed t

o f

ind

info

rmation.

Fin

din

g

The b

est

way

to f

ind a

sp

ecifi

c

em

plo

yee is

in t

he F

ind M

od

e.

Pro

vid

es

the

ab

ility

to

searc

h

wit

h

an

y

fie

ld,

eve

n

the

FirstN

am

e,

if th

e E

mp

loyeeID

is u

navaila

ble

.

Computing Project | Thomas Davies 30

Page 38: A-Level Computing Project

Employee (Settings)

Se

lec

ted

Ta

b

Se

ttin

gs

is

cu

rre

ntl

y th

e

sele

cte

d

tab

, and

there

fore

sh

ow

s

sett

ing

s

for

Nath

an

Law

.

Da

ys L

eft

Show

s th

e

user

that

Nath

an

Law

has

6

d

ays

le

ft

of

his

cu

rre

nt

ho

lid

ay

qu

ota

.

Calc

ula

ted

with

in

form

atio

n

from

th

e T

ota

l D

ays

fie

ld a

nd

the T

ota

l H

olid

ay

field

(S

ett

ings

tab

).

Se

ttin

gs

This

is

th

e

Holid

ayT

ota

l fie

ld

from

the E

mp

loye

e t

ab

le.

Em

ail

Info

rmation u

sed

to e

mail

sta

ff

directly

from

the s

yste

m.

Em

plo

ye

e T

ab

le

This

is a

ll th

e e

mp

loye

e in

form

ation

fro

m t

he E

mp

loye

e

Tab

le, re

lating t

o N

ath

an L

aw

.

Pe

rso

na

lisa

tio

n

Inclu

des h

is first

nam

e;

Nath

an

in t

he

Sett

ings p

age.

This

is to

ensure

that

the

user

sees t

he

link b

etw

een

Nath

an L

aw

and

the H

olid

ayT

ota

l fie

ld.

Computing Project | Thomas Davies 31

Page 39: A-Level Computing Project

Help / Settings

He

lp /

Se

ttin

gs B

utt

on

Th

e

bu

tto

n

is

co

lou

red

Ora

nge,

so

that

the user

can

ea

sil

y

rec

og

nis

e

- a

nd

dif

fere

nti

ate

fr

om

o

the

r

butt

ons

- w

here

the h

elp

page

is.

Ba

ck

up

Imp

lem

ents

the

Backup s

crip

t.

A sim

ple

w

ay

to b

ackup

th

e

syste

m.

One

clic

k

and

the

backup is

cre

ate

d a

nd

sto

red

in t

he D

ocum

ents

fold

er.

He

lp

Pro

vid

es

sim

ple

assis

tance o

n

scre

en,

and

answ

er

possib

le

qu

eri

es

w

he

re

the

syste

m

mig

ht

have

cert

ain

is

su

es.

Perf

ect

so

lutio

n

for

sim

ple

issu

es,

wit

ho

ut

ha

vin

g

to

waste

tim

e c

onsultin

g t

he u

ser

guid

e.

Computing Project | Thomas Davies 32

Page 40: A-Level Computing Project

Reports

Holiday

Current Date

Shows the date the printout

occurred.

Days Left

Much like in the Employee

form, the Days Left field is

highlighted by the larger font.

Will go Red if they have gone

over their holiday quota.

Employee Table

Provides information about the

employee at the top of their

section.

Holiday Table

Shows the next 5 up and

coming holidays that each

employee has.SickDays Table

Shows the last 5 sick days

that each employee has had.

Computing Project | Thomas Davies 33

Page 41: A-Level Computing Project

Access Rights

Admin

Fu

ll A

cc

ess

Can c

reate

/ d

ele

te /

ed

it d

ata

in t

he s

yste

m.

Ac

tive

This

acco

unt

can b

e used in

the s

yste

m.

Ac

co

un

t N

am

e

The a

cco

unt

nam

e is ‘

ad

min

Pa

ssw

ord

Hid

den fo

r security

.

Computing Project | Thomas Davies 34

Page 42: A-Level Computing Project

Employee

Employee Privilege Set

A custom set of privileges for

the employees.

Active

This account can be used in

the system.

Account Name

T h e a c c o u n t n a m e i s

‘employee’

Password

Hidden for security.

Employee Privilege Set

Employee Table

Only allowed to view the

Employee details.

Holiday & SickDays Table

Can view and Create holidays. Field Access

Able to see the fields.

Computing Project | Thomas Davies 35

Page 43: A-Level Computing Project

Testing

Standard Buttons

This section will test the standard menu buttons at the top of all input screens in the solution.

No. Description Data Input Expected Results Actual Results ✔ / ✗

1 Select the ‘New Employee’ button

Mouse Click Will create a new record Creates a new record ✔

2 Select the ‘Find Employee’ button

Mouse Click Will enter the find mode Enters the find mode ✔

3 Select the ‘Print Future Holiday’ button

Mouse Click Will print future holidays Prints future holidays ✔

4 Select the ‘E-mail Staff’ button Mouse Click Will e-mail staff with holidays PDF file

Emails staff with the PDF file ✔

5 Select the ‘Help / Settings’ button

Mouse Click Will go to the Help / Settings page

Goes to the Help / Settings page

Employee Details

Testing these fields will ensure that the Employee details section of the form works successfully.

No. Field Type Input Expected Results Actual Results ✔ / ✗

6 employeeID - Attempts to edit the field

Will display a message that the field is not editable

Disp lays a message stating that the field is not editable

7 FirstName Normal Steven Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

8 FirstName Erroneous 123 Will display a message stating that the data type entered is invalid

Displayed a message stating that the data type entered was invalid

9 FirstName Extreme Stevenqwertyuiopasdfg

Will display a message stating that the field can o n l y c o n t a i n 2 0 characters

Displayed a message stating that the field can o n l y c o n t a i n 2 0 characters

10 Surname Normal Davies Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

11 Surname Erroneous 123 Will display a message stating that the data type entered is invalid

Displayed a message stating that the data type entered was invalid

12 Surname Extreme Daviesqwertyuiopasdfg

Will display a message stating that the field can o n l y c o n t a i n 2 0 characters

Displayed a message stating that the field can o n l y c o n t a i n 2 0 characters

13 Email Normal [email protected]

Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

14 Email Erroneous stevendavies Will display a message stating that it requires an ‘@’ symbol

Displayed a message stating that it requires an ‘@’ symbol

15 Email Extreme [email protected]

Will display a message stating that the field can o n l y c o n t a i n 6 0 characters

Displayed a message stating that the field can o n l y c o n t a i n 6 0 characters

Computing Project | Thomas Davies 36

Page 44: A-Level Computing Project

No. Field Type Input Expected Results Actual Results ✔ / ✗

16 DaysLeft - Attempts to edit the field

Will not be editable Was editable ✗

17 DaysLeft Normal Enter a 2 day holiday in the Holidays tab

Will show the employee has 18 days left

Showed the employee had 18 days left

18 DaysLeft Erroneous Enter a 2 day sick leave in the Sick Days tab

W i l l n o t a f f e c t t h e DaysLeft field

D i d n o t a f f e c t t h e DaysLeft field

Holidays Tab

This section will test all the fields that are included in the Holidays tab which resides below the Employee details section.

No. Field Type Input Expected Results Actual Results ✔ / ✗

19 HoldayID - Attempts to edit the field

Will not be editable Was not editable ✔

20 Start Normal 14/04/2008 Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

21 Start Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example

Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example

22 Start Extreme 32/04/2008 Will display a message stating that the date is wrong

Displayed a message stating that the date was wrong

23 Finish Normal 14/04/2008 Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

24 Finish Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example

Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example

25 Finish Extreme 32/04/2008 Will display a message stating that the date is wrong

Displayed a message stating that the date was wrong

26 TotalDays - Enter a 2 day holiday in the Start and Finish fields

Will show the number ‘2’ Showed the number ‘2’ ✔

27 Authorisation - Selects ‘Yes’ and clicks ‘Complete’

Will send an email to the employee

Sent an email to the employee

28 Authorisation - Se l ec t s ‘No ’ and clicks ‘Complete’

Will delete the entry from the database and sends an email to the employee

Entry deleted from the database and sent an email to the employee

29 - - Two holidays start on the 15/05/2008

Will not allow the second entry to be stored.

Did not all the second entry to be stored.

Sick Days Tab

This section will test all the fields that are included in the Sick Days tab which resides below the Employee details section.

No. Field Type Input Expected Results Actual Results ✔ / ✗

30 SickDaysID - Attempts to edit the field

Will not be editable Was not editable ✔

Computing Project | Thomas Davies 37

Page 45: A-Level Computing Project

No. Field Type Input Expected Results Actual Results ✔ / ✗

31 Start Normal 14/04/2008 Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

32 Start Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example

Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example

33 Start Extreme 32/04/2008 Will display a message stating that the date is wrong

Displayed a message stating that the date was wrong

34 Finish Normal 14/04/2008 Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

35 Finish Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example

Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example

36 Finish Extreme 32/04/2008 Will display a message stating that the date is wrong

Displayed a message stating that the date was wrong

37 TotalDays - Enter a 2 day holiday in the Start and Finish fields

Will show the number ‘2’ Showed the number ‘2’ ✔

Settings Tab

Testing this field will ensure that the calculations in the solution work successfully.

No. Field Type Input Expected Results Actual Results ✔ / ✗

38 HolidayTotal Normal 20 Will allow the input and it will be stored in the database

Allowed the input and it w a s s t o r e d i n t h e database

39 HolidayTotal Erroneous ABC Will display a message stating that the data type entered is invalid

Did not display an error message

40 HolidayTotal Extreme 0 Will display a message stating that it has to be a positive number

Displayed a message stating that it has to be a positive number

Access Rights

This section will test the access rights, and their restrictions.

No. Field Type Input Expected Results Actual Results ✔ / ✗

41 - Normal User: adminPassword: nexus

Will allow the user to access and edit all the data.

Al lowed the user to access and edit all the data.

42 - Erroneous User: adminPassword: wrong

Will not allow the user to access the system.

Did not allow the user to access the system.

43 - Normal User: employeePassword: nexus

Will allow the user to access and edit some of the data.

Al lowed the user to access and edit some the data.

44 - Erroneous User: employeePassword: wrong

Will not allow the user to access the system.

Did not allow the user to access the system.

Computing Project | Thomas Davies 38

Page 46: A-Level Computing Project

Timing

These tests will ensure that the system is fast to use.

No. Field Type Input Expected Results Actual Results ✔ / ✗

45 Start & Finish Normal Start: 12/11/2008Finish: 14/11/2008

Will take less than 1 minute to complete

C o m p l e t e d i n 1 8 seconds.

46 Authorisation Normal ‘Yes’ Will take less than 1 minute to complete

C o m p l e t e d i n 1 0 seconds.

Comments

All the tests were completed successfully apart from two; 16 and 28. However, following the testing phase, these two issues

were resolved.

The failure of test 16 informed me that the DaysLeft field was editable. If this was not traced, then this could have had huge

effects on the success of the system. This is because anyone could have edited it and changed how many days they were

entitled to. To resolve this issue, I altered the settings for that field, locking it, and only allowing calculations to change the

content of the field.

The issue with test 39 was not as major as test 16, however it did compromise the usability of the system. By allowing non-

numerical characters into the field, the system would be unable to calculate the holiday quota correctly, and without an error

message meant that the user would not have been informed about the error. The problem was resolved, once again, by

altering the field settings, ensuring that an error message is displayed in the case of a user entering the wrong data type.

Computing Project | Thomas Davies 39

Page 47: A-Level Computing Project

Testing Evidence

1 - New Employee button 2 - Find Employee button

Selected

New Employee is the selected

button.

New Record

T h e N e w R e c o r d p a g e

b e c o m e s v i s i b l e a f t e r

selection.

Selected

Find Employee is the selected

button.

Find Mode

The Find Mode becomes

visible after selection.

3 - Print Future Holidays button 4 - E-mail Staff button

Selected

Print Future Holidays is the

selected button.

Print Future Holidays

A preview and the print setup

b e c o m e s v i s i b l e a f t e r

selection.

Selected

E-mail Staff is the selected

button.

E-mail Staff

The Mail.app program opens

with the Holidays attachment

and the employees’ email

addresses included.

5 - Help / Settings button 6 - EmployeeID field

Selected

Help / Settings is the selected

button.

Help / Settings

The Help / Settings window

b e c o m e s v i s i b l e a f t e r

selection.

Editing

A t t e m p t s t o c h a n g e

EmployeeID to 12

Message

System does not all this field

to be edited

Computing Project | Thomas Davies 40

Page 48: A-Level Computing Project

7 - FirstName field 8 - FirstName field

FirstName

Successfully added ‘Steve’ as

the first name

FirstName

Erroneous data entered into

the field.

Error Message

An error message informs the

user of the problem.

9 - FirstName field 10 - Surname field

FirstName

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

Surname

Successfully added ‘Davies’

as the surname

11 - Surname field 12 - Surname field

Surname

Erroneous data entered into

the field.

Error Message

An error message informs the

user of the problem.

Surname

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

Computing Project | Thomas Davies 41

Page 49: A-Level Computing Project

13 - Email field 14 - Email field

Email

S u c c e s s f u l l y a d d e d

‘stevendavies@nexusgraphics.

co.uk’ as the email address

Email

Erroneous data entered into

the field.

Error Message

An error message informs the

user of the problem.

15 - Email field 16 - DaysLeft field

Email

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

DaysLeft

Attempts to edit the field.

Editable

This field is editable.Test F

ailed

17 - DaysLeft field 18 - DaysLeft field

DaysLeft

Shows that the employee has

18 days left

Holiday

The holiday lasts for 2 days

DaysLeft

Does not affect field

Sick Leave

The sick leave lasts for 2 days

Computing Project | Thomas Davies 42

Page 50: A-Level Computing Project

19 - HolidayID field 20 - Start field

Not editable

This field is unable to be

edited.

Start

S u c c e s s f u l l y a d d e d

‘14/04/2008’ as the start date

21 - Start field 22 - Start field

Start

Erroneous data entered into

the field.

Error Message

An error message informs the

user of the problem.

Start

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

23 - Finish field 24 - Finish field

Finish

S u c c e s s f u l l y a d d e d

‘14/04/2008’ as the start date

Finish

Erroneous data entered into

the field.

Error Message

An error message informs the

user of the problem.

Computing Project | Thomas Davies 43

Page 51: A-Level Computing Project

25 - Finish field 26 - TotalDays field

Finish

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

Holiday

A two day holiday break.TotalDays

Displays 2 days holiday.

27 - Authorisation field 28 - Authorisation field

Email

An emai l is sent to the

employee.

Authorisation

Permission has been granted. Email

An emai l is sent to the

employee.

Authorisation

Permission has not been

granted.

Record

The record has now been

deleted from the database.

29 - Unique Holidays 30 - SickDaysID field

Same Date

The Start field contains the

same date.

Error Message

An error message informs the

user of the problem.

Not editable

This field is unable to be

edited.

Computing Project | Thomas Davies 44

Page 52: A-Level Computing Project

31 - Start field 32 - Start field

Start

S u c c e s s f u l l y a d d e d

‘14/04/2008’ as the start date

Start

Erroneous data entered into

the field.

Error Message

An error message informs the

user of the problem.

33 - Start field 34 - Finish field

Start

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

Finish

S u c c e s s f u l l y a d d e d

‘14/04/2008’ as the start date

35 - Finish field 36 - Finish field

Error Message

An error message informs the

user of the problem.

Finish

Erroneous data entered into

the field.

Finish

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

Computing Project | Thomas Davies 45

Page 53: A-Level Computing Project

37 - TotalDays field 38 - HolidayTotal field

Holiday

A two day holiday break.TotalDays

Displays 2 days holiday.

Quota

Successfully added ‘20’ as the

quota.

39 - HolidayTotal field 40 - HolidayTotal field

Quota

Erroneous data entered into

the field.

Error Message

No error message is displayed.

Test F

ailed

Quota

Extreme data entered into the

field.

Error Message

An error message informs the

user of the problem.

41 - Admin Access 42 - Admin Access

Sign In

U se r s i gn s i n w i t h t he

Administration details.

Access Allowed

Allowed access to all of the

system.

Sign In

User signs in with the wrong

Administration details.

Access Denied

Not allowed access to the

system.

Computing Project | Thomas Davies 46

Page 54: A-Level Computing Project

43 - Employee Access 44 - Employee Access

Sign In

U se r s i gn s i n w i t h t he

Employee details.

Access Allowed

Allowed access to some of the

system.

Sign In

User signs in with the wrong

Administration details.

Access Denied

Not allowed access to the

system.

45 - Start & Finish Timing 46 - Authorisation Timing

Time

Took less than 20 seconds to

complete.

Data Entry

Entered the Start & Finish

date.

Time

Took 10 seconds to complete.

Data Entry

Authorisation has been given.

Computing Project | Thomas Davies 47

Page 55: A-Level Computing Project

ii. Implementation

Alternative MethodsThere are many differing implementation methods that could be undertaken for this project.

Solution Advantages Disadvantages

Parallel Running Issues with the new system can be resolved.Have the fall back of the old system.

Two systems have to be used for a time period.Could be difficult for staff to understand.Solution needed to allow the two systems to interoperate.

Phased Implementation

There is time to make adjustments.Staff have more time to adapt to new solution.Issues at the start can be resolved.

The process is very slow and time consuming.Could be difficult for staff to understand.Different parts of both systems are being used.Solution needed to allow the two systems to interoperate.

Pilot Running Good for large organisations in many locations.Only certain locations effected if problems occur.Other locations can continue successfully.

Nexus only has one location.Not enough staff for this to be effective.Solution needed to allow the two systems to interoperate.

Direct Changeover Only one day to changeover.Easy for staff to know when it will happen.Will not have to create a solution to use both systems at the same time.

Not much time for alterationsVery complex to turn off old and new one on.Hard to implement plans if things go wrong.

The chosen implementation for this project will be direct changeover. The other possible methods were considered however

for the size of the organisation concerned and the type of solution, direct changeover was the best answer. It was not

feasible to implement a pilot running scheme as with only 6 employees it would have been ludicrous to expect the company

to have the upheaval of a new solution more than once. For both phased and parallel running I would have had to create a

solution to enable both systems could run together, which would have put extra pressure on the completion of the project.

Implementation

Gantt Chart

Tasks Duration (Days) Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8

Installation ½

Add data files ½

Make adjustments 2

Show manager 1

User training 1

Break 4½

Solve issues 1

Changeover ½

Installation

• Visit Nexus Graphics’ office.

• Install the completed solution.

Add data files

• Backup the data files.

• Migrate the data from the old system onto the new solution.

Computing Project | Thomas Davies 48

Page 56: A-Level Computing Project

Make Adjustments

• Alter system settings if required.

• Alter the solution to ensure it works perfectly with the company notebooks.

Show Manager

• Introduce the system to Justin (Manager).

• Demonstrate it for them.

• Make sure he uses the system, with the assistance of the user guide.

User Training

• Completed after introduction to the manager.

• Employees begin to use the system.

• Has guidance from the training documentation and the user guide.

Break

• Leave the company for a week.

• Allows the company to work with the system.

• Ensures they fully understand the system.

• User guide is available if they have any trouble.

Solve Issues

• Return from the week break.

• Answer questions from the employees.

• Solve any issues they have.

Changeover

• Company signs off the solution.

• States that they are satisfied with the end result.

User TrainingTo ensure that the employees are able to use the system effectively, a testing strategy was planned. I considered many

factors when creating a testing plan, such as their prior experience with the software, their background in the industry, and

the time available. For such a small organisation, I believe that the training should occur over a day. This is due to the fact

that the employees have a great knowledge of FileMaker Pro and are advanced computer users, therefore I feel that a simple

task sheet will allow them to fully understand the solution.

Computing Project | Thomas Davies 49

Page 57: A-Level Computing Project

iii. Exploitation of available facilities

Software

FileMaker Pro

The FileMaker Pro software was very adequate in completing the solution, even though the application was tough to design

the solution. FileMaker Pro differs considerable from other database applications that I have used previously. Due to this I

spent a considerable amount of time learning the system by watching online video tutorials7 on the official site. Furthermore,

I was using version 9 of the software, while Nexus Graphics was using version 4, however, they assured me during

development that they would be upgrading to the latest version. We did however, attempt to run the solution in version 4, yet

it would have required a different file format that could have distorted the database, so we opted against this choice.

Compatibility FileMaker Pro 4 FileMaker Pro 9

Windows Vista ✗ ✔

Mac OS X Tiger ✔ ✔

Mac OS X Leopard ✗ ✔

Windows Vista

During the creation of the solution there were no issues with it running successfully on Windows Vista as I was using

FileMaker Pro 9. However, there was documentation8 from FileMaker that stated that they would only ensure Windows Visa

support for FileMaker Pro 8.5 and above. This could have been a major setback for the project, however Nexus Graphics’

promise to upgrade to the latest version of FileMaker Pro allowed the completion of the solution to continue. Even though I

used Mac OS X Leopard to create the solution, I constantly tested the system on Windows Vista to ensure that it would

work in the Windows environment.

Mac OS X Leopard

Much like the problems with Windows Vista, the release of Mac OS X Leopard in October 2007 was also plagued with

compatibility issues. FileMaker Pro 9 was not running efficiently on Leopard - which was one of Nexus Graphics’ reasons to

not upgrade FIleMaker Pro at that time - until FileMaker released an update in December 20079, ensuring solid compatibility.

Moreover, FileMaker documentation stated that software versions before FileMaker Pro 8.5 would not be supported on

Leopard, which like Windows Vista support could also have been a problematic issue.

Computing Project | Thomas Davies 50

7 FileMaker, 2007. FileMaker Video Tutorials.

http://www.filemaker.com/products/fmp9/video_tutorials.html [Accessed March 2008]

8 FileMaker, 2007. Windows Vista Support.

http://www.filemaker.com/developers/resources/vista.html [Accessed March 2008]

9 FileMaker, 2007. Mac OS X Leopard Support.

http://www.filemaker.com/support/leopard.html [Accessed March 2008]

Page 58: A-Level Computing Project

Hardware

Apple Notebooks

Their current hardware has been more than satisfactory during the creation of this solution. The MacBooks used by the

Nexus Graphics’ employees have by far exceeded the minimum requirements set out by FileMaker for their database

application. Their ability to also run Windows Vista as well, also helped me when checking the FileMaker Pro requirements as

I only had to review specifications of a few notebooks.

MacBook Air

Upon the introduction of the MacBook Air in January 2008, I had to ensure that this notebook could run the solution

efficiently. In terms of hardware specifications, the MacBook Air can easily run the completed solution. However, as the

notebook does not contain a disc drive, the installation of the FileMaker Pro application had to be completed using the

Remote Disc feature. This feature allows the user to utilise the optical drive of another machine to install the software on the

MacBook Air10.

Set up Remote Disc on a

nearby Mac or PC.

Select a nearby Mac or PC

with an optical drive. On

that computer, install the

Remote Disc Setup software

(found on the supplied Mac

OS X Install DVD). It is now

permanently enabled for

Remote Disc.

Insert the software disc

you want to install.

Insert the DVD containing

the software you want to

install on MacBook Air into

the optical drive of the

Remote Disc-enabled Mac

or PC.

Install the software on MacBook Air.

In the Finder on MacBook Air, under Devices, select the icon that

says Remote Disc. Click on the computer you enabled, and then

double-click to open the software DVD. Now proceed with the

installation just as if you had a built-in optical drive.

Computing Project | Thomas Davies 51

10 Apple, 2008. Apple - MacBook Air - Wireless.

http://www.apple.com/macbookair/wireless.html [Accessed March 2008]

Page 59: A-Level Computing Project

Documentation

i. Technical Guide

Computing Project | Thomas Davies 52

Technical Documentation

Staff Holiday System

2008

Page 60: A-Level Computing Project

Computing Project | Thomas Davies 53

Table of ContentsEntity-Relationship Diagram! 2

Entity Life Histories ! 3

Employee! 3

Holiday! 3

SickDay! 3

Relationships! 4

Table Designs! 4

Employee Table! 4

Holiday Table! 5

SickDay Table! 5

Software & Hardware Requirements ! 6

Printer Requirements! 6

Form Designs! 6

Standard Header! 6

Employee Form! 7

Over the Quota! 8

SickDay Tab! 8

Settings Tab! 9

Reports ! 10

Holiday! 10

Scripts and Functions ! 10

Calculation between two dates ! 10

CompleteBooking! 11

File Size! 11

Technical Documentation! 1

Page 61: A-Level Computing Project

Computing Project | Thomas Davies 54

Entity-Relationship Diagram

This Entity-Relationship Diagram is using the Peter Chen notation to represent the relationships of this database.

Employee

Holiday

Reserves

SickDay

Confirms

FirstName

Surname

Email

DaysLeft

EmployeeID

EmployeeID

Start

Finish

TotalDays

SickDayID

EmployeeID

Start

Finish

TotalDays

HolidayID

Authorisation

m

1

m

1

Employee Confirms EmployeeID StartSickDayID

Key

Entity Relationship Primary Key Foreign Key Attribute

HolidayTotal

Technical Documentation! 2

Page 62: A-Level Computing Project

Computing Project | Thomas Davies 55

Entity Life Histories

Employee

Employee

Creation Life Deletion

Holiday ! Sick Leave ! Details Change !

Request * Return to Work *

Accept ! Decline !

Contact Manager * Return to Work *

Holiday

Holiday

Creation Life Deletion

Request * Complete Holiday *

Accept ! Decline !

SickDay

SickDay

Creation Life Deletion

Contact Manager * Return to Work *

Technical Documentation! 3

Page 63: A-Level Computing Project

Computing Project | Thomas Davies 56

Relationships

Employee

EmployeeID

FirstName

Surname

Email

DaysLeft

Holiday

HolidayID

EmployeeID

Start

Finish

TotalDays

Authorisation

SickDay

SickDayID

EmployeeID

Start

Finish

TotalDays

Table Designs

Employee Table

Field Name Field Type Validation Example Origin Use

EmployeeID Number Serial Number on creation.

Increments from “1”. Required

value. Unique, numeric values

only.

01 Automatic following

the entering of

Employee details

Automatically

generated

identification

FirstName Text Required value: Message (If not

completed): “Please enter the First

Name of the employee”

Jason Entering it in the

Employee details form

First name of the

employee

Surname Text Required value: Message (If not

completed): “Please enter the

Surname of the employee”

Smith Entering it in the

Employee details form

Surname of the

employee

Email Text Auto-entered example data:

[email protected]”.

Required value: Message (If not

completed): “Please enter the

email of the employee”

jasonsmith@n

exusgraphics.

co.uk

Entering it in the

Employee details form

Email address of the

employee. Will send

employee an email

whether holiday was

authorised or not

DaysLeft Calculation

(Number)

User not allowed to enter data.

=Settings::HolidayTotal - Sum

( Holiday::TotalDays )

20 Calculation between

the TotalDays

(Holiday) and Quota

(Settings)

Shows how many

days are left in an

employee’s quota

HolidayTotal Number Auto-entered data: “20” 20 Automatic entry of

‘20’. Can be altered

by changing the

details

To complete the

calculation of how

many days the

employee is allowed

Technical Documentation! 4

Page 64: A-Level Computing Project

Computing Project | Thomas Davies 57

Holiday Table

Field Name Field Type Validation Example Origin Use

HolidayID Number Serial Number on creation.

Increments from “1”. Required

value. Unique, numeric values only.

01 Automatic following

the entering of Holiday

details

Automatically

generated

identification

EmployeeID Number Takes data from the Employee

table.

01 From the Employee

Table. Foreign Key

Links Holiday record

with an Employee

Start Date Required value: Message (If not

completed): “Please enter the first

day of the holiday”. Only allow

values of type: “4-Digit Year Date”

11/01/2008 Entered by selecting

date on a Calendar

pop-up in the Holiday

portal on Employee

form

Shows the first day

of the holiday

Finish Date Required value: Message (If not

completed): “Please enter the last

day of the holiday”. Only allow

values of type: “4-Digit Year Date”

15/01/2008 Entered by selecting

date on a Calendar

pop-up in the Holiday

portal on Employee

form

Shows the final day

of the holiday

TotalDays Calculation

(Number)

User not allowed to enter data. =

age ( Start ; Finish )

4 Calculating the total

length of the holiday

by using Start and

Finish. Uses the

Calculation between

two dates script

Shows the total

length of the holiday.

Used to calculate

DaysLeft (Employee)

Authorisation Boolean Select either “Yes” or “No” Yes Selecting it in the

Holiday portal on

Employee form

States whether

holiday is authorised.

Required to send

correct email

SickDay Table

Field Name Field Type Validation Example Origin Use

SickDayID Number Serial Number on creation.

Increments from “1”. Required

value. Unique, numeric values only.

01 Automatic following

the entering of

SickDay details

Automatically

generated

identification

EmployeeID Number Takes data from the Employee

table.

01 From the Employee

Table. Foreign Key

Links SickDay record

with an Employee

Start Date Required value: Message (If not

completed): “Please enter the first

day of the ill period”. Only allow

values of type: “4-Digit Year Date”

21/01/2008 Entered by selecting

date on a Calendar

pop-up in the SickDay

portal on Employee

form

Shows the first day

of sick leave

Finish Date Required value: Message (If not

completed): “Please enter the last

day of the ill period”. Only allow

values of type: “4-Digit Year Date”

21/01/2008 Entered by selecting

date on a Calendar

pop-up in the SickDay

portal on Employee

form.

Shows the final day

of sick leave

TotalDays Calculation

(Number)

User not allowed to enter data. =

age ( Start ; Finish )

1 Calculating the total

length of sick leave by

using Start and Finish.

Uses the Calculation

between two dates

script

Shows the total

length of sick leave

Technical Documentation! 5

Page 65: A-Level Computing Project

Computing Project | Thomas Davies 58

Software & Hardware Requirements

Mac OS X Windows Vista

Version 10.5 10.4.8 Ultimate, Business & Home

Processor Power PC G4 / G5

Intel-based

Power PC G3 / G4 / G5

Intel-based

800MHz 32-bit

RAM 512 MB 256 MB 512 MB

CD-ROM Drive ! ! !

Printer Requirements

HP DeskJet F4180

Type Multifunction Inkjet (Print, Scan & Copy)

Connection USB 2.0

Max Paper Size A4

Any standard inkjet printer will be suitable for this system.

Form Designs

Standard Header

There are several forms in this staff holiday system. While they all complete different tasks, many operations on the forms

produce similar actions. For example, these include the ‘Find Employee’ and ‘Print’ tasks. On all pages these will instigate a

search and document print respectively. These operations remain in the same place on all pages so that the users can grow

accustomed and habituate to the tasks. Therefore, a list of all common interactions included in the system are listed below.

Nexus - Staff Holiday System

New Employee Find Employee Print Future Hols Email Staff Help / Settings

1 2 3 4 5

6

User Interactions

Reference Interactions Comments / Options

1 Find Employee Enters Find Mode

2 New Employee Enters New Record Mode

3 Print Future Holidays Prints IndividualEmployee Report

4 Email Staff Emails employees with the holiday listings

5 Help / Settings Enters the Help Page

Format

Reference Description Colour (Hex) Typeface Size Other

1, 2, 3, 4 Buttons 408cc0 Helvetica (000000) 12 -

5 Buttons ff6600 Helvetica (000000) 12 Orange to highlight significance of Help

6 Header e7e7e7 Helvetica (185792) 24 -

Technical Documentation! 6

Page 66: A-Level Computing Project

Computing Project | Thomas Davies 59

Employee Form

This form will be edited by both employees and the end user, Justin Huckfield. The majority of the work in the system will

occur on this form. It will allow employees to request holiday periods, while allowing Justin Huckfield to either sanction or

deny the holiday request. For data entry, this is the only form that the employees will use. To maintain simplicity for the users,

this form will house both the employee details, as well as their individual holidays and sick days. Implementing the form in

such a manner will save users time and effort, as they do not have to edit multiple forms just to add a single holiday request.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

14days left

Holidays Sick DaysComplete

HolidayID Start Finish TotalDays Authorisation

1 12/11/2007

17/12/2007

31/12/2007

2

3

13/11/2007

20/12/2007

31/12/2007

1

4

1

Yes

Yes

Yes

Tabbed Menu

Conserves space, as Sick

Days will hardly be used.

Holidays set as the default tab.

Shows each possible form.

Portal

Ability to create / edit / delete

data from the Holidays and

Sick Days table. All this data is

related to the employee stated

above.

Days Left Field

Number is enlarged, so end

user can see easily how many

days are left. Will go red if they

have gone over their quota.

Uses the calculation between

two dates function.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

81 2

4 56

7

3

Sources Field Type

Employee Table Main Form

Holiday Table Portal (Subform)

SickDay Table Portal (Subform)

User Interactions

Reference Interactions Comments / Options

1 Holidays Shows the list of holidays that the employee has had. Can create / edit / delete data.

2 Sick Days Shows the list of sick days that the employee has had. Can create / edit / delete data.

3 Settings Shows the Settings page. Can edit the total amount of days that staff can have off.

8 Complete Implements the CompleteBooking Script.

Format

Reference Description Colour (Hex) Typeface Size Other

1, 2, 3 Tabs 408cc0 Helvetica (000000) 12 -

4 Labels 408cc0 Helvetica (000000) 12 Bold

5 Text Fields aaaaaa Helvetica (000000 or ff0000) 48 Red (ff0000) if employee is over quota

6, 7 Text Fields 408cc0 Helvetica (000000) 12 -

8 Button 408cc0 Helvetica (000000) 12 -

Technical Documentation! 7

Page 67: A-Level Computing Project

Computing Project | Thomas Davies 60

Over the Quota

This scenario is witnessed when an employee goes over their quota. To alert the user the Days Left field changes the text

colour to red, informed them that the employee has used up their holiday quota and a solution to this problem is required.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

-1days left

Holidays Sick DaysComplete

HolidayID Start Finish TotalDays Authorisation

1 12/11/2007

17/12/2007

1/1/2008

2

3

22/11/2007

20/12/2007

5/1/2008

11

4

6

Yes

Yes

Yes

Tabbed Menu

Holidays is highlighted as it is

the selected tab.

Days Left Field

Will go red if they have gone

over their quota. Uses the

calculation between two dates

to work this out.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

SickDay Tab

Selecting the Sick Days tab will change the contents of the portal on the form. It will find all relating sick leave about the

current employee and display them in the same format as holidays, except for Authorisation, which is not required for sick

leave. Illness will not affect the employee’s holiday quota, so therefore the Days Left field remains the same.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

14days left

Holidays Sick DaysComplete

SickDayID Start Finish TotalDays

1 12/11/2007

17/12/2007

31/12/2007

2

3

13/11/2007

20/12/2007

31/12/2007

1

4

1

Tabbed Menu

Sick Days is highlighted as it is

the selected tab.

Portal

Altered its content from the

default Holiday content as the

Sick Days tab has been

selected.

Days Left Field

This field is not affected by the

data in the Sick Days tab as

they do not count towards

holiday leave.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

No Authorisation

The Authorisation field is not

required as the employer does

not need to sanction sick

leave like they do for holidays.

Technical Documentation! 8

Page 68: A-Level Computing Project

Computing Project | Thomas Davies 61

Settings Tab

This form will be edited by the end user, Justin Huckfield. It is a very simple form to make sure that the user is not

overwhelmed with irrelevant setting for the system. The only setting that the administrators will need to update is the holiday

quota (The maximum amount of days allowed off for holiday), and therefore this option is set out very clearly. Only the

administrators will have access to this page as they are the ones who having the rights to update this setting, while the

employees are restricted from viewing this content. Allowing the administrators to update the holiday quota means that the

system is very scalable, and can change depending on the needs of the company.

This setting is unique to each employee to ensure that the quotas are fair. For example, it is unfair for an employee to join half

way through the year and receive 20 days off, as they should only have 10 days for the remaining second half of the year.

Furthermore, the company may introduce a loyalty scheme allowing staff members that have worked at Nexus Graphics for

a prolonged period of time to have higher quotas. This feature furthers the scalability of the solution, as it does not restrict

the company from introducing new policies concerning holiday leave.

Nexus - Staff Holiday System

EmployeeID 1

FirstName James

Surname Smith

Email [email protected]

14days left

Holidays Sick DaysComplete

Tabbed Menu

Conserves space, as Sick

Days and Settings will hardly

be used. Holidays set as the

default tab. Shows each

possible form. Settings is now

highlighted.

Settings

New Employee Find Employee Print Future Hols Email Staff Help / Settings

Holiday Quota 20

Holiday Quota

Enables the administrators to

access and change the

maximum amount of days

staff members are allowed off.

Default Value

Set as 20 as the current

maximum quota at Nexus

Graphics is 20 days.

Please enter the total amount of holidays that James is allowed off

Assistance

Simple instructions to inform

the user what this field does.

Personalisation

Uses the current employee’s

name to show that this

Holiday Quota is linked to the

employee.

User Interactions

Reference Interactions Comments / Options

1 Holiday Quota User enters the maximum number of days allowed for holidays.

Format

Reference Description Colour (Hex) Typeface Size Other

1 Text Fields 408cc0 Helvetica (000000) 12 -

Technical Documentation! 9

Page 69: A-Level Computing Project

Computing Project | Thomas Davies 62

Reports

Holiday

!

Nexus - Staff Holiday System

EmployeeID 1

James Smith

[email protected]

11days left

Holiday

hID Start Finish Total

Sick Day

sID Start Finish Total

1 12/11/2008 12/11/2008 1 sID 01/11/2008 02/11/2008 2

2 07/09/2008 08/09/2008 2 sID 20/06/2008 21/06/2008 2

3 20/07/2008 23/07/2008 4 sID - - -

4 01/07/2008 01/07/2008 1 sID - - -

5 10/01/2008 10/01/2008 1 sID - - -

1

2

3

4

5

Days Left

Field is more prominent than

others. Will go red if employee

goes over quota.

Date 03/11/2008

Current Date

Shows date of pr intout.

Makes sure employees know

what document is up-to-date.

Employee Table

Provides information about the

employee at the top of their

section.

Holiday Table

Displays the next 5 holidays

for that employee.

SickDays Table

Displays the last 5 sick days

for that employee.

21

Sources Field Type

Employee Table -

Holiday Table -

SickDay Table -

Scripts and Functions

To make the system fully functional, scripts and functions have been implemented. This is due to the fact that certain

features are lacking in the FileMaker Pro software.

Calculation between two dates

Let ( [

neg = Case ( date1 > date2; -1; 1 );

d1 = Case ( neg < 0; date2; date1 );

d2 = Case ( neg < 0; date1; date2 );

d = Mod ( Day ( d2 ) - Day ( d1 ); Day (

Date ( Month ( d1 ) + 1; 0; Year ( d1 ) ) ) );

m = Mod ( Month ( d2 ) - Month ( d1 ) -

( Day ( d2 ) < Day ( d1 ) ); 12 );

y = Year ( d2 ) - Year ( d1 ) - ( ( Month ( d2 ) -

( Day ( d2 ) < Day ( d1 ) ) ) < Month ( d1 ) )

];

y * neg & ¶ &

m * neg & ¶ &

d * neg & ¶ &

y & " years, " & m & " months, and " & d & " days" & ¶

)

Technical Documentation! 10

Page 70: A-Level Computing Project

Computing Project | Thomas Davies 63

CompleteBooking

If [Holiday::Authorisation = “Yes”]

! Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been authorised.”]

End If

If [Holiday::Authorisation = “No”]

! Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been rejected.

! Please choose another date, or email me to discuss the issue”]

" Delete Portal Row [No dialog]

End If

Refresh Window [Flush cached join results]

File Size

Employee Table Holiday Table SickDay Table

Field Name Field Size Comments Field Name Field Size Comments Field Name Field Size Comments

EmployeeID 2 - HolidayID 2 - SickDayID 2 -

FirstName 20 - EmployeeID 2 - EmployeeID 2 -

Surname 20 - Start 8 - Start 8 -

Email 50 - Finish 8 - Finish 8 -

DaysLeft 2 - TotalDays 2 - TotalDays 2 -

Authorisation 1 bit 1 byte

Total

(Record)

94 Adds all

Field Sizes

Total

(Record)

23 Adds all

Field Sizes

Total

(Record)

22 Adds all

Field Sizes

Sub-Total

(File)

1880 Multiple by

20 (Staff

Max)

Sub-Total

(File)

9200 Multiple by

20 (Holiday)

& 20 (Staff)

Sub-Total

(File)

4400 Multiple by

10 (Leave) &

20 (Staff)

Extras 180 Add 10%

for extras

Extras 920 Add 10%

for extras

Extras 440 Add 10%

for extras

Total (File) 2060 bytes - Total (File) 10120 byte - Total (File) 4840 bytes -

Total

(Maximum)

16.7 kilobytes

Technical Documentation! 11

Page 71: A-Level Computing Project

ii. User Guide

Computing Project | Thomas Davies 64

Staff Holiday System

User Guide

Page 72: A-Level Computing Project

Computing Project | Thomas Davies 65

Contents

1. Getting Started

Installation! ! ! ! 2

Applications Folder! ! ! 3

2. Introduction

Interface! ! ! ! 4

Menu System!! ! ! 5

3. Adding Data

Adding a New Employee! ! 6

Adding a Holiday! ! ! 7

Adding a Sick Day! ! ! 8

4. Discovery

Finding an Employee!! ! 9

5. Documents

Future Holiday Document! ! 10

E-mail!Staff! ! ! ! 11

6. Backup

Turn on a Backup! ! ! 12

Where’s the File? " " " 13

7. FAQs

Frequently Asked Questions!! 14

8. More Support?

Further Help! ! ! ! 15

User Guide 1

Page 73: A-Level Computing Project

Computing Project | Thomas Davies 66

1Getting Started

Page 74: A-Level Computing Project

Computing Project | Thomas Davies 67

Installation

To install the Holiday System, insert the USB flash drive and double-click USB. Then

drag the Holiday System icon onto the Applications icon. System is now installed.

User Guide 2

Page 75: A-Level Computing Project

Computing Project | Thomas Davies 68

Applications Folder

To use the Holiday System, open the Applications folder and double-click on the

Holiday System icon.

User Guide 3

Double-cl ick on the

Holidays System icon.

Page 76: A-Level Computing Project

Computing Project | Thomas Davies 69

2Introduction

Page 77: A-Level Computing Project

Computing Project | Thomas Davies 70

Interface

Access everything you need from this interface. View employee details and their

holidays.

User Guide 4

Main tasks grouped

together at the top of

the system.

Employee details.

Their holiday and sick

leave in a tabbed menu.

Page 78: A-Level Computing Project

Computing Project | Thomas Davies 71

Menu System

The menu system at the top of the application groups all the main tasks together.

Button What does it do?

New Employee Creates a new employee in the database

Find Employee Searches the database for employees based on your

search terms

Print Future Holidays Prints all the holidays that will take place after the day of

printing

E-mail Staff E-mails employees with everyones holidays so they

know when they can have time off themselves

Help / Settings Provides further help if needed and is the place where

the backup file is created

User Guide 5

Page 79: A-Level Computing Project

Computing Project | Thomas Davies 72

3Adding Data

Page 80: A-Level Computing Project

Computing Project | Thomas Davies 73

Adding a New Employee

To add a new employee, click on the New Employee button. Then you can enter

their First Name, Surname, and Email address.

User Guide 6

C l i c k o n t h e N e w

Employee button.Enter their details here.

Page 81: A-Level Computing Project

Computing Project | Thomas Davies 74

Adding a Holiday

With the correct employee determined, click the Holiday tab to select it. Then click

on the Start field and enter the start date by using the Calendar box. After this, click

the Finish field and enter the final date. Check that the Total Days field is correct.

User Guide 7

Click on the Holidays

Tab.

Select the dates using

the Calendar box.

Page 82: A-Level Computing Project

Computing Project | Thomas Davies 75

Adding a Sick Day

With the correct employee determined, click the Sick Day tab to select it. Then click

on the Start field and enter the start date by using the Calendar box. After this, click

the Finish field and enter the final date. Check that the Total Days field is correct.

User Guide 8

Click on the Sick Day

Tab.

Select the dates using

the Calendar box.

Page 83: A-Level Computing Project

Computing Project | Thomas Davies 76

4Discovery

Page 84: A-Level Computing Project

Computing Project | Thomas Davies 77

Finding an Employee

The Holiday System boasts great searching features, enabling you to find exactly

what you want.

Fields Are they searchable?

EmployeeID !

FirstName !

Surname !

Email !

DaysLeft "

User Guide 9

Can search all of these

fields.

C l i c k o n t h e F i n d

Employee button.

Page 85: A-Level Computing Project

Computing Project | Thomas Davies 78

5Documents

Page 86: A-Level Computing Project

Computing Project | Thomas Davies 79

Future Holiday Document

This document displays all the holidays that will take place following the print out.

Allows the employees to have an overview of all the future holidays. Click the Print

Future Holidays button. Then the Print dialog will show, press the Print button to

finish.

User Guide 10

Click on the Print Future

Holidays button.

The Print dialog box.

Page 87: A-Level Computing Project

Computing Project | Thomas Davies 80

E-mail Staff

Provides employees with a digital document to ensure they are always up-to-date

with all the staff holiday bookings. Click the E-mail Staff button and the Mail

application will load with the email message displayed.

User Guide 11

Click on the E-mail Staff

button.

The Emai l message

window.

Page 88: A-Level Computing Project

Computing Project | Thomas Davies 81

6Backup

Page 89: A-Level Computing Project

Computing Project | Thomas Davies 82

Turn on a Backup

Protecting data is vital in todays world. This system provides a backup solution.

Click on the Help / Settings button.

User Guide 12

Click on the Help /

Settings button.

Click on the Backup

button.

Page 90: A-Level Computing Project

Computing Project | Thomas Davies 83

Where’s the File?

The backup file is located in the Documents folder. However, to have more

protection, it would be good to store it on a USB flash drive to protect against other

threats.

User Guide 13

Click on the Documents

button.

Click on the OldSystem

icon.

Drag the OldSystem

icon into the USB flash

drive.

Page 91: A-Level Computing Project

Computing Project | Thomas Davies 84

7FAQs

Page 92: A-Level Computing Project

Computing Project | Thomas Davies 85

Frequently Asked Questions

Adding a new employee

On any page in the system, you are able to select the New Employee button at the

top, which will create a new form for the employee.

Finding an employee

If the employee is already in the system, then you can search for them. The majority

of fields are capable of being the search term, so you are not restricted to the

EmployeeID code. Select the New Employee button to begin the search.

The complete feature will not work

Apple Mail or Microsoft Entourage are required to be set as the default E-mail

application for this to work.

User Guide 14

Page 93: A-Level Computing Project

Computing Project | Thomas Davies 86

8More Support?

Page 94: A-Level Computing Project

Computing Project | Thomas Davies 87

Further Help

To get further help, click the Help / Settings button. This provides you with more

assistance and FAQs to help solve your problem.

User Guide 15

Click on the Help /

Settings button.

Page 95: A-Level Computing Project

Evaluation

i. Degree of success in meeting the original objectives

Requirements

Objective ✔ / ✗ Comments Evidence

Full access for only Justin Huckfield and the secretary

✔ The pair have complete access to the system, with usernames and passwords to ensure this level of access only belongs to them.

Test 41, 42

Employees to have limited access. Requests only

✔ Staff members are only allowed to enter their own holiday requests or their sick leave in the system. They also have usernames and passwords to limited their activity on the system.

Test 43, 44

Requests to take a few minutes to complete

✔ Tested in the test plan and by the Nexus Graphics staff. All tests have concluded that requests take less than 1 minute to complete.

Page 56Test 45

Requests to take a few minutes to sanction

✔ / ✗ Tested in the test plan and by Justin. All tests have concluded that authorisation takes less than 1 minute to complete. Even though the latest requests did not go onto the main page due to my lack of skill in FileMaker Pro, I ensured that the system would email Justin when a request was sent. This works fine, as all he has to do to sanction the request is select the Yes button in the Authorisation field and click Complete.

Page 56Test 46

Calculates the length between the start and finish dates

✔ Using a third-party script, I was able to implement this requirement. At first I believed the standard calculation tools would allow this to work, however I had to fall back on the third-party script.

Test 17, 1 8 , 2 6 , 37

Checks that no two staff are unavailable on the same date

✔ This has been completed by ensuring that both the Start and Finish dates are unique in the database, therefore allowing only 1 employee to have a certain day off.

Test 29

R e p o r t s g e n e r a t e d f o r employees. Shows time left and future holidays

✔ Used tools built into FileMaker Pro to design and implement the report. Page 33Test 3, 4

A calendar view to show all employee holidays

✗ Even though I discovered the third-party solution required, integrating it into my system proved very difficult and was effecting other features. Therefore, we took the decision not to implement such a feature.

-

Integrated emailing facility to send a report to employees

✔ This worked very well and was easy to implement using FileMaker Pro’s built-in scripts. There was however, an issue with the mailing applications, with either Apple Mail or Microsoft Entourage required to be the default application for email, else this feature would not work correctly. This issue is documented in the User Guide to make the employees aware of the problem.

Test 3, 4, 27, 28

A user-friendly system ✔ I used many standard interface objects to ensure the user-friendly nature of the system. The system has maintained a simple, yet effective style, removing any unnecessary clutter. The main feature that improves the usability is the Calendar box which ensures that the data entered into the Start and Finish fields are in the correct format.

Page 12 - 16, 26 - 33, 54

Compatible with both Mac OS X and Windows Vista

✔ Throughout the process the system has been developed on Mac OS X, however it has been constantly tested on Windows Vista to ensure that the solution works correctly and maintains the same look and feel on both platforms.

Page 11, 50

System to be implemented for April 2008

✔ The system had been completed and tested before April, and during that month I visited the office to implement the solution.

Page 54

Able to run on MacBook Air specifications or better

✔ I ensured that the FileMaker Pro software worked on the MacBook Air specifications, which they did by a significant margin. Therefore the other MacBooks could easily handle FileMaker Pro efficiently.

Page 11, 51

Computing Project | Thomas Davies 88

Page 96: A-Level Computing Project

ii. Evaluate the users’ response to the system

Justin’s Letter

Computing Project | Thomas Davies 89

Page 97: A-Level Computing Project

User-Friendly SystemThe Holiday Booking system is a very efficient, yet easy to use application. A major focus of this project was to ensure the

solution was user-friendly, which I believe is true, as does Justin and the Nexus Graphics’ employees. Many standard user

interface objects were used in the project to ensure the users were able to successfully work through the system without

having to learn new objects.

The menu system header is consistent throughout the system, to guarantee that the users know where to find certain

operations all the time, allowing the users to habituate to the tasks. Moreover, the Help / Settings button is coloured orange

to highlight the significance of this activity, allowing the users to find assistance when they require it.

A major issue with the old system was that, on many occasions Justin had difficulty

discovering how many days employees had left on their quota. To rectify this, the

DaysLeft field in the Employees table has an increased font size, as well as turning red if

the employee has gone over their quota. This allows Justin to immediately find out if they

have gone over the quota, without affecting his workflow by using monolog boxes.

To save visual real estate, the Holidays, Sick Days, and Settings sections are in a tabbed menu system. This is a good

solution as it displays data the user wants to see without cluttering the screen with unwanted data, while still maintaining a

visual connection with the current employee.

For both the Holidays and Sick Days tabs, the Start and Finish fields

include a Calendar pop-up box which ensures that only correct data is

entered. An issue with date entry is that the users can enter the data in

the wrong format, which could affect calculations that the system

completes. However, the Calendar pop-up box limits this issue drastically.

On the Settings tab, there is only one field for the user to enter data in.

The maximum quota has been revised many times to ensure that the

user knows what they are doing on this tab. Previously, there was a

global quota field which would alter all employees quotas, however this

was not a good implementation as it meant a new employee who had

joined halfway through the year would have the same amount of days off

as an employee who had been there for the whole year. Therefore, the final implementation is clearly linked with the current

employee, with it being in a tabbed menu, as well as the personalisation in the line above the field, enforcing the thought that

the user is editing the named employee’s quota, and no one elses.

The User Guide has been well received, as it provides simple, step by step instructions of operations that occur in the

system. To avoid the information being cluttered, only one activity is documented per page, and there is a contents page

informing the user where certain operations are, in the guide. Moreover, the system provides users with on-screen

assistance via the Help / Settings button. This page includes frequently asked questions, as well as guidance to backing-up

the database.

Computing Project | Thomas Davies 90

Page 98: A-Level Computing Project

User TestingEven though the system has been rigorously checked by myself during the testing phase, the true tests come from the staff

using the system with normal data. One of the key objectives in this system was to reduce the time required to enter and

sanction a holiday. For the manager, Justin, the old system just took too much time for such a minor task. Therefore, to

show the radical improvement from the old system, Justin was timed entering data in both the new and old systems. For the

new solution, it was split into two tests; before handover, and after handover, to really show the differences.

Tasks Old System New System

1 Receive holiday request Receive holiday request

2 Check no other employees have the same day off Enters holiday details (Automatically checks if two employees have same day off)

3 Copy and paste holiday template into Excel page Authorise and click Complete (Automatically sends email)

4 Enters holiday details

5 Sends email to employee

Time Tests Old System New System

Before Handover After Handover

1 2 minute 14 seconds 1 minute 10 seconds 0 minute 48 seconds

2 1 minute 57 seconds 1 minute 27 seconds 0 minute 52 seconds

3 2 minute 11 seconds 1 minute 08 seconds 0 minute 39 seconds

Average 2 minute 07 seconds 1 minute 15 second 0 minute 46 seconds

The new system is vastly faster than the old

system, following the tests with Justin. The

average scores show that the new solution -

following the handover - is 1 minute and 21

seconds faster than the old system. Yet, even

before the handover, the new system was still

faster by 52 seconds. This shows that even

without a period of getting used to the new

system, it is still faster to enter a holiday

request.

Moreover, the data itself that was entered into

the system, while I was with Justin showed no

errors within the system. He was very happy

with the completed solution - as shown by his

letter - and was especially pleased with the back-up solution, as FileMaker had not incorporated the Time Machine feature

into their database application.

Computing Project | Thomas Davies 91

0

0.5

1.0

1.5

2.0

2.5

Old SystemBefore Handover

After Handover

Page 99: A-Level Computing Project

iii. Desirable extensions

Good PointsThe solution has been very successful as it achieves many of the objectives set out between myself and Justin at Nexus

Graphics. Even though certain requirements were not met, I ensured that these were not critical to the overall success of the

project. The system allows users to request holidays, while allowing Justin to sanction the event very well.

One of the major challenges that I overcame was the main calculation in the system. The calculation between two days

function proved more difficult than I previously thought. I believed this calculation could have been implemented by using the

standard mathematical functions built into FileMaker Pro, however this was not the case. Therefore I had to discover a third-

party function that could complete this task, as without it, the system would be unable to run. The script by Winfried Huslik

worked perfectly for the system, calculating the dates correctly.

Bad PointsHowever, the solution will have a major issues if the organisation expands rapidly. As previously discussed in the Limitations

section, if the company employs 11 more staff members, the current holiday policy will have to be altered. The organisation

will either have to remove the warning system, or allow two employees to have the same day off, rather than the current

maximum of 1 employee off on a given day.

Unfortunately, I was unable to implement the calendar interface which would have made holiday listings easier to find.

However, due to my limited skill set, coupled with the time constraints, I would have been unable to implement this feature at

the standards I required, and therefore we decided this feature would not be executed.

Data InputThe way data is inputted into the system could be vastly improved by using certain advanced features. To improve efficiency

employees could email Justin with the length of the holiday, along with the start and finish data. The Mail application would

automatically detect the dates and will then input the data into the system for Justin’s approval.

This would radically improve the efficiency of the application, as it would limit the time that they have to use the solution,

allowing the staff to complete more important work. The data detection feature is already in use extensively, both on the web

with Google Mail11, and on the desktop with Apple Mail12.

OutputTo save paper, all of the documents produced via this system can be saved as an Adobe PDF, and sent to the employees via

email. Not only does this help the environment, but it also ensures that the staff members will always have a digital copy of

Computing Project | Thomas Davies 92

11 Google, 2006. Gmail: Google's approach to email.

http://mail.google.com/mail/help/about_whatsnew.html [Accessed April 2008]

12 Apple, 2007. Apple - Mac OS X Leopard - Features - Mail.

http://www.apple.com/macosx/features/mail.html [Accessed April 2008]

Page 100: A-Level Computing Project

the document, saving time as a paper document can easily get lost. Moreover, integration between iCal (And other calendar

applications) and the FileMaker Pro solution could rid the whole system of documents by syncing the data into the

employee’s iCal, and therefore providing all the data they need.

Time MachineThe release of Mac OS X Leopard introduced many new features, including one which changed the way people thought

about backing up. Time Machine13 backs up users’ data in the background, incrementally. This feature is very important as it

means that other software houses do not have to implement their own, secluded backup system. However, at the time of

developing the solution, FileMaker Pro lacked support for the Time Machine feature, and therefore I had to implement a

manual backup system that is documented in the User Guide.

Mobile AccessIn 2007, FileMaker cancelled their mobile version14 of the software that worked on both the Palm and Pocket PC. However,

even if the organisation maintained this edition, Nexus Graphics’ employees would have been unable to take advantage of it.

This is due to all staff members now having iPhones, which are not compatible with the mobile version of the database

application.

The features of such a mobile version would allow the employee to see who was unavailable on what days via the calendar

application, along with the ability to add their own holidays, which could be sanctioned on an administrator's device.

However, even though the SDK has been announced15, Apple currently do not allow third party applications to run on the

iPhone, therefore making such a feature impossible to implement due to the time constraints.

Computing Project | Thomas Davies 93

13 Apple, 2007. Apple - Mac OS X Leopard - Features - Time Machine.

http://www.apple.com/macosx/features/timemachine.html [Accessed April 2008]

14 FileMaker, 2007. FileMaker Mobile End of Life.

http://filemaker.com/support/fmm_eol.html [Accessed April 2008]

15 Apple, 2008. Apple Announces iPhone 2.0 Software Beta.

http://www.apple.com/pr/library/2008/03/06iphone.html [Accessed April 2008]

Page 101: A-Level Computing Project

GlossaryAirPortApple’s wireless networking brand. A wireless solution for

printing and sharing files.

Entity Relationship DiagramA graphical representation of entities and their relationships

to other entities.

Entity Life HistoryShows the sequencing, iteration and timing of an entity.

Filemaker Inc.A subsidiary of Apple Inc. that creates database

applications.

Filemaker ProA cross-platform database application (Mac OS X and

Windows). Developed by FileMaker Inc.

Gantt ChartA chart that represents a project schedule, by showing the

expected duration of tasks. The concept was created in

the late 19th Century.

iPhoneA mobile phone device from Apple, with a multi-touch user

interface. Released in 2007.

Leopard (10.5)The 6th major release of Mac OS X, developed by Apple

and released in October 2007. It replaces Tiger (10.4).

Mac OS XA line of operating systems from Apple Inc. that was first

introduced in 2001. It is the successor to the Mac OS,

which was in use since 1984.

PortalAn object that shows records from related tables. Much

like a sub-form.

Software Development Kit (SDK)A set of programming tools, utilities and documentation to

support developers creating software for a certain system.

Tabbed MenuA navigational interface object that allows switching

between different pieces of data.

Tiger (10.4)The 5th major release of Mac OS X, developed by Apple

and released in April 2005.

Time MachineA back-up tool created by Apple for their operating

system; Leopard (10.5).

Windows VistaThis is the latest version of Microsoft’s operating system,

Windows. It replaces Windows XP.

Computing Project | Thomas Davies 94

Page 102: A-Level Computing Project

BibliographyDr. Peter Chen, 1976. The Entity-Relationship Model-

Toward a Unified View of Data.

http://csc.lsu.edu/news/erd.pdf [Accessed January 2008]

FileMaker, 2007. FileMaker Pro Tech Specs.

http://www.filemaker.com/products/fmp/tech_specs.html

[Accessed February 2008]

Apple, 2008. Apple - MacBook Air - Technical

Specifications.

http://www.apple.com/macbookair/specs.html [Accessed

February 2008]

Apple, 2008. Apple - AirPort Extreme - Features - Wireless

Printing.

http://www.apple.com/airportextreme/features/

printing.html [Accessed April 2008]

Aza Raskin, 2006. UI Design Fundamentals.

h t t p : / / h u m a n i z e d . c o m / w e b l o g / 2 0 0 6 / 0 7 / 2 2 /

know_when_to_stop_designing_quantitatively [Accessed

January 2008]

Winfried Huslik, 2006. Calculating the distance between

two dates.

http://www.fmdiff.com/fm/agecalc.html [Accessed

December 2007]

FileMaker, 2007. FileMaker Video Tutorials.

h t t p : / / w w w . fi l e m a k e r . c o m / p r o d u c t s / f m p 9 /

video_tutorials.html [Accessed March 2008]

FileMaker, 2007. Windows Vista Support.

http://www.filemaker.com/developers/resources/vista.html

[Accessed March 2008]

FileMaker, 2007. Mac OS X Leopard Support.

http://www.filemaker.com/support/leopard.html [Accessed

March 2008]

Apple, 2008. Apple - MacBook Air - Wireless.

ht tp://www.apple.com/macbookai r /wi re less.html

[Accessed March 2008]

Google, 2006. Gmail: Google's approach to email.

http://mail.google.com/mail/help/about_whatsnew.html

[Accessed April 2008]

Apple, 2007. Apple - Mac OS X Leopard - Features - Mail.

http://www.apple.com/macosx/features/mail.html

[Accessed April 2008]

Apple, 2007. Apple - Mac OS X Leopard - Features - Time

Machine.

http://www.apple.com/macosx/features/timemachine.html

[Accessed April 2008]

FileMaker, 2007. FileMaker Mobile End of Life.

http://filemaker.com/support/fmm_eol.html [Accessed April

2008]

Apple, 2008. Apple Announces iPhone 2.0 Software Beta.

http://www.apple.com/pr/library/2008/03/06iphone.html

[Accessed April 2008]

Jonas Rask, 2007. Maji Icons.

http://jonasraskdesign.com/ [Accessed April 2008]

Marja Flick-Buijs, 2008. Background Bliss.

http://www.sxc.hu/browse.phtml?f=profile&l=Zela

[Accessed April 2008]

Computing Project | Thomas Davies 95