Nothing Special   »   [go: up one dir, main page]

Report 2 PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

VIETNAM NATIONAL UNIVERSITY - HCM

Ho Chi Minh City University of Technology


Faculty of Computer Science and Engineering

MULTI-DISCIPLINARY PROJECT (CO3087)

Project

Self-Studying Management Systems

Lecturer: Assoc. Prof. Dr. Quản Thành Thơ


Student: Trần Quốc Anh - 1852247
Nguyễn Lâm Nguyên Bảo - 1811524
Nguyễn Hoàng Dũng - 1852305
Nguyễn Khắc Hào - 1852346
Đặng Trần Khánh - 1852037

Ho Chi Minh City, 28th July 2021


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Contents
1 Introduction 3

2 Device 4
2.1 Input devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Output devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 User Requirements 5
3.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Non-Functional Requỉrements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Use-case Detail 6
4.1 Manage study schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Notify study time/ break time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 Detect student’s presence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.4 Evaluate real-time studying condition . . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 Show study performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5 Use-case Diagram 18

6 Mockup 19
6.1 Welcome, authentication page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 Homepage and Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.3 Notify at scheduled session time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.4 Show study performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.5 Schedule management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.6 Evaluate real-time studying condition . . . . . . . . . . . . . . . . . . . . . . . . 28

7 Class diagram 30
7.1 Clarification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.2 Class diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8 Deployment View 32

9 Database Design 33
9.1 Entity-Relationship Diagram (ER diagram) . . . . . . . . . . . . . . . . . . . . . 33
9.2 Relation Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

10 Conclusion and Development Strategies 34


10.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.2 Self-evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10.3 Development Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Multi-disciplinary Project (CO3087) – 2021 Page 1/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

DOCUMENT HISTORY

Date Version Changes Person in charge


List out functional, non-functional require-
Apr 7 1.0 All
ments, devices needed
Apr 8 1.0.1 Write first version of report All
Apr 13 1.0.2 Fix report and add use-case diagram Trần Quốc Anh
Update functional requirements, add indices
Apr 16 1.0.3 for use-case detail represented in use-case di- Nguyễn Hoàng Dũng
agram
Apr 21 1.0.4 Update use-case detail Nguyễn Hoàng Dũng
Apr 22 1.1 Add Mockup All
Apr 24 1.1.1 Minor changes on Mockup Nguyễn Khắc Hào
Apr 30 1.2 Add Class Diagram All
May 1 1.2.1 Add all Activity Diagrams (each use-case) All
May 2 1.2.2 Add Deployment Diagram All
May 4 1.2.3 Add ER Diagram All
May 4 1.2.3.1 Add Relation Schema Đặng Trần Khánh
Update Evaluate real-time studying condition
May 20 1.2.4 Đặng Trần Khánh
use-case
Jun 2 1.3 Update Show Study Performance use-case Nguyễn Hoàng Dũng
Trần Quốc Anh,
Jun 3 1.3.1 Update use-case diagram Nguyễn Lâm Nguyên
Bảo
Jun 14 1.4 Separate use-case Nguyễn Khắc Hào
Jun 23 1.4.1 Update all use-cases All
Jun 24 1.4.2 Conduct grammatical check Nguyễn Hoàng Dũng
Jun 24 1.5 Add Conclusion and Development Strategies Nguyễn Hoàng Dũng
Fix content on Conclusion and Development Trần Quốc Anh, Đặng
Jun 25 1.5.1
Strategies Trần Khánh
Jul 4 1.5.2 Fix mock-up All
Jul 26 1.6 Update class diagram Nguyễn Hoàng Dũng

Multi-disciplinary Project (CO3087) – 2021 Page 2/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

1 Introduction
Self-studying is a learning method where students direct their own studying outside the class-
room and without direct supervision. Since students are able to take control of what (and how)
they are learning, self-studying can be a very valuable way for many students to learn.

Also, since the knowledge nowadays develops exponentially, self-study is a must for every stu-
dent. As a consequence, the amount of time required for students for self-studying is increasing.

However, the study space may affect the efficiency of self-studying. In Vietnam, most students
take place for self-studying in the coffee shops, libraries,... instead of learning at home because of
the distractions which appear in the house and students’ bad self-management skill. The spread
of the COVID-19 pandemic now make students unable to go to coffee shops and libraries, and
almost 100% of their study time will be taken place in their study room.

With said in mind, we are working on a project to guide students to schedule their timetable
well, as well as build a smart study space that can enhance the efficiency of self-studying.

