Você está na página 1de 31

INDIVIDUAL ASSIGNMENT

TECHNOLOGY PARK MALAYSIA


CT038-3-2-OODJ

Name

TP Number

Intake Code

Subject

: OODJ

Project Title

: Bintang Veterinary Clinic and Boarding Services

Date Completed

: 19th September 2014

Abstract
This project was assigned to develop and portray about the entire view of an object oriented
veterinary clinic system that has been developed by utilizing java programming skills. The
scholar chose a specific system to build and cultivate Bintang Veterinary Clinic and Boarding
System to manage both the customers as well as the staffs such as vets, boarding staffs and
receptionists. This project is mainly converging on handling the working staffs, customers
and their pets as mentioned above.
The documentation includes the whole view of the Bintang Veterinary Clinic and Boarding
System from the purpose to the functionality. Logical assumptions which can outfit the
purpose of this project were done during the progressing of the system to make the system
more efficient and effective in performing the fundamental operation of the veterinarian
clinic. Classes, inheritance, polymorphism, encapsulation and abstraction that were used
during the development of the system have been explained in the code snippets part.
Conclusion has been done based on the knowledge that attain from this project.
Although the developer faced some difficulties at the initial stage of this project but they have
overcome it successfully with endless, constant encouragement and guidance given by the
module lecturer. The module lecturer have widened the scholar knowledge in terms of
programming and inspired the scholar to accomplish the project in the given time frame. The
suggestions given by the lecture made the scholar to main a good quality of task. Besides
that, it is impossible to express the debts owed to whoever that provides moral support to the
scholar on completing this project successfully.

TABLE OF CONTENTS
Abstract................................................................................................................. 2
Introduction........................................................................................................... 5
Aim........................................................................................................................ 6
Objectives.............................................................................................................. 7
Use case diagram.................................................................................................. 8
Use case specification 1..................................................................................... 8
Form 1................................................................................................................ 9
Use case specification 2................................................................................... 11
Form 2.............................................................................................................. 11
Use case specification 3................................................................................... 13
Form 3.............................................................................................................. 13
Use case specification 4................................................................................... 15
Form 4.............................................................................................................. 15
Use case specification 5................................................................................... 17
Form 5.............................................................................................................. 17
Code snippets...................................................................................................... 19
Class................................................................................................................. 19
Inheritance....................................................................................................... 19
Encapsulation................................................................................................... 20
Polymorphism................................................................................................... 21
Additional features............................................................................................... 22
User manual........................................................................................................ 22
Login panel....................................................................................................... 22
Welcome message panel.................................................................................. 23
Receptionist panel............................................................................................ 23
Vets panel......................................................................................................... 24
Boarding Staf................................................................................................... 24
Manager panels................................................................................................ 25
Technical problem................................................................................................ 26
Testing................................................................................................................. 27
3

Future enhancement............................................................................................ 28
Limitation............................................................................................................. 29
Conclusion........................................................................................................... 30
References........................................................................................................... 31

Introduction
Bintang Veterinary Clinic and Boarding is one of the eminent growing providers of veterinary
care for both domestic and exotic pets. With the 10 years of success in the business, they are
constantly endeavour to improve the quality of the service by upgrading their business to
leading-edge technology that enable the management to handle the customers, their pets, and
the working staffs effectively without any difficulties. Presently the clinic is using a manual
paper based system instead. As the business progressing to further level now necessitate form
of computerisation in order to keep track of the prominent details. The clinic has 8 vets and
each of them is specialized in one or more area of expertise such as invertebrate, mammals,
reptile, amphibians and birds. Although there are 8 vets but only 3 vets will be working in a
day. Therefore, the system should ensure that there are bright balances of expertise available
each day. Rather than veterinary services, the clinic is also providing boarding services to the
management. Thus, the system also needs to handle it effectively.
The ultimate purpose of the system is to ease the management to carry out fundamental
operation of the clinic. The system should aid the management to make, cancel and edit
appointments for customers. Besides that, the system needs to be adequate to enter treatment
details about the pets. For an example the vets can enter diagnosis and prognosis of the pets.
This system is concurrent access where multiple users such as managers, vet, receptionist and
boarding staffs can access the system at the same time in different ways without any clashes.
This system can be assigned by different users in routine basis whereby the data files are
categorized into different structures to outfit the purpose of the clinic management. Not all
the users can perform similar functions although the system is adequate for multiple users.
The security programming rules will determine the priorities of the users as login condition
has been included for each user. The users who are going to interact with the system are
receptionist, manager, boarding staffs and vets.
Bintang Veterinary Clinic and Boarding System is a standalone system where all the gathered
information will be stored perpetually in database for future reference. New and prominent
details will be record and keep in the file of the database. The followings are the elucidations
of each users of the system.

