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

Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin

139 25 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 đề Xây Dựng Website Quản Lý Tham Quan Của Phòng Quan Hệ Doanh Nghiệp Tại Trường Đại Học Sư Phạm Kỹ Thuật TP HCM
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP HCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Thành phố TP HCM
Định dạng
Số trang 139
Dung lượng 3,74 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (14)
    • 1.1. Tính cấp thiết và mục tiêu của đề tài (14)
      • 1.1.1. Tính cấp thiết của đề tài (14)
      • 1.1.2. Mục đích của đề tài (14)
    • 1.2. Đối tượng, phạm vi và phương pháp thực hiện (15)
      • 1.2.1. Đối tượng nghiên cứu (15)
      • 1.2.2. Phạm vi (15)
      • 1.2.3. Phương pháp thực hiện (0)
    • 1.3. Kết quả dự kiến đạt được (0)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (16)
    • 2.1. Spring Framework (16)
      • 2.1.1. Một số khái niệm chính (16)
      • 2.1.2. Các module (19)
    • 2.2. Spring Boot (20)
      • 2.2.1. Tổng quan về Spring Boot (20)
      • 2.2.2. Tạo một Spring Boot Application (21)
    • 2.3. Angular (21)
      • 2.3.1. Tổng quan về Angular (21)
      • 2.3.2. Mô tả (21)
      • 2.3.3. Mô hình (21)
    • 2.4. MongoDB (23)
      • 2.4.1. Mô hình (23)
      • 2.4.2. Đặc trưng (24)
      • 2.4.3. Ưu điểm (25)
      • 2.4.4. Nhược điểm (25)
    • 2.5. Các công nghệ và thư viện khác (25)
      • 2.5.1. JSON Web Token (25)
      • 2.5.2. Ant Design of Angular (26)
  • CHƯƠNG 3. KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU (27)
    • 3.1. Khảo sát hiện trạng (27)
    • 3.2. Xác định yêu cầu (28)
      • 3.2.1. Yêu cầu chức năng (28)
      • 3.2.2. Yêu cầu phi chức năng (31)
  • CHƯƠNG 4. ĐẶC TẢ CHỨC NĂNG (32)
    • 4.1. Định nghĩa usecase (32)
      • 4.1.1. Actor (32)
      • 4.1.2. Usecase (33)
    • 4.2. Lược đồ use case (37)
    • 4.3. Đặc tả use case (41)
      • 4.3.1. Quản lý lĩnh vực (41)
      • 4.3.2. Quản lý chuyến tham quan (44)
  • CHƯƠNG 5. THIẾT KẾ ỨNG DỤNG (57)
    • 5.1. Thiết kế dữ liệu (57)
      • 5.1.1. Sơ đồ thiết kế dữ liệu (57)
      • 5.1.2. Mô tả sơ đồ thiết kế dữ liệu (58)
    • 5.2. Lược đồ lớp (Class Diagram) (75)
    • 5.3. Sơ đồ tuần tự (Sequence Diagram) (0)
      • 5.3.1. Sequence Hủy đăng ký dẫn đoàn (76)
      • 5.3.2. Sequence Đăng ký chuyến (77)
      • 5.3.3. Sequence Đăng ký dẫn đoàn (78)
      • 5.3.4. Sequence Thực hiện khảo sát (0)
      • 5.3.5. Sequence Thêm mới sinh viên vào chuyến bằng form (80)
      • 5.3.6. Sequence Thêm mới lĩnh vực (80)
      • 5.3.7. Sequence Cập nhật lĩnh vực (81)
      • 5.3.8. Sequence Thay đổi trạng thái lĩnh vực (82)
    • 5.4. Thiết kế giao diện (82)
      • 5.4.1. Phía người dùng (82)
      • 5.4.2. Phía admin (85)
      • 5.4.3. Phía cộng tác viên (105)
      • 5.4.4. Phía giảng viên (116)
      • 5.4.5. Phía sinh viên, doanh nghiệp (128)
  • CHƯƠNG 6. CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG (131)
    • 6.1. Cài đặt ứng dụng (131)
      • 6.1.1. Thư viện và môi trường phát triển (131)
      • 6.1.2. Lệnh cài đặt và chạy chương trình (131)
      • 6.1.3. Các bước cài đặt (131)
    • 6.2. Kiểm thử phần mềm (132)
      • 6.2.1. Chức năng thêm mới cộng tác viên (132)
      • 6.2.2. Chức năng đăng ký, hủy đăng ký dẫn đoàn (133)
      • 6.2.3. Chức năng đăng ký chuyến tham quan quyền giảng viên (134)
  • CHƯƠNG 7. KẾT LUẬN (136)
    • 7.1. Kết quả đạt được (136)
    • 7.2. Ưu điểm và nhược điểm (136)
      • 7.2.1. Ưu điểm (136)
      • 7.2.2. Nhược điểm (136)
      • 7.2.3. Khó khăn (137)
    • 7.3. Kinh nghiệm đạt được (137)
    • 7.4. Hướng phát triển trong tương lai (138)
  • TÀI LIỆU THAM KHẢO (139)

Nội dung

TỔNG QUAN

Tính cấp thiết và mục tiêu của đề tài

1.1.1 Tính cấp thiết của đề tài

Tham quan doanh nghiệp là hoạt động định kỳ của Phòng Quan hệ Doanh nghiệp, nhằm thu hẹp khoảng cách giữa lý thuyết và thực tiễn Hoạt động này giúp sinh viên cập nhật kiến thức thực tế và có cái nhìn sâu sắc hơn về môi trường làm việc tương lai.

Ngày nay, doanh nghiệp ngày càng chú trọng đến việc tìm kiếm sinh viên từ các trường để thực tập và đào tạo, đồng thời nâng cao chất lượng và số lượng các hoạt động tham quan doanh nghiệp Những trải nghiệm thực tế về môi trường làm việc, giao lưu với các quản lý và ban lãnh đạo công ty, cùng việc tiếp thu kinh nghiệm và kỹ năng làm việc trở thành những yếu tố quan trọng trong quá trình này.

Phòng Quan hệ Doanh nghiệp cần xây dựng một website để hiệu quả quản lý số lượng lớn chuyến tham quan, đồng thời nắm bắt thông tin và trạng thái của các chuyến một cách chính xác nhất.

1.1.2 Mục đích của đề tài Đề tài “XÂY DỰNG WEBSITE QUẢN LÝ THAM QUAN CỦA PHÒNG QUAN HỆ DOANH NGHIỆP TẠI TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM” đặt ra các vấn đề trọng tâm về mục tiêu mà sinh viên nghiên cứu cần thực hiện được bao gồm:

Sử dụng công nghệ và kỹ thuật tiên tiến trong phát triển phần mềm giúp mang lại giá trị nhanh chóng cho khách hàng Các công nghệ này bao gồm những giải pháp phát triển ứng dụng web đa nền tảng, cho phép triển khai dự án một cách độc lập và dễ dàng trên nhiều môi trường khác nhau.

Xây dựng website quản lý tham quan cho phòng Quan hệ Doanh nghiệp giúp các giảng viên dễ dàng theo dõi thông tin về các chuyến tham quan được tổ chức và các doanh nghiệp hợp tác với nhà trường Qua đó, các thầy cô có thể phối hợp chặt chẽ với doanh nghiệp để tạo ra những chuyến tham quan bổ ích cho sinh viên.

Sản phẩm cần có giao diện thân thiện với người dùng, phù hợp với chủ đề khách hàng mong muốn Đồng thời, trang web phải tương thích với nhiều trình duyệt và thiết bị di động, đảm bảo các tính năng hoạt động hiệu quả Giao diện cũng cần giữ được sự nhất quán, không có quá nhiều biến động giữa các thiết bị và trình duyệt khác nhau.

Đối tượng, phạm vi và phương pháp thực hiện

1.2.1 Đối tượng nghiên cứu Đồ án được thực hiện xoay quanh hai đối tượng trọng tâm, bao gồm: công nghệ và kiến thức thực tế về việc quản lý, xử lý các nghiệp vụ mà khách hàng yêu cầu

Nội dung nghiên cứu tập trung vào các công nghệ như mã nguồn mở Java Spring Boot, Angular framework và cơ sở dữ liệu NoSQL MongoDB, cùng với các thư viện hữu ích như JWT và Ant Design để cải thiện giao diện website Đối tượng khách hàng mà dự án nhắm đến là những tổ chức có nhu cầu quản lý các chuyến tham quan doanh nghiệp, bao gồm quy trình đăng ký trực tuyến cho giảng viên, theo dõi thông tin và trạng thái chuyến đi, quản lý người dùng, danh mục, cũng như thống kê kết quả khảo sát theo thời gian.

Phạm vi thực hiện được xác định ở mức độ tổng quát, nhằm nắm bắt kiến thức cơ bản và áp dụng từng nội dung vào sản phẩm thực tế, với trọng tâm không đặt nặng vào lý thuyết.

Nghiên cứu, tìm hiểu các tài liệu và trang web liên quan đến công nghệ ứng dụng

Để nâng cao độ chính xác của sản phẩm, hãy tham khảo ý kiến từ giảng viên hướng dẫn, khách hàng, bạn bè và những người có kinh nghiệm liên quan đến các vấn đề bạn đang gặp phải.

1.3 Kết quả dự kiến đạt được

- Hiểu được các kiến thức về chức năng, cách thức hoạt động của Java Spring Boot và Angular trong việc xây dựng website

- Xây dựng hoàn thành một website quản lý tham quan với những kiến thức đã tìm hiểu.

CƠ SỞ LÝ THUYẾT

Spring Framework

2.1.1 Một số khái niệm chính

Hai trong những thành phần chủ chốt và là nền tảng tạo nên sức mạnh của Spring chính là IoC và DI [1]

IoC Container trong Spring được xây dựng dựa trên nguyên lý Inversion of Control, một khái niệm đã tồn tại lâu đời trong các mẫu hình thiết kế và được phổ biến bởi Robert C Martin và Martin Fowler Nguyên lý này liên quan đến Control Flow, tức là luồng thực thi, dùng để chỉ trình tự thực hiện các câu lệnh, chỉ thị hoặc lời gọi hàm trong một chương trình khi nó được thực thi.

Với sự phát triển ngày càng phức tạp của các chương trình, lập trình viên đã áp dụng phương pháp lập trình hướng đối tượng để phân loại và tách biệt các chức năng thành các đối tượng riêng biệt Họ cũng xây dựng các thư viện sẵn có để tái sử dụng, giúp tối ưu hóa quy trình phát triển Trong các tình huống cần xem xét tổng thể, luồng thực thi của chương trình không còn chú trọng vào từng bước thực hiện câu lệnh, mà tập trung vào việc gọi phương thức của các đối tượng trong ứng dụng và các đối tượng từ thư viện đã được tạo dựng.

Khi xây dựng ứng dụng từ đầu, lập trình viên phải điều khiển luồng thực thi và xây dựng các chức năng đáp ứng nghiệp vụ Nhiều chương trình có luồng thực thi tương tự, như phần tương tác với HTTP trong ứng dụng web hay unit testing Việc lặp đi lặp lại trong việc tạo dựng và kiểm soát luồng thực thi gây tốn công sức, chi phí, tạo sự nhàm chán và dễ phát sinh lỗi Điều này đã tạo ra động lực cho nguyên lý đảo ngược điều khiển phát triển.

Hình 2.1 Mô hình ứng dụng áp dụng IoC

Khái niệm “đảo ngược” đề cập đến việc chuyển giao nhiệm vụ kiểm soát luồng thực thi từ ứng dụng cho một thư viện phần mềm khung chuyên trách bên ngoài Ứng dụng sẽ không còn kiểm soát việc điều khiển luồng thực thi mà chỉ tập trung vào việc định nghĩa chức năng Thư viện phần mềm khung này sẽ dựa trên cấu hình của ứng dụng để điều phối luồng thực thi trong chương trình một cách hiệu quả.

Thư viện phần mềm khung khác biệt so với các thư viện thông thường ở chỗ, thay vì chỉ cung cấp các chức năng để ứng dụng gọi đến, nó tạo ra luồng thực thi và tự động gọi các chức năng của ứng dụng.

IoC, hay Inversion of Control, là một mẫu thiết kế và tập hợp các kỹ thuật lập trình, trong đó luồng thực thi của hệ thống bị đảo ngược so với cách tương tác truyền thống Trong Spring, IoC cũng mang ý nghĩa tương tự, nơi các đối tượng chính để xây dựng ứng dụng được quản lý bởi Spring IoC container Các đối tượng này được gọi là bean, và một bean đơn giản là một đối tượng được khởi tạo và quản lý bởi Spring IoC container.

