100% found this document useful (1 vote)
2K views10 pages

Pet Adopt Web Design

The document describes requirements for a pet adoption web app. It will allow animal rescues to manage pet adoptions online. The system must support two user types - normal users who can post pets for adoption and view adoption listings, and administrators who can approve user posts and display featured listings. Functional requirements include user registration and login, user profile management to post adoption and boarding listings, an adoption application process, and administrative tools to review posts. The system aims to improve over manual adoption events by streamlining the adoption workflow and management of pet records online.

Uploaded by

Xiaoyu LIU
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views10 pages

Pet Adopt Web Design

The document describes requirements for a pet adoption web app. It will allow animal rescues to manage pet adoptions online. The system must support two user types - normal users who can post pets for adoption and view adoption listings, and administrators who can approve user posts and display featured listings. Functional requirements include user registration and login, user profile management to post adoption and boarding listings, an adoption application process, and administrative tools to review posts. The system aims to improve over manual adoption events by streamlining the adoption workflow and management of pet records online.

Uploaded by

Xiaoyu LIU
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

COMP5241 Individual Project

Pet Adoption Web App

1 Background
Pet adoption is a technique to get pets in a rescue situation. Nowadays, more and more
individuals decide to keep pets to liven up their lives. Adoption events have traditionally been
organized offline by animal rescue organizations, but there are many disadvantages to this
strategy, including poor confidentiality, low efficiency, and the need to manually manage the
data files created during the adoption process. The more data files there are, the more
challenging it is to locate, maintain, and update the data. In this context, pet adoption systems
have been developed to provide users with a wealth of functionality, manage the data
generated during the adoption process and avoid the errors that can occur with manual
recording. It is therefore necessary to have a pet adoption system in place.
By using a pet adoption system, people who want to adopt pets no longer need to go to a face-
to-face adoption event, individual rescuers can post their adoptions directly on the online
system and animal rescue managers no longer need to spend time setting up venues and
collating data.

2 Requirements analysis
This section will analyse the requirements for the Pet Adoption Web App, which is the most
important stage of the system development process. The developer must fully understand the
requirements before starting to design the system, otherwise any changes to the requirements
will result in a lot of rework and increase the workload for the developer. In the following
section, the requirements for the pet adoption system will be analysed in terms of both
functional and non-functional requirements.

2.1 Functional requirements analysis


The Pet Adoption Web App will be managed by the animal rescue organisation, and the
process of sending and applying for adoption will be completed online. Therefore, it is
necessary to conduct a study of the needs of the animal rescue community, and to sort out the
needs according to the results of the study, in order to ensure a deeper understanding of the
needs of the users and to be able to uncover the problems to be solved. This sub-section
focuses on the core aspects regarding functional requirements.
Users of the pet adoption system are divided into two categories which are normal users and
administrator.
After registering and logging into the pet adoption system, normal users can use the system to
complete a series of functions such as pet send information management, pet boarding
information management, application for adoption, TNR information management, viewing
sending adoption information and viewing owner search information. Among them, the
operation process of pet send information management, pet boarding information
management and TNR information management is similar, and they all have to complete a set
of functions to publish information and manage the information they publish. Therefore, they
are combined into a single module, i.e. the user information management module, in the
following section.
As a result of the summary, a use case diagram for the normal user can be drawn, as shown in
Figure 2-1.
Figure 2.1 Use case diagram-Normal User
The administrator is responsible for managing and auditing the content posted by normal
users. The information posted by normal users will only be displayed on the page for other
users to see once it has been approved by the administrator. The administrator can also filter
the information posted by normal users so that more important or urgent information is
displayed in the recommendation bar on the home page to increase exposure.
The use case diagram for the administrator is shown in Figure 2-2.

Figure 2.2 Use case diagram-Administrator


Each functional module is described in turn in the following analysis.

2.1.1 Login and Registration Module


Almost all products require a registration function. Only after registration can the user's
actions be saved in the system's database to use a series of functions such as sending, adopting
and boarding. This is why a secure registration and login module is necessary. Furthermore,
in order to ensure the authenticity of the user information, this pet adoption system can only
be registered using a mobile phone number.
In addition, in order to prevent users from forgetting their passwords and invalidating their
accounts, the login module needs to include the ability to retrieve passwords if they are
forgotten.