In this project, we intend to use hardware devices for recording self-study’s environmental condi-
tions and notifying when it is time to study as he/she scheduled. An application is also provided
to set schedule, check self-study performance and get advice to improve the study space.

Figure 1: Smart Study Space

Multi-disciplinary Project (CO3087) – 2021 Page 3/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

2 Device
2.1 Input devices
1. Sound Sensor
• Characteristics: transform sound signal into electrical signal that the circuit can
interpret. Size: 2.54mm x 2.54mm.
• Usage: Check and validate the sound level, notify the users if the sound quality is
unsuitable for learning problem.
2. Infrared sensor
• Characteristics: It can detect an obstacle effectively.
• Usage: Check if the user is present at the study space(ex: desk), notify the user if
he/she is not at the study space.
3. Real - time clock
• Characteristics: Record the real time value.
• Usage: Assist the system in setting time, recording value.
4. DHT11
• Characteristics: Measure humidity(20% - 90% RH) and temperature(0 ∼ 50 °C).
• Usage: Check if the temperature is comfortable for learning experience.
5. Light sensor
• Characteristics: Check the light condition.
• Usage: Measure the light condition of the learning environment, notify the user if the
study space is dark or dim(unsuitable for learning effectively).
6. Microbit
• Characteristics: This is the central control circuit.
• Usage: Handle communication between server and devices.

2.2 Output devices


1. Buzzer
• Characteristics: Equipped with sound generating components that can be controlled
by voltage input.
• Usage: Notify the user of the event taking place(time for study, light condition too
dark...).
2. LCD I2C
• Characteristics: It uses the I2C communication protocol and it is compatible with
3V3 and Microbit
• Usage: Display the time and other notification.

Multi-disciplinary Project (CO3087) – 2021 Page 4/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

3 User Requirements
3.1 Functional Requirements
• User can schedule (set the study time) the timetable in the application.
• The above schedule can be removed if the start time has not come yet.
• The application will be in charge of notifying when will be the study time or the break
time. Normally, if the sessions takes more than 45 minutes, a 10-to-15-minute break time
will be set up after 45 minutes of studying (to protect your spine).
• Data in the study space such as light level, noise,... will be recorded by sensors and trans-
ferred to the database. Notification is needed when an unsatisfying condition of light level,
noise,... in the study space is met.

• The recorded data is also used to calculate study performance score of every self-study
session, the score can be shown to user via the application with additional advice.
• Hardware devices will detect whether student appears in the study session as set previously
in the application or not. Mobile application will send notification if user is not in the study
place at that time.

3.2 Non-Functional Requỉrements


• Easy to use.

• Data transfers and queries between user mobile application and device must be at maximum
2 seconds for each actions.
• The system must ensure working correctly 24/7.
• Application can support multi-platform.

• The application is compatible in both iOS and Android operating system.

Multi-disciplinary Project (CO3087) – 2021 Page 5/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

4 Use-case Detail
All Implementation views (i.e., Activity diagrams) appear after each use-case detail can be
accessed here in case they are too difficult to observe.

4.1 Manage study schedule


Use Case ID: 1
Use Case Name: Schedule new study sessions
Last Updated
Create By: Nguyễn Khắc Hào Nguyễn Khắc Hào
By:
Date Last
Date Created: 8/4/2021 23/6/2021
Updated:
Actors: User
Description: Set or modify the study schedule
Preconditions: The user has logged in the application
Normal Flow: 1. The user opens the application and selects "Show my
schedule" from the home screen or "Schedule" from the
side menu.
2. The user selects "Add Event".
3. The application displays a form requesting information
required to create a new study event.
4. The user fills in the form.
5. The user selects "Save Event".
6. The application checks the entered information’s validity
and sends an add event request to the server.
7. The application returns to the Schedule screen and dis-
plays an updated schedule.
Alternative Flow: Alternative 1 in step 5:
The user selects the return button and returns to the Sched-
ule screen without adding the new event. Alternative 1 in
step 6:
If the user haven’t entered any field, the application will
not send a request to the server and show an error dialog,
return to step 4.
Alternative 2 in step 6:
If the event has an end time that is sooner than its start
time, the application will not send a request to the server
and show an error dialog, return to step 4.
Alternative 3 in step 6:
If there exists an event that overlap the current request in
terms of start time and end time, the application will not
send a request to the server and show an error dialog, return
to step 4.
Exceptions: Exception in step 6:
If fail to connect to the server for pushing new schedule,
the application will show an error dialog and return user to
step 1.