Trong lập trình truyền thống, các module cấp cao thường gọi đến các module cấp thấp, dẫn đến sự phụ thuộc giữa chúng Sự phụ thuộc này tạo ra các dependency, ảnh hưởng đến cấu trúc và khả năng mở rộng của hệ thống.

5 module cấp thấp thay đổi, module cấp cao phải thay đổi theo Một thay đổi sẽ kéo theo hàng loạt thay đổi, giảm khả năng bảo trì của code

Dependency Injection (DI) has emerged as a crucial concept in software development, with various DI containers like Unity and StructureMap facilitating the implementation of DI in code These tools are often referred to as IoC (Inversion of Control) Containers, as they share similar functionalities and objectives in managing dependencies.

➢ Có thể hiểu Dependency Injection một cách đơn giản như sau:

• Các module không giao tiếp với nhau mà thông qua interface

• Module cấp thấp sẽ implement interface

• Module cấp cao sẽ gọi module cấp thấp thông qua interface

• Việc khởi tạo các module cấp thấp do DI container thực hiện

• Constructor Injection: Các dependency sẽ được container truyền vào (inject vào) 1 class thông qua constructor của class đó Đây là cách thông dụng nhất

• Setter Injection: Các dependency sẽ được truyền vào 1 class thông qua các hàm Setter

Interface Injection involves a class implementing a specific interface that includes a method called Inject The container injects dependencies into the class by invoking the Inject method of the interface This approach is considered cumbersome and is rarely used in practice.

➢ Ưu khuyết điểm của DI:

Bảng 2.1 Ưu khuyết điểm của DI Ưu điểm Khuyết điểm

• Giảm sự kết dính giữa các module

• Code dễ bảo trì, dễ thay thế module

• Rất dễ test và viết Unit Test

• Dễ dàng thấy quan hệ giữa các module

(Vì các dependecy đều được inject vào constructor)

• Khái niệm DI khá “khó tiêu”, các developer mới sẽ gặp khó khăn khi học

• Sử dụng interface nên đôi khi sẽ khó debug, do không biết chính xác module nào được gọi

• Các object được khởi tạo toàn bộ ngay từ đầu, có thể làm giảm performance

• Làm tăng độ phức tạp của code

Hình 2.2 Các module của Spring Framework

Spring Core is the fundamental package of the Spring framework, offering essential features such as Inversion of Control (IoC) and Dependency Injection (DI) At its core is the BeanFactory, an implementation of the Factory pattern that facilitates the connection of dependencies between objects defined in the configuration file.

The Spring Context is a configuration file that provides essential contextual information for the Spring framework It offers various services, including JNDI access, EJB integration, email handling, internationalization, validation, and scheduling functionalities.

Spring AOP (Lập trình Hướng Khía Cạnh) là một module của Spring framework, cho phép tích hợp chức năng lập trình hướng khía cạnh thông qua cấu hình Nó cung cấp dịch vụ quản lý giao dịch cho các đối tượng trong ứng dụng Spring, cho phép tích hợp quản lý giao dịch khai báo mà không cần phụ thuộc vào EJB Ngoài ra, Spring AOP cũng hỗ trợ lập trình metadata, cho phép người dùng thêm annotation vào mã nguồn để hướng dẫn Spring về cách thức và vị trí liên hệ với các khía cạnh.

Spring DAO (Data Access Object) sử dụng tầng JDBC và DAO để xây dựng một cây phân cấp exception, giúp quản lý kết nối đến cơ sở dữ liệu, xử lý các lỗi và thông báo từ nhà cung cấp cơ sở dữ liệu Tầng exception này đơn giản hóa việc xử lý lỗi và giảm thiểu khối lượng mã nguồn cần viết, như việc mở và đóng kết nối.

7 module của Spring framework 15 Module này cũng cung cấp các dịch vụ quản lý giao dịch cho các đối tượng trong ứng dụng Spring

Spring ORM (Object Relational Mapping) integrates with various ORM frameworks to provide effective object-relational tools, including JDO, Hibernate, OJB, and iBatis SQL Maps.

Spring Web là một phần của module application context, cung cấp môi trường cho các ứng dụng web Nó hỗ trợ tích hợp với các framework như Struts, JSF và Webwork, đồng thời giảm thiểu công việc quản lý nhiều yêu cầu và gán các tham số của yêu cầu vào các đối tượng domain.

Spring Boot

2.2.1 Tổng quan về Spring Boot

Spring Boot là một module của Spring Framework, mang lại khả năng phát triển ứng dụng nhanh chóng thông qua tính năng RAD (Rapid Application Development) Trước đây, việc khởi tạo dự án Spring đòi hỏi nhiều công sức, từ việc khai báo các dependency trong file pom.xml cho đến cấu hình phức tạp bằng XML hoặc annotation Tuy nhiên, với Spring Boot, quá trình tạo ứng dụng Spring trở nên nhanh chóng và dễ dàng hơn.

Dưới đây là một số tính năng nổi bật của Spring Boot:

• Có các tính năng của Spring Framework

• Tạo ứng dụng độc lập, có thể chạy bằng java-jar (cho cả java web)

• Cung cấp một loạt các tính năng phi chức năng phổ biến cho các dự án lớn như những trực tiếp Web Server như Tomcat, Jetty, …

• Cấu hình ít, tự động cấu hình bất kỳ khi nào có thể (giảm thời gian viết code, tăng năng xuất)

• Không yêu cầu XML config

• Chuẩn cho Microservices (Cloud support; giảm việc setup, config; các thư viện hỗ trợ…)

2.2.2 Tạo một Spring Boot Application

- IDE hỗ trợ Spring Tool Suit

Angular

Angular là một framework JavaScript mã nguồn mở, hoạt động ở phía người dùng, sử dụng HTML, CSS và TypeScript Là phần A trong MEAN Stack, Angular trước đây được biết đến với tên gọi AngularJS, nhưng từ năm 2012, Google đã phát triển nó lên các phiên bản mới hơn như Angular 2, Angular 4, Angular 9 và hiện tại là Angular 12 Framework này hỗ trợ việc xây dựng các ứng dụng web một trang (Single Page Applications) một cách hiệu quả.

React hoạt động dựa trên 5 thành phần cơ bản là: virtual DOM, JSX, Components, Props và State

Angular hoạt động dựa trên 8 thành phần cơ bản là Module, Component, Template, Metadata, Data binding, Service, Directive, Dependency injection

Hình 2.3 Các thành phần cơ bản trong angular

Hoạt động giữa các thành phần trong angular sẽ được mô tả như dưới đây

Hình 2.4 Cách hoạt động giữa các thành phần trong Angular

In Angular, components, services, directives, and templates are declared and packaged within modules These elements are essentially regular TypeScript classes, and to help Angular identify them, decorators like @Component and @Directive are used These decorators serve as design patterns that allow users to provide metadata, such as the component's selector and its associated HTML and CSS templates Unlike components and directives, services do not have a specific template association.

10 decorator nhận diện và nó giống như một class TypeScript thông thường Như vậy, angular đã nhận diện được các thành phần trong nó

Trong quá trình hoạt động, template được sử dụng để khởi tạo giao diện, và nhờ vào các directive cùng với data binding, template sẽ trải qua giai đoạn xử lý để tạo ra giao diện hiển thị thực sự trên màn hình Các sự kiện từ DOM sẽ được theo dõi liên tục, cho phép component và directive phản hồi tương ứng Những phản hồi này sẽ dẫn đến các thay đổi trong đối tượng đại diện cho giao diện là DOM, và những thay đổi này sẽ tự động được trình duyệt cập nhật và hiển thị Đồng thời, các service sẽ đóng vai trò hỗ trợ xử lý và có thể tái sử dụng trong nhiều component nhờ vào dependency injection.

Angular là một framework nổi bật cho việc phát triển ứng dụng Single Page Application (SPA), nơi giao diện người dùng chỉ hiển thị trên một trang HTML duy nhất Mỗi component trong Angular đi kèm với một template riêng biệt, được lưu trữ trong nhiều file khác nhau Để hiển thị trên màn hình, Angular sẽ tổng hợp tất cả các template đang sử dụng lại thành một template thống nhất.

In an Angular application, there can be multiple modules, each containing various components and services, with one designated as the root module The module is a TypeScript class annotated with the @NgModule decorator, which includes metadata The root module features a unique metadata property called "bootstrap," which holds an array of components selected for initial startup Typically, the default component chosen for bootstrapping is AppComponent, established during project creation Upon launching the Angular application, the interface is rendered from the index.html page along with styles from styles.css.

MongoDB

MongoDB hệ quản trị cơ sở dữ liệu mã nguồn mở (open-source) thuộc họ cơ sở dữ liệu phi quan hệ (NoSQL) [3]

MongoDB, được phát triển bởi MongoDB Inc tại New York từ năm 2007, ban đầu là một nền tảng dịch vụ (Platform as a Service - PaaS) Đến năm 2009, MongoDB chính thức ra mắt thị trường với vai trò là máy chủ cơ sở dữ liệu mã nguồn mở (open-source database server), được duy trì và phát triển bởi tổ chức này Nhiều công ty lớn như SourceForge, Foursquare và eBay đã áp dụng MongoDB để xây dựng cơ sở dữ liệu của họ.

MongoDB là một cơ sở dữ liệu hướng đối tượng, không có các ràng buộc toàn vẹn dữ liệu như các cơ sở dữ liệu quan hệ, cho phép lưu trữ dữ liệu linh hoạt Điều này có nghĩa là nhiều loại dữ liệu khác nhau có thể được lưu trữ trong cùng một Collection, tương đương với Table trong SQL Nhờ vào đặc thù này, MongoDB thích hợp cho việc lưu trữ các dữ liệu đa dạng và phức tạp, đồng thời không bị hạn chế khi có sự thay đổi về cấu trúc lưu trữ dữ liệu.

MongoDB là một cơ sở dữ liệu phân tán nổi bật với các đặc trưng như tính sẵn sàng cao và khả năng mở rộng theo chiều ngang, giúp người dùng dễ dàng mở rộng quy mô ứng dụng của mình.

MongoDB là cơ sở dữ liệu NoSQL loại Document Database với nhiều yếu tố được bổ sung để nâng cao hiệu suất sử dụng như Index, Schema,

MongoDB được lập trình bằng ngôn ngữ C++ và hỗ trợ tốt với các Javascript Framework

Các khái niệm tiêu biểu khi sử dụng MongoDB:

Tài liệu (Document) là đơn vị cơ bản của dữ liệu trong MongoDB, tương đương với một dòng trong bảng của SQL Mỗi tài liệu có cấu trúc là một đoạn chuỗi JSON độc lập.

Collection là một tập hợp các tài liệu có thuộc tính tương tự, tương đương với bảng (Table) trong SQL Sự khác biệt lớn nhất giữa chúng là bảng trong SQL có cấu trúc cố định và dữ liệu phải tuân theo cấu trúc đó, trong khi Collection cho phép nhập tự do các tài liệu với thuộc tính khác nhau mà không gặp lỗi.

Database trong MongoDB là các cơ sở dữ liệu độc lập, bao gồm một hoặc nhiều Collection cùng với các cài đặt và phân quyền đi kèm.

_id là một khóa định danh đặc biệt do MongoDB tự động tạo ra khi thêm một Document vào Collection Mỗi _id của Document đều phải duy nhất trong Collection mà nó thuộc về.

Chỉ mục (index) trong MongoDB là một cấu trúc dữ liệu quan trọng, giúp thu thập thông tin về các trường trong Document của Collection, từ đó tăng tốc độ truy vấn đến các trường này Mặc dù việc tạo thêm chỉ mục có thể cải thiện hiệu suất truy vấn, nhưng nó cũng làm tăng đáng kể dung lượng bộ nhớ sử dụng cho cơ sở dữ liệu Trường _id được khởi tạo mặc định là trường chỉ mục đầu tiên khi thêm mới một Document trong MongoDB.

MongoDB hỗ trợ truy vấn dữ liệu tương tự như các cơ sở dữ liệu khác, cung cấp cho nhà phát triển các công cụ cần thiết để thực hiện các truy vấn hiệu quả.

12 câu lệnh bổ trợ giúp đơn giản hóa việc truy vấn dữ liệu hiệu quả hơn so với các ngôn ngữ truy vấn truyền thống, đồng thời vẫn đảm bảo tốc độ truy vấn nhanh chóng.

Lược đồ dữ liệu linh hoạt của cơ sở dữ liệu NoSQL cho phép tổ chức dữ liệu theo kiểu Document Database, giúp người dùng lưu trữ các Document với thuộc tính và kích thước khác nhau trong cùng một Collection của MongoDB.