2.1.2 User information management module


The user information management includes the management of the delivery information, the
management pet boarding information and the management of the TNR information.

(1) Adoption information management


The management of adoption information is the core function of this pet adoption system and
is the most important function of this system. Existing pet adoption systems are full of
fraudulent information, using false photos to obtain money under the banner of pet adoption.
The system prevents this by not allowing communication between the sender and the adopter
without approval, and the information posted by the user will only be displayed on the page if
the conditions are met and approved.
In addition to posting adoption information, this module also requires a range of functions
related to the adoption process, including viewing the adoption information you have posted,
editing and amending the adoption information you have posted, withdrawing the adoption
information you have posted, and viewing the current adopters of the animals you have posted
for adoption.

(2) Pet boarding information management


The pet boarding function is to provide a channel for users who need pet boarding services to
post their pet boarding information online; and for landlord users who can provide pet
boarding services to dog post their landlord information on the internet. Nowadays, more and
more young people are feeding their pets, and therefore the demand for pet boarding surges
during the New Year holidays. This section will provide more information to those who are in
need of pet boarding or who can offer pet boarding services. Once you have found a landlord
or found a foster animal, you can withdraw the information you have already posted in the
system; you can also edit and change a pet you have posted in the system to give a more
detailed description of the situation.

(3) TNR Information Management


Trap Neuter Release (TNR) is the most common method of rescuing stray cats internationally.
TNR can improve the situation of stray animals, reduce conflicts between stray animals and
people, protect the living space of other animals and maintain the ecological environment.
Almost all animal hospitals in mainland China offer a discounted rate for TNR, but because
hospitals usually work directly with rescues, many individual rescuers are unaware of the
TNR discount. This system provides a detailed introduction to TNR so that more people are
aware of it.
Users can apply for TNR for stray animals directly in the system, and once the application is
successful, they can take the animal directly to the designated animal hospital for surgery with
the approved result.
Information management related to TNR applications mainly includes the ability to post TNR
applications, amend posted TNR applications and withdraw posted TNR applications.

2.1.3 Information Display Module


The information posted by users’ needs a channel to be displayed. The Information Display
module is responsible for displaying the information posted by the user on a page. The
information is displayed in the form of lists on different pages for pet delivery and pet
boarding information. Users can select the category of information they are interested in and
click on the specific list item on the information display page to enter the details of the
corresponding information.
The information display module also includes a search function that allows users to type in
keywords to find the exact information they are looking for. In addition, the search function
saves the keywords searched by the user as a historical record in the system for the next
search.

2.1.4 Adoption Module


The adoption module is responsible for a number of functions related to adoption. In this
system, users who wish to adopt need to go through a two-step process, firstly filling in the
adoption application form provided by the system, and then waiting for the administrator to
audit the user, after which the user will have the status of adopter.
The user with adopter status can then send an adoption application to the current adopter who
has passed the vetting process, and after sending the adoption application the corresponding
adopter can see the current user's personal information including contact details. The adopter
can then contact the current user directly if they are happy with their situation.
The process of filling out the form tests the patience, determination and dedication of the
adopter and initially screens out adopters who adopt on a whim. In this way, the quality of the
adopters is ensured, unnecessary communication between the sender and the adopter is
reduced and the burden on the sender is lightened.

2.1.5 Message Audit Module


Anyone can register as a user in this system, and the wide range of users will inevitably lead
to a wide range of information posted by users, so it is necessary for the administrator to audit
and supervise the information posted by users to avoid false information or fraudulent
information being mixed in, which will have a bad impact on the user experience.
Administrators are required to audit the following information:
(1) Audit the information posted by normal users to avoid abandonment or sending
information that contains contact details of the sender, and avoid false information as far as
possible.
(2) Audit the adoption application forms completed by adopters as an initial threshold to
exclude obviously unsuitable adopters.
(3) Audit TNR applications initiated by normal users to avoid having users applying for
preferential TNR surgery places for their family pets and taking up public resources in the
community.

