Login Use case Name Login Actor User Trigger Click on the Login button on the Login page Pre-condition The account is listed in the account database Description Allow user to login to th
Trang 1VIETNAM NATIONAL UNIVERSITY UNIVERSITY OF INFORMATION TECHNOLOGY
SOFTWARE ENGINEERING
PROJECT 1 REPORT APPLICATION TO SUPPORT STUDENTS IN
SELF-STUDY
INSTRUCTOR GUIDES THS LÊ THANH TRỌNG
STUDENT NGUYỄN MAI KHANH - 22520644
Trang 2inevitably faced various shortcomings in terms of knowledge and practical experience The constructive feedback and heartfelt suggestions from him have been invaluable, not only during the project implementation but also as a foundation for our future learning and professional endeavors.
Throughout the implementation process, our group has independently explored new technologies and combined them with foundational knowledge acquired during our studies and research to carry out this project Due to limited time and a lack of
experience in product development, the final project product may contain some
shortcomings We sincerely hope to receive valuable feedback from you to refine and improve the product, enhance our knowledge, and ensure that future projects are more polished and complete Additionally, we aim to accumulate valuable experience to betterprepare ourselves for real-world tasks in the future
Lastly, we would like to wish you and all the faculty members at the University of Information Technology abundant health and unwavering dedication to continue
imparting knowledge to students
Student Nguyễn Mai Khanh Trần Minh Nguyệt
Trang 3COMMENTS FROM THE SUPERVISING LECTURER
TPHCM, month … day … year 2024
Trang 4TABLE OF CONTENTS
ACKNOWLEDGEMENT
COMMENTS FROM THE SUPERVISING LECTURER
I INTRODUCTION
1 Reason for choosing the topic
2 Introduce software
II OVERVIEW
1 General requirements:
2 Software Function
3 Users
4 Technologies Used
5 Development Environment
6 Tools
III BUSINESS PROCESS ANALYSIS
1 Programming
2 Maintenance
IV SOFTWARE REQUIREMENTS SPECIFICATIONS (SRS)
1 External Interface
2 Functional Requirements
● User management
1 Login Use case
2 Register Use case
3 Reset password Use case
4 Update account Use case
● Plan management
1 Add new plan Use case
2 Update plan Use case
3 Delete plan Use case
4 Check plan’s progress Use case
● Task management
1 Add task Use case
2 Update task Use case
3 Delete task Use case
● Subject management
1 Add subject Use case
2 Update subject Use case
Trang 53 Delete subject Use case
● Document management
1 Add document Use case
2 Delete document Use case
3 Update document Use case
● Study session management
1 Change settings Use case
2 Add music Use case
3 Set strict mode Use case
4 Create study session Use case
● Statistics management
1 Statistic Use case
● Team management
1 Add new team Use case
2 Update team Use case
3 Delete team Use case
● Team member management
1 Add team member Use case
2 Update team member role Use case
3 Delete member Use case
V ARCHITECT DESIGN 38
1 System Architect
2 Details of each component
VI CLASS DIAGRAM (ANALYSIS LEVEL) 40
1 Table User
2 Table Plan
3 Table Plan_User
4 Table Task
5 Table Subject
6 Table Document
7 Table StudySession
8 Table StudySessionDetails
9 Table Notification
Trang 61 Screen: Login
2 Screen: Forgot password
3 Screen: Verification
4 Screen: Reset password
5 Screen: Main screen (Me)
6 Screen: Add Plan (Me)
7 Screen: Plan detail (Me)
8 Screen: Session (Me)
9 Screen: Setting box (Me)
10 Statistic Screen: (Me)
11 Screen: Missed plans
12 Screen: Notification
13 Screen: Plans( team)
14 Screen: Team
15 Screen: Create a team
16 Screen: Search member
17 Screen: Document
18 Screen: Add Plan (team)
19 Screen: Edit Plan
20 Screen: Manager
21 Screen: Profile
VIII CONCLUSION 70
1 Results Achieved
2 Advantages
3 Challenges
4 Strengths
5 Weaknesses
6 Development Directions
REFERENCES 72
Trang 7I INTRODUCTION
1 Reason for choosing the topic
The topic was chosen to meet the growing demand for proactive
and flexible learning methods in the digital age With the rise of the
internet and mobile devices, students can study anytime, anywhere
However, the lack of effective tools often makes it difficult for many
students to organize and manage their knowledge Therefore,
developing an application to support self-study not only helps students
grasp knowledge more effectively but also optimizes their personal
learning process, fostering better self-management and time
management skills
2 Introduce software
“Self-Study Support Application" is a solution for individuals
or groups who need to study independently It helps them effectively
manage resources and study progress, thereby enhancing each
individual's learning performance
The application offers a range of useful features to support effective
self-study, including:
- Study Plan Management: This feature allows users to create and
track their study plans easily Users can set learning goals, divide
tasks, and view progress clearly and intuitively
- Group Study Management: This feature supports users in creating
and managing study groups Users can share documents, discuss, and
collaborate on group assignments, enhancing collaboration and
communication in learning
- Event Reminders: The notification feature will remind users of
deadlines and important events in their study schedule This helps
ensure that users do not miss any critical tasks and manage their time
more effectively
- Study Session Management: This feature allows users to plan and
track their sessions Users can set specific study times, monitor study
duration, and evaluate the effectiveness of each session, thus
improving time management skills
- Weekly Study Time Report: This feature provides reports and charts
on users' study time every week This helps users identify their study
habits and adjust their study plans for optimal effectiveness
Trang 8● Storing study materials
● Managing task statuses
The software should have a user-friendly interface that is easy to use,
meets users' needs, and helps all users work efficiently
The software needs to be scalable to meet future development needs
The implementation cost should be affordable
2 Software Function
● User Management: Manage account information, including account
name, username, and password
● Study Plan Management: Add, delete, and edit study tasks Take notes
on study content
● Study Group Management: Create study groups (edit group
information), and add and remove group members Assign study tasks
to group members and set deadlines for study tasks Provide storage
space for group materials
● Study Resource Management: Add, delete, and edit study materials in
personal storage space, and categorize materials by specific subjects
● Notifications: Notify when a deadline is approaching, and notify when
a study session is completed Remind users of overdue tasks with two
options: either keep and adjust the deadline or delete the task
● Study Session Management: Manage time for a study session, set the
number of phases in a session, set study time for each phase, and set
break times between phases
● Study Time Statistics: Provide statistics on study time for each subject
weekly, along with the completion rate of assigned tasks (individual)
3 Users
● System administrators
● Individuals who need self-study
● Groups that need to organize and manage group study plans
4 Technologies Used
● Front End: React Native
● Back End: Node.js, Java
● Database: postgreSQL
Trang 9● Software Design: Proceed with the software design, ensuring flexibility
and easy maintenance The architecture of the software should be
designed to allow for easy scalability and upgrades in the future The
user interface should be designed to be user-friendly and intuitive
● System Design: Create an overview of the system, including
components, functions, and how the system operates
● User Interface Design: Design the interface for users to interact with the
software, including screens, forms, etc
● Database Design: Structure the database, including tables and the
relationships between them
● Study plan management
● Study group management
● Study resource management
● Notifications
● Study session management
Trang 102 Maintenance
Error Resolution: Address any issues that arise during the use of
the software to ensure stability and meet customer needs Update the
software as required
Maintenance Activities:
● Fix any arising errors
● Improve and upgrade the software
1 External Interface
The external interface of the software is where users interact with the
application A simple and user-friendly interface will help users utilize
the software effectively and quickly
Requirements for the external interface:
● Clarity: The external interface must be clear, allowing users to
easily understand how to use it This can be achieved through theuse of clear icons, labels, and text
● Consistency: The external interface must be consistent; interface
components should have the same style and layout This willhelp users learn how to use the interface more easily.
● User-friendliness: The external interface must be user-friendly,
enabling users to easily find what they need This can beaccomplished through clear menus and toolbars, as well assearch and help functions
2 Functional Requirements
Trang 12● User management
1 Login Use case
Name Login
Actor User
Trigger Click on the Login button on the Login page
Pre-condition The account is listed in the account database
Description Allow user to login to the system
Trang 13Output Login successful / failed
2 Register Use case
Name Register
Actor User
Trigger The user clicks on the Register button on the Login page
Pre-condition Must have an email
Description Allow user to register to use the system
Process
Trang 14Output Registration successful / failed
Rules:
Number Rule ID Description
1 R01 Account name accepts Unicode, up to 15 characters, and
cannot be empty
2 R02 Password must not contain special characters, with a minimum
of 6 characters and a maximum of 15 characters
3 R03 The provided email must be in the correct format and must be
registered
Email format:
1) A valid email contains a Local-Part and a Domain name. 2) The "@" character is positioned between the Local-Part andthe Domain name
3) There must be at least one dot
4) The email may contain a dot with a subdomain in the domain
4 R04 The timeout period is 2 minutes
3 Reset password Use case
Name Reset password
Actor User
Trigger Click on the Forget Password button on the Login page.
Pre-condition Already have an account
Description Create a new password when forgetting the password
Trang 15Output The password is updated successfully / failed
Rules:
Number Rule ID Description
1 R05 The timeout period is 2 minutes
2 R06 The new password must not contain special characters, and it
must be at least 6 characters long and a maximum of 15 characters
4 Update account Use case
Name Update user information
Actor User
Trigger The user clicks on the avatar
Trang 16Output Username/avatar avatar changed
● Plan management
1 Add new plan Use case
Name Add plan
Actor User
Trang 17Trigger 1 User clicks on a specific date on calendar
2 User clicks on “Add a plan” buttonPre-
condition User has logged into the system
Number Rule ID Description
1 R07 The plan must have at least 1 task
2 R08 The plan name cannot be left blank
2 Update plan Use case
Name Edit plan
Trang 18Number Rule ID Description
1 R09 The new plan name cannot be left blank
3 Delete plan Use case
Name Delete plan
Actor User
Trigger 1 User select the plan to delete
2 User clicks the delete iconPre-
condition
Plan is createdDescriptio
n Delete a plan
Trang 19Output Delete plan successfully / failed
4 Check plan’s progress Use case
Name Check the progress plan
Actor User
Trigger The user selects the Plan module
Pre-condition
The task has been assigned
Description Check if the plan has been completed
Trang 20Output Plan’s progress
Trang 21● Task management
1 Add task Use case
Name Add task
Actor User
Trigger 1 User select the plan to add task
2 User clicks on + buttonPre-condition Plan is created
Description Add task
Trang 22Output The task has been added to the selected learning plan
Rules
Number Rule ID Description
1 R10 Task name cannot be left blank
2 Update task Use case
Name Edit task
Actor User
Trigger User clicks on “Calendar” to select the plan containing the task that need
to be editedPre-
condition There is already a task to be edited
Descriptio
n
Change task information
Trang 231 R11 Task name mustn't be empty.
3 Delete task Use case
Name Delete task
n Delete task
Trang 24Output Delete successful/fail
● Subject management
1 Add subject Use case
Name Add subject
Actor User
Trang 25Trigger Users click on Documents module
Output A subject has been added
2 Update subject Use case
Name Update subject
Actor User
Trigger 1 Users click on Documents
2 User clicks on the
Trang 26Output Subject name/image changed successfully
3 Delete subject Use case
Name Delete subject
Actor User
Trigger 1 The user clicks on documents
2 User clicks on the
Trang 27Output Delete 1 subject/No
● Document management
1 Add document Use case
Name Add documents to the subject
Trang 28Output The document has been added successfully
2 Delete document Use case
Name Delete documents
Trang 29Output Delete documents/No
3 Update document Use case
Name Update document
Actor User
Trigger 1 Users click on Documents
2 User clicks on the
Pre-condition Document already exists
Description Edit document’s name
Trang 30Output Document’s name changed successfully
● Study session management
Trang 311 Change settings Use case
Name Change settings
Actor User
Trigger 1 The user clicks on study session
2 The user clicks on the settings iconPre-
condition The user is logged into the system
Description Change study session settings
Process
Output The settings of the study session is adjusted
2 Add music Use case
Name Add a music link for the session
Trang 32Process
Output Music has been added to the session
3 Set strict mode Use case
Name Set strict mode
Actor User
Trigger 1 The user clicks on study session
2 User selects Strict ModePre-
condition The user is logged into the system
Description Put yourself into focused study mode
Trang 33Output The phone is put into strict mode
4 Create study session Use case
Name Create a study session
Actor User
Trigger The user clicks on study session
Pre-condition The user is logged into the system
Description Create a study session
Trang 34Output Study session is created
● Statistics management
Trang 351 Statistic Use case
Name View statistics on class hours and completed plans for the
weekActor User
Trigger The user clicks on the statistics item
Pre-condition
The user is logged into the system
Description See statistics
Process
Output Show statistics
Trang 36● Team management
1 Add new team Use case
Name Create a new group
Actor User
Trigger 1 The user clicks on the Team
2 Users click on My teamPre-condition The user is logged into the system
Description Create a new team
Trang 37Output The team is created with the members just added
Rules:
Trang 38Name Edit team information
Actor User
Trigger 1 The user clicks on the Team
2 The user clicks team manager
3 The user clicks current team to select the team that wants to edit information
Pre-condition Team already exists
Description Edit group name/group photo information
Process
Output Group information has been fixed
3 Delete team Use case
Name Delete/Leave the team
Actor User
Trigger 1 Users click on Team
2 Users clicks on team manager
3 Users clicks current team to select the team that wants to delete/ Leave
Pre-condition
Team already existsDescription Delete team (user is the creator of the team) / Leave the team (User is a
Trang 39member )Process
Output Deleted team/ leaved team
Trang 40● Team member management
1 Add team member Use case
Name Add team members (User role is Admin)
Actor User
Trigger 1 The user clicks on the team
2 The user clicks Team manager
3 The user clicks current team to select the team they want to add members to
Pre-condition
User created group (or assigned as admin)Description Add team members