1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mobile app for providing basic mathematics formulas for high school students

244 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mobile App For Providing Basic Mathematics Formulas For High School Students
Tác giả Nguyễn Hoàng Anh, Đôn Huỳnh Minh Đức, Dương Gia Hòa, Đỗ Thiên Tứ
Người hướng dẫn Nguyễn Thế Hoàng
Trường học Fpt University
Chuyên ngành Capstone Project
Thể loại Capstone Project
Năm xuất bản 2018
Thành phố Ho Chi Minh City
Định dạng
Số trang 244
Dung lượng 9,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • TABLE OF CONTENTS

  • LIST OF FIGURES

  • Definitions, Acronyms, and Abbreviations

  • A. Introduction

    • 1. Project Information

    • 2. Introduction

    • 3. Current Situation

    • 4. Problem Definition

    • 5. Proposed Solution

      • 5.1. Feature functions

      • 5.2. Advantages and disadvantages

    • 6. Functional requirements

      • 6.1. Administrator’s components

      • 6.2. User’s components

      • 6.3. Handler’s components

    • 7. Role and responsibility

  • B. Software Project Management Plan

    • 1. Problem Definition

      • 1.1. Name of this Capstone project

      • 1.2. Problem Abstract

      • 1.3. Project Overview

        • 1.3.1 Current Situation

        • 1.3.2 The Proposed System

          • 1.3.2.1 Web Application

          • 1.3.2.2 Mobile Application

        • 1.3.3 Boundaries of the System

        • 1.3.4 Future Plans

        • 1.3.5 Development Environment

          • 1.3.5.1 Hardware requirements

          • 1.3.5.2 Software requirements

    • 2. Project Organization

      • 2.1. Software Process Model

      • 2.2. Roles and responsibilities

      • 2.3. Tools and Techniques

    • 3. Project Management Plan

      • 3.1. Project phases

      • 3.2. Product backlog

      • 3.3. All Meeting Minutes

    • 4. Coding convention

  • C. Software Requirement Specification

    • 1. User Requirement Specification

      • 1.1. User Requirement

      • 1.2. Admin Requirement

      • 1.3. Handler Requirement

    • 2. System Requirement Specification

      • 2.1. External Interface Requirement

        • 2.1.1 User Interface

        • 2.1.2 Hardware Interface

        • 2.1.3 Software Interface

        • 2.1.4 Communication Protocol

      • 2.2. System Overview Use case

      • 2.3. List of Use cases

        • 2.3.1 <User> Overview Use case

          • 2.3.1.1 <User> Get lesson detail

          • 2.3.1.2 <User> Get practice exercises

          • 2.3.1.3 < User > Get solutions

          • 2.3.1.4 < User > Search lesson

          • 2.3.1.5 < User> Add favorite lesson

          • 2.3.1.6 < User> Remove favorite lesson

          • 2.3.1.7 <User> Add Note

          • 2.3.1.8 <User> Edit Note

          • 2.3.1.9 <User> Delete Note

          • 2.3.1.10 <User> Do Quiz

          • 2.3.1.11 <User> Get chapter list

          • 2.3.1.12 <User> Reset chapter progress

          • 2.3.1.13 <User> Reset unfinished quiz

          • 2.3.1.14 <User> Select grade

        • 2.3.2 <Administrator> Overview Use Case

          • 2.3.2.1 <Administrator> Add chapter

          • 2.3.2.2 <Administrator> Edit chapter

          • 2.3.2.3 <Administrator> Delete chapter

          • 2.3.2.4 <Administrator> Add lesson

          • 2.3.2.5 <Administrator> Edit lesson

          • 2.3.2.6 <Administrator> Delete lesson

          • 2.3.2.7 <Administrator> Add solution

          • 2.3.2.8 <Administrator> Edit solution

          • 2.3.2.9 <Administrator> Delete solution

          • 2.3.2.10 <Administrator> Add exercise

          • 2.3.2.11 <Administrator> Edit exercise

          • 2.3.2.12 <Administrator> Delete exercise

          • 2.3.2.13 <Administrator> Add quiz question

          • 2.3.2.14 <Administrator> Edit quiz question

          • 2.3.2.15 <Administrator> Delete quiz question

          • 2.3.2.16 <Administrator> Release new version

        • 2.3.3 <Handler> Overview Use case

          • 2.3.3.1 <Handler> Check version

    • 3. Software System Attribute

      • 3.1. Usability

      • 3.2. Reliability

      • 3.3. Availability

      • 3.4. Security

      • 3.5. Maintainability

      • 3.6. Portability

      • 3.7. Performance

    • 4. Conceptual Diagram

  • D. Software Design Description

    • 1. Design Overview

    • 2. System Architectural Design

      • 2.1. Web Application Architecture Description

      • 2.2. Mobile Application Architecture Description

    • 3. Component Diagram

    • 4. Detail Description

      • 4.1. Class Diagram

      • 4.2. Class Diagram Explanation

        • 4.2.1 QuestionChoice

        • 4.2.2 Question

        • 4.2.3 Lesson

        • 4.2.4 Chapter

        • 4.2.5 Subject

        • 4.2.6 Grade

        • 4.2.7 Solution

        • 4.2.8 Exercise

        • 4.2.9 Version

        • 4.2.10 User

        • 4.2.11 DeleteQuery

    • 5. Interaction Diagram

      • 5.1. Web Application

        • 5.1.1 Login sequence diagram

        • 5.1.2 Add new chapter sequence diagram

        • 5.1.3 Update chapter sequence diagram

        • 5.1.4 Delete chapter sequence diagram

        • 5.1.5 Add new lesson sequence diagram

        • 5.1.6 Update lesson sequence diagram

        • 5.1.7 Delete lesson sequence diagram

        • 5.1.8 Add new solution sequence diagram

        • 5.1.9 Update solution sequence diagram

        • 5.1.10 Delete solution sequence diagram

        • 5.1.11 Add new exercise sequence diagram

        • 5.1.12 Update exercise sequence diagram

        • 5.1.13 Delete exercise sequence diagram

        • 5.1.14 Add new quiz question sequence diagram

        • 5.1.15 Update quiz question sequence diagram

        • 5.1.16 Delete quiz question sequence diagram

        • 5.1.17 Release new version sequence diagram

      • 5.2. Mobile Application

        • 5.2.1 Data loading progress

        • 5.2.2 Search lesson

        • 5.2.3 View lesson and solution detail

        • 5.2.4 Add favorite lesson activity diagram

        • 5.2.5 Remove favorite lesson

        • 5.2.6 Add user’s note

        • 5.2.7 Edit user’s note

        • 5.2.8 Delete user’s note

        • 5.2.9 Choose grade

        • 5.2.10 Do quiz

    • 6. Interface

      • 6.1. Admin Interface Design

        • 6.1.1 Login

        • 6.1.2 Manage Chapter

        • 6.1.3 Manage Lesson

        • 6.1.4 Add Lesson

        • 6.1.5 Manage Solution

        • 6.1.6 Manage Detail Solution

        • 6.1.7 New Exercise

        • 6.1.8 Manage Quizzes

        • 6.1.9 Quiz Detail

        • 6.1.10 New Quiz Question

        • 6.1.11 Manage Versions

        • 6.1.12 New Upgrade Version

      • 6.2. User Interface Design

        • 6.2.1 Check Version

        • 6.2.2 Choose Grade

        • 6.2.3 Chapter

        • 6.2.4 Lesson

        • 6.2.5 Quiz/ Practice questions

        • 6.2.6 Favorite

    • 7. Database Design

      • 7.1. Entity relationship diagram (ERD)

        • 7.1.1 Web Application Entity relationship diagram

        • 7.1.2 Mobile Application Entity relationship diagram

    • 8. Algorithms

      • 8.1. Update version algorithm

        • 8.1.1 Definition

        • 8.1.2 Define Problem

        • 8.1.3 Solution

        • 8.1.4 Flow chart

      • 8.2. Do quiz algorithm

        • 8.2.1 Definition

        • 8.2.2 Define Problem

        • 8.2.3 Solution

        • 8.2.4 Flow chart

  • E. System Implementation & Test

    • 1. Introduction

      • 1.1 Overview

      • 1.2 Test approach

    • 2. Database Relationship Diagram

      • 2.1 Physical model

      • 2.2 Data dictionary

    • 3. Technology, framework

      • 3.1. Website

      • 3.2. Mobile Application

    • 4. Test plan

      • 4.1. Features to be tested

        • 4.1.1 Website

        • 4.1.2 Mobile Application

      • 4.2. Features not to be tested

        • 4.2.1 Website

        • 4.2.2 Mobile Application

    • 5. System Testing Test Case

      • 5.1. Communication Diagram

        • 5.1.1 Web Application

        • 5.1.2 Mobile Application

      • 5.2. Test Case

        • 5.2.1 Website

          • 5.2.1.1 Create Object

          • 5.2.1.2. Delete Object

          • 5.2.1.3. Update Object

        • 5.2.2. Mobile Application

          • 5.2.2.1. Home Screen

          • 5.2.2.2. Search Screen

          • 5.2.2.3. Quiz Screen

          • 5.2.2.4. User’s Note Screen

  • F. Software User’s Manual

    • 1. Installation Guide

      • 1.1. Setting up environment at server side

      • 1.2. Deployment at server side

        • 1.2.1. Prepare deployment package

        • 1.2.2. Configure server

        • 1.2.3. Deploy web application

    • 2. User Guide

      • 2.1. Web Application

        • 2.1.1 Login

        • 2.1.2 Create Chapter

        • 2.1.3 Delete Chapter

        • 2.1.4 Edit Chapter

        • 2.1.5 Search Chapter

        • 2.1.6 Create Lesson

        • 2.1.7 Delete Lesson

        • 2.1.8 Edit Lesson

        • 2.1.9 Search Lesson

        • 2.1.10 Create Solution

        • 2.1.11 Edit Solution

        • 2.1.12 Delete Solution

        • 2.1.13 Create Exercise

        • 2.1.14 Edit Exercise

        • 2.1.15 Delete Exercise

        • 2.1.16 Create Quiz Question

        • 2.1.17 Edit Quiz Question

        • 2.1.18 Delete Quiz Question

        • 2.1.19 Search Quiz

        • 2.1.20 Upgrade Version

      • 2.2. Mobile Application

        • 2.2.1 View formulas

        • 2.2.2 Do quiz

        • 2.2.3 Search formula

        • 2.2.4 Add favorite formula

        • 2.2.5 View favorite formulas

        • 2.2.6 Delete favorite formulas

        • 2.2.7 Add new user’s note

        • 2.2.8 Delete user’s note

  • G. Appendix

    • 1. Spring

    • 2. UML

    • 3. SwipeRevelLayout

