Sei sulla pagina 1di 102

Thomas Davies

Computing Project
Module: 2510 // Candidate Number: 2054 // Centre Number: 20466
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
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
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


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
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
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
Definition, Investigation & Analysis
i. Definition - Nature of the problem solved

Definition
Based 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

Letter
October 1, 2007

Justin Huckfield
Nexus Graphics
C11 Generator Hall
Electric Wharf
CV1 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


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


Sample Documents

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

The Email sent to employees after they authorisation or rejection

Inefficiencies
The 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


Data Flow Diagrams
Employee emails
to request holiday. 1.1 - Receive
Details received via email
Employee
correspondence.

Confirms Holiday
request has 1.2 - Input
been declined. Details from email are
inputed into the system.

Confirms Holiday
1.3 - Validation D1 - Holidays
request has been
Checks no one else has
sanctioned.
days off. Checks
employee has days left.
Information is stored in
1.4 - Add the Holidays section of
Adds the holiday the system.
information into the
system.

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 Requirements
Currently, 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


Software Requirements
As 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 Specification
Following 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 Implementations
There are many differing implementation approaches that could be undertaken for this project.

Solution Advantages Disadvantages


Same System Cheaper alternative to other solutions. Limited expansion possibilities.
No training required. Users already have system
knowledge.
Coded Solution Bespoke software. Lack of required skills to complete it.
Small memory footprint.
More modifiable than using database software.
Off the Shelf Software Quicker to implement than bespoke software. A solution may not exist.
Cheaper than bespoke software. Doesn’t provide exact functions required.
Wide range of support via internet, and books.
Database Searching is more advanced that Spreadsheets. Not included in many office application suites.
Has ability to use macros, and templates. Requires the high-end packages.
Relational information. Can be normalised. Costs more than standard packages.
Not easy to program.
Spreadsheet Included in majority of office application suites. Flat file only.
Allows for the use of forms and reports. Not normalised.
The ability to search through the data, and use Can have data redundancy.
macros. 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


Design
i. Nature of the Solution

Design Specification
The 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 The system will be set up so that Justin Huckfield and the secretary have their own
and the secretary. 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. These users will be assigned an account to the system, however, only allowing
Request only. 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 This will be achieved by limiting the amount of data to be entered. Following the
complete. selection of the employee, the only data to be entered will be: Start Date and Finish
Date.
Requests to take a few minutes to Employees who have just requested holidays will see their details highlighted on the
sanction. 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 This will be implemented by standard calculation tools, using the built-in scripting
and finish dates. tools to create this.
Ch eck s th at n o t wo s t a ff a re The system will check once the dates have been entered that the calendar is
unavailable on the same date. 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. This will be achieved using the built-in report generating tools. The system will allow
Shows time left and future holidays. the report to view data from many different sources.
A calendar view to show all employee For this to be implemented, the system will include a 3rd party piece of code that
holidays 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 Using the built-in features, the system will be able to send the report to the
report to employees 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 Use a multi-platform application, compatible with Mac OS X and Windows Vista.
(10.4 / 10.5) and Windows Vista.
System to be implemented for Produce a fully tested, and implemented system into the Nexus Graphics offices,
January 2008. ready for use in January 2008.
A b l e t o r u n o n M a c B o o k A i r Check that FileMaker can run successfully on the MacBook Air, and efficiently on
specifications or better. the Intel processors.

Computing Project | Thomas Davies 6


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

HolidayID

EmployeeID

EmployeeID Holiday Start

m
FirstName Finish

Surname Employee Reserves TotalDays


1
1

Email Authorisation

DaysLeft Confirms SickDayID

HolidayTotal EmployeeID

SickDay Start

Finish

TotalDays

Key

Employee Confirms SickDayID EmployeeID Start

Entity Relationship Primary Key Foreign Key Attribute

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]

Computing Project | Thomas Davies 7


Entity Life Histories

Employee
Employee

Creation Life Deletion

Holiday ! Sick Leave ! Details Change !

Request * Return to Work * Contact Manager * Return to Work *

Accept ! Decline !

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


Relationships

SickDay

Employee SickDayID

EmployeeID EmployeeID

FirstName Start
Holiday
Surname Finish
HolidayID
Email TotalDays
EmployeeID
DaysLeft
Start

Finish

TotalDays

Authorisation

Table Designs

Employee Table
Field Name Field Type Validation Example Origin Use
EmployeeID Number Serial Number on creation. 01 Automatic following Automatically
Increments from “1”. Required the entering of generated
value. Unique, numeric values Employee details identification
only.
FirstName Text Required value: Message (If not Jason Entering it in the First name of the
completed): “Please enter the First Employee details form employee
Name of the employee”
Surname Text Required value: Message (If not Smith Entering it in the Surname of the
completed): “Please enter the Employee details form employee
Surname of the employee”
Email Text Auto-entered example data: jasonsmith@n Entering it in the Email address of the
“employee@nexusgraphics.co.uk”. exusgraphics. Employee details form employee. Will send
Required value: Message (If not co.uk employee an email
completed): “Please enter the whether holiday was
email of the employee” authorised or not
DaysLeft Calculation User not allowed to enter data. 20 Calculation between Shows how many
(Number) =Settings::HolidayTotal - Sum the TotalDays days are left in an
( Holiday::TotalDays ) (Holiday) and Quota employee’s quota
(Settings)
HolidayTotal Number Auto-entered data: “20” 20 Automatic entry of To complete the
‘20’. Can be altered calculation of how
by changing the many days the
details employee is allowed

Computing Project | Thomas Davies 9


Holiday Table

Field Name Field Type Validation Example Origin Use


HolidayID Number Serial Number on creation. 01 Automatic following Automatically
Increments from “1”. Required the entering of Holiday generated
value. Unique, numeric values only. details identification

EmployeeID Number Takes data from the Employee 01 From the Employee Links Holiday record
table. Table. Foreign Key with an Employee
Start Date Required value: Message (If not 11/01/2008 Entered by selecting Shows the first day
completed): “Please enter the first date on a Calendar of the holiday
day of the holiday”. Only allow pop-up in the Holiday
values of type: “4-Digit Year Date” portal on Employee
form
Finish Date Required value: Message (If not 15/01/2008 Entered by selecting Shows the final day
completed): “Please enter the last date on a Calendar of the holiday
day of the holiday”. Only allow pop-up in the Holiday
values of type: “4-Digit Year Date” portal on Employee
form
TotalDays Calculation User not allowed to enter data. = 4 Calculating the total Shows the total
(Number) age ( Start ; Finish ) length of the holiday length of the holiday.
by using Start and Used to calculate
Finish. Uses the DaysLeft (Employee)
Calculation between
two dates script
Authorisation Boolean Select either “Yes” or “No” Yes Selecting it in the States whether
Holiday portal on holiday is authorised.
Employee form Required to send
correct email