Multi-disciplinary Project (CO3087) – 2021 Page 6/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Use Case ID: 2


Use Case Name: Review schedule
Last Updated
Create By: Nguyễn Khắc Hào Nguyễn Khắc Hào
By:
Date Last
Date Created: 8/4/2021 23/6/2021
Updated:
Actors: User
Description: View upcoming study events
Preconditions: The user has logged in the application
Normal Flow: 1. The user opens the application and selects "Show my
schedule" from the home screen or "Schedule" from the
side menu.
2. The application requests and retrieves from the server all
upcoming study events within a time frame.
3. The application display a schedule (timeline) view, along
with a list of upcoming schedule within a time frame.
4. The user selects a study event in the list to see more
detailed information about that event.
5. The application displays more information about the se-
lected event.
Alternative Flow: Alternative 1 in step 4:
The user can change the schedule’s time frame ("Today",
"This Week", "This Month", ...). The schedule will change
its display mode accordingly.
Exceptions: Exception 1 in step 3:
If the application fails to retrieve data from the server, an
error message will be displayed instead, user return to step
1.

Multi-disciplinary Project (CO3087) – 2021 Page 7/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Use Case ID: 3


Use Case Name: Remove study sessions
Last Updated
Create By: Nguyễn Khắc Hào Nguyễn Khắc Hào
By:
Date Last
Date Created: 8/6/2021 23/6/2021
Updated:
Actors: User
Description: Remove upcoming study events from the schedule
Preconditions: The user is logged in the application and has at least one
study event scheduled in the future.
Normal Flow: 1. The user opens the application and selects "Show my
schedule" from the home screen or "Schedule" from the
side menu.
2. The application requests and retrieves from the server all
upcoming study events within a time frame.
3. The application display a schedule (timeline) view, along
with a list of upcoming schedule within a time frame.
4. The user selects a study event in the list to see more
detailed information about that event.
5. The application displays more information about the se-
lected event, with an option to remove that event.
6. The user selects "Remove this event" option.
7. The application sends a request to the server to remove
the event from the database.
8. The application returns to Schedule screen and displays
an updated schedule.
Alternative Flow: Alternative 1 in step 4:
The user selects the return button and returns to the Sched-
ule screen without removing the event.
Exceptions: Exception 1 in step 8:
If the application fails to communicate with the server, it
will return to the Schedule screen and display the previously
loaded schedule instead.

Multi-disciplinary Project (CO3087) – 2021 Page 8/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Figure 2: Activity diagram of Manage study schedule

Multi-disciplinary Project (CO3087) – 2021 Page 9/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

4.2 Notify study time/ break time


Use Case ID: 4
Use Case Name: Notify at scheduled session time
Last Updated
Create By: Trần Quốc Anh Trần Quốc Anh
By:
Date Last
Date Created: 8/4/2021 23/6/2021
Updated:
Actors: User
Description: Send notification with a given study session and when the
break time begin/end.
Preconditions: User has logged in the application.
Normal Flow: 1. The devices get data about study session time and end
time from database.
2. The application will set notification based on scheduled
time received.
3. At the start time of study session, notifications will ap-
pear with sound and vibration.
4. At the end time of the study session, notifications will
also appear.
Alternative Flow: Alternative 1 in step 3:
If presence switch in setting is turned on, after start time
of each session 5 minutes, the application will get latest
data from server to check the presence of user, if the user is
not sitting in front of table, a notification will appear, else
nothing happen.
Alternative 2 in step 3:
If break switch in settings is turned on, after start time
of each session 45 minutes (in the final demo it will be
modified to 30 seconds), a notification will appear to remind
about break time.

Multi-disciplinary Project (CO3087) – 2021 Page 10/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Check study time


Receive request
request

True
Time in schedule

Send notification Start study session

False
End study session

Send notification Start break session

End break session

Figure 3: Activity diagram of Notify at scheduled session time

Multi-disciplinary Project (CO3087) – 2021 Page 11/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

4.3 Detect student’s presence

Use Case ID: 5