2.1.6 Information Management Module


The information management module allows administrators to manage the information that
has been published and to delete invalid or outdated spam information in a timely manner to
enhance the user experience. The information management module mainly includes the
functions of deleting the delivery information, deleting the pet boarding information and
selecting the recommendation information.
The general delivery information, without being filtered by the user's criteria, is sorted in the
page in chronological order of publication and is equally likely to be seen by the user. We
need a way to make urgent information more visible to more users, so the top of the page
displaying foster care information should have a recommendations section, containing
information selected by the administrator as more urgent and in need of help.

2.2 Analysis of non-functional requirements


The non-functional requirements of the system refer to the features that the system should
have in addition to the functional requirements of the system, including performance,
security, robustness and scalability. These non-functional requirements can bring higher user
experience and enhance user stickiness.

These characteristics are described below in turn:


(1) Simple
First of all, the APP should be simple to use. And normal users of all ages can use all the
functions in the app after a quick training. Secondly, the platform design should be simple so
that people can easily find the functions they want directly even they are new users.

(2) Security
In the development process of the system, it is important and necessary to consider the
security of the system, which contains three aspects: confidentiality, reliability and integrity.
Confidentiality means that the system's data cannot be accessed by unauthorized users and
that all information and data can only be accessed by authorized users.
Reliability ensures that the system should be able to perform a specific function as intended
under specified conditions.
Integrity ensures that the system's data can be stored or transmitted correctly and cannot be
omitted, falsified or modified.

(3) Robustness
Robustness is a key measure of code quality and requires the system to be able to perform
normal functions when user input is not normal or even when the environment is incorrect, to
handle undesired behaviour, to terminate erroneous behaviour, and to display specific
information about the error to the user when it is terminated. Meeting the robustness
requirements of the system requires developers to consider a wide range of extreme situations
during development, to use exception catching code, and to test the system thoroughly after
completion.

(4) Ease of Scalability


Scalability refers to the ability to continuously expand and improve the functionality of the
system, and the ability of a scalable project to respond quickly to changes in requirements.
The project should be scalable so that it can meet the needs of users in the future. For this
reason, the open and closed principle should be strictly adhered to during the development
process, and the system architecture should be designed with the expansion of functions in
mind, so that the existing structure and code of the system will not be adjusted when new
functions are added.

2.3 Summary
This chapter has analysed the requirements of this pet adoption system in terms of both the
functional requirements and the non-functional requirements of the system. The analysis of
the functional requirements helps the developer to clarify the business, while the analysis of
the non-functional requirements provides for the future use and development of the system.
These requirements analyses provide the initial bridge between the problem and the
subsequent implementation and lay the foundation for the subsequent implementation of the
system.
3 System Design
The functional and non-functional requirements of the Pet Adoption Web App have been
analysed in the requirements analysis phase above. In this chapter, the system design of the
Pet Adoption Web App project will be completed based on the requirements analysis, starting
with the technical architecture of the system and defining the development model of the
project.

3.1 System Architecture Design


Combining the characteristics of this pet adoption system and the requirements analysis
above, it was decided that the system would be developed based on a Browser/Server (B/S)
architecture. The user operates in the browser and requests data, the server receives the
request from the browser and processes the business logic according to the specific content of
the request, which may involve database related operations, and then returns the data results
to the browser in a unified format, which presents the results to the user. In this way the
system has been naturally divided into three layers: the representation layer, the business logic
layer and the data layer, which are independent and interdependent.

3.2 System functional module design


Based on the demand analysis of the system functions and considering the reusability of the
components in the subsequent development process, the final system function structure is
shown in Figure 3-1.

Figure 3-1: System function structure diagram


The system is divided into a user module and a management module. The user module is
divided into a pet adoption module, a registration module, an information display module and
a user information management module, in which the user information management module
includes the management of delivery information, pet boarding information and TNR
application information. These modules together form the pet adoption system and are
described below.

3.2.1 Registration module


