Professional Documents
Culture Documents
Case Study Sad Vets.08.Hsa - Walker
Case Study Sad Vets.08.Hsa - Walker
Case Study Sad Vets.08.Hsa - Walker
Case Study
For the
WellPet Veterinary Practice
By June Walker
May 2008
Mansha Nawaz
i
ABSTRACT
This assignment has been produced to satisfy the criteria of ICA 1 for the
Module: Systems Analysis and Design. The content of this document has
been produced by using the Case Study WellPets Veteninary Surgeons to
enable the ICA Criteria to be met.
ii
CONTENTS
ABSTRACT...................................................................................................... I
1 INTRODUCTION...................................................................................... 5
1.1 Case Study Scenario....................................................................... 6
2 SYSTEMS ANALYSIS ............................................................................. 8
2.1 Terms of Reference......................................................................... 8
2.2 Statement of Purpose ..................................................................... 9
2.3 Systems Model .............................................................................. 10
2.3.1 CASE Tools ............................................................................ 10
2.4 Context Diagram Registration of Pets...................................... 11
2.4.1 WellPet Context Diagram - Registration .............................. 11
2.4.2 Event List ................................................................................ 12
2.5 Context Diagram Treatment and Payment ............................... 13
2.6 Dataflow Diagram Fragments....................................................... 14
2.6.1 Registration ............................................................................ 14
2.6.2 Making an Appointment ........................................................ 15
2.6.3 National Database .................................................................. 16
2.6.4 Requesting Insurance............................................................ 17
2.6.5 Assessment of Pet ................................................................. 18
2.6.6 Logging of Treatment ............................................................ 19
2.6.7 Creating of Invoice................................................................. 20
2.6.8 Payment of Invoice ................................................................ 21
2.6.9 Creating of Statement............................................................ 22
2.6.10 Update of Records ................................................................. 23
2.7 Top-Level Dataflow Diagram ........................................................ 24
2.7.1 WellPets Top level - Registration.......................................... 24
2.8 Low-Level Dataflow Diagrams ..................................................... 25
2.9 Top-Level Dataflow Diagram Treatment and Payment............ 29
2.10 Low-Level Dataflow Diagrams Treatment and Payments ....... 30
3 SYSTEMS DESIGN ............................................................................... 36
3.1 Data Dictionary .............................................................................. 36
3.2 Datastores Structures and Elements........................................... 37
3.2.1 Data Store Owners .............................................................. 37
3.2.2 Data Store Pets.................................................................... 38
3.2.3 Data Store Appointments ................................................... 39
3.2.4 Data Store Vets.................................................................... 40
3.2.5 Data Store Insurance Plans................................................ 41
3.2.6 Data Store Rejections ......................................................... 43
3.2.7 Data Store Confirmations ................................................... 44
3.2.8 Data Store Diary .................................................................. 45
3.2.9 Data Store Missed Appointments ...................................... 47
3.2.10 Data Store Cancelled Appointments ................................. 49
3.2.11 Data Store Statements........................................................ 51
3.2.12 Data Store Invoices............................................................. 53
3.2.13 Data Store Receipt .............................................................. 55
3.2.14 Data Store Costs ................................................................. 57
3.2.15 Data Store Treatments........................................................ 58
3.2.16 Data Store Drugs................................................................. 59
iii
3.2.17 Data Store Equipment......................................................... 60
3.2.18 Data Store Insurance Company ......................................... 61
3.3 Dataflows Structures and Elements ............................................ 62
3.4 Process Descriptions.................................................................... 63
4 CRITICAL REVIEW ............................................................................... 65
REFERENCES .............................................................................................. 66
APPENDIX .................................................................................................... 66
iv
1 INTRODUCTION
5
1.1 Case Study Scenario
A record is kept of the owners who have registered with the surgery and of
their pets. Details recorded include the owners name, address and contact
details; the pets name, animal type (for example: dog, cat), pets date of birth
and date registered with the surgery. Some owners register their pet when
they first need treatment; others register them when they acquire the pet, in
advance of them ever needing to see a vet.
When an owner wants their pet to be seen by a vet, they bring them to the
surgery. Appointments are made in advance. Details are recorded of the
appointment date and time, the vet, and the pet; if an owner is bringing two or
more animals to the surgery each is treated as a separate appointment. After
the appointment it is noted whether the pet attended (some owners make an
appointment and then either cancel it or do not turn up for example because
they cannot catch their cat or because the animal appears to be better). The
surgery wants to be able to identify owners who regularly make appointments
that they do not keep.
Details of any treatments prescribed for pets are kept, including the date
prescribed, which vet was involved, which appointment (if the treatment/s
was/were prescribed during an appointment) and any necessary notes. There
are a number of standard treatments (for example, injection against cat
influenza, clipping dog claws, de-worming, putting an animal down) each of
which has a code and a description. A treatment may consist of an operation
6
on the pet (for example, neutering). A pet treatment may consist of something
other than a standard treatment. An appointment does not necessarily result
in any treatments. Owners may also be provided with a standard treatment
(such as worming tablets) without bringing in their animals for an appointment.
7
2 SYSTEMS ANALYSIS
8
2.2 Statement of Purpose
9
2.3 Systems Model
To enable the system to be modelled effectively the following CASE tool will
be used. Also noted below are a description of the symbols used in the
diagram
Case Tool: Ascent 2.1
Tool type: Yourdon
Symbol types:
Entity
represents External bodies that interact with the given
system. (i.e. supplier, company manager, customer etc).
Start and end point for data going into and out of the
system.
Process
The parts of the system that process the data imputed to
give the required information output or storage.
Used to develop details of various processes such as
Queries, report compilation, warning systems etc.
Data Store
Used to store data the system produces.
Can have multiple data flows to write and read the data.
Table 1
10
2.4 Context Diagram Registration of Pets
Below (figure 1.1) is shown the context diagram of the proposed computer
system for WellPets Vet Practice. This highlights the processes, which are
undertaken.
Figure 1.1
11
2.4.2 Event List
12
2.5 Context Diagram Treatment and Payment
Below (figure 2.1) show the context diagram of the proposed computer
system for WellPets Vet Practice. This highlights the processes, which are
undertaken.
Figure 2.1
13
2.6 Dataflow Diagram Fragments
2.6.1 Registration
An owner can rings up or calls in at the WellPet surgery and ask to register
the pet(s). The admin takes the Owners details and the Pet details and
records them in there own file and gives them a unique owner and pet
number..
Figure 1.2
14
2.6.2 Making an Appointment
Figure 1.3
15
2.6.3 National Database
Admin check with the National Database to see if they can register the owner
and the pet and to see if they have a record. Then the admin confirm the
registration.
Figure 1.4
16
2.6.4 Requesting Insurance
When the owner makes an appointment they are asked if they would like
Insurance and given different plans to look through they decided which one is
suitable then they get an plan number from the insurance company.
Figure 1.5
17
2.6.5 Assessment of Pet
When the owner brings the Pet into see the Vet they make an assessment of
the treatment that needs to be given and if any operations are needed. They
are then check to see if the drugs are available. The Vet then logs the
treatment.
Figure 2.2
18
2.6.6 Logging of Treatment
Once the Vet has treated the Pet they then log the treatment given into the
Pet file.
Figure 2.3
19
2.6.7 Creating of Invoice
Admin ask the finance department for the cost of a treatment or operation and
then they make out a invoice which is then sent to owner or the insurance
company if the owner has go insurnance.
Figure 2.4
20
2.6.8 Payment of Invoice
The owner or Insurance Company pays the invoice, which is then recorded
and a receipt is sent back to the owner or Insurance Company.
Figure 2.5
21
2.6.9 Creating of Statement
Every 3 months the Finance Department produce a statement for the Owner
and the Insurance Company.
Figure 2.6
22
2.6.10 Update of Records
Admin keep update the records in the Pet, Owner, vet and Finance datastores.
Figure 2.7
23
2.7 Top-Level Dataflow Diagram
Figure 3.1
24
2.8 Low-Level Dataflow Diagrams
Figure 4.1
25
Below (figure 4.2) is a low-level diagram showing how the national Database
check records to see if the owner has an conviction against them before been
able to register with the WellPet.
Figure 4.2
26
Below (figure 4.3) is a low-level diagram showing the different parts to making
an appointment with the WellPets.
Figure 4.3
27
Below (figure 4.4) is a low-level diagram showing the different parts when a
owner request insurance for their pet.
Figure 4.4
28
2.9 Top-Level Dataflow Diagram Treatment and Payment
Figure 3.2
29
2.10 Low-Level Dataflow Diagrams Treatment and Payments
Below (figure 5.1) showing the different processes in the assessment of a pet.
Figure 5.1
30
Below (figure 5.2) showing the different processes in the logging of treatment.
Figure 5.2
31
Below (figure 5.3) showing the different processes when making out invoices.
Figure 5.3
32
Below (figure 5.4) showing the different processes when making a payment
Figure 5.4
33
Below (figure 5.5) showing the different processes when making out statements
Figure 5.5
34
Below (figure 5.6) showing the different processes when updating the records.
Figure 5.6
35
3 SYSTEMS DESIGN
This section is on the data dictionary which holds details of the structures
and elements for each data store which are in the WellPets Data Flow
Diagrams.
36
3.2 Datastores Structures and Elements
Data structures:
OWNERS = {OWNER}
OWNER = Owner+OAddress+OContact Number
OCONTACT = OTitle+OForename+OSurname
OADDRESS = House#+Street+Town+County+Postcode
ODETAILS = Date_Of_Birth+
Tel_No_Home+Tel_No_Work+Mobile+Email
OWNER NUMBER = Surname+Date_Of_Register
Data Elements:
Otitle = 1{char}4 **[Mr|Mrs|Miss|Dr]
Oforename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from
subset [0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Tel_No_Work = 12{char}12 **usually from [0..9||-]
Moible = 12{char}12 **usually from [0..9||-]
Email = 1{char}40 **usually from [A..Z|a..z|0..9,-@]
Owner_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
37
3.2.2 Data Store Pets
Data structures:
PETS = {PET}
PET = Pet+PAddress+PContact Number+PGender
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT NO = Tel_No_Home
PDETAILS = Date_Of_Birth+Ptype+PBreed
PET NUMBER = Pet Name+Date of register
Data
Elements:
PForename = 1{char}20
PSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Pet_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
38
3.2.3 Data Store Appointments
Data structures:
APPOINTMENTS = {APPOINTMENT}
PET = Pet+PAddress+PContact Number+PGender
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT NO = Tel_No_Home
PDETAILS = Date_Of_Birth+Ptype+PBreed
PET NUMBER = Pet Name+Date of register
VET DETAILS = Title+Forename+Surname
Data
Elements:
Date = 1{char}8 **format dd/mm/yy
Time = 1{char}10 **format hh:mm AM or PM
PForename = 1{char}20
PSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Pet_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
39
3.2.4 Data Store Vets
Data structures:
VET = {VET}
VET = VetName+VAddress+VContact
VNAME = VTitle+VForename+VSurname
VCONTACT = VForename+VSurname
VADDRESS = House#+Street+Town+County+Postcode
VCONTACT NO = Tel_No_Home+Email
VDETAILS = Date_Of_Birth+VGender
Data Elements:
VForename = 1{char}20
VSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from
subset [0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z]
#=[1..99] and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Email = 1{char}40 **usually from [A..Z|a..z|0..9,-]
Date_Registered = Date **format dd/mm/yy
Specialities = 1{char}20
Qualifications = 1{char}100
Training = 1{char}100
40
3.2.5 Data Store Insurance Plans
Data structures:
INSURANCE PLANS = {INSURANCE PLAN}
PET = Pet+PAddress+PContact Number
ONAME = OTitle+OForename+OSurname
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT NO = Tel_No_Home
PDETAILS = Date_Of_Birth+Ptype+PBreed+PGender
PET NUMBER = Pet Name+Date of register
PLAN NUMBER = Surname+Petname+Date_Registered
Data Elements:
Plan Name = 1{char}30
Date_Registered = Date **format dd/mm/yy
Plan _Number = 1{char}40 **Usually from [A..Z|a..z|0..9,-]
Cover = 1{char}40
PForename = 1{char}20
PSurname = 1{char}20
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from
subset [0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z]
#=[1..99] and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
41
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Pet_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
42
3.2.6 Data Store Rejections
Data structures:
REJECTIONS = {REJECT}
PET = PetName
ONAME = OTitle+OForename+OSurname
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT NO = Tel_No_Home
PDETAILS = Date_Of_Birth+Ptype+PBreed+PGender
PET NUMBER = Pet Name+Date of register
Data
Elements:
PForename = 1{char}20
PSurname = 1{char}20
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
43
3.2.7 Data Store Confirmations
Data structures:
CONFIRMATIONS = {CONFIRM}
PET = PetName
ONAME = OTitle+OForename+OSurname
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT NO = Tel_No_Home
PDETAILS = Date_Of_Birth+Ptype+PBreed+PGender
PET NUMBER = Pet Name+Date of register
Data
Elements:
PForename = 1{char}20
PSurname = 1{char}20
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
44
3.2.8 Data Store Diary
Data
structures:
DIARY = {DIARY}
DIARY = PName+OName+Address+Contact+Vet+date+time+descr
iption
PET = Pet+PAddress+PContact Number
ONAME = OTitle+OForename+OSurname
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT = Tel_No_Home
NO
PDETAILS = Date_Of_Birth+Ptype+PBreed+PGender
PET = Pet Name+Date of register
NUMBER
VET = Title+Forename+Surname
DETAILS
Data
Elements:
Date = 1{char}8 **format dd/mm/yy
Time = 1{char}10 **format hh:mm AM or PM
PForename = 1{char}20
PSurname = 1{char}20
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
45
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Pet_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
VTitle = 1{char}4 Mr|Mrs|Miss|Ms|Dr
VForename = 1{char}20
VSurname = 1{char}20
Description = 1{char}100
46
3.2.9 Data Store Missed Appointments
Data structures:
MISSED = {MISSED APPOINTMENT}
APPOINTMENTS
MISSED = PName+OName+Address+Contact+Vet+date+time
APPOINTMENT +reason
PET = Pet+PAddress+PContact Number
ONAME = OTitle+OForename+OSurname
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT NO = Tel_No_Home
PDETAILS = Date_Of_Birth+Ptype+PBreed+PGender
PET NUMBER = Pet Name+Date of register
VET DETAILS = Title+Forename+Surname
Data
Elements:
Date = 1{char}8 **format dd/mm/yy
Time = 1{char}10 **format hh:mm AM or PM
PForename = 1{char}20
PSurname = 1{char}20
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
47
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Pet_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
VTitle = 1{char}4 Mr|Mrs|Miss|Ms|Dr
VForename = 1{char}20
VSurname = 1{char}20
Reason = 1{char}100
48
3.2.10 Data Store Cancelled Appointments
Data structures:
CANCELLED = {CANCELLED APPOINTMENT}
APPOINTMENT
S
CANCELLED = PName+OName+Address+Contact+Vet+date+time+rea
APPOINTMENT son
PET = Pet+PAddress+PContact Number
ONAME = OTitle+OForename+OSurname
PCONTACT = PForename+PSurname
PADDRESS = House#+Street+Town+County+Postcode
PCONTACT NO = Tel_No_Home
PDETAILS = Date_Of_Birth+Ptype+PBreed+PGender
PET NUMBER = Pet Name+Date of register
VET DETAILS = Title+Forename+Surname
Data
Elements:
Date = 1{char}8 **format dd/mm/yy
Time = 1{char}10 **format hh:mm AM or PM
PForename = 1{char}20
PSurname = 1{char}20
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
49
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Date_Of_Birth = date **format dd/mm/yy
Gender = 1{char}15 **[M|F]
Type = 1{char}15
Breed = 1{char}15
Tel_No_Home = 12{char}12 **usually from [0..9||-]
Pet_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
VTitle = 1{char}4 Mr|Mrs|Miss|Ms|Dr
VForename = 1{char}20
VSurname = 1{char}20
Reason = 1{char}100
50
3.2.11 Data Store Statements
Data
structures:
STATEMENTS = {Statement }
Statement = Statement#+date+owner+3+owner#,+pet Name+Pet
ID#+Insurance Plan#+Total Paid+Total Outstanding
OWNER = OTitle+OForename+OSurname
OCONTACT = OForename+OSurname
OADDRESS = House#+Street+Town+County+Postcode
OCONTACT = Tel_No_Home
NO
PET = Pet+PAddress+PContact Number
PET NUMBER = Pet Name+Date of register
INSURANCE = Surname+#+N/a
NUMBER
LINE ITEM = Date+Invoice#+Treatment Code+Treatment+Cost
TOTAL PAID = Currenty
OUTSTANDIN = Currency
G AMOUTN
Data
Elements:
Statement# = 1{char}12 **numeric characters each[0..9]
Date = 1{char}8 **format dd/mm/yy
Time = 1{char}10 **format hh:mm AM or PM
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
51
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Telephone = 1{char}15 **usually form [0..9]
Fax# = 1{char}15 **usually form [0..9]
Email = 1{char}40 **usually fom [A..Z|a..z|0..9|@]
Customer# = 1{char}30 **usually fom [A..Z|a..z|0..9|]
Pet Name = 1{char}30
Pet_Number = 1{char}40 **usually form [A..Z|a..z|0..9,-]
Insurance# = 1{char}30 **usually fom [A..Z|a..z|0..9|]
Date = Date
Treatment = 1{char}10 **usually [A..Z|0..9]
Code
Treatment = 1{char}100
Cost = 1{char}10 Currency
Total Paid = 1{char}10 Currency
Outstanding = 1{char}10 Currency
amount
52
3.2.12 Data Store Invoices
Data
structures:
INVOICES = {Invoice }
Invoice = Invoicet#+date+owner+3+owner#,Price+Total Amount
OWNER = OTitle+OForename+OSurname
OCONTACT = OForename+OSurname
OADDRESS = House#+Street+Town+County+Postcode
OCONTACT = Tel_No_Home
NO
PET = Pet Name
DATE OF = Date
TREATMENT
PRICE = Currency
Data
Elements:
Invoice# = 1{char}12 **numeric characters each[0..9]
Date = 1{char}8 **format dd/mm/yy
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Telephone = 1{char}15 **usually form [0..9]
53
Fax# = 1{char}15 **usually form [0..9]
Email = 1{char}40 **usually fom [A..Z|a..z|0..9|@]
Treatment = 1{char}10 **usually [A..Z|0..9]
Code
Treatment = 1{char}100
Cost = 1{char}10 Currency
Total Amount = 1{char}10 Currency
54
3.2.13 Data Store Receipt
Data
structures:
RECEIPTS = {Receipt }
RECEIPTS = Receipt#+date+owner+3+owner#+Paid
OWNER = OTitle+OForename+OSurname
OCONTACT = OForename+OSurname
OADDRESS = House#+Street+Town+County+Postcode
OCONTACT = Tel_No_Home
NO
PET = Pet Name
DATE OF = Date
PAYMENT
PAID = Currency
Data
Elements:
Receipt# = 1{char}12 **numeric characters each[0..9]
Date = 1{char}8 **format dd/mm/yy
OForename = 1{char}20
OSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Telephone = 1{char}15 **usually form [0..9]
55
Fax# = 1{char}15 **usually form [0..9]
Email = 1{char}40 **usually fom [A..Z|a..z|0..9|@]
Date of = 1{char}8 Date
Payment
PAID = 1{char}10 Currency
56
3.2.14 Data Store Costs
Data
structures:
COSTS = {Cost }
CODE # = Code Number
NAME = Name of Product
PRICE = Price
Data
Elements:
Code # = 1{char}12 **numeric characters each[0..9]
Name = 1{char}40 **usually from [A..Z|a..z|0..9,-]
Price = 1{char}20 Currency
57
3.2.15 Data Store Treatments
Data
structures:
TREATMENT = Description
CODE # = Code Number
NAME = Name of Product
PRICE = Price
Data
Elements:
Treatment = 1{char}100 **usually from [A..Z|a..z|0..9,-]
Code # = 1{char}12 **numeric characters each[0..9]
Name = 1{char}40 **usually from [A..Z|a..z|0..9,-]
Price = 1{char}20 Currency
58
3.2.16 Data Store Drugs
Data
structures:
DRUGS = {Drug}
CODE # = Code Number
NAME = Name of Product
PRICE = Price
STOCK = #in stock
Data
Elements:
Drug = 1{char}100 **usually from [A..Z|a..z|0..9,-]
Code # = 1{char}12 **numeric characters each[0..9]
Name = 1{char}40 **usually from [A..Z|a..z|0..9,-]
Price = 1{char}20 Currency
Stock = 1{char}5 **numeric characters each[0..9]
59
3.2.17 Data Store Equipment
Data
structures:
EQUIPMENT = {Equipment}
CODE # = Code Number
NAME = Name of Product
PRICE = Price
STOCK = #in stock
Data
Elements:
Equipment = 1{char}100 **usually from [A..Z|a..z|0..9,-]
Code # = 1{char}12 **numeric characters each[0..9]
Name = 1{char}40 **usually from [A..Z|a..z|0..9,-]
Price = 1{char}20 Currency
Stock = 1{char}5 **numeric characters each[0..9]
60
3.2.18 Data Store Insurance Company
Data
structures:
INSURANCE = {Insurance Company }
COMPANIES
COMPANY = Company Name
NAME
CCONTACT = CForename+CSurname
CADDRESS = House#+Street+Town+County+Postcode
CCONTACT = Tel_No_Home
NO
Data
Elements:
CNAME = 1{char}50
CForename = 1{char}20
CSurname = 1{char}20
House# = 1{char}3 **usually numeric but can form from subset
[0..9|a..z|A..Z]
Street = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Town = 1{char}20 **usually from [A..Z|a..z|0..9,-]
County = 1{char}20 **usually from [A..Z|a..z|0..9,-]
Postcode = 7{char}7 **format $$# %$$ where $=[A..Z] #=[1..99]
and %=[0..9]
Telephone = 1{char}15 **usually form [0..9]
Fax# = 1{char}15 **usually form [0..9]
Email = 1{char}40 **usually fom [A..Z|a..z|0..9|@]
61
3.3 Dataflows Structures and Elements
Name:
Name:
62
3.4 Process Descriptions
END
63
Make an Appointment
END
64
4 CRITICAL REVIEW
When I first started this System Analysis and Design I thought WHAT!!!. I will
never understand this it was a lot of double dutch to me, but by going to the
lectures and practicals I finally got the hang of it. I would not say that it is
perfect. I think I have missed a lot out of it but I have done what I think is
needed. I know that some of the datastore are wrong and have ven been
missed out on some diagrams.
65
REFERENCES
APPENDIX
Figure 3.1, 3.2 are top level diagrams for Registration, Treatment and
Payments
Figures 4.1 4.4 are low level diagrams for Registration process
66
Figure 5.1 - 5.6 are low level diagrams for Treatment and Payment process
67