Tăng tốc độ truy vấn dữ liệu nhanh chóng bằng cách khởi tạo Index cho các trường thông thường sẽ giúp cải thiện hiệu suất truy vấn.

Khả năng mở rộng cơ sở dữ liệu lớn

Phù hợp với xu hướng Big Data toàn cầu, công nghệ này dễ dàng được lựa chọn cho các ứng dụng thời gian thực Nó được hỗ trợ bởi nhiều thư viện Javascript và có thể áp dụng trên nhiều nền tảng và ngôn ngữ khác nhau.

Cơ sở dữ liệu không có cấu trúc như MongoDB không áp dụng các ràng buộc khóa ngoại và khóa chính như trong cơ sở dữ liệu quan hệ, dẫn đến việc các vấn đề về toàn vẹn dữ liệu cần được xử lý bởi Server ứng dụng Do không có quy định ràng buộc, MongoDB thường không cảnh báo về các sai sót trong dữ liệu đầu vào.

Tiêu tốn nhiều tài nguyên trong quá trình xử lý cũng như tiêu tốn bộ nhớ cho việc khởi tạo thêm các Index tăng tốc độ truy vấn.

Các công nghệ và thư viện khác

JSON Web Mã (JWT) là một chuẩn mở (RFC 7519) cho phép truyền tải thông tin an toàn giữa các bên dưới dạng đối tượng JSON Thông tin trong JWT có thể được xác minh nhờ vào chữ ký số, đảm bảo tính đáng tin cậy JWT có thể được ký bằng thuật toán bí mật (HMAC) hoặc bằng cặp khóa công khai/riêng tư thông qua mã hóa RSA.

- Stateless, thông tin không được lưu trữ trên máy chủ

- Dễ dàng phát triển, mở rộng

Hiệu suất được cải thiện khi máy chủ có khả năng đọc thông tin trực tiếp từ yêu cầu, đặc biệt khi sử dụng phiên Điều này giúp hệ thống giảm thiểu việc truy vấn thông tin từ bộ nhớ hoặc cơ sở dữ liệu, từ đó tối ưu hóa tốc độ xử lý.

Hình 2.5 Cấu trúc Json Web Token

Phần chữ ký sẽ được mã hóa bằng HMAC hoặc RSA

HMAC là phương pháp mà người phát hành và người xác minh JWT sử dụng cùng một khóa bí mật để mã hóa và kiểm tra tính hợp lệ của mã thông báo.

RSA sử dụng 1 cặp khóa, đối tượng khởi tạo JWT sử dụng khóa riêng để mã hóa, bộ thu JWT sử dụng khóa công khai để kiểm tra

HMAC yêu cầu cả hai bên chia sẻ một khóa bí mật, cho phép bên nhận tạo mã JWT hợp lệ từ khóa đó Ngược lại, RSA sử dụng khóa công khai để kiểm tra, nhưng không cho phép khởi tạo JWT mới, do đó cung cấp bảo mật chữ ký tốt hơn khi chia sẻ JWT với nhiều đối tượng khác nhau.

Trong dự án, JWT được áp dụng để xác thực và ủy quyền

Ant Design cho Angular là một thư viện UI thành phần mã nguồn mở, cung cấp các giải pháp thiết kế cấp doanh nghiệp dựa trên Ant Design, hoàn toàn miễn phí theo giấy phép MIT Thư viện này mang lại nhiều ưu điểm cho người dùng.

⚫ Một ngôn ngữ thiết kế giao diện người dùng cấp doanh nghiệp cho các ứng dụng Angular

⚫ Hơn 60 thành phần Angular chất lượng cao

⚫ Được viết bằng TypeScript với các kiểu hoàn chỉnh được xác định

⚫ Hỗ trợ chế độ OnPush, hiệu suất cao

⚫ Tùy biến chủ đề mạnh mẽ đến từng chi tiết

⚫ Hỗ trợ quốc tế hóa cho hàng chục ngôn ngữ

KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

Khảo sát hiện trạng

Công nghệ 4.0 đang phát triển mạnh mẽ, mang lại lợi ích lớn cho việc sử dụng hệ thống và website trong công việc và lưu trữ thông tin Hoạt động ngoại khóa tham quan doanh nghiệp giúp sinh viên cập nhật kiến thức thực tế và hiểu rõ hơn về môi trường làm việc tương lai Tuy nhiên, việc tổ chức chuyến tham quan thường gặp khó khăn do phải liên hệ với phòng Quan hệ Doanh nghiệp để cập nhật thông tin Điều này gây trở ngại cho sinh viên, cộng tác viên và doanh nghiệp trong việc theo dõi trạng thái các chuyến tham quan đã đăng ký Do đó, sự ra đời của website quản lý hành trình sẽ giúp phòng Quan hệ Doanh nghiệp dễ dàng quản lý tất cả thông tin các chuyến đã đăng ký, đơn giản hóa quy trình này.

Chức năng của website quản lý tham quan cần cung cấp cho phòng Quan hệ Doanh nghiệp gồm:

- Khách: xem các bài viết được đăng tải trên trang chủ

- Người dùng: đăng nhập, đăng xuất

- Người quản trị viên: quản lý chi tiết các danh mục, chuyến tham quan, người dùng, …

- Giảng viên: đăng ký, chỉnh sửa thông tin chuyến khi quản trị viên chưa duyệt và có thể xem thông tin, trạng thái các chuyến đã đăng ký

Cộng tác viên có thể đăng ký dẫn đoàn cho các chuyến đang xử lý và theo dõi các chuyến đã được phê duyệt Họ có nhiệm vụ điểm danh sinh viên, cập nhật hình ảnh check-in và check-out trong quá trình tham quan, thực hiện khảo sát sau các chuyến đi, cũng như thay đổi mật khẩu đăng nhập khi cần thiết.

- Sinh viên: xem các chuyến đang tham gia và thực hiện khảo sát sau các chuyến tham quan

- Doanh nghiệp: xem các chuyến đang tổ chức và thực hiện khảo sát sau các chuyến tham quan, cập nhật mật khẩu đăng nhập

Xác định yêu cầu

3.2.1.1 Yêu cầu chức năng người dùng a Quản trị viên

- Cấu hình hệ thống o Xem cấu hình hệ thống o Thêm, thay đổi trạng thái, cập nhật thông tin cấu hình hệ thống

- Quản lý doanh nghiệp o Xem danh sách doanh nghiệp o Thêm, thay đổi trạng thái, cập nhật thông tin doanh nghiệp

- Quản lý cộng tác viên o Xem danh sách cộng tác viên o Thêm, thay đổi trạng thái, cập nhật thông tin cộng tác viên

Quản lý câu hỏi khảo sát doanh nghiệp bao gồm việc xem danh sách các câu hỏi, thêm mới, thay đổi trạng thái và cập nhật thông tin liên quan đến các câu hỏi khảo sát.

Quản lý câu hỏi khảo sát sinh viên bao gồm việc xem danh sách các câu hỏi, thêm mới hoặc thay đổi trạng thái của câu hỏi, cũng như cập nhật thông tin liên quan đến khảo sát sinh viên.

Quản lý câu hỏi khảo sát cộng tác viên bao gồm việc xem danh sách các câu hỏi khảo sát hiện có, thêm mới hoặc thay đổi trạng thái của các câu hỏi, cũng như cập nhật thông tin liên quan đến khảo sát cộng tác viên.

- Quản lý địa điểm o Xem danh sách địa điểm o Thêm, thay đổi trạng thái, cập nhật thông tin địa điểm

- Quản lý đợt tham quan o Xem danh sách đợt tham quan o Thêm, thay đổi trạng thái, cập nhật thông tin đợt tham quan

- Quản lý file hướng dẫn o Xem danh sách file hướng dẫn o Thêm, thay đổi trạng thái, cập nhật thông tin file hướng dẫn

- Quản lý lĩnh vực o Xem danh sách lĩnh vực

16 o Thêm, thay đổi trạng thái, cập nhật thông tin lĩnh vực

- Quản lý ngành o Xem danh sách ngành o Thêm, thay đổi trạng thái, cập nhật thông tin ngành

- Quản lý phương tiện o Xem danh sách phương tiện o Thêm, thay đổi trạng thái, cập nhật thông tin phương tiện

- Quản lý sinh viên o Xem danh sách sinh viên o Thêm, thay đổi trạng thái, cập nhật thông tin sinh viên

- Quản lý văn bản biểu mẫu o Xem danh sách biểu mẫu o Thêm, thay đổi trạng thái, cập nhật thông tin văn bản biểu mẫu

Quản lý chuyến tham quan bao gồm các chức năng như xem danh sách chuyến theo trạng thái, thêm chuyến mới, cập nhật thông tin chuyến và danh sách sinh viên tham gia Ngoài ra, bạn cũng có thể duyệt cộng tác viên tham gia dẫn đoàn, lưu trữ hồ sơ và xem timeline graphic của chương trình tham quan.

Bài viết này thống kê kết quả khảo sát từ ba nhóm đối tượng: doanh nghiệp, sinh viên và cộng tác viên Đối với doanh nghiệp, chúng tôi ghi nhận các câu trả lời từ loại câu nhập liệu, câu sắp xếp và câu chọn một hoặc nhiều Tương tự, sinh viên cũng cung cấp thông tin qua các loại câu hỏi tương ứng Đối với cộng tác viên, kết quả khảo sát bao gồm câu trả lời từ câu nhập liệu, câu sắp xếp và câu chọn một hoặc nhiều Ngoài ra, bài viết cũng trình bày thống kê số chuyến tham quan theo thời gian và theo từng doanh nghiệp, đồng thời nhấn mạnh vai trò của giảng viên trong việc phân tích và đánh giá các dữ liệu thu thập được.

- Đăng ký chuyến tham quan

- Cập nhật chuyến tham quan

- Xem chuyến tham quan đã đăng ký c Cộng tác viên

- Đăng ký dẫn đoàn chuyến tham quan

- Hủy dẫn đoàn chuyến tham quan

- Xem chuyến tham quan đã được duyệt dẫn đoàn

- Khảo sát sau chuyến đi

- Thay đổi mật khẩu đăng nhập d Sinh viên

- Xem danh sách các chuyến đi đang tham gia

- Khảo sát sau chuyến đi e Doanh nghiệp

- Khảo sát sau chuyến đi

- Thay đổi mật khẩu đăng nhập

3.2.1.2 Yêu cầu chức năng hệ thống

▪ Khách: xem các bài viết được đăng tải trên trang chủ

▪ Người dùng: đăng nhập và đăng xuất

▪ Admin: toàn quyền hệ thống

▪ Giảng viên: đăng ký, cập nhật thông tin chuyến, xem chuyến đã đăng ký

Cộng tác viên có thể thực hiện nhiều nhiệm vụ quan trọng như đăng ký hoặc hủy dẫn đoàn, kiểm tra thông tin check in và check out tại điểm đến, theo dõi chuyến đi hiện tại, điểm danh sinh viên, thực hiện khảo sát sau chuyến đi và thay đổi mật khẩu đăng nhập vào hệ thống.

▪ Sinh viên: xem danh sách chuyến đang tham gia, khảo sát sau chuyến đi

▪ Doanh nghiệp: xem danh sách chuyến đang tổ chức, khảo sát sau chuyến đi, thay đổi mật khẩu đăng nhập hệ thống

▪ Luôn được thông báo khi hệ thống hoạt động thành công hay thất bại

▪ Luôn kiểm tra các quyền và lưu thông tin người thực hiện trước và khi làm việc với dữ liệu

3.2.2 Yêu cầu phi chức năng

▪ Giao diện dễ nhìn, thân thiện với người dùng

▪ Tốc độ tìm kiếm nhanh và hiệu quả

▪ Tốc độ tải trang nhanh

▪ Đáp ứng nhiều nền tảng và thiết bị

▪ Dễ dàng phát triển các ứng dụng

ĐẶC TẢ CHỨC NĂNG

Định nghĩa usecase

No Use case Admin Giảng viên

2 Quản lý câu hỏi khảo sát cộng tác viên x

3 Quản lý câu hỏi khảo sát doanh nghiệp x

4 Quản lý câu hỏi khảo sát sinh viên x

5 Quản lý chuyến tham quan x

6 Quản lý cộng tác viên x

9 Quản lý đợt tham quan x

10 Quản lý file hướng dẫn x

15 Quản lý văn bản biểu mẫu x

17 Đăng ký chuyến tham quan x

18 Cập nhật chuyến tham quan x

19 Xem chuyến tham quan đã đăng ký x

20 Xem chuyến được duyệt dẫn đoàn x