Manager
This user able to create weeks working rota by ensuring the right balance of expertise
available every day. Besides that, this user is also able to view the financial reports of the all
the vets, boarding services and the appointments.
Two boarding staffs
These users able to update the status of each pets staying overnight there and the timing of
when the pets were last fed.
Receptionist
This user able to make, edit and cancel the appointments and bookings, create and edit
profiles of the customers and pets and assign the vets to appointments based on the area of
expertise.
8 vets
These users are able to enter diagnosis and prognosis of the pets together with the input
charges. They are able to sight the status of the pets as well as their appointments. The
limitation for the vets are they only able to view their own appointment details and once they
update the details after they meet with their clients, the system wont permit them to edit the
details again.

Aim
The main aim of this project is to develop a system which can capable to manage staffs,
customers and the pets at the veterinary clinic. The system develop to aid the management in
register, edit, delete, update customers and pet profiles, make, edit and cancel appointments
and bookings, assign weekly schedule and update status of the pets. Moreover, the system can
act according to the time frame whereby the system only allow the receptionist to book the
appointments after the manager done with creating the duty roaster for that particular week.
The ultimate purpose of this system is to reduce the burden of the clinic management in
handling different types of people who have a relationship directly or indirectly to this clinic.
The application of the system in their business will ease the process of the work of the
management.

Objectives
The objective of this project is to develop and implement an object oriented system which has
the liability to perform basic operation of the clinic. The system should liable to store and
maintain large amount of data such as customers and pets details and appointment details
without data inconsistency in the growing collection of the file folders in the computer
system. The system should able to produce clinics day to day business operation and should
be adequate for the diverse category of the users.
Assumption
The assumptions that taken during the development phase of the Bintang Veterinary Clinic
and Boarding System are stated below:
Assume that the Receptionist can create, update, edit and delete customer and pet
profiles, make, edit and cancel bookings and appointments and they can assign a vet
to each appointment.
Assume that the boarding staffs can only able to update the status of the pets that
staying overnight and the status of when the pets were last fed.
Assume that there are 8 vets but only 3 will be working in a day.
Assume that the vets can enter the diagnosis and prognosis of the pets as well as the
input charges.
Assume that the vets can view the status of the pets kept overnight and able to view
their own appointments.
Assume that the manager will create the weeks working rota of the vets by ensuring
there is a right balance expertise for each day.
Assume that each vet has two area of expertise
Assume that the customers and pets details will be searched using the pets ID
Assume that this system can be run in any operating system and only the management
(staffs) can access into the system.

Use case diagram


7

Use case specification 1


The manager has the priority to create the weekly rota. There are 8 vets working there. The
manager create working schedule where each week only three vets be on duty who expert
in all the area. Each vet is expert in two areas. The manager assigns the vets by choosing their
8

name. Once the system changed from blue colour button to yellow colour button which
means there is enough vets who cover all the area of expertise, the manager will save the data
into the system.

Form 1
Number
Name
Summary
Actor
Precondition
Post condition
Extension Point
Extends
Includes

1
Create weekly working rota
Staff can create working schedule for the vets with right balance of
expertise.
Manager
Manager has to assign vets.
Staff has created and saved the weekly rota for three vets.
None
None
Assign vets and delete weekly reports.
Step
Action
1
Staff enters into manager profile panel.
2
Staff selects the week.
3
Staff select the date
4
Staff choose the names of the vets
5
Staff assigns the vets.
6
Staff save the schedule.

10

Use case specification 2


When the new customers want boarding service or want to make appointments, the
receptionist will register them into the system by assigning a new id for the pet; enter the
name of the pet and owner, address, phone number of the owner.

Form 2
Number
Name
Summary
Actor
Precondition
Post condition
Extension Point
Extends
Includes

2
Create new customer and pet profile
Staff can add new customer details and make pet profile
Receptionist
New customer is making appointment, bookings and require service
from the clinic
Update customer and pet details
Search pet code
Edit customer and pet profile
Delete, search and update customer and pet profile
Step
Action
1
Choose pets category
2
Enter pet name
3
Enter gender of the pet
4
Enter age of the pet
5
Enter owner name
6
Enter owner phone number
7
Enter owner e-mail address
8
Enter owners house address
9
Save new customer details

11

12

Use case specification 3


