Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 276 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
276
Dung lượng
12,2 MB
Nội dung
MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION CAPSTONE PROJECT INFORMATION TECHNOLOGY DEVELOPING A LAB MANAGEMENT SYSTEM USING MERN STACK INSTRUCTOR: THINH LE VINH, PhD STUDENT: TRINH MINH ANH LE DUC THINH SKL009159 Ho Chi Minh City, August, 2021 HCMC UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING CAPSTONE PROJECT DEVELOPING A LAB MANAGEMENT SYSTEM USING MERN STACK STUDENT NAME: ANH TRINH MINH ID: 17110003 STUDENT NAME: THINH LE DUC ID: 17110076 ACADEMIC YEAR: 2017-2021 MENTOR: THINH LE VINH Ph.D Ho Chi Minh City, July 2021 HCM University of Technology and Education FACULTY FOR HIGH QUALITY TRAINING SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom - Happiness PROJECT CONTENT Name of student: Anh Trinh Minh Student ID: 17110003 Name of student: Thinh Le Duc Student ID: 17110076 Major: Information Technology Topic: Developing a lab management system using MERN Stack Project title: Lab Management Instructor: Thinh Le Vinh Ph.D Content: Theory: - Survey the current needs of a system to manage the labs - Investigate related systems that existed in the market Practice: Apply earned knowledge to develop a system managing the labs Execution time: Phase from October 5, 2020, to January 4, 2021 Phase from February 22, 2021, to June 30, 2021 Signature of student: Signature of student: Ho Chi Minh, June 30, 2021 HEAD OF INFORMATION TECHNOLOGY INSTRUCTOR (Name and signature) (Name and signature) SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom - Happiness *** COMMENTARY OF INSTRUCTOR Student name: Student ID: Anh Trinh Minh Thinh Le Duc 17110003 17110076 Major: Information Technology Topic: Developing a lab management system using MERN Stack Project title: Lab Management Name of instructor: Thinh Le Vinh Ph.D COMMENTARY On content of topic & workload done: Advantage: Disadvantage: Recommend for defense or not? 5.Rating type: Mark: ) (By word: Ho Chi Minh, ……………………………… 2021 INSTRUCTOR (Name and signature) SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom - Happiness *** COMMENTARY OF REVIEWER Student name: Anh Trinh Minh Student ID: Thinh Le Duc 17110003 17110076 Major: Information Technology Topic: Developing a lab management system using MERN Stack Project title: Lab Management Name of reviewer: COMMENTARY On content of topic & workload done: Advantage: Disadvantage: Recommend for defense or not? 5.Rating type: Mark: (By word: ) Ho Chi Minh, ……………………………… 2021 REVIEWER (Name and signature) ACKNOWLEDGMENTS The team would like to express our sincere thanks to Mr Thinh Le Vinh, the most enthusiastic lecturer that gave us the chance to meet this project He always stays close to our ideas to give us the best advice that helps our thoughts come to practical products Thank Mr Thinh, we have never given up on any challenging tasks and features On behalf of the time, Mr Van Nguyen Tran Thi saved the project by giving precise requirements and adjusting the wrong features Without his help, we went on the wrong way so far The system occurred in two phases, the initial idea has come from the course new technologies on software engineering, and Mr Thinh encouraged us to develop this potential material for the capstone project However, the limitation of experiences in technologies and social work might prevent us from making perfect software that satisfies everyone We would love to receive feedbacks to make the software better Sincerely thanks TABLE OF CONTENTS Acknowledgments i Table of Contents ii List of figures v List of tables x Preface xiii Chapter 1: Introduction 1.1 Related works 1.2 Project objectives Chapter 2: Backgrounds 2.1 Overview of React 2.1.1 Introduction to React 2.1.2 Features 2.1.3 Advantages 2.1.4 Disadvantages 2.2 Redux 2.3 React Native 2.3.1 Introduction to React Native 2.3.2 Advantages 2.3.3 Disadvantages 2.4 Express.JS 2.5 MongoDB Chapter 3: Requirements analysis 3.1 System description 3.1.1 Lab management web app 3.1.2 Mobile application 3.1.3 Node.JS server 3.1.4 Python Flask server 3.2 Requirement analysis 10 3.2.1 Administration web module 10 3.2.1.1 Business functional requirements 10 3.2.1.2 System functional requirements 14 3.2.1.3 Non-functional requirements 14 3.2.2 Lecturer web module 15 3.2.2.1 Business functional requirements 15 3.2.2.2 System functional requirements 16 3.2.2.3 Non-functional requirements 16 3.2.3 Lecturer mobile application 17 3.2.3.1 Business functional requirements 17 3.2.3.2 System functional requirements 17 3.2.3.3 Non-functional requirements 17 3.3 Requirement modeling 18 3.3.1 Use-case diagram 18 3.3.1.1 Administration web module 18 3.3.1.2 Lecturer web module 19 3.3.1.3 Lecturer mobile module 20 3.3.2 Scenarios 20 3.3.2.1 Administration web module 20 3.3.2.2 Lecturer web module 63 3.3.2.3 Lecturer mobile module 80 Chapter 4: Software design 87 4.1 Sequence diagrams 88 4.1.1 Administration web module 88 4.1.2 Lecturer web module 127 4.1.3 Lecturer mobile module 144 4.2 Class diagram 151 4.3 Database design 152 4.3.1 Logical diagram 152 4.3.2 Table detail 152 4.4 User interface design 164 4.4.1 Administration web module 164 4.4.2 Lecturer web module 206 4.4.3 Lecturer mobile module 221 Chapter 5: Implementation and testing 5.1 228 Implementation 229 5.2 Test plan 229 5.2.1 Test scenarios 229 5.2.2 Test result 231 Chapter 6: Conclusion 248 4.1 Results 249 4.2 Strengths 249 4.3 Drawbacks 249 4.4 Source code 249 4.5 Future works 250 References 251 Task Distribution 252 LIST OF FIGURES Figure Use case diagram (admin) 18 Figure Use case diagram (lecturer web) 19 Figure Use case diagram (lecturer mobile) 20 Figure Search academic year sequence diagram 88 Figure Start an academic year sequence diagram 89 Figure Close an academic year sequence diagram 90 Figure Edit an academic year sequence diagram 91 Figure Start a semester sequence diagram 92 Figure Close a semester sequence diagram 93 Figure 10 Edit semester sequence diagram 94 Figure 11 Search teachings sequence diagram 95 Figure 12 Open registration sequence diagram 96 Figure 13 Close registration sequence diagram 97 Figure 14 Generate schedule sequence diagram 98 Figure 15 Search courses sequence diagram 99 Figure 16 Create new course sequence diagram 100 Figure 17 Import courses sequence diagram 101 Figure 18 Export courses sequence diagram 102 Figure 19 Download courses template 102 Figure 20 Edit a course sequence diagram 103 Figure 21 Delete a course 104 Figure 22 Search labs 105 Figure 23 Create new lab .106 Figure 24 Import labs sequence diagram .107 Figure 25 Export labs sequence diagram .108 Figure 26 Download lab template sequence diagram 108 Figure 27 Edit a lab sequence diagram 109 Figure 28 Delete a lab sequence diagram 110 Figure 29 Search requests sequence diagram 111