Nội dung

Introduction

Project Information

Introduction

In today's tech-savvy world, integrating technology into education has become more essential than ever To enhance math learning for high school students, we've developed an innovative Android application that allows users to store and access all essential math formulas directly on their smartphones Available in Vietnamese, this user-friendly app presents basic mathematical formulas with clear explanations and helpful visuals, making it easy for students to grasp complex concepts With this application, high school students can effortlessly find both simple and intricate formulas, streamlining their study process.

Current Situation

Mathematics is a crucial subject in today's education system, particularly for high school seniors who must master various formulas for their upcoming tests Students often gather information from diverse resources such as textbooks, notes, and online materials, frequently recording important formulas in their handbooks for effective study and review Furthermore, those preparing for university entrance exams need to consolidate three years' worth of knowledge to succeed.

Reliable sources are required as well as the time and effort that need to be put in.

Problem Definition

Below are the disadvantages of the current situation:

● Inconvenient to carry and keep a big number of books, notes and documents

● The lack of a reliable source for the formulas and the exercises

● Time consuming to search, summarize and categorize all the formulas and exercises

● Hard to study due to unorganized formulas

● Inconsistent information as books, notes and documents can be lost or damaged with time

Some information is written too long or in different languages.

Proposed Solution

We propose creating a mobile application called "Math Formulas" designed specifically for high school students This app aims to enhance their understanding of mathematical concepts, improve problem-solving abilities, and facilitate self-assessment through multiple-choice exams.

The system includes a web application (for admins) and a mobile app (for users) with following functions:

The web application offers comprehensive management tools for administrators, allowing them to efficiently create, edit, and delete chapters, lessons, solutions, exercises, and quizzes Additionally, administrators have the capability to release new versions of data, ensuring that the content remains up-to-date and relevant.

Discover our mobile app designed to enhance your math study experience by categorizing essential formulas in Geometry, Algebra, and Trigonometry, complete with illustrative examples for easier understanding Users can conveniently search for specific formulas and save their favorites for quick access, ensuring they have the most relevant information at hand Additionally, the app features a "Mathnote" function, allowing users to create personalized notebooks where they can add their own formulas and notes, making math study more tailored and effective.

The application enhances user convenience and efficiency by offering valuable tips and tricks for solving common math exercises With the "Math Formulas" feature, users can access quicker and more effective methods to tackle problems Additionally, each chapter includes multiple-choice assessments that provide instant feedback, allowing users to evaluate their knowledge and progress, and to plan their next steps in studying effectively.

The advantages of this platform include the ease of discovering math formulas without the need for books or an internet connection, making learning more accessible It enhances retention by providing examples alongside each formula, facilitating better understanding Users can also monitor their progress through multiple-choice examinations, allowing for effective self-assessment Additionally, improved communication between users and administrators through feedback mechanisms significantly enhances the overall user experience.

