SECJ2203: Software Engineering
Project Proposal
Project Title : CAMP4YOU
Date : 17/4/2023
Faculty of Computing
Prepared by: Fantastic Four
Table of Contents
1. Introduction
1.1 The Goal................................................................................................................................... 2
1.2 The Scope................................................................................................................................. 3
2. Software Process Model
2.1 Goal of the software process model ......................................................................................... 5
2.2 Ideal software process model ................................................................................................... 5
2.3 Illustration of Software Process Model.................................................................................... 7
2.4 Project Duration .............................................................................................................. 8 - 10
1
Introduction
1.1 The Goal
The Camp4You System is designed to help campers plan and organise their camping activities as well
as promote, sell and rent camping equipment. In fact, organising a camping activity that can satisfy everyone’s
requirements is quite tough. By providing these useful features, the system can make camping more accessible
to everyone. Moreover, the system also fosters a sense of community among the campers with some cool
features such as “Reunion” and photowall. Besides, the Camp4You System also prioritises the privacy and
security of its users by verifying their identities and protecting their personal information.
To organise a camping activity conveniently, the system will provide a guideline that involves early
planning and preparation, camping site selection, safety measures as well as the entertainment options. To
illustrate more, our system will also provide a filter function to allow the camper to search for the suitable
camping activity based on their preferred budget. By providing these features, the camper can organise a
camping activity efficiently since they can write down all of the details of the activity completely so everyone
can understand and visualise how the activity will be.
On the other hand, Camp4You System will provide a platform for the brand owners to promote, sell or
rent their camping equipment. The camper can find camping equipment easily since they can buy at affordable
prices. This can reduce the risk of being scammed because the seller will be verified by the system before they
can publish on their page. Some might face financial problems in buying camping equipment such as tents
because of the price. Therefore, the system also provides renting services so that the camper still can experience
camping without buying a new camping tent. The campers can access the product catalogue page to view the
list of available products based on their preferences as well as product rating.
Next, the goal of Camp4You System is to create a strong bond between the campers. The system had
provided a “Reunion” feature to gather back the campers who joined the previous camping activity. This feature
will give an opportunity to them to plan for the next camping activity if they are comfortable with each other.
At the same time, our system will provide a photowall for uploading pictures of that particular camping activity.
Thus, this allows the campers to find their memorable experiences anytime so their memories can last forever.
In order to help the novice campers to get into camping rapidly, we have provided a community tab where they
can find plenty of valuable resources that are shared by other campers. They can also access social media
platforms easily by clicking on the links given.
Furthermore, the privacy of every camper is also a concern of our Camp4You. To maintain a safe and
secure environment for our campers, the system is highly concerned with secure user data. The system will
verify the identity of the user through collecting their data such as obtaining personal information and photo
authentication. This can reduce the risk of unauthorised users accessing the system using someone else’s photo.
In addition, the data collected from the users will be kept secure and confidential by implementing encryption.
Overall, Camp4You System will be a fully-functional that can handle everything regarding camping
within the scope. It will be useful for both experienced and novice campers. Experienced campers can use the
system to plan and organise a wonderful camping activity efficiently while the novice campers can search for
interesting camping activities that they would like to participate in.
2
1.2 The Scope
Technology used to develop the system:
Type of software System software
Server type Google Cloud
Web-based Frontend: HTML, CSS, Javascript
Backend: PHP, Java
Mainframe: NodeJS
Database MySQL
Integrated Development Environment (IDE) Microsoft Visual Studio Code
Sublime
Software product module for proposed system:
Software Product Functions
Module
Member Registration • Enable users to enter their personal information such as member’s
ID, password, name and so on.
Login • Allow registered users to log in to their account to access website
features.
User authentication • Using two-factor authentication, single sign-on (SSO) and
biometric authentication to protect the safety of users.
Database Management • Record the user information
System • Prevent data loss from the system
Dashboard • Display new information about camping activities, equipment and
events.
Promotion / Deals • Regularly update promotion and deals by sending notifications to
the users.
Community • A platform where campers can use to include links to promote their
Facebook page or Youtube channel and share feedback.
• Provide valuable resources to novice campers who are just starting
out.
Site Selection • Users can select the specific location of the campsite based on
preferred location and facilities.
• Provides information about each campsite, such as size and
facilities.
Site Visualization • Enable customers to view pictures of each campsite before making
a reservation, so they can get a better sense of the site's layout and
features.
3
Virtual Reality Camping • Allow users to take virtual tours of campsites before making a
reservation
• Provide suggestions based on camper’s preferences or previous
camping experience
Transportation Request • Allow customers to input their pickup point, dates and times.
• Provide transportation to the campsite such as bus, van and truck.
Brand Page • Allow different brand owners to publish their products on the page
to provide more choices to the campers
Product Catalogue Page • Provide campers with a list of available products including
description, images, prices and rating
Insurance • Allow customers to purchase insurance for their camping trip for an
additional cost for safety purposes.
Payment Gateway • Allow users to select their payment methods such as cash, Ewallet
Module or Card, then proceed with the payment.
• The system will send a receipt through email once the payment is
successful.
• Refunds are allowable within a certain period if there are any
changes.
Review and Rating • Allow customers to rate for their camping experience on various
criteria such as cleanliness and location.
Customer Support and • Support team is created to answer any questions from the users and
Careline solve issues regarding the systems.
Reporting and Analytics • Allow campsite managers to track occupancy rate, revenue and
other key metrics.
4
Software Process Model
2.1 Goal of the software process model
A software process model is a prescriptive representation of what should happen from the beginning to the
end. The main function of this model is to define the sequence of various activities so that we can determine
which activities should come first and which ones should follow. It will define the input, output, products, roles,
pre and post-conditions for each task. Next, a software process model can assist in determining the transition
criteria between activities, which implies that the model description is what should be done next and how long
should we continue to do it for each activity in the model. Thus, the goal of a software process model is to
provide guidance for development teams such as modifying an existing software.
There are various types of software process models which are the Waterfall model, the Incremental model
including Boehm’s Spiral model, Integration and configuration and The Rational Unified Process (RUP). Each
of these models will provide a different performance. Therefore, choosing an appropriate model for our
development process is very important. Picking an appropriate model can ensure the success of a project. On
the other hand, if we pick the wrong model, there can be a persistent source of troubles, finally causing the
project to fail.
2.2 Ideal software process model
The ideal software process model for our Camp4You system is the agile model. The agile method is
designed to deliver high-quality software on time by minimising risks and maximising the value to the customer.
Agile is a set of values and principles that divides tasks into smaller iterations. Each iteration involves a team
working through a full software development life cycle, including requirements analysis, design, coding, and
testing, before a working product is demonstrated to the client. It is essentially identifying the key requirements
of the client to create a software architecture, specify data structures and algorithms, and define the user interface
using well-defined coding standards and best practises. These can include features such as high campsite
availability, equipment, transportation, and payment systems. There are also several Agile testing methods, such
as Scrum, Extreme Programming (XP), and Dynamic Software Development Method (DSDM), that are widely
used in software development today. To make the most of the time and resources available to the team, the
Scrum agile method has been widely used in the camping system. For example, a daily short face-to-face
meeting can be held by the scrum team to improve progress and solve the problems facing the camping system.
The highest priority is to identify areas for continuous improvement with regular reviews to get constant
feedback from the customer. Agile focuses on small incremental changes but the risk is that stakeholders may
lose sight of the big picture and experience uncertainty. This is to ensure that it satisfies the customer's
requirements by early and continuous product delivery. The planning is incremental and responds to change
following customer requirements without excessive rework. This approach software process delivered in
smaller increments rather than all at once. It also emphasises customer collaboration over rigid contracts to
ensure it is aligned with the project goals and objectives.
5
Agile Project management is a way in which a project can be managed by breaking it into several stages,
which does not require a project manager to have central control. It has been adopted by several types of
industries, such as software companies, product development, marketing campaigns, and even construction
companies. Agile methodology enables teams to incorporate changes to produce the best possible product by
utilising shorter development cycles, referred to as sprints, a more iterative process, and continuous feedback
and testing. Agile-based products don’t require any particular time frame of downtime to deploy changes, unlike
the waterfall model where the whole project is treated as one single unit and each process is dependent on the
preceding processes and deploying changes leads to downtime.
6
2.3 Illustration of Software Process Model
Agile Method Illustration
7
2.4 Project Duration