24 Khảo sát sau chuyến đi x x x

25 Thay đổi mật khẩu đăng nhập x x

26 Xem danh sách chuyến tham gia x

27 Xem danh sách chuyến tổ chức x

No Name use case Use case ID

1 Cấu hình hệ thống UC_1

1.1 Xem cấu hình hệ thống UC_1.1

1.2 Cập nhật cấu hình hệ thống UC_1.2

2 Quản lý câu hỏi khảo sát cộng tác viên UC_2

2.1 Xem danh sách câu hỏi khảo sát cộng tác viên UC_2.1

2.1.1 Cập nhật câu hỏi khảo sát cộng tác viên UC_2.1.1

2.1.2 Thay đổi trạng thái câu hỏi khảo sát cộng tác viên UC_2.1.2

2.2 Thêm mới câu hỏi khảo sát cộng tác viên UC_2.2

3 Quản lý câu hỏi khảo sát doanh nghiệp UC_3

3.1 Xem danh sách câu hỏi khảo sát doanh nghiệp UC_3.1

3.1.1 Cập nhật câu hỏi khảo sát doanh nghiệp UC_3.1.1

2.1.2 Thay đổi trạng thái câu hỏi khảo sát doanh nghiệp UC_3.1.2

3.2 Thêm mới câu hỏi khảo sát doanh nghiệp UC_3.2

4 Quản lý câu hỏi khảo sát sinh viên UC_4

4.1 Xem danh sách câu hỏi khảo sát sinh viên UC_4.1

4.1.1 Cập nhật câu hỏi khảo sát sinh viên UC_4.1.1 4.1.2 Thay đổi trạng thái câu hỏi khảo sát sinh viên UC_4.1.2

4.2 Thêm mới câu hỏi khảo sát doanh nghiệp UC_4.2

5 Quản lý chuyến tham quan UC_5

5.1 Xem danh sách chuyến tham quan theo trạng thái UC_5.1

5.1.1 Tìm kiếm chuyến tham quan UC_5.1.1

5.1.2 Xem theo trạng thái chờ duyệt UC_5.1.2

5.1.3 Xem theo trạng thái đang xử lý UC_5.1.3 5.1.4 Xem theo trạng thái sẵn sàng chưa có đợt UC_5.1.4

5.1.5 Xem theo trạng thái sẵn sàng UC_5.1.5

5.1.6 Xem theo trạng thái hủy UC_5.1.6

5.1.7 Upload file quyết định của BGH UC_5.1.7

5.1.8 Xem danh sách cộng tác viên UC_5.1.8

5.1.8.1 Xét duyệt cộng tác viên UC_5.1.8.1

5.1.8.2 Thêm cộng tác viên UC_5.1.8.1

5.1.9 Xem danh sách sinh viên tham quan UC_5.1.9

5.1.9.1 Thêm mới sinh viên tham gia UC_5.1.9.1 5.1.9.2 Import danh sách sinh viên UC_5.1.9.2 5.1.9.3 Điểm danh bù sinh viên UC_5.1.9.3

5.1.9.4 Import danh sách sinh viên điểm danh bù UC_5.1.9.4

5.1.10 Cập nhật chuyến tham quan UC_5.1.10

5.1.11 Filter chuyến tham quan UC_5.1.11

5.2 Thêm mới chuyến tham quan UC_5.2

5.3 Lưu trữ hồ sơ UC_5.3

5.4 Xem dòng thời gian UC_5.4

6 Quản lý cộng tác viên UC_6

6.1 Xem danh sách cộng tác viên UC_6.1

6.1.1 Cập nhật cộng tác viên UC_6.1.1

6.1.2 Thay đổi trạng thái cộng tác viên UC_6.1.2

6.2 Thêm mới cộng tác viên UC_6.2

7 Quản lý doanh nghiệp UC_7

7.1 Xem danh sách doanh nghiệp UC_7.1

7.1.1 Cập nhật doanh nghiệp UC_7.1.1

7.1.2 Thay đổi trạng thái doanh nghiệp UC_7.1.2

7.2 Thêm mới doanh nghiệp UC_7.2

8 Quản lý địa điểm UC_8

8.1 Xem danh sách địa điểm UC_8.1

8.1.1 Cập nhật địa điểm UC_8.1.1

8.1.2 Thay đổi trạng thái địa điểm UC_8.1.2

8.2 Thêm mới địa điểm UC_8.2

9 Quản lý đợt tham quan UC_9

9.1 Xem danh sách đợt tham quan UC_9.1

9.1.1 Cập nhật đợt tham quan UC_9.1.1

9.1.2 Thay đổi trạng thái đợt tham quan UC_9.1.2

9.2 Thêm mới đợt tham quan UC_9.2

10 Quản lý file hướng dẫn UC_10

10.1 Xem danh sách file hướng dẫn UC_10.1

10.1.1 Cập nhật file hướng dẫn UC_10.1.1

10.1.2 Thay đổi trạng thái file hướng dẫn UC_10.1.2

10.2 Thêm mới file hướng dẫn UC_10.2

11 Quản lý lĩnh vực UC_11

11.1 Xem danh sách lĩnh vực UC_11.1

11.1.1 Cập nhật lĩnh vực UC_11.1.1

11.1.2 Thay đổi trạng thái lĩnh vực UC_11.1.2

11.2 Thêm mới lĩnh vực UC_11.2

12.1 Xem danh sách ngành UC_12.1

12.1.2 Thay đổi trạng thái ngành UC_12.1.2

13 Quản lý phương tiện UC_13

13.1 Xem danh sách phương tiện UC_13.1

13.1.1 Cập nhật phương tiện UC_13.1.1

13.1.2 Thay đổi trạng thái phương tiện UC_13.1.2

13.2 Thêm mới phương tiện UC_13.2

14 Quản lý sinh viên UC_14

14.1 Xem danh sách sinh viên UC_14.1

14.1.1 Cập nhật sinh viên UC_14.1.1

14.1.2 Thay đổi trạng thái sinh viên UC_14.1.2

14.2 Thêm mới sinh viên UC_14.2

15 Quản lý văn bản biểu mẫu UC_15

15.1 Xem danh sách văn bản biểu mẫu UC_15.1

15.1.1 Cập nhật văn bản biểu mẫu UC_15.1.1

15.1.2 Thay đổi trạng thái văn bản biểu mẫu UC_15.1.2

15.2 Thêm mới văn bản biểu mẫu UC_15.2

16.1 Thống kê câu trả lời loại câu nhập liệu của doanh nghiệp UC_16.1 16.2 Thống kê câu trả lời loại câu sắp xếp của doanh nghiệp UC_16.2

16.3 Thống kê câu trả lời loại câu chọn một, nhiều của doanh nghiệp UC_16.3

16.4 Thống kê câu trả lời loại câu nhập liệu của sinh viên UC_16.4 16.5 Thống kê câu trả lời loại câu sắp xếp của sinh viên UC_16.5

16.6 Thống kê câu trả lời loại câu chọn một, nhiều của sinh viên UC_16.6

16.7 Thống kê câu trả lời loại câu nhập liệu của cộng tác viên UC_16.7 16.8 Thống kê câu trả lời loại câu sắp xếp của cộng tác viên UC_16.8

16.9 Thống kê câu trả lời loại câu chọn một, nhiều của cộng tác viên UC_16.9

16.10 Thống kê số chuyến tham quan theo thời gian UC_16.10 16.11 Thống kê số chuyến tham quan theo doanh nghiệp UC_16.11 16.12 Thống kê mức độ hài lòng của doanh nghiệp UC_16.12

17 Đăng ký chuyến tham quan UC_17

18 Cập nhật chuyến tham quan UC_18

19 Xem chuyến tham quan đã đăng ký UC_19

20 Xem chuyến được duyệt dẫn đoàn UC_20

21 Đăng ký dẫn đoàn UC_21

23 Điểm danh sinh viên UC_23

24 Khảo sát sau chuyến đi UC_24

25 Thay đổi mật khẩu đăng nhập UC_25

26 Xem danh sách chuyến tham gia UC_26

27 Xem danh sách chuyến tổ chức UC_27

Lược đồ use case

Hình 4.1 Lược đồ usecase tổng quan

Hình 4.2 Lược đồ use case actor Admin

Hình 4.3 Lược đồ use case actor Cộng tác viên

Hình 4.4 Lược đồ use case actor Doanh nghiệp

Hình 4.5 Lược đồ use case actor Sinh viên

Đặc tả use case

Hình 4.6 Use case quản lý lĩnh vực

4.3.1.1 Xem danh sách lĩnh vực

Bảng 4.3 Đặc tả use case "Xem danh sách lĩnh vực"

Name Xem danh sách lĩnh vực

Brief description Xem danh sách lĩnh vực

Pre-conditions Actor chọn “Lĩnh vực” trong “Danh mục”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Lĩnh vực’:

1 Hệ thống sẽ hiển thị danh sách lĩnh vực

2 Use case kết thúc phiên làm việc

Bảng 4.4 Đặc tả use case "Cập nhật lĩnh vực"

Name Cập nhật lĩnh vực

Brief description Cập nhật thông tin lĩnh vực

Pre-conditions Actor chọn “Cập nhật lĩnh vực”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật thông tin”:

1 Hệ thống sẽ hiển thị thông tin lĩnh vực và cấp quyền sửa đổi cho actor

2 Actor sẽ cập nhật thông tin lĩnh vực và nhấn ‘Lưu’

3 Hệ thống xác nhận thông tin lĩnh vực đã được cập nhật

4 Actor trở lại trạng thái trước đó

5 Use case kết thúc phiên làm việc

Alternative flow 2 Nếu actor muốn dừng việc cập nhật thông tin lĩnh vực

2.2 Actor trở lại trạng thái trước đó

4.3.1.1.2 Thay đổi trạng thái lĩnh vực

Bảng 4.5 Đặc tả use case "Thay đổi trạng thái lĩnh vực"

Name Thay đổi trạng thái lĩnh vực

Brief description Thay đổi trạng thái lĩnh vực

Pre-conditions Actor chọn tính năng “Kích hoạt”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Lĩnh vực”:

1 Hệ thống sẽ thay đổi trạng thái lĩnh vực sang trạng thái

2 Use case kết thúc phiên làm việc

Bảng 4.6 Đặc tả use case "Tìm kiếm lĩnh vực"

Name Tìm kiếm lĩnh vực

Brief description Tìm kiếm lĩnh vực

Pre-conditions Actor chọn tính năng “Tìm kiếm”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Tìm kiếm”:

1 Hệ thống sẽ yêu cầu actor nhập thông cần tìm kiếm

2 Actor nhập thông tin tìm kiếm

3 Hệ thống sẽ hiển thị danh sách lĩnh vực phù hợp với thông tin tìm kiếm

4 Use case kết thúc phiên làm việc

Bảng 4.7 Đặc tả use case "Thêm mới lĩnh vực"

Name Thêm mới lĩnh vực

Brief description Thêm mới lĩnh vực

Pre-conditions Actor chọn “Thêm mới”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Thêm mới”:

1 Hệ thống yêu cầu nhập thông tin lĩnh vực

2 Actor sẽ nhập thông tin lĩnh vực và nhấn “Lưu”

3 Hệ thống xác nhận thông tin lĩnh vực đã được thêm

4 Actor trở lại trạng thái trước đó

5 Use case kết thúc phiên làm việc

Alternative flow 2 Nếu actor muốn dừng việc thêm thông tin lĩnh vực

2.3 Actor trở lại trạng thái trước đó

4.3.2 Quản lý chuyến tham quan

Hình 4.7 Use case quản lý chuyến tham quan

4.3.2.1 Xem danh sách chuyến tham quan theo trạng thái

Bảng 4.8 Đặc tả use case "Xem danh sách chuyến tham quan theo trạng thái"

Name Xem danh sách chuyến tham quan theo trạng thái

Brief description Xem danh sách chuyến tham quan

Pre-conditions Actor chọn “Chuyến tham quan” trong “Chuyến tham quan”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Chuyến tham quan”:

1 Hệ thống sẽ hiển thị danh sách chuyến tham quan theo trạng thái chờ duyệt

2 Use case kết thúc phiên làm việc

4.3.2.1.1 Tìm kiếm chuyến tham quan

Bảng 4.9 Đặc tả use case "Tìm kiếm chuyến tham quan"

Name Tìm kiếm chuyến tham quan

Brief description Tìm kiếm chuyến tham quan

Pre-conditions Actor chọn tính năng “Tìm kiếm”

Trigger - Actor có quyền admin.

Basic flow Sau khi actor truy cập vào tính năng “Tìm kiếm”:

1 Hệ thống sẽ yêu cầu actor nhập thông cần tìm kiếm

2 Actor nhập thông tin tìm kiếm

3 Hệ thống sẽ hiển thị danh sách chuyến tham quan phù hợp với thông tin tìm kiếm

4 Use case kết thúc phiên làm việc

4.3.2.1.2 Xem theo trạng thái chờ duyệt

Bảng 4.10 Đặc tả use case "Xem theo trạng thái chờ duyệt"

Name Xem theo trạng thái chờ duyệt

Brief description Xem danh sách chuyến tham quan theo trạng thái chờ duyệt

Pre-conditions Actor chọn “Chuyến tham quan” trong “Chuyến tham quan” hoặc “Danh sách tour chờ duyệt”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Danh sách tour chờ duyệt”:

1 Hệ thống sẽ hiển thị danh sách chuyến tham quan theo trạng thái chờ duyệt

2 Use case kết thúc phiên làm việc

4.3.2.1.3 Xem theo trạng thái đang xử lý

Bảng 4.11 Đặc tả use case "Xem theo trạng thái đang xử lý"

Name Xem theo trạng thái đang xử lý

Brief description Xem danh sách chuyến tham quan theo trạng thái đang xử lý

Pre-conditions Actor chọn “Danh sách tour đang xử lý”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Danh sách tour đang xử lý”:

1 Hệ thống sẽ hiển thị danh sách chuyến tham quan theo trạng thái đang xử lý

2 Use case kết thúc phiên làm việc

4.3.2.1.4 Xem theo trạng thái sẵn sàng chưa có đợt

Bảng 4.12 Đặc tả use case "Xem theo trạng thái sẵn sàng chưa có đợt"

Name Xem theo trạng thái sẵn sàng chưa có đợt

Brief description Xem danh sách chuyến tham quan theo trạng thái sẵn sàng chưa có đợt

Pre-conditions Actor chọn “Danh sách tour chưa có đợt”

Trigger - Actor có quyền admin

Basic flow 1 Sau khi actor truy cập vào tính năng “Danh sách tour chưa có đợt”:

2 Hệ thống sẽ hiển thị danh sách chuyến tham quan theo trạng thái tour sẵn sàng chưa có đợt

3 Use case kết thúc phiên làm việc

4.3.2.1.5 Xem theo trạng thái sẵn sàng

Bảng 4.13 Đặc tả use case "Xem theo trạng thái sẵn sàng"

Name Xem theo trạng thái sẵn sàng

Brief description Xem danh sách chuyến tham quan theo trạng thái sẵn sàng

Pre-conditions Actor chọn “Danh sách tour sẵn sàng”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Danh sách tour sẵn sàng”:

1 Hệ thống sẽ hiển thị danh sách chuyến tham quan theo trạng thái tour sẵn sàng

2 Use case kết thúc phiên làm việc

4.3.2.1.6 Xem theo trạng thái hủy

Bảng 4.14 Đặc tả use case "Xem theo trạng thái hủy"

Name Xem theo trạng thái hủy

Brief description Xem danh sách chuyến tham quan theo trạng thái hủy

Pre-conditions Actor chọn “Danh sách tour hủy”

Trigger - Actor có quyền admin.

Basic flow Sau khi actor truy cập vào tính năng “Danh sách tour hủy”:

1 Hệ thống sẽ hiển thị danh sách chuyến tham quan theo trạng thái tour hủy

2 Use case kết thúc phiên làm việc

4.3.2.1.7 Upload file quyết định của BGH

Bảng 4.15 Đặc tả use case "Upload file quyết định của BGH"

Name Upload file quyết định của BGH

Brief description Upload file quyết định của ban giám hiệu

Pre-conditions Actor chọn “Danh sách tour đang xử lý”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “File quyết định của

1 Hệ thống sẽ mở cửa sổ chọn file trên máy

2 Actor sẽ chọn file quyết định của BGH và nhấn

3 Hệ thống xác nhận upload file quyết định của BGH thành công

4 Actor trở lại trạng thái trước đó

5 Use case kết thúc phiên làm việc

Alternative flow 2 Nếu actor muốn dừng việc upload file

2.2 Actor trở lại trạng thái trước đó

4.3.2.1.8 Xem danh sách cộng tác viên

Bảng 4.16 Đặc tả use case "Xem danh sách cộng tác viên"

Name Xem danh sách cộng tác viên

Brief description Xem danh sách cộng tác viên có trong chuyến

Pre-conditions Actor chọn “Cập nhật DS CTV”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật DS CTV”:

1 Hệ thống sẽ hiển thị danh sách cộng tác viên

2 Use case kết thúc phiên làm việc

4.3.2.1.8.1 Xét duyệt cộng tác viên

Bảng 4.17 Đặc tả use case "Xét duyệt cộng tác viên"

Name Xét duyệt cộng tác viên

Brief description Xét duyệt cộng tác viên

Pre-conditions Actor chọn “Cập nhật DS CTV”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật DS CTV”:

1 Hệ thống sẽ hiển thị danh sách cộng tác viên

2 Actor chọn cộng tác viên

3 Use case kết thúc phiên làm việc

4.3.2.1.9 Xem danh sách sinh viên tham quan

Bảng 4.18 Đặc tả use case "Xem danh sách sinh viên tham quan"

Name Xem danh sách sinh viên

Brief description Xem danh sách sinh viên có trong chuyến

Pre-conditions Actor chọn “Cập nhật DSSV”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật DSSV”:

1 Hệ thống sẽ hiển thị danh sách sinh viên

2 Use case kết thúc phiên làm việc

4.3.2.1.9.1 Thêm mới sinh viên tham gia

Bảng 4.19 Đặc tả use case "Thêm mới sinh viên tham quan"

Name Thêm mới sinh viên tham quan

Brief description Thêm mới sinh viên tham quan

Pre-conditions Actor chọn “Cập nhật DSSV”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật DSSV”:

1 Hệ thống sẽ hiển thị danh sách sinh viên

3 Actor chọn sinh viên và “Lưu”

4 Actor trở lại trạng thái trước đó

5 Use case kết thúc phiên làm việc

Alternative flow 2 Nếu actor muốn dừng việc thêm mới sinh viên

2.2 Actor trở lại trạng thái trước đó

4.3.2.1.9.2 Import danh sách sinh viên

Bảng 4.20 Đặc tả use case "Import danh sách sinh viên"

Name Import danh sách sinh viên

Brief description Import danh sách sinh viên tham quan từ bên ngoài

Pre-conditions Actor chọn “Cập nhật DSSV”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật DSSV”:

1 Hệ thống sẽ hiển thị danh sách sinh viên

2 Actor chọn “Nhập danh sách”, “Nhập danh sách”

3 Hệ thống sẽ mở cửa sổ chọn file trên máy

4 Actor sẽ chọn file excel danh sách sinh viên và nhấn

5 Hệ thống xác nhận import danh sách sinh viên thành công

6 Actor trở lại trạng thái trước đó

7 Use case kết thúc phiên làm việc

Alternative flow 2 Nếu actor muốn dừng việc import danh sách sinh viên

2.2 Actor trở lại trạng thái trước đó

4.3.2.1.9.3 Điểm danh bù sinh viên

Bảng 4.21 Đặc tả use case "Điểm danh bù sinh viên"

Name Điểm danh bù sinh viên

Brief description Điểm danh bù sinh viên

Pre-conditions Actor chọn “Cập nhật DSSV”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật DSSV”:

1 Hệ thống sẽ hiển thị danh sách sinh viên

2 Actor chọn “Điểm danh bù”

3 Actor nhập mã sinh viên, số phút đi trễ và chọn “Điểm danh”

4 Hệ thống sẽ cập nhật và thay đổi trạng thái “Chưa điểm danh” sang “Đã điểm danh”

5 Use case kết thúc phiên làm việc

Alternative flow 3 Nếu actor muốn dừng việc điểm danh bù sinh viên

3.2 Actor trở lại trạng thái trước đó

4.3.2.1.9.4 Import danh sách sinh viên điểm danh bù

Name Import danh sách sinh viên điểm danh bù

Brief description Import danh sách sinh viên điểm bù

Pre-conditions Actor chọn “Cập nhật DSSV”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Cập nhật DSSV”:

1 Hệ thống sẽ hiển thị danh sách sinh viên

2 Actor chọn “Nhập danh sách”, “Nhập danh sách điểm danh bù”

3 Hệ thống sẽ mở cửa sổ chọn file trên máy

4 Actor sẽ chọn file excel danh sách sinh viên và nhấn

5 Hệ thống xác nhận import danh sách sinh viên điểm danh thành công, cập nhật trạng thái sinh viên “Chưa điểm danh” sang “Đã điểm danh”

6 Use case kết thúc phiên làm việc

Alternative flow 4 Nếu actor muốn dừng việc import danh sách sinh viên điểm danh bù

4.2 Actor trở lại trạng thái trước đó

4.3.2.1.10 Cập nhật chuyến tham quan

Name Cập nhật chuyến tham quan

Brief description Cập nhật thông tin chuyến tham quan

Pre-conditions Actor chọn chức năng ‘Cập nhật thông tin’

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng ‘Cập nhật thông tin’:

1 Hệ thống sẽ hiển thị thông tin chuyến tham quan và cấp quyền sửa đổi cho actor

2 Actor sẽ cập nhật thông tin chuyến tham quan và nhấn

3 Hệ thống xác nhận thông tin chuyến tham quan đã được cập nhật

4 Actor trở lại trạng thái trước đó

5 Use case kết thúc phiên làm việc

Alternative flow 2 Nếu actor muốn dừng việc cập nhật thông tin chuyến

2.2 Actor trở lại trạng thái trước đó

Bảng 4.22 Đặc tả use case "Filter chuyến tham quan"

Name Filter chuyến tham quan

Brief description Filter chuyến tham quan theo các trường dữ liệu

Pre-conditions Actor chọn “Chuyến tham quan” trong “Chuyến tham quan”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Chuyến tham quan”:

1 Actor chọn “Tìm kiếm nâng cao” và trường dữ liệu muốn tìm kiếm

2 Hệ thống sẽ hiển thị danh sách chuyến tham quan phù hợp với thông tin dữ liệu

3 Use case kết thúc phiên làm việc

4.3.2.2 Thêm mới chuyến tham quan

Bảng 4.23 Đặc tả use case "Thêm mới chuyến tham quan"

Name Thêm mới chuyến tham quan

Brief description Thêm mới chuyến tham quan

Pre-conditions Actor chọn “Thêm mới”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Thêm mới”:

1 Hệ thống yêu cầu nhập thông tin chuyến tham quan

2 Actor sẽ nhập thông tin chuyến

2.1 Nhấn “Lưu” nếu actor chỉ muốn lưu chuyến mới

2.2 Nhấn “Lưu và duyệt” nếu admin muốn lưu và duyệt chuyến mới

3 Hệ thống xác nhận thông tin học hàm đã được thêm

4 Actor trở lại trạng thái trước đó

5 Use case kết thúc phiên làm việc

Alternative flow 3 Nếu actor muốn dừng việc thêm thông tin chuyến tham quan

2.2 Actor trở lại trạng thái trước đó

Bảng 4.24 Đặc tả use case "Lưu trữ hồ sơ"

Name Lưu trữ hồ sơ

Brief description Lưu trữ hồ sơ chuyến tham quan

Pre-conditions Actor chọn “Lưu trữ hồ sơ” trong “Chuyến tham quan”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng ‘Lưu trữ hồ sơ:

1 Hệ thống hiển thị danh sách chuyến tham quan đã hoàn tất

2 Use case kết thúc phiên làm việc

Bảng 4.25 Đặc tả use case "Xem timeline graphic"

Brief description Xem timeline graphic

Pre-conditions Actor chọn “Dòng thời gian” trong “Chuyến tham quan”

Trigger - Actor có quyền admin

Basic flow Sau khi actor truy cập vào tính năng “Dòng thời gian”:

1 Hệ thống hiển thị thời gian chuyến lên dòng thời gian trong ngày

2 Use case kết thúc phiên làm việc

THIẾT KẾ ỨNG DỤNG

Thiết kế dữ liệu

5.1.1 Sơ đồ thiết kế dữ liệu

Hình 5.1 Sơ đồ thiết kế dữ liệu (1)

Hình 5.2 Sơ đồ thiết kế dữ liệu (2)

5.1.2 Mô tả sơ đồ thiết kế dữ liệu

Bảng 5.1 Mô tả collection bai-viet

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu Int Thứ tự bài viết

3 loaiBaiViet String Loại bài viết

4 fileAnhBia String Id file ảnh bìa bài viết