The application has several disadvantages, including its limited support for math formulas tailored only for high school students Additionally, it occupies a significant amount of memory since all data is stored in a local database for offline access Furthermore, the app is exclusively available for Android OS and features a Vietnamese user interface, which may restrict its usability for a wider audience.

Functional requirements

Function requirements of the system are listed as below:

● Manage data (lessons, solution, exercises, …)

● View lessons, solution, exercises by chapters

● Search for lessons by name

● Do quiz to check self-knowledge and studying progress

● Check for new version and data

Role and responsibility

No Full Name Role Position Contact

Hoàng Project Manager Supervisor hoangnt2@fpt.edu.vn

Anh Developer, Tester Leader anhnhse62165@fpt.edu.vn

3 Đõ Thiên Tứ Developer, Tester Member tudtse61817@fpt.edu.vn

4 Đôn Huỳnh Minh Đức Developer, Tester Member ducdhmse61568@fpt.edu.vn

5 Dương Gia Hòa Developer, Tester Member hoadgse61973@fpt.edu.vn

Software Project Management Plan

Problem Definition

● English: Mobile App for providing basic mathematics formulas for high school students

● Vietnamese: Sổ tay công thức toán học cho học sinh trung học phổ thông

● Abbreviation: MF (Math is Fun, Math Formulas)

Mathematics has been a fundamental subject since elementary school, but it becomes increasingly challenging with more complex formulas in high school Students often find it difficult to memorize and record these formulas, leading to frustration when they forget them As a result, they resort to sifting through textbooks and notebooks, which can be a redundant and ineffective study method.

- In addition, almost every student has smartphones since middle school, so we come up with an idea of making an application that provides basic mathematics formulas for them

Below are the problems encountered in this project:

● The scope of this project is not simple to determine Some formulas may affect the project The team has to decide formulas’ scope correctly

● Team members can have a conflict in meeting schedule because of sick or class and work schedule, etc

● Some team members are new to the techniques used in the project The team needs an amount of time to get familiar with those techniques

● Most of the way to solve Geometry math is from theorem, polygon’s properties, so it took more time to synthesize

● There are already some good formulas applications in the market

● Difficult to collect large amount of data and classify into groups

- The web application will have two subsystems: o A web service for responding mobile application’ requests o A web application for administrators In detail, the web application provides the following features:

▪ Administrators are able to manage math data They can add/edit/delete new formulas, lessons, chapters … to/from database

▪ Administrators are able to broadcast the latest database to the end-user mobile app

- Users can view formulas/lessons/exercises/solutions by chapters

- Users can create their own formula/note

- Users can track study progress

- Users can do quiz to check self-knowledge

1.3.3 Boundaries of the System 1.3.4 Future Plans

Develop the application around management processes to enable future enhancements using a pre-designed database Ensure data and statuses remain consistent, manage and extract information from files using established templates, and export data as Excel files for related systems in accordance with specified training process templates.

Internet Connection Cable, Wi-Fi (4 Mbps) Cable, Wi-Fi (8 Mbps)

Computer Processor Intel® Xeon ® 1.4GHz Intel® Xeon ® Quad Core

Computer Memory 2GB RAM 4GB or more

Table 2: Hardware Requirements for Server

Operating System Android 5.0 Lollipop Android 5.0 Lollipop or above Processor CPU dual core 1.4 GHz CPU Quad core 2.0 GHz

Computer Memory 1GB RAM 1GB RAM or more

Table 3: Hardware Requirement for Mobile

System Windows 10 Operating system for development

Environment Java EE 6, Android SDK

APIs level 21 or above Specification for developing web and mobile application Modeling tool StarUML 2.8.1 Tool for modeling web and mobile application diagrams IDE Eclipse Jee Oxygen,

Android Studio Programming tools DBMS

MySQL 5.7.21, MySQL Workbench 6.3.9 CE, SQLite

Used to create & manage the database for system

Source control Github Desktop 1.5.0 Used for source version control

Web browser Chrome 70 or above Testing browser

Project Organization

This project is developed using the Scrum model – part of an agile framework for Software development project Our team chooses the Scrum model because of the following reasons:

Our team consists of just four members, and we follow a vertical task assignment approach that encompasses all stages from design to coding, testing, and implementation For small to medium-sized projects, Scrum is the ideal model to ensure efficient workflow and collaboration.

● In the project, there are many new technologies that need to be learned With the Scrum model, the team can learn and develop in parallel to meet the deadline

● The product owner can change the requirement or extend scope The team will adapt to change better

● Team members always think about new ideas while doing other functions, so waterfall model cannot be applied here

Reference: http://www.techtammina.com/blog/software-development/how-is-software- application-development-process-executed-by-scrum-methodology/attachment/scrum- process-lifecycle-methodology/

The project is developed in Agile methodology, so the developing process has many iterations, each iteration includes several phases:

● Define Project Scope: Gathering and analyzing requirements from customer specify feasible functionalities of the project to reduce the risks/cost

● Design: Create project base structure depend on the requirements

● Construction: Implement, test & integrate system functionalities in sprint backlog This is the heart of Scrum model

● Release: Deliver complete system to the customer, training them how to use the system effectively

Maintenance: Ensure the system working stably, upgrade/fix the system if the customer needs

No Full name Role in Group Responsibilities

1 Nguyễn Thế Hoàng Project Manager ● Specify user requirement

● Give out technique and business analysis support

2 Nguyễn Hoàng Anh Team Leader,

3 Đỗ Thiên Tứ Team Member,

4 Đôn Huỳnh Minh Đức Team Member,

5 Dương Gia Hòa Team Member,

Project Management Plan

Phase Story Task ID Task

1.2 Introduction 1.3 Current situation 1.4 Problem definition 1.5 Proposed solution

1.6 Functional requirements 1.7 Role and responsibility

Software project management plan 2.1 Problem definition

2.3 Project management plan 2.4 Coding convention

2 Software requirement specification 3.1 User requirement specification

3.2 External interface requirement 3.3 System overview use case

3.5 Software system attribute 3.6 Conceptual diagram

3 Software design description 4.1 Design overview

Software design diagram 5.1 Component diagram

7.2 View chapters 7.3 View lessons 7.4 View solution 7.5 View exercises

Algorithms 10.1 Update version algorithm 10.2 Do quiz algorithm Software User’s Manual 11.1 Installation guide

ID Feature User story Sprint

1 Manage lesson As an administrator, I want to add/edit/delete/get lesson information in order to add new or modify/remove obsolete lesson, increase data accuracy and update

2 Manage chapter As an administrator, I want to add/edit/delete/get chapter information in order to add new or modify/remove obsolete chapter, increase data accuracy and update

As an administrator, I want to add/edit/delete/get solution information in order to help user easier to learn the lesson by many solutions

As an administrator, I want to add/edit/delete/get exercise information so that users can understand the lesson, forms more effectively