If the customers want to make appointment, they need to request it to the receptionist. They
need to provide the pet id and date and time for the appointment. The receptionist will book
the appointments for them and appointment code will be generating by the system. This code
will used to search the details of the appointments in future.

Form 3
Number
Name
Summary
Actor
Precondition
Post condition
Extension Point
Extends
Includes

3
Make appointments
Staff can make appointments according to the convenience time of the
vets
Receptionist
Staff has to login through the system.
Staffs has made appointments for customer.
None
Assign vets to each appointment, Edit or cancel appointments
View appointment details
Step
Action
1
Staff choose the pet code
2
Staffs choose the date
3
Staffs enter the time
4
Staffs choose category of pet
5
Staff made appointments

13

14

Use case specification 4


Once vets enter to their profile, the table will show the appointments details. They only can
view their own appointment details. The system wont permit them to edit or delete the
appointments.

Form 4
Number
Name
Summary
Actor
Precondition
Post condition
Extension Point
Extends
Includes

4
View appointment details
Vets can check their appointment details
Vets
Vets have to login through the system.
Vets have viewed their own appointments.
None
None
Make appointments
Step
Action
1
Request check appointments
2
System will display their own appointments to the
customers based on their area of expertise.

15

16

Use case specification 5


Boarding staff is responsible for update the condition of the pet whether its healthy or sick.
Moreover, they also in charge for updating the time when the pet was last fed. These are their
limitation in this system. They cannot edit or delete any details about the customer and pet.

Form 5
Number
Name
Summary
Actor
Precondition
Post condition
Extension Point
Extends
Includes

5
Update status of pets staying overnight
Staff can update the condition of the pets staying there each day
whether healthy or sick
Boarding staffs
Staff has to login through the system to update status.
Staff has updated the status of the pets.
None
None
View status of pets kept overnight.
Step
Action
1
System display the name of the pets stayed
2
3
4
5

overnight.
Staffs choose pets name one by one.
Staffs update status of the pets
System displays confirm message.
Staffs confirm the status

17

Access into the

Update the status


of the pets kept

View the status of


the pets kept

18

Code snippets
Class
Class is known as constructor that can be defined as same type of object. Variable used to
define data field and methods to identify the behaviours of classes in java. It mainly focuses
on how the class can cleanly model state and its behaviour. The term class is used to create
the code class.
Sample Code:

Inheritance
Inheritance makes easy to create and maintain a system by allowing us to define a class in
terms of another class. The code extends is used to extend the existing class from the new
class. When the child class extend the parent class, whatever the parent class doing can also
be performed by the child class. Reusability functionality of the codes and fast and easy
implementation are the advantages of inheritance. The codes below here explain how the
subclass inherit its state and behaviour from the superclass.
Sample Code:

19

Encapsulation
Encapsulation is a data and functional package into a single component. The features of
encapsulation are mostly supported by the classes. Encapsulation or also known as
information Hiding is a technique in Object Oriented Programming Language to combined
the data and action or methods into single item and hide the details of implementation
(Tutorial Point, 2010).The following codes are the example of implementation of the
encapsulation in the system. In order to access to the private field, it has to create a public
field method to enable other classes to access it.
Sample Code:

20

Polymorphism
Polymorphism is the ability of an object to take different forms where all of them are derived
classes from the same method. A method will perform as a base class where multiple forms
will be created from the method as derived classes but all of the forms have some common
characteristic. The sample code that showed below is the code where one class know as
derived class overrides the base class. Override is the keyword that shows the utility of
polymorphism in this system.
Sample Code:

21

Additional features
a) GUI
GUI was used in this assignment where the classes were imported in each frames
based on the needs.
b) Input charges
Another additional feature is the vets can input charges after they done with their
appointments.

c) Close status
Once they update their appointment details such as payments, diagnosis and prognosis
details the system will as them for confirmation. If they confirm, the system will close
the status which means after that the vets cannot edit anything.

User manual
Login panel

The users need to enter valid username and password in order to get in into the system. Login
panel acts as a security feature by denying unauthorized system access attempts. With
appropriate username and password, the system will navigate the users to welcome panel.

22

Welcome message panel

This is the panel which show the welcome message with the username and their role in that
management.

Receptionist panel