SickDay Table
Field Name Field Type Validation Example Origin Use
SickDayID Number Serial Number on creation. 01 Automatic following Automatically
Increments from “1”. Required the entering of generated
value. Unique, numeric values only. SickDay details identification
EmployeeID Number Takes data from the Employee 01 From the Employee Links SickDay record
table. Table. Foreign Key with an Employee
Start Date Required value: Message (If not 21/01/2008 Entered by selecting Shows the first day
completed): “Please enter the first date on a Calendar of sick leave
day of the ill period”. Only allow pop-up in the SickDay
values of type: “4-Digit Year Date” portal on Employee
form
Finish Date Required value: Message (If not 21/01/2008 Entered by selecting Shows the final day
completed): “Please enter the last date on a Calendar of sick leave
day of the ill period”. Only allow pop-up in the SickDay
values of type: “4-Digit Year Date” portal on Employee
form.
TotalDays Calculation User not allowed to enter data. = 1 Calculating the total Shows the total
(Number) age ( Start ; Finish ) length of sick leave by length of sick leave
using Start and Finish.
Uses the Calculation
between two dates
script

Computing Project | Thomas Davies 10


Software
The 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.

Hardware
A 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.

Printer
The 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.

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]

Computing Project | Thomas Davies 11


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

1 2 3 4 5
New Employee Find Employee Print Future Hols Email Staff Help / Settings

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


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.
Tabbed Menu
Conserves space, as Sick
Days will hardly be used. Nexus - Staff Holiday System Days Left Field
Holidays set as the default tab. Number is enlarged, so end
Shows each possible form. user can see easily how many
New Employee Find Employee Print Future Hols Email Staff Help / Settings days are left. Will go red if they
have gone over their quota.
4EmployeeID 6 1 5 Uses the calculation between
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
14
days left
two dates function.

1 2 3 8
Complete
Holidays Sick Days Settings

7 HolidayID Start Finish TotalDays Authorisation


1 12/11/2007 13/11/2007 1 Yes
Portal
2 17/12/2007 20/12/2007 4 Yes
Ability to create / edit / delete
3 31/12/2007 31/12/2007 1 Yes
data from the Holidays and
Sick Days table. All this data is
related to the employee stated
above.

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

5 Aza Raskin, 2006. UI Design Fundamentals.


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

Computing Project | Thomas Davies 13


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.

Tabbed Menu Nexus - Staff Holiday System Days Left Field


Holidays is highlighted as it is Will go red if they have gone
the selected tab. over their quota. Uses the
New Employee Find Employee Print Future Hols Email Staff Help / Settings calculation between two dates
to work this out.
EmployeeID 1
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
-1
days left

Complete
Holidays Sick Days Settings

HolidayID Start Finish TotalDays Authorisation


1 12/11/2007 22/11/2007 11 Yes
2 17/12/2007 20/12/2007 4 Yes
3 1/1/2008 5/1/2008 6 Yes

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.

Tabbed Menu Nexus - Staff Holiday System Days Left Field


Sick Days is highlighted as it is This field is not affected by the
the selected tab. data in the Sick Days tab as
New Employee Find Employee Print Future Hols Email Staff Help / Settings they do not count towards
holiday leave.
EmployeeID 1
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
14
days left
No Authorisation
Complete The Authorisation field is not
Holidays Sick Days Settings
required as the employer does
SickDayID Start Finish TotalDays
not need to sanction sick
1 12/11/2007 13/11/2007 1
Portal leave like they do for holidays.
2 17/12/2007 20/12/2007 4
Altered its content from the
3 31/12/2007 31/12/2007 1
default Holiday content as the
Sick Days tab has been
selected.

Computing Project | Thomas Davies 14


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.

Tabbed Menu
Conserves space, as Sick
Days and Settings will hardly
be used. Holidays set as the Nexus - Staff Holiday System
default tab. Shows each
possible form. Settings is now
highlighted. New Employee Find Employee Print Future Hols Email Staff Help / Settings

EmployeeID 1
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
14
days left
Assistance
Simple instructions to inform
Complete
the user what this field does. Holidays Sick Days Settings Default Value
Set as 20 as the current
Please enter the total amount of holidays that James is allowed off
maximum quota at Nexus
Holiday Quota 20
Graphics is 20 days.

Holiday Quota
Enables the administrators to
Personalisation
access and change the
Uses the current employee’s
maximum amount of days
name to show that this
staff members are allowed off.
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


Reports

Holiday

Current Date
Nexus - Staff Holiday System Shows date of printout.
Makes sure employees know
what document is up-to-date.
Date 03/11/2008
1 2

11
EmployeeID 1
Employee Table Days Left
James Smith
Provides information about the Field is more prominent than

!
jamesmith@nexusgraphics.co.uk days left
employee at the top of their others. Will go red if employee
section. Holiday Sick Day goes over quota.
hID Start Finish Total sID Start Finish Total
1 12/11/2008 12/11/2008 1 sID
1 01/11/2008 02/11/2008 2
2 07/09/2008 08/09/2008 2 sID
2 20/06/2008 21/06/2008 2
Holiday Table SickDays Table
3 20/07/2008 23/07/2008 4 sID
3 - - -
Displays the next 5 holidays Displays the last 5 sick days
4 01/07/2008 01/07/2008 1 sID
4 - - -
for that employee. for that employee.
5 10/01/2008 10/01/2008 1 sID
5 - - -

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


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 6


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 Benefits


The 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.

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


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

Computing Project | Thomas Davies 17


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 94 Adds all Total 23 Adds all Total 22 Adds all
(Record) Field Sizes (Record) Field Sizes (Record) Field Sizes

Sub-Total 1880 Multiple by Sub-Total 9200 Multiple by Sub-Total 4400 Multiple by


(File) 20 (Staff (File) 20 (Holiday) (File) 10 (Leave) &
Max) & 20 (Staff) 20 (Staff)
Extras 180 Add 10% Extras 920 Add 10% Extras 440 Add 10%
for extras for extras for extras
Total (File) 2060 bytes - Total (File) 10120 byte - Total (File) 4840 bytes -

Total 16.7 kilobytes


(Maximum)

Computing Project | Thomas Davies 18


Software Development, Testing &
Implementation
i. Development and Testing

Software Development
The 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

Help Page
Relationship This is not linked to any other
The Employee to Holiday table table as it only holds textual
is a One to Many relationship. information on using the
system, and therefore needs
no interaction with the
database.

Relationship
The Employee to SickDays
table is a One to Many
relationship.

Computing Project | Thomas Davies 19


Table Designs

Employee Table

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 Auto-enter Data