5 Manage quiz As an administrator, I want to add/edit/delete/get quiz information so that users can check their knowledge with tests

As a handler, it automatically updates new data every time user opens the application

As a user, I want to get summary knowledge of each lesson such as main theory, formulas, … to improve my knowledge

8 Select grade As a user, all math knowledge is classified into many grades in order to get data easier

9 Get solution As a user, a lesson with many solutions help so that I can learn math and remember formulas easier and faster

As a user, I want every lesson containing exercises classified by solution so that I can apply the lesson to real situation

11 Do quiz As a user, I want to do tests with instant review after learning lessons in order to check my knowledge

As a user, I want to track my studying progress in order to have suitable plan for learning math

13 Search lesson As a user, I want to search for lesson so that I can find the lesson without checking it in every chapter

14 Favorite lesson As a user, I want to add a lesson to my favorite list so that I can save important lessons and get them later without search for them again

15 Note As a user, I want to save my own formulas in order to remember it

Al meeting minutes are placed on Google drive Link below: https://drive.google.com/drive/folders/19wAGdjKzD9aVQif1y8pKGis o5wUseEGc?usp=drive_open

Coding convention

- File Names – Reference: http://www.oracle.com/technetwork/java/javase/documentation/cod econventions-137760.html

- Declarations – Reference: http://www.oracle.com/technetwork/java/javase/documentation/cod econventions-141270.html

- Statements – Reference: http://www.oracle.com/technetwork/java/javase/documentation/cod econventions-142311.html

- White Space – reference: http://www.oracle.com/technetwork/java/javase/documentation/cod econventions-141388.html

- Naming conventions – reference: http://www.oracle.com/technetwork/java/javase/documentation/cod econventions-135099.html

- Programming Practices – reference: http://www.oracle.com/technetwork/java/javase/documentation/cod econventions-137265.html

- Coding conventions - references: https://source.android.com/setup/contribute/code-style

Software Requirement Specification

User Requirement Specification

Math Formulas is an educational application designed for high school students, offering both basic and advanced math formulas along with essential knowledge Users can conveniently access information through organized classifications and summaries, and they can enhance their understanding by taking quizzes for self-assessment The app features two primary roles: Administrator and User, ensuring a structured experience for all.

Users are restricted from accessing system data; however, they can search for high school math knowledge, access detailed lessons and formulas, and obtain solutions or practice exercises related to various math types.

- Add, delete formulas to favorite list

- Add, edit, delete user’s notes

Administrators, who are logged-in users with the highest level of access, are responsible for managing system data, including chapters, lessons, formulas, tips, practice exercises, and quiz questions They also have the authority to determine the release schedule for new versions and to review user feedback regarding the system.

Administrators are able to do all the below functions:

- Manage quiz question and answers

Handler is a role that runs function in the background Handler can do the following functions:

- Check version and update data (mobile application)

System Requirement Specification

The user interface use English in Web application and Vietnamese in Mobile application

- Operating system: Windows 10, Android 5.0 Lollipop

- Environment: Java EE 8, Android SDK APIs level 21 or above

- IDE: Eclipse Oxygen.1a Release (4.7.1a), Android Studio 3.2.0, Visual Studio Code 1.29.1

- DBMS: MySQL 5.7.20, MySQL Workbench 6.3.9 CE

- Web browser: Chrome 70 or above

Use HTTP protocol 1.1 for communication between:

- Web application and web server

- Mobile application and web server

Figure 2: System overview Use Case Diagram

Figure 4: Get lesson detail Use Case Diagram

Use Case No User_01 Use Case Version 2.0

Use Case Name Get lesson detail

- This use case indicates that users can get details of specific lesson (such as formulas, theorems, …)

- Help user easily get summary knowledge classified by lesson

- User sends get lesson detail command

- Success: Screen contains lesson title and content displayed

Step Actor Action System Response

1 User sends get lesson detail command

Lesson detail screen is displayed, lesson content is displayed as HTML in web view:

- Math symbols will be displayed in Math Markup Language (MathML)

- Images are displayed whose source is base64 encoding

- Other contents displayed as HTML

1 The application cannot connect to database Show error message “Có lỗi xảy ra Vui lòng thử lại!” to user

Relationships: extend to Get Solutions (send get solutions command), extend to Add

Favorite Lesson (send add favorite lesson command), extend to Remove Favorite

Lesson (send remove favorite lesson command)

- User gets the lesson detail as HTML in web view

- Lesson detail is displayed with information: o Lesson title o Lesson content

Table 10: Get lesson detail Use Case Specification

Figure 5: Get practice exercise Use Case Diagram

Use Case No User_02 Use Case Version 2.0

Use Case Name Get practice exercises

- This use case indicates that users can get practice exercises of a lesson

- Help users apply theory and formulas in the lesson to practice exercises

- User sends get practice exercises command

- Solution must have at least one exercise

- Success: Practice exercises classified by group of forms will be displayed (if any)

Step Actor Action System Response

1 User sends get practice exercises command

Practice exercises are displayed as HTML in web view:

- Math symbols will be displayed in Math Markup Language (MathML)

- Images are displayed whose source is base64 encoding

- Other contents are displayed as HTML

Step Actor Action System Response

1 User sends get practice exercises command The lesson contains no solution

1 The application cannot connect to database Show error message “Có lỗi xảy ra Vui lòng thử lại!” to user

- User gets practice exercises as list classified by solution, the content is displayed as HTML in web view

- The lesson must have at least one exercise to be displayed

- An exercise is displayed with information: o Exercise topic o Exercise answer

Table 11: Get practice exercise Use Case Specification

Figure 6: Get solutions Use Case Diagram

Use Case No User_03 Use Case Version 2.0

Use Case Name Get solutions

- This use case indicates that users can get solutions of a lesson

- Help users solve some typical type of a lesson

- User sends get solution command

- The lesson must have at least one solution

- Success: All solutions of the lesson is displayed

Step Actor Action System Response

1 User sends get solutions command Lesson detail screen contains solutions , their content are displayed as HTML in web view:

- Math symbols will be displayed in Math Markup Language (MathML)

- Images are displayed whose source is base64 encoding

- Other contents displayed as HTML

Step Actor Action System Response

1 User sends get solutions command The lesson contains no solution

1 The application cannot connect to database Show error message “Có lỗi xảy ra Vui lòng thử lại!” to user

Relationships: Extend to Get Practice Exercises (send get practice exercises command)

- User gets the solutions as a list, the content is displayed as HTML in web view

- The lesson must have at least one solution to be displayed

- A solution is displayed with information: o Solution title o Solution content o Number of exercises of the solution

Table 12: Get solutions Use Case Specification

Figure 7: Search lesson Use Case Diagram

Use Case No User_04 Use Case Version 2.0

Use Case Name Search lesson

- This use case indicates that users can easily get the lesson they need by searching by lesson title