This is the panel where the receptionist will register the new pets, book the appointments for
the pet with vets and include details of the pets that needed boarding services. Next tab
provides the ability to manage the receptionist carry out multiple tasks in a single panel. For
the registration, the receptionist needs to enter types of the pet, pet code, name, gender and
age of the pet. They also need to include the details of the pet owner such as name, phone
number, and email address. The receptionist can enter the code if they want to find some
specific pet. The table above will show all the details about the pets and summarizes into the
requirements after the search code entered. For the appointments once the receptionist enter
the code of the pet, the system will assign the vet who is assigned to that day based on their
area of expertise. The receptionist also includes details such as number of day, pet code for
the boarding service. The system will generate the charges for the pet based on the number of
days that chosen

23

Vets panel

This panel will choose the appointment details of each vet separately based on who login in
into the system. A vet only can view his or her own details. In this panel, the vet only permits
to input charges, prognosis and diagnosis details for the pets after the appointment. Once the
details stored in the system, it cannot be edited by the vet because the system will close the
condition.

Boarding Staf

This panel is created for the boarding staffs. The boarding staffs are only able to update the
condition of the pets that kept overnight and also the time when the pets last fed. The
boarding staffs can use the search code option to find the details about the specific pet. The
table shown above has the capability to summarize the details of the pets based on the
requirements.

24

Manager panels

When the manager login into the system successfully, the system will bring him to this panel.
This is the panel where the manager needs to assign the vets in order to create the weekly
rota. The manager needs to select the week and day first. After that he needs to choose the
vets by clicking the assign button. Once he done with selecting the vets for that week, he
needs to save the details. Once the details stored in the system, the table will show the details.
The manager is also able to update or delete the details.

Manage is the only user who has the priority of checking the payment details. He needs to
choose what type of report he wants to view with the year and months. Once he clicks the ok
button, the system will allow him to navigate into another panel which shows all the payment
detail with total number of money collected on that particular period. The print button is
given where the manager can print out the details if he wishes.

25

Technical problem
Numerous problems were encountered by the developer during the development phase of the
system as listed down below.
Net Beans Application
For this assignment the developer plan to use the graphical user interfaces to make the system
more user-friendly in performing tasks but problems arises when the developer implement the
object oriented concept.
Database Connection
The system needs to be connected to the database to keep all the data. Thus, the developer
took more time on making decision about whether to choose the SQL or the Microsoft
Access. At the end, the developer plan to choose Microsoft Access because it is easy to create
and it will produce fewer errors which can easily soluble. Since the developer do not have
much more knowledge about the Microsoft Access, plenty of time taken for the developer to
do research and learn the Microsoft Access. When the developer attained knowledge about
the Microsoft Access, another problem raised during the connection between the Microsoft
Access and Java system.
Dealing with faults
Quiet numbers of object oriented were implemented in this system. When the developer try to
apply new object into the system in every development cycle new errors were produced.
Thus, the developer took more time to handle the errors.

26

Testing
When the developer carefully studies the design of the system, it has been done based on how
the system coding was to perceive the speciation in the designing phase to the source code.
Studies were carefully made to identify the requirements of the users and accordingly the
designing of the system converted to the source code.
The system has been built which can be used for future purpose and the system is flexible to
undergo any changes for better enhancements. The users of the system such as manager,
receptionist, boarding staffs and vets will go through some training to operate the system.
Facing technical problems or bugs once the developer done with the entire system is
common. Therefore, certain steps need to be carried out to ensure the system can function
properly. The problems that rose after developing the system are:

System errors on data within the system


Time lagging between source and exterior of the problem

The steps that carried out were:


Design testing
Design testing was conducted to ensure that the purpose of the system design has been
achieved. Each and every classes and forms will be tested one by one. Hence, the syntax fault
can be corrected. All the validation has been corrected till the developer reach the
successfulness of the system in performing the tasks.
Recovery testing
The system must be recover from faults and resume within the given time frame. If the
system has faults, it could be difficult for the system to function efficiently. The developer
need to ensure that the system faults need to be corrected within the specific time frame. If
not there will be high chances for the system to face severe hang in the middle of functioning.
Safety testing
System that handles information of the customers, pets and the clinic can be hacked or the
system can perform certain actions which can harm the privacy of an individuals or the firm.
Thus, safety testing was carried out to ensure that all the data will be kept confidentially.

27

Security testing
All the computerised systems carry prominent data that belongs to individuals which have to
be kept confidentially. There are higher possibilities for the data to be leaked which can harm
the firm or the individuals. Therefore, security testing attempts to ensure and verify the safety
mechanism that fixed in the system which can perform effectively and protect the system
from improper penetration.