DaysLeft field is a calculation, Default value is 20 days, as
and utilises the Calculation this is the current amount.
between two dates script.

Holiday Table

Value List
Uses the Authorisation Value
list. Makes sure only correct
data is entered.

Message
Provides a message to inform
Calculated Field 4-Digit Year Date users when they have entered
TotalDays field is a calculation, To ensure data is entered the data incorrectly.
and utilises the Calculation correctly, the system requires
between two dates script. users to enter the Year in a 4-
digit format. This is to make
sure the calculations are
performed correctly.

Computing Project | Thomas Davies 20


SickDays Table

Message
Provides a message to inform
Calculated Field 4-Digit Year Date users when they have entered
TotalDays field is a calculation, To ensure data is entered the data incorrectly.
and utilises the Calculation correctly, the system requires
between two dates script. users to enter the Year in a 4-
digit format. This is to make
sure the calculations are
performed correctly.

Value Lists

Authorisation

Values
Custom Values This Value List has only 2
These are values which are values; ‘Yes’ and ‘No’. This is
not set through calculations in to ensure only correct data is
the system itself. They are entered into the Authorisation
predefined values field on the Holidays table.

Computing Project | Thomas Davies 21


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


CompleteBooking

Authorisation Granted
If the request is allowed, then
an email will be sent to the
Delete Portal Row employee informing them that
If the request is not allowed, the holiday has been
then the system will email the sanctioned.
employee, and delete that
request from the system.

Find Employee

New Window
Opens a new window, so that
the user can still utilise the
data from the previous
window.

Find Mode
Enters the Find Mode for the
Employee page. Any field that
is editable, is also findable on
this screen.

Computing Project | Thomas Davies 23


New Employee

New Window
Opens a new window, so that
the user can still utilise the
data from the previous
window.

New Record
Enters the New Record mode
for the Employee page, so that
a new employee could be
added to the database.

Print

New Window
Opens a new window, so that
the user can still utilise the
data from the previous
window.

Perform Find
Discovers the information
needed from the database for
the printout.

Print
Enter Preview Mode
Prints out the information, after
So the user can see what the
the user has finalised the
printout will look like.
script.

Computing Project | Thomas Davies 24


Report

New Window
Opens a new window, so that
the user can still utilise the
data from the previous
window.

Enter Preview Mode


So the user can see what the
printout will look like.
Send Mail
Adds the PDF file to the email, Save as PDF
and sends to all employees. Following the creation of the
This is done by using the file, it is automatically saved as
addresses in the email field. a PDF for email usage.

Backup

Copy
Creates a pure copy of the
system at the time of backup.
The file is called ‘OldSystem’
and is saved into the
Documents folder.

Computing Project | Thomas Davies 25


Form Designs

Days Left
Employee (Holidays)

Shows the user that Nathan


Law has 6 days left of his
current holiday quota.
Employee Table Calculated with information
This is all the employee information from the Employee from the Total Days field and
the Total Holiday field (Settings

Computing Project | Thomas Davies


Table, relating to Nathan Law.
Email tab).
Information used to email staff
directly from the system.

Selected Tab
Holidays is currently the
selected tab, and therefore Complete
shows all the holidays that Used when the end user has
Nathan Law is having. decided whether a holiday
should be allowed. Begins the
CompleteBooking script.

Authorisation
Holiday Table
All of Nathan Law’s holidays
This is all the holiday
have been allowed, and
information from the Holiday
therefore they have not been
Table, relating to Nathan Law.
deleted from the database.

26
Days Left
Shows the user that Nathan
Law has gone over his quota.
Employee (Over the limit)

This information is highlighted


Employee Table in red to emphasises this
This is all the employee information from the Employee information.

Computing Project | Thomas Davies


Table, relating to Nathan Law.
Email Calculated with information
Information used to email staff from the Total Days field and
directly from the system. the Total Holiday field (Settings
tab).
Selected Tab
Holidays is currently the The reason going over the limit
selected tab, and therefore is allowed is due to the fact
shows all the holidays that that employees can work in
Nathan Law is having. weekends, and therefore have
extra days off.

Authorisation
Holiday Table
All of Nathan Law’s holidays
This is all the holiday
have been allowed, and
information from the Holiday
therefore they have not been
Table, relating to Nathan Law.
deleted from the database.

As shown, Nathan Law has


gone over his usual quota.

27
Days Left
Employee (Sick Days)

Shows the user that Nathan


Law has 6 days left of his
current holiday quota.
Employee Table Calculated with information
This is all the employee information from the Employee from the Total Days field and

Computing Project | Thomas Davies


Table, relating to Nathan Law. the Total Holiday field (Settings
Email tab).
Information used to email staff
directly from the system. As shown, the sick days that
Nathan Law has had off does
Selected Tab not effect how many days he
Sick Days is currently the has left for holidays.
selected tab, and therefore
shows all the sick days that
Nathan Law has had off.

SickDay Table
This is all the sick days
information from the SickDay
Table, relating to Nathan Law.

28
EmployeeID
As the EmployeeID is set by
the system, is it un-editable by
the users to ensure it is always
unique.
Employee (New Employee)

Computing Project | Thomas Davies


Email
Provides an example email Default Days Left
address to ensure that the As 20 days is the current
user understands the format. holiday quota, the system has
that as the default value.

Default Tab
Holidays is always the first tab
to be seen, as the majority of
the work will be done with this
table.

29
Employee (Find Mode)

Computing Project | Thomas Davies


Finding
The best way to find a specific Days Left
employee is in the Find Mode. This field is not searchable, as
Provides the ability to search it provides poor searching
with any field, even the capability.
FirstName, if the EmployeeID
is unavailable.

Portal
The majority of fields in the
portal can also be used to find
information.

30
Days Left
Employee (Settings)

Shows the user that Nathan


Law has 6 days left of his
current holiday quota.
Employee Table Calculated with information
This is all the employee information from the Employee from the Total Days field and

Computing Project | Thomas Davies


Table, relating to Nathan Law. the Total Holiday field (Settings
Email tab).
Information used to email staff
directly from the system.

Selected Tab
Settings is currently the
selected tab, and therefore
shows settings for Nathan
Law.

Personalisation
Includes his first name; Nathan
in the Settings page. This is to
Settings ensure that the user sees the
This is the HolidayTotal field link between Nathan Law and
from the Employee table. the HolidayTotal field.

31
Help / Settings Button
Help / Settings

The button is coloured


Orange, so that the user can
easily recognise - and
differentiate from other
buttons - where the help page
is.

Computing Project | Thomas Davies


Backup
Implements the Backup script.
A simple way to backup the
system. One click and the
backup is created and stored
in the Documents folder.

Help
Provides simple assistance on
screen, and answer possible
queries where the system
might have certain issues.
Perfect solution for simple
issues, without having to
waste time consulting the user
guide.