- Make it easier for users to find what they need without having to check in every single chapter

- User sends search lesson command

- Success: A list of search results will be displayed (if any)

Step Actor Action System Response

1 User sends get list of search results command “Kết quả tìm kiếm” screen contains all matched results as list displayed

Step Actor Action System Response

1 User sends get a result detail command “Kết quả tìm kiếm” screen with no result displayed

Step Actor Action System Response

1 User lets the search field empty and sends get list of results command

1 The application cannot connect to database Show error message “Có lỗi xảy ra Vui lòng thử lại!” to user

Relationships: extend to Get Lesson Detail (send get lesson detail command), extend to Add Favorite Lesson (send add favorite lesson command), extend to Remove

Favorite Lesson (send remove favorite lesson command), include Search By Lesson

- Search value must not be empty

When a user clicks the magnifier icon after entering a search term, the results will appear in a list format Conversely, if the user selects a lesson from the list, the details of the chosen lesson will be displayed on the screen.

Table 13: Search lesson Use Case Specification

Figure 8: Add favorite lesson Use Case Diagram

Use Case No User_05 Use Case Version 2.0

Use Case Name Search lesson

- This use case indicates that users can add a lesson to their favorite list

- Make it easier for users to save their necessary knowledge so they can watch it later without having to search again

- User sends add favorite lesson command

- The lesson must not be in favorite list

- Success: The lesson will be added to favorite list and display success message to user

Step Actor Action System Response

1 User sends add favorite lesson command - Heart icon color is changed

- A message announce that the lesson is added to favorite list successfully

1 The application cannot connect to database Show error message “Có lỗi xảy ra Vui lòng thử lại!” to user

- The lesson is not int the favorite list before user actions

- User adds lesson to favorite list

Table 14: Add favorite lesson Use Case Specification

Figure 9: Remove favorite lesson Use Case Diagram

Use Case No User_06 Use Case Version 2.0

- This use case indicates that users can remove a lesson from their favorite list

- Users may want to remove one from favorite list because they have finished the lesson and want to clean their list

- User sends remove favorite lesson command

- User must have at least one lesson in favorite list

- Success: The selected lesson will be removed from favorite list and display success message to user

Step Actor Action System Response

1 User sends remove favorite lesson command - The lesson will be disappeared from the favorite list

- A message announces that the lesson has been removed from favorite list successfully

1 The application cannot connect to database Show error message “Có lỗi xảy ra Vui lòng thử lại!” to user

- The lesson must be in the favorite list before user actions

- User can remove favorite lesson by many ways:

- Selects delete icon in favorite list screen

- Deselects heart icon of a lesson in chapter detail screen or lesson detail screen

Table 15: Remove favorite lesson Use Case Specification

Figure 10: Add note Use Case Diagram

Use Case No User_07 Use Case Version 2.0

Use Case Name Add note

- This use case indicates that users can add their own note

- Help users add notes of things they want to remember

- User sends add note command

- User’s device must connect to the Internet

- Success: User saved note successfully and success message is displayed

Step Actor Action System Response

1 User sends add note command

An input screen with keyboard appear for user to input the note they need, then they can click save after finished:

- Title field: free text input

2 User inputs all fields [Alternative 2]

3 User sends save new note command

A success message is displayed “Đã thêm ghi chú”

Step Actor Action System Response

1 User sends add note command without device’s internet connection

A message will be displayed :”Cần có kết nối internet để sử dụng tính năng này”

Step Actor Action System Response

1 User lets one of the fields empty Show message to user “Vui lòng nhập đầy đủ tất cả các ô”

1 The connection to server is not available Show error message to user “Hệ thống hiện không khả dụng Vui lòng thử lại!”

Relationships: Include Check internet connection

- If the internet is disconnected after math keyboard is displayed user can still save it

- All fields are required before saving: o Title: free text input o Note content: MathML

Table 16: Add note Use Case Specification

Figure 11: Edit note Use Case Diagram

Use Case No User_08 Use Case Version 2.0

Use Case Name Edit note

- This use case indicates that users can edit their created notes

- Help users edit their own notes

- User sends edit note command

- User’s device must connect to the Internet

- Success: The edited note is saved and show success message to user

Step Actor Action System Response

1 User sends edit note command An input screen with keyboard appear for user to input the note they need, then they can click save after finished:

- Title field: free text input

3 User sends save edit note command A success message is displayed “Đã lưu thay đổi”

Step Actor Action System Response

1 User sends edit note command without device’s internet connection

- Display note content in web view without the ability to edit

- User can only edits the title field

Step Actor Action System Response

1 User lets one of the fields empty Show message to user “Vui lòng nhập đầy đủ tất cả các ô”

1 The connection to server is not available Show error message to user “Hệ thống hiện không khả dụng Vui lòng thử lại!”

Relationships: Include Check internet connection

- If the internet is disconnected after math keyboard is displayed user can still save it

When the internet connection is unavailable, users can only modify the note title, while the content will be shown in MathML format in the web view.

- All fields are required before saving: o Title: free text input o Note content: MathML

Table 17: Edit note Use Case Specification

Figure 12: Delete note Use Case Diagram

Use Case No User _09 Use Case Version 2.0

Use Case Name Delete Note

- This use case indicates that users can delete their notes

- To help user deletes the note they no longer needed

- User sends delete note command

- Success: The note is deleted from note list and display success message to user

Step Actor Action System Response

1 User sends delete note command - The note is deleted from note list displayed to user

- Success message is displayed to user “Đã xoá ghi chú”

1 The application cannot connect to database Show error message to user “Có lỗi xảy ra Vui lòng thử lại!”

- Help User deletes useless notes

Table 18: Delete note Use Case Specification

Figure 13: Do quiz Use Case Diagram

Use Case No User _10 Use Case Version 2.0

Use Case Name Do Quiz

- This use case indicates that user can do quiz

- To help user do quiz to review their lesson, to track study progress

- User sends do quiz command

- The chapter has at least one available quiz

- Success: User can review the quiz after finished it

Step Actor Action System Response

1 User sends do quiz command Quiz screen is displayed with:

- Buttons which each of them represents for each answer

2 User sends choose answer command Move to next question

Step Actor Action System Response

1 User sends choose answer command All questions are finished, review quiz screen is displayed with information:

- The answers of every quiz question

○ The correct answer is displayed with green color

○ If user’s answer is incorrect, the answer is displayed with red color

Step Actor Action System Response

1 User sends get chapter detail command Quiz icon is invisible

1 The application cannot connect to database Show error message to user “Có lỗi xảy ra Vui lòng thử lại!”

Relationships: Extend to Reset Chapter Progress (send reset chapter progress command), extend to Reset unfinished quiz (send reset unfinished quiz command)

- The chapter must have at least one lesson containing quiz question so that the user can access “do quiz” function (quiz icon is visible to user)

