A-Level Computing Project
A-Level Computing Project
Computing Project
Module: 2510 // Candidate Number: 2054 // Centre Number: 20466
Table of Contents
Definition, Investigation & Analysis
1
Definition 1
Interview 1
Letter 1
Transcript 2
Sample Documents 3
Inefficiencies 3
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
Design Specification 6
Computing Project
i
Entity-Relationship Diagram
7
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
SickDay Tab 14
Settings Tab 15
Reports 16
Holiday 16
CompleteBooking 17
Computing Project
ii
ii. Intended Benefits
17
iii. Limitations 18
Project 18
File Size 18
Software Development 19
Relationships 19
Table Designs 20
Employee Table 20
Holiday Table 20
SickDays Table 21
Value Lists 21
Authorisation 21
CompleteBooking 23
Find Employee 23
New Employee 24
Print 24
Report 25
Backup 25
Form Designs 26
Employee (Holidays) 26
Employee (Settings) 31
Help / Settings 32
Reports 33
Holiday 33
Access Rights 34
Admin 34
Employee 35
Testing 36
Standard Buttons 36
Employee Details 36
Holidays 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
Make Adjustments 49
Show Manager 49
User Training 49
Break 49
Solve Issues 49
Changeover 49
User Training 49
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
Evaluation 88
Computing Project
v
Requirements
88
Justin’s Letter 89
User-Friendly System 90
User Testing 91
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.
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
• 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.
• 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.
The Excel spreadsheet used for current system (Opened in iWork Numbers)
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.
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
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.
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.
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.
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.
HolidayID
EmployeeID
m
FirstName Finish
Email Authorisation
HolidayTotal EmployeeID
SickDay Start
Finish
TotalDays
Key
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]
Employee
Employee
Accept ! Decline !
Holiday
Holiday
Accept ! Decline !
SickDay
SickDay
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
“[email protected]”. 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
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
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.
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.
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 -
1 2 3 8
Complete
Holidays Sick Days Settings
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
Complete
Holidays Sick Days Settings
SickDay Tab
Selecting the Sick Days tab will change the contents of the portal on the form. It will find all relating sick leave about the
current employee and display them in the same format as holidays, except for Authorisation, which is not required for sick
leave. Illness will not affect the employee’s holiday quota, so therefore the Days Left field remains the same.
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
[email protected]
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 -
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
!
[email protected] 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 - - -
Format
Reference Description Colour (Hex) Typeface Size Other
1 Text Fields 979f9f Helvetica (000000) 12 -
2 Text Field 979f9f Helvetica (ff0000) 18 Bold
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]
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
New Window
Opens a new window, so that
the user can still utilise the
data from the previous
window.
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.
Days Left
Employee (Holidays)
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)
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.
27
Days Left
Employee (Sick Days)
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)
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)
Portal
The majority of fields in the
portal can also be used to find
information.
30
Days Left
Employee (Settings)
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
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.
Password
Hidden for security.
34
Employee
Password
Hidden for security.
Account Name
The account name is
‘employee’
Standard Buttons
This section will test the standard menu buttons at the top of all input screens in the solution.
Employee Details
Testing these fields will ensure that the Employee details section of the form works successfully.
Holidays Tab
This section will test all the fields that are included in the Holidays tab which resides below the Employee details section.
Settings Tab
Testing this field will ensure that the calculations in the solution work successfully.
Access Rights
This section will test the access rights, and their restrictions.
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.
Selected Selected
New Employee is the selected Find Employee is the selected
button. button.
Selected
Print Future Holidays is the Selected
selected button. E-mail Staff is the selected
button.
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
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.
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.
Surname Surname
Erroneous data entered into Extreme data entered into the
the field. 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.
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.
DaysLeft DaysLeft
Shows that the employee has Does not affect field
18 days left
Start Start
Erroneous data entered into Extreme data entered into the
the field. 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.
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.
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.
Not editable
This field is unable to be
edited.
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.
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.
Finish Finish
Erroneous data entered into Extreme data entered into the
the field. field.
Quota
Successfully added ‘20’ as the
quota.
Holiday
A two day holiday break. TotalDays
Displays 2 days holiday.
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.
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.
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.
Time Time
Took less than 20 seconds to Took 10 seconds to complete.
complete.
Alternative Methods
There are many differing implementation methods that could be undertaken for this project.
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.
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.
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.
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.
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.
2008
Technical Documentation! 1
HolidayID
EmployeeID
m
FirstName Finish
Email Authorisation
HolidayTotal EmployeeID
SickDay Start
Finish
TotalDays
Key
Technical Documentation! 2
Employee
Employee
Accept ! Decline !
Holiday
Holiday
Accept ! Decline !
SickDay
SickDay
Technical Documentation! 3
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
“[email protected]”. 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
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
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.
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
1 2 3 8
Complete
Holidays Sick Days Settings
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
Complete
Holidays Sick Days Settings
SickDay Tab
Selecting the Sick Days tab will change the contents of the portal on the form. It will find all relating sick leave about the
current employee and display them in the same format as holidays, except for Authorisation, which is not required for sick
leave. Illness will not affect the employee’s holiday quota, so therefore the Days Left field remains the same.
Technical Documentation! 8
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
[email protected]
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
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
!
[email protected] 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 - - -
Technical Documentation! 10
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
Technical Documentation! 11
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
User Guide 2
Double-click on the
Holidays System icon.
User Guide 3
Employee details.
User Guide 4
User Guide 5
User Guide 6
User Guide 7
User Guide 8
User Guide 9
User Guide 10
User Guide 11
User Guide 12
User Guide 13
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.
User Guide 14
User Guide 15
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.
Justin’s Letter
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.
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
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.
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.
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]