5 tieuDe String Tiêu đề bài viết

6 tieuDeEn String Tiêu đề tiếng anh bài viết

7 noiDung String Nội dung bài viết

8 noiDungEn String Nội dung tiếng anh bài viết

9 trangThai Boolean Trạng thái bài viết

Bảng 5.2 Mô tả collection banner

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu Int Thứ tự banner

3 tieuDe String Tiêu đề banner

4 fileBanner String Id file ảnh bìa banner

5 trangThai Boolean Trạng thái banner

5.1.2.3 Collection cau-hinh-he-thong

Bảng 5.3 Mô tả collection cau-hinh-he-thong

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 emailGuiThu String Email dùng để gửi thư

3 passwordEmailGuiThu String Password email gửi thư

4 emailNhanThu String Email dùng để nhận thư

5 phuCapCongTacVien double Phụ cấp cộng tác viên

Bảng 5.4 Mô tả collection chuyen-tham-quan

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự chuyến tham quan

3 tenChuyenThamQuan string Tên chuyến tham quan

4 noiDungThamQuan string Nội dung tham quan

5 thoiGianKhoiHanh Date Thời gian khởi hành

6 diaDiemKhoiHanh dia-diem Địa điểm khởi hành

7 phuongTien phuong-tien[] Danh sách phương tiện của chuyến

8 dotThamQuan ObjectId Id đợt tham quan

9 giangVienDangKy ObjectId Id giảng viên đăng ký

10 doanhNghiep ObjectId Id doanh nghiệp

11 thoiGianDuKien Date Thời gian đăng ký dự kiến

Date Thời gian bắt đầu tham quan

Date Thời gian kết thúc tham quan

14 danhSachSinhViens sinh-vien-tham- quan[]

Danh sách sinh viên tham quan

15 congTacViens cong-tac-vien- dan-doan[]

Danh sách cộng tác viên dẫn đoàn

16 phuCapCongTacVien double Phụ cấp cộng tác viên

17 kinhPhi double Tổng kinh phí chuyến thăm quan

18 thueXeNgoaiTruong boolean Trạng thái thuê xe ngoài trường

ObjectId Id file scan giấy xác nhận doanh nghiệp

20 fileScanKeHoach ObjectId Id file scan giấy kế hoạch

21 duongDan string Đường dẫn lưu trữ hình ảnh

ObjectId Id file xác nhận duyệt từ ban giám hiệu

23 thoiHanLamKhaoSat Date Thời hạn làm khảo sát

24 lyDo string Lý do nếu chuyến bị hủy

25 trangThai string Trạng thái của chuyến

Bảng 5.5, Mô tả collection cong-tac-vien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 maSV string Mã sinh viên

3 email string Email cộng tác viên

4 password string Password tài khoản cộng tác viên

5 hoTen string Họ tên cộng tác viên

6 dienThoai string Điện thoại cộng tác viên

7 roles string[] Quyền tài khoản

8 trangThai boolean Trạng thái cộng tác viên

Bảng 5.6 Mô tả collection doanh-nghiep

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 email string Email doanh nghiệp

3 password string Password tài khoản doanh nghiệp

4 hoTen string Họ tên doanh nghiệp

5 gioiTinh boolean Giới tính doanh nghiệp

6 dienThoai string Điện thoại doanh nghiệp

7 congTy string Công ty doanh nghiệp

8 diaChi string Địa chỉ doanh nghiệp

9 maSoThue string Mã số thuế doanh nghiệp

10 linhVucs linh-vuc[] Danh sách lĩnh vực

11 roles string[] Quyền doanh nghiệp

12 trangThai boolean Trạng thái doanh nghiệp

Bảng 5.7 Mô tả collection dot-tham-quan

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 tenDotThamQuan string Tên đợt tham quan

3 tuNgay date Ngày bắt đầu đợt tham quan

4 denNgay date Ngày kết thúc đợt tham quan

7 mucDich string Mục đích đợt tham quan

8 yeuCau string Yêu cầu đợt tham quan

9 noiDungDotThamQ uan string Nội dung đợt tham quan

10 trangThai boolean Trạng thái đợt tham quan

Bảng 5.8 Mô tả collection file-huong-dan

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự file hướng dẫn

3 tieuDe string Tiêu đề file hướng dẫn

4 tieuDeEn string Tiêu đề tiếng anh file hướng dẫn

5 fileHuongDan ObjectId Id file hướng dẫn

6 trangThai bool Trạng thái file hướng dẫn

Bảng 5.9 Mô tả collection giang-vien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 maGiangVien string Mã giảng viên

3 email string Email giảng viên

4 dienThoai string Điện thoại giảng viên

5 password string Password tài khoản giảng viên

6 hoTen string Họ tên giảng viên

7 gioiTinh boolean Giới tính giảng viên

8 hocHam ObjectId Học hàm giảng viên

9 hocVi ObjectId Học vị giảng viên

12 linhVucs linh-vuc[] Danh sách lĩnh vực

13 roles string[] Quyền giảng viên

14 trangThai boolean Trạng thái giảng viên

Bảng 5.10 Mô tả collection hoc-ham

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 tenHocHam string Tên học hàm

3 tenVietTat string Tên viết tắt học hàm

4 show boolean Tình trạng hiển thị của học hàm

5 trangThai boolean Trạng thái file hướng dẫn

Bảng 5.11 Mô tả collection hoc-vi

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 tenHocVi string Tên học vị

3 tenVietTat string Tên viết tắt học vị

4 show boolean Tình trạng hiển thị của học vị

5 trangThai boolean Trạng thái file hướng dẫn

5.1.2.12 Collection ket-qua-khao-sat-cong-tac-vien

Bảng 5.12 Mô tả collection ket-qua-khao-sat-cong-tac-vien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 chuyenThamQuan ObjectId Id chuyến tham quan

3 userKhaoSat ObjectId Người làm khảo sát

4 cauHoi cau-hoi-khao- sat-cong-tac- vien

Câu hỏi khảo sát cộng tác viên

5 thoiGianTraLoi date Thời gian trả lời

6 cauTraLoi string[] Câu trả lời

7 trangThai boolean Trạng thái kết quả khảo sát

5.1.2.13 Collection ket-qua-khao-sat-doanh-nghiep

Bảng 5.13 Mô tả collection ket-qua-khao-sat-doanh-nghiep

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 chuyenThamQuan ObjectId Id chuyến tham quan

3 userKhaoSat doanh-nghiep Người làm khảo sát

4 cauHoi cau-hoi-khao- sat-doanh- nghiep

Câu hỏi khảo sát doanh nghiệp

5 thoiGianTraLoi date Thời gian trả lời

6 cauTraLoi string[] Câu trả lời

7 trangThai boolean Trạng thái kết quả khảo sát

5.1.2.14 Collection ket-qua-khao-sat-sinh-vien

Bảng 5.14 Mô tả collection ket-qua-khao-sat-sinh-vien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 chuyenThamQuan ObjectId Id chuyến tham quan

3 userKhaoSat sinh-vien Người làm khảo sát

4 cauHoi cau-hoi-khao- sat-sinh-vien

Câu hỏi khảo sát sinh viên

5 thoiGianTraLoi date Thời gian trả lời

6 cauTraLoi string[] Câu trả lời

7 trangThai boolean Trạng thái kết quả khảo sát

Bảng 5.15 Mô tả collection khoa

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự khoa

5 tenKhoaEn string Tên tiếng anh khoa

6 trangThai boolean Trạng thái khoa

Bảng 5.16 Mô tả collection my-file

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

6 trangThai boolean Trạng thái file

Bảng 5.17 Mô tả collection nganh

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự ngành

5 trangThai boolean Trạng thái ngành

Bảng 5.18 Mô tả collection side-banner

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự side banner

3 tieuDe string Tiêu đề side banner

4 fileSidebanner string File side banner

5 trangThai boolean Trạng thái side banner

Bảng 5.19 Mô tả collection sinh-vien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 maSV string Mã sinh viên

3 cmnd string Chứng minh nhân dân

4 hoTen string Họ tên snh viên

5 email string Email sinh viên

7 password string Password tài khoản sinh viên

8 gioiTinh bool Giới tính sinh viên

9 dienThoai string Điện thoại sinh viên

10 ngaySinh date Ngày sinh sinh viên

12 roles string[] Quyền sinh viên

13 trangThai boolean Trạng thái sinh viên

Bảng 5.20 Mô tả collection tai-khoan

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 email string Email tài khoản admin

3 password string Password tài khoản admin

4 hoTen string Họ tên admin

5 roles string[] Quyền tài khoản

6 trangThai boolean Trạng thái tài khoản admin

5.1.2.21 Collection van-ban-bieu-mau

Bảng 5.21 Mô tả collection van-ban-bieu-mau

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 tenVanBanBieuMau string Tên văn bản biểu mẫu

3 tenVanBanBieuMauEn string Tên tiếng anh văn bản biểu mẫu

4 fileVanBanBieuMau ObjectId Id file văn bản biểu mẫu

5 trangThai boolean Trạng thái văn bản biểu mẫu

Bảng 5.22 Mô tả collection xac-thuc-token

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 Token string Token kiểm tra yêu cầu có hiệu lực

3 User string Id người dùng (doanh nghiệp, cộng tác viên)

4 expiredDate Date Ngày hết hạn

5.1.2.23 Document cau-hoi-khao-sat-cong-tac-vien

Bảng 5.23 Mô tả document cau-hoi-khao-sat-cong-tac-vien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự câu hỏi khảo sát

4 loaiCauHoi string Loại câu hỏi

5 luaChonToiDa int Lựa chọn tối đa

6 danhSachLuaChon string [] Danh sách lựa chọn

7 cauHoiBatBuoc boolean Trạng thái bắt buộc của câu hỏi

8 trangThai boolean Trạng thái câu hỏi

5.1.2.24 Document cau-hoi-khao-sat-doanh-nghiep

Bảng 5.24 Mô tả document cau-hoi-khao-sat-doanh-nghiep

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự câu hỏi khảo sát

4 loaiCauHoi string Loại câu hỏi

5 luaChonToiDa int Lựa chọn tối đa

6 danhSachLuaChon atring [] Danh sách lựa chọn

7 cauHoiBatBuoc boolean Trạng thái bắt buộc của câu hỏi

8 trangThai boolean Trạng thái câu hỏi

5.1.2.25 Document cau-hoi-khao-sat-sinh-vien

Bảng 5.25 Mô tả document cau-hoi-khao-sat-sinh-vien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Giá trị ID được tạo tự động

2 thuTu int Thứ tự câu hỏi khảo sát

4 loaiCauHoi string Loại câu hỏi

5 luaChonToiDa int Lựa chọn tối đa

6 danhSachLuaChon string [] Danh sách lựa chọn

7 cauHoiBatBuoc boolean Trạng thái bắt buộc của câu hỏi

8 trangThai boolean Trạng thái câu hỏi

5.1.2.26 Document cong-tac-vien-dan-doan

Bảng 5.26 Mô tả document cong-tac-vien-dan-doan

STT Tên Kiểu dữ liệu Ý nghĩa

1 congTacViens cong-tac-vien Cộng tác viên

2 ngayDangKy date Ngày đăng ký

4 nguoiDangKy cong-tac-vien Cộng tác viên

5 nguoiDuyet tai-khoan Tài khoản admin

6 thoiGianDenCongTy Date Thời gian đến công ty

7 fileCheckIn ObjectId Id hình ảnh checkin

8 FileCheckOut ObjectId Id hình ảnh checkout

9 gpsCheckIn GPS GPS khi cộng tác viên checkin

10 gpsCheckout GPS GPS khi cộng tác viên checkout

11 thoiGianRoiCongTy Date Thời gian cộng tác viên checkout rời công ty

12 trangThai boolean Trạng thái cộng tác viên dẫn đoàn

Bảng 5.27 Mô tả document dia-diem

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Id lĩnh vực

2 tenDiaDiem String Tên địa điểm

3 trangThai boolean Trạng thái địa điểm

Bảng 5.28 Mô tả document GPS

STT Tên Kiểu dữ liệu Ý nghĩa

5.1.2.29 Document ket-qua-khao-sat

Bảng 5.29 Mô tả document ket-qua-khao-sat

STT Tên Kiểu dữ liệu Ý nghĩa

1 cauHoiKhaoSat string Id câu hỏi khảo sát

2 cauTraLoi string[] Câu trả lời

Bảng 5.30 Mô tả document linh-vuc

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Id lĩnh vực

2 maLinhVuc string Mã lĩnh vực

3 tenLinhVuc string Tên lĩnh vực

4 trangThai boolean Trạng thái lĩnh vực