- User can review the quiz after finished it

Table 19: Do quiz Use Case Specification

Figure 14: Get chapter list Use Case Diagram

Use Case No User _11 Use Case Version 2.0

Use Case Name Get chapter list

- This use case indicates that users can get list of chapters (divided by grade, subject)

- Help users view lesson divided by chapter

- User sends get chapter list command

- Success: list of chapters will be displayed

Step Actor Action System Response

1 User sends get chapter list command - Screen contains tabs which represents for every subject displayed

- Each tab contains list of chapters

1 The application cannot connect to database Show error message to user “Có lỗi xảy ra Vui lòng thử lại!”

Relationships: extend to Select subject (sends select subject command), include

- Users get the list of chapters classified by grade and subject

Table 20: Get chapter list Use Case Specification

Figure 15: Reset chapter progress Use Case Diagram

Use Case No User _12 Use Case Version 2.0

Use Case Name Reset chapter progress

- This use case indicates that user can reset their studying progress

- Help user reset the chapter progress and are able to re do the quizzes

- User sends reset chapter progress command

- All the quizzes in the chapter must be finished

- Success: The chapter progress is reset to 0%

Step Actor Action System Response

1 User sends do quiz command An alert dialog ask user to reset the chapter progress or not

2 User sends reset chapter progress command - The chapter progress, all quizzes status and score are reset

- Go to do quiz screen from the first quiz

Step Actor Action System Response

1 User sends not reset chapter command The alert dialog disappears and nothing happens

1 The application cannot connect to database Show error message to user “Có lỗi xảy ra Vui lòng thử lại!”

- The chapter must have at least one lesson containing quiz question so that the user can access “do quiz” function (quiz icon is visible to user)

- All the quizzes in the chapter have already been finished

- After user selects quiz icon: o If the chapter has no more unfinished quiz, an alert dialog ask user to reset the chapter progress or not

▪ If user selects “CÓ” button, the chapter progress, quiz score, lesson and question status are reset

▪ If user selects “KHÔNG” button, the dialog disappears and nothing happens

Table 21: Reset chapter progress Use Case Specification

Figure 16: Reset unfinished quiz Use Case Diagram

Use Case No User _13 Use Case Version 2.0

Use Case Name Reset unfinished quiz

- This use case indicates that user can reset or continue doing previous undone quiz

- User is able to reset or continue doing previous undone quiz

- User sends reset unfinished quiz command

- The next quiz is unfinished

- Number of unanswered questions is less than number of all questions of the quiz

- Success: The quiz is restarted or continue from the first unfinished question

Step Actor Action System Response

1 User sends do quiz command An alert dialog ask user to continue the quiz or not

2 User sends continue doing quiz command Go to do quiz screen from the first unanswered question

Step Actor Action System Response

1 User sends reset quiz command - All user choices of the selected quiz are deleted and reset question status

- Go to do quiz screen from the first question of next quiz

1 The application cannot connect to database Show error message to user “Có lỗi xảy ra Vui lòng thử lại!”

- The chapter must have at least one lesson containing quiz question so that the user can access “do quiz” feature (quiz icon is visible to user)

- The previous quiz is incomplete

- After user selects quiz icon: o If the previous quiz is not finished by user, an alert dialog ask user to continue the quiz or not

▪ If user selects “TIẾP TỤC” button, go to do quiz screen from the first unanswered question

When the user clicks the "BẮT ĐẦU LẠI" button, all previous quiz selections will be cleared, the status of the questions will be reset, and the user will be directed back to the quiz screen, starting from the first question.

Table 22: Reset unfinished quiz Use Case Specification

Figure 17: Select grade Use Case Diagram

Use Case No User _14 Use Case Version 2.0

Use Case Name Select grade

- Users are able to choose the suitable grade

- Users only have to choose the grade once and the application will remembered for the next time opening the application

- User sends select grade command

- Success: Chapter list view of the chosen grade is displayed

Step Actor Action System Response

1 User sends go to select grade view command Choosing grade screen is displayed:

- Each grade contains text view which shows the number of its chapters

2 User sends select grade and command Chapter list view of the selected grade is displayed

1 The application cannot connect to database Show error message to user “Có lỗi xảy ra Vui lòng thử lại!”

- The grade view is displayed when user selects “Chọn lớp” in navigation view or user opens the application for the first time

- After the first time user selects grade, list of chapters of the grade which user selected the most recently will be displayed

Table 23: Select grade User Specification

Figure 18: Administrator Overview Use Case

Figure 19: Add chapter Use Case Diagram

Use Case No Admin_01 Use Case Version 2.0

User Case Name Add Chapter

- This use case indicates that administrators are able to add new chapter

- Administrator sends add new chapter command

- Success: The page is reload

Step Actor Action System Response

1 Administrator sends add chapter command Chapter table is displayed with information:

- Chapter name: free text input, required, max length

- Subject of chapter: select one of the options, required

- Grade of chapter: select one of the options, required

- Version of chapter: not editable

3 Administrator sends save new chapter command Show success message and the page is reloaded

1 Administrator does not input the required field The page is reloaded and the chapter will not be added to the system

1 The chapter is existed in system data The page is reloaded and the chapter will not be added to the system

- Administrator must input all required information before saving

- A chapter is considered to be duplicated when it has the same name, grade and subject with a chapter in system

- Administrator can add new chapter directly on the table

Table 24: Add chapter Use Case Specification

Figure 20: Edit chapter Use Case Diagram

Use Case No Admin_02 Use Case Version 2.0

User Case Name Edit Chapter

- This use case indicates that administrators can edit chapter information

- Increase the accuracy of system data

- Administrator sends edit chapter command

- Successfully logged into the system

- Success: The page is reloaded

Step Actor Action System Response

1 Administrator sends edit chapter command Chapter table is displayed with information:

- Chapter name: free text input, required, max length

- Subject of chapter: select one of the options, required

- Grade of chapter: select one of the options, required

- Version of chapter: not editable

3 Administrator sends save edit chapter command Show success message and reload the page

1 The system cannot find the chapter id The page is reloaded and the chapter will not be modified

1 Administrator does not input the required field The page is reloaded and the chapter will not be modified

1 The chapter is existed in system data The page is reloaded and the chapter will not be modified

Relationships: Extend to Edit Chapter Image (send edit chapter image command)

- Administrator must input all required information before saving

- A chapter is considered to be duplicated when it has the same name, grade and subject with a chapter in system

- Administrator can edit chapter directly on the table

Table 25: Edit chapter Use Case Specification

Figure 21: Delete chapter Use Case Diagram

Use Case No Admin_03 Use Case Version 2.0

User Case Name Delete Chapter

- This use case indicates that administrators can delete chapter

- Delete chapter which is no longer correct at that time

- Administrator sends delete chapter command

- Successfully logged into the system

- Success: The page is reloaded

