kidzcar babysitting service documentation.docx

Upload: 04bainsn

Post on 05-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    1/146

    P a g e | 1

    Navraj Bains A2 WJEC ICT

    Kidzcare Babysitting

    Service

    Navraj Bains

    2/25/2012

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    2/146

    P a g e | 2

    Navraj Bains A2 WJEC ICT

    Table of Contents1. User Requirements ......................................................................................................................... 6

    1.1 Background ............................................................................................................................. 6

    1.2 Aims and objectives ................................................................................................................ 6

    1.1.1 Ethos and How style of the business. ............................................................................. 6

    1.3 Expected outcomes in terms of calculations. ......................................................................... 7

    1.4 Other expected outcomes. ..................................................................................................... 8

    1.1 Hardware Requirements. ...................................................................................................... 10

    2. Design ............................................................................................................................................ 13

    2.1 Data Dictionary ........................................................................................................................... 13

    2.1.1 Customers Table ........................................................................................................... 13

    2.1.2 Childrens Table .............................................................................................................. 14

    2.1.3 Child_Carers Table ........................................................................................................ 15

    2.1.4 Carer Working Hours Table ........................................................................................... 16

    2.1.5 Holidays Table ............................................................................................................... 16

    2.1.6 Bookings Table .............................................................................................................. 17

    2.1.7 Payments Table ............................................................................................................. 18

    2.1.8 Prices Table ................................................................................................................... 18

    2.2 Normalisation Tables .................................................................................................................. 19

    2.3 Design of Validation techniques ................................................................................................. 21

    2.3.1 Validation techniques .......................................................................................................... 21

    2.4 Design of security/password protection technique ............................................................. 22

    2.5 Design of on screen data....................................................................................................... 23

    2.5.1 Entry forms .................................................................................................................... 23

    2.5.2 Form with sub form Carers Form ............................................................................... 24

    2.5.3 Design of user-friendly, menu driven, front end interface. .......................................... 25

    2.6 Design of Queries .................................................................................................................. 28

    2.7 Design of report .................................................................................................................... 31

    2.8 Design of Automated Routines ............................................................................................. 32

    2.8.1 Routine 1 Calculate the Age of ta child ...................................................................... 32

    2.8.2 Routine 2 Calculate the Cost ...................................................................................... 33

    2.8.3 Routine 3 Ensure Keys fields have values entered. .................................................... 34

    3 Implementation ............................................................................................................................ 35

    3.1 Evidence of Relational Links diagram ................................................................................... 35

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    3/146

    P a g e | 3

    Navraj Bains A2 WJEC ICT

    3.2 Create tables and links .......................................................................................................... 36

    3.2.1 Child Carers Table ......................................................................................................... 36

    3.2.2 Customers Table ........................................................................................................... 37

    3.2.3 Payments table ............................................................................................................. 38

    3.2.4 Childrens table ............................................................................................................. 39

    3.3 Two data validation techniques ............................................................................................ 40

    3.3.1 Validation technique 1 .................................................................................................. 40

    3.3.2 Validation technique 2 ................................................................................................. 42

    3.4 Automated Routines ............................................................................................................. 44

    3.4.1 Childs Age Calculation ................................................................................................... 44

    3.4.2 Calculate Total cost of Booking ..................................................................................... 46

    3.4.3 Ensure that Key fields are Populated ............................................................................ 48

    3.1 Forms Implementation ......................................................................................................... 50

    3.1.1 Customers Form ............................................................................................................ 50

    3.1.2 Childrens Form .............................................................................................................. 58

    3.1.3 Carers Form with a Sub-form ........................................................................................ 66

    3.2 Macros .................................................................................................................................. 67

    3.2.1 About Macro ................................................................................................................. 67

    3.2.2 Splash Macro ................................................................................................................. 69

    3.3 Queries .................................................................................................................................. 71

    3.3.1 Single Table Query - CustomerListQry .......................................................................... 71

    3.3.2 Single Table Parameter Query - ChildrenQry ................................................................ 73

    3.3.3 Multi Table Parameter Query - ChildrenRepQry .......................................................... 74

    3.3.4 Multi Table Parameter Query - CustomerQry............................................................... 76

    3.3.5 Multi Table Parameter Query - CarerQry...................................................................... 77

    3.3.6 Single Table Parameter Delete Query DeleteChildrenQry ......................................... 783.4 Creating Customers Report ................................................................................................... 79

    4 Testing ........................................................................................................................................... 86

    4.1 Test Plan ................................................................................................................................ 86

    4.2 User Interface and test all routes through the system ......................................................... 89

    4.3 Data entry with Valid Data .................................................................................................... 90

    4.3.1 This validation technique is a data type validation technique. .................................... 94

    4.3.2 Check for a valid Email Address ................................................................................... 95

    4.4 Testing Automated Routines ................................................................................................ 96

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    4/146

    P a g e | 4

    Navraj Bains A2 WJEC ICT

    4.4.1 Age Calculation Testing ................................................................................................. 96

    4.5.2 Total Cost Calculation and Check for Null data fields .................................................. 98

    4.6 Report Testing ....................................................................................................................... 99

    4.7 Database Queries Testing ................................................................................................... 101

    4.7.1 Single Table Query CustomerListQry ....................................................................... 101

    4.7.3 Testing Multi Table Parameter Query - ChildrenRepQry ............................................ 104

    4.7.4 Testing Multi Table Parameter Query - CustomerQry ................................................ 106

    4.7.5 Testing Multi Table Parameter Query - CarerQry ....................................................... 108

    4.7.6 Testing Single Table Parameter Delete Query DeleteChildrenQry .......................... 110

    5 User Documentation. .................................................................................................................. 116

    5.1 Opening and using the application ..................................................................................... 116

    5.2 Details of how to enter passwords or other security procedures ...................................... 117

    5.2.1 Changing usernames and passwords: ......................................................................... 117

    5.3 Making a Booking ................................................................................................................ 126

    5.4 Adding and amending child carer details ............................................................................ 128

    5.5 Examples of Data Validation ............................................................................................... 132

    5.5.1 Data Type checking ..................................................................................................... 132

    ........................................................................................................................................................ 132

    ........................................................................................................................................................ 132

    5.5.2 Format check Validation ............................................................................................. 133

    ........................................................................................................................................................ 133

    ........................................................................................................................................................ 133

    5.6 How to Run Database Queries ............................................................................................ 134

    5.6.1 Queries in the System ................................................................................................. 134

    5.6.2 Running Queries .......................................................................................................... 135

    How to Print Reports. ..................................................................................................................... 1385.7 Disaster Recovery Techniques ............................................................................................ 140

    5.8 Backups ............................................................................................................................... 140

    5.9 Standby system ................................................................................................................... 140

    5.10 Anti Virus Software ............................................................................................................. 140

    6 Evaluation ................................................................................................................................... 141

    6.1 Against User requirements ................................................................................................. 141

    6.2 Objectives of new system ................................................................................................... 141

    7 Problems encountered & strategies used to resolve them. ....................................................... 146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    5/146

    P a g e | 5

    Navraj Bains A2 WJEC ICT

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    6/146

    P a g e | 6

    Navraj Bains A2 WJEC ICT

    1. User Requirements

    1.1 Background

    Kidzcare Babysitting Service is run by Kinda Lally and is based in Slough. She has a number

    of carers who baby-sitting children for parents with busy lifestyles. It is a fairly new business,

    set up six months ago, but they have become more established and are quickly expanding. At

    present the Kidzcare Babysitting Service mind children in parts of London, Berkshire and

    Buckinghamshire. Miss Lally currently has eight full time and part time carers and the

    number of customers is still growing.

    Miss Lally currently keeps a note of customers and carers manually but would prefer to have

    a more professional and practical system, which would make it easier to find customer and

    carer details. Customer and carer details are written on index cards and stored in a box in

    alphabetical order. She wished to update her current system as it occupies a great deal of

    space and is extremely time consuming to search through customer records. When a customerrings Kidzcare Babysitting Service to book a day for a carer, the bookings are noted down on

    paper and filed away. The customer is then sent a written receipt copied from a template, to

    their postal address. Miss Lally wants to update to a computerised system and produce more

    professional invoices or reports instead of receipts. She hopes to send these reports directly to

    the customers email addresses to reduce the risk of delivery failure.

    As the system is so disorganized, sometimes carers get double booked resulting in stress for

    the carers and unhappy customers. As Miss Lally doesnt want to lose her carers or customers

    it is crucial for her to have a system, which stops double bookings from happening, and

    informs the user when the carer is free. Due to bookings being made manually some bookings

    are sometimes lost, which is something Miss Lally would like to change in the new system.

    Miss Lally is fairly experienced with computers and is extremely enthusiastic to introduce a

    computerised system for Kidzcare Babysitting Service; however other staff members have

    limited skills and therefore a system that is balanced for all user expertise.

    1.2 Aims and objectives

    1.1.1 Ethos and How style of the business.

    As the business sector that Miss Lally is in scrutinised by the parents who leave their children

    with the day care centre she must ensure that her ethos and how style is reflected in a positive

    way. It is imperative that the parents feel safe and secure with leaving their children at this

    day-care centre. The colour scheme that Miss Lally has opted for is Multi-coloured for the

    logo and a purple colour for the general background. I believe that these colours represent

    Miss Lallys ethos as the multi-coloured logo represents diversity and the purple being Good

    judgement and peace of mind.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    7/146

    P a g e | 7

    Navraj Bains A2 WJEC ICT

    The how style:

    Use of logo - The logo of this business like stated before will have a multi-coloured

    colour scheme. It will have a font that is suited towards a childs perspective in the

    sense that it is colourful.

    Use of wordsThe way the business name will be spelt will be Kidzcare baby sitting

    service; I believe that this name is reflective of the ethos of the business.

    Use of colourThe colour scheme that I have opted for is multi-coloured as well as

    purple. These coloured will be consistently used throughout the business on the

    database as well as the documents.

    Writing styleClearly the writing style as the colour scheme will have to remain the

    same a consistent throughout the whole business, in terms of the documents and

    database tables. The writing style that I will use is formal use of English.

    Aims.

    Provide a system where all staff members with limited skills can use.

    Turn all paperwork in a computerised database.

    Keep in line with rules and regulations, which will be increased by the use of

    passwords on a new system.

    Prevent double bookings, of both carers and parents children.

    Objectives

    Data storage.

    I will store data about all Staff members who work for the business, alongside the

    parents details and the childs details.

    I will store details about every booking that has been made by parents, and who is the

    carer that has been designated towards that child(s), and where the address of the

    parents is.

    I will store details about how many carers are available to work, this means also

    storing details about carers holidays and sick leave.

    1.3 Expected outcomes in terms of calculations.

    One calculation that needs to be made would be the cost for customers. This would be

    worked out by using the formula (Hours worked*Hourly wage) this may change

    depending on the children being cared for.

    The calculation for the total revenue of the business must be taken weekly; this is

    calculated by taken a percentage of the costs for the parents.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    8/146

    P a g e | 8

    Navraj Bains A2 WJEC ICT

    1.4 Other expected outcomes.

    Another expected outcome may be the financial data needed; this may be the financial

    data for the whole week. The ability to bring new or temporary staff carers in case of emergencies, who can

    adapt to using the new system quickly.

    A list for special needs children that may need special help and may need more

    experienced carers to carry out the baby sitting service.

    A table for complaints, that may need to be attended to, which may include

    disciplinary procedures as code and conduct, has not been abided by the staff

    members.

    An order dated list that has all the bookings with customers service questionnaire.

    Expected Outcomes/aims and objectives

    Data capture and inputs

    The data that will be entered will be entered manually by the user. It will be entered on the

    data entry form such as, the bookings form which will have field available for the user to

    capture these data. When a booking is being made for re-occurring customers who already

    have their details on the system the user just has to enter the time and date. And then select a

    carer that is available during that time. On the payments section of the booking form theymust enter the card number, issue number, and expiry date and beginning date. The user will

    have to enter all data in on the data entry forms manually, except the data on the booking

    form on the carer details which will come from a drop down box.

    Processes

    Security

    As the database will contain very sensitive information

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    9/146

    P a g e | 9

    Navraj Bains A2 WJEC ICT

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    10/146

    P a g e | 10

    Navraj Bains A2 WJEC ICT

    1.1 Hardware Requirements.

    The end user I am designing my system for has a Dell computer, with a Windows XP

    operating system with 80GB of hard disk drive. It has an Intel core i7 2.2 GHz processor.

    There is 73GB of hard drive space left and 4000MB of RAM memory. Miss Lally hasMicrosoft Office software on her computer (Microsoft Word, Publisher, Excel, Access,

    PhotoDraw)Miss Lally has broadband access to the internet Miss Lally has a monitor,

    keyboard and a wireless mouse on which she could potentially use the system. Miss Lally

    also has a CD and DVD writer, and a floppy disk drive, which could be useful to back the

    system up on. They have a fast, high-quality HP laser printer, which would be useful at

    printing customer and carer booking sheets at high speeds. My home computer is a Dell

    computer, with an Intel Pentium 4 processor. There is 97.96GB of free hard drive space left,

    and IGB of RAM memory. From this I can deduce that Miss Lally has the right hardware

    requirements in order to carry out tasks on this database as the minimum hardware

    requirements are as follows:

    PrinterClearly a printer would be needed to check if the database can print out

    specific data entry forms. Router would again also be needed as the database would be connected to a network

    where Miss Lally can then work at home.

    MonitorThe monitor will be needed to view all the work.

    KeyboardThe keyboard will be needed to input data into the database.

    MouseNavigate around the database.

    Hardware component Minimum Recommended

    Processor Pentium 4, 2.8 GHz Dual-Core 64-bit, 2

    GHz

    RAM 6 GB 8GB

    Hard disk space 80 GB 150 GB

    Computer

    Other user requirements.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    11/146

    P a g e | 11

    Navraj Bains A2 WJEC ICT

    When looking at these hardware components I can see that not all of Lallys computer

    hardware meets the minimum requirements for a computer database. There are failures in the

    hard disk space which in my opinion is crucial for the business. As stated in the problem we

    can see that the business is increasing their customer base and therefore would need a large

    hard disk space in order to cover this ever increasing customer base. Another failingcomponent is the Ram, Lallys being 4GB and minimum being 6GB. I believe that Ram is not

    as important and therefore may not need to be upgraded, the Ram increases the speed at

    which the computer runs at, and how fast different applications run at. Since this is a small

    business and arent expected man calls at one single time the amount of RAM that is present

    doesnt need to be increased. The processor that is present is the minimum amount required

    for a smooth running database.

    Entity Diagram

    Child Carers Table

    One-to-Many

    (N-M)

    Bookings Table1

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    12/146

    Child_carers

    Carer_ID

    Title

    Forename

    Surname

    Address_line_1Address_line_2

    Address_line_3

    Town

    County

    Post_code

    Telephone_Number

    Mobile_Number

    Date_of_birth

    Gender

    National_insurance_num

    ber

    Date_hired

    Notes

    Holidays

    Holiday_ID

    Carer_ID

    From_date

    To_date

    Carer_working_holidays

    Carer_ID

    Day

    From

    To

    Payments

    Payment_ID

    Booking_ID

    Card_type

    Card_number

    Expiry_Date

    Start_date

    Issure_number

    Alternative Payment

    Total Cost

    Bookings

    Booking_ID

    Carer_ID

    Customer_ID

    Price_ID

    Booking_dateStart_Time

    End_TIme

    CustomersCustomer_ID

    Title

    Forename

    Surename

    Address_line_1

    Address_line_2

    Address_line_3

    Town

    County

    Post-CodeEmail_address

    Telephone_number

    Mobile_number

    Relationship_to_child

    Prices

    Price_ID

    Day_of_the_week

    Time_of_the_dayOther

    Price_per_hour

    Children

    Child_IDCard_type

    Card_number

    Expiry_date

    Customer_ID

    Alternative_payment

    Total_Cost

    1

    1

    1

    1

    1

    1

    1

    1

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    13/146

    2. Design

    2.1 Data Dictionary

    I will now show all the tables which are used in the Kidzcare Babysitting System, and include the fieldnames, data types and validation/input masks used in each table.

    2.1.1 Customers Table

    Table Name: Customers

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Lookups

    Customer_ID AutoNumber Primary

    Title Text Lookup: Mr, Mrs, Miss, Ms, Dr

    Forename Text

    Surname Text

    Address_Line_1 Text

    Address_Line_2 Text

    Address_Line_3 Text

    Town Text

    County Text

    Postcode Text

    Email_Address Text

    Telephone_Number Number

    Mobile_Number Number

    Relationship_to_child TextLookup: Mother, Father, Grandmother,

    Grandfather, Aunt, Uncle, Legal Guardian

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    14/146

    Navraj Bains Kidzcare Babysitting System

    14

    2.1.2 Childrens Table

    Table Name: Children

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Input Masks

    Child_ID AutoNumber Primary

    Forename Text

    Surname Text

    Date_of_Birth Date/Time

    Gender Text

    Lookup Tables: Male, Female

    Validation: Must be either Male or

    Female

    Customer_ID NumberForeign to

    Customers

    Special_Requirements Text

    Additional_Information Text

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    15/146

    Navraj Bains Kidzcare Babysitting System

    15

    2.1.3 Child_Carers Table

    Table Name: Child Carers

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Input Masks

    Carer_ID AutoNumber Primary

    Title Text Lookup: Mr, Mrs, Miss, Ms, Dr

    Forename Text

    Surname Text

    Address_Line_1 Text

    Address_Line_2 Text

    Address_Line_3 Text

    Town Text

    County Text

    Postcode Text

    Telephone_Number Number

    Mobile_Number Number

    Date_of_Birth Date/Time

    Gender Text

    Lookup Tables: Male, Female

    Validation: Must be either Male or

    Female

    National_Insurance_Nu

    mberText

    Date_Hired Date/Time

    Notes Memo

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    16/146

    Navraj Bains Kidzcare Babysitting System

    16

    2.1.4 Carer Working Hours Table

    Table Name: Carer Working Hours

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Input Masks

    Carer_Working_ID AutoNumber Primary

    Carer_ID NumberForeign to

    Child_Carers

    Day Text

    From Date/Time

    To Date/Time

    2.1.5 Holidays Table

    Table Name: Holidays

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Input Masks

    Holiday_ID AutoNumber Primary

    Carer_ID NumberForeign to

    Child_Carers

    From_Date Date/Time

    Validation: > Now ()

    Ensures the date is greater than the

    current time so carers dont book

    holidays in the past.

    To_Date Date/Time

    Validation: > Now ()

    Ensures the date is greater than the

    current time so carers dont book

    holidays in the past.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    17/146

    Navraj Bains Kidzcare Babysitting System

    17

    2.1.6 Bookings Table

    Table Name: Bookings

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Input Masks

    Booking_ID AutoNumber Primary

    Carer_ID NumberForeign to

    Child_Carers

    Customers_ID NumberForeign to

    Customers

    Price_ID Number

    Foreign to

    Prices

    Booking_Date Date/Time

    Validation: > Now ()

    Ensures the date is greater than the

    current time so carers dont book

    holidays in the past.

    Start_Time Date/Time

    End_Time Date/Time

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    18/146

    Navraj Bains Kidzcare Babysitting System

    18

    2.1.7 Payments Table

    Table Name: Payments

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Input Masks

    Payment_ID AutoNumber Primary

    Booking_ID NumberForeign to

    Bookings

    Card_Type Text

    Card_Number Text

    Expiry_Date Date/Time

    Start_Date Date/Time

    Issue_Number N umber

    Alternative_Payment_

    MethodText

    Total_Cost Currency

    2.1.8 Prices Table

    Table Name: Prices

    Field Name Data Type Primary/

    Foreign Keys

    Validation/Input Masks

    Price_ID AutoNumber Primary

    Day_of_the_week Text

    Lookup: Monday, Tuesday, Wednesday,

    Thursday, Friday, Saturday, Sunday, N/A

    Time_of_the_Day Text

    Other Text

    Price_per_day Currency

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    19/146

    Navraj Bains Kidzcare Babysitting System

    19

    2.2 Normalisation Tables

    Child_Carers (Carer ID, Title, Forename, Surname, Address_Line_1, Address_Line_2, Address_Line_3, Town, County, Post_Cost,

    Telephone_Number, Mobile_Number, Date_of_Birth, Gender, National_Insurance_Number, Date_Hired)

    Prices (Prices_ID, Day_of_the_week, Time_of_the_day, Other, Price_per_hour)

    Carer_working_Hours (Carer_ID, Day, From, To)

    Holidays (Holiday_ID, Carer_ID, From_date, To_date)

    Bookings (Booking_ID, Carer_ID, Customer ID, Price_ID, Booking_Date, Start_Time, End_Time)

    Customers (Customer ID, Title, Forename, Surname, Address_Line_1, Address_Line_2, Address_Line_3, Town, County, Postcode_Code,Email_Address, Telephone_number, Mobile_number, Relationship_to_child)

    Payments (Payment_ID, Booking_ID, Card_type, Card_number, Expiry_date, Start_date, Issue_number, Alternative_payment, Total_cost)

    Children (Child_ID, Forename, Surname, Date_of_birth, Gender, Customer ID, Special requirements, Additional_information)

    Key

    Primary Key: Underlined

    Foreign Key: Bold

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    20/146

    Navraj Bains Kidzcare Babysitting System

    20

    Key

    Primary Key: Underlined

    Foreign Key: Bold

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    21/146

    Navraj Bains Kidzcare Babysitting System

    21

    2.3 Design of Validation techniques

    There will be validation on every form in the system, and including in a number of tables. Validation is

    important in any system as incorrect data is no use to anyone. Increasing the amount of validation will

    decrease the chances of incorrect data in the system due to human errors. There will also be validation

    on text boxes in forms to ensure that the compulsory fields have all been filled out. I will add validation

    to tables in the Booking and payments section; I will make sure that the user can only input 3 digits in

    the Issue Number. If they do not follow the rule a message box will appear to inform the user the error.

    Another technique that I have used is Validation for

    2.3.1 Validation techniques

    Input field Type Method of

    Validation

    Validation rule Validation text

    Childrens

    table

    (Forename)

    Number Data type

    check

    [Forename] Is Null Or Not Like

    "*[!a-z]*"

    -

    Allow Letters only, and not

    numbers.

    Must enter Alpha

    Characters only!

    Customers

    Table (Email

    Address)

    Text Format

    Check

    Is Null OR ((Like "*?@?*.?*") AND

    (Not Like "*[ ,;]*"))Enter a Valid Email

    Address!

    Telephone

    Number

    Numeric Data Type

    Check

    Only numeric characters are

    allowed in this field

    You may only enter

    Numeric values into

    this field, please try

    again.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    22/146

    Navraj Bains Kidzcare Babysitting System

    22

    2.4 Design of security/password protection technique

    Flowchart Key

    The system

    database isopened

    Terminator

    (start or End)

    Decision

    Input or

    Output

    Process

    (performed by

    com uter

    User enters the

    password when

    prompted by the

    security system

    Computer database

    checks to see whether

    the password is correct

    Is the passwordthe user has

    entered correct

    and match

    No

    End

    Yes

    Start Open

    up the Access

    Document

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    23/146

    Navraj Bains Kidzcare Babysitting System

    23

    2.5 Design of on screen data

    2.5.1 Entry forms

    The Customers Form holds the details of a customer, the form contains information about the customer,

    it allows existing customer records to be retrieved by selecting the customer from the Find Customer

    combo box as well as adding new customer records.

    Find existing Customers using this

    combo box.

    Data entry fields that needs to have a

    valued entered for new customers or

    updating existing customers.

    Control buttons on the form, allows the user to

    add new customer records and to navigate to

    others Forms and Reports.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    24/146

    Navraj Bains Kidzcare Babysitting System

    24

    2.5.2 Form with sub form Carers Form

    The Carers Form holds the details of the Carer, the form contains a sub-form that has the details of the

    working hours for each carer. The Sub-form will select all the records for the selected carer.

    Find Carer combo box to

    lookup existing carers.

    Sub-form contains all

    the records from the

    Carer working Hours

    table for the givenCarer.

    The Main form displays the Carers

    Details.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    25/146

    Navraj Bains Kidzcare Babysitting System

    25

    2.5.3 Design of user-friendly, menu driven, front end interface.

    The Main Menu will be created using Accesss switchboard add-in. It will appear when the database is

    first opened after the splash screen has been closed. Below is a diagram showing the menu which will

    appear immediately after the splash screen.

    17:30:00

    Customers

    Children

    Child Carers

    Bookings

    Reports

    About

    Exit System

    Kidzcare Babysitting Service

    Various Option

    buttons allow users tonavigate there way

    throu h the s stem Labels for option

    buttons inform users

    what each option

    button does

    Clock added at the

    bottom of the

    switchboard

    Main Switchboard

    Opens the

    FrmCustomers form

    The Kidzcare

    Babysitting logo

    will go here

    Opens the

    FrmChildren form

    Opens the Carers

    Switchboard

    Opens the

    FrmBookings form

    Opens the

    FrmExitSystem form

    Opens theReports

    Switchboard

    Runs the

    about macro

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    26/146

    Navraj Bains Kidzcare Babysitting System

    26

    This is the Carers Switchboard which is accessed by clicking on the child carers button in the Main

    Switchboard.

    17:30:00

    Child Carers

    Holidays

    Back

    Kidzcare Babysitting Service

    Takes you back to theMain Switchboard

    Carers

    Opens the FrmHolidays

    Form

    Opens the

    FrmChildCarers form

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    27/146

    Navraj Bains Kidzcare Babysitting System

    27

    This is the Reports Switchboard which is accessed by clicking on the Reports button in the Main

    Switchboard.

    17:30:00

    Bookings Report

    Customer Report

    Back

    Kidzcare Babysitting Service

    Opens the

    CarersRep

    Re orts

    Opens the

    CustomersRep

    Report

    Opens the

    BookingsRep

    Report

    Carer Report

    Take the user

    back to the MainSwitchboard

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    28/146

    Navraj Bains Kidzcare Babysitting System

    28

    2.6 Design of Queries

    There are many different types of queries which I could incorporate into the final system, for example a select query, a parameter query, a crosstab query, or

    an action query. Queries are used to perform searches on sets of data in tables. In the Kidzcare Babysitting system most of the queries will use parameters

    from the form that runs the query to fetch a single or multiple records from the database. In most cases these fields are customer ID, Carer ID or Booking ID. I

    will be using a parameter query when creating reports for Miss Lally, as she will be able to choose which customer, carer, or booking she wants to base the

    report on. I will use command buttons to run the reports based on information in a particular user form.

    Types of

    Query

    Query Name Table Field Attribute Criteria Purpose Reason

    Single Table

    Query

    Customers List Customers Customer_ID

    Title

    Forename

    Surname

    None Provide a list of Customer Names

    allowing the user to select one from

    a combo box in the Customers Form.

    Single Table

    Parameter

    Query

    ChildrenQry Children Forename

    Surname

    Gender

    Date_of_birth

    Special_requirements

    Additional_information

    Customer_ID Details of all the Children for a given

    customer for the Childrens Form

    Multi Table

    Parameter

    Query

    CustomerRepQry Customer

    Children

    Customers.Title

    Customers.Forename

    Customers.Surname

    Customer.Name

    Customers.Address_line_1

    Customers.Address_line_2

    Customers.Address_line_3

    Customers.Town

    Customer_ID Details of A Customer and all the

    children for the Customers Report

    given a Customer_ID.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    29/146

    Navraj Bains Kidzcare Babysitting System

    29

    Customers.County

    Customers.Post_code

    Customers.Email_address

    Customers.Telephone_number

    Customers.Mobile_number

    Customers.Relationship_to_child

    Children.Forename

    Children.Surname

    Children.Date_of_birth

    Children.Gender

    Children.Special_requirements

    Multi Table

    Parameter

    Query

    CustomerQry Customers

    Child_Cares

    Bookings

    Payments

    Customers.Forename

    Customers.Surname

    Child_Carers.Forename

    Child_Carers.Surname

    Bookings.Booking_Date

    Payments.Total_Cost

    Customer_ID Display Details of all the booking

    for s given Customer.

    Multi Table

    Parameter

    Query

    CarersQry Customers

    Child_Cares

    Bookings

    Payments

    Customers.Forename

    Customers.Surname

    Child_Carers.Forename

    Child_Carers.Surname

    Bookings.Booking_Date

    Payments.Total_Cost

    Carer_ID Display Details of all the booking

    for s given Child Carer

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    30/146

    Navraj Bains Kidzcare Babysitting System

    30

    Single Table

    Parameter

    Delete

    Query

    DeleteChildrenQry Children Not applicable as the entire

    record is deleted so it affects ll

    the columns.

    Customer_ID In the Childrens Form when the

    user click the Delete Children

    Button it runs DeleteChildrenQry,

    this will delete all the childrens

    records for a given Customer_ID.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    31/146

    Navraj Bains Kidzcare Babysitting System

    31

    2.7 Design of report

    Customers Report Company Logo

    Customers Details

    Telephone No.

    Name

    Mobile No.

    Relationship

    Address

    Town

    County

    Email

    Postcode

    Child

    Name

    Date of

    Birth

    Additional

    Information

    Special

    Requirements

    Gender

    Todays Date Page number

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    32/146

    Navraj Bains Kidzcare Babysitting System

    32

    2.8 Design of Automated Routines

    2.8.1 Routine 1 Calculate the Age of ta child

    This calculation will be used on the Childrens form to determine the age of the child, to ensure that the

    childs age is less than 18 years old, so that hes not actually an adult. If the age is greater than 18 yearthen an Error message is displayed otherwise the record will be saved.

    Pseudo Code

    Calculate Childs Age by finding the difference between the Date of Birth and the System Date to

    determine this we will need to use a system function

    If Childs Age > 18

    Then

    Display message Either the Date of Birth is incorrect or this is not a Child, please

    change the Date of BirthElse

    Add the record to the database.

    End if

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    33/146

    Navraj Bains Kidzcare Babysitting System

    33

    2.8.2 Routine 2 Calculate the Cost

    This will be called from the Booking Form when the user clicks on the CalculateCost button, the

    routine will check that the user has entered value for three key fields:

    1. Booking Date2. Start Time

    3. End Time

    If any of these fields does not have a value entered for it the routine will display an error message,

    Must enter Date, Start Time and End Time before the Total Cost can be calculated.

    Pseudo Code

    If Booking Date is NULL or Start Time is NULL or End Time is NULL

    Then

    Display message Must enter Date, Start Time and End Time before the Total Cost can be

    calculated.

    Else

    Calculate Hours from Start Time and End Time

    Total Cost = Hours * Cost Per Hour

    End if

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    34/146

    Navraj Bains Kidzcare Babysitting System

    34

    2.8.3 Routine 3 Ensure Keys fields have values entered.

    This routine will be called from the Childrens Form when the user clicks on the Save and Exit button,

    the routine will check that the user has entered value for key fields below:

    1. Forename

    2. Surname

    3. Date of Birth

    4. Gender

    5. Customer ID

    Pseudo Code

    If Forename is NULL

    Then

    Display message Must enter Forename before saving this record

    ElseIf Surname is NULL

    Then

    Display message Must enter Surname before saving this record

    If Date of Birth is NULL

    Then

    Display message Must enter Date of Birth before saving this record

    Else

    IfGender is NULL

    Then

    Display message Must enter Gender before saving this record

    ElseIf Customer ID is NULL

    Then

    Display message Must Select a Customer before saving

    this record

    Else

    Save the Record and Close form

    End if

    End if

    End if

    End if

    End if

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    35/146

    Navraj Bains Kidzcare Babysitting System

    35

    3 Implementation

    3.1 Evidence of Relational Links diagram

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    36/146

    3.2 Create tables and links

    3.2.1 Child Carers Table

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    37/146

    Navraj Bains Kidzcare Babysitting System

    37

    3.2.2 Customers Table

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    38/146

    Navraj Bains Kidzcare Babysitting System

    38

    3.2.3 Payments table

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    39/146

    Navraj Bains Kidzcare Babysitting System

    39

    3.2.4 Childrens table

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    40/146

    Navraj Bains Kidzcare Babysitting System

    40

    3.3 Two data validation techniques

    3.3.1 Validation technique 1

    Firstly I opened up the

    database in design view

    and then selected the

    childrens table. I wanted

    to validate the Forename

    field and opened up the

    properties in this field and

    then the data tab.

    I then decided that I wantedto use the validation of data

    type check, meaning that I

    didnt want to allow the

    user to enter Numbers in an

    alpha text only field. As you

    can see the Validation Rule

    was =*Forename+ Is Null Or

    Not Like "*[!a-z]*", and if

    the user was to enter this

    wrong then the validation

    text would appear stating

    Must enter Alpha

    characters only!

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    41/146

    Navraj Bains Kidzcare Babysitting System

    41

    Any character outside the range A to Z is rejected, see error message below:

    As you can see the text in the

    Forename field is Numeric

    and therefore the error

    message has appeared.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    42/146

    Navraj Bains Kidzcare Babysitting System

    42

    3.3.2 Validation technique 2

    Open the Customers

    form in design view

    and click on emailAddress field and

    view the properties

    The Validation rule that has been used is Is Null OR ((Like "?@?.?") AND

    (Not Like "* ,;+")) this means Requires at least one character, @, at least one character,

    dot, at least one character. Space, comma, and semicolon are not permitted. Thevalidation message was Enter a valid Email address

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    43/146

    Navraj Bains Kidzcare Babysitting System

    43

    When en invalid email address is entered error message is display, shown below;

    As we can see the validation technique works, User entered wrong data and now they have been

    prompted with the Error Validation Message.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    44/146

    Navraj Bains Kidzcare Babysitting System

    44

    3.4 Automated Routines

    3.4.1 Childs Age Calculation

    This calculation will be used on the Childrens form to determine the age of the child, to ensure that

    the childs age is less than 18 years old, so that hes not actually an adult. If the age is greater than

    18 year then an Error message is displayed otherwise the record will be saved. Open up the

    Childrens form in design view, click on the Add Child button, this will bring up the properties sheet,

    shown below

    Choose Builder popup will appear, shown below:

    Click on the Event

    tab and click on

    the Event

    Procedure

    Click on Code Builder

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    45/146

    Navraj Bains Kidzcare Babysitting System

    45

    This will open up the Microsoft Visual Basic window and which will have the following contents:

    Enter the code shown below in red:

    Private Sub Add_Child_Click()

    On Error GoTo Err_Add_Child_Click

    Exit_Add_Child_Click:

    Exit Sub

    Private Sub Add_Child_Click()

    On Error GoTo Err_Add_Child_Click

    Dim varAge As Variant

    Dim childs_age As Integer

    If IsNull(Forms!Children!Date_of_Birth) Then Age = 0: Exit Sub

    varAge = DateDiff("yyyy", Forms!Children!Date_of_Birth, Now)

    If Date < DateSerial(Year(Now), Month(Forms!Children!Date_of_Birth), _

    Day(Forms!Children!Date_of_Birth)) Then

    varAge = varAge - 1

    End If

    childs_age = CInt(varAge)

    If childs_age >= 18 Then

    MsgBox "Either the Date of Birth is incorrect or this is not a Child, please

    change the Date of Birth, age is " & childs_age

    Exit Sub

    Else

    DoCmd.GoToRecord , , acNewRec

    End If

    Exit_Add_Child_Click:

    Exit Sub

    Err_Add_Child_Click:

    Check for Null Date of Birth value

    The DateDiff compares the two

    dates that are passed as parameters

    and returns the difference; in this

    case in years as the first parameter

    is set to yyyy, this result will be

    the age of the person.

    The calculated age is tested to ensure that it is

    not greater than or equal to 18, if it is an

    appropriate message is displayed otherwise the

    record is saved.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    46/146

    Navraj Bains Kidzcare Babysitting System

    46

    3.4.2 Calculate Total cost of Booking

    This routine will be called from the Booking Form when the user clicks on the Calculate Cost

    button, the routine will check that the user has entered value for three key fields:

    1. Booking Date2. Start Time3. End Time

    If any of these fields does not have a value entered for it the routine will display an error message,

    Must enter Date, Start Time and End Time before the Total Cost can be calculated.

    To create this routine select the Booking Form in design view, select the Calculate Button on the

    form and display the Properties sheet and select the Event tab, then click on Event Procedure as

    shown below:

    Calculate Button and the key fields

    Click on

    the

    Event

    Trigger

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    47/146

    Navraj Bains Kidzcare Babysitting System

    47

    Enter the code as shown in the window below, this code will only calculate the host of a booking if

    all the fields above have been populated

    Private Sub cmdcalculateCost_Click()

    If IsNull(Forms!Bookings!txtStartTime) Or IsNull(Forms!Bookings!txtEndTime) Or

    IsNull(Forms!Bookings!txtDate) Then

    MsgBox "Must enter Date, Start and End Times before Calculating the Total Cost"

    Exit Sub

    End If

    Forms!Bookings!txttotalcost = Forms!Bookings!txthourlyrate*Forms!Bookings!txttotalhours)+5

    End Sub

    This checks to make sure that the key fields are

    populated before we attempt to calculate the

    total cost of the booking. If any are NULL them

    a message box is displayed with an appropriate

    messa e

    Calculates the cost of the Booking,

    which is achieved by multiplying the

    number of hours by the hourly rate

    plus 5 for admin fee.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    48/146

    Navraj Bains Kidzcare Babysitting System

    48

    3.4.3 Ensure that Key fields are Populated

    This routine will be called from the Childrens Form when the user clicks on the Save and Exit

    button, the routine will check that the user has entered value for key fields below:

    1. Forename

    2. Surname

    3. Date of Birth

    4. Gender5. Customer ID

    To add this code to the routine Open the Childrens Form in Design view, select the Save and Exit

    button and view the properties sheet, select the Event tab and click on the Event Procedure as

    shown below:

    Click on the

    Event

    Trigger

    Select the Add Child

    button

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    49/146

    Navraj Bains Kidzcare Babysitting System

    49

    Then enter the following code in the Visual Basic window:

    The code checks the fields and if any are found to be NULL (i.e. empty) is displays a message box

    with an appropriate message otherwise the record is saved and the form closed.

    Private Sub Command18_Click()

    'Save and exit

    On Error GoTo Err_Command18_Click

    If Forms!Children!Forename = "" Then

    MsgBox "Must enter Forename before saving this record."'Exit Sub

    Else

    If Forms!Children!Surname = "" Then

    MsgBox "Must enter Surname before saving this record."

    'Exit Sub

    Else

    If IsNull(Forms!Children!Date_of_Birth) Then

    MsgBox "Must enter Date of Birth before saving this record."

    'Exit Sub

    Else

    If IsNull(Forms!Children!Gender) Then

    MsgBox "Must select Gender before saving this record."

    'saveFlag = FalseElse

    If IsNull(Forms!Children!Customer_ID) Then

    MsgBox "Must select Customer before saving this record."

    'Exit Sub

    Else

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

    DoCmd.Close

    End If

    End If

    End If

    End If

    End If

    Exit_Command18_Click:

    Exit Sub

    Err_Command18_Click:

    MsgBox Err.Description

    Resume Exit_Command18_Click

    End Sub

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    50/146

    Navraj Bains Kidzcare Babysitting System

    50

    3.1 Forms Implementation

    3.1.1 Customers Form

    Clicked on Create Form Wizard and selected the Customers table forms, and selected all the filedin this table as shown below, and clicked Next> button.

    The window is displayed, and clicked Next> button:

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    51/146

    Navraj Bains Kidzcare Babysitting System

    51

    On the next screen selected None for Style and the following window is displayed:

    Selected the Modify option and clicked the Finish button.

    I moved the fields to the desired positions and changed the font colour of all the boxes to blue by

    highlighting all the labels and clicking the right button on the mouse, and finally selecting the blue

    font/fore colour from the list. I changed the background colour of the form in the same way by right

    clicking on the background and clicking on the light blue colour from the fill back colour option.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    52/146

    Navraj Bains Kidzcare Babysitting System

    52

    I moved the form header section down and changed the background colour in the same way by right

    clicking on the form, clicking on fill back colour and finally selecting the purple colour from the

    palette.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    53/146

    Navraj Bains Kidzcare Babysitting System

    53

    I created a Kidzcare Logo in a word application and copied and pasted it into the header. I moved the

    logo until I was happy with the position.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    54/146

    Navraj Bains Kidzcare Babysitting System

    54

    Next it was time to create the combo box to allow the user to select a particular customer. I clicked

    on the combo box icon from the toolbar on the left, and dragged out the combo box onto the form.

    In the combo box wizard box, I selected the last option, Find a record on my form based on the value

    I selected in my combo box, and I click on next.

    Next I selected the Customer_ID, Forename and surname fields and moved them into the selected

    fields list by clicking on the first single arrow. I chose these fields as the user needs to choose from a

    customers name in the combo box in order to edit any details. Finally I clicked on next.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    55/146

    Navraj Bains Kidzcare Babysitting System

    55

    Finally I saved the combo box as CmbFindCustomer and clicked on the Finish button

    Right click on the find customer combo box and click on properties. Change the caption to Find

    Customer, and change the font weight to bold. Change the font colour to blue.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    56/146

    Navraj Bains Kidzcare Babysitting System

    56

    Next I created the command buttons of the forms. I click on the command button icon from the

    toolbar and in the command button wizard I click on record operations, and on add new record.

    Finally I clicked on the next button.

    In the next step of the wizard I entered Add New Customer in the text section and clicked Next.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    57/146

    Navraj Bains Kidzcare Babysitting System

    57

    on

    Right clicked on

    the command

    button and

    clicked on

    properties. I

    changed the font

    weight to bold. I

    right clicked on

    the button again

    and in the

    font/fore color Iclicked on blue.

    I saved the

    CmdNewCustomer

    and clicked on Finish

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    58/146

    Navraj Bains Kidzcare Babysitting System

    58

    3.1.2 Childrens Form

    I clicked on Create tab Forms Wizard and selected the Childrens table on the Window below:

    As in the Customers form clicked on Next> and selected the same options and clicked on Finish on

    the window below:

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    59/146

    Navraj Bains Kidzcare Babysitting System

    59

    I then arranged the fields to fit the form better and changed the font colour of all the boxes to

    purple by highlighting all the labels and clicking the right button on the mouse, and finally selecting

    the purple font/fore colour from the list. I right clicked again and changed the back colour to light

    purple. I added a shadow to each label by right clicking on them and clicking on properties. I changed

    the special effect to shadow to and the border style to solid to give them a border. I didnt want the

    users to see the child_ID so I set the visable propery in the format tab to No.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    60/146

    Navraj Bains Kidzcare Babysitting System

    60

    I clicked on the label and located it where I wanted on the form. I right clicked on the label and

    clicked on caption, changing it to children. I Changes the font size to 18, the font colour to purple

    and the wont weight to bold.

    I click on the command button icon and in the command button wizard I click on record operations,

    and Add New Record to allow the user to add a new child record in the form. When I had selected

    the correct actions and categories I clicked on Next.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    61/146

    Navraj Bains Kidzcare Babysitting System

    61

    In the next step of the wizard I clicked on text ad entered Add Child. Finally I clicked on the Next

    button to continue.

    In the next step I entered the name of the command button and clicked on Finish.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    62/146

    Navraj Bains Kidzcare Babysitting System

    62

    I right clicked on the command button and changed the fore colour to purple, and the font weight to

    bold.

    I created another command

    button and removed the

    wizard option by clicking on

    the icon from the toolbar.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    63/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    64/146

    Navraj Bains Kidzcare Babysitting System

    64

    I wanted to allow the user to save andexit the form at the click of a button, and in order to allow the

    user to do this in one button I had to create simple coding In Visual Basic. The circled area is where I

    added the VBA coding. Once I had written the coding I saved and closed the program.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    65/146

    Navraj Bains Kidzcare Babysitting System

    65

    I went into the format

    tab in the properties

    box, and changed the

    caption to save and exit.

    I changed the fore/font

    colour to purple and the

    font weight to bold.

    I clicked on the square icon from the toolbar on the left hand side, and arranged it around the

    command buttons. I change the colour to purple and the border width to 1 pt, finally save the form.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    66/146

    Navraj Bains Kidzcare Babysitting System

    66

    3.1.3 Carers Form with a Sub-form

    This form is for entering the carers details as well as the details of the working hours. As a carer can

    work many days of the week the, Carer_Working_Hours table will have many records for a single

    Carer record, one to many relationship, therefore the Carers details will be in the Main form and the

    working details will be in the sub-form. So first we create a Sub-form Carers Working Hours based

    on the Carers_Working_Hours table, in a similar way as the Customers and Childrens forms. I

    then created the Carers form based on the Carers table, to create the Sub-form I dragged-and-

    dropped the Carers Working Hours form onto the Carers Form and moved the fields on the two

    forms as shown below:

    Carers

    WorkingHours

    sub-form

    Main Form Details

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    67/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    68/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    69/146

    Navraj Bains Kidzcare Babysitting System

    69

    3.2.2 Splash Macro

    Purpose: - This macro is called by the Splash form. The macro closes the Splash form and opens the

    Switchboard form. This macro is created the same way as the About marco , but instead of a

    MsgBox action we choose Close and OpenForm Actions and completed as shown in the steps below:

    Step 1 - close the Splash form:

    Step 2 Opens the Switchboard form:

    The Splash macro is called by the Splash Form, this form has a timer based event that calls the Splash

    macro, and this event is triggered 4000 micro-seconds i.e. 4 seconds after the Slash Form has been

    running. The macro will close the Splash form and start-up the Switchboard form. The screenshot

    below shows how the Splash macro is setup with the Splash Form;

    Action is to close a Form

    Object type to be closed is a

    Form to close is the Splash form

    Action is to Open a Form

    Object type to be open is a

    Form

    Form to Open is the Main

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    70/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    71/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    72/146

    Navraj Bains Kidzcare Babysitting System

    72

    Results

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    73/146

    Navraj Bains Kidzcare Babysitting System

    73

    3.3.2 Single Table Parameter Query - ChildrenQry

    This query selects all the records from the Childrens Table returning all the fields for a given

    Customer_ID. The Customer_ID will be used from the Customers Form.

    Results - given Customer_ID = 4 returns the following results:

    Search Criteria using the Customer_ID from the

    Customer form.

    Only returns the Childrens records

    where Customer_ID = 4

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    74/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    75/146

    Navraj Bains Kidzcare Babysitting System

    75

    Results of this query run when the Customer_ID = 4.

    The screenshot below show the other fields that are not visible above;

    Data columns retrieved from the Customers Table

    Data columns retrieved from the Customers Table Data columns retrieved from the Childrens Table

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    76/146

    Navraj Bains Kidzcare Babysitting System

    76

    3.3.4 Multi Table Parameter Query - CustomerQry

    This query selects details of all the bookings that a given Customer has made previously, the data is

    selected from four tables, Customer, Bookings, Payments and Child_Carers. The Customer_ID is

    provided from the Customers Form

    Results: For Customer_ID = 4

    Multi table query between Customers, Bookings,

    Child Carers and Pa ments ke s used to oin the tables.

    This shows all the booking for Customer_ID = 4

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    77/146

    Navraj Bains Kidzcare Babysitting System

    77

    3.3.5 Multi Table Parameter Query - CarerQry

    This query selects details of all the bookings that a given Carer has attended previously, the data

    is selected from four tables, Customer, Bookings, Payments and Child_Cares. The Carer_ID is

    provided from the Child_Carers Form.

    Results All the booking for Carer_ID equal to 3.

    Multi table query between Customers, Bookings,Child_Carers and Payments, keys used to join the tables.

    This shows all the booking for Carer_ID = 3

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    78/146

    Navraj Bains Kidzcare Babysitting System

    78

    3.3.6 Single Table Parameter Delete Query DeleteChildrenQry

    This query deletes all the Children records for a given Customer_ID, this query will be run from the

    Childrens Form.

    The criteria used to delete records for a given

    Customer, taken from the Customers Form

    Delete Query Type Delete records from the Childrens table.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    79/146

    Navraj Bains Kidzcare Babysitting System

    79

    3.4 Creating Customers Report

    To create the Customers Report first create a query as described in the previous section joining

    Customers and the Childrens table, then open the Reports Wizard, as shown below

    Select the query created for this report, CustomerRepQry, move all the require columns to theSelect fields section, moving them left to right:

    Click the Next> button and the following screen will appear, leave the default selection, byCustomers as shown below and click Next > button:

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    80/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    81/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    82/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    83/146

    Navraj Bains Kidzcare Babysitting System

    83

    Below is a report for a customer, show the Customer and Childrens details separated.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    84/146

    Navraj Bains Kidzcare Babysitting System

    84

    Individual programming code.

    Automated routine code 1

    Enter the code shown below in red:

    Private Sub Add_Child_Click()

    On Error GoTo Err_Add_Child_Click

    Dim childs_age As Integer

    childs_age = DateDiff("yyyy", Forms!Children!Date_of_Birth, Now())

    If childs_age >= 18 Then

    MsgBox "Either the Date of Birth is incorrect or this is not a Child, please

    change the Date of Birth, age is " & childs_age

    Exit Sub

    Else

    DoCmd.GoToRecord , , acNewRec

    End If

    Exit_Add_Child_Click:

    Exit Sub

    Err_Add_Child_Click:

    MsgBox Err.Description

    Resume Exit_Add_Child_Click

    End Sub

    Function call to get the age in years

    The calculated age is tested to ensure that it is

    not greater than or equal to 18, if it is an

    appropriate message is displayed otherwise the

    record is saved.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    85/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    86/146

    4 Testing

    4.1 Test Plan

    Test No. Test Type Criteria Expected Outcome Actual Outcome Evidence

    1 User Interface and test all

    routes through the system

    Buttons take to

    relevant forms, and

    allows user to exit

    application.

    User able to

    navigate the systems

    using different form

    and Reports.

    As Expected Teacher must sign Here

    if test is successful

    2 Data entry with Valid Data Add Customer using

    the Customers Form

    Customer record

    added to the

    Customers Table.

    New customer

    record added to

    the Customer

    table.

    See test for results.

    3 Data entry with extremes

    of Data

    Add extreme valid data

    to the entry fields and

    this data must be

    accepted without an

    error message.

    The extreme data is

    added without an

    error message

    appearing

    As expected, no

    error message with

    the extremes of

    data.

    See test for results.

    4 Calculation Test To test this procedure

    enter Childrens form, set

    the date of birth to 26-

    Sep-60

    Message Box is

    displayed with

    appropriate

    message highlighting

    A message box is

    displayed with

    indicating error in

    Date of Birth

    See tests documentation

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    87/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    88/146

    Navraj Bains Kidzcare Babysitting System

    88

    fields. When all the

    fields are entered the

    cost is calculated

    correctly

    that needs to be

    entered. When valid

    data is entered teh

    cost of booking is

    displayed correctly.

    10 Automated Procedure 2

    Calculation

    Check that the a child

    with the age over 18

    cannot be entered

    A message with the

    age is displayed to

    the user.

    As expected See Tests.

    11 Automated Procedure 3 Ensure that error

    message with details of

    the missing fields is

    displayed if a user

    attempts to save

    without entering all the

    key information.

    An appropriate

    message is displayed

    highlighting the field

    that needs to be

    entered., otherwise

    the record is

    updated and the

    form closed.

    As expected See Tests.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    89/146

    4.2 User Interface and test all routes through the system

    Main Menu

    Switchboard

    Customers

    Add Edit Delete Search

    View Report

    Children

    Add Edit Delete

    Bookings

    Add Edit View Report

    Child Carers

    Add Edit Delete Search

    View Report

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    90/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    91/146

    Navraj Bains Kidzcare Babysitting System

    91

    This is the

    field after

    the data has

    been saved.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    92/146

    Navraj Bains Kidzcare Babysitting System

    92

    Data Entry with extremes of Data

    This is a print screen of the table before the new entry has be saved.

    The data is entered into the entry

    form.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    93/146

    Navraj Bains Kidzcare Babysitting System

    93

    For this test I tested a a child who was 17 years and 364 days old as an extreme of data, this was

    tested along with the days date.

    If the child was 18 on the 02/05/2012 , then they should be allowed to be entered on the system.

    As we can see the extreme of data

    has been accepted without any

    error messages.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    94/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    95/146

    Navraj Bains Kidzcare Babysitting System

    95

    4.3.2 Check for a valid Email Address

    As the user has

    entered the email

    address in

    properly they are

    allowed to

    continue onto the

    next field filling

    out the rest of

    the form.

    As we can see here the

    user has clearly entered

    invalid data as all email

    addresses need an @ sign

    and therefore the error

    message has appeared.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    96/146

    Navraj Bains Kidzcare Babysitting System

    96

    4.4 Testing Automated Routines

    4.4.1 Age Calculation Testing

    Purpose: - Test procedure that calculates the Age of a child

    To test this procedure entered data for the fields on the Childrens form, set the date of birth to

    26-Sep-60 on the Childrens form shown below:

    This will cause the following message box to be displayed:

    Enter details

    of the of the

    child and set

    the date to

    20-Sep-60,

    once the

    required

    information

    has been

    filled click on

    Add Child

    button

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    97/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    98/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    99/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    100/146

    Navraj Bains Kidzcare Babysitting System

    100

    The screen shot below shows these two records in the Customers and Childrens tables:

    The main Customers record For Mr

    James Gill, CUSTOMER_ID = 9

    The Jessicas record in the Childrens table

    which points to the master record, foreign key,

    CUSTOMER_ID = 9, linking the two records

    together

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    101/146

    Navraj Bains Kidzcare Babysitting System

    101

    4.7 Database Queries Testing

    4.7.1 Single Table Query CustomerListQry

    Purpose: - This query selects all the records from the Customers Table returning the Name of the

    customer and the Customer_ID. The Name of the Customer is a concatenation list of the Title, Forename

    and Surname with a space between each field.

    The Name is constructed from the Title, Forename

    and Surname with a space between each field.

    Order the records ascending using

    this column.

    Note: There are no criteria defined for this query so it

    returns all the records from the customers table.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    102/146

    Navraj Bains Kidzcare Babysitting System

    102

    Test Results: - Pass, as it retrieves the Customer_ID and the Name for all the records in the

    Customers Table.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    103/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    104/146

    Navraj Bains Kidzcare Babysitting System

    104

    4.7.3 Testing Multi Table Parameter Query - ChildrenRepQry

    Purpose: - This query selects all the records from the Customers and the Childrens Table

    returning all the fields for a given Customer_ID. The Customer_ID will be used from the

    Customers Form.

    The screen shot below shows the criteria column used to select the particular Customer record that

    weve interested in:

    To test just the query in isolation the window below prompts for the desired Customer_ID:

    Test Results: - Pass, given Customer_ID = 4, the query returns the only record for Serena Bains

    Search Criteria using the Customer_ID from the

    Customer form.

    Multi table query between Customers and

    Children, the key used to join the two tables is

    Customer_ID

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    105/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    106/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    107/146

    Navraj Bains Kidzcare Babysitting System

    107

    Test Results: - Pass, given Customer_ID = 4 it shows all four bookings made for the customer:

    This shows all the booking for Customer_ID = 4

    Customer Forename and Surname from

    the Customer Table

    Child Carers Forename and Surname from

    the Child_Carers Table

    Booking Date from the Bookings Table

    Cost of the Booking from the Payments

    Table

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    108/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    109/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    110/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    111/146

    Navraj Bains Kidzcare Babysitting System

    111

    To test just the query in isolation the window below prompts for the desired Customer_ID entered

    value 110:

    Test Results: - Pass the two records with Customer_ID = 110 for First Piggy and Second Piggy

    have been deleted, records that remain in the table shown below:

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    112/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    113/146

    Navraj Bains Kidzcare Babysitting System

    113

    As the system is opened you are prompted to enter a password.

    The user must enter a

    password and only then

    can they progress onto

    the main database.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    114/146

    Navraj Bains Kidzcare Babysitting System

    114

    Test with incorrect password

    If the User was to enter

    in the wrong password

    then they would be

    prompted with a

    message, Not a valid

    Password, and then

    would have to enter a

    right password.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    115/146

    Navraj Bains Kidzcare Babysitting System

    115

    Test Number 11 - Test calculation is correct

    This is part of the Booking forms and calculates the cost for the customer.

    I clicked on the calculate costs button and the hourly rate, total hours and cost text boxes were

    filled with the correct values. Therefore the test was a success.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    116/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    117/146

    Navraj Bains Kidzcare Babysitting System

    117

    5.2 Details of how to enter passwords or other security

    procedures

    When the system is opened you will be prompted for a username and password. Use your user

    name and password to access the system (see appendix for details on user names and passwordsalready created). Warning: You will not be able to access the system without your password.

    To change existing user names and passwords or add additional usernames and passwords you must

    have admin access to the system or your access will be denied and you will not be able to make any

    changes to the security settings.

    5.2.1 Changing usernames and passwords:

    1. Open the system from the Kidzcare Babysitting Service folder created in the installation

    procedure, and log in using administrative access. Please note you will be able to amend

    existing user names and passwords, or add additional ones without the administrative user

    name and password.

    A rom t like the one above will a ear to allow the user to enter their user name and assword

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    118/146

    Navraj Bains Kidzcare Babysitting System

    118

    2. Once you gain access to the system click on Tools, Security and User and Group Accounts

    3. In the User and Group Accounts box click on the user tab to add and remove users. In the

    Available groups column select the group you wish to add or remove and click Add to add it

    to the Members column, or remove to get rid of it.

    4. To change a password of an existing user click on the change logon password tab and type in

    your current password. In the text boxes below type in your new password. Please note to

    change the password of your own account you do not require administrative access.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    119/146

    Navraj Bains Kidzcare Babysitting System

    119

    5. To change the permissions of an individual users click on Tools, Security and User Group

    Permissions. Again this can only be done using administrative access.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    120/146

    Navraj Bains Kidzcare Babysitting System

    120

    6. To Change the permissions of a user, click on the Permissions tab and select the user/group name

    whose permissions you wish to change. In the permissions box check or uncheck the permissions

    you want to amend.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    121/146

    Navraj Bains Kidzcare Babysitting System

    121

    The Main Switchboard shown below allows you to navigate your way around the system.

    Opens the customers

    Opens the Reports Switchboard

    Opens the Child Cares

    Switchboard

    Shows a message box

    about the system

    Opens the Bookings form

    Opens a form which allows

    you to exit the system

    Opens the children form

    The Kidzcare Babysitting

    Service logo

    Shows the current

    time (24 clock)

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    122/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    123/146

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    124/146

    Navraj Bains Kidzcare Babysitting System

    124

    In the customers

    form the Past Bookings

    button allows you to look

    at all the bookings thatthe customer you have

    selected has made. Of a

    particular customer.

    When you click on the Past Bookings button the form shown below will appear showing the

    details of the past bookings of the customer you have selected in the customers form.

    When you click on the Save and Exit button in the CustomerQry form the form will close andthe customers form will reopen.

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    125/146

    Navraj Bains Kidzcare Babysitting System

    125

    After you have selected a customer

    from the customers form you can view

    and print a report on the customers

    details. To do this you click on the View

    Report button from the customersform.

    To print the customers reportsimply click on the print icon

    from the toolbar

    The report can also be accessed

    from the reports switchboard or

    the navigation toolbar

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    126/146

    Navraj Bains Kidzcare Babysitting System

    126

    5.3 Making a Booking

    The Make booking button on the Customers form opens the bookings form shown below. Thebookings form can also be accessed from the navigation toolbar and the Main Switchboard.

    Once the form is opened first select the customer from the customer details section. (Youmust complete the sections in order or error messages will appear telling you to go back to a

    missed section.

    Next enter the data and time you wish to book the customersbooking for. If there are no carers available for the date and

    time you have picked, then an error message will appear telling

    you that no carers are available as they are either fully booked

    or on holiday.

    If no message box appears then click on the Find carer box and

    select any of the carers which are available to work. You will be able to choose any one from

    the carers box as all the ones in here will be available for the day and time entered.

    Click on the Calculate costs button to find the hourly rate, total hours, and cost of the booking Enter the payment details for the customer. You must enter their method of payment, for

    example either enter their credit card details or enter an alternative method of payment.

    The Make Booking button

    confirms the booking with a

    message box, and opens a

    report based on the Booking

    details

    See next page to view an

    example of a bookings report

    The Exit button closes the form

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    127/146

    Navraj Bains Kidzcare Babysitting System

    127

    Below is a screenshot to show what a bookings report would look like

    The report can also be accessed from the reports switchboard or the navigation toolbar

    To print the report click on the print icon from the menu bar

  • 7/31/2019 Kidzcar Babysitting Service Documentation.docx

    128/146

    Navraj Bains Kidzcare Babysitting System

    128

    5.4 Adding and amending child carer details

    When the form appears you can search for a carer from the combo box. Once you select a customer from

    the combo box, their details are copied into the text boxes in the form. You may edit details by replacingthe current text boxes in the form.

    The Past Bookings button on the Child Carers form opensanother form which shows their booking history according

    to the date.

    (See the Carer Bookings form below as an example)

    To add a new carer simply click on the Add New Carer

    button. T