Use Case Name: Detect student’s presence
Last Updated
Create By: Nguyễn Lâm Nguyên Bảo Nguyễn Lâm Nguyên Bảo
By:
Date Last
Date Created: 8/4/2021 20/6/2021
Updated:
Actors: Infrared Sensor (Hardware Device)
Description: Check if student is at the study place at specified time
Preconditions: 1. User has already set up the timetable on the device.
2. The setting for this function is enabled.
Normal Flow: 1. The system periodically checks for upcoming study ses-
sions.
2. If there is a session about to start, the app will establish
a connection to the infrared sensor.
3. The infrared sensors checks if the student is present at
the study space by the time the session starts.
4. If the sensors return 0, meaning the student was not de-
tected, the app will send a notification.
5. When the student is detected, no notification will be sent
and the system continues the normal operation flow.
Exceptions: Exception in step 3:
- If fail to establish a connect to the sensor after a certain
number of times, the flow cannot continues.

Multi-disciplinary Project (CO3087) – 2021 Page 12/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Check study
time

Time in False
schedule?

True

Check for
student

True Student False


present?

Check remaining
wait time

Start study
Send notification
session
No time False
left?

True

Send notification

Figure 4: Activity diagram of Detect student’s presence

Multi-disciplinary Project (CO3087) – 2021 Page 13/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

4.4 Evaluate real-time studying condition


Use Case ID: 6
Use Case Name: Evaluate real-time studying condition
Last Updated
Create By: Đặng Trần Khánh Đặng Trần Khánh
By:
Date Last
Date Created: 5/6/2021 23/4/2021
Updated:
User story: As a student preparing for the exam, I want the most ideal
learning environment that minimizes the chance of encoun-
tering distracting factors such as noise so I can learn more
productively
Actors: Hardware devices
Description: Evaluate the study environment by collecting the data mea-
sured by the sensors, give warning accordingly if the condi-
tion is not suitable for the best experience.
Preconditions: Users are using the application and is verified as learning
in the study space (using infrared sensor to detect objects).
All the sensors are functional.
Normal Flow: 1. The devices(light sensor, sound sensor, heat sensor) col-
lect the data from the environment.
2. The data are sent to the server and processed, compared
to benchmark
3. Users opens section sensor in the menu to access the
available sensors being used.
4. Users can select any of the sensors to view detailed data
and manually adjust the settings according to their prefer-
ence.
5. If the data violate the condition, the application sends
notification to output devices
6. Output devices (LCD, buzzer) receive signal from the
application and notify the user
Alternative Flow: Alternative 1 in step 4:
- Users can open the predefined list of values and their
indications, they can select value according to this list.
Alternative 2 in step 4:
- Users can choose to switch off any sensors.
Alternative 1 in step 6:
-If the data are within allowed range, the system will stay
idle.
Exceptions Exception in step 2:
- The sensors fail to connect to the application and send
the data, connection warning will be raised.
- The result must be displayed in real time, raise warning
if the execution time exceeds 1 second.

Multi-disciplinary Project (CO3087) – 2021 Page 14/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

User starts learning


session
SensorNotWorking
Exception

Raise exception
Collect data from
environments

Fetch data from


server

[Data received not


in real time]

[Data received in
real time]

Display data to Data are compared to


application benchmark

[Data exceeds
threshold]
Raise warning

[Data within
threshold]

[Exit ]

[User chooses a
sensor section]

Display detailed
settings for the
sensor

[User chooses settings according


to recommended lists]

[User adjusts Display


settings manually] recommended values
and their description

Apply settings to the


application and send
request to server

[User toggles
sensor]

Send disable request


of sensor to server
[Exit ]

Figure 5: Activity diagram of Evaluate real-time studying condition

Multi-disciplinary Project (CO3087) – 2021 Page 15/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

4.5 Show study performance


Use Case ID: 7
Use Case Name: Show study performance
Last Updated
Create By: Nguyễn Hoàng Dũng Nguyễn Hoàng Dũng
By:
Date Last
Date Created: 8/4/2021 8/6/2021
Updated:
Actors: Users
Description: Display the study status in one/all study session(s).
Preconditions: User has logged in the application.
Normal Flow: 1. User opens the application and select "Summary".
2. The application shows the study score of last study ses-
sions.
3. User choose a displayed study session to see the full de-
tail.
4. The application shows the detail.
5. User chooses 1 factor (light, noise, temperature) to know
the full detail.
6. The application shows the status of the factor in the spe-
cific study sessions (graph and advice).
7. User exit the ’Session’ screen or navigate to other screen.
Alternative Flow: Alternative 1 in step 2:
- If there is a recently studied session that have not had the
performance score, the system will evaluate the score from
recorded sensor data and store it in the database.
Alternative 1 in step 3:
- User can refresh the session screen if there is a newly up-
dated session.
Alternative 2 in step 3:
- User can modify number of displaying study session on
the screen.
Alternative 3 in step 3:
- User can sort the displaying study session by categories
(performance score, session name, time, number of bad con-
ditions).
Alternative 1 in step 7:
- User can tap on the Question button to see why the sys-
tem gave that performance score.
Exceptions: Exception in step 2:
- When there is no session set by the user completed, move
to step 7.
Exception in step 4:
- When there is no recorded sensor data, the graph and
statistic results will be unavailable, move to step 7.