Step Actor Action System Response

1 Administrator sends delete chapter command

Displays confirm dialog: “Are you sure you want to delete this chapter?”

2 Administrator sends confirm delete chapter command

Step Actor Action System Response

- The chapter must still be existed in the system

Table 26: Delete chapter Use Case Specification

Figure 22: Add lesson Use Case Diagram

Use Case No Admin_04 Use Case Version 2.0

User Case Name Add Lesson

- This use case indicates administrators can add new lesson

- Administrator sends add lesson command

- Successfully logged into the system

- Success: Go to lesson list view

Step Actor Action System Response

1 Administrator sends add lesson command Add new lesson screen is displayed with information:

- Title: free text input, required, max length 100

- Content: free text, math symbols and images

3 Administrator sends save new lesson command

Go to lesson list view

Step Actor Action System Response

1 Administrator does not input one of the field Show error message

- Administrator must input all required information before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

- Lesson content will be saved as HTML

Figure 23: Edit lesson Use Case Diagram

Use Case No Admin_05 Use Case Version 2.0

User Case Name Edit Lesson

- This use case indicates that administrators can edit lesson

- Increase the accuracy of system data

- Administrator sends edit lesson command

- Successfully logged into the system

- Success: Go to lesson list view

Step Actor Action System Response

1 Administrator sends edit lesson command Edit lesson screen is displayed with information:

- Title: free text input, required, max length 100

- Content: free text, math symbols and images

3 Administrator sends save edit lesson command Go to lesson list view

1 Administrator does not input one of the field Show error message

- Administrator must input all required information before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

Table 28: Edit lesson Use Case Specification

Figure 24: Delete lesson Use Case Diagram

Use Case No Admin_06 Use Case Version 2.0

User Case Name Delete Lesson

- This use case indicates that administrators can delete lesson

- Delete lesson which is no longer correct at that time

- Administrator sends delete lesson command

- Successfully logged into the system

- Success: Go to lesson list view

Step Actor Action System Response

1 Administrator sends delete lesson command

Display confirm dialog: “Are you sure you want to delete this lesson?”

2 Administrator sends confirm delete lesson command

Go to lesson list view

Step Actor Action System Response

1 Administrator cancels delete lesson command

- The lesson must still be existed in the system

Table 29: Delete lesson Use Case Specification

Figure 25: Add solution Use Case Diagram

Use Case No Admin_07 Use Case Version 2.0

User Case Name Add solution

- This use case indicates that administrators can add new solution

- Administrator sends add new solution command

- Successfully logged into the system

- Success: Go to solution list view

Step Actor Action System Response

1 Administrator sends add solution command

Add new solution screen is displayed with information:

- Title: free text input, required, max length 100

- Content: free text, math symbols and images

3 Administrator sends save new solution command Go to solution list view

Step Actor Action System Response

1 Administrator does not input one of the field

- Administrator must input all required information before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

- Solution content will be saved as HTML

Table 30: Add solution Use Case Specification

Figure 26: Edit solution Use Case Diagram

Use Case No Admin_08 Use Case Version 2.0

User Case Name Edit solution

- This use case indicates that administrators can edit solution

- Increase the accuracy of the system data

- Administrator sends edit solution command

- Successfully logged into the system

- Success: Go to solution list view

Step Actor Action System Response

1 Administrator sends edit solution command Edit solution screen is displayed with information:

- Title: free text input, required, max length 100

- Content: free text, math symbols and images

3 Administrator sends save edit solution command

Go to solution list view

1 Administrator does not input one of the field Show error message

- Administrator must input all required information before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

- Solution content will be saved as HTML

Figure 27: Delete solution Use Case Diagram

Use Case No Admin_09 Use Case Version 2.0

User Case Name Delete solution

- This use case indicates that administrators can delete solution

- Delete solution which is no longer correct at that time

- Administrator sends delete solution command

- Successfully logged into the system

- Success: Go to solution list view

Step Actor Action System Response

1 Administrator sends delete solution command

Display confirm dialog: “Are you sure you want to delete this solution?”

2 Administrator sends confirm delete solution command

Go to solution list view

Step Actor Action System Response

1 Administrator cancels delete solution command

- The exercise must still be existed in the system

Table 32: Delete solution Use Case Specification

Figure 28: Add Exercise Use Case Diagram

Use Case No Admin_10 Use Case Version 2.0

Use Case Name Add exercise

- This use case indicates that administrators can add new exercise

- Actor sends add new exercise command

- Successfully logged into the system

- Success: Go to exercise list view

Step Actor Action System Response

1 Administrator sends add exercise command

Add new exercise screen is displayed with information:

- Problem: free text and math symbols

- Answer: free text, math symbols and images

3 Administrator sends save new exercise command Go to exercise list view

Step Actor Action System Response

1 Administrator does not input one of the field

- Administrator must input all required information before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

- Exercise content will be saved as HTML

Figure 29: Edit Exercise Use Case Diagram

Use Case No Admin_11 Use Case Version 2.0

Use Case Name Edit exercise

- This use case indicates that administrators can edit exercise

- Increase the accuracy of the system data

- Administrator sends edit exercise command

- Successfully logged into the system

- Success: Go to exercise list view

Step Actor Action System Response

1 Administrator sends edit exercise command Edit exercise screen is displayed with information:

- Problem: free text and math symbols

- Answer: free text, math symbols and images

3 Administrator sends save edit exercise command Go to exercise list view

1 Administrator does not input one of the field Show error message

- Administrator must input all required information before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

- Exercise content will be saved as HTML

Table 34: Edit Exercise Use Case Specification

Figure 30: Delete Exercise Use Case Diagram

Use Case No Admin_12 Use Case Version 2.0

Use Case Name Delete exercise

- This use case indicates that administrators can delete exercise

- Delete solution which is no longer correct at that time

- Administrator sends delete exercise command

- Successfully logged into the system

- Success: Go to exercise list view

Step Actor Action System Response

1 Administrator sends delete exercise command

Display confirm dialog: “Are you sure you want to delete this exercise?”

2 Administrator sends confirm delete exercise command

Go to exercise list view

Step Actor Action System Response

1 Administrator cancels delete exercise command

- The exercise must still be existed in the system

Table 35: Delete Exercise Use Case Specification

Figure 31: Add Quiz Question Use Case Diagram

Use Case No Admin_13 Use Case Version 2.0

Use Case Name Add quiz question

- This use case indicates that administrators can add new quiz question

- Actor sends add new quiz question command

- Successfully logged into the system

- Success: Go to quiz question list view

Step Actor Action System Response

1 Administrator sends edit quiz question command

Add new question screen is displayed with information:

- Question: free text, math symbols and images

- Answer 1, answer 2, answer 3, answer 4: free text and math symbols

- Next to each answer field is a tick with gray color

3 Administrator click the tick next to every answer field System changes color of the button to green to mark as correct answer