32
Reports

Holiday

Current Date
Employee Table
Shows the date the printout
Provides information about the occurred.
employee at the top of their
section.
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.
Holiday Table
Shows the next 5 up and
coming holidays that each
SickDays Table
employee has.
Shows the last 5 sick days
that each employee has had.

Computing Project | Thomas Davies 33


Admin
Access Rights

Password
Hidden for security.

Computing Project | Thomas Davies


Account Name
The account name is ‘admin’

Active Full Access


This account can be used in Can create / delete / edit data
the system. in the system.

34
Employee

Password
Hidden for security.

Account Name
The account name is
‘employee’

Active Employee Privilege Set


This account can be used in A custom set of privileges for
the system. the employees.

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


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’ Mouse Click Will create a new record Creates a new record ✔
button
2 Select the ‘Find Employee’ Mouse Click Will enter the find mode Enters the find mode ✔
button
3 Select the ‘Print Future Holiday’ Mouse Click Will print future holidays Prints future holidays ✔
button
4 Select the ‘E-mail Staff’ button Mouse Click Will e-mail staff with holidays Emails staff with the PDF file ✔
PDF file
5 Select the ‘Help / Settings’ Mouse Click Will go to the Help / Settings Goes to the Help / Settings ✔
button page 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 Will display a message D i s p l a y s a m e s s a g e ✔
field that the field is not stating that the field is
editable not editable
7 FirstName Normal Steven Will allow the input and it Allowed the input and it ✔
will be stored in the w a s s t o r e d i n t h e
database database
8 FirstName Erroneous 123 Will display a message Displayed a message ✔
stating that the data type stating that the data type
entered is invalid entered was invalid
9 FirstName Extreme Stevenqwertyuiopasdf Will display a message Displayed a message ✔
g stating that the field can stating that the field can
only contain 20 only contain 20
characters characters
10 Surname Normal Davies Will allow the input and it Allowed the input and it ✔
will be stored in the w a s s t o r e d i n t h e
database database
11 Surname Erroneous 123 Will display a message Displayed a message ✔
stating that the data type stating that the data type
entered is invalid entered was invalid
12 Surname Extreme Daviesqwertyuiopasdf Will display a message Displayed a message ✔
g stating that the field can stating that the field can
only contain 20 only contain 20
characters characters
13 Email Normal stevendavies@nexusg Will allow the input and it Allowed the input and it ✔
raphics.co.uk will be stored in the w a s s t o r e d i n t h e
database database
14 Email Erroneous stevendavies Will display a message Displayed a message ✔
stating that it requires an stating that it requires an
‘@’ symbol ‘@’ symbol
15 Email Extreme stevendaviesqwertyuio Will display a message Displayed a message ✔
pasdfghjklzxcvbnm@n stating that the field can stating that the field can
exusgraphicsqwe.co.u only contain 60 only contain 60
k characters characters

Computing Project | Thomas Davies 36


No. Field Type Input Expected Results Actual Results ✔/✗
16 DaysLeft - Attempts to edit the Will not be editable Was editable ✗
field
17 DaysLeft Normal Enter a 2 day holiday Will show the employee Showed the employee ✔
in the Holidays tab has 18 days left had 18 days left
18 DaysLeft Erroneous Enter a 2 day sick W i l l n o t a f f e c t t h e D i d n o t a f f e c t t h e ✔
leave in the Sick Days DaysLeft field DaysLeft field
tab

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 Will not be editable Was not editable ✔
field
20 Start Normal 14/04/2008 Will allow the input and it Allowed the input and it ✔
will be stored in the w a s s t o r e d i n t h e
database database
21 Start Erroneous 14/4/08 Will display a message Displayed a message ✔
stating that the input is stating that the input was
the wrong format. the wrong format.
Provides an example Provided an example
22 Start Extreme 32/04/2008 Will display a message Displayed a message ✔
stating that the date is stating that the date was
wrong wrong
23 Finish Normal 14/04/2008 Will allow the input and it Allowed the input and it ✔
will be stored in the w a s s t o r e d i n t h e
database database
24 Finish Erroneous 14/4/08 Will display a message Displayed a message ✔
stating that the input is stating that the input was
the wrong format. the wrong format.
Provides an example Provided an example
25 Finish Extreme 32/04/2008 Will display a message Displayed a message ✔
stating that the date is stating that the date was
wrong wrong
26 TotalDays - Enter a 2 day holiday Will show the number ‘2’ Showed the number ‘2’ ✔
in the Start and Finish
fields
27 Authorisation - S e l e c t s ‘ Ye s ’ a n d Will send an email to the Sent an email to the ✔
clicks ‘Complete’ employee employee
28 Authorisation - S e l e c t s ‘ N o ’ a n d Will delete the entry from Entry deleted from the ✔
clicks ‘Complete’ the database and sends database and sent an
an email to the employee email to the employee
29 - - Two holidays start on Will not allow the second Did not all the second ✔
the 15/05/2008 entry to be stored. 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 Will not be editable Was not editable ✔
field

Computing Project | Thomas Davies 37


No. Field Type Input Expected Results Actual Results ✔/✗
31 Start Normal 14/04/2008 Will allow the input and it Allowed the input and it ✔
will be stored in the w a s s t o r e d i n t h e
database database
32 Start Erroneous 14/4/08 Will display a message Displayed a message ✔
stating that the input is stating that the input was
the wrong format. the wrong format.
Provides an example Provided an example
33 Start Extreme 32/04/2008 Will display a message Displayed a message ✔
stating that the date is stating that the date was
wrong wrong
34 Finish Normal 14/04/2008 Will allow the input and it Allowed the input and it ✔
will be stored in the w a s s t o r e d i n t h e
database database
35 Finish Erroneous 14/4/08 Will display a message Displayed a message ✔
stating that the input is stating that the input was
the wrong format. the wrong format.
Provides an example Provided an example
36 Finish Extreme 32/04/2008 Will display a message Displayed a message ✔
stating that the date is stating that the date was
wrong wrong
37 TotalDays - Enter a 2 day holiday Will show the number ‘2’ Showed the number ‘2’ ✔
in the Start and Finish
fields

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 Allowed the input and it ✔
will be stored in the w a s s t o r e d i n t h e
database database
39 HolidayTotal Erroneous ABC Will display a message Did not display an error ✗
stating that the data type message
entered is invalid
40 HolidayTotal Extreme 0 Will display a message Displayed a message ✔
stating that it has to be a stating that it has to be a
positive number 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: admin Will allow the user to Allowed the user to ✔
Password: nexus access and edit all the access and edit all the
data. data.
42 - Erroneous User: admin Will not allow the user to Did not allow the user to ✔
Password: wrong access the system. access the system.
43 - Normal User: employee Will allow the user to Allowed the user to ✔
Password: nexus access and edit some of access and edit some
the data. the data.
44 - Erroneous User: employee Will not allow the user to Did not allow the user to ✔
Password: wrong access the system. access the system.