Multi-disciplinary Project (CO3087) – 2021 Page 16/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Figure 6: Activity diagram of Show study performance

Multi-disciplinary Project (CO3087) – 2021 Page 17/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

5 Use-case Diagram
There are 2 use-cases (Show current sensor data and Login/Logout/Signup) that are not
mentioned in the use-case detail because of its simplicity.

Smart Study System

s>> Schedule new study


tend
<<ex events
Manage study
schedule <<ex
tend
s>>
Remove study events
<<e
xte
nds
>>

Remove study events


Show study
performance
User

Show current
sensor data

Login/Logout/Signup

Notify at scheduled
<<extends>>
time

Notify at scheduled
session time
<<extends>>
Notify at break time

Detect student's <<extends>>


Notify absence
presence

Hardware Devices

Evaluate real-time studying <<extends>> Notify bad learning


environment condition

Figure 7: Use case diagram

Multi-disciplinary Project (CO3087) – 2021 Page 18/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

6 Mockup
6.1 Welcome, authentication page
The images below are the welcome page when users first open the app, the sign up and log
in pages for authentication.

Figure 8: Welcome, Sign up and Log in page

Multi-disciplinary Project (CO3087) – 2021 Page 19/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

6.2 Homepage and Navigation

Figure 9: Home Screen and Menu Screen.

Multi-disciplinary Project (CO3087) – 2021 Page 20/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

6.3 Notify at scheduled session time

Study/end notifications
show up at scheduled
time

Other study-related
notifications appear

Figure 10: Notifications show up at scheduled time.

Multi-disciplinary Project (CO3087) – 2021 Page 21/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Turn on/off for


scheduled study
time notification

Turn on/off for detect


the presence of user
during study time

Turn on/off for


break time
notification

Turn on/off for


study condition
notifications

Figure 11: Notification settings screen

Multi-disciplinary Project (CO3087) – 2021 Page 22/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

6.4 Show study performance


• While the application is receiving data, the list view will display a text ’Loading...’ with a
note in case there is a sessions that have just finished and have not processed its score, it
would take a bit more time to load the schedules.
• The same cases for "Loading..." text in detailed schedule screen while loading sensor data.

• The color of score circle may have either 4 types: green (when score > 90, updated from
the mock up where needs score = 100), yellow (90 > score > 70), red (70 > score > 0),
grey (score = 0 or no recorded data received).

Figure 12: Main screen of study summary for showing study performance

Multi-disciplinary Project (CO3087) – 2021 Page 23/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Figure 13: One study session summary

Multi-disciplinary Project (CO3087) – 2021 Page 24/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Figure 14: Detail in a session

Multi-disciplinary Project (CO3087) – 2021 Page 25/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

6.5 Schedule management

Figure 15: Schedule review screens

Multi-disciplinary Project (CO3087) – 2021 Page 26/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Figure 16: Schedule’s Add Event and Event Detail screens

Multi-disciplinary Project (CO3087) – 2021 Page 27/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

6.6 Evaluate real-time studying condition


Regarding studying condition, we have 3 different sensors for 3 tasks:
• Lighting sensor to give user the measure of intensity of light within the study area, raise
warning if it’s too dark.

• Sound sensor to measure the sound level, raise warning if the environment exceeds accept-
able noise threshold.
• Temperature to measure the room temperature, raise warning if the room temperature
may yield uncomfortable learning experience.

Figure 17: The three sensors for measuring study environments

Multi-disciplinary Project (CO3087) – 2021 Page 28/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Tapping on one of the available sensors will lead users to this screen where they can toggle
the sensors if they do not wish to be disturbed by it, manually set the range to their preference
or view the list of values and their indications (for example: 130db to indicate the sound level
surpass the threshold of pain -> unsuitable for learning)

Figure 18: Settings for each sensor

Multi-disciplinary Project (CO3087) – 2021 Page 29/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