4 Administrator sends save edit quiz question command

Go to quiz question list view

1 Administrator does not input one of the fields Show error message

1 Administrator does not set correct answer for the question Show error message “Please choose at least one correct answer”

- Administrator must input all required information and set at least one correct answer before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

- Quiz question and its answers content will be saved as HTML

Table 36: Add Quiz Question Use Case Specification

Figure 32: Edit Quiz Question Use Case Diagram

Use Case No Admin_14 Use Case Version 2.0

Use Case Name Edit quiz question and answers

- This use case indicates that the administrators can edit quiz question

- Increase the accuracy for system data

- Administrator sends edit quiz question command

- Successfully logged into the system

- Success: Go to exercise list view

Step Actor Action System Response

1 Administrator sends add quiz question command

Add new question screen is displayed with information:

- Question: free text, math symbols and images

- Answer 1, answer 2, answer 3, answer 4: free text and math symbols

- Next to each answer field is a tick with gray color

3 Administrator click the tick next to every answer field System changes color of the button to green, mark as correct answer

4 Administrator sends save new quiz question command

Go to quiz question list view

1 Administrator does not input one of the fields Show error message

1 Administrator does not set correct answer for the question Show error message “Please choose at least one correct answer”

- Administrator must input all required information and set at least one correct answer before saving

- If the administrator wants to input math symbols, the internet connection must be available to use the math keyboard

- Quiz question and its answers content will be saved as HTML

Table 37: Edit Quiz Question Use Case Specification

Figure 33: Delete Quiz Question Use Case Diagram

Use Case No Admin_15 Use Case Version 2.0

Use Case Name Delete quiz question

- This use case indicates that administrators can delete exercise

- Delete solution which is no longer correct at that time

- Administrator sends delete quiz question command

- Successfully logged into the system

- Success: Go to quiz question list view

Step Actor Action System Response

1 Administrator sends delete quiz question command

Display confirm dialog: “Are you sure you want to delete this question?”

2 Administrator sends confirm delete question command

Go to quiz question list view

Step Actor Action System Response

1 Administrator cancels delete quiz question command

- The question must still be existed in the system

Table 38: Delete Quiz Question Use Case Specification

Figure 34: Release new version Use Case Diagram

Use Case No Admin_16 Use Case Version 2.0

Use Case Name Release new version

- This use case indicates that administrators can make a decision to release changes on data to user’s application

- Administrators are able to bring the latest and the most accurate knowledge to users

- Actor sends release new version command

- Successfully logged into the system

- Success: Go to version list view

Step Actor Action System Response

1 Administrator sends add new version command

Release new version screen is displayed with information:

- Version name: free text input, max length 45, required

2 Administrator sends save new version command

Go to version list view

Step Actor Action System Response

1 Administrator does not input one of the fields Show error message

Relationships: Include Check Internet Connection

- After new version is released successfully, all changes on data are available to mobile application’s for updating

- When administrator sends save new version command, all data which has version id equals 0 will be set as the latest version

Table 39: Release new version Use Case Specification

Figure 35: Overview Use case

Figure 36: Check version Use Case Diagram

Use Case No Handler _01 Use Case Version 2.0

Use Case Name Check version

- This use case indicates that the mobile application will automatically update if any new versions are available to update

- To improve user experience, update new math knowledge, edit/remove wrong data if needed

- Mobile application sends check version command

- The internet connection of user’s device is available

- Success: If there is any new version, the application will automatically update

- Fail: The application cannot connect to server

Step Actor Action System Response

1 The application sends check version command - Display progress bar and status

- Save new version(s) to database

2 The application sends update new data command - Display progress bar and status

- Save new data to database

Step Actor Action System Response

1 The application sends check version command Mobile application is up to date

- Display progress bar and status

- Status changes to “Ứng dụng đã được cập nhật”

1 The application cannot connect to server Show error message

Relationships: Extend to Update new data (send update new data command), include Check Internet Connection

- Every time user opens the mobile application, if the internet connection is available, the application will automatically send request to server to check request

○ If the response is empty, display message to user “Ứng dụng đã được cập nhật”

○ Otherwise, the application will save new versions to database and send request to server to get new data

Table 40: Check version Use Case Specification

Software System Attribute

- Website is simple and easy to use

- Website can be used with under 5 minutes to get familiar with the interface

- Website has an overall data tree for easier data-management

- User can see new changes that have been made recently

- Application auto updates version in order to keep all data up-to- date

- User can preview the content before actually see all content and do exercise so user can easily choose the correct content they want to see

- User can choose their favorite lesson and view them later

- User can enter their own notes

- User can keep track of their study with the quiz system of the application

● Mobile application does not require any user’s information so users do not have to worry about risks such as information leak

● Mobile application can work without internet connection

● Web application is only allowed to access after logging into the system

● Mobile application does not require any user information, except for email when feedback

● Web application and mobile application are all divided into separate modules for easy maintenance

● Web application can be run on Chrome browser version 42 or later

● Mobile application require device with Android version 5 or later

● On mobile application, when a lesson is selected, all formulas, math symbols and images will be displayed in 3 seconds max

● Requests from mobile application are responded less than 5 seconds from server at 15 Mbps bandwidth speed

Conceptual Diagram

Figure 37: Web application Conceptual diagram

Entity Data Dictionary: describe all contents of all entities

Grade Math chapters is divided into separated grades, which contains Subject Math chapters is divided into separated subjects

Chapter Contains chapter name and image, created by administrator Lesson Contains lesson title, content (formulas, theory, …)

Solution Are some typical mathematical forms, contains solutions to solve math problems

Exercise Contain practice exercises and answers

Question Or quiz question, contains question thread, created by administrator

QuestionChoice Contain choices for quiz question and at least one is correct for each question, created by administrator

DeleteQuery Contain delete queries for data of mobile application database, generated after admin deleted items

Version Contain old and current version of data

User Contain user login information (username, password)

Table 41: Web Application Conceptual Entity Data Dictionary

Figure 38: Mobile Application Conceptual Diagram

Entity Data Dictionary: describe all contents of all entities

Grade Math chapters is divided into separated grades

Subject Math chapters is divided into separated subjects

Chapter Contains chapter name and image, created by administrator

Lesson Contains lesson title, content (formulas, theory, …), created by administrator

Solution Are some typical mathematical forms, contains tips and tricks to solve math problems, created by administrator

Exercise Contain practice exercises and answers, created by administrator

Question Or quiz question, contains question thread, created by administrator

QuestionChoice Contain choices for quiz question and at least one is correct for each question, created by administrator UserChoice Contain user’s choice of quiz question

Version Contain old and current version of data

Table 42: Mobile Application Conceptual Entity Data Dictionary

Software Design Description

System Implementation & Test

Software User’s Manual

Appendix

Ngày đăng: 05/08/2021, 21:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w