Computing Project | Thomas Davies 38


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/2008 Will take less than 1 C o m p l e t e d i n 1 8 ✔
Finish: 14/11/2008 minute to complete seconds.
46 Authorisation Normal ‘Yes’ Will take less than 1 C o m p l e t e d i n 1 0 ✔
minute to complete 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


Testing Evidence

1 - New Employee button 2 - Find Employee button

Selected Selected
New Employee is the selected Find Employee is the selected
button. button.

New Record Find Mode


The New Record page The Find Mode becomes
becomes visible after visible after selection.
selection.

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

Selected
Print Future Holidays is the Selected
selected button. E-mail Staff is the selected
button.

Print Future Holidays


A preview and the print setup E-mail Staff
becomes visible after The Mail.app program opens
selection. with the Holidays attachment
and the employees’ email
addresses included.

5 - Help / Settings button 6 - EmployeeID field

Selected
Help / Settings is the selected
button.
Editing
Attempts to change
EmployeeID to 12
Help / Settings
The Help / Settings window
becomes visible after
selection.
Message
System does not all this field
to be edited

Computing Project | Thomas Davies 40


7 - FirstName field 8 - FirstName field

FirstName
Erroneous data entered into
the field.

FirstName
Successfully added ‘Steve’ as
the first name

Error Message
An error message informs the
user of the problem.

9 - FirstName field 10 - Surname field

FirstName
Extreme data entered into the
field.

Surname
Successfully added ‘Davies’
as the surname

Error Message
An error message informs the
user of the problem.

11 - Surname field 12 - Surname field

Surname Surname
Erroneous data entered into Extreme data entered into the
the field. field.

Error Message Error Message


An error message informs the An error message informs the
user of the problem. user of the problem.

Computing Project | Thomas Davies 41


13 - Email field 14 - Email field

Email
Erroneous data entered into
the field.

Email
Successfully added
‘stevendavies@nexusgraphics.
co.uk’ as the email address

Error Message
An error message informs the
user of the problem.

15 - Email field 16 - DaysLeft field

d
Email
Extreme data entered into the

le
DaysLeft
field.
Attempts to edit the field.

a i
t F
e s
T
Error Message
An error message informs the
user of the problem.
Editable
This field is editable.

17 - DaysLeft field 18 - DaysLeft field

DaysLeft DaysLeft
Shows that the employee has Does not affect field
18 days left

Holiday Sick Leave


The holiday lasts for 2 days The sick leave lasts for 2 days

Computing Project | Thomas Davies 42


19 - HolidayID field 20 - Start field

Not editable Start


Successfully added
This field is unable to be
edited. ‘14/04/2008’ as the start date

21 - Start field 22 - Start field

Start Start
Erroneous data entered into Extreme data entered into the
the field. field.

Error Message Error Message


An error message informs the An error message informs the
user of the problem. user of the problem.

23 - Finish field 24 - Finish field

Finish
Erroneous data entered into
the field.
Finish
Successfully added
‘14/04/2008’ as the start date
Error Message
An error message informs the
user of the problem.

Computing Project | Thomas Davies 43


25 - Finish field 26 - TotalDays field

Finish
Extreme data entered into the
field.
Holiday
A two day holiday break. TotalDays
Error Message
Displays 2 days holiday.
An error message informs the
user of the problem.

27 - Authorisation field 28 - Authorisation field

Authorisation
Permission has not been
granted.

Email
Authorisation
An email is sent to the
Permission has been granted. Email
employee.
An email is sent to the
employee.
Record
The record has now been
deleted from the database.

29 - Unique Holidays 30 - SickDaysID field

Same Date Error Message


The Start field contains the An error message informs the
same date. user of the problem.

Not editable
This field is unable to be
edited.

Computing Project | Thomas Davies 44


31 - Start field 32 - Start field

Start
Erroneous data entered into
the field.
Start
Successfully added
‘14/04/2008’ as the start date Error Message
An error message informs the
user of the problem.

33 - Start field 34 - Finish field

Start
Extreme data entered into the
field.
Finish
Successfully added
Error Message ‘14/04/2008’ as the start date
An error message informs the
user of the problem.

35 - Finish field 36 - Finish field

Finish Finish
Erroneous data entered into Extreme data entered into the
the field. field.

Error Message Error Message


An error message informs the An error message informs the
user of the problem. user of the problem.

Computing Project | Thomas Davies 45


37 - TotalDays field 38 - HolidayTotal field

Quota
Successfully added ‘20’ as the
quota.

Holiday
A two day holiday break. TotalDays
Displays 2 days holiday.

39 - HolidayTotal field 40 - HolidayTotal field

d
Quota
Extreme data entered into the

e
field.

il
Quota
Erroneous data entered into

a
the field.

t F
es
T
Error Message Error Message
No error message is displayed. An error message informs the
user of the problem.

41 - Admin Access 42 - Admin Access

Sign In
Sign In User signs in with the wrong
User signs in with the Administration details.
Administration details.

Access Allowed
Allowed access to all of the
system. Access Denied
Not allowed access to the
system.

Computing Project | Thomas Davies 46


43 - Employee Access 44 - Employee Access

Sign In
Sign In User signs in with the wrong
User signs in with the Administration details.
Employee details.

Access Allowed
Allowed access to some of the
system. Access Denied
Not allowed access to the
system.

45 - Start & Finish Timing 46 - Authorisation Timing

Data Entry Data Entry


Entered the Start & Finish Authorisation has been given.
date.

Time Time
Took less than 20 seconds to Took 10 seconds to complete.
complete.

Computing Project | Thomas Davies 47


ii. Implementation

Alternative Methods
There 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. Two systems have to be used for a time period.
Have the fall back of the old system. Could be difficult for staff to understand.
Solution needed to allow the two systems to
interoperate.
Phased There is time to make adjustments. The process is very slow and time consuming.
Implementation Staff have more time to adapt to new solution. Could be difficult for staff to understand.
Issues at the start can be resolved. 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. Nexus only has one location.
Only certain locations effected if problems occur. Not enough staff for this to be effective.
Other locations can continue successfully. Solution needed to allow the two systems to
interoperate.
Direct Changeover Only one day to changeover. Not much time for alterations
Easy for staff to know when it will happen. Very complex to turn off old and new one on.
Will not have to create a solution to use both Hard to implement plans if things go wrong.
systems at the same time.

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


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 Training
To 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


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 documentation 8 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.

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]