Bảng 5.31 Mô tả document phuong-tien

STT Tên Kiểu dữ liệu Ý nghĩa

1 _id ObjectId Id phương tiện

2 soThuTu int Số thứ tự phương tiện

4 bienSo string Biển số xe

6 soChoNgoi int Số chỗ ngồi

7 trangThai boolean Trạng thái phương tiện

5.1.2.32 Document sinh-vien-tham-quan

Bảng 5.32 Mô tả document sinh-vien-tham-quan

STT Tên Kiểu dữ liệu Ý nghĩa

1 sinhViens sinh-vien Sinh viên

2 thoiGianDiemDanh date Thời gian điểm danh

3 soPhutDiTre int Số phút sinh viên đi trễ, điểm danh sau thời gian bắt đầu tham quan

4 trangThai boolean Sinh viên tham dự hay vắng mặt

Lược đồ lớp (Class Diagram)

Sơ đồ tuần tự (Sequence Diagram)

5.3 Sơ đồ tuần tự (Sequence Diagram)

5.3.1 Sequence Hủy đăng ký dẫn đoàn

Hình 5.4 Sequence Hủy đăng ký dẫn đoàn

Hình 5.5 Sequence Đăng ký chuyến

5.3.3 Sequence Đăng ký dẫn đoàn

Hình 5.6 Sequence Đăng ký dẫn đoàn

5.3.4 Sequence Thực hiện khảo sát

Hình 5.7 Sequence Thực hiện khảo sát

5.3.5 Sequence Thêm mới sinh viên vào chuyến bằng form

Hình 5.8 Sequence Thêm mới sinh viên vào chuyến bằng form

5.3.6 Sequence Thêm mới lĩnh vực

Hình 5.9 Sequence Thêm mới lĩnh vực

5.3.7 Sequence Cập nhật lĩnh vực

Hình 5.10 Sequence Cập nhật lĩnh vực

5.3.8 Sequence Thay đổi trạng thái lĩnh vực

Hình 5.11 Sequence Thay đổi trạng thái lĩnh vực

Thiết kế giao diện

Bảng 5.33 Mô tả màn hình phía admin

STT Tên màn hình Mô tả

SUP01 Đăng nhập Màn hình đăng nhập

SUP02 Quên mật khẩu Màn hình quên mật khẩu

Hình 5.12 Màn hình đăng nhập Bảng 5.34 Mô tả màn hình đăng nhập

1 Email True Text Nhập email

2 Mật khẩu True Text Nhập mật khẩu

Button Khi click sẽ hiển thị mật khẩu người dùng đã nhập

4 Quyền hệ thống True Select option

Chọn quyền hệ thống khi đăng nhập

Checkbox Lựa chọn ghi nhớ đăng nhập trong lần đăng nhập sau đó

6 Quên nhập khẩu Khi click sẽ chuyển đến màn hình

7 Đăng nhập Button Khi click sẽ chuyển đến màn hình SCA

Button Khi click sẽ chuyển đến trang đăng nhập tài khoản Google

Hình 5.13 Màn hình quên mật khẩu Bảng 5.35 Mô tả màn hình quên mật khẩu

1 Email True Text Nhập email

2 Hủy Button Khi click sẽ chuyển đến màn hình

3 Yêu cầu mật khẩu mới

Button Khi click sẽ chuyển đến màn hình

Bảng 5.36 Mô tả màn hình phía admin

STT Tên màn hình Mô tả

SAP01 Danh sách chuyến tham quan Màn hình hiện thị danh sách chuyến tham quan

SAP02 Thêm mới chuyến Màn hình thêm mới chuyến tham quan

SAP03 Chỉnh sửa danh sách sinh viên

Màn hình chỉnh sửa danh sách sinh viên tham quan

SAP04 Thêm sinh viên tham quan Màn hình thêm sinh viên tham quan SAP05 Điểm danh bù Màn hình điểm danh bù

SAP06 Nhập danh sách sinh viên Màn hình nhập danh sách sinh viên từ bên ngoài

SAP07 Chỉnh sửa danh sách cộng tác viên

Màn hình chỉnh sửa danh sách cộng tác viên dẫn đoàn

SAP08 Thêm cộng tác viên dẫn đoàn Màn hình thêm cộng tác viên dẫn đoàn SAP09 Chỉnh sửa chuyến tham quan Màn hình chỉnh sửa chuyến tham quan

SAP10 Upload file quyết định của

Màn hình upload file quyết định của BGH

5.3.2.1 SAP01: Danh sách chuyến tham quan

Hình 5.14 Màn hình danh sách chuyến tham quan Bảng 5.37 Mô tả màn hình danh sách chuyến tham quan

Text Nhập thông tin cần tìm kiếm

2 Tìm kiếm Button Khi click sẽ hiển thị tất cả bảng ghi phù hợp với thông tin cần tìm kiếm

3 Thêm mới Button Khi click sẽ chuyển tới hình

Data từ API Chọn đợt tham quan

Data từ API Chọn giảng viên

Data từ API Chọn cộng tác viên

Data từ API Chọn doanh nghiệp

8 Năm học Text Nhập năm học

Text/Select Nhập/chọn thời gian bắt đầu

Text/Select Nhập/chọn thời gian kết thúc

12 Tabs danh sách theo trạng thái tour

Tabs Data từ API Hiện thị các tabs danh sách tour theo trạng thái tour

13 Cập nhật danh sách sinh viên

Button Hiển thị danh sách sinh viên tham gia tour Khi click sẽ chuyển sang màn hình SAP03

14 Cập nhật danh sách cộng tác viên

Button Hiển thị danh sách cộng tác viên dẫn tour Khi click sẽ chuyển sang màn hình SAP07

Button Khi click sẽ chuyển đến hình SAP09

16 File quyết định của ban giám hiệu

Button Khi click sẽ hiển thị bảng ghi đầu tiên của danh mục

17 Nút chuyển tới bảng ghi đầu tiên

Button Khi click sẽ hiển thị bảng ghi đầu tiên của danh mục

18 Nút chuyển tới bảng ghi trước đó

Button Khi click sẽ hiển thị bảng ghi trước đó của danh mục

19 Số thứ tự bảng ghi

Text Hiển thị số thứ tự của bảng ghi

20 Nút chuyển tới bảng ghi kế tiếp

Button Khi click sẽ hiển thị bảng ghi kế tiếp của danh mục

21 Nút chuyển tới bảng ghi cuối cùng

Button Khi click sẽ hiển thị bảng ghi cuối cùng của danh mục

Text Data từ API Hiển thị tổng số bảng ghi

5.3.2.2 SAP02: Thêm mới chuyến tham quan

Hình 5.15 Màn hình thêm mới chuyến tham quan Bảng 5.38 Mô tả màn hình thêm mới chuyến tham quan

1 Tên chuyến tham quan true Text Nhập tên chuyến tham quan

Text Nhập nội dung chuyến tham quan

3 Địa điểm khởi hành true Select Data từ

Chọn địa điểm khởi hành

4 Phụ cấp cộng tác viên

Text Nhập phụ cấp công tác viên

5 Kinh phí True Text Nhập kinh phí của chuyến tham quan

Button Màn hình mở file explore trên máy

7 Xem trước Button Xem trước file có sẵn

True Select Data từ API Chọn giảng viên đăng ký chuyến tham quan

Select Data từ API Chọn doanh nghiệp

Button Thêm mới doanh nghiệp khi không có trong bảng select Khi click sẽ chuyển

11 Phương tiện Select Data từ API Chọn phương tiện di chuyển

True Text/Select Nhập/chọn thời gian khởi hành

True Text/Select Nhập/chọn thời gian bắt đầu

True Text/Select Nhập/chọn thời gian kết thúc

Chọn có/ không cho việc thuê xe ngoài trường cho chuyến tham quan

16 Đóng Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình

17 Lưu Button Khi click sẽ lưu thông chuyến tham quan và chuyển sang màn hình

18 Lưu và duyệt button Khi click sẽ lưu thông chuyến tham quan đồng thời chuyển sang trạng thái đã duyệt và chuyển sang màn hình

5.3.2.3 SAP03: Chỉnh sửa danh sách sinh viên

Hình 5.16 Màn hình chỉnh sửa danh sách sinh viên Bảng 5.39 Mô tả màn hình chỉnh sửa danh sách sinh viên

Text Nhập thông tin cần tìm kiếm

2 Tìm kiếm Button Khi click sẽ hiển thị tất cả bảng ghi phù hợp với thông tin cần tìm kiếm

3 Thêm mới Button Khi click sẽ chuyển tới hình

Button Khi click sẽ chuyển tới hình

5 Nhập danh sách sinh viên

Button Khi click sẽ chuyển tới hình

6 Xóa Button Khi click sẽ xóa sinh viên và cập nhật lại dữ liệu

5.3.2.4 SAP04: Thêm sinh viên tham quan

Hình 5.17 Màn hình thêm sinh viên tham quan Bảng 5.40 Mô tả màn hình thêm sinh viên tham quan

True text/selection Data từ

2 Hủy Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SAP03

3 Lưu Button Khi click sẽ lưu thông tin và chuyển sang màn hình SAP03

Hình 5.18 Màn hình điểm danh bù Bảng 5.41 Mô tả màn hình điểm danh bù

Text Nhập mã số sinh viên

2 Số phút đi trễ True

Text Nhập số phút đi trễ

3 Điểm danh Button Khi click sẽ lưu thông tin và chuyển sang màn hình SAP03

4 Đóng Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SAP03

5.3.2.6 SAP06: Nhập danh sách sinh viên

Hình 5.19 Màn hình nhập danh sách sinh viên Bảng 5.42 Mô tả màn hình nhập danh sách sinh viên

1 Open Button Khi click sẽ lưu thông tin và chuyển sang màn hình SAP03

2 Cancel Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SAP03

5.3.2.7 SAP07: Chỉnh sửa danh sách cộng tác viên

Hình 5.20 Màn hình chỉnh sửa danh sách cộng tác viên

Bảng 5.43 Mô tả màn hình chỉnh sửa danh sách cộng tác viên

Button Khi click sẽ chuyển sang màn hình SAP08

Button Khi click sẽ thay đổi trạng thái của bảng ghi.

3 Hủy Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SAP01

5.3.2.8 SAP08: Thêm cộng tác viên dẫn đoàn

Hình 5.21 Thêm cộng tác viên dẫn đoàn

Bảng 5.44 Thêm cộng tác viên dẫn đoàn

True text/selection Data từ

Nhập/ chọn cộng tác viên

2 Hủy Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SAP07

3 Lưu Button Khi click sẽ lưu thông tin và chuyển sang màn hình SAP07

5.3.2.9 SAP09: Chỉnh sửa chuyến tham quan

Hình 5.22 Màn hình chỉnh sửa chuyến tham quan

Bảng 5.45, Mô tả màn hình chỉnh sửa chuyến tham quan

1 Tên chuyến tham quan true Text Nhập tên chuyến tham quan

Text Nhập nội dung chuyến tham quan

3 Địa điểm khởi hành true Select Data từ

Chọn địa điểm khởi hành

4 Phụ cấp cộng tác viên

Text Nhập phụ cấp công tác viên

5 Kinh phí True Text Nhập kinh phí của chuyến tham quan

6 Chọn tệp Button Màn hình mở file explore trên máy

Chọn giảng viên đăng ký chuyến tham quan

Button Thêm mới doanh nghiệp khi không có trong bảng select Khi

89 click sẽ chuyển sang màn hình

Chọn phương tiện di chuyển

True Text/Select Nhập/chọn thời gian khởi hành

True Text/Select Nhập/chọn thời gian bắt đầu

True Text/Select Nhập/chọn thời gian kết thúc

Chọn có/ không cho việc thuê xe ngoài

90 trường cho chuyến tham quan

16 Đóng Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình

17 Lưu Button Khi click sẽ lưu thông chuyến tham quan và chuyển sang màn hình

18 Lưu và duyệt button Khi click sẽ lưu thông chuyến

91 tham quan đồng thời chuyển sang trạng thái đã duyệt và chuyển sang màn hình

5.3.2.10 SAP10: Upload file quyết định của BGH

Hình 5.23 Màn hình upload file quyết định của BGH Bảng 5.46 Mô tả màn hình uploadfile quyết định của BGH

1 Open Button Khi click sẽ lưu thông tin và chuyển sang màn hình SAP01

2 Cancel Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SAP01

Bảng 5.47 Mô tả màn hình phía cộng tác viên

STT Tên màn hình Mô tả

SGP01 Màn hình chính Màn hình chính hiển thị danh sách chuyến tham quan chưa đăng ký

SGP02 Xem thông tin Màn hình xem thông tin chuyến tham quan

