VIETNAM 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 TRẦN MINH NGUYỆT – 22520992 HỒ CHÍ MINH CITY, 2024 ACKNOWLEDGEMENT After the process of studying and training at the Faculty of Software Engineering, University of Information Technology – Vietnam National University, Ho Chi Minh City, we have been equipped with fundamental knowledge and practical skills to successfully complete our Project 1. To complete this project, we would like to express our deepest gratitude to Mr. Lê Thanh Trọng for his dedicated guidance, insightful directions on scientific thinking, and work methods.
As this is our initial step in approaching new technologies, our group inevitably 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 better prepare 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 COMMENTS FROM THE SUPERVISING LECTURER TPHCM, month … day … year GVHD ThS.
Lê Thanh Trọng TABLE OF CONTENTS ACKNOWLEDGEMENT. COMMENTS FROM THE SUPERVISING LECTURER. Reason for choosing the topic. BUSINESS PROCESS ANALYSIS.
SOFTWARE REQUIREMENTS SPECIFICATIONS (SRS). Login Use case. Register Use case. Reset password Use case.
Update account Use case. Add new plan Use case. Update plan Use case. Delete plan Use case.
Check plan’s progress Use case. Add task Use case. Update task Use case. Delete task Use case.
Add subject Use case. Update subject Use case. Delete subject Use case. Add document Use case.
Delete document Use case. Update document Use case. ● Study session management. Change settings Use case.
Add music Use case. Set strict mode Use case. Create study session Use case. Statistic Use case.
Add new team Use case. Update team Use case. Delete team Use case. ● Team member management.
Add team member Use case. Update team member role Use case. Delete member Use case. Details of each component.
Table Plan_User. Table User_Team. Table Plan_Team. Table Team_Subject.
4 *SCREEN LIST DETAILS. Screen: Forgot password. Screen: Reset password. Screen: Main screen (Me).
Screen: Add Plan (Me). Screen: Plan detail (Me). Screen: Setting box (Me). Screen: Missed plans.
Screen: Create a team. Screen: Search member. Screen: Add Plan (team). Screen: Edit Plan.
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.
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.
With the "Self-Study Support Application," users will experience a flexible and proactive learning environment that meets the growing demands of self-study and personal development. General requirements: The software needs to meet the basic requirements of a note- taking application, such as: ● Creating and managing notes ● Scheduling ● 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.
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). 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 2 ● ORM: Hibernate 5. Development Environment Android Studio Iguana 2023.1, Visual Studio Code 6.io ● Figma III. BUSINESS PROCESS ANALYSIS ● 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.
Programming Implementation of Functions: Implement the system's functions based on the approved design. This step includes writing code and developing the software's functionality, ensuring that it meets all user requirements. Functions to be programmed include: ● User management ● Study plan management ● Study group management ● Study resource management ● Notifications ● Study session management ● Weekly study time statistics Functional Testing: Check whether the software functions operate as designed. Performance Testing: Verify whether the software meets performance requirements.
Security Testing: Ensure the software is safe and secure. 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. SOFTWARE REQUIREMENTS SPECIFICATIONS (SRS) 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 the use of clear icons, labels, and text. ● Consistency: The external interface must be consistent; interface components should have the same style and layout. This will help 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 be accomplished through clear menus and toolbars, as well as search and help functions. Functional Requirements 4 5 ● 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 6 Process Output 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 7 Output 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 and the 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. 8 Process Output 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. Update account Use case Name Update user information Actor User Trigger The user clicks on the avatar.
Pre-condition User has logged into the system Description Change username, avatar 9 Process Output Username/avatar avatar changed ● Plan management 1. Add new plan Use case Name Add plan Actor User 10 Trigger 1. User clicks on a specific date on calendar 2. User clicks on “Add a plan” button Pre- User has logged into the system condition Descriptio Add study plan to calendar n Process Output The system displays the newly added plan in the calendar.
Rules: Number Rule ID Description 1 R07 The plan must have at least 1 task. 2 R08 The plan name cannot be left blank. Update plan Use case Name Edit plan Actor User Trigger 1. User clicks on a specific date on calendar, selects a plan to edit 2.
User clicks on the edit icon. Pre- Already has a plan condition 11 Descriptio Edit an existing study plan in the calendar n Process Output The system displays the edited plan in the calendar. Rules: Number Rule ID Description 1 R09 The new plan name cannot be left blank. Delete plan Use case Name Delete plan Actor User Trigger 1.
User select the plan to delete 2. User clicks the delete icon Pre- Plan is created condition Descriptio Delete a plan n 12 Process Output Delete plan successfully / failed 4.