Computing Project | Thomas Davies 50


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 Insert the software disc Install the software on MacBook Air.
nearby Mac or PC. you want to install. In the Finder on MacBook Air, under Devices, select the icon that
Select a nearby Mac or PC Insert the DVD containing says Remote Disc. Click on the computer you enabled, and then
with an optical drive. On the software you want to double-click to open the software DVD. Now proceed with the
that computer, install the install on MacBook Air into installation just as if you had a built-in optical drive.
Remote Disc Setup software the optical drive of the
(found on the supplied Mac Remote Disc-enabled Mac
OS X Install DVD). It is now or PC.
permanently enabled for
Remote Disc.

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


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

Computing Project | Thomas Davies 51


Technical Documentation
Staff Holiday System
Documentation
i. Technical Guide

2008

Computing Project | Thomas Davies 52


Table of Contents
Entity-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

Computing Project | Thomas Davies 53


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

HolidayID

EmployeeID

EmployeeID Holiday Start

m
FirstName Finish

Surname Employee Reserves TotalDays


1
1

Email Authorisation

DaysLeft Confirms SickDayID

HolidayTotal EmployeeID

SickDay Start

Finish

TotalDays

Key

Employee Confirms SickDayID EmployeeID Start

Entity Relationship Primary Key Foreign Key Attribute

Technical Documentation! 2

Computing Project | Thomas Davies 54


Entity Life Histories

Employee
Employee

Creation Life Deletion

Holiday ! Sick Leave ! Details Change !

Request * Return to Work * Contact Manager * Return to Work *

Accept ! Decline !

Holiday
Holiday

Creation Life Deletion

Request * Complete Holiday *

Accept ! Decline !

SickDay

SickDay

Creation Life Deletion

Contact Manager * Return to Work *

Technical Documentation! 3

Computing Project | Thomas Davies 55


Relationships

SickDay

Employee SickDayID

EmployeeID EmployeeID

FirstName Start
Holiday
Surname Finish
HolidayID
Email TotalDays
EmployeeID
DaysLeft
Start

Finish

TotalDays

Authorisation

Table Designs

Employee Table
Field Name Field Type Validation Example Origin Use
EmployeeID Number Serial Number on creation. 01 Automatic following Automatically
Increments from “1”. Required the entering of generated
value. Unique, numeric values Employee details identification
only.
FirstName Text Required value: Message (If not Jason Entering it in the First name of the
completed): “Please enter the First Employee details form employee
Name of the employee”
Surname Text Required value: Message (If not Smith Entering it in the Surname of the
completed): “Please enter the Employee details form employee
Surname of the employee”
Email Text Auto-entered example data: jasonsmith@n Entering it in the Email address of the
“employee@nexusgraphics.co.uk”. exusgraphics. Employee details form employee. Will send
Required value: Message (If not co.uk employee an email
completed): “Please enter the whether holiday was
email of the employee” authorised or not
DaysLeft Calculation User not allowed to enter data. 20 Calculation between Shows how many
(Number) =Settings::HolidayTotal - Sum the TotalDays days are left in an
( Holiday::TotalDays ) (Holiday) and Quota employee’s quota
(Settings)
HolidayTotal Number Auto-entered data: “20” 20 Automatic entry of To complete the
‘20’. Can be altered calculation of how
by changing the many days the
details employee is allowed

Technical Documentation! 4

Computing Project | Thomas Davies 56


Holiday Table
Field Name Field Type Validation Example Origin Use
HolidayID Number Serial Number on creation. 01 Automatic following Automatically
Increments from “1”. Required the entering of Holiday generated
value. Unique, numeric values only. details identification

EmployeeID Number Takes data from the Employee 01 From the Employee Links Holiday record
table. Table. Foreign Key with an Employee
Start Date Required value: Message (If not 11/01/2008 Entered by selecting Shows the first day
completed): “Please enter the first date on a Calendar of the holiday
day of the holiday”. Only allow pop-up in the Holiday
values of type: “4-Digit Year Date” portal on Employee
form
Finish Date Required value: Message (If not 15/01/2008 Entered by selecting Shows the final day
completed): “Please enter the last date on a Calendar of the holiday
day of the holiday”. Only allow pop-up in the Holiday
values of type: “4-Digit Year Date” portal on Employee
form
TotalDays Calculation User not allowed to enter data. = 4 Calculating the total Shows the total
(Number) age ( Start ; Finish ) length of the holiday length of the holiday.
by using Start and Used to calculate
Finish. Uses the DaysLeft (Employee)
Calculation between
two dates script
Authorisation Boolean Select either “Yes” or “No” Yes Selecting it in the States whether
Holiday portal on holiday is authorised.
Employee form Required to send
correct email

SickDay Table
Field Name Field Type Validation Example Origin Use
SickDayID Number Serial Number on creation. 01 Automatic following Automatically
Increments from “1”. Required the entering of generated
value. Unique, numeric values only. SickDay details identification
EmployeeID Number Takes data from the Employee 01 From the Employee Links SickDay record
table. Table. Foreign Key with an Employee
Start Date Required value: Message (If not 21/01/2008 Entered by selecting Shows the first day
completed): “Please enter the first date on a Calendar of sick leave
day of the ill period”. Only allow pop-up in the SickDay
values of type: “4-Digit Year Date” portal on Employee
form
Finish Date Required value: Message (If not 21/01/2008 Entered by selecting Shows the final day
completed): “Please enter the last date on a Calendar of sick leave
day of the ill period”. Only allow pop-up in the SickDay
values of type: “4-Digit Year Date” portal on Employee
form.
TotalDays Calculation User not allowed to enter data. = 1 Calculating the total Shows the total
(Number) age ( Start ; Finish ) length of sick leave by length of sick leave
using Start and Finish.
Uses the Calculation
between two dates
script

Technical Documentation! 5

Computing Project | Thomas Davies 57


Software & Hardware Requirements
Mac OS X Windows Vista
Version 10.5 10.4.8 Ultimate, Business & Home
Processor Power PC G4 / G5 Power PC G3 / G4 / G5 800MHz 32-bit
Intel-based Intel-based
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

1 2 3 4 5
New Employee Find Employee Print Future Hols Email Staff Help / Settings

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

Computing Project | Thomas Davies 58


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.
Tabbed Menu
Conserves space, as Sick
Days will hardly be used. Nexus - Staff Holiday System Days Left Field
Holidays set as the default tab. Number is enlarged, so end
Shows each possible form. user can see easily how many
New Employee Find Employee Print Future Hols Email Staff Help / Settings days are left. Will go red if they
have gone over their quota.
4EmployeeID 6 1 5 Uses the calculation between
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
14
days left
two dates function.

1 2 3 8
Complete
Holidays Sick Days Settings

7 HolidayID Start Finish TotalDays Authorisation


