S19 CS5002NP CW1 18030720 Anish Shrestha
S19 CS5002NP CW1 18030720 Anish Shrestha
S19 CS5002NP CW1 18030720 Anish Shrestha
Software Engineering
CS5002NP
Coursework 1
Introduction
This coursework is about a GYM club named as perfect GYM club which
is facing problems in maintaining records of the customer varying on their
payment details. So, in order to minimize the given problem a computerized
system is needed to be developed. The main agenda of the system is to
maintain the record of all the customers based on their identification of the
information given by the customer.
In this system, the customer who are willing to join GYM should register
themselves in the GYM. The registration will be only done after they some initial
amount is paid to the GYM. Records of the customer are done based on their
general information such as Name of the customer, Date Of Birth, Username,
Password, Location, Date_of_registration, Payment amount and Payment type.
Every single member willing to use Perfect GYM club application must be
registered in a GYM. Customers are given full privilege of the GYM after their
complete registration.
In case, customer is not active for a month than the customer will be
automatically de-registered which is automatically done by the system itself.
The Perfect GYM Club application admin is permitted to create client reporting.
Moreover, in this GYM club workers keeps the client’s payment information.
There may also be different activities to be delegated to clients which clients
have to do while staying at home.
1
Anish Shrestha
CS5002NP Software Engineering
The purpose of the Perfect GYM Club system is to give customers the better
services by providing the proper facilities with the individual report of their
progress in the GYM. It also helps in the data storing of the customer coming
to the GYM and manage the registration in proper order. The details of the
report are provided by the admin or staff to the customer and is managed by
the staff itself.
Above is the DFD level 0 or context diagram of the Perfect GYM Club
system. Here, the customer and staffs can create the set of task to be done by
the customers in the GYM. Admin has the privilege of whole system and has
responsibility to look after the customers. Customers are registered to the
system only after some initial payment is done.
2
Anish Shrestha
CS5002NP Software Engineering
3
Anish Shrestha
CS5002NP Software Engineering
2.1. ER Diagram
An entity relationship diagram (ERD), also known as an entity
relationship model is an graphical illustration of an information system that
shows the relationships among objects, places, concepts, people pr any events
within the system. An entity relationship diagram is a data modelling way that
can profit business processes and be used as the pillar for a relational
database.
Staff is to maintain the payment details of the Customer. Staff are responsible
for assigning task that are to be carried out in home by the Customers.
Moreover, Admin of the Perfect GYM Club application is allowed to create
report of the Customers. Similarly, Customers can create their own “To Do List”
in the Perfect GYM Club application in order to set a reminder about the task
that are to be carried out according to their requirement. Customers have full
privilege to create their own To Do List, Update their list, Read the list and
Delete the list if required.
5
Anish Shrestha
CS5002NP Software Engineering
The above figure illustrates the DFD level 1 of the Perfect GYM Club
system. It shows the overview of the system design with illustration of the major
processes, data stores and data processes. It holds all together of eight
processes that are represented by the circles in regard to the flow of data which
is represented by the data and the tables of the database is represented by the
partial rectangles.
In the above figure, the customer gives the first input to the system by
customer or admin itself by registering the customer providing the essential to
6
Anish Shrestha
CS5002NP Software Engineering
do list information. Admin, staff and the customers are the external entity of the
system. These are the essential parts of the project and without these aspects,
the GYM System cannot carry out its function and responsibilities. The task of
every data flows and stores are described below:
7
Anish Shrestha
CS5002NP Software Engineering
The above DFD level 2 figure shows us the working mechanism of the
GYM Club System. In the above phenomenon, the customer is required to visit
the GYM Club. The customer willing to join the GYM should register themselves
in the GYM. Once the customer pays certain initial amount, customers can be
registered to the GYM.
8
Anish Shrestha
CS5002NP Software Engineering
The following tables shows the attributes and information about the
entities like Customer, Staff, Task, to do list and Payment.
Customer Table:
9
Anish Shrestha
CS5002NP Software Engineering
Staff Table:
Task Table:
10
Anish Shrestha
CS5002NP Software Engineering
Payment Table:
Payment_Taken_By Integer FK
To do list table:
Attributes Data types Key Description
11
Anish Shrestha
CS5002NP Software Engineering
Registration_info = Cust name + cust age + cust sex + cust height + cust
weight + cust phone no. + Payment_info *data flow*
Customer_info = cust name + cust age + cust sex + cust height + cust weight
+ cust phone no.
For payment
12
Anish Shrestha
CS5002NP Software Engineering
13
Anish Shrestha
CS5002NP Software Engineering
14
Anish Shrestha
CS5002NP Software Engineering
3. Design Specification
15
Anish Shrestha
CS5002NP Software Engineering
The above figure illustrates the structure chart of the entire Perfect GYM
Club system. The system required the details of the customer such as Full
Name of the customer, DOB, Username, Password, Location,
Date_of_registration, Payment_amount, and Payment_type including their “To
Do List”. To obtain the details of the customer and update records in case of
need, customer are allowed to view their report. Customer also have privilege
to de register themselves if they are planning to leave the GYM. The system
will automatically de register the customer if customer are found to be in active
for about a month and admin is given full privilege to de register the customer.
Payment is to be done before registration of any customer. Some initial amount
is to be paid to the GYM in order to be registered in the GYM. Registration is
done through staffs. New registration is done after admin checks and verified
the registration details of new customers.
There are set of pre-defined tasks that can be carried out in the GYM
club. Moreover, customer can create their own To Do List which may consists
the set of tasks which they can carry out in GYM premises. Furthermore, they
can also set a reminder which will allow them do certain exercise in the given
period of time. Customer can create their own exercise, update and delete the
exercise routine in case they no longer want to carry out the particular exercise.
Similarly, Staff can also create the “To Do List” for the customer. Customers
are checked and in case it’s time to pay fee than they are informed about the
deadline for paying the fee.
16
Anish Shrestha
CS5002NP Software Engineering
4. Assignment Diary
The foremost objective of this coursework is to demonstrate practical
knowledge of “Structured Software Engineering” (Yourdon) by working within a
group of members in fixed period of time. The given task was huge for a single
member to complete in a narrow time period. So, I along with all other three
members of my group decided to divide our task and handle their respective
parts to the respective group members. Every member in the group was
assigned with their parts with full responsibility of the given task. Our group
consists of four members including me. Aakash Pahari, Amar Gurung, Anish
Shrestha, Sushant Tamang are the respective name of group members in our
team. The work was divided into the following way:
17
Anish Shrestha
CS5002NP Software Engineering
After we assigned all of our member with their part of work, we started
our coursework. We were able to complete our task because our team was
jelled and work was managed very clearly and systematically. All of the
members of our group were very active during the time period of the
coursework. Moreover, with the equal support of all of the members and their
important focus on their individual parts handed to them, our coursework was
completed in given period of time. We should know that without the proper
management and discussion on the given topic, we cannot complete our work
in time. That’s why we gave main focus on discussion about the topic and
visualizing all member ideas in order to gain idea and give suggestions to each
other in any case of misunderstanding during their work. If the group is not
found to be jelled and there is conflict among the group members regarding to
the certain topic, the project can never be completed. In order to create a strong,
clear coursework with proper elements we carried out several meetings that
became the main pillar of our success through which we dealt with the proper
time planning issues. Our meeting date and destination are given below:
18
Anish Shrestha
CS5002NP Software Engineering
19
Anish Shrestha
CS5002NP Software Engineering
20
Anish Shrestha
CS5002NP Software Engineering
21
Anish Shrestha
CS5002NP Software Engineering
22
Anish Shrestha
CS5002NP Software Engineering
23
Anish Shrestha
CS5002NP Software Engineering
5. Detailed Specification
Individual Report 1
Name: Aakash Pahari
Module Introduction
This is the Create Customer “To Do List” of the Perfect GYM club.
According to the GYM system, Customer can create, update and delete to do
list. As per requirement, staff and admin manages the system like update
details of the customer and create to do list. Admin have the privilege to manage
staffs and also to register or de register the staff if required.
Here, the staff and customer can create the “To do list” for the customer
in the GYM. Firstly, information about the tasks required to be done is figured
out and is given to the GYM club. Staff views the list of tasks and the task are
registered in the system. Customers are allowed to view information about their
task and they have privilege to update and delete their list of task when
required.
24
Anish Shrestha
CS5002NP Software Engineering
This is the context level or DFD level 0 for create “To Do List” module.
As shown in the above diagram, there is only one process with the name of the
system. Add to do list is the only one major process in the figure. As shown,
customer have privilege to create list of task to be done in the GYM club. Added
to do list is stored tin the system. Customer have privilege to add to do list
information, update and delete the information if required.
25
Anish Shrestha
CS5002NP Software Engineering
This is the level 1 DFD for the create customer “To Do List” module,
which gives the major process i.e. Perfect Gym Club. For Gym club, customer
need to create a list of task that they are required to do in Gym premises. Then
the data is added to the system through the help of staff. Here, customer have
full privilege to see their information in the database.
This is the DFD level 2 for create customer “To Do List” module. In the
figure shown above, customer are able to create to do list for themselves. To
update the initial information given by the customer, they have to provide their
26
Anish Shrestha
CS5002NP Software Engineering
updated information to the system which is than stored in the system through
the help of the Company Staff. The updated records are then stored in the table
named ToDoList. The information can be viewed by the customers through the
system. In order to delete the information of the customer, they have to provide
the delete information to the system. The information is then stored in the
system and the data can be viewed by the customer through the system.
Company Staff also provides the list of task information to the system and have
privilege to create the task list to be done by the customer itself.
The figure above shows is the structure chart for “To Do List” module. It
shows the assignment of the data for the task to be done by the customer during
the GYM premises. As seen, customer and staff can create the list of task that
27
Anish Shrestha
CS5002NP Software Engineering
a customer can do during the GYM time. Similarly, customer has full privilege
to update, delete and view the task list.
Pseudocode:
START
EXIT
EXIT
EXIT
EXIT
END
28
Anish Shrestha
CS5002NP Software Engineering
Conclusion
I was given the duty to create this requirement analysis specification for
the module create customer “To Do List”. The task was though for me and I
was not able to collect then essential information for doing my selected
assignment. However, from the assistance of the lecture slides and
investigating and examining the potential data I was able to create this module.
I confronted a great deal of issues and challenges for which I had to do extra
investigation and put some extra effort to complete the task.
Eventually, the module was effectively created and through this module
I was able to boost my ideas about designing of the charts and creation of
report. Initially, I adapted more about the Data Flow Diagram (DFDs) and got
thoughts regarding making DFDs i.e. level 0 or context diagram, level 1 DFD
and level 2 DFD for module. I became familiar about the necessities and
procedure for improvement of a framework and how to draw a structure outline.
Finally, on the way to solve this module and the coursework I gained
knowledge to maintain myself in bunch of exercises and acquired knowledge
to work as a team.
29
Anish Shrestha
CS5002NP Software Engineering
Individual report 2
Module introduction
This is the perfect GYM club’s “Register a customer” as the title indicates the
process of registering the customer. According to this module’s requirement,
customers willing to join a GYM will register in the GYM at first. Customers are
only enrolled in GYM after paying a certain fee to the GYM.
Environmental Specification
In the above figure as we can see that it contains only one process and process
name is with system name which is “perfect Gym Club”. At context level, only
major data flows are shown. It is also known as the highest level of DFD. Also
there are two entity admin and customer.
30
Anish Shrestha
CS5002NP Software Engineering
In the above figure it shows the Level 1 DFD fragment of “Register a customer”.
Here, as we can see that process name register a customer stores the
information about customer and payment and at first the system get information
about the registration and customer after that the process is done.
31
Anish Shrestha
CS5002NP Software Engineering
In the above figure it indicates or it explains the Level 2 DFDs for the particular
function. In this DFD level 2 it has three process, seven data flow and two
terminator. The process is done in Yourdon’s approach. Here, at first the
customer fill the registration form which the admin check’s it and after that
amount is verified and the clearance table is created. So at last customer
account is created and table is created with customer account name and the
customer id is pass to the customer.
32
Anish Shrestha
CS5002NP Software Engineering
4. Design Specification
1. Structure chart
In the above figure as we can see that, it is the structure chart for “register
a customer” module. The above figure shows the process of the customer
enrollment or registration of the perfect GYM club where the customer
details and payment details are required to join the perfect GYM club for
every customers who are willing to work out in the GYM.
33
Anish Shrestha
CS5002NP Software Engineering
Module Specification
Module name: register a customer
Purpose: The main goal of the module is registering a customer in the GYM
after paying the initial amount by the customer.
Pseudocode:
START
END
34
Anish Shrestha
CS5002NP Software Engineering
Conclusion
In this coursework of software engineering I was asked to generate a number
of analysis and design specifications of a particular part of the system which is
the part of individual task. Each group member should do individual task, in my
part I have selected the “registering a customer” from many of the given
function.
From the help of the internet and constant evaluation and analysis, I captured
all other ideas needed to generate in the midst of this module. I had to deal with
a lot of problems and difficulties that I had to do with more inquiries and actions.
Ultimately, the module was developed efficiently and I improved various ideas
about constructing software. In this individual task Data-flow diagram (DFD) is
used to solve the lots of problem that the perfect GYM club is facing to maintain
records of the client’s with their clearance details. Here I have done with
Yourdon’s approach which is different from the ‘classical’ top-down approach
used for example in SSADM and other methods. Here I have learn the context
level diagram or level 0 which is the highest level of DFD and it contain single
process also process must name with system name. Furthermore, I have
learned the level 1 DFD fragment, Level 2 DFDs for the particular function and
structure chart. So, overall I get the knowledge how software can be used to
solve the real life problem in different sectors.
35
Anish Shrestha
CS5002NP Software Engineering
Individual report 3
Module introduction
This is the context level or 0 level DFD for payment of customer module. As
shown in the diagram above, there is only one process with the name of the
system. That is Perfect GYM Club which is only one major process. In above
figure, customer makes payment for registration.
36
Anish Shrestha
CS5002NP Software Engineering
a) DFD Fragments
This is the DFD fragment for payment of customer module. For payment of
customer, customer give amount and customer information. The customers
who are not registered will be registered and are given their customer number.
Their payment information is stored in payment data store.
37
Anish Shrestha
CS5002NP Software Engineering
b) Level 2
This is the DFD level 2 for payment of customer module. In this figure,
customer provides amount paid and customer information. The payment done
by customer is recorded. The customer who is not member will be given
customer number and their information will be added to Customers store. The
process also checks whether customer is de-registered or had been inactive
for a month. That customer will be re-registered.
38
Anish Shrestha
CS5002NP Software Engineering
Design specification
a) Structure chart
Pseudocode
START
ELSE
39
Anish Shrestha
CS5002NP Software Engineering
Conclusion
In this coursework, I did Environmental model specification of group task and
payment of customer of individual task. Creating all the internal tasks were
burdensome as it was my first time. It took about 3 days to finish environment
model specification and extra 2 days to create my individual task.
The task was challenging, giving our own individual effort and combining it with
each other achievement was difficult because merging all the tasks of members
was found to be unproductive at first. It seemed like our group member was not
making any progress. After giving some time on solving the issues, finally our
tasks completed successfully.
40
Anish Shrestha
CS5002NP Software Engineering
Individual report 4
Module introduction
This is the perfect GYM club’s “Deregister a customer” as the title indicates the
process of deregistering the customer. According to this module’s requirement,
customers willing to leave a GYM will de-register in the GYM. Customers who
have been inactive for a month will be automatically de-registered by the
system.
1) Context Diagram
This is the level 0 DFD for the deregister customer module, which gives the
major process i.e. Perfect Gym Club. For Gym club, customer who wants to
leave the GYM needs to give customer id to the system by either customer itself
or admin. Then only customer is deregistered.
41
Anish Shrestha
CS5002NP Software Engineering
a) DFD Fragment
This is the DFD fragment for deregister customer module. As shown in the
above diagram, there is only one process with the name of the module.
Deregister customer is the only one major process in the figure. As shown,
customer or admin has privilege to deregister customer. The customer is
deregistered with the help of customer id. The process makes changes to the
customer status in the customers store.
42
Anish Shrestha
CS5002NP Software Engineering
b) Level 2
This is the DFD level 2 for deregister customer module. In the figure shown
above, customers are allowed to deregister themselves. To deregister
customer, customer or admin gives customer id to the deregister process. The
deregister process makes status of customer to deregister in the customer data
store. The system also checks inactive status of customer. The customer is
known inactive from status retrieved from the to do list data store. If the status
is inactive, that is, customer has not been doing its tasks. Then customer is
deregistered.
43
Anish Shrestha
CS5002NP Software Engineering
3) Design Specification
a) Structured chart
Module Specification
Module Name: Deregister customer
Purpose:
Pseudocode
START
GET customer id
IF status is inactive
GET customer id
EXIT
END
44
Anish Shrestha
CS5002NP Software Engineering
Conclusion
Part of deregister was in my portion of individual task. It includes all
deregistration of customer and staff. It is one of the most important process of
the system that we are given to build. As given the question all the processes
are carried out in the system. However, I took support from my teacher and my
group leader for the portion that I was facing problem in my task.
While doing this part of the course work I feel difficult while connecting
data flow. It looks little bit massy. Explaining all the levels and structure chart,
it makes me more than what I was before in the software engineering
specifically data flow. I got to know well tool knowledge of “draw.io”. It is one
of the best online site for drawing the charts.
Overall I got the knowledge of how software works in the real world that
includes, what are the problem that user as well customers can face and how
that can be solved in before the development of the stakeholders, how to
reduce the risk of faults, how the data flow in the system and how that can be
manage in the very systematic way. All the other tasks are done with the
collaboration of my group members.
45
Anish Shrestha
CS5002NP Software Engineering
We all began our coursework in November 17, 2019. The very first day
of our meeting with the group members we discussed about the ideas about
the coursework. We took the conceptual idea about the work to be done from
all of our group members and also identified the potential issues that we may
have to deal with while doing our coursework. The main idea of the tasks is to
display Internal Model Specification, Environment Model Specification, Data
Dictionary, Process Specification, Design Specification, Assignment Diary,
Requirement Analysis Specification, four individual tasks and the
documentation of the coursework. In order to complete the tasks in a well-
managed way and create a jelled team to minimize the issues regarding to the
task in the coursework, total five meeting session was held. Those meetings
were all about sharing ideas, managing the time, checking errors and solving
potential issues regarding to the coursework. Our final meeting was held in
January 6, 2020. On the very day we collected all the tasks done by every group
members and our document was merged in a single word file. Through equal
support and sharing of ideas among the group members, we were able to
46
Anish Shrestha
CS5002NP Software Engineering
complete our coursework before the due date. The whole coursework was
completed in about a month. At last, the coursework was submitted to the
module teacher at the given time interval.
47
Anish Shrestha
CS5002NP Software Engineering
Group Conclusion
Now that we have completed our coursework, we can say that our skills,
knowledge and understanding has increased by a little. We are glad that we
have completed our coursework in time. This coursework showed us the
importance of group and team work. Every member of our team contributed
equally in their respective parts to complete the task they were given to. Due to
the dedication and determination of all of four members it was possible to
complete the coursework in given time.
This coursework didn’t only built our skills to work as a team but also
contributed in sector such as time managing, skill development, talking skills,
interaction skills and the skills to share ideas with each other. Similarly, it also
built a strong relation among individuals. To be real, we haven’t been that
familiar with our friends till date but this group coursework gave us opportunity
to know our friends too. Working as a jelled team built our capacity to deal with
issues regarding to the work and also helped to generate idea about how to
cope with such issues.
48
Anish Shrestha