Future enhancement
Bintang Veterinary Clinic and Boarding System is the huge system with heavy scope. Thus,
the developer requires more time to implement more functionality and object oriented
concept into the system. Hence, the developer provides some suggestions on functions that
have stated below need to be integrated or implemented in future for better performance of
the system.
Online system
The developer suggests the system should be an online based system where all the details can
be stored securely into the advance database. Besides that, the system should be accessible
for the customers where they can make and cancel appointments, register and edit their
profiles by themselves which will reduce the tasks of the staffs and increase the efficiency of
the business.
Integration of the users
As mentioned above, this system can be used by variation of staffs whereby an administrator
should integrate into the system to handle administration records and other prominent reports.
Thus, all the staffs will treat equally where major priority will be given to the administrator
and this is the person who will watch the activities of the staffs who interact with the system.
User access using biometric devices
Using username and password to login into the system is not an intelligent idea anymore
because anonymous who knows the username and password can easily get access into the
system without the knowledge of the users. Thus, biometric login devices such as face

28

detection, eye scanner and finger print should fix to the system where users can access
through these biometric devices.

Limitation
As we all know nothing is perfect in the world as all the things have pros and cons.; same
concept applied here in this system which was developed using Java. The below points are
the limitation of this system.
Appointment limit
As mentioned earlier, booking an appointment is one of the limitations as it can lead to
duplication of the data in the computerized file system. The system allows the customers to
make appointment for the same expertise at same time frame due to the lack of programming
knowledge of the developer.
Staff variation
There are different types of user who perform multiple tasks based on their category. As we
know, there are staffs who can enter, delete and update the user information together with the
customer and pet details but we dont know who will going to perform the administrator role
who going to handle the administrative details.

29

Conclusion
In a nutshell, the Bintang Veterinary Clinic and Boarding System is a customary system that
pragmatic practically in the business era all around the world to provide unlimited services to
the management and enable them in a convenient and timely manner. An efficient and
effective system which can handle huge amount of data will bring positive perception from
the customers towards the business and ease the management in handling their staffs. Besides
that, the flexibility, consistency of data and other facilities of the system will make the users
such as manager, boarding staffs, vets and receptionist ease to use the system. Enhancement
of the system according to the current development is vital for the users to interact with the
system effortlessly.
There would be no hesitation that the system is still under the scope of enhancement. The
system was developed in the frame which is flexible and accommodates future
enhancements. Although the system is developed as per requirements but certain testing
standards were implemented as the system underdo some sort of testing to ensure that it is
bugs free before it comes to the real world.
On the other hand, the developer gained a lot of knowledge on how to utilize the object
oriented programming in Java especially in creating and designing forms bestowing to the
high standard of using the system. Copious technics had been used in designing the forms to
make the system user friendly and also for the better understanding of the users in operating
system.
At the end of this project, the developer learned numerous programming skills and how the
programming language aids the rapid progress of technology in the world. The developer had
a positive perspective towards the progression of this project where the developer attained a
lot of knowledge in the world of programming in creating a system which aid the human
being to carry out certain tasks.

30

References
Anon., 2007. java beginner.com. [Online] Available at: http://www.javabeginner.com/learnjava/java-inheritance [Accessed 15 july 2015].
Anon., n.d. Home and Learn. [Online] Available at:
http://www.homeandlearn.co.uk/java/connect_to_a_database_using_java_code.html
[Accessed 21 July 2015].
Anon., n.d. tutorialspoint.com. [Online] Available at:
http://www.tutorialspoint.com/jdbc/jdbc-db-connections.htm [Accessed 12 July 2015].
Horstmann, C., n.d. Java concepts. 6 ed. s.l.:JOHN WILEY & SONS, INC.
Rohitha, 2011. the creately. [Online] Available at:
http://creately.com/blog/diagrams/understanding-the-relationships-between-classes/
[Accessed 12 july 2014].
Bill, R.W., 2002. Jython for Java Programmers. Sams Publishing.
Dale, N.B., Weems, C., 2008. Programming and Problem Solving with Java. Jones & Bartlett
Learning.
Holmes, B.J., Joyce, D.T., 2001. Object-oriented Programming with Java. Jones & Bartlett
Learning.
M.Deitel, P. J. H., 1996. Java for Programmers. 6th ed. s.l.:Deitel Developer Series.
Poo, D., Kiong, D., Ashok, S., 2007. Object-Oriented Programming and Java. Springer.
Schildt, H., 2012. Java The Complete Reference. 9th ed. London: Oracle Press.
Schildt, H., 2013. Java A Beginner's Guide. 6th ed. London: Oracle Press.

31

Você também pode gostar