The login and registration module are responsible for user registration and login. The system
requires the use of mobile phone numbers to register an account, in this way, the user's mobile
phone number can be bound to the user's account information, so that when the user forgets
the password, the password can be reset by means of a mobile phone verification code. Also,
registration by mobile phone number can prevent false registration.
The registration process is as follows:
If the user's mobile phone number already exists in the system database, the user will be
prompted that the mobile phone number has been registered, and the user can jump to the
login page to log in directly; if the user's mobile phone number does not exist in the system,
the user will receive a verification code, fill in the correct verification code and other
information in the registration page and click the registration button to complete the account
registration.
In terms of login, users can login to the system via either a mobile phone verification code or
an account password. All functions of the system are only available to logged in users. If the
system find that the user is not logged in, the user will be redirected to the user login page,
and the user login activity diagram is shown in Figure 3-2.

Figure 3-2: State machine diagram- Registration module

3.2.2 User information management module


The user information management module enables users to complete operations such as
publishing, modifying and withdrawing information. Users can select the type of information
they want to publish in the function selection screen, including publish pet send information,
publish pet search information, publish pet boarding information and submit TNR application.
After the pet send information submitted, the information will appear in the administrator's
list of information to be audited and approved before it is displayed on the home page.
Once the pet boarding information submitted, the information will be displayed in the list on
the pet boarding page directly.
After the TNR application has been submitted, the application will need to wait for the
administrator's approval. After passing the approval, the user can book a surgery appointment
at the designated hospital and then bring the animal to the animal hospital to complete the
surgery.
If user interrupt or exit the system in the middle of filling in the information, the system will
save some of the information users have filled in to the browser's local storage, and when user
open the page again, the information user have filled in will be read out from their browser's
local memory and displayed on the page so that user can continue to complete it. If the user
doesn't need the content they filled in last time and wants to fill it in again, they can use the
empty button at the bottom of the page to empty the current form of its content.
If a user needs to make changes to a message after it has been posted, they can go to the
Personal Centre page to view the information they have. If there is no longer a need for the
information, user can withdraw the information they have posted by using the withdraw
button at the bottom of the details page.

3.2.3 Information Display Module


The information display module is responsible for displaying the information posted by the
user in the form of a list of information about sending a pet, pet boarding information. Each
item in the list corresponds to a piece of information posted by the user. The list item displays
the important attributes of the information, including images, for the user to quickly navigate
through and select the list item to access the details of the corresponding information.
The information display module also provides a search service for users to filter the
information using keywords such as pet species, pet breed, pet age, pet gender, etc. The
filtered results are then presented in a list on the search results page, making it easy for users
to get the information they need quickly.
The search process stores the user's search history in the browser's local storage, so that the
user can select directly from the history when searching next time.

3.2.4 Adoption Module


Users can fill in the adoption application form on the Personal Centre page and submit it. The
administrator will audit the adoption application form submitted by the user and the user will
be granted adopter status after the audit. Only users with adopter status can send adoption
applications for pets to be adopted on the Adoption Information page and then wait to hear
from the sender. The status diagram of the user adoption process is shown in Figure 3-3.

Figure 3-3: State machine diagram- Adoption module


Users can check their current adoption progress in their personal center page and withdraw
their adoption request if their plans change.

3.2.5 Administration Module


The administration module includes the audit and management of user postings, the activity
diagram of which is shown in Figure 3-4. The information posted by users to be audited will
be displayed on the administrator's personal center page in chronological order, with the
information posted first listed in front and the administrator can audit it, and the user will
receive the audit result after the audit is completed.
When the administrator finds that the information already published is false or illegal, it can
be deleted at any time, simply by selecting delete information on the details page of the
information.
In addition, the administration module also provides a recommendation function, which
allows the administrator to set a specific message as a recommendation. After being set as a
recommendation, the information will be displayed in the recommendation column on the
home page, which is more easily seen by users.

Figure 3-4: State machine diagram- Administration Module

3.3 Object Class design


We designed nine classes for this project. The figure 3-5 shows the data class will be
contained in this system and their relationship. Users are divided into normal users and
administrators. Normal user can post pet send information and pet boarding information. The
pet send information can only be seen by other users after approval by the administrator.
Users can also apply for adoption and apply for TNR, and these applications are also need to
be audit by the administrator.
Figure 3-5: Class diagram

You might also like