Download - A-Level Computing Project
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
Definit ion, Investigation & Analysis
i. Definition - Nature of the problem solved
DefinitionBased in Electric Wharf, Coventry, Nexus Graphics is an Apple Authorised Service Provider (AASP) and Microsoft Small
Business Specialist. Justin Huckfield - who set up the organisation in 1998 - will be the end user for this project. He currently
employs 5 members of staff, with 4 qualified technicians and 1 secretary. The installation of hardware and software for small
business as well as providing on-site support are the two key areas of Nexus Graphics’ business.
Currently Nexus Graphics are having difficulty with tracking holidays for their employees. Over the past year, the organisation
has grown and is now unable to keep track of staff holiday bookings.
The data that is involved in the process is that of the employees’ holiday requests, either through a written note or a
conversation with the manager. They require Justin Huckfield or the secretary to authorise the request for it to be successful.
With the process taking place in the written form or through a conversation, holiday request information can get lost.
Furthermore, for it to be sanctioned, Justin Huckfield will enter the details into an Excel spreadsheet, one set up for each
employee.
Each employee receives 20 days holiday, along with all bank holidays as standard. As it is possible that staff members can
work on weekends, Nexus Graphics include ‘Bonus Days’ which provide employees with extra days if they have worked
more than their required amount. Moreover, with explicit authorisation, staff members can request that some of their days to
be carried over into the next year. However, this and the ‘Bonus Days’ require explicit authorisation, on a one for one basis.
ii. Investigation and Analysis
Interview
LetterOctober 1, 2007
Justin HuckfieldNexus GraphicsC11 Generator HallElectric WharfCV1 4JL
Dear Justin,
Thank you very much for being able to assist me with this project for my computing A-Level. To further the process, it would be of great assistance if I could arrange an interview with you. This interview will allow me to gain a better understanding of the current system, as well as share ideas for the new system.
Please could you suggest a time for this interview, and contact me as soon as possible.
Yours sincerely,
t.davies
Thomas Davies
Copy of the letter I sent to Justin Huckfield concerning the interview
Computing Project | Thomas Davies 1
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
InefficienciesThe employees do not have access to the spreadsheet, as they are unable to sanction the holiday bookings. As Justin
Huckfield has stated in the interview, he wants to be able to email the information to the employees about their holiday
request. With this spreadsheet he is unable to do so with ease. It is not easy to export into Adobe .pdf format, and therefore
has to copy all this information into the email which he will send to the employee in question.
Furthermore, the email sent to inform the employee of the decision is not very helpful. While it is very concise it doesn’t say if
the other staff member has the exact same days off or just a few. If they had access to the system they could see what days
were available, rather than asking for holidays blind. Having all the details, via access to the system, will limit the time
wasted, when Justin Huckfield or the secretary checks to see if the days are available to book.
The current system is also not very scalable. If there is a new employee, a whole new sheet will have to be created, copying
certain data over from others. This wastes considerable amount of time, something which the end user is looking to
minimise with the new system.
Computing Project | Thomas Davies 3
Data Flow Diagrams
Structure Diagrams
1.1 - Request Holiday
2.2 - Checks Employee
3.1 - Checks Dates
3.2 - Add Employee
4.1 - Accepts Request
4.2 - Declines Request
Hardware RequirementsCurrently, all members of staff have an Apple MacBook or MacBook Pro. These notebooks are fairly new, and will only be up
to 1 year old. These notebooks contain the new Intel chips, and not the PowerPC ones. With this in mind, the software used
will have to be compatible for the new chips, either sporting the Universal Binary or Intel only insignia.
Due to the notebook form factor, the input methods will be confined to both the keyboard and trackpad. As Justin Huckfield
stated he would like certain reports to be printed out, the system will be using the office’s laser printer.
Computing Project | Thomas Davies 4
EmployeeDetails received via email
correspondence.
1.1 - Receive
Details from email are
inputed into the system.
1.2 - Input
Checks no one else has
days off. Checks
employee has days left.
1.3 - Validation
Adds the holiday
information into the
system.
1.4 - Add
D1 - HolidaysConfirms Holiday
request has been
sanctioned.
Confirms Holiday
request has
been declined.
Information is stored in
the Holidays section of
the system.
Employee emails
to request holiday.
Software RequirementsAs previously stated in the interview with Justin Huckfield, the system will have to be compatible with both Mac OS X (10.4 /
10.5) and Windows Vista. As the notebooks that the employees are running contain Intel chips, both the Mac OS X and
Windows Vista operating systems will run on them.
Requirement SpecificationFollowing the interview with Justin Huckfield, he has specified certain aspects of the system which will be required.
Input Requirements
• Full access for only Justin Huckfield and the secretary.
• Employees to have limited access. Request only.
• Requests to take a few minutes to complete.
• Requests to take a few minutes to sanction.
Processing Requirments
• Calculate the length between the start and finish dates.
• Checks that no two staff are unavailable on the same date.
Output Requirements
• Report generated for employees. Shows time left and future holidays.
• A calendar view to show all employee holidays.
• Integrated emailing facility to send report to employee.
Miscellaneous Requirements
• A user-friendly system.
• Compatible with both Mac OS X (10.4 / 10.5) and Windows Vista.
• System to be implemented for April 2008.
Alternative ImplementationsThere are many differing implementation approaches that could be undertaken for this project.
Solution Advantages Disadvantages
Same System Cheaper alternative to other solutions.No training required. Users already have system knowledge.
Limited expansion possibilities.
Coded Solution Bespoke software.Small memory footprint.More modifiable than using database software.
Lack of required skills to complete it.
Off the Shelf Software Quicker to implement than bespoke software.Cheaper than bespoke software.Wide range of support via internet, and books.
A solution may not exist.Doesn’t provide exact functions required.
Database Searching is more advanced that Spreadsheets.Has ability to use macros, and templates.Relational information. Can be normalised.
Not included in many office application suites.Requires the high-end packages.Costs more than standard packages.Not easy to program.
Spreadsheet Included in majority of office application suites.Allows for the use of forms and reports.The ability to search through the data, and use macros.
Flat file only.Not normalised.Can have data redundancy.Updating data is difficult.
The chosen implementation for this project will be the database solution. Even though a high-end package will be required,
the facilities included in this piece of software outweighs the increased cost of the package itself. Having the system
normalised is vital for a successful completion. Without normalised data, data redundancy will have a burden on the system.
Computing Project | Thomas Davies 5
Design
i. Nature of the Solution
Design SpecificationThe Requirement Specification has been agreed by the end user. The following Design Specification is how the requirments
will be implemented into the database system.
Input Requirement Information
Full access for only Justin Huckfield and the secretary.
The system will be set up so that Justin Huckfield and the secretary have their own accounts to the database. These will be the only accounts with read / write access to the system. As these users are competent in database applications, they will have the ability to alter the back-end of the system.
Employees to have limited access. Request only.
These users will be assigned an account to the system, however, only allowing limited editing capability. Each employee will be able to edit their own personal record, such as adding new holiday dates.
Requests to take a few minutes to complete.
This will be achieved by limiting the amount of data to be entered. Following the selection of the employee, the only data to be entered will be: Start Date and Finish Date.
Requests to take a few minutes to sanction.
Employees who have just requested holidays will see their details highlighted on the main page of the system. This way, the end user will instantly know what the requests are. To sanction a request, a simple tick box will be implemented.
Processing Requirement Information
Calculate the length between the start and finish dates.
This will be implemented by standard calculation tools, using the built-in scripting tools to create this.
Checks that no two staff are unavailable on the same date.
The system will check once the dates have been entered that the calendar is vacant on those specific dates. If yes, then they are added to the database. If not, then a warning message is displayed.
Output Requirement Information
Report generated for employees. Shows time left and future holidays.
This will be achieved using the built-in report generating tools. The system will allow the report to view data from many different sources.
A calendar view to show all employee holidays
For this to be implemented, the system will include a 3rd party piece of code that enables the calendar view. This will be connected with the data, and will display the holidays on a monthly calender.
Integrated emailing facility to send a report to employees
Using the built-in features, the system will be able to send the report to the employee directly using the integrated emailing system. This will save time as no copying and pasting into an external mail application will be required.
Miscellaneous Requirement Information
A user-friendly system. Take advantage of tool-tips, text boxes, and a calendar pop-up box to make sure the date format is correct.
Compatible with both Mac OS X (10.4 / 10.5) and Windows Vista.
Use a multi-platform application, compatible with Mac OS X and Windows Vista.
System to be implemented for January 2008.
Produce a fully tested, and implemented system into the Nexus Graphics offices, ready for use in January 2008.
Ab le to run on MacBook A i r specifications or better.
Check that FileMaker can run successfully on the MacBook Air, and efficiently on the Intel processors.
Computing Project | Thomas Davies 6
Entity-Relationship DiagramThis Entity-Relationship Diagram is using the Peter Chen notation1 to represent the relationships of this database.
Employee
Holiday
Reserves
SickDay
Confirms
FirstName
Surname
DaysLeft
EmployeeID
EmployeeID
Start
Finish
TotalDays
SickDayID
EmployeeID
Start
Finish
TotalDays
HolidayID
Authorisation
m
1
m
1
Employee Confirms EmployeeID StartSickDayID
Key
Entity Relationship Primary Key Foreign Key Attribute
HolidayTotal
Computing Project | Thomas Davies 7
1 Dr. Peter Chen, 1976. The Entity-Relationship Model-Toward a Unified View of Data.
http://csc.lsu.edu/news/erd.pdf [Accessed January 2008]
Entity Life Histories
Employee
Employee
Creation Life Deletion
Holiday ! Sick Leave ! Details Change !
Request * Return to Work *
Accept ! Decline !
Contact Manager * Return to Work *
Holiday
Holiday
Creation Life Deletion
Request * Complete Holiday *
Accept ! Decline !
SickDay
SickDay
Creation Life Deletion
Contact Manager * Return to Work *
Computing Project | Thomas Davies 8
Relationships
Employee
EmployeeID
FirstName
Surname
DaysLeft
Holiday
HolidayID
EmployeeID
Start
Finish
TotalDays
Authorisation
SickDay
SickDayID
EmployeeID
Start
Finish
TotalDays
Table Designs
Employee Table
Field Name Field Type Validation Example Origin Use
EmployeeID Number Serial Number on creation. Increments from “1”. Required value. Unique, numeric values only.
01 Automatic following the entering of Employee details
Automatically generated identification
FirstName Text Required value: Message (If not completed): “Please enter the First Name of the employee”
Jason Entering it in the Employee details form
First name of the employee
Surname Text Required value: Message (If not completed): “Please enter the Surname of the employee”
Smith Entering it in the Employee details form
Surname of the employee
Email Text Auto-entered example data: “[email protected]”. Required value: Message (If not completed): “Please enter the email of the employee”
Entering it in the Employee details form
Email address of the employee. Will send employee an email whether holiday was authorised or not
DaysLeft Calculation (Number)
User not allowed to enter data. =Settings::HolidayTotal - Sum ( Holiday::TotalDays )
20 Calculation between the TotalDays (Holiday) and Quota (Settings)
Shows how many days are left in an employee’s quota
HolidayTotal Number Auto-entered data: “20” 20 Automatic entry of ‘20’. Can be altered by changing the details
To complete the calculation of how many days the employee is allowed
Computing Project | Thomas Davies 9
Holiday Table
Field Name Field Type Validation Example Origin Use
HolidayID Number Serial Number on creation. Increments from “1”. Required value. Unique, numeric values only.
01 Automatic following the entering of Holiday details
Automatically generated identification
EmployeeID Number Takes data from the Employee table.
01 From the Employee Table. Foreign Key
Links Holiday record with an Employee
Start Date Required value: Message (If not completed): “Please enter the first day of the holiday”. Only allow values of type: “4-Digit Year Date”
11/01/2008 Entered by selecting date on a Calendar pop-up in the Holiday portal on Employee form
Shows the first day of the holiday
Finish Date Required value: Message (If not completed): “Please enter the last day of the holiday”. Only allow values of type: “4-Digit Year Date”
15/01/2008 Entered by selecting date on a Calendar pop-up in the Holiday portal on Employee form
Shows the final day of the holiday
TotalDays Calculation (Number)
User not allowed to enter data. = age ( Start ; Finish )
4 Calculating the total length of the holiday by using Start and Finish. Uses the Calculation between two dates script
Shows the total length of the holiday. Used to calculate DaysLeft (Employee)
Authorisation Boolean Select either “Yes” or “No” Yes Selecting it in the Holiday portal on Employee form
States whether holiday is authorised. Required to send correct email
SickDay Table
Field Name Field Type Validation Example Origin Use
SickDayID Number Serial Number on creation. Increments from “1”. Required value. Unique, numeric values only.
01 Automatic following the entering of SickDay details
Automatically generated identification
EmployeeID Number Takes data from the Employee table.
01 From the Employee Table. Foreign Key
Links SickDay record with an Employee
Start Date Required value: Message (If not completed): “Please enter the first day of the ill period”. Only allow values of type: “4-Digit Year Date”
21/01/2008 Entered by selecting date on a Calendar pop-up in the SickDay portal on Employee form
Shows the first day of sick leave
Finish Date Required value: Message (If not completed): “Please enter the last day of the ill period”. Only allow values of type: “4-Digit Year Date”
21/01/2008 Entered by selecting date on a Calendar pop-up in the SickDay portal on Employee form.
Shows the final day of sick leave
TotalDays Calculation (Number)
User not allowed to enter data. = age ( Start ; Finish )
1 Calculating the total length of sick leave by using Start and Finish. Uses the Calculation between two dates script
Shows the total length of sick leave
Computing Project | Thomas Davies 10
SoftwareThe holiday booking system will be run in the cross-platform software; FileMaker Pro. The product is a database application
and requires users to have Mac OS X 10.4 / 10.5 or Windows XP / Vista2. As all Nexus Graphics’ employees have either
Mac OS X 10.5 or Windows Vista running on their Apple notebooks, FileMaker Pro will run successfully on their Operating
Systems.
HardwareA requirement for the system is to be able to run successfully on the MacBook Air specifications3 or better. In terms of
hardware specifications, the MacBook Air is the least powerful out of the MacBook range. Therefore, as all staff have an
Apple notebook, running efficiently on a MacBook Air means FileMaker Pro will run well on any other MacBook. FileMaker
Pro requires at least 512MB of RAM, with an Intel processor, both of which the MacBook Air possesses. This results in the
fact that FileMaker Pro will be able to run efficiently across the whole line of MacBooks.
PrinterThe company offices are networked using Apple’s AirPort Extreme hardware devices. This technology allows Nexus
Graphics to share files on connected hard drives, as well as print documents wirelessly4.
As the employees use notebooks, wireless printing is fundamental to ensure efficiency. Therefore, I have selected a printer
that is compatible with the Airport Extreme base station; the HP DeskJet F4180, a simple multifunction inkjet printer.
However, even though I have selected this printer, any standard inkjet that is capable of connecting with the AirPort Extreme
device can be used for this system.
Computing Project | Thomas Davies 11
2 FileMaker, 2007. FileMaker Pro Tech Specs.
http://www.filemaker.com/products/fmp/tech_specs.html [Accessed February 2008]
3 Apple, 2008. Apple - MacBook Air - Technical Specifications.
http://www.apple.com/macbookair/specs.html [Accessed February 2008]
4 Apple, 2008. Apple - AirPort Extreme - Features - Wireless Printing.
http://www.apple.com/airportextreme/features/printing.html [Accessed April 2008]
Form Designs
Standard Header
There are several forms in this staff holiday system. While they all complete different tasks, many operations on the forms
produce similar actions. For example, these include the ‘Find Employee’ and ‘Print’ tasks. On all pages these will instigate a
search and document print respectively. These operations remain in the same place on all pages so that the users can grow
accustomed and habituate to the tasks. Therefore, a list of all common interactions included in the system are listed below.
Nexus - Staff Holiday System
New Employee Find Employee Print Future Hols Email Staff Help / Settings
1 2 3 4 5
6
User Interactions
Reference Interactions Comments / Options
1 Find Employee Enters Find Mode
2 New Employee Enters New Record Mode
3 Print Future Holidays Prints IndividualEmployee Report
4 Email Staff Emails employees with the holiday listings
5 Help / Settings Enters the Help Page
Format
Reference Description Colour (Hex) Typeface Size Other
1, 2, 3, 4 Buttons 408cc0 Helvetica (000000) 12 -
5 Buttons ff6600 Helvetica (000000) 12 Orange to highlight significance of Help
6 Header e7e7e7 Helvetica (185792) 24 -
Computing Project | Thomas Davies 12
Employee Form
This form will be edited by both employees and the end user, Justin Huckfield. The majority of the work in the system will
occur on this form. It will allow employees to request holiday periods, while allowing Justin Huckfield to either sanction or
deny the holiday request. For data entry, this is the only form that the employees will use. To maintain simplicity for the users,
this form will house both the employee details, as well as their individual holidays and sick days. Implementing the form in
such a manner will save users time and effort, as they do not have to edit multiple forms just to add a single holiday request.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
14days left
Holidays Sick DaysComplete
HolidayID Start Finish TotalDays Authorisation
1 12/11/2007
17/12/2007
31/12/2007
2
3
13/11/2007
20/12/2007
31/12/2007
1
4
1
Yes
Yes
Yes
Tabbed Menu
Conserves space, as Sick
Days will hardly be used.
Holidays set as the default tab.
Shows each possible form.
Portal
Ability to create / edit / delete
data from the Holidays and
Sick Days table. All this data is
related to the employee stated
above.
Days Left Field
Number is enlarged, so end
user can see easily how many
days are left. Will go red if they
have gone over their quota.
Uses the calculation between
two dates function.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
81 2
4 56
7
3
Sources Field Type
Employee Table Main Form
Holiday Table Portal (Subform)
SickDay Table Portal (Subform)
User Interactions
Reference Interactions Comments / Options
1 Holidays Shows the list of holidays that the employee has had. Can create / edit / delete data.
2 Sick Days Shows the list of sick days that the employee has had. Can create / edit / delete data.
3 Settings Shows the Settings page. Can edit the total amount of days that staff can have off.
8 Complete Implements the CompleteBooking Script.
Format
Reference Description Colour (Hex) Typeface Size Other
1, 2, 3 Tabs 408cc0 Helvetica (000000) 12 -
4 Labels 408cc0 Helvetica (000000) 12 Bold
5 Text Fields aaaaaa Helvetica (000000 or ff0000) 48 Red (ff0000) if employee is over quota
6, 7 Text Fields 408cc0 Helvetica (000000) 12 -
8 Button 408cc0 Helvetica (000000) 12 -
To improve form entry, both the ‘Start’ and ‘Finish’ fields include a drop-down calendar. This is to
ensure that the dates are entered in the correct format, so the system to understand it.
Implementing this feature will result in less error messages. Lowering the amount of monolog
boxes highlighting errors will improve both efficiency and usability. They merely disrupt the user’s
workflow, and provide no alternative solutions, resulting in 0% efficiency.5
Computing Project | Thomas Davies 13
5 Aza Raskin, 2006. UI Design Fundamentals.
http://humanized.com/weblog/2006/07/22/know_when_to_stop_designing_quantitatively [Accessed January 2008]
Over the Quota
This scenario is witnessed when an employee goes over their quota. To alert the user the Days Left field changes the text
colour to red, informed them that the employee has used up their holiday quota and a solution to this problem is required.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
-1days left
Holidays Sick DaysComplete
HolidayID Start Finish TotalDays Authorisation
1 12/11/2007
17/12/2007
1/1/2008
2
3
22/11/2007
20/12/2007
5/1/2008
11
4
6
Yes
Yes
Yes
Tabbed Menu
Holidays is highlighted as it is
the selected tab.
Days Left Field
Will go red if they have gone
over their quota. Uses the
calculation between two dates
to work this out.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
SickDay Tab
Selecting the Sick Days tab will change the contents of the portal on the form. It will find all relating sick leave about the
current employee and display them in the same format as holidays, except for Authorisation, which is not required for sick
leave. Illness will not affect the employee’s holiday quota, so therefore the Days Left field remains the same.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
14days left
Holidays Sick DaysComplete
SickDayID Start Finish TotalDays
1 12/11/2007
17/12/2007
31/12/2007
2
3
13/11/2007
20/12/2007
31/12/2007
1
4
1
Tabbed Menu
Sick Days is highlighted as it is
the selected tab.
Portal
Altered its content from the
default Holiday content as the
Sick Days tab has been
selected.
Days Left Field
This field is not affected by the
data in the Sick Days tab as
they do not count towards
holiday leave.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
No Authorisation
The Authorisation field is not
required as the employer does
not need to sanction sick
leave like they do for holidays.
Computing Project | Thomas Davies 14
Settings Tab
This form will be edited by the end user, Justin Huckfield. It is a very simple form to make sure that the user is not
overwhelmed with irrelevant setting for the system. The only setting that the administrators will need to update is the holiday
quota (The maximum amount of days allowed off for holiday), and therefore this option is set out very clearly. Only the
administrators will have access to this page as they are the ones who having the rights to update this setting, while the
employees are restricted from viewing this content. Allowing the administrators to update the holiday quota means that the
system is very scalable, and can change depending on the needs of the company.
This setting is unique to each employee to ensure that the quotas are fair. For example, it is unfair for an employee to join half
way through the year and receive 20 days off, as they should only have 10 days for the remaining second half of the year.
Furthermore, the company may introduce a loyalty scheme allowing staff members that have worked at Nexus Graphics for
a prolonged period of time to have higher quotas. This feature furthers the scalability of the solution, as it does not restrict
the company from introducing new policies concerning holiday leave.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
14days left
Holidays Sick DaysComplete
Tabbed Menu
Conserves space, as Sick
Days and Settings will hardly
be used. Holidays set as the
default tab. Shows each
possible form. Settings is now
highlighted.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
Holiday Quota 20
Holiday Quota
Enables the administrators to
access and change the
maximum amount of days
staff members are allowed off.
Default Value
Set as 20 as the current
maximum quota at Nexus
Graphics is 20 days.
Please enter the total amount of holidays that James is allowed off
Assistance
Simple instructions to inform
the user what this field does.
Personalisation
Uses the current employee’s
name to show that this
Holiday Quota is linked to the
employee.
User Interactions
Reference Interactions Comments / Options
1 Holiday Quota User enters the maximum number of days allowed for holidays.
Format
Reference Description Colour (Hex) Typeface Size Other
1 Text Fields 408cc0 Helvetica (000000) 12 -
Computing Project | Thomas Davies 15
Reports
Holiday
!
Nexus - Staff Holiday System
EmployeeID 1
James Smith
11days left
Holiday
hID Start Finish Total
Sick Day
sID Start Finish Total
1 12/11/2008 12/11/2008 1 sID 01/11/2008 02/11/2008 2
2 07/09/2008 08/09/2008 2 sID 20/06/2008 21/06/2008 2
3 20/07/2008 23/07/2008 4 sID - - -
4 01/07/2008 01/07/2008 1 sID - - -
5 10/01/2008 10/01/2008 1 sID - - -
1
2
3
4
5
Days Left
Field is more prominent than
others. Will go red if employee
goes over quota.
Date 03/11/2008
Current Date
Shows date of pr intout.
Makes sure employees know
what document is up-to-date.
Employee Table
Provides information about the
employee at the top of their
section.
Holiday Table
Displays the next 5 holidays
for that employee.
SickDays Table
Displays the last 5 sick days
for that employee.
21
Sources Field Type
Employee Table -
Holiday Table -
SickDay Table -
Format
Reference Description Colour (Hex) Typeface Size Other
1 Text Fields 979f9f Helvetica (000000) 12 -
2 Text Field 979f9f Helvetica (ff0000) 18 Bold
Computing Project | Thomas Davies 16
Scripts and FunctionsTo make the system fully functional, scripts and functions have been implemented. This is due to the fact that certain
features are lacking in the FileMaker Pro software.
Calculation between two dates6
Let ( [
neg = Case ( date1 > date2; -1; 1 );
d1 = Case ( neg < 0; date2; date1 );
d2 = Case ( neg < 0; date1; date2 );
d = Mod ( Day ( d2 ) - Day ( d1 ); Day (
Date ( Month ( d1 ) + 1; 0; Year ( d1 ) ) ) );
m = Mod ( Month ( d2 ) - Month ( d1 ) -
( Day ( d2 ) < Day ( d1 ) ); 12 );
y = Year ( d2 ) - Year ( d1 ) - ( ( Month ( d2 ) -
( Day ( d2 ) < Day ( d1 ) ) ) < Month ( d1 ) )
];
y * neg & ¶ &
m * neg & ¶ &
d * neg & ¶ &
y & " years, " & m & " months, and " & d & " days" & ¶
)
CompleteBooking
If [Holiday::Authorisation = “Yes”]
Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been authorised.”]
End If
If [Holiday::Authorisation = “No”]
Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been rejected.
Please choose another date, or email me to discuss the issue”]
Delete Portal Row [No dialog]
End If
Refresh Window [Flush cached join results]
ii. Intended BenefitsThe main benefit that the end user will receive following the implementation of this system will be the increased pace that a
holiday can be requested and sanctioned. The old system was using three different applications to solve one problem. Using
Excel to maintain the information, while using iCal to look at certain dates, and finally Apple Mail to inform the employee
either that they have been successful or not. However, with the new system, all this can be managed in FileMaker, and the
emailing system will be achieved from just one click of a button. The overall increase in speed will allow the company to
focus on more important tasks, such as working with clients.
Furthermore, the new system will allow the end user to maintain control over the employees’ holidays. The user interface has
been designed to show the important information more prominently in both input screens and print-outs. When viewing
details on employees, the most prominent piece of information is the field containing how many days that employee can
request. With this being so visible, the end user will not have to waste much time in declining the request if the employee has
used up their holiday quota.
Computing Project | Thomas Davies 17
6 Winfried Huslik, 2006. Calculating the distance between two dates.
http://www.fmdiff.com/fm/agecalc.html [Accessed December 2007]
The system to be implemented will also involve the employees more. Rather than trying to get in contact with Justin
Huckfield to see if they can have a holiday - which can be difficult as many meetings take place at the client’s offices - they
can simply request it in the system, and wait until Justin Huckfield sanctions or declines the holiday request. Moreover, if the
employee enters the request into the system, Justin Huckfield will have less work to do.
iii. Limitations
Project
Even though the company only has 6 employees, significant staff expansion could be an issue for the system. One
requested feature was that no two employees could have the same day off. However, taking into account bank holidays,
Nexus Graphics could only employ 11 more members of staff before this could become an issue. Methods of solving this
could be either removing the warning system, or alter their working practise and allow two employees to have the same day
off.
As the company is quite mobile throughout the working day, it would have been good to implement a web-entry feature for
the system. However, this feature is only available in the latest versions of Filemaker Pro, and Nexus Graphics maintain an
older version, so therefore it will not be possible. Yet, it will still be possible and adequate to complete the holiday requests
over the company network in their office.
File Size
Employee Table Holiday Table SickDay Table
Field Name Field Size Comments Field Name Field Size Comments Field Name Field Size Comments
EmployeeID 2 - HolidayID 2 - SickDayID 2 -
FirstName 20 - EmployeeID 2 - EmployeeID 2 -
Surname 20 - Start 8 - Start 8 -
Email 50 - Finish 8 - Finish 8 -
DaysLeft 2 - TotalDays 2 - TotalDays 2 -
Authorisation 1 bit 1 byte
Total
(Record)
94 Adds all Field Sizes
Total
(Record)
23 Adds all Field Sizes
Total
(Record)
22 Adds all Field Sizes
Sub-Total
(File)
1880 Multiple by 20 (Staff Max)
Sub-Total
(File)
9200 Multiple by 20 (Holiday) & 20 (Staff)
Sub-Total
(File)
4400 Multiple by 10 (Leave) & 20 (Staff)
Extras 180 Add 10% for extras
Extras 920 Add 10% for extras
Extras 440 Add 10% for extras
Total (File) 2060 bytes - Total (File) 10120 byte - Total (File) 4840 bytes -
Total
(Maximum)
16.7 kilobytes
Computing Project | Thomas Davies 18
Software Development, Testing & Implementation
i. Development and Testing
Software DevelopmentThe solution to the problem was created in the multi-platform software application,
FIleMaker Pro. It was developed using Mac OS X. The database management tool can run
on both Windows and Mac OS X, and is therefore perfect for Nexus Graphics, even though
Mac OS X is their main choice of operating systems.
Relationships
Relationship
The Employee to SickDays
table is a One to Many
relationship.
Relationship
The Employee to Holiday table
is a One to Many relationship.
Help Page
This is not linked to any other
table as it only holds textual
information on using the
system, and therefore needs
no i n te rac t i on w i th t he
database.
Computing Project | Thomas Davies 19
Table Designs
Employee Table
Auto-enter Data
Default value is 20 days, as
this is the current amount.
Auto-enter Data
Provides an example email
address to ensure the user
knows how to enter the email
address.
Maximum Value
20 characters maximum for
the FirstName and Surname
fields.
Calculated Field
DaysLeft field is a calculation,
and utilises the Calculation
between two dates script.
Holiday Table
4-Digit Year Date
To ensure data is entered
correctly, the system requires
users to enter the Year in a 4-
digit format. This is to make
sure the calculations are
performed correctly.
Calculated Field
TotalDays field is a calculation,
and utilises the Calculation
between two dates script.
Message
Provides a message to inform
users when they have entered
the data incorrectly.
Value List
Uses the Authorisation Value
list. Makes sure only correct
data is entered.
Computing Project | Thomas Davies 20
SickDays Table
4-Digit Year Date
To ensure data is entered
correctly, the system requires
users to enter the Year in a 4-
digit format. This is to make
sure the calculations are
performed correctly.
Calculated Field
TotalDays field is a calculation,
and utilises the Calculation
between two dates script.
Message
Provides a message to inform
users when they have entered
the data incorrectly.
Value Lists
Authorisation
Custom Values
These are values which are
not set through calculations in
the system itself. They are
predefined values
Values
This Value List has only 2
values; ‘Yes’ and ‘No’. This is
to ensure only correct data is
entered into the Authorisation
field on the Holidays table.
Computing Project | Thomas Davies 21
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
Delete Portal Row
If the request is not allowed,
then the system will email the
employee, and delete that
request from the system.
Authorisation Granted
If the request is allowed, then
an email will be sent to the
employee informing them that
t h e h o l i d a y h a s b e e n
sanctioned.
Find Employee
Find Mode
Enters the Find Mode for the
Employee page. Any field that
is editable, is also findable on
this screen.
New Window
Opens a new window, so that
the user can still utilise the
da ta f rom the p rev ious
window.
Computing Project | Thomas Davies 23
New Employee
New Record
Enters the New Record mode
for the Employee page, so that
a new employee could be
added to the database.
New Window
Opens a new window, so that
the user can still utilise the
da ta f rom the p rev ious
window.
Perform Find
Discovers the information
needed from the database for
the printout.
New Window
Opens a new window, so that
the user can still utilise the
da ta f rom the p rev ious
window.
Enter Preview Mode
So the user can see what the
printout will look like.
Prints out the information, after
the user has finalised the
script.
Computing Project | Thomas Davies 24
Report
New Window
Opens a new window, so that
the user can still utilise the
da ta f rom the p rev ious
window.
Enter Preview Mode
So the user can see what the
printout will look like.Send Mail
Adds the PDF file to the email,
and sends to all employees.
This is done by using the
addresses in the email field.
Save as PDF
Following the creation of the
file, it is automatically saved as
a PDF for email usage.
Backup
Copy
Creates a pure copy of the
system at the time of backup.
The file is called ‘OldSystem’
a n d i s s a v e d i n t o t h e
Documents folder.
Computing Project | Thomas Davies 25
Form Designs
Employee (Holidays)
Se
lec
ted
Ta
b
Ho
lid
ays
is
cu
rre
ntl
y th
e
sele
cte
d
tab
, and
there
fore
show
s
all
the
holid
ays
th
at
Nath
an L
aw
is h
avi
ng.
Au
tho
risa
tio
n
All
of
Nath
an Law
’s holid
ays
ha
ve
b
ee
n
all
ow
ed
, a
nd
there
fore
th
ey have
not
been
dele
ted
fro
m t
he d
ata
base.
Da
ys L
eft
Show
s th
e
user
that
Nath
an
Law
has
6
d
ays
le
ft
of
his
cu
rre
nt
ho
lid
ay
qu
ota
.
Calc
ula
ted
with
in
form
atio
n
from
th
e T
ota
l D
ays
fie
ld a
nd
the T
ota
l H
olid
ay
field
(S
ett
ings
tab
).
Ho
lid
ay T
ab
le
Th
is
is
all
the
ho
lid
ay
info
rmation
fr
om
th
e
Holid
ay
Tab
le, re
lating t
o N
ath
an L
aw
.
Em
ail
Info
rmation u
sed
to e
sta
ff
directly
from
the s
yste
m.
Em
plo
ye
e T
ab
le
This
is a
ll th
e e
mp
loye
e in
form
ation
fro
m t
he E
mp
loye
e
Tab
le, re
lating t
o N
ath
an L
aw
.
Complete
Used
when
the
end user
has
decid
ed
wh
eth
er
a
ho
liday
should
be a
llow
ed
. B
egin
s t
he
Com
ple
teB
ookin
g s
crip
t.
Computing Project | Thomas Davies 26
Employee (Over the limit)
Se
lec
ted
Ta
b
Ho
lid
ays
is
cu
rre
ntl
y th
e
sele
cte
d
tab
, and
there
fore
show
s
all
the
holid
ays
th
at
Nath
an L
aw
is h
avi
ng.
Au
tho
risa
tio
n
All
of
Nath
an Law
’s holid
ays
ha
ve
b
ee
n
all
ow
ed
, a
nd
there
fore
th
ey have
not
been
dele
ted
fro
m t
he d
ata
base.
Da
ys L
eft
Show
s th
e
user
that
Nath
an
Law
has
gone o
ver
his
quota
.
This
info
rmation is
hig
hlig
hte
d
in
red
to
em
ph
asis
es
this
info
rmation.
Calc
ula
ted
with
in
form
atio
n
from
th
e T
ota
l D
ays
fie
ld a
nd
the T
ota
l H
olid
ay
field
(S
ett
ings
tab
).
The r
eason g
oin
g o
ver
the
lim
it
is allo
wed
is d
ue
to
th
e fa
ct
that
em
plo
yees
can
w
ork
in
weekend
s,
and t
here
fore
have
extr
a d
ays
off.
Ho
lid
ay T
ab
le
Th
is
is
all
the
ho
lid
ay
info
rmation
fr
om
th
e
Holid
ay
Tab
le, re
lating t
o N
ath
an L
aw
.
As
show
n,
Nath
an
Law
has
gone o
ver
his
usual q
uota
.
Em
ail
Info
rmation u
sed
to e
sta
ff
directly
from
the s
yste
m.
Em
plo
ye
e T
ab
le
This
is a
ll th
e e
mp
loye
e in
form
ation
fro
m t
he E
mp
loye
e
Tab
le, re
lating t
o N
ath
an L
aw
.
Computing Project | Thomas Davies 27
Employee (Sick Days)
Se
lec
ted
Ta
b
Sic
k
Days
is
cu
rren
tly
the
sele
cte
d
tab
, and
there
fore
show
s all
the
sic
k
days
th
at
Nath
an L
aw
has h
ad
off.
Da
ys L
eft
Show
s th
e
user
that
Nath
an
Law
has
6
d
ays
le
ft
of
his
cu
rre
nt
ho
lid
ay
qu
ota
.
Calc
ula
ted
with
in
form
atio
n
from
th
e T
ota
l D
ays
fie
ld a
nd
the T
ota
l H
olid
ay
field
(S
ett
ings
tab
).
As s
how
n,
the s
ick
days
that
Nath
an L
aw
has h
ad
off d
oes
not
effect
how
m
any
days
he
has le
ft for
holid
ays
.
Sic
kD
ay T
ab
le
Th
is
is
all
the
sic
k
da
ys
info
rmation
fr
om
th
e S
ickD
ay
Tab
le, re
lating t
o N
ath
an L
aw
.
Em
ail
Info
rmation u
sed
to e
sta
ff
directly
from
the s
yste
m.
Em
plo
ye
e T
ab
le
This
is a
ll th
e e
mp
loye
e in
form
ation
fro
m t
he E
mp
loye
e
Tab
le, re
lating t
o N
ath
an L
aw
.
Computing Project | Thomas Davies 28
Employee (New Employee)
De
fau
lt D
ays L
eft
As
20
days
is
the
curr
ent
holid
ay
quota
, th
e s
yste
m h
as
that
as t
he d
efa
ult v
alu
e.
De
fau
lt T
ab
Holid
ays is a
lways t
he f
irst
tab
to b
e s
een,
as t
he m
ajo
rity
of
the w
ork
will
be
done w
ith t
his
tab
le.
Em
plo
ye
eID
As th
e E
mp
loyeeID
is
set
by
the s
yste
m,
is it
un-e
ditab
le b
y
the u
sers
to e
nsure
it is a
lways
uniq
ue.
Em
ail
Pro
vid
es
an
exam
ple
em
ail
ad
dre
ss
to
ensure
th
at
the
user
und
ers
tand
s t
he form
at.
Computing Project | Thomas Davies 29
Employee (Find Mode)
Da
ys L
eft
This
fie
ld i
s n
ot
searc
hab
le,
as
it p
rovid
es
p
oo
r searc
hin
g
cap
ab
ility
.
Po
rta
l
The
majo
rity
of
field
s in
th
e
port
al can
als
o b
e u
sed t
o f
ind
info
rmation.
Fin
din
g
The b
est
way
to f
ind a
sp
ecifi
c
em
plo
yee is
in t
he F
ind M
od
e.
Pro
vid
es
the
ab
ility
to
searc
h
wit
h
an
y
fie
ld,
eve
n
the
FirstN
am
e,
if th
e E
mp
loyeeID
is u
navaila
ble
.
Computing Project | Thomas Davies 30
Employee (Settings)
Se
lec
ted
Ta
b
Se
ttin
gs
is
cu
rre
ntl
y th
e
sele
cte
d
tab
, and
there
fore
sh
ow
s
sett
ing
s
for
Nath
an
Law
.
Da
ys L
eft
Show
s th
e
user
that
Nath
an
Law
has
6
d
ays
le
ft
of
his
cu
rre
nt
ho
lid
ay
qu
ota
.
Calc
ula
ted
with
in
form
atio
n
from
th
e T
ota
l D
ays
fie
ld a
nd
the T
ota
l H
olid
ay
field
(S
ett
ings
tab
).
Se
ttin
gs
This
is
th
e
Holid
ayT
ota
l fie
ld
from
the E
mp
loye
e t
ab
le.
Em
ail
Info
rmation u
sed
to e
sta
ff
directly
from
the s
yste
m.
Em
plo
ye
e T
ab
le
This
is a
ll th
e e
mp
loye
e in
form
ation
fro
m t
he E
mp
loye
e
Tab
le, re
lating t
o N
ath
an L
aw
.
Pe
rso
na
lisa
tio
n
Inclu
des h
is first
nam
e;
Nath
an
in t
he
Sett
ings p
age.
This
is to
ensure
that
the
user
sees t
he
link b
etw
een
Nath
an L
aw
and
the H
olid
ayT
ota
l fie
ld.
Computing Project | Thomas Davies 31
Help / Settings
He
lp /
Se
ttin
gs B
utt
on
Th
e
bu
tto
n
is
co
lou
red
Ora
nge,
so
that
the user
can
ea
sil
y
rec
og
nis
e
- a
nd
dif
fere
nti
ate
fr
om
o
the
r
butt
ons
- w
here
the h
elp
page
is.
Ba
ck
up
Imp
lem
ents
the
Backup s
crip
t.
A sim
ple
w
ay
to b
ackup
th
e
syste
m.
One
clic
k
and
the
backup is
cre
ate
d a
nd
sto
red
in t
he D
ocum
ents
fold
er.
He
lp
Pro
vid
es
sim
ple
assis
tance o
n
scre
en,
and
answ
er
possib
le
qu
eri
es
w
he
re
the
syste
m
mig
ht
have
cert
ain
is
su
es.
Perf
ect
so
lutio
n
for
sim
ple
issu
es,
wit
ho
ut
ha
vin
g
to
waste
tim
e c
onsultin
g t
he u
ser
guid
e.
Computing Project | Thomas Davies 32
Reports
Holiday
Current Date
Shows the date the printout
occurred.
Days Left
Much like in the Employee
form, the Days Left field is
highlighted by the larger font.
Will go Red if they have gone
over their holiday quota.
Employee Table
Provides information about the
employee at the top of their
section.
Holiday Table
Shows the next 5 up and
coming holidays that each
employee has.SickDays Table
Shows the last 5 sick days
that each employee has had.
Computing Project | Thomas Davies 33
Access Rights
Admin
Fu
ll A
cc
ess
Can c
reate
/ d
ele
te /
ed
it d
ata
in t
he s
yste
m.
Ac
tive
This
acco
unt
can b
e used in
the s
yste
m.
Ac
co
un
t N
am
e
The a
cco
unt
nam
e is ‘
ad
min
’
Pa
ssw
ord
Hid
den fo
r security
.
Computing Project | Thomas Davies 34
Employee
Employee Privilege Set
A custom set of privileges for
the employees.
Active
This account can be used in
the system.
Account Name
T h e a c c o u n t n a m e i s
‘employee’
Password
Hidden for security.
Employee Privilege Set
Employee Table
Only allowed to view the
Employee details.
Holiday & SickDays Table
Can view and Create holidays. Field Access
Able to see the fields.
Computing Project | Thomas Davies 35
Testing
Standard Buttons
This section will test the standard menu buttons at the top of all input screens in the solution.
No. Description Data Input Expected Results Actual Results ✔ / ✗
1 Select the ‘New Employee’ button
Mouse Click Will create a new record Creates a new record ✔
2 Select the ‘Find Employee’ button
Mouse Click Will enter the find mode Enters the find mode ✔
3 Select the ‘Print Future Holiday’ button
Mouse Click Will print future holidays Prints future holidays ✔
4 Select the ‘E-mail Staff’ button Mouse Click Will e-mail staff with holidays PDF file
Emails staff with the PDF file ✔
5 Select the ‘Help / Settings’ button
Mouse Click Will go to the Help / Settings page
Goes to the Help / Settings page
✔
Employee Details
Testing these fields will ensure that the Employee details section of the form works successfully.
No. Field Type Input Expected Results Actual Results ✔ / ✗
6 employeeID - Attempts to edit the field
Will display a message that the field is not editable
Disp lays a message stating that the field is not editable
✔
7 FirstName Normal Steven Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
8 FirstName Erroneous 123 Will display a message stating that the data type entered is invalid
Displayed a message stating that the data type entered was invalid
✔
9 FirstName Extreme Stevenqwertyuiopasdfg
Will display a message stating that the field can o n l y c o n t a i n 2 0 characters
Displayed a message stating that the field can o n l y c o n t a i n 2 0 characters
✔
10 Surname Normal Davies Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
11 Surname Erroneous 123 Will display a message stating that the data type entered is invalid
Displayed a message stating that the data type entered was invalid
✔
12 Surname Extreme Daviesqwertyuiopasdfg
Will display a message stating that the field can o n l y c o n t a i n 2 0 characters
Displayed a message stating that the field can o n l y c o n t a i n 2 0 characters
✔
13 Email Normal [email protected]
Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
14 Email Erroneous stevendavies Will display a message stating that it requires an ‘@’ symbol
Displayed a message stating that it requires an ‘@’ symbol
✔
15 Email Extreme [email protected]
Will display a message stating that the field can o n l y c o n t a i n 6 0 characters
Displayed a message stating that the field can o n l y c o n t a i n 6 0 characters
✔
Computing Project | Thomas Davies 36
No. Field Type Input Expected Results Actual Results ✔ / ✗
16 DaysLeft - Attempts to edit the field
Will not be editable Was editable ✗
17 DaysLeft Normal Enter a 2 day holiday in the Holidays tab
Will show the employee has 18 days left
Showed the employee had 18 days left
✔
18 DaysLeft Erroneous Enter a 2 day sick leave in the Sick Days tab
W i l l n o t a f f e c t t h e DaysLeft field
D i d n o t a f f e c t t h e DaysLeft field
✔
Holidays Tab
This section will test all the fields that are included in the Holidays tab which resides below the Employee details section.
No. Field Type Input Expected Results Actual Results ✔ / ✗
19 HoldayID - Attempts to edit the field
Will not be editable Was not editable ✔
20 Start Normal 14/04/2008 Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
21 Start Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example
Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example
✔
22 Start Extreme 32/04/2008 Will display a message stating that the date is wrong
Displayed a message stating that the date was wrong
✔
23 Finish Normal 14/04/2008 Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
24 Finish Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example
Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example
✔
25 Finish Extreme 32/04/2008 Will display a message stating that the date is wrong
Displayed a message stating that the date was wrong
✔
26 TotalDays - Enter a 2 day holiday in the Start and Finish fields
Will show the number ‘2’ Showed the number ‘2’ ✔
27 Authorisation - Selects ‘Yes’ and clicks ‘Complete’
Will send an email to the employee
Sent an email to the employee
✔
28 Authorisation - Se l ec t s ‘No ’ and clicks ‘Complete’
Will delete the entry from the database and sends an email to the employee
Entry deleted from the database and sent an email to the employee
✔
29 - - Two holidays start on the 15/05/2008
Will not allow the second entry to be stored.
Did not all the second entry to be stored.
✔
Sick Days Tab
This section will test all the fields that are included in the Sick Days tab which resides below the Employee details section.
No. Field Type Input Expected Results Actual Results ✔ / ✗
30 SickDaysID - Attempts to edit the field
Will not be editable Was not editable ✔
Computing Project | Thomas Davies 37
No. Field Type Input Expected Results Actual Results ✔ / ✗
31 Start Normal 14/04/2008 Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
32 Start Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example
Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example
✔
33 Start Extreme 32/04/2008 Will display a message stating that the date is wrong
Displayed a message stating that the date was wrong
✔
34 Finish Normal 14/04/2008 Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
35 Finish Erroneous 14/4/08 Will display a message stating that the input is t h e w r o n g f o r m a t . Provides an example
Displayed a message stating that the input was t h e w r o n g f o r m a t . Provided an example
✔
36 Finish Extreme 32/04/2008 Will display a message stating that the date is wrong
Displayed a message stating that the date was wrong
✔
37 TotalDays - Enter a 2 day holiday in the Start and Finish fields
Will show the number ‘2’ Showed the number ‘2’ ✔
Settings Tab
Testing this field will ensure that the calculations in the solution work successfully.
No. Field Type Input Expected Results Actual Results ✔ / ✗
38 HolidayTotal Normal 20 Will allow the input and it will be stored in the database
Allowed the input and it w a s s t o r e d i n t h e database
✔
39 HolidayTotal Erroneous ABC Will display a message stating that the data type entered is invalid
Did not display an error message
✗
40 HolidayTotal Extreme 0 Will display a message stating that it has to be a positive number
Displayed a message stating that it has to be a positive number
✔
Access Rights
This section will test the access rights, and their restrictions.
No. Field Type Input Expected Results Actual Results ✔ / ✗
41 - Normal User: adminPassword: nexus
Will allow the user to access and edit all the data.
Al lowed the user to access and edit all the data.
✔
42 - Erroneous User: adminPassword: wrong
Will not allow the user to access the system.
Did not allow the user to access the system.
✔
43 - Normal User: employeePassword: nexus
Will allow the user to access and edit some of the data.
Al lowed the user to access and edit some the data.
✔
44 - Erroneous User: employeePassword: wrong
Will not allow the user to access the system.
Did not allow the user to access the system.
✔
Computing Project | Thomas Davies 38
Timing
These tests will ensure that the system is fast to use.
No. Field Type Input Expected Results Actual Results ✔ / ✗
45 Start & Finish Normal Start: 12/11/2008Finish: 14/11/2008
Will take less than 1 minute to complete
C o m p l e t e d i n 1 8 seconds.
✔
46 Authorisation Normal ‘Yes’ Will take less than 1 minute to complete
C o m p l e t e d i n 1 0 seconds.
✔
Comments
All the tests were completed successfully apart from two; 16 and 28. However, following the testing phase, these two issues
were resolved.
The failure of test 16 informed me that the DaysLeft field was editable. If this was not traced, then this could have had huge
effects on the success of the system. This is because anyone could have edited it and changed how many days they were
entitled to. To resolve this issue, I altered the settings for that field, locking it, and only allowing calculations to change the
content of the field.
The issue with test 39 was not as major as test 16, however it did compromise the usability of the system. By allowing non-
numerical characters into the field, the system would be unable to calculate the holiday quota correctly, and without an error
message meant that the user would not have been informed about the error. The problem was resolved, once again, by
altering the field settings, ensuring that an error message is displayed in the case of a user entering the wrong data type.
Computing Project | Thomas Davies 39
Testing Evidence
1 - New Employee button 2 - Find Employee button
Selected
New Employee is the selected
button.
New Record
T h e N e w R e c o r d p a g e
b e c o m e s v i s i b l e a f t e r
selection.
Selected
Find Employee is the selected
button.
Find Mode
The Find Mode becomes
visible after selection.
3 - Print Future Holidays button 4 - E-mail Staff button
Selected
Print Future Holidays is the
selected button.
Print Future Holidays
A preview and the print setup
b e c o m e s v i s i b l e a f t e r
selection.
Selected
E-mail Staff is the selected
button.
E-mail Staff
The Mail.app program opens
with the Holidays attachment
and the employees’ email
addresses included.
5 - Help / Settings button 6 - EmployeeID field
Selected
Help / Settings is the selected
button.
Help / Settings
The Help / Settings window
b e c o m e s v i s i b l e a f t e r
selection.
Editing
A t t e m p t s t o c h a n g e
EmployeeID to 12
Message
System does not all this field
to be edited
Computing Project | Thomas Davies 40
7 - FirstName field 8 - FirstName field
FirstName
Successfully added ‘Steve’ as
the first name
FirstName
Erroneous data entered into
the field.
Error Message
An error message informs the
user of the problem.
9 - FirstName field 10 - Surname field
FirstName
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
Surname
Successfully added ‘Davies’
as the surname
11 - Surname field 12 - Surname field
Surname
Erroneous data entered into
the field.
Error Message
An error message informs the
user of the problem.
Surname
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
Computing Project | Thomas Davies 41
13 - Email field 14 - Email field
S u c c e s s f u l l y a d d e d
‘stevendavies@nexusgraphics.
co.uk’ as the email address
Erroneous data entered into
the field.
Error Message
An error message informs the
user of the problem.
15 - Email field 16 - DaysLeft field
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
DaysLeft
Attempts to edit the field.
Editable
This field is editable.Test F
ailed
17 - DaysLeft field 18 - DaysLeft field
DaysLeft
Shows that the employee has
18 days left
Holiday
The holiday lasts for 2 days
DaysLeft
Does not affect field
Sick Leave
The sick leave lasts for 2 days
Computing Project | Thomas Davies 42
19 - HolidayID field 20 - Start field
Not editable
This field is unable to be
edited.
Start
S u c c e s s f u l l y a d d e d
‘14/04/2008’ as the start date
21 - Start field 22 - Start field
Start
Erroneous data entered into
the field.
Error Message
An error message informs the
user of the problem.
Start
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
23 - Finish field 24 - Finish field
Finish
S u c c e s s f u l l y a d d e d
‘14/04/2008’ as the start date
Finish
Erroneous data entered into
the field.
Error Message
An error message informs the
user of the problem.
Computing Project | Thomas Davies 43
25 - Finish field 26 - TotalDays field
Finish
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
Holiday
A two day holiday break.TotalDays
Displays 2 days holiday.
27 - Authorisation field 28 - Authorisation field
An emai l is sent to the
employee.
Authorisation
Permission has been granted. Email
An emai l is sent to the
employee.
Authorisation
Permission has not been
granted.
Record
The record has now been
deleted from the database.
29 - Unique Holidays 30 - SickDaysID field
Same Date
The Start field contains the
same date.
Error Message
An error message informs the
user of the problem.
Not editable
This field is unable to be
edited.
Computing Project | Thomas Davies 44
31 - Start field 32 - Start field
Start
S u c c e s s f u l l y a d d e d
‘14/04/2008’ as the start date
Start
Erroneous data entered into
the field.
Error Message
An error message informs the
user of the problem.
33 - Start field 34 - Finish field
Start
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
Finish
S u c c e s s f u l l y a d d e d
‘14/04/2008’ as the start date
35 - Finish field 36 - Finish field
Error Message
An error message informs the
user of the problem.
Finish
Erroneous data entered into
the field.
Finish
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
Computing Project | Thomas Davies 45
37 - TotalDays field 38 - HolidayTotal field
Holiday
A two day holiday break.TotalDays
Displays 2 days holiday.
Quota
Successfully added ‘20’ as the
quota.
39 - HolidayTotal field 40 - HolidayTotal field
Quota
Erroneous data entered into
the field.
Error Message
No error message is displayed.
Test F
ailed
Quota
Extreme data entered into the
field.
Error Message
An error message informs the
user of the problem.
41 - Admin Access 42 - Admin Access
Sign In
U se r s i gn s i n w i t h t he
Administration details.
Access Allowed
Allowed access to all of the
system.
Sign In
User signs in with the wrong
Administration details.
Access Denied
Not allowed access to the
system.
Computing Project | Thomas Davies 46
43 - Employee Access 44 - Employee Access
Sign In
U se r s i gn s i n w i t h t he
Employee details.
Access Allowed
Allowed access to some of the
system.
Sign In
User signs in with the wrong
Administration details.
Access Denied
Not allowed access to the
system.
45 - Start & Finish Timing 46 - Authorisation Timing
Time
Took less than 20 seconds to
complete.
Data Entry
Entered the Start & Finish
date.
Time
Took 10 seconds to complete.
Data Entry
Authorisation has been given.
Computing Project | Thomas Davies 47
ii. Implementation
Alternative MethodsThere are many differing implementation methods that could be undertaken for this project.
Solution Advantages Disadvantages
Parallel Running Issues with the new system can be resolved.Have the fall back of the old system.
Two systems have to be used for a time period.Could be difficult for staff to understand.Solution needed to allow the two systems to interoperate.
Phased Implementation
There is time to make adjustments.Staff have more time to adapt to new solution.Issues at the start can be resolved.
The process is very slow and time consuming.Could be difficult for staff to understand.Different parts of both systems are being used.Solution needed to allow the two systems to interoperate.
Pilot Running Good for large organisations in many locations.Only certain locations effected if problems occur.Other locations can continue successfully.
Nexus only has one location.Not enough staff for this to be effective.Solution needed to allow the two systems to interoperate.
Direct Changeover Only one day to changeover.Easy for staff to know when it will happen.Will not have to create a solution to use both systems at the same time.
Not much time for alterationsVery complex to turn off old and new one on.Hard to implement plans if things go wrong.
The chosen implementation for this project will be direct changeover. The other possible methods were considered however
for the size of the organisation concerned and the type of solution, direct changeover was the best answer. It was not
feasible to implement a pilot running scheme as with only 6 employees it would have been ludicrous to expect the company
to have the upheaval of a new solution more than once. For both phased and parallel running I would have had to create a
solution to enable both systems could run together, which would have put extra pressure on the completion of the project.
Implementation
Gantt Chart
Tasks Duration (Days) Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8
Installation ½
Add data files ½
Make adjustments 2
Show manager 1
User training 1
Break 4½
Solve issues 1
Changeover ½
Installation
• Visit Nexus Graphics’ office.
• Install the completed solution.
Add data files
• Backup the data files.
• Migrate the data from the old system onto the new solution.
Computing Project | Thomas Davies 48
Make Adjustments
• Alter system settings if required.
• Alter the solution to ensure it works perfectly with the company notebooks.
Show Manager
• Introduce the system to Justin (Manager).
• Demonstrate it for them.
• Make sure he uses the system, with the assistance of the user guide.
User Training
• Completed after introduction to the manager.
• Employees begin to use the system.
• Has guidance from the training documentation and the user guide.
Break
• Leave the company for a week.
• Allows the company to work with the system.
• Ensures they fully understand the system.
• User guide is available if they have any trouble.
Solve Issues
• Return from the week break.
• Answer questions from the employees.
• Solve any issues they have.
Changeover
• Company signs off the solution.
• States that they are satisfied with the end result.
User TrainingTo ensure that the employees are able to use the system effectively, a testing strategy was planned. I considered many
factors when creating a testing plan, such as their prior experience with the software, their background in the industry, and
the time available. For such a small organisation, I believe that the training should occur over a day. This is due to the fact
that the employees have a great knowledge of FileMaker Pro and are advanced computer users, therefore I feel that a simple
task sheet will allow them to fully understand the solution.
Computing Project | Thomas Davies 49
iii. Exploitation of available facilities
Software
FileMaker Pro
The FileMaker Pro software was very adequate in completing the solution, even though the application was tough to design
the solution. FileMaker Pro differs considerable from other database applications that I have used previously. Due to this I
spent a considerable amount of time learning the system by watching online video tutorials7 on the official site. Furthermore,
I was using version 9 of the software, while Nexus Graphics was using version 4, however, they assured me during
development that they would be upgrading to the latest version. We did however, attempt to run the solution in version 4, yet
it would have required a different file format that could have distorted the database, so we opted against this choice.
Compatibility FileMaker Pro 4 FileMaker Pro 9
Windows Vista ✗ ✔
Mac OS X Tiger ✔ ✔
Mac OS X Leopard ✗ ✔
Windows Vista
During the creation of the solution there were no issues with it running successfully on Windows Vista as I was using
FileMaker Pro 9. However, there was documentation8 from FileMaker that stated that they would only ensure Windows Visa
support for FileMaker Pro 8.5 and above. This could have been a major setback for the project, however Nexus Graphics’
promise to upgrade to the latest version of FileMaker Pro allowed the completion of the solution to continue. Even though I
used Mac OS X Leopard to create the solution, I constantly tested the system on Windows Vista to ensure that it would
work in the Windows environment.
Mac OS X Leopard
Much like the problems with Windows Vista, the release of Mac OS X Leopard in October 2007 was also plagued with
compatibility issues. FileMaker Pro 9 was not running efficiently on Leopard - which was one of Nexus Graphics’ reasons to
not upgrade FIleMaker Pro at that time - until FileMaker released an update in December 20079, ensuring solid compatibility.
Moreover, FileMaker documentation stated that software versions before FileMaker Pro 8.5 would not be supported on
Leopard, which like Windows Vista support could also have been a problematic issue.
Computing Project | Thomas Davies 50
7 FileMaker, 2007. FileMaker Video Tutorials.
http://www.filemaker.com/products/fmp9/video_tutorials.html [Accessed March 2008]
8 FileMaker, 2007. Windows Vista Support.
http://www.filemaker.com/developers/resources/vista.html [Accessed March 2008]
9 FileMaker, 2007. Mac OS X Leopard Support.
http://www.filemaker.com/support/leopard.html [Accessed March 2008]
Hardware
Apple Notebooks
Their current hardware has been more than satisfactory during the creation of this solution. The MacBooks used by the
Nexus Graphics’ employees have by far exceeded the minimum requirements set out by FileMaker for their database
application. Their ability to also run Windows Vista as well, also helped me when checking the FileMaker Pro requirements as
I only had to review specifications of a few notebooks.
MacBook Air
Upon the introduction of the MacBook Air in January 2008, I had to ensure that this notebook could run the solution
efficiently. In terms of hardware specifications, the MacBook Air can easily run the completed solution. However, as the
notebook does not contain a disc drive, the installation of the FileMaker Pro application had to be completed using the
Remote Disc feature. This feature allows the user to utilise the optical drive of another machine to install the software on the
MacBook Air10.
Set up Remote Disc on a
nearby Mac or PC.
Select a nearby Mac or PC
with an optical drive. On
that computer, install the
Remote Disc Setup software
(found on the supplied Mac
OS X Install DVD). It is now
permanently enabled for
Remote Disc.
Insert the software disc
you want to install.
Insert the DVD containing
the software you want to
install on MacBook Air into
the optical drive of the
Remote Disc-enabled Mac
or PC.
Install the software on MacBook Air.
In the Finder on MacBook Air, under Devices, select the icon that
says Remote Disc. Click on the computer you enabled, and then
double-click to open the software DVD. Now proceed with the
installation just as if you had a built-in optical drive.
Computing Project | Thomas Davies 51
10 Apple, 2008. Apple - MacBook Air - Wireless.
http://www.apple.com/macbookair/wireless.html [Accessed March 2008]
Documentation
i. Technical Guide
Computing Project | Thomas Davies 52
Technical Documentation
Staff Holiday System
2008
Computing Project | Thomas Davies 53
Table of ContentsEntity-Relationship Diagram! 2
Entity Life Histories ! 3
Employee! 3
Holiday! 3
SickDay! 3
Relationships! 4
Table Designs! 4
Employee Table! 4
Holiday Table! 5
SickDay Table! 5
Software & Hardware Requirements ! 6
Printer Requirements! 6
Form Designs! 6
Standard Header! 6
Employee Form! 7
Over the Quota! 8
SickDay Tab! 8
Settings Tab! 9
Reports ! 10
Holiday! 10
Scripts and Functions ! 10
Calculation between two dates ! 10
CompleteBooking! 11
File Size! 11
Technical Documentation! 1
Computing Project | Thomas Davies 54
Entity-Relationship Diagram
This Entity-Relationship Diagram is using the Peter Chen notation to represent the relationships of this database.
Employee
Holiday
Reserves
SickDay
Confirms
FirstName
Surname
DaysLeft
EmployeeID
EmployeeID
Start
Finish
TotalDays
SickDayID
EmployeeID
Start
Finish
TotalDays
HolidayID
Authorisation
m
1
m
1
Employee Confirms EmployeeID StartSickDayID
Key
Entity Relationship Primary Key Foreign Key Attribute
HolidayTotal
Technical Documentation! 2
Computing Project | Thomas Davies 55
Entity Life Histories
Employee
Employee
Creation Life Deletion
Holiday ! Sick Leave ! Details Change !
Request * Return to Work *
Accept ! Decline !
Contact Manager * Return to Work *
Holiday
Holiday
Creation Life Deletion
Request * Complete Holiday *
Accept ! Decline !
SickDay
SickDay
Creation Life Deletion
Contact Manager * Return to Work *
Technical Documentation! 3
Computing Project | Thomas Davies 56
Relationships
Employee
EmployeeID
FirstName
Surname
DaysLeft
Holiday
HolidayID
EmployeeID
Start
Finish
TotalDays
Authorisation
SickDay
SickDayID
EmployeeID
Start
Finish
TotalDays
Table Designs
Employee Table
Field Name Field Type Validation Example Origin Use
EmployeeID Number Serial Number on creation.
Increments from “1”. Required
value. Unique, numeric values
only.
01 Automatic following
the entering of
Employee details
Automatically
generated
identification
FirstName Text Required value: Message (If not
completed): “Please enter the First
Name of the employee”
Jason Entering it in the
Employee details form
First name of the
employee
Surname Text Required value: Message (If not
completed): “Please enter the
Surname of the employee”
Smith Entering it in the
Employee details form
Surname of the
employee
Email Text Auto-entered example data:
Required value: Message (If not
completed): “Please enter the
email of the employee”
jasonsmith@n
exusgraphics.
co.uk
Entering it in the
Employee details form
Email address of the
employee. Will send
employee an email
whether holiday was
authorised or not
DaysLeft Calculation
(Number)
User not allowed to enter data.
=Settings::HolidayTotal - Sum
( Holiday::TotalDays )
20 Calculation between
the TotalDays
(Holiday) and Quota
(Settings)
Shows how many
days are left in an
employee’s quota
HolidayTotal Number Auto-entered data: “20” 20 Automatic entry of
‘20’. Can be altered
by changing the
details
To complete the
calculation of how
many days the
employee is allowed
Technical Documentation! 4
Computing Project | Thomas Davies 57
Holiday Table
Field Name Field Type Validation Example Origin Use
HolidayID Number Serial Number on creation.
Increments from “1”. Required
value. Unique, numeric values only.
01 Automatic following
the entering of Holiday
details
Automatically
generated
identification
EmployeeID Number Takes data from the Employee
table.
01 From the Employee
Table. Foreign Key
Links Holiday record
with an Employee
Start Date Required value: Message (If not
completed): “Please enter the first
day of the holiday”. Only allow
values of type: “4-Digit Year Date”
11/01/2008 Entered by selecting
date on a Calendar
pop-up in the Holiday
portal on Employee
form
Shows the first day
of the holiday
Finish Date Required value: Message (If not
completed): “Please enter the last
day of the holiday”. Only allow
values of type: “4-Digit Year Date”
15/01/2008 Entered by selecting
date on a Calendar
pop-up in the Holiday
portal on Employee
form
Shows the final day
of the holiday
TotalDays Calculation
(Number)
User not allowed to enter data. =
age ( Start ; Finish )
4 Calculating the total
length of the holiday
by using Start and
Finish. Uses the
Calculation between
two dates script
Shows the total
length of the holiday.
Used to calculate
DaysLeft (Employee)
Authorisation Boolean Select either “Yes” or “No” Yes Selecting it in the
Holiday portal on
Employee form
States whether
holiday is authorised.
Required to send
correct email
SickDay Table
Field Name Field Type Validation Example Origin Use
SickDayID Number Serial Number on creation.
Increments from “1”. Required
value. Unique, numeric values only.
01 Automatic following
the entering of
SickDay details
Automatically
generated
identification
EmployeeID Number Takes data from the Employee
table.
01 From the Employee
Table. Foreign Key
Links SickDay record
with an Employee
Start Date Required value: Message (If not
completed): “Please enter the first
day of the ill period”. Only allow
values of type: “4-Digit Year Date”
21/01/2008 Entered by selecting
date on a Calendar
pop-up in the SickDay
portal on Employee
form
Shows the first day
of sick leave
Finish Date Required value: Message (If not
completed): “Please enter the last
day of the ill period”. Only allow
values of type: “4-Digit Year Date”
21/01/2008 Entered by selecting
date on a Calendar
pop-up in the SickDay
portal on Employee
form.
Shows the final day
of sick leave
TotalDays Calculation
(Number)
User not allowed to enter data. =
age ( Start ; Finish )
1 Calculating the total
length of sick leave by
using Start and Finish.
Uses the Calculation
between two dates
script
Shows the total
length of sick leave
Technical Documentation! 5
Computing Project | Thomas Davies 58
Software & Hardware Requirements
Mac OS X Windows Vista
Version 10.5 10.4.8 Ultimate, Business & Home
Processor Power PC G4 / G5
Intel-based
Power PC G3 / G4 / G5
Intel-based
800MHz 32-bit
RAM 512 MB 256 MB 512 MB
CD-ROM Drive ! ! !
Printer Requirements
HP DeskJet F4180
Type Multifunction Inkjet (Print, Scan & Copy)
Connection USB 2.0
Max Paper Size A4
Any standard inkjet printer will be suitable for this system.
Form Designs
Standard Header
There are several forms in this staff holiday system. While they all complete different tasks, many operations on the forms
produce similar actions. For example, these include the ‘Find Employee’ and ‘Print’ tasks. On all pages these will instigate a
search and document print respectively. These operations remain in the same place on all pages so that the users can grow
accustomed and habituate to the tasks. Therefore, a list of all common interactions included in the system are listed below.
Nexus - Staff Holiday System
New Employee Find Employee Print Future Hols Email Staff Help / Settings
1 2 3 4 5
6
User Interactions
Reference Interactions Comments / Options
1 Find Employee Enters Find Mode
2 New Employee Enters New Record Mode
3 Print Future Holidays Prints IndividualEmployee Report
4 Email Staff Emails employees with the holiday listings
5 Help / Settings Enters the Help Page
Format
Reference Description Colour (Hex) Typeface Size Other
1, 2, 3, 4 Buttons 408cc0 Helvetica (000000) 12 -
5 Buttons ff6600 Helvetica (000000) 12 Orange to highlight significance of Help
6 Header e7e7e7 Helvetica (185792) 24 -
Technical Documentation! 6
Computing Project | Thomas Davies 59
Employee Form
This form will be edited by both employees and the end user, Justin Huckfield. The majority of the work in the system will
occur on this form. It will allow employees to request holiday periods, while allowing Justin Huckfield to either sanction or
deny the holiday request. For data entry, this is the only form that the employees will use. To maintain simplicity for the users,
this form will house both the employee details, as well as their individual holidays and sick days. Implementing the form in
such a manner will save users time and effort, as they do not have to edit multiple forms just to add a single holiday request.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
14days left
Holidays Sick DaysComplete
HolidayID Start Finish TotalDays Authorisation
1 12/11/2007
17/12/2007
31/12/2007
2
3
13/11/2007
20/12/2007
31/12/2007
1
4
1
Yes
Yes
Yes
Tabbed Menu
Conserves space, as Sick
Days will hardly be used.
Holidays set as the default tab.
Shows each possible form.
Portal
Ability to create / edit / delete
data from the Holidays and
Sick Days table. All this data is
related to the employee stated
above.
Days Left Field
Number is enlarged, so end
user can see easily how many
days are left. Will go red if they
have gone over their quota.
Uses the calculation between
two dates function.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
81 2
4 56
7
3
Sources Field Type
Employee Table Main Form
Holiday Table Portal (Subform)
SickDay Table Portal (Subform)
User Interactions
Reference Interactions Comments / Options
1 Holidays Shows the list of holidays that the employee has had. Can create / edit / delete data.
2 Sick Days Shows the list of sick days that the employee has had. Can create / edit / delete data.
3 Settings Shows the Settings page. Can edit the total amount of days that staff can have off.
8 Complete Implements the CompleteBooking Script.
Format
Reference Description Colour (Hex) Typeface Size Other
1, 2, 3 Tabs 408cc0 Helvetica (000000) 12 -
4 Labels 408cc0 Helvetica (000000) 12 Bold
5 Text Fields aaaaaa Helvetica (000000 or ff0000) 48 Red (ff0000) if employee is over quota
6, 7 Text Fields 408cc0 Helvetica (000000) 12 -
8 Button 408cc0 Helvetica (000000) 12 -
Technical Documentation! 7
Computing Project | Thomas Davies 60
Over the Quota
This scenario is witnessed when an employee goes over their quota. To alert the user the Days Left field changes the text
colour to red, informed them that the employee has used up their holiday quota and a solution to this problem is required.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
-1days left
Holidays Sick DaysComplete
HolidayID Start Finish TotalDays Authorisation
1 12/11/2007
17/12/2007
1/1/2008
2
3
22/11/2007
20/12/2007
5/1/2008
11
4
6
Yes
Yes
Yes
Tabbed Menu
Holidays is highlighted as it is
the selected tab.
Days Left Field
Will go red if they have gone
over their quota. Uses the
calculation between two dates
to work this out.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
SickDay Tab
Selecting the Sick Days tab will change the contents of the portal on the form. It will find all relating sick leave about the
current employee and display them in the same format as holidays, except for Authorisation, which is not required for sick
leave. Illness will not affect the employee’s holiday quota, so therefore the Days Left field remains the same.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
14days left
Holidays Sick DaysComplete
SickDayID Start Finish TotalDays
1 12/11/2007
17/12/2007
31/12/2007
2
3
13/11/2007
20/12/2007
31/12/2007
1
4
1
Tabbed Menu
Sick Days is highlighted as it is
the selected tab.
Portal
Altered its content from the
default Holiday content as the
Sick Days tab has been
selected.
Days Left Field
This field is not affected by the
data in the Sick Days tab as
they do not count towards
holiday leave.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
No Authorisation
The Authorisation field is not
required as the employer does
not need to sanction sick
leave like they do for holidays.
Technical Documentation! 8
Computing Project | Thomas Davies 61
Settings Tab
This form will be edited by the end user, Justin Huckfield. It is a very simple form to make sure that the user is not
overwhelmed with irrelevant setting for the system. The only setting that the administrators will need to update is the holiday
quota (The maximum amount of days allowed off for holiday), and therefore this option is set out very clearly. Only the
administrators will have access to this page as they are the ones who having the rights to update this setting, while the
employees are restricted from viewing this content. Allowing the administrators to update the holiday quota means that the
system is very scalable, and can change depending on the needs of the company.
This setting is unique to each employee to ensure that the quotas are fair. For example, it is unfair for an employee to join half
way through the year and receive 20 days off, as they should only have 10 days for the remaining second half of the year.
Furthermore, the company may introduce a loyalty scheme allowing staff members that have worked at Nexus Graphics for
a prolonged period of time to have higher quotas. This feature furthers the scalability of the solution, as it does not restrict
the company from introducing new policies concerning holiday leave.
Nexus - Staff Holiday System
EmployeeID 1
FirstName James
Surname Smith
Email [email protected]
14days left
Holidays Sick DaysComplete
Tabbed Menu
Conserves space, as Sick
Days and Settings will hardly
be used. Holidays set as the
default tab. Shows each
possible form. Settings is now
highlighted.
Settings
New Employee Find Employee Print Future Hols Email Staff Help / Settings
Holiday Quota 20
Holiday Quota
Enables the administrators to
access and change the
maximum amount of days
staff members are allowed off.
Default Value
Set as 20 as the current
maximum quota at Nexus
Graphics is 20 days.
Please enter the total amount of holidays that James is allowed off
Assistance
Simple instructions to inform
the user what this field does.
Personalisation
Uses the current employee’s
name to show that this
Holiday Quota is linked to the
employee.
User Interactions
Reference Interactions Comments / Options
1 Holiday Quota User enters the maximum number of days allowed for holidays.
Format
Reference Description Colour (Hex) Typeface Size Other
1 Text Fields 408cc0 Helvetica (000000) 12 -
Technical Documentation! 9
Computing Project | Thomas Davies 62
Reports
Holiday
!
Nexus - Staff Holiday System
EmployeeID 1
James Smith
11days left
Holiday
hID Start Finish Total
Sick Day
sID Start Finish Total
1 12/11/2008 12/11/2008 1 sID 01/11/2008 02/11/2008 2
2 07/09/2008 08/09/2008 2 sID 20/06/2008 21/06/2008 2
3 20/07/2008 23/07/2008 4 sID - - -
4 01/07/2008 01/07/2008 1 sID - - -
5 10/01/2008 10/01/2008 1 sID - - -
1
2
3
4
5
Days Left
Field is more prominent than
others. Will go red if employee
goes over quota.
Date 03/11/2008
Current Date
Shows date of pr intout.
Makes sure employees know
what document is up-to-date.
Employee Table
Provides information about the
employee at the top of their
section.
Holiday Table
Displays the next 5 holidays
for that employee.
SickDays Table
Displays the last 5 sick days
for that employee.
21
Sources Field Type
Employee Table -
Holiday Table -
SickDay Table -
Scripts and Functions
To make the system fully functional, scripts and functions have been implemented. This is due to the fact that certain
features are lacking in the FileMaker Pro software.
Calculation between two dates
Let ( [
neg = Case ( date1 > date2; -1; 1 );
d1 = Case ( neg < 0; date2; date1 );
d2 = Case ( neg < 0; date1; date2 );
d = Mod ( Day ( d2 ) - Day ( d1 ); Day (
Date ( Month ( d1 ) + 1; 0; Year ( d1 ) ) ) );
m = Mod ( Month ( d2 ) - Month ( d1 ) -
( Day ( d2 ) < Day ( d1 ) ); 12 );
y = Year ( d2 ) - Year ( d1 ) - ( ( Month ( d2 ) -
( Day ( d2 ) < Day ( d1 ) ) ) < Month ( d1 ) )
];
y * neg & ¶ &
m * neg & ¶ &
d * neg & ¶ &
y & " years, " & m & " months, and " & d & " days" & ¶
)
Technical Documentation! 10
Computing Project | Thomas Davies 63
CompleteBooking
If [Holiday::Authorisation = “Yes”]
! Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been authorised.”]
End If
If [Holiday::Authorisation = “No”]
! Send Mail [To: Employee::Email; Subject: “Holiday Request”; Message: “Your holiday request has been rejected.
! Please choose another date, or email me to discuss the issue”]
" Delete Portal Row [No dialog]
End If
Refresh Window [Flush cached join results]
File Size
Employee Table Holiday Table SickDay Table
Field Name Field Size Comments Field Name Field Size Comments Field Name Field Size Comments
EmployeeID 2 - HolidayID 2 - SickDayID 2 -
FirstName 20 - EmployeeID 2 - EmployeeID 2 -
Surname 20 - Start 8 - Start 8 -
Email 50 - Finish 8 - Finish 8 -
DaysLeft 2 - TotalDays 2 - TotalDays 2 -
Authorisation 1 bit 1 byte
Total
(Record)
94 Adds all
Field Sizes
Total
(Record)
23 Adds all
Field Sizes
Total
(Record)
22 Adds all
Field Sizes
Sub-Total
(File)
1880 Multiple by
20 (Staff
Max)
Sub-Total
(File)
9200 Multiple by
20 (Holiday)
& 20 (Staff)
Sub-Total
(File)
4400 Multiple by
10 (Leave) &
20 (Staff)
Extras 180 Add 10%
for extras
Extras 920 Add 10%
for extras
Extras 440 Add 10%
for extras
Total (File) 2060 bytes - Total (File) 10120 byte - Total (File) 4840 bytes -
Total
(Maximum)
16.7 kilobytes
Technical Documentation! 11
ii. User Guide
Computing Project | Thomas Davies 64
Staff Holiday System
User Guide
Computing Project | Thomas Davies 65
Contents
1. Getting Started
Installation! ! ! ! 2
Applications Folder! ! ! 3
2. Introduction
Interface! ! ! ! 4
Menu System!! ! ! 5
3. Adding Data
Adding a New Employee! ! 6
Adding a Holiday! ! ! 7
Adding a Sick Day! ! ! 8
4. Discovery
Finding an Employee!! ! 9
5. Documents
Future Holiday Document! ! 10
E-mail!Staff! ! ! ! 11
6. Backup
Turn on a Backup! ! ! 12
Where’s the File? " " " 13
7. FAQs
Frequently Asked Questions!! 14
8. More Support?
Further Help! ! ! ! 15
User Guide 1
Computing Project | Thomas Davies 66
1Getting Started
Computing Project | Thomas Davies 67
Installation
To install the Holiday System, insert the USB flash drive and double-click USB. Then
drag the Holiday System icon onto the Applications icon. System is now installed.
User Guide 2
Computing Project | Thomas Davies 68
Applications Folder
To use the Holiday System, open the Applications folder and double-click on the
Holiday System icon.
User Guide 3
Double-cl ick on the
Holidays System icon.
Computing Project | Thomas Davies 69
2Introduction
Computing Project | Thomas Davies 70
Interface
Access everything you need from this interface. View employee details and their
holidays.
User Guide 4
Main tasks grouped
together at the top of
the system.
Employee details.
Their holiday and sick
leave in a tabbed menu.
Computing Project | Thomas Davies 71
Menu System
The menu system at the top of the application groups all the main tasks together.
Button What does it do?
New Employee Creates a new employee in the database
Find Employee Searches the database for employees based on your
search terms
Print Future Holidays Prints all the holidays that will take place after the day of
printing
E-mail Staff E-mails employees with everyones holidays so they
know when they can have time off themselves
Help / Settings Provides further help if needed and is the place where
the backup file is created
User Guide 5
Computing Project | Thomas Davies 72
3Adding Data
Computing Project | Thomas Davies 73
Adding a New Employee
To add a new employee, click on the New Employee button. Then you can enter
their First Name, Surname, and Email address.
User Guide 6
C l i c k o n t h e N e w
Employee button.Enter their details here.
Computing Project | Thomas Davies 74
Adding a Holiday
With the correct employee determined, click the Holiday tab to select it. Then click
on the Start field and enter the start date by using the Calendar box. After this, click
the Finish field and enter the final date. Check that the Total Days field is correct.
User Guide 7
Click on the Holidays
Tab.
Select the dates using
the Calendar box.
Computing Project | Thomas Davies 75
Adding a Sick Day
With the correct employee determined, click the Sick Day tab to select it. Then click
on the Start field and enter the start date by using the Calendar box. After this, click
the Finish field and enter the final date. Check that the Total Days field is correct.
User Guide 8
Click on the Sick Day
Tab.
Select the dates using
the Calendar box.
Computing Project | Thomas Davies 76
4Discovery
Computing Project | Thomas Davies 77
Finding an Employee
The Holiday System boasts great searching features, enabling you to find exactly
what you want.
Fields Are they searchable?
EmployeeID !
FirstName !
Surname !
Email !
DaysLeft "
User Guide 9
Can search all of these
fields.
C l i c k o n t h e F i n d
Employee button.
Computing Project | Thomas Davies 78
5Documents
Computing Project | Thomas Davies 79
Future Holiday Document
This document displays all the holidays that will take place following the print out.
Allows the employees to have an overview of all the future holidays. Click the Print
Future Holidays button. Then the Print dialog will show, press the Print button to
finish.
User Guide 10
Click on the Print Future
Holidays button.
The Print dialog box.
Computing Project | Thomas Davies 80
E-mail Staff
Provides employees with a digital document to ensure they are always up-to-date
with all the staff holiday bookings. Click the E-mail Staff button and the Mail
application will load with the email message displayed.
User Guide 11
Click on the E-mail Staff
button.
The Emai l message
window.
Computing Project | Thomas Davies 81
6Backup
Computing Project | Thomas Davies 82
Turn on a Backup
Protecting data is vital in todays world. This system provides a backup solution.
Click on the Help / Settings button.
User Guide 12
Click on the Help /
Settings button.
Click on the Backup
button.
Computing Project | Thomas Davies 83
Where’s the File?
The backup file is located in the Documents folder. However, to have more
protection, it would be good to store it on a USB flash drive to protect against other
threats.
User Guide 13
Click on the Documents
button.
Click on the OldSystem
icon.
Drag the OldSystem
icon into the USB flash
drive.
Computing Project | Thomas Davies 84
7FAQs
Computing Project | Thomas Davies 85
Frequently Asked Questions
Adding a new employee
On any page in the system, you are able to select the New Employee button at the
top, which will create a new form for the employee.
Finding an employee
If the employee is already in the system, then you can search for them. The majority
of fields are capable of being the search term, so you are not restricted to the
EmployeeID code. Select the New Employee button to begin the search.
The complete feature will not work
Apple Mail or Microsoft Entourage are required to be set as the default E-mail
application for this to work.
User Guide 14
Computing Project | Thomas Davies 86
8More Support?
Computing Project | Thomas Davies 87
Further Help
To get further help, click the Help / Settings button. This provides you with more
assistance and FAQs to help solve your problem.
User Guide 15
Click on the Help /
Settings button.
Evaluation
i. Degree of success in meeting the original objectives
Requirements
Objective ✔ / ✗ Comments Evidence
Full access for only Justin Huckfield and the secretary
✔ The pair have complete access to the system, with usernames and passwords to ensure this level of access only belongs to them.
Test 41, 42
Employees to have limited access. Requests only
✔ Staff members are only allowed to enter their own holiday requests or their sick leave in the system. They also have usernames and passwords to limited their activity on the system.
Test 43, 44
Requests to take a few minutes to complete
✔ Tested in the test plan and by the Nexus Graphics staff. All tests have concluded that requests take less than 1 minute to complete.
Page 56Test 45
Requests to take a few minutes to sanction
✔ / ✗ Tested in the test plan and by Justin. All tests have concluded that authorisation takes less than 1 minute to complete. Even though the latest requests did not go onto the main page due to my lack of skill in FileMaker Pro, I ensured that the system would email Justin when a request was sent. This works fine, as all he has to do to sanction the request is select the Yes button in the Authorisation field and click Complete.
Page 56Test 46
Calculates the length between the start and finish dates
✔ Using a third-party script, I was able to implement this requirement. At first I believed the standard calculation tools would allow this to work, however I had to fall back on the third-party script.
Test 17, 1 8 , 2 6 , 37
Checks that no two staff are unavailable on the same date
✔ This has been completed by ensuring that both the Start and Finish dates are unique in the database, therefore allowing only 1 employee to have a certain day off.
Test 29
R e p o r t s g e n e r a t e d f o r employees. Shows time left and future holidays
✔ Used tools built into FileMaker Pro to design and implement the report. Page 33Test 3, 4
A calendar view to show all employee holidays
✗ Even though I discovered the third-party solution required, integrating it into my system proved very difficult and was effecting other features. Therefore, we took the decision not to implement such a feature.
-
Integrated emailing facility to send a report to employees
✔ This worked very well and was easy to implement using FileMaker Pro’s built-in scripts. There was however, an issue with the mailing applications, with either Apple Mail or Microsoft Entourage required to be the default application for email, else this feature would not work correctly. This issue is documented in the User Guide to make the employees aware of the problem.
Test 3, 4, 27, 28
A user-friendly system ✔ I used many standard interface objects to ensure the user-friendly nature of the system. The system has maintained a simple, yet effective style, removing any unnecessary clutter. The main feature that improves the usability is the Calendar box which ensures that the data entered into the Start and Finish fields are in the correct format.
Page 12 - 16, 26 - 33, 54
Compatible with both Mac OS X and Windows Vista
✔ Throughout the process the system has been developed on Mac OS X, however it has been constantly tested on Windows Vista to ensure that the solution works correctly and maintains the same look and feel on both platforms.
Page 11, 50
System to be implemented for April 2008
✔ The system had been completed and tested before April, and during that month I visited the office to implement the solution.
Page 54
Able to run on MacBook Air specifications or better
✔ I ensured that the FileMaker Pro software worked on the MacBook Air specifications, which they did by a significant margin. Therefore the other MacBooks could easily handle FileMaker Pro efficiently.
Page 11, 51
Computing Project | Thomas Davies 88
ii. Evaluate the users’ response to the system
Justin’s Letter
Computing Project | Thomas Davies 89
User-Friendly SystemThe Holiday Booking system is a very efficient, yet easy to use application. A major focus of this project was to ensure the
solution was user-friendly, which I believe is true, as does Justin and the Nexus Graphics’ employees. Many standard user
interface objects were used in the project to ensure the users were able to successfully work through the system without
having to learn new objects.
The menu system header is consistent throughout the system, to guarantee that the users know where to find certain
operations all the time, allowing the users to habituate to the tasks. Moreover, the Help / Settings button is coloured orange
to highlight the significance of this activity, allowing the users to find assistance when they require it.
A major issue with the old system was that, on many occasions Justin had difficulty
discovering how many days employees had left on their quota. To rectify this, the
DaysLeft field in the Employees table has an increased font size, as well as turning red if
the employee has gone over their quota. This allows Justin to immediately find out if they
have gone over the quota, without affecting his workflow by using monolog boxes.
To save visual real estate, the Holidays, Sick Days, and Settings sections are in a tabbed menu system. This is a good
solution as it displays data the user wants to see without cluttering the screen with unwanted data, while still maintaining a
visual connection with the current employee.
For both the Holidays and Sick Days tabs, the Start and Finish fields
include a Calendar pop-up box which ensures that only correct data is
entered. An issue with date entry is that the users can enter the data in
the wrong format, which could affect calculations that the system
completes. However, the Calendar pop-up box limits this issue drastically.
On the Settings tab, there is only one field for the user to enter data in.
The maximum quota has been revised many times to ensure that the
user knows what they are doing on this tab. Previously, there was a
global quota field which would alter all employees quotas, however this
was not a good implementation as it meant a new employee who had
joined halfway through the year would have the same amount of days off
as an employee who had been there for the whole year. Therefore, the final implementation is clearly linked with the current
employee, with it being in a tabbed menu, as well as the personalisation in the line above the field, enforcing the thought that
the user is editing the named employee’s quota, and no one elses.
The User Guide has been well received, as it provides simple, step by step instructions of operations that occur in the
system. To avoid the information being cluttered, only one activity is documented per page, and there is a contents page
informing the user where certain operations are, in the guide. Moreover, the system provides users with on-screen
assistance via the Help / Settings button. This page includes frequently asked questions, as well as guidance to backing-up
the database.
Computing Project | Thomas Davies 90
User TestingEven though the system has been rigorously checked by myself during the testing phase, the true tests come from the staff
using the system with normal data. One of the key objectives in this system was to reduce the time required to enter and
sanction a holiday. For the manager, Justin, the old system just took too much time for such a minor task. Therefore, to
show the radical improvement from the old system, Justin was timed entering data in both the new and old systems. For the
new solution, it was split into two tests; before handover, and after handover, to really show the differences.
Tasks Old System New System
1 Receive holiday request Receive holiday request
2 Check no other employees have the same day off Enters holiday details (Automatically checks if two employees have same day off)
3 Copy and paste holiday template into Excel page Authorise and click Complete (Automatically sends email)
4 Enters holiday details
5 Sends email to employee
Time Tests Old System New System
Before Handover After Handover
1 2 minute 14 seconds 1 minute 10 seconds 0 minute 48 seconds
2 1 minute 57 seconds 1 minute 27 seconds 0 minute 52 seconds
3 2 minute 11 seconds 1 minute 08 seconds 0 minute 39 seconds
Average 2 minute 07 seconds 1 minute 15 second 0 minute 46 seconds
The new system is vastly faster than the old
system, following the tests with Justin. The
average scores show that the new solution -
following the handover - is 1 minute and 21
seconds faster than the old system. Yet, even
before the handover, the new system was still
faster by 52 seconds. This shows that even
without a period of getting used to the new
system, it is still faster to enter a holiday
request.
Moreover, the data itself that was entered into
the system, while I was with Justin showed no
errors within the system. He was very happy
with the completed solution - as shown by his
letter - and was especially pleased with the back-up solution, as FileMaker had not incorporated the Time Machine feature
into their database application.
Computing Project | Thomas Davies 91
0
0.5
1.0
1.5
2.0
2.5
Old SystemBefore Handover
After Handover
iii. Desirable extensions
Good PointsThe solution has been very successful as it achieves many of the objectives set out between myself and Justin at Nexus
Graphics. Even though certain requirements were not met, I ensured that these were not critical to the overall success of the
project. The system allows users to request holidays, while allowing Justin to sanction the event very well.
One of the major challenges that I overcame was the main calculation in the system. The calculation between two days
function proved more difficult than I previously thought. I believed this calculation could have been implemented by using the
standard mathematical functions built into FileMaker Pro, however this was not the case. Therefore I had to discover a third-
party function that could complete this task, as without it, the system would be unable to run. The script by Winfried Huslik
worked perfectly for the system, calculating the dates correctly.
Bad PointsHowever, the solution will have a major issues if the organisation expands rapidly. As previously discussed in the Limitations
section, if the company employs 11 more staff members, the current holiday policy will have to be altered. The organisation
will either have to remove the warning system, or allow two employees to have the same day off, rather than the current
maximum of 1 employee off on a given day.
Unfortunately, I was unable to implement the calendar interface which would have made holiday listings easier to find.
However, due to my limited skill set, coupled with the time constraints, I would have been unable to implement this feature at
the standards I required, and therefore we decided this feature would not be executed.
Data InputThe way data is inputted into the system could be vastly improved by using certain advanced features. To improve efficiency
employees could email Justin with the length of the holiday, along with the start and finish data. The Mail application would
automatically detect the dates and will then input the data into the system for Justin’s approval.
This would radically improve the efficiency of the application, as it would limit the time that they have to use the solution,
allowing the staff to complete more important work. The data detection feature is already in use extensively, both on the web
with Google Mail11, and on the desktop with Apple Mail12.
OutputTo save paper, all of the documents produced via this system can be saved as an Adobe PDF, and sent to the employees via
email. Not only does this help the environment, but it also ensures that the staff members will always have a digital copy of
Computing Project | Thomas Davies 92
11 Google, 2006. Gmail: Google's approach to email.
http://mail.google.com/mail/help/about_whatsnew.html [Accessed April 2008]
12 Apple, 2007. Apple - Mac OS X Leopard - Features - Mail.
http://www.apple.com/macosx/features/mail.html [Accessed April 2008]
the document, saving time as a paper document can easily get lost. Moreover, integration between iCal (And other calendar
applications) and the FileMaker Pro solution could rid the whole system of documents by syncing the data into the
employee’s iCal, and therefore providing all the data they need.
Time MachineThe release of Mac OS X Leopard introduced many new features, including one which changed the way people thought
about backing up. Time Machine13 backs up users’ data in the background, incrementally. This feature is very important as it
means that other software houses do not have to implement their own, secluded backup system. However, at the time of
developing the solution, FileMaker Pro lacked support for the Time Machine feature, and therefore I had to implement a
manual backup system that is documented in the User Guide.
Mobile AccessIn 2007, FileMaker cancelled their mobile version14 of the software that worked on both the Palm and Pocket PC. However,
even if the organisation maintained this edition, Nexus Graphics’ employees would have been unable to take advantage of it.
This is due to all staff members now having iPhones, which are not compatible with the mobile version of the database
application.
The features of such a mobile version would allow the employee to see who was unavailable on what days via the calendar
application, along with the ability to add their own holidays, which could be sanctioned on an administrator's device.
However, even though the SDK has been announced15, Apple currently do not allow third party applications to run on the
iPhone, therefore making such a feature impossible to implement due to the time constraints.
Computing Project | Thomas Davies 93
13 Apple, 2007. Apple - Mac OS X Leopard - Features - Time Machine.
http://www.apple.com/macosx/features/timemachine.html [Accessed April 2008]
14 FileMaker, 2007. FileMaker Mobile End of Life.
http://filemaker.com/support/fmm_eol.html [Accessed April 2008]
15 Apple, 2008. Apple Announces iPhone 2.0 Software Beta.
http://www.apple.com/pr/library/2008/03/06iphone.html [Accessed April 2008]
GlossaryAirPortApple’s wireless networking brand. A wireless solution for
printing and sharing files.
Entity Relationship DiagramA graphical representation of entities and their relationships
to other entities.
Entity Life HistoryShows the sequencing, iteration and timing of an entity.
Filemaker Inc.A subsidiary of Apple Inc. that creates database
applications.
Filemaker ProA cross-platform database application (Mac OS X and
Windows). Developed by FileMaker Inc.
Gantt ChartA chart that represents a project schedule, by showing the
expected duration of tasks. The concept was created in
the late 19th Century.
iPhoneA mobile phone device from Apple, with a multi-touch user
interface. Released in 2007.
Leopard (10.5)The 6th major release of Mac OS X, developed by Apple
and released in October 2007. It replaces Tiger (10.4).
Mac OS XA line of operating systems from Apple Inc. that was first
introduced in 2001. It is the successor to the Mac OS,
which was in use since 1984.
PortalAn object that shows records from related tables. Much
like a sub-form.
Software Development Kit (SDK)A set of programming tools, utilities and documentation to
support developers creating software for a certain system.
Tabbed MenuA navigational interface object that allows switching
between different pieces of data.
Tiger (10.4)The 5th major release of Mac OS X, developed by Apple
and released in April 2005.
Time MachineA back-up tool created by Apple for their operating
system; Leopard (10.5).
Windows VistaThis is the latest version of Microsoft’s operating system,
Windows. It replaces Windows XP.
Computing Project | Thomas Davies 94
BibliographyDr. Peter Chen, 1976. The Entity-Relationship Model-
Toward a Unified View of Data.
http://csc.lsu.edu/news/erd.pdf [Accessed January 2008]
FileMaker, 2007. FileMaker Pro Tech Specs.
http://www.filemaker.com/products/fmp/tech_specs.html
[Accessed February 2008]
Apple, 2008. Apple - MacBook Air - Technical
Specifications.
http://www.apple.com/macbookair/specs.html [Accessed
February 2008]
Apple, 2008. Apple - AirPort Extreme - Features - Wireless
Printing.
http://www.apple.com/airportextreme/features/
printing.html [Accessed April 2008]
Aza Raskin, 2006. UI Design Fundamentals.
h t t p : / / h u m a n i z e d . c o m / w e b l o g / 2 0 0 6 / 0 7 / 2 2 /
know_when_to_stop_designing_quantitatively [Accessed
January 2008]
Winfried Huslik, 2006. Calculating the distance between
two dates.
http://www.fmdiff.com/fm/agecalc.html [Accessed
December 2007]
FileMaker, 2007. FileMaker Video Tutorials.
h t t p : / / w w w . fi l e m a k e r . c o m / p r o d u c t s / f m p 9 /
video_tutorials.html [Accessed March 2008]
FileMaker, 2007. Windows Vista Support.
http://www.filemaker.com/developers/resources/vista.html
[Accessed March 2008]
FileMaker, 2007. Mac OS X Leopard Support.
http://www.filemaker.com/support/leopard.html [Accessed
March 2008]
Apple, 2008. Apple - MacBook Air - Wireless.
ht tp://www.apple.com/macbookai r /wi re less.html
[Accessed March 2008]
Google, 2006. Gmail: Google's approach to email.
http://mail.google.com/mail/help/about_whatsnew.html
[Accessed April 2008]
Apple, 2007. Apple - Mac OS X Leopard - Features - Mail.
http://www.apple.com/macosx/features/mail.html
[Accessed April 2008]
Apple, 2007. Apple - Mac OS X Leopard - Features - Time
Machine.
http://www.apple.com/macosx/features/timemachine.html
[Accessed April 2008]
FileMaker, 2007. FileMaker Mobile End of Life.
http://filemaker.com/support/fmm_eol.html [Accessed April
2008]
Apple, 2008. Apple Announces iPhone 2.0 Software Beta.
http://www.apple.com/pr/library/2008/03/06iphone.html
[Accessed April 2008]
Jonas Rask, 2007. Maji Icons.
http://jonasraskdesign.com/ [Accessed April 2008]
Marja Flick-Buijs, 2008. Background Bliss.
http://www.sxc.hu/browse.phtml?f=profile&l=Zela
[Accessed April 2008]
Computing Project | Thomas Davies 95