BIT Project Report On Gym Management System
BIT Project Report On Gym Management System
2018-19 Autumn
Group Name:
University
SN Student Name College ID
ID
01 Tsedup Dorjee Lama NP01CP4A170237 17031187
02 Nabraj Khadka NP01CP4A170166 17031260
03 Biplab Dhungana NP01CP4A170243 17031222
04 Shikhar Khadka NP01CP4A170156 17031249
05 Sajag Acharya NP01CP4A170158 17031251
I confirm that I understand my coursework needs to be submitted online via Google Classroom
under the relevant module page before the deadline in order for my assignment to be accepted and marked.
I am fully aware that late submissions will be treated as non-submission and a mark of zero will be awarded.
Table of Contents
1. Introduction ....................................................................................................... 1
4. Conclusion ...................................................................................................... 40
List of Figures
1. Introduction
This group coursework of software engineering module was given out in the
second week of our third semester. It is required to be submitted by the eleventh week.
The main propose of this coursework is to solve the problem of a fitness gym centre which
is currently facing a lot of problems in maintaining its records. We are required to analyse
requirements for the development of the fitness application system.
This fitness application is used to maintain record of all its users. The application
requires us to be able to use it with various user types, namely Administrator, staff and
customer. The customer should be able to create a to-do list having the various tasks
they must complete. The staff should be able to assign tasks to the customer and be able
to view and manage their payment status. Administrator should be able to register
customers and staff and generate reports regarding information stored in the database
about them. The application’s login page should also have an option for the customer to
register themselves.
Page | 1
CS5002 Software Engineering
2. Group tasks
Admin
Page | 2
CS5002 Software Engineering
➢ View Report: It will give the report about the customer, staff, task or payment.
Customer
➢ View Report: It will give the report about their detail, task or payment.
➢ Register customer: it will register customer into the system.
➢ De-Register customer: It will de-register the customer from the system.
➢ Create / modify list: It will create, update and delete to-do list.
➢ View List: it will show all the to-do list created by customer.
➢ Create / modify task: It will create task for the customer.
➢ View task: It will show all the task created by customer.
➢ Task complete: It will set the selected task’s status to complete.
Staff
System
➢ Check payment: It will check the payment detail of the customer and send
notification to customer if they haven’t paid the fee.
➢ De-Register customer: It will de-register the customer if they have remained
inactive for a month.
➢ De-register staff: It will automatically de-register the staff whose contracts have
finished.
Page | 3
CS5002 Software Engineering
➢ Register Customer: This process will register a new customer into the customer
database. Customer and admin can access this process.
➢ Payment: This process will handle all the things related with making payment,
checking payment and sending payment notification. Staff and customer can
access this process
➢ View Report: This process will generate a report from a different data available in
the database. The admin can generate a report on payment, customer, task and
staff details whereas the customer can create their own reports on payment and
task. Customer and admin can access this process.
➢ Manage To-do List: This process will create list, update and delete it from database
called list. That list can be viewed by the customer. Task can be created, updated,
deleted and viewed by customer and staff from database called task. Once task is
Page | 4
CS5002 Software Engineering
completed, status will be changed to complete. Customer and staff can access this
function.
➢ De-register customer: This process will handle all the de-registering existence
customer from the customer database. Admin and customer can access this
process.
➢ Register staff: This process will register the new staff into the database called staff.
Only admin can access this process.
➢ De-register staff: This process will handle all the de-registering the staff from the
system. Admin and system can only access this process.
➢ Extend Contract: This process will extend the contract period of the staff. Only
admin can access this process.
➢ Reactivate customer: This process will reactive the customer who were de-
registered before from the system. Only admin can access this process.
Page | 5
CS5002 Software Engineering
2.2.3.1 Entities
➢ Customer: The customer table contains all details about the customers who have
registered for our fitness application.
➢ Staff: A staff table contains all the details of a staff who works in our fitness centre.
➢ Task: A task table contains all the information of the task created by a staff and a
customer.
➢ To-do list: A to-do list table contains all the information about the list of task created
by a customer.
2.2.3.2 Relationship
Page | 6
CS5002 Software Engineering
Page | 7
CS5002 Software Engineering
Page | 8
CS5002 Software Engineering
2.2.5.2 Payment
➢ MODULE NAME: Payment
➢ PURPOSE: To handle the payment details and send the notification.
➢ PSECUDOCODE
START payment(task, custID, [paymentInfo])
IF task = "Check Payment"
IF user called function
DISPLAY checkPayment(custID)
ELSE IF system called function
IF (checkPayment(custID) = "Not paid")
notify(custID)
END IF
END IF
ELSE IF task = "Make Payment"
CALL makePayment(custID, paymentInfo)
notify(custID)
Page | 9
CS5002 Software Engineering
END IF
STOP
START manageList()
fn = INPUT "Select function"
IF fn = "Create List"
Page | 10
CS5002 Software Engineering
CALL createList()
ELSE IF fn = "Add task to list"
CALL listAddTask()
ELSE IF fn = "Remove task to list"
CALL listRemoveTask()
ELSE IF fn = "Delete List"
CALL deleteList()
END IF
STOP
START manageTask()
fn = INPUT "Select function"
IF fn = "Create Task"
CALL createTask()
ELSE IF fn = "Update Task"
CALL updateTask()
ELSE IF fn = "Remove task to list"
CALL listRemoveTask()
ELSE IF fn = "Delete List"
CALL deleteList()
END IF
STOP
2.2.5.5 De-register customer
➢ MODULE NAME: De-register customer
➢ PURPOSE: To de-register a customer.
➢ PSEUDOCODE:
START deregisterCustomer(custID)
IF called by system
IF checkInactive(custID) > 30
CALL deregister(custID)
Page | 11
CS5002 Software Engineering
END IF
ELSE
IF customerExists(custID)
CALL deregister(custID)
END IF
END IF
STOP
Page | 12
CS5002 Software Engineering
Page | 13
CS5002 Software Engineering
Page | 14
CS5002 Software Engineering
In Figure 4 it can be seen that, this system starts at the login page after which the
user can login or a customer can register a new account. Register Customer Module is
explained in detail in its own section below. When a user logs in, their login details are
verified against the database. If verified, their user type is checked and their
corresponding dashboard opens.
Figure 5 shows the structural chart for the admin dashboard. The admin can
choose to either managed the customer data, manage the staff data or generate reports.
When managing customers, the admin can register a customer, de-register customer or
reactivate a customers account. When managing the staff, the admin can register, de-
register the staff or extend the staff contracts.
Figure 6 shows the structural chart for the customer dashboard. The customer can
either manage their to-do list, view reports or de-register their account. When managing
the to-do lists, the customer can view, create, update and delete tasks. These tasks can
be added to a to-do lists which can be created and deleted by the customer. They can
also mark tasks as completed.
Figure 7 shows the structural chart for the staff dashboard. The staff can either
manage tasks that can be given to the customers or manage payment of the customers.
When managing the tasks, the staff can view the existing task for a customer and create
and assign a new tasks to the customers. When managing a payments, the staff can
check whether the customer has paid or not and they can change the payment status of
a customer after the customer has made the payments.
Page | 15
CS5002 Software Engineering
While working on the context level diagram, we found many functions that needed
to be added and many functions which were removed. When we started the project, we
assumed that we needed payment rate in our system but as we advance through multiple
iterations of the DFD, we realised that payment rate was not required and would only
make our system unnecessarily complex.
Page | 16
CS5002 Software Engineering
S.N. Date Start Time End Time Meeting Location Meeting Objective
3 15th Nov 01:00 PM 3:00 PM College Learning Individual Context level diagram were
2018 to Zone created at the same time while
consulting each other.
4 24th Nov 02:00 PM 4:00 PM Tsedup’s house A combine Context diagram was made
2018 to using the individual context level
diagram
5 29th Nov 02:00 PM 03:00 PM Tsedup’s house Individual level 1 DFDs were created at
2018 to the same time while consulting each
other.
6 5th Dec 02:00 PM 04:00 PM Tsedup’s house A combine Level 1 DFD was made
2018 to using the individual DFDs
7 15th Dec 12:00 PM 06:00 PM Sajag’s House A combine Level 2 DFD was made.
2018 to
8 25th Dec 1:00 PM to 03:00 PM Sajag’s House Individual level 2 DFDs were separated
2018 from combine DFD
9 5th Jan 02:00 PM 04:00 PM College Learning Individual structure charts were created
2019 to Zone at the same time while consulting each
other.
10 16th Jan 01:00 PM 03:00 PM Tsedup’s House A combine structure chart was made
2019 to using the individual structure charts
11 19th Jan 08:00 AM 04:00 PM Tsedup’s House Individual parts were added and report
2019 to documentation finalization was done.
coursework were distributed individually.
Page | 17
CS5002 Software Engineering
Page | 18
CS5002 Software Engineering
3. Individual tasks
This process will be used to register new customer into the system. Admin will register a
customer and customer can register themselves into the system.
Page | 19
CS5002 Software Engineering
3.1.1.2 Payment
This process will handle all the payment and related notification in the system. Staff will
make a payment into system and can check the notification. Customer can get the
notification of the payment made and check their payment detail.
Page | 20
CS5002 Software Engineering
When a user tries to generate the report of a customer and staff this process will generate
and display the report to the user. Only admin and customer can generate a report.
This process will create to-do list and task for the customer which can later be updated,
deleted and viewed. Staff can create task for customer, modify it and view it. Customer
can create to-do list and task for themselves, modify it and view it.
Page | 21
CS5002 Software Engineering
This process will de-register a customer from the system. Admin will de-register a
customer from the system. Customer can de-register themselves from the system.
Page | 22
CS5002 Software Engineering
When a user tries to register a customer in to the system this system will register a
customer into the database. Only customer and admin can register a customer in to the
system.
Page | 23
CS5002 Software Engineering
3.2.1.2 Payment
When a customer or a staff tries to check and make the payment this process will handle
all the things related to the payment and store them into the database. Also, the system
checks the payment of the customer whether he/she paid or not and send a notification
notifying the customer about the payment.
Page | 24
CS5002 Software Engineering
This process will generate a report. Admin can generate a report which contains detail
about the payment, customer, task and staff. Customer can generate a report which
contains the detail about the payment and task.
When a user tries to This process will create list, update and delete it from database
called list. That list can be viewed by the customer. Task can be created, updated, deleted
and viewed by customer and staff from database called task. Once task is completed,
status will be changed to complete. Customer and staff can access this function.
Page | 25
CS5002 Software Engineering
This process will deregister a customer and a staff from database. Only customer and
Admin can access this process. System can also deregister a customer from database
checking his/her inactive days.
Page | 26
CS5002 Software Engineering
When a user tries to register a customer the registration details are checked by process
1.1 to see if the customer already exists within the database. If they do not exist, then the
data is supplied to process 1.2 which stored the data in database as a new customer.
3.2.2.2 Payment
Page | 27
CS5002 Software Engineering
When a user check his/her payment details the payment details are checked by process
2.1 check payment details to see whether the customer has paid or not within the
database. if they do not, the customer has to pay which is done by process 2.2 do
payment, then the paid details are supplied to the database and a notification notifying
about the payment done is sent to the customer by the process 2.3 notify customer.
When user tries to generate a report, the process ‘3.1 get report info’ get the respective
report information from database. The customer can only generate the payment and to
do list report while an administrator can generate all kind of report. Then process ‘3.1
create report’ create and displays the respective report to the user.
Page | 28
CS5002 Software Engineering
When a user tries to manage a task the process ‘4.2 manage task’ let the customer
and staff to create, update and delete the task from database by getting the customer
and task information from database then the modified data is displayed by the process
‘4.2 view tasks’ to user. The process 4.3 create task, creates the to-do list for the
customer which then stores the task list details in database. If a customer wishes to
add task to a list, the process ‘4.4 task to list’ get task information from database and
then store the list information to the database. The process ‘4.5 remove task from list’
and ‘4.6 delete list’ let customer to remove task from list and delete the entire list
respectively from the database. Moreover, the process ‘4.7 complete task’, get the
completed task information and store the completed task details in the database.
Page | 29
CS5002 Software Engineering
Page | 30
CS5002 Software Engineering
In the register customer module, when a user calls it, they must provide customers
details as a parameters. The customers details are checked against the database to
check whether the customer is already registered or not. If the customer is not already
registered, then their details are saved in the database as a new customer. When a new
customer is registered, they are not allowed to use the system until their payment has
been verified by a staff member.
Page | 31
CS5002 Software Engineering
3.3.1.2 Payment
In the payment module, we can either check the payment info or make the
payment. When the system checks payment info and the customer hasn’t paid their dues,
the customer gets a notification. When a user check the payment info, the respective
payment information is displayed to that user. When making payments, the user provide
payment details and the customer id, after which payment information is updated in the
database and the customer is notified about the change.
Page | 32
CS5002 Software Engineering
When creating a report, the report type and relevant information is provided after
which the required data is pulled from the database and the report is generated. The
generated report is then displayed to the user.
Page | 33
CS5002 Software Engineering
In the to-do list module, customers can manage their list and tasks whereas staff
can only manage task for the customers. When managing the tasks users can create
update or delete the tasks. Customers can also complete the task. When managing lists,
customer can create and delete lists as well as add and remove tasks from the lists.
Page | 34
CS5002 Software Engineering
Page | 35
CS5002 Software Engineering
3.3.2.2 Payment
➢ MODULE NAME: Payment
➢ PURPOSE: To handle the payment details and send the notification.
➢ PSECUDOCODE
START payment(task, custID, [paymentInfo])
IF task = "Check Payment"
IF user called function
DISPLAY checkPayment(custID)
ELSE IF system called function
IF (checkPayment(custID) = "Not paid")
notify(custID)
END IF
END IF
ELSE IF task = "Make Payment"
CALL makePayment(custID, paymentInfo)
notify(custID)
Page | 36
CS5002 Software Engineering
START manageList()
fn = INPUT "Select function"
IF fn = "Create List"
CALL createList()
ELSE IF fn = "Add task to list"
CALL listAddTask()
Page | 37
CS5002 Software Engineering
START manageTask()
fn = INPUT "Select function"
IF fn = "Create Task"
CALL createTask()
ELSE IF fn = "Update Task"
CALL updateTask()
ELSE IF fn = "Remove task to list"
CALL listRemoveTask()
ELSE IF fn = "Delete List"
CALL deleteList()
END IF
STOP
3.3.2.5 De-register customer
➢ MODULE NAME: De-register customer
➢ PURPOSE: To de-register a customer.
➢ PSEUDOCODE:
START deregisterCustomer(custID)
IF called by system
IF checkInactive(custID) > 30
CALL deregister(custID)
END IF
ELSE
IF customerExists(custID)
Page | 38
CS5002 Software Engineering
CALL deregister(custID)
END IF
END IF
STOP
Page | 39
CS5002 Software Engineering
4. Conclusion
After plenty of research and analysis of the requirements that are required to
develop this system, we decided to explain and design the substantial parts of this system
using structured approach that is Yourdon. This application will make a fitness centre to
run more efficiently in a way that, administrator, staff and user can add diverse data about
the users into the system, and edit, delete user data later when needed. We know that it
is impossible for lone to develop this system, engagement of other group member was
the best option to make most out of this project. So, for the development of this system,
we have spent a lot of time on requirement analysis by having many group meetings. The
tasks assigned in the coursework were not easy at all. We have worked hard for the
successful completion of this coursework, each task was carried out in steps, in every
steps deploying the full effort by every member of the group.
Page | 40