SGP03 Xác nhận đăng ký chuyến tham quan

Màn hình xác nhận đăng ký chuyến tham quan

SGP04 Điểm danh tham quan Màn hình hiển thị danh sách chuyến tham quan cộng tác viên đang dẫn đoàn

SGP05 Checkin/ checkout Màn hình checkin/ checkout

SGP06 Điểm danh sinh viên Màn hình điểm danh sinh viên

SGP07 Điểm danh bằng QR Code Màn hình điểm danh bằng QR code SGP08 Điểm danh bằng nhập liệu Màn hình điểm danh bằng nhập liệu

SGP09 Khảo sát Màn hình hiển thị danh sách chuyến đã dẫn đoàn

SGP10 Thực hiện khảo sát Màn hình thực hiện khảo sát

Hình 5.24 Màn hình chính phía cộng tác viên

Bảng 5.48 Mô tả màn hình chính phía cộng tác viên

1 Thông tin Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SGP02

2 Đăng ký Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SSP04

Button Khi click sẽ hiển thị những chuyến tham quan có thể đăng ký.

Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SSP05

5 Khảo sát Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SSP11

5.3.3.2 SGP02: Xem thông tin chuyến tham quan

Hình 5.25 Màn hình xem thông tin chuyến tham quan Bảng 5.49 Mô tả màn hình xem thông tin chuyến tham quan

1 Đóng Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SGP01

5.3.3.3 SGP03: Xác nhận đăng ký chuyến tham quan

Hình 5.26 Màn hình xác nhận đăng ký chuyến Bảng 5.50 Mô tả màn hình xác nhận đăng ký chuyến tham quan

1 Hủy Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SGP01

2 Lưu Button Khi click sẽ lưu thông tin và chuyển sang màn hình SGP01

5.3.3.4 SGP04: Điểm danh tham quan

Hình 5.27 Màn hình điểm danh chuyến Bảng 5.51 Mô tả màn hình điểm danh chuyến

Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SGP06

2 View Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SGP07

Hình 5.28 Màn hình checkin/ checkout Bảng 5.52 Mô tả màn hình checkin/ checkout

1 Open Button Khi click sẽ lưu thông tin và chuyển sang màn hình SGP04

2 Cancel Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SGP04

5.3.3.6 SGP06: Điểm danh sinh viên

Hình 5.29 Màn hình điểm danh sinh viên Bảng 5.53 Màn hình điểm danh sinh viên

Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SGP07

5.3.3.7 SGP07: Điểm danh bằng QR code

Hình 5.30 Màn hình điểm danh bằng QR code Bảng 5.54 Mô tả màn hình điểm danh bằng QR code

Select Chọn có để điểm danh bằng QR code, không để điểm danh nhập liệu

2 Scan other Button Khi click sẽ lưu thông tin và trở về trạng thái trước đó

3 Điểm danh Button Khi click sẽ lưu thông tin và chuyển sang màn hình SGP06

5.3.3.8 SGP08: Điểm danh bằng nhập liệu

Hình 5.31 Màn hình điểm danh nhập liệu

Bảng 5.55 Mô tả màn hình điểm danh nhập liệu

1 Mã số sinh viên true Text Nhập mã số sinh viên

2 Điểm danh Button Khi click sẽ lưu thông tin và chuyển sang màn hình SGP06

Hình 5.32 Màn hình khảo sát

Bảng 5.56 Mô tả màn hình khảo sát

Button Khi click sẽ thoát màn hình và chuyển sang màn hình SGP010

5.3.3.10 SGP10: Thực hiện khảo sát

Hình 5.33 Màn hình thực hiện khảo sát Bảng 5.57 Mô tả màn hình thực hiện khảo sát

2 Hủy Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SSP01

3 Lưu Button Khi click sẽ lưu kết quả khảo sát và chuyển sang màn hình SSP02

Bảng 5.58 Mô tả màn hình phía giảng viên

STT Tên màn hình Mô tả

SIP01 Màn hình chính Màn hình chính hiển thị danh sách chuyến tham quan giảng viên đã đăng ký và đang diễn ra

SIP02 Thêm mới chuyến tham quan

Màn hình thêm mới chuyến tham quan

SIP03 Thêm mới doanh nghiệp Màn hình thêm mới doanh nghiệp

SIP04 Chỉnh sửa chuyến tham quan

Màn hình chỉnh sửa chuyến tham quan

Hình 5.34 Màn hình chính của giảng viên

Bảng 5.59 Mô tả màn hình chính của giảng viên

Button Khi click sẽ chuyển sang màn hình SIP02.

2 Chính sửa Button Khi click sẽ chuyển sang màn hình SIP04.

5.3.4.2 SIP02: Thêm mới chuyến tham quan

Hình 5.35 Màn hình thêm mới chuyến tham quan

Bảng 5.60 Mô tả màn hình thêm mới chuyến tham quan

1 Tên chuyến tham quan true Text Nhập tên chuyến tham quan

Text Nhập nội dung chuyến tham quan

3 Địa điểm khởi hành true Select Data từ

Chọn địa điểm khởi hành

4 Phụ cấp cộng tác viên

Text Nhập phụ cấp công tác viên

5 Kinh phí True Text Nhập kinh phí của chuyến tham quan

Select Data từ API Chọn doanh nghiệp

Button Thêm mới doanh nghiệp khi không có trong bảng select Khi click sẽ chuyển sang màn hình SIP03

Select Data từ API Chọn phương tiện di chuyển

Nhập/chọn thời gian khởi hành

Nhập/chọn thời gian bắt đầu

Nhập/chọn thời gian kết thúc

Chọn có/ không cho việc thuê xe ngoài trường cho chuyến tham quan

13 Đóng Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SIP01

14 Lưu Button Khi click sẽ lưu thông chuyến tham quan và chuyển sang màn hình SIP01

5.3.4.3 SIP03: Thêm mới doanh nghiệp

Hình 5.36 Màn hình thêm mới doanh nghiệp Bảng 5.61 Mô tả màn hình thêm mới doanh nghiệp

1 Tên công ty true Text Nhập tên công ty

2 Email công ty true Text Nhập email công ty

3 Họ tên chủ công ty true Text Nhập họ tên chủ công ty

4 Giới tính true Radio button

5 Số điện thoại true Text Nhập số điện thoại

6 Dịa chỉ True Text Nhập địa chỉ

7 Mã số thuế True Text Nhập mã số thuế

8 Lĩnh vực True Select Data từ API Chọn lĩnh vực của doanh nghiệp

9 Quyền True Select Data từ API Chọn quyền hệ thống

10 Nút hủy Button Khi click sẽ chuyển sang màn hình

11 Lưu Button Khi click sẽ lưu lại thông tin và chuyển sang màn hình

5.3.4.4 SIP04: Chỉnh sửa chuyến tham quan

Hình 5.37 Giao diện chỉnh sửa chuyến tham quan

Bảng 5.62 Mô tả màn hình chỉnh sửa chuyến tham quan

1 Tên chuyến tham quan true Text Chỉnh sửa tên chuyến tham quan

Text Chỉnh sửa nội dung chuyến tham quan

3 Địa điểm khởi hành true Select Data từ

Chọn địa điểm khởi hành

4 Phụ cấp cộng tác viên

Text Chỉnh sửa phụ cấp công tác viên

5 Kinh phí True Text Chỉnh sửa kinh phí của chuyến tham quan

Button Thêm mới doanh nghiệp khi không có trong bảng select Khi click sẽ chuyển sang màn hình

Chọn phương tiện di chuyển

True Text/Select Chỉnh sửa

/chọn thời gian khởi hành

True Text/Select Chỉnh sửa

/chọn thời gian bắt đầu

True Text/Select Chỉnh sửa

/chọn thời gian kết thúc

Chọn có/ không cho việc thuê xe ngoài trường cho chuyến tham quan

13 Đóng Button Khi click sẽ thoát khỏi màn

115 hình và chuyển sang màn hình

14 Lưu Button Khi click sẽ lưu thông chuyến tham quan và chuyển sang màn hình

5.4.5 Phía sinh viên, doanh nghiệp

Bảng 5.63 Mô tả màn hình phía sinh viên, doanh nghiệp

STT Tên màn hình Mô tả

SSP01 Màn hình chính Màn hình chính hiển thị danh sách chuyến tham quan sinh viên/ doanh nghiệp tham gia và đang diễn ra

SSP02 Thực hiện khảo sát chuyến tham quan

Màn hình thực hiện khảo sát chuyến tham quan

Hình 5.38 Màn hình chính phía sinh viên, doanh nghiệp Bảng 5.64 Mô tả màn hình chính phía sinh viên doanh nghiệp

Button Khi click sẽ chuyển sang màn hình SSP02.

5.3.5.2 SSP02: Thực hiện khảo sát

Hình 5.39 Màn hình khảo sát Bảng 5.65 Mô tả màn hình thực hiện khảo sát

2 Hủy Button Khi click sẽ thoát khỏi màn hình và chuyển sang màn hình SSP01

3 Lưu Button Khi click sẽ lưu kết quả khảo sát và chuyển sang màn hình SSP02

CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG

Ngày đăng: 05/06/2022, 17:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] JWT.IO - JSON web tokens introduction. (n.d.). JSON Web Tokens - jwt.io. Retrieved from: https://jwt.io/introduction Sách, tạp chí
Tiêu đề: JWT.IO - JSON web tokens introduction
[5] NG-ZORRO Team. (n.d.). Angular UI component library. NG-ZORRO - Ant Design Of Angular. Retrieved from: https://ng.ant.design/docs/introduce/en Sách, tạp chí
Tiêu đề: Angular UI component library
[1] Spring framework. (n.d.). Spring. Retrieved from: https://spring.io/projects/spring-framework Link
[2] Cornellier. (2019). Angular (web framework). Retrieved from: https://en.wikipedia.org/wiki/Angular_(web_framework) Link
[3] MongoDB. Retrieved from: https://www.mongodb.com/ Link

HÌNH ẢNH LIÊN QUAN

Hình 2.5. Cấu trúc Json Web Token - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Hình 2.5. Cấu trúc Json Web Token (Trang 26)
Bảng 4.2. Usecase - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.2. Usecase (Trang 33)
Hình 4.5. Lược đồ usecase actor Sinh viên - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Hình 4.5. Lược đồ usecase actor Sinh viên (Trang 40)
Bảng 4.3. Đặc tả usecase "Xem danh sách lĩnh vực". - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.3. Đặc tả usecase "Xem danh sách lĩnh vực" (Trang 41)
Bảng 4.5. Đặc tả usecase "Thay đổi trạng thái lĩnh vực". - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.5. Đặc tả usecase "Thay đổi trạng thái lĩnh vực" (Trang 42)
Bảng 4.4. Đặc tả usecase "Cập nhật lĩnh vực". - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.4. Đặc tả usecase "Cập nhật lĩnh vực" (Trang 42)
Bảng 4.11. Đặc tả usecase "Xem theo trạng thái đang xử lý" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.11. Đặc tả usecase "Xem theo trạng thái đang xử lý" (Trang 46)
Bảng 4.12. Đặc tả usecase "Xem theo trạng thái sẵn sàng chưa có đợt" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.12. Đặc tả usecase "Xem theo trạng thái sẵn sàng chưa có đợt" (Trang 46)
Bảng 4.13. Đặc tả usecase "Xem theo trạng thái sẵn sàng" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.13. Đặc tả usecase "Xem theo trạng thái sẵn sàng" (Trang 47)
Bảng 8 Tiền vốn huy động khác từ năm 1997-2001 - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 8 Tiền vốn huy động khác từ năm 1997-2001 (Trang 48)
Bảng 4.15. Đặc tả usecase "Upload file quyết định của BGH" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.15. Đặc tả usecase "Upload file quyết định của BGH" (Trang 48)
Bảng 4.14. Đặc tả usecase "Xem theo trạng thái hủy" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.14. Đặc tả usecase "Xem theo trạng thái hủy" (Trang 48)
Bảng 4.16. Đặc tả usecase "Xem danh sách cộng tác viên" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.16. Đặc tả usecase "Xem danh sách cộng tác viên" (Trang 49)
Bảng 4.18. Đặc tả usecase "Xem danh sách sinh viên tham quan" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.18. Đặc tả usecase "Xem danh sách sinh viên tham quan" (Trang 50)
Bảng 4.20. Đặc tả usecase "Import danh sách sinh viên" - Xây dựng website quản lý tham quan của phòng quan hệ doanh nghiệp tại trường đại học sư phạm kỹ thuật TP HCM   đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin
Bảng 4.20. Đặc tả usecase "Import danh sách sinh viên" (Trang 51)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w