1 12/11/2007 13/11/2007 1 Yes
Portal
2 17/12/2007 20/12/2007 4 Yes
Ability to create / edit / delete
3 31/12/2007 31/12/2007 1 Yes
data from the Holidays and
Sick Days table. All this data is
related to the employee stated
above.

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

Computing Project | Thomas Davies 59


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.

Tabbed Menu Nexus - Staff Holiday System Days Left Field


Holidays is highlighted as it is Will go red if they have gone
the selected tab. over their quota. Uses the
New Employee Find Employee Print Future Hols Email Staff Help / Settings calculation between two dates
to work this out.
EmployeeID 1
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
-1
days left

Complete
Holidays Sick Days Settings

HolidayID Start Finish TotalDays Authorisation


1 12/11/2007 22/11/2007 11 Yes
2 17/12/2007 20/12/2007 4 Yes
3 1/1/2008 5/1/2008 6 Yes

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.

Tabbed Menu Nexus - Staff Holiday System Days Left Field


Sick Days is highlighted as it is This field is not affected by the
the selected tab. data in the Sick Days tab as
New Employee Find Employee Print Future Hols Email Staff Help / Settings they do not count towards
holiday leave.
EmployeeID 1
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
14
days left
No Authorisation
Complete The Authorisation field is not
Holidays Sick Days Settings
required as the employer does
SickDayID Start Finish TotalDays
not need to sanction sick
1 12/11/2007 13/11/2007 1
Portal leave like they do for holidays.
2 17/12/2007 20/12/2007 4
Altered its content from the
3 31/12/2007 31/12/2007 1
default Holiday content as the
Sick Days tab has been
selected.

Technical Documentation! 8

Computing Project | Thomas Davies 60


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.

Tabbed Menu
Conserves space, as Sick
Days and Settings will hardly
be used. Holidays set as the Nexus - Staff Holiday System
default tab. Shows each
possible form. Settings is now
highlighted. New Employee Find Employee Print Future Hols Email Staff Help / Settings

EmployeeID 1
FirstName
Surname
Email
James
Smith
jamesmith@nexusgraphics.co.uk
14
days left
Assistance
Simple instructions to inform
Complete
the user what this field does. Holidays Sick Days Settings Default Value
Set as 20 as the current
Please enter the total amount of holidays that James is allowed off
maximum quota at Nexus
Holiday Quota 20
Graphics is 20 days.

Holiday Quota
Enables the administrators to
Personalisation
access and change the
Uses the current employee’s
maximum amount of days
name to show that this
staff members are allowed off.
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

Computing Project | Thomas Davies 61


Reports

Holiday

Current Date
Nexus - Staff Holiday System Shows date of printout.
Makes sure employees know
what document is up-to-date.
Date 03/11/2008
1 2

11
EmployeeID 1
Employee Table Days Left
James Smith
Provides information about the Field is more prominent than

!
jamesmith@nexusgraphics.co.uk days left
employee at the top of their others. Will go red if employee
section. Holiday Sick Day goes over quota.
hID Start Finish Total sID Start Finish Total
1 12/11/2008 12/11/2008 1 sID
1 01/11/2008 02/11/2008 2
2 07/09/2008 08/09/2008 2 sID
2 20/06/2008 21/06/2008 2
Holiday Table SickDays Table
3 20/07/2008 23/07/2008 4 sID
3 - - -
Displays the next 5 holidays Displays the last 5 sick days
4 01/07/2008 01/07/2008 1 sID
4 - - -
for that employee. for that employee.
5 10/01/2008 10/01/2008 1 sID
5 - - -

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

Computing Project | Thomas Davies 62


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 94 Adds all Total 23 Adds all Total 22 Adds all
(Record) Field Sizes (Record) Field Sizes (Record) Field Sizes

Sub-Total 1880 Multiple by Sub-Total 9200 Multiple by Sub-Total 4400 Multiple by


(File) 20 (Staff (File) 20 (Holiday) (File) 10 (Leave) &
Max) & 20 (Staff) 20 (Staff)
Extras 180 Add 10% Extras 920 Add 10% Extras 440 Add 10%
for extras for extras for extras
Total (File) 2060 bytes - Total (File) 10120 byte - Total (File) 4840 bytes -

Total 16.7 kilobytes


(Maximum)

Technical Documentation! 11

Computing Project | Thomas Davies 63


Staff Holiday System

User Guide ii. User Guide

Computing Project | Thomas Davies 64


Contents
1. Getting Started 7. FAQs
Installation! ! ! ! 2 Frequently Asked Questions!! 14
Applications Folder! ! ! 3
8. More Support?
2. Introduction Further Help! ! ! ! 15
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

User Guide 1

Computing Project | Thomas Davies 65


1
Getting Started

Computing Project | Thomas Davies 66


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

Computing Project | Thomas Davies 67


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

Double-click on the
Holidays System icon.

User Guide 3

Computing Project | Thomas Davies 68


2
Introduction

Computing Project | Thomas Davies 69


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

Main tasks grouped


together at the top of
the system.

Employee details.

Their holiday and sick


leave in a tabbed menu.

User Guide 4

Computing Project | Thomas Davies 70


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

Computing Project | Thomas Davies 71


3
Adding Data

Computing Project | Thomas Davies 72


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.

Click on the New


Employee button.
Enter their details here.

User Guide 6

Computing Project | Thomas Davies 73


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.

Click on the Holidays


Tab.

Select the dates using


the Calendar box.

User Guide 7

Computing Project | Thomas Davies 74


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.

Click on the Sick Day


Tab.

Select the dates using


the Calendar box.

User Guide 8

Computing Project | Thomas Davies 75


4
Discovery

Computing Project | Thomas Davies 76


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 "

Click on the Find


Employee button.

Can search all of these


fields.

User Guide 9

Computing Project | Thomas Davies 77


5
Documents

Computing Project | Thomas Davies 78


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.

Click on the Print Future


Holidays button.

The Print dialog box.

User Guide 10

Computing Project | Thomas Davies 79


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.

Click on the E-mail Staff


button.

The Email message


window.

User Guide 11

Computing Project | Thomas Davies 80


6
Backup

Computing Project | Thomas Davies 81


Turn on a Backup
Protecting data is vital in todays world. This system provides a backup solution.
Click on the Help / Settings button.

Click on the Help /


Settings button.

Click on the Backup


button.

User Guide 12

Computing Project | Thomas Davies 82


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.

Click on the OldSystem


icon.

Drag the OldSystem


icon into the USB flash
drive.

Click on the Documents


button.

User Guide 13

Computing Project | Thomas Davies 83


7
FAQs

Computing Project | Thomas Davies 84


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

Computing Project | Thomas Davies 85


8
More Support?

Computing Project | Thomas Davies 86


Further Help
To get further help, click the Help / Settings button. This provides you with more
assistance and FAQs to help solve your problem.

