Professional Documents
Culture Documents
A19 CS5002 NP 19031004 Netra Bahadur Rana CW1
A19 CS5002 NP 19031004 Netra Bahadur Rana CW1
A19 CS5002 NP 19031004 Netra Bahadur Rana CW1
Software Engineering
CS5002NP
Coursework 1
3.3.3 Booking................................................................................................. 21
4. Design Specification.......................................................................................... 26
6.2.1 Context Level Diagram or level 0 Data flow Diagram (DFD) ................. 34
7.2.1 Context Level Diagram or Level 0 Data Flow Diagram (DFD) .............. 40
12. Bibliography.................................................................................................... 65
List of Figures
1. Introduction
For booking of the rooms/instrument customer has to pay certain advance if they
aren’t member of the institute. And for the booking one must be registered in the
system which is to be done by customer him/herself and then institute verifies the
registration. In order to deregister from membership customer can request the
institute and it will conform it. Those who have been registered as member are
provided discount and special package by Sound Strong institute. Before
membership duration expires about a week previously customers are notified and
then he/she can choose to be member or not. Also customers can hire instruments
if they want for the practice time they have booked rooms for. Availability of both
rooms and instrument can be checked by customer and chose the time they want
to hire. Staffs can update booking time and alter it if needed and verifies with
respective customers.
This project need analysis before the starting and then all members of group
needed to divide the task to do. Context level, DFD, ERD with data dictionary and
Process Specifications and structured chart were done accordingly and with the
help of module leader as well as internet sources. All process for the designing of
the online system of Sound Strong institute is done accordingly with proper
explanations of the process.
1
CS5002 NP Software Engineering
There are mainly 3 levels of DFD. They are Level 0 diagram (also known
as context diagram), Level 1 diagram and level 2 diagram.
2
CS5002 NP Software Engineering
3
CS5002 NP Software Engineering
4
CS5002 NP Software Engineering
The processes, data flow, data stores are all connected together
which makes it harder to understand the system. Here are the processes
put together consecutively:
5
CS5002 NP Software Engineering
The level 2 DFD is the lowest level of DFD in this system. In this
level, all the major processes are broken down and shown in more detail
how or why that process occurred.
6
CS5002 NP Software Engineering
7
CS5002 NP Software Engineering
8
CS5002 NP Software Engineering
9
CS5002 NP Software Engineering
10
CS5002 NP Software Engineering
11
CS5002 NP Software Engineering
• Entity
Entity are real world objects which are merely identifiable. Entities are
more likely to not have replica in the system. All entities have attributes
which explain their properties. Example are teacher, customer, class,
etc. rectangle shape represent entity.
• Attributes
Attributes represent entities properties and all attributes have values.
Attributes are of 4 kinds: Key attribute, composite attribute, single-valued
attribute, multi-valued attribute and derived attribute. Oval shape
represent entity.
• Relationships
Entities are connected to each other and that connection is due to the
association named as relationship. It represents what connection is
there. Diamond shape represent relationship. The number of entities in
one entity set is defined by the cardinality and its type are: one to one,
one to many, many to one and many to many.
12
CS5002 NP Software Engineering
13
CS5002 NP Software Engineering
Data which are stored in the database are known as metadata. Meta
data are in the data dictionary therefore data dictionary is indeed very essential.
In data dictionary all the data which are in database, it’s location, who has its
access and much more information are stored. But normally, the users of
database need not to deal with the data dictionary and is only managed by
database administrators (Meador, 2018). There are two kinds of data
dictionary: Active data dictionary and Passive data dictionary. Active data
dictionary are those which updates automatically by database management
system whenever changes happen, but passive data dictionary has to be
annually updated.
Table 1: Admin
Table 2: Data Dictionary of Admin
14
CS5002 NP Software Engineering
Table 2: staff
Table 3:Data Dictionary of staff
15
CS5002 NP Software Engineering
Table 3: Customer
Table 4:Data Dictionary of customer
16
CS5002 NP Software Engineering
Table 4: Payment
Table 5:Data Dictionary of Payment
Table 5: Booking
17
CS5002 NP Software Engineering
Table 6: Membership
Table 7:Data Dictionary of Membership
Table 7: Room_booking
▪ room_id: It defines id of the room that is for rent and is primary key. It
has int data type.
▪ room_name: It defines name of the room with data length of 30. It has
varchar data type.
▪ booking_id: Defines id of booking from booking table. It is foreign key.
18
CS5002 NP Software Engineering
Table 8: instrument_booking
Table 9:Data Dictionary of instrument_booking
19
CS5002 NP Software Engineering
PSEUDOCODE:
START
IF the staff wants to register in the system
Fill the registration form
Input necessary details
VERIFY Staff details
RETURN Staff ID
STOP
20
CS5002 NP Software Engineering
PSEUDOCODE:
START
IF customer wants to use the system
Fill registration form
Input customer details
VERIFY customer details
RETURN customer ID
STOP
3.3.3 Booking
PSEUDOCODE:
START
INPUT room/instrument details
IF room/instrument available
Register room/instrument
ELSE
Provide other options.
RETURN Booking ID
STOP
21
CS5002 NP Software Engineering
3.3.4 Membership
PSEUDOCODE:
START
IF the customer wants to take membership
INPUT Customer ID
RETURN Membership ID
SET Customer status in Membership record TRUE
STOP
3.3.5 Payment
22
CS5002 NP Software Engineering
PSEUDOCODE:
START
INPUT booking details
Check membership ID
IF customer has Membership ID
GET discount and special pacakges
ELSE
PAY in advance up to 8th booking
RETURN final amount
INPUT Customer ID
IF Cuctomer pays
SET payment TRUE
ELSE
SET payment FALSE
STOP
3.3.6 Notification
23
CS5002 NP Software Engineering
PSEUDOCODE:
START
Input (booking time, membership time)
IF remaining booking time = 30 mins
SEND notification
IF remaining membership time = 7 days
SEND notification
STOP
PSEUDOCODE:
START
INPUT Customer ID
VERIFY Customer ID
IF customer wants to de-register
TERMINATE Customer ID
DELETE details from system
STOP
24
CS5002 NP Software Engineering
PSEUDOCODE:
START
INPUT Staff ID
VERIFY Staff ID
IF staff wants to de-register
TERMINATE Staff ID
DELETE details from system
STOP
25
CS5002 NP Software Engineering
PSEUDOCODE:
START
CREATE Report
GET (customer details, payment details, booking details,
membership details)
PRINT (customer details+ payment details + booking
details + membership details)
CALL Report
View report details
STOP
4. Design Specification
26
CS5002 NP Software Engineering
27
CS5002 NP Software Engineering
28
CS5002 NP Software Engineering
5. Assignment Diary
8. Documentation 12/25/2020
29
CS5002 NP Software Engineering
Group task
Table 21: Division of group task
Name Responsibility
Netra Bahadur rana He was responsible for the creation of the
DFD diagrams and the report merge.
Ravi Pun He was assigned to create the ERD and data
dictionary for the internal model specification.
Arogya Prasad Baral He chose to create the structured chart.
Bipin Gurung He had his task to complete the assignment
diary keeping record of every meeting we
had.
Prashanta Bastola He was the one involved in most research
works.
Individual task
Name Task
Arogya Prasad Baral Register a customer
Ravi Pun Booking
Prashant Bastola Payment of customer
Netra Bahadur Rana Generate Report
Bipin Gurung De-register a customer
30
CS5002 NP Software Engineering
Group Meeting
31
CS5002 NP Software Engineering
32
CS5002 NP Software Engineering
complete, we decided to
complete the
documentation part. Netra
could use Ms Word very
easily than others so it
was assigned to him. The
definitions and citations
were done by Prashant.
9 12/31/2020 The final version of the
documentation was
submitted on 31st
December,2020.
6. Individual Task 1
33
CS5002 NP Software Engineering
Data flow diagrams are the basic level diagrams. They are
called level 0 because they show only single process node and
are very simple to understand. Having said that, they also offer
some brief to the flow of information in the system.
34
CS5002 NP Software Engineering
35
CS5002 NP Software Engineering
36
CS5002 NP Software Engineering
37
CS5002 NP Software Engineering
Calls: checkPayment()
PSEUDOCODE
Register customer
Else
38
CS5002 NP Software Engineering
6.5 Conclusion
7. Individual Task 2
39
CS5002 NP Software Engineering
40
CS5002 NP Software Engineering
41
CS5002 NP Software Engineering
42
CS5002 NP Software Engineering
43
CS5002 NP Software Engineering
PSEUDOCODE:
INPUT customer details
Check room details
Check instrument details
IF room available
Book room
Else
Provide other room details
IF instrument available
Book instrument
Else
Show not available
RETURN Booking ID
44
CS5002 NP Software Engineering
7.5 Conclusion
In this module the booking of the rooms are done for practice by
musicians on hourly basis. If they also want instruments to hire they can
rent it too. Rooms if are available then only they can be rented out.
Customer can check the availability whenever they want to and book. The
records can be accessed by staff and altered too.
8. Individual Task 3
45
CS5002 NP Software Engineering
46
CS5002 NP Software Engineering
47
CS5002 NP Software Engineering
48
CS5002 NP Software Engineering
The chart over speaks to the structure chart on the off chance that
module installment of a customer. Customer makes a installment though
staff checks the customer’s installment. When a customer makes
installment, they get receipt as an prove of installment. A staff can check
the customer’s installment and they can upgrade the points of interest of
installment on the off chance that needed.
49
CS5002 NP Software Engineering
PSEUDOCODE:-
Start
Get customer’s id
Get customer’s info
Get payment details
IF paymentStatus of customer is unpaid
Make payment
Generate receipt
Else send message as already paid
Define updatePayment()
Get customer’s info
Get payment details
Update pament
END
Input Parameters: customer’s id, payment details
Output parameters: Receipt
Global variables: customerInfo
Local variables: customerId
Calls: paymentInfo(), customerDetails()
Called by: checkPayement()
50
CS5002 NP Software Engineering
8.5 Conclusion
9. Individual Task 4
9.1 Introduction
51
CS5002 NP Software Engineering
52
CS5002 NP Software Engineering
53
CS5002 NP Software Engineering
54
CS5002 NP Software Engineering
55
CS5002 NP Software Engineering
PSEUDOCODE:
START
CREATE Report
CALL Report
STOP
56
CS5002 NP Software Engineering
9.5 Conclusion
The generate report module is carried out by the staff for the
organizations purpose. The system can keep track of the customers activity.
Since the system is online, customers can easily check their report status. The
staff keeps updating the report.
In conclusion, the context level, level 1,2 and the structure diagram has
helped me distinguish many things better than ever before. Especially after
doing the report generation module individually, I have learned a lot of things
in software engineering.
57
CS5002 NP Software Engineering
58
CS5002 NP Software Engineering
59
CS5002 NP Software Engineering
60
CS5002 NP Software Engineering
61
CS5002 NP Software Engineering
Pseudocode:
INPUT cust_id
Validate cust_id
IF cust_id is valid
THEN
Deregister customer
END IF
END IF
END
62
CS5002 NP Software Engineering
CALLS: getCustomerdetails()
10.5 Conclusion:
With the help of DFD (Data flow diagram and Structured Chart, we
can understand in more simpler and straight-forward way. In the end, we
have learned plenty about Software Designing.
All the task given improved not only our skills but also taught us
how to work in a group and being each other shoulder makes the work
more easier and saves more time.
63
CS5002 NP Software Engineering
This project consists of both group work and individual work. The group
work involves creating an online system for “Sound Strong Music Institute”
which can provide customer a better experience on online booking systems.
The project wanted us to create a Yourdon Structured design and data flow
diagram. We learned a lot from this group coursework. Specification is one of
the topics I, personally, find quite interesting.
The individual coursework also was able to peak the interest of our group
members. A lot of research and time invested on the group work really helped
in the individual tasks. Even though it was individual work, there was still
discussion going on between us members and that really speed up our
progress. All the individual tasks are combined and formed into a report along
with the group work.
I learned an important life lesson during this project. No matter how hard
the task is, if your companions are ready to invest time into it, it will be finished
in a blink of an eye. It was an amazing experience working as a group member
with these guys.
64
CS5002 NP Software Engineering
12. Bibliography
Alagar, V. & Periyasamy, K., 2011. Specification of Software Systems. 2nd ed. New
York: Springer.
65