7 Class diagram
7.1 Clarification
The figure of class diagram is shown in Figure 19. However, it may be difficult to observe in
this document, readers should get on this link for .drawio file or this link for .jpg file.

The whole project is divided into 3+1 blocks as can be seen from the class diagram.

• The Controllers block, whose classes shown with blue headers (except for SensorEvalua-
tion as a enumeration), is responsible for taking the requests from view block and do the
appropriate operations. Most of the business logic in defined here, especially the logic to
get query/information from the servers (e.g., when the user asks for showing all the up-
coming session, it will call the SessionController to handle this. The SessionController will
establish a connection to SQLServer to do a query, then fetch the result into JSON format,
the result will be convert into a Session object that will need to display on the view).
• The Model block, whose classes shown with red headers, stored necessary information and
generate suitable format for showing on the views. It can only be created by classes in the
Controller block.

• The View block, whose classes shown with yellow headers, and the block is divided into
smaller blocks to define members’ work as well as get more convenience while walking
through the use-case. It provides the interface for user and call the appropriate controllers
every time user has a request.
• The 2 classes with purple headers are servers, these are not implemented in the application
itself but in external web servers.
The actual implementation may appear minor difference from this to suit certain desires and
frameworks.

7.2 Class diagram

Multi-disciplinary Project (CO3087) – 2021 Page 30/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

Figure 19: Class diagram

Multi-disciplinary Project (CO3087) – 2021 Page 31/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

8 Deployment View

Figure 20: Deployment diagram

Multi-disciplinary Project (CO3087) – 2021 Page 32/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

9 Database Design
9.1 Entity-Relationship Diagram (ER diagram)

password dob

username

id

1
fname User

lname assigns

date

title
unit

M
id start_time
M 1
Sensor records Session

name
end_time

timestamp d
id status

SoundSensor TempSensor LightSensor

sound_data temper_data light_data

Figure 21: ER diagram

Multi-disciplinary Project (CO3087) – 2021 Page 33/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

9.2 Relation Schema

USER

id username password fname lname dob

SESSION

id user_id title start_time end_time date status

SENSOR

id name unit type data timestamp session_id

S/T/TH

Figure 22: Relation schema

10 Conclusion and Development Strategies


10.1 Summary
Here are the things that we have achieved in this project:
• Successfully organizing an application to be the connection between hardware devices (i.e.,
sensors) and user for the aim to raise awareness of improving environmental conditions
around user’s study space to study more efficient.
• Walking through the process of Software Engineering once again after the project from
Practice on Software Engineering last year.
• Applying the knowledge of Database System to manage business data.

• Gaining skills of frameworks: Flutter, MySQL, Firebase, MQTT, Flask (Python), etc.
• Teamwork skills.

Multi-disciplinary Project (CO3087) – 2021 Page 34/35


Ho Chi Minh City University of Technology
Falcuty of Computer Science and Engineering

10.2 Self-evaluation
The team with 5 members have made great contributions to the project. Accordingly,
• Trần Quốc Anh: Work with MQTT server, develop the use-case of notifying study
start/end time, break time and detect student’s presence, organize a web server as a service.

• Nguyễn Lâm Nguyên Bảo: Improve the relation schema, develop the MySQL server,
work with controllers.
• Nguyễn Hoàng Dũng: Improve UI/UX, develop the use-case of show study performance,
take some work at servers (MySQL, MQTT/AdaFruit), improve class diagram, complete
the report and related documents.

• Nguyễn Khắc Hào: Develop the use-case of managing study schedule, improve UI, im-
prove the relation schema.
• Đặng Trần Khánh: Develop the use-case of evaluate real-time studying condition, work
most with MQTT/Adafruit server, organize a web server as a service, improve deployment
view.

10.3 Development Strategies


From the thought that we have not fully developed, here are the potential suggestions for
development in the future whenever there is a chance to continue the project:

• Provide a platform to consult user the best equipment to buy for their study space from
their room specification and user’s preferred style. If success, the application will be a
connection for user and equipment’s seller and be considered as in commercial use.
• The application will separate user roles to be Student Mode and Parent Mode. The noti-
fications will be raised for appropriate user in a particular mode. Parent can observe the
study status of their child.
• Integrate the quiz system that allows users to test themselves when the need arises with
numerous tests from different subjects.
• Suggest study space design according to users’ preference, personalities to further enhance
the learning experience.

Multi-disciplinary Project (CO3087) – 2021 Page 35/35

You might also like