Click on the Help /


Settings button.

User Guide 15

Computing Project | Thomas Davies 87


Evaluation
i. Degree of success in meeting the original objectives

Requirements
Objective ✔ / ✗ Comments Evidence
Full access for only Justin ✔ The pair have complete access to the system, with usernames and Test 41,
Huckfield and the secretary passwords to ensure this level of access only belongs to them. 42
Employees to have limited ✔ Staff members are only allowed to enter their own holiday requests or Test 43,
access. Requests only their sick leave in the system. They also have usernames and 44
passwords to limited their activity on the system.
Requests to take a few minutes ✔ Tested in the test plan and by the Nexus Graphics staff. All tests have Page 56
to complete concluded that requests take less than 1 minute to complete. Test 45
Requests to take a few minutes ✔ / ✗ Tested in the test plan and by Justin. All tests have concluded that Page 56
to sanction authorisation takes less than 1 minute to complete. Even though the Test 46
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.
Calculates the length between ✔ Using a third-party script, I was able to implement this requirement. At Test 17,
the start and finish dates first I believed the standard calculation tools would allow this to work, 1 8 , 2 6 ,
however I had to fall back on the third-party script. 37
Checks that no two staff are ✔ This has been completed by ensuring that both the Start and Finish Test 29
unavailable on the same date dates are unique in the database, therefore allowing only 1 employee
to have a certain day off.
Reports generated for ✔ Used tools built into FileMaker Pro to design and implement the report. Page 33
employees. Shows time left Test 3, 4
and future holidays
A calendar view to show all ✗ Even though I discovered the third-party solution required, integrating it -
employee holidays 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 ✔ This worked very well and was easy to implement using FileMaker Test 3, 4,
send a report to employees Pro’s built-in scripts. There was however, an issue with the mailing 27, 28
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.
A user-friendly system ✔ I used many standard interface objects to ensure the user-friendly Page 12 -
nature of the system. The system has maintained a simple, yet 16, 26 -
effective style, removing any unnecessary clutter. The main feature that 33, 54
improves the usability is the Calendar box which ensures that the data
entered into the Start and Finish fields are in the correct format.
Compatible with both Mac OS ✔ Throughout the process the system has been developed on Mac OS Page 11,
X and Windows Vista X, however it has been constantly tested on Windows Vista to ensure 50
that the solution works correctly and maintains the same look and feel
on both platforms.
System to be implemented for ✔ The system had been completed and tested before April, and during Page 54
April 2008 that month I visited the office to implement the solution.
Able to run on MacBook Air ✔ I ensured that the FileMaker Pro software worked on the MacBook Air Page 11,
specifications or better specifications, which they did by a significant margin. Therefore the 51
other MacBooks could easily handle FileMaker Pro efficiently.

Computing Project | Thomas Davies 88


ii. Evaluate the users’ response to the system

Justin’s Letter

Computing Project | Thomas Davies 89


User-Friendly System
The 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


User Testing
Even 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 - 2.5
following the handover - is 1 minute and 21
seconds faster than the old system. Yet, even 2.0
before the handover, the new system was still
1.5
faster by 52 seconds. This shows that even
without a period of getting used to the new 1.0
system, it is still faster to enter a holiday
request. 0.5
Moreover, the data itself that was entered into 0
the system, while I was with Justin showed no Old System
errors within the system. He was very happy Before Handover
with the completed solution - as shown by his
After Handover
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


iii. Desirable extensions

Good Points
The 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 Points
However, 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 Input
The 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 Mail 11, and on the desktop with Apple Mail12.

Output
To 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

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]

Computing Project | Thomas Davies 92


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 Machine
The release of Mac OS X Leopard introduced many new features, including one which changed the way people thought
about backing up. Time Machine 13 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 Access
In 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.

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]

Computing Project | Thomas Davies 93


Glossary
AirPort Tabbed Menu
Apple’s wireless networking brand. A wireless solution for A navigational interface object that allows switching
printing and sharing files. between different pieces of data.

Entity Relationship Diagram Tiger (10.4)


A graphical representation of entities and their relationships The 5th major release of Mac OS X, developed by Apple
to other entities. and released in April 2005.

Entity Life History Time Machine


Shows the sequencing, iteration and timing of an entity. A back-up tool created by Apple for their operating
system; Leopard (10.5).
Filemaker Inc.
A subsidiary of Apple Inc. that creates database Windows Vista
applications. This is the latest version of Microsoft’s operating system,
Windows. It replaces Windows XP.
Filemaker Pro
A cross-platform database application (Mac OS X and
Windows). Developed by FileMaker Inc.

Gantt Chart
A chart that represents a project schedule, by showing the
expected duration of tasks. The concept was created in
the late 19th Century.

iPhone
A 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 X
A 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.

Portal
An 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.

Computing Project | Thomas Davies 94


Bibliography
Dr. Peter Chen, 1976. The Entity-Relationship Model- Apple, 2007. Apple - Mac OS X Leopard - Features - Mail.
Toward a Unified View of Data. http://www.apple.com/macosx/features/mail.html
http://csc.lsu.edu/news/erd.pdf [Accessed January 2008] [Accessed April 2008]

FileMaker, 2007. FileMaker Pro Tech Specs. Apple, 2007. Apple - Mac OS X Leopard - Features - Time
http://www.filemaker.com/products/fmp/tech_specs.html Machine.
[Accessed February 2008] http://www.apple.com/macosx/features/timemachine.html
[Accessed April 2008]
Apple, 2008. Apple - MacBook Air - Technical
Specifications. FileMaker, 2007. FileMaker Mobile End of Life.
http://www.apple.com/macbookair/specs.html [Accessed http://filemaker.com/support/fmm_eol.html [Accessed April
February 2008] 2008]

Apple, 2008. Apple - AirPort Extreme - Features - Wireless Apple, 2008. Apple Announces iPhone 2.0 Software Beta.
Printing. http://www.apple.com/pr/library/2008/03/06iphone.html
http://www.apple.com/airportextreme/features/ [Accessed April 2008]
printing.html [Accessed April 2008]
Jonas Rask, 2007. Maji Icons.
Aza Raskin, 2006. UI Design Fundamentals. http://jonasraskdesign.com/ [Accessed April 2008]
http://humanized.com/weblog/2006/07/22/
Marja Flick-Buijs, 2008. Background Bliss.
know_when_to_stop_designing_quantitatively [Accessed
http://www.sxc.hu/browse.phtml?f=profile&l=Zela
January 2008]
[Accessed April 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.


h t t p : / / w w w. a p p l e . c o m / m a c b o o k a i r / w i re l e s s . h t m l
[Accessed March 2008]

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


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

Computing Project | Thomas Davies 95

Potrebbero piacerti anche