1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng WEBSITE hỗ trợ dạy học tiếng anh cho trung tâm ngoại ngữ

116 20 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

Định dạng
Số trang 116
Dung lượng 2,87 MB

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

Nội dung

3.2.1.2 Yêu cầu tiến hóa STT Nghiệp vụ Tham số cần thay đổi Miền giá trị cần thay đổi 3.2.1.3 Yêu cầu hiệu quả lưu trữ Ghi chú 3 Quản lý thông tin cá nhân Ngay tức thì 7 Xem danh sách

Trang 1

Copyright © 2020 by HOMIES team

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

-🙞🙜🕮🙞🙜 -BÁO CÁO ĐỒ ÁN 2

ĐỀ TÀI:

XÂY DỰNG WEBSITE HỖ TRỢ DẠY HỌC TIẾNG ANH CHO

TRUNG TÂM NGOẠI NGỮ WEBSITE: MR.SMITH

GVHD: Nguyễn Thị Thanh Trúc

Sinh viên thực hiện:

TP.Thủ Đức, tháng 6 năm 2021

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, nhóm tác giả xin chân thành cảm ơn quí thầy cô khoa Công nghệ Phần mềm, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM, đã tận tình hướng dẫn nhóm trong suốt thời gian qua Những kiến thức mà thầy cô đã truyền đạt là nền tảng quan trọng để nhóm có thể hoàn thành đề tài này

Nhóm tác giả xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc đến ThS Nguyễn Thị Thanh Trúc, cảm ơn cô đã tận tình hướng dẫn và tạo điều kiện tốt nhất cho nhóm hoàn thành đề tài này Những lời động viên, góp ý chân tình của cô là động lực quí báu để nhóm vượt qua những khó khăn khi tìm hiểu và thực hiện đề tài Trong thời gian hơn 3 tháng thực hiện đề tài, nhóm tác giả đã cố gắng vận dụng những kiến thức nền tảng đã học, kết hợp học hỏi và tìm hiểu công nghệ mới để ứng dụng xây dựng đề tài môn học Tuy nhiên trong quá trình thực hiện, do kiến thức và kinh nghiệm còn nhiều hạn chế, khó tránh khỏi những thiếu sót Chính vì vậy, nhóm tác giả rất mong nhận được sự góp ý từ quí thầy cô để nhóm hoàn thiện thêm những kiến thức mà nhóm đã học tập, làm hành trang quí báu cho nhóm trong công việc sau này

Sau cùng, nhóm tác giả xin kính chúc quý thầy cô ở khoa Công nghệ phần mềm

và cô Nguyễn Thị Thanh Trúc thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện

sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau

Xin chân thành cảm ơn quí thầy cô !

Nhóm tác giả

Trang 3

NHẬN XÉT (Của giáo viên hướng dẫn)

Trang 4

DANH SÁCH THÀNH VIÊN NHÓM

Trang 5

MỤC LỤC

TỔNG QUAN VỀ ĐỀ TÀI 1

1.1 Đặt vấn đề 1

1.2 Giải pháp 1

1.3 Mục tiêu đề tài 1

1.4 Phạm vi đề tài 2

1.5 Công cụ sử dụng 2

1.6 Đối tượng nghiên cứu 2

CƠ SỞ LÝ THUYẾT 3

2.1 Kiến trúc Client-Server 3

2.2 NestJS 4

2.3 PostgreSQL 4

2.4 JWT … 8

2.5 NextJS 9

2.6 Axios … 10

KHẢO SÁT VÀ PHÂN TÍCH ĐẶC TẢ YÊU CẦU 12

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

3.2 Danh sách yêu cầu 14

Yêu cầu khách hàng 14

Bảng trách nhiệm cho từng yêu cầu 17

Yêu cầu phần cứng 23

3.3 Quy tắc nghiệp vụ 25

3.4 Báo cáo khả thi 25

Báo cáo tóm tắt đề tài 25

Nền tảng dự án 26

Chi tiết dự án 26

Đánh giá 27

3.5 Usecase, Đặc tả usecase và sơ đồ hoạt động 27

Usecase tổng quát 29

Trang 6

Usecase cho Khách 29

Usecase cho Thành viên 35

Usecase cho Giảng viên 42

Usecase cho Học viên 54

Usecase cho Quản lý 62

3.6 Sơ đồ tuần tự 79

Sơ đồ tuần tự việc xem khóa học 79

Sơ đồ tuần tự cho việc đăng ký khóa học 80

Sơ đồ tuần tự cho việc nhập thêm thông báo mới 80

Sơ đồ tuần tự cho việc thêm tài khoản 80

Sơ đồ tuần tự cho việc thêm khóa học 82

Sơ đồ tuần tự cho việc lập báo cáo 82

3.7 Sơ đồ trạng thái 83

Sơ đồ trạng thái cho Đăng nhập 83

Sơ đồ trạng thái cho Thêm tài khoản 84

Sơ đồ trạng thái cho đăng ký khóa học 84

Sơ đồ trạng thái cho Tạo khóa học 86

Sơ đồ trạng thái cho Tạo thông báo 86

State Diagram cho bình luận 87

3.8 Sơ đồ lớp 89

Mô hình thực thể ERD hoàn thiện 89

Sơ đồ lớp 90

Mô tả sơ đồ lớp 90

THIẾT KẾ HỆ THỐNG 96

4.1 Sơ đồ logic 96

Thiết kế sơ đồ logic 96

Mô tả sơ đồ logic 97

4.2 Thiết kế kiến trúc 102

Kiến trúc tổng quan 102

Trang 7

4.3 Thiết kế giao diện 103

Đăng nhập 103

Đăng ký 104

Trang chủ 104

Khóa học 105

Đăng ký lớp 106

4.4 Triển khai 106

Môi trường phát triển ứng dụng 106

Môi trường triển khai ứng dụng 106

Kiểm thử 106

Kết luận và hướng phát triển 108

5.1 Kết luận 108

Kết quả đạt được 108

Điểm đặc sắc của đề tài 108

5.2 Hướng phát triển 108

Trang 8

TỔNG QUAN VỀ ĐỀ TÀI

1.1 Đặt vấn đề

Để bám kịp tốc độ phát triển chóng mặt của nền giáo dục thế giới nói chung và Việt Nam nói riêng, các hoạt động giáo dục dần được “số hoá”, đặc biệt là trong thời kì covid-

19, học sinh không thể đến trường vì vậy việc học qua trực tuyến là vô cùng cấp thiết

Thấy được nhu cầu trên, nhóm quyết định chọn đề tài “XÂY DỰNG WEBSITE HỖ TRỢ DẠY HỌC TIẾNG ANH CHO TRUNG TÂM NGOẠI NGỮ” (đồ án được ThS Nguyễn Thị Thanh Trúc nắm vai trò giảng viên hướng dẫn)

Với tiềm năng rộng mở của dự án dành cho dạy học như hiện nay, các khóa học trực tuyến dần nổi lên như một hiện tượng và phát triển rộng khắp trên các nước, và nay, học trực tuyến đã đặt chân đến Việt Nam

Mr Smith mô phỏng một trung tâm ngoại ngữ dựa trên nhu cầu thực tế hiện nay một

số trung tâm chưa được tiếp cận nhiều với công nghệ Mr Smith hứa hẹn sẽ là trung web đắc lực cho không chỉ học viên mà còn là quản lý trung tâm, mở rộng tiềm năng, tiếp cận thêm với nhiều đối tượng học viên và giảng viên Rút ngắn rất nhiều thời gian trong việc vận hành giảng dạy, quản lý và mang lại trải nghiệm tuyệt vời hơn với công việc hiện tại

1.2 Giải pháp

Để có thể hoàn thành được đề tài thì cần phải nghiên cứu những nội dung như sau:

• Tìm hiểu cách thức vận hành quản lý của trung tâm ngoại ngữ

• Nghiên cứu nhu cầu của từng đối tượng người sử dụng (học viên, giảng viên

và quản lý) để có giải pháp thích hợp

• Tìm hiểu một vài các trung tâm ngoại ngữ

• Nghiên cứu phương pháp dạy và học tiếng anh

1.3 Mục tiêu đề tài

Mục tiêu cơ bản là thực hiện hóa kiến thức đã học trong quá trình triển khai đồ án

Đó là xây dựng một website hoàn thiện về mặt giao diện và trải nghiệm của người dùng xử

lý dữ liệu

Xây dựng website Mr Smith

Trang 9

• Thực hiện được các chức năng cơ bản của một website dạy học

• Trang dashboard giúp trung tâm có thể quản lý, cập nhật thông tin

• Tìm kiếm hỗ trợ người dùng

1.4 Phạm vi đề tài

Do thời gian thực hiện đề tài có giới hạn, cũng như những kiến thức của nhóm về trung tâm ngoại ngữ chưa hoàn toàn sâu sắc, nên trong phạm vi khóa luận này nhóm tác giả chỉ tập trung làm những chức năng cơ bản của website, đánh giá những ưu khuyết điểm nổi bật nhất của website Về mặt hiệu năng hệ thống khi triển khai trong thời gian dài

và các điều kiện hạ tầng khác, do không có điều kiện kiểm chứng thực tế, nhóm chỉ trình bày lại theo một số nguồn tài liệu tham khảo

Về việc xây dựng website quản lý trung tâm ngoại ngữ , sẽ tập trung vào việc hỗ trợ công tác Quản lý các khóa học, Quản lý các kỳ thi, Quản lý các lớp học,…

1.5 Công cụ sử dụng

Công cụ dùng để phân tích, thiết kế: draw.io, Astah, Adobe XD

Công cụ chạy thử API: Postman, Swagger UI

Công cụ xây dựng website: Visual Studio Code, Node package manager

Công cụ quản lý dự án: Github, Messenger Group, Microsoft Teams

Công cụ soạn thảo: Excel, Word, Notepad

1.6 Đối tượng nghiên cứu

Công nghệ xây dựng back-end: NestJS

Công nghệ xây dựng cơ sở dữ liệu: PostgreSQL

Công nghệ bảo mật: JWT

Công nghệ xây dựng font-end: NextJS

Công nghệ kết nối dữ liệu: Axios

Trang 10

CƠ SỞ LÝ THUYẾT

2.1 Kiến trúc Client-Server

Figure 1Kiến trúc client-server

Mô hình Client-Server là một mô hình nổi tiếng trên mạng máy tính, phổ biến và

được áp dụng rộng rãi ở trên các trang Web hiện nay

Ý tưởng của mô hình này như sau: Client (máy khách) sẽ gửi yêu cầu (request) đến Server (máy chủ, cung ứng các dịch vụ cho các máy khách) Server sẽ xử lý dữ liệu và gửi kết quả về cho Client

Lý do nhóm chọn Client-Server:

– Client-Server có khả năng chống quá tải mạng

– Client-Server đảm bảo toàn vẹn dữ liệu khi có sự cố xảy ra

Trang 11

2.2 NestJS

Nest (NestJS) là một framework để xây dựng các ứng dụng bằng Node.js hiệu

quả, và dể mở rộng Nó sử dụng ngôi ngữ bậc cao của javascrip là TypeScript (nhưng vẫn cho phép các nhà phát triển sử dụng JavaScript thuần túy) và kết hợp các tính chất của OOP (Lập trình hướng đối tượng), FP (Lập trình chức năng) và FRP (Lập trình phản ứng chức năng)

Về bản chất Nest sử dụng các framework máy chủ HTTP mạnh mẽ như là Express (mặc định) và có thể tùy chọn cấu hình để sử dụng Fastify

Nest cung cấp một tầng trừu tượng trên các framework Node.js phổ biến này (Express / Fastify), nhưng cũng hỗ trợ API của họ trực tiếp cho nhà phát triển Điều này cho phép các nhà phát triển tự do sử dụng vô số các mô-đun của bên thứ ba có sẵn cho nền tảng cơ bản Có thể hiểu là tất cả các package mà chúng ta cài thêm khi sử dụng Express / Fastify đều có thể tích hợp dể dàng vào Nestjs

Lý do nhóm chọn NestJS:

NestJS là một dự án mà tác giả muốn wapper lại mã nguồn, tối ưu và sắp xếp mã nguồn dựa trên NodeJS và ExpressJS Nhờ đó mà mã nguồn dự án của bạn gọn gàng hơn,

dễ bảo trì và tốc độ phát triển, xây dựng ứng dụng cũng nhanh hơn

Với ưu điểm nổi bật là tính hiệu quả, đáng tin cậy và dễ mở rộng, hỗ trợ

Typescript Đặc biệt là lớp bên dưới sử dụng ExpressJS nên nó kế thừa toàn bộ sức mạnh của framework phổ biến này

2.3 PostgreSQL

PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ – đối tượng, được phát triển

bởi Khoa Điện toán, Đại học California – Hoa Kỳ dựa trên Postgres bản 4.2 Chương trình này đã mở đường cho nhiều khái niệm về hệ quản trị dữ liệu thương mại sau này

Trang 12

Ban đầu, hệ quản trị được thiết kế để chạy trên các nền tảng tương tự như Unix Sau này, PostgreSQL được điều chỉnh trở nên linh động và chạy trên nhiều nền tảng khác nhau như Windows, Mac OS X, Solaris với nhiều tính năng và đặc điểm nổi bật

PostgreSQL là mã nguồn mở miễn phí, được xây dựng theo chuẩn SQL99 Người dùng có thể tự do sử dụng, chỉnh sửa và phân bổ PostgreSQL theo nhiều hình thức khác nhau

So với nhiều hệ quản trị cơ sở dữ liệu khác, PostgreSQL không quá yêu cầu về công tác bảo trì bởi tính ổn định cao, có thể phát triển nhiều ứng dụng khác nhau với chi phí tương đối thấp

Non-blocking

trong DDL

– PostgreSQL sẽ tùy thuộc vào những cậu lệnh thực thi thao tác DDL nào

– Thao tác write, chẳng hạn như thêm cột, nó sẽ phát sinh block đến bảng, khiến bạn không thể tham chiếu thêm nữa

– Có thể thấy, PostgreSQL thao tác DDL là Alter table không phải non – blocking Để sử dụng được, bạn cần sự hỗ trợ của các tool Ví dụ như pg_repack, tool này chuyên dùng cho maintain, giúp thực thi các thao tác alter table một phần hoặc tiến hành reindex bằng cách block tối thiểu

– Thực thi thao tác nhiều DDL bằng Non – blocking (Tức là, dù trong transaction nhưng không

có block đến bảng.) – Chức năng Non – Blocking có

từ phiên bản MySQL 5.6

– Trong trường hợp Alter table (thay đổi, điều chỉnh cột, hàng,… trong bảng), chỉ những cột đối tượng cần xử lý thì không tạo bảng từ con số không Bởi vậy, tốc độ xử lý nhanh, kéo thiểu việc giảm tải cho máy chủ server

– Chậm hơn

– MySQL có thuật toán sort không tốt bằng PostgreSQL Bởi vậy MySQL sẽ bị chậm hơn – MySQL chuyên về use case

Ví dụ, lấy da 10 hay 100 dữ liệu

Trang 13

– PostgreSQL khi update sẽ xử

lý tương tự như insert Tức là

nó sẽ đánh dấu flag như delete vào dòng trước khi thay đổi, rồi thêm dòng mới có dữ liệu sau khi thay đổi

– Delete nhanh hơn

đầu tiền (như cách của Twitter)

sẽ nhanh hơn so với PostgreSQL

– UPDATE thì performance của MySQL tốt hơn so với

PostgreSQL Bởi MySQL ghi đè đối tượng được update, đúng nghĩa cập nhật

– MySQL delete chậm do sau khi xóa dữ liệu nó sẽ thực hiện đánh lại secondary index xử lý đồng bộ nên tốn thời gian hơn

Từ phiên bản 5.5 trở lên sẽ cải thiện tình trạng này tốt hơn Thuật toán JOIN – PostgreSQL support cả 3 loại

Hash Join, Nested Loop Join, Sort Merge Join

Trong đó:

• Sử dụng dữ liệu cần join nhiều thì dùng Hash Join

và Sort Merge join

• Dữ liệu đã được sort thì

sử dụng Sort Merge Join

• Dữ liệu của các bảng được Join ít hoặc bảng ít bảng nhiều, bạn có thể dùng Nested Loop Join

– MySQL chủ yếu sử dụng thuật toán Support Nested Loop Join, bởi hệ quản trị cơ sở dữ liệu này thiết kế đúng theo tiêu chí thuật toán đơn giản

Xử lý transaction – PostgreSQL có tính năng

Read – committed, hình thức này có khả năng xảy ra vấn đề phantom-read hoặc non – repeatable – read (hiện tượng

– MySQL mặc định xử lý transaction là repeatable-read Phương thức này giúp giữ nguyên dữ liệu đọc, không lo thay đổi, mất ở một transaction

Trang 14

cùng một transaction đọc cùng

dữ liệu mà giá trị thay đổi)

– Trường hợp đổi sang Repeatable – read sẽ không có next key locking nên tránh được tình trạng phantom – read Bởi vậy PostgreSQL dễ tránh conflict ngon hơn MySQL

khác

– Trong trường hợp thêm dữ liệu bởi transaction khác sẽ được thấy khi chạy transaction với phantom-read Để cải thiện tình trạng này, khi sử dụng MySQL cần dùng Next Key Locking

– Bản MySQL 5.6 có điểm yếu

là mỗi một bảng chỉ gán được tối

đa 6 trigger Nếu không thì chúng chỉ có for each row Dạng logic và vật

lý của replication

– MySQL có replication dạng logic và vật lý Dạng logic được setting mặc định Từ phiên bản 5.7 về sau thì dạng vật lý là mặc định

– PostgreSQL chỉ có dạng vật lý ( copy image dòng sau khi thay đổi) Nhưng từ phiên bản release beta version 10 có thể sử dụng được cả dạng logic (copy câu SQL)

Chức năng tiện

lợi

– PostgreSQL có hàm window,

có thể apply hàm tổng, hợp thành set kết quả và phân chia thành từng phần

Mệnh đề With có thể subquery trước khi select Bởi vậy, chức năng tiện lợi của postgreSQL mạnh hơn

– Chức năng Query song song giúp tăng tốc độ xử lý bằng

– MySQL chưa có chức năng này

– MySQL thì có backup vật online còn Xtrabackup hoặc enterprise backup không thực hiện được base backup online hay trên remote

Trang 15

cách sử dụng nhiều CPU để chạy query PostgreSQL có đa dạng các tool từ OSS,

PostGIS,…

– Chức năng Pg_basebackup có thể sử dụng online hoặc dùng trên remote đều được

Lý do nhóm chọn PostgreSQL

PostgreSQL sở hữu một hệ tính năng đa dạng giúp hỗ trợ các nhà phát triển xây dựng app, các nhà quản trị bảo vệ toàn vẹn dữ liệu, và tạo ra một môi trường chịu lỗi fault-tolerant giúp quản lý dữ liệu bất kể tập dữ liệu lớn hay nhỏ Bên cạnh hệ thống nguồn mở

và miễn phí, PostgreSQL cũng có khả năng mở rộng tuyệt vời Ví dụ, có thể định nghĩa các kiểu dữ liệu riêng, xây dựng các hàm tùy chỉnh, hay viết mã từ các ngôn ngữ lập trình khác nhau mà không cần biên dịch lại cơ sở dữ liệu

2.4 JWT

JWT (JSON Web Token) là một phương tiện đại diện cho các yêu cầu chuyển giao

giữa hai bên Client – Server, các thông tin trong chuỗi JWT được định dạng bằng JSON Trong đó chuỗi Token phải có 3 phần là header, phần payload và phần signature được ngăn bằng dấu “.”

Trang 16

Authentication: Đây là trường hợp phổ biến nhất thường sử dụng JWT Khi người dùng đã đăng nhập vào hệ thống thì những request tiếp theo từ phía người dùng sẽ chứa thêm mã JWT Điều này cho phép người dùng được cấp quyền truy cập vào các url, service, và resource mà mã Token đó cho phép Phương pháp này không bị ảnh hưởng bởi Cross-Origin Resource Sharing (CORS) do nó không sử dụng cookie

Lý do nhóm chọn JWT

JWT là một công nghệ tuyệt vời để xác thực API và ủy quyền từ máy chủ đến máy chủ Nó có thể đảm bảo dữ liệu mà nó chứa có thể được tin cậy bởi vì nó đã được xác thực với chữ ký đã được lưu trữ Không yếu tố trung gian nào có thể sửa đổi JWT sau khi

nó được gửi

2.5 NextJS

Trang 17

NextJS là một framework được xây dựng từ React.js, Node.js, webpack và Babel.js

Nó được tạo ra để giúp các devs tạo React App có tính năng SSR (Server-Side Render) và/hoặc web app tỉnh

Next.js được đóng góp bởi Vercel (cung cấp hosting chuyên cho JS dev, họ có gói free "unlimited" rất tốt) Next.js cung cấp giải phảp lập trình web sử dụng một hosting bao trọn cả backend lẫn frontend

So sánh công nghệ khác ( Fetch )

reject tất cả các promise của request

nếu một trong các mã lỗi trên được trả

về

khi server trả về các mã lỗi 4xx hay 5xx, thì hàm catch() của bạn sẽ không được gọi đến và người lập trình viên sẽ có nhiệm

vụ phải tự kiểm tra trạng thái của mã trả

về để xác định xem liệu request đó có thành công hay không

không cần phải truyền một cách trực

tiếp các option để cho cookies có thể

được include

không tự động gủi trả cookies về cho server khi tạo một request Ta sẽ cần phải truyền một cách trực tiếp các option để cho cookies có thể được include

được xây dựng dựa trên các XHR API

cũ hơn, bạn có thể khai báo các hàm

callback cho onUploadProgress và

onDownloadProgress để hiện thị phần

trăm thành công tại giao diện cho app

vẫn chưa hỗ trợ khai báo các hàm callback cho onUploadProgress và onDownloadProgress để hiển thi thành công tại giao diện app

Trang 18

Lý do nhóm chọn Axios

Thư viện này có một API rõ ràng, với các method hữu dụng quen thuộc với bất kì

ai đã từng sử dụng jQuery trước đây Sự phổ biến của nó và việc có sẵn các thư viện bên thứ 3 khiến Axios trở thành lựa chọn chắc chắn cho ứng dụng của bạn cho dù là front-end hay back-end hay cả hai

Trang 19

KHẢO SÁT VÀ PHÂN TÍCH ĐẶC TẢ YÊU CẦU

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

Phương pháp phỏng vấn: Nhóm thực hiện soạn ra loạt câu hỏi sau đó thành viên trong nhóm đi phỏng vấn trực tiếp tại một trung tâm ngoại ngữ lựa chọn trước để đưa ra hiện trạng tin học, hiện trạng nghiệp vụ Những khó khăn gặp phải khi quản lý các chức năng, Song chủ yếu hỏi về trình độ tin học, yêu cầu về giao diện và chức năng

Người được khảo sát: Quản lý trung tâm ngoại ngữ

Bảng câu hỏi:

• Trung tâm có bao nhiêu nhân sự, nhiệm vụ của mỗi người là gì?

o Trung tâm có người

▪ 3 người quản lý

▪ 2 nhân viên tư vấn

▪ 15 giảng viên

▪ 1 nhân viên thu ngân/nhập liệu

o Nhiệm vụ của mỗi người

▪ Quản lý:

− Thường xuyên có mặt ở văn phòng của trung tâm, giám sát việc giảng dạy, nhân viên, giảng viên và học sinh thông qua phần mềm

− Là người chịu trách nhiệm cuối cùng cho mọi vấn đề của trung tâm,

▪ Nhân viên tư vấn:

− Người trực tiếp có mặt ở trung tâm để làm việc trực tiếp với học viên

− Tư vấn cho học viên mới

− Xuất hoá đơn đăng ký

− Lưu trữ thông tin học viên

− Lập báo cáo

• Phương pháp điểm danh?

o Điểm danh theo phương hướng thủ công, khi đến đến trung tâm các nhân viên thực hiện ký tên vào bảng chấm công Còn đối với học viên thì giảng viên sẽ gọi tên đánh dấu vào danh sách.

• Học viên đến trung tâm:

Trang 20

o Học viên khi đến trung tâm, sẽ được nhân viên tư vấn sẽ hướng dẫn đăng ký các khóa học, đưa ra các sự lựa chọn phù hợp với học viên

o Sau khi đã chốt đăng ký khóa, nhân viên thu ngân sẽ tiến hành lập hoá đơn, lưu trữ/cập nhật mọi thông tin của học viên - tuỳ thuộc vào

đó là học viên cũ hay mới để thi học phí

• Trung tâm có bao nhiêu khóa học?

o Trung tâm có 7 khóa học:

▪ Luyện thi Toeic 2 kỹ năng

▪ Luyện thi Toeic 4 kỹ năng

▪ Luyện thi VNU-EPT

▪ Luyện thi IELTS

▪ Tiếng Anh Giao tiếp

▪ Tiếng Anh căn bản cho người mất gốc

▪ Tiếng Anh Thiếu nhi

• Nhân sự trong doanh nghiệp được trả lương như thế nào?

o Đối với nhân viên quản lý:

o Lương = Lương cơ bản * Hệ số lương + Lương thưởng

o Đối với nhân viên tư vấn:

o Lương = Lương cơ bản * Hệ số lương + Lương phụ cấp * Số ngày làm việc

o Đối với giảng viên:

o Lương = Số giờ dạy * Hệ số lương + Lương phụ cấp * Số giờ dạy

• Trung tâm có trang bị Internet không?

• Các nhân viên có máy tính cá nhân không? Được trang bị ở đâu?

o 1 máy ở bộ phận tiếp tân của nhân viên thu ngân

o 1 máy ở phòng làm việc của quản lý

• Trung tâm có nhu cầu sử dụng phần mềm quản lý trung tâm không?

• Hệ điều hành đang dùng tại trung tâm

o Windows 10

• Nếu có một phần mềm hỗ trợ dạy học, thì anh/ chị muốn nó có thể làm gì?

☒Quản lý và theo dõi quá trình học của các học viên

Trang 21

☒ Giảng viên có thể theo dõi và hỗ trợ học viên

☒ Giảng viên có thể thông báo đến lớp học của mình

☒ Có chức năng giao bài tập và hạn nộp

☒ Thống kê, báo biểu

• Nếu được có một phần mềm/trang web, anh/chị muốn giao diện của nó như thế nào?

3.2 Danh sách yêu cầu

Yêu cầu khách hàng

3.2.1.1 Yêu cầu nghiệp vụ

3.2.1.1.1 Danh sách các yêu cầu

6 Xem thông tin lớp học

7 Xem danh sách học viên của lớp học

8 Đăng thông báo cho lớp học

9 Bình luận thông báo của lớp học

10 Theo dõi quá trình học

Trang 22

3.2.1.2 Yêu cầu tiến hóa

STT Nghiệp vụ Tham số cần thay đổi Miền giá trị cần thay đổi

3.2.1.3 Yêu cầu hiệu quả

lưu trữ

Ghi chú

3 Quản lý thông tin cá nhân Ngay tức thì

7 Xem danh sách học viên của lớp

học

Ngay tức thì

8 Đăng thông báo cho lớp học Ngay tức thì

9 Bình luận thông báo của lớp học Ngay tức thì

13 Tạo lịch biểu cho học viên Ngay tức thì

3.2.1.4 Yêu cầu tiện dụng

STT Nghiệp vụ Mức độ dễ học Mức độ dễ sử

dụng

Ghi chú

Dễ thao tác, xử lý đúng các thông tin được nhập

Trang 23

2 Đăng ký 5 phút hướng dẫn

Dễ thao tác, xử lý đúng các thông tin được nhập

3 Quản lý thông tin cá nhân 2 phút hướng dẫn

Dễ thao tác, xử lý đúng các thông tin được nhập

6 Xem thông tin lớp học 2 phút hướng dẫn Dễ thao tác

7 Xem danh sách học viên

8 Đăng thông báo cho lớp

Dễ thao tác, xử lý đúng các thông tin được nhập

9 Bình luận thông báo của

Dễ thao tác, xử lý đúng các thông tin được nhập

10 Theo dõi quá trình học 5 phút hướng dẫn Dễ thao tác

Dễ thao tác, xử lý đúng các thông tin được nhập

Dễ thao tác, xử lý đúng các thông tin được nhập

Trang 24

13 Tạo lịch biểu cho học viên 5 phút hướng dẫn

Dễ thao tác, xử lý đúng các thông tin được nhập

Dễ thao tác, xử lý đúng các thông tin được nhập

Dễ thao tác, xử lý đúng các thông tin được nhập

Dễ thao tác, xử lý đúng các thông tin được nhập

Bảng trách nhiệm cho từng yêu cầu

3.2.2.1 Yêu cầu nghiệp vụ

Cho phép hủy

đăng ký

Kiểm tra hợp lệ, ghi nhận

Cho phép hủy, cập nhật

3 Quản lý thông tin

thị khóa học

Cho phép hủy

5 Đăng ký khóa học Lựa chọn khóa học Kiểm tra hợp lệ, ghi

nhận

Cho phép cập nhật

6 Xem thông tin

Kiểm tra hợp lệ, hiển thị lớp học

Cho phép hủy

7 Xem danh sách Lựa chọn lớp học Kiểm tra hợp lệ, hiển Cho phép

Trang 25

10 Theo dõi quá

thị so sanh

Cho phép cập nhật, hủy

11 Tạo bài tập Cung cấp thông tin bài

tập

Kiểm tra hợp lệ, ghi nhận

Cho phép cập nhật, hủy

12 Nộp bài tập Cung cấp thông tin bài

tập

Kiểm tra hợp lệ, ghi nhận

Cho phép cập nhật, hủy

13 Tạo lịch biểu cho

14 Quản lý khóa học Cung cấp thông tin

Cho phép cập nhật, hủy

15 Quản lý lớp học Cung cấp thông tin lớp

Cho phép cập nhật, hủy

Trang 26

3.2.2.2 Yêu cầu tiến hóa

1 Đăng nhập

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

2 Đăng ký

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

3 Quản lý thông tin

cá nhân

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

Thực hiện đúng theo yêu cầu

8 Đăng thông báo

cho lớp học

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

Trang 27

10 Theo dõi quá trình

Thực hiện đúng theo yêu cầu

12 Nộp bài tập

Chọn lớp học, Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

13 Tạo lịch biểu cho

học viên

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

14 Quản lý khóa học

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

15 Quản lý lớp học

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

3.2.2.3 Yêu cầu hiệu quả

1 Đăng nhập

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

2 Đăng ký

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

Trang 28

3 Quản lý thông tin

cá nhân

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

Thực hiện đúng theo yêu cầu

8 Đăng thông báo

cho lớp học

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

10 Theo dõi quá trình

Thực hiện đúng theo yêu cầu

12 Nộp bài tập

Chọn lớp học, Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

Trang 29

13 Tạo lịch biểu cho

học viên

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

14 Quản lý khóa học

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

15 Quản lý lớp học

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

3.2.2.4 Yêu cầu tiện dụng

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

3 Quản lý thông tin cá nhân Đọc hướng dẫn sử

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

6 Xem thông tin lớp học Đọc hướng dẫn sử

dụng

Thực hiện đúng theo yêu cầu

Trang 30

7 Xem danh sách học viên

của lớp học

Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

8 Đăng thông báo cho lớp

học

Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

9 Bình luận thông báo của

lớp học

Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

10 Theo dõi quá trình học Đọc hướng dẫn sử

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

13 Tạo lịch biểu cho học viên Đọc hướng dẫn sử

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

dụng

Thực hiện đúng theo yêu cầu

Yêu cầu phần cứng

• Người dùng

o Phần cứng

▪ Máy vi tính

• CPU: 2-core hoặc hơn

• RAM: 512 MB hoặc hơn

▪ Điện thoại thông minh

Trang 31

• CPU: 2-core hoặc hơn

• RAM: 2GB hoặc hơn

o Phần mềm

▪ Điện thoại thông minh

• Hệ điều hành: Android 4.4, IOS

• Trình duyệt: Any browser with Cookies

• Hệ thống máy chủ

o Hardware

▪ CPU: 4-Core hoặc hơn

▪ RAM: 8GB hoặc hơn

o Software

▪ Hệ điều hành: Windows Server 2008, CentOS7 …

▪ Môi trường: Microsoft NET Core 3.0

▪ Hệ quản trị Cơ sở dữ liệu: Microsoft SQL Server 2019

▪ Máy chủ Web: Internet Information Services (IIS)

Trang 32

BR-2 Người dùng đã đăng nhập vào hệ thống Ràng buộc Tĩnh

BR-3 Số lượng học viên đăng ký phải nhỏ hơn

số lượng học viên đề ra

Ràng buộc Tĩnh

BR-4 Người dùng nhập đầy đủ thông tin Ràng buộc Tĩnh

BR-6 Chỉ có học viên trong lớp mới có thể tham

gia vào lớp học

3.4 Báo cáo khả thi

Báo cáo tóm tắt đề tài

3.4.1.1 Mô tả đề tài

Theo cách quản lý và thông báo của trung tâm tiếng anh thông thường, những người

có nhu cầu học, kiểm tra trình độ và cập nhật thông tin mới nhất của trung tâm tiếng anh phải tốn nhiều công sức trong việc tìm hiểu tới trung tâm mới có thể biết được thông tin mới nhất Mặt khác, những người quản lý trung tâm cũng như giảng viên cũng rất khó kiểm soát học sinh, giao bài tập, hoặc thông báo cho học sinh của mình

Nhận thấy điều này, website Mr.Smith cung cấp cho phép người dùng chia sẻ các thông tin thông tin các khóa học tiếng anh, các kỳ thi kiểm tra trình độ tiếng anh cũng như quản lý các bài tập về nhà, các sự kiện và thông báo của trung tâm Đặc biệt, các thông tin quan trọng về trung tâm đều được thể hiện một cách rõ ràng tạo điều kiện thuận lợi nhất

• Đề tài: Xây dựng website hỗ trợ dạy học tiếng anh cho trung tâm ngoại ngữ

• Framework: NestJS, NextJS

• Môi trường phát triển: Visual Studio Code

• Công cụ quản lý dự án: Trello, Google Drive

• Yêu cầu chất lượng: phần mềm đơn giản, hiệu quả, thân thiện và đảm bảo tính thẩm

mỹ tạo cảm hứng cho người dùng

Trang 33

• Điều kiện, căn cứ pháp lý: mang tính hợp pháp

• Thời gian tiến hành: từ 29/09/2021 đến 01/12/2021

3.4.1.2 Thời gian hoàn thiện

Dự kiến phát hành 2 phiên bản với các mốc thời gian như sau:

• Phiên bản 1 vào cuối tháng 11 năm nay

• Phiên bản 2 vào đầu tháng 12 năm nay

3.4.1.3 Địa điểm triển khai

Dự án sau khi xây dựng xong sẽ áp dụng thử nghiệm tại trung tâm ngoại ngữ của nơi đã thực hiện khảo sát

đa dạng các loại hình công tác nghiệp vụ từ tư vấn, quản lý, kế toán… đòi hỏi nhiều chi phí về nhân lực lẫn tài lực

Một hệ thống quản lý trung tâm thân thiện, bắt mắt với đa nhiệm các tính năng dành cho cả trung tâm lẫn hỗ trợ học viên đến tìm kiếm, tra cứu thông tin là điều mà nhóm chúng em/tôi hướng đến, nhất trong thời kì covid hoành hành thì giảng dạy trực tuyến là miền đất hứa đáng để khai thác

3.4.2.2 Lợi ích của dự án

Đối với trung tâm ngoại ngữ: việc tiến hành áp dụng số hoá các quy trình quản lý sẽ tiết kiệm được rất nhiều chi phí, nhân công, giúp các nhà quản lý có thể đầu tư thời gian hiệu quả hơn Từ đó nâng cao doanh thu của trung tâm

Đối với học viên đến với trung tâm: có được một môi trường tra cứu, tìm kiếm thông tin; tiết kiệm thời gian, công sức; nâng cao trải nghiệm và hứng thú tìm đến trung tâm nhiều hơn

Chi tiết dự án

3.4.3.1 Quy mô

• Phù hợp với quy mô trung tâm: 1000 học viên

Trang 34

• Đối tượng hướng đến: trung tâm ngoại ngữ vừa và nhỏ

3.4.3.2 Nền tảng công nghệ

Hiện tại chỉ có thể truy cập bằng localhost nhưng nếu thành công và có nguồn kinh phí hỗ trợ, người dùng có thể truy cập vào website bằng web browser Xây dựng hệ thống online với cấu trúc client-server trong đó client sử dụng Framework NextJS còn server sử dụng Framework NestJS để tạo các RESTful API kết nối với cơ sở dữ liệu PostgreSQL

Mức độ cạnh tranh với các đối thủ lớn vì có nhiều phần mềm quản lý cửa hàng xuất hiện trên thị trường cùng với tốc phát triển của các công ty phần mềm

3.4.4.2 Financial Benefits

Mang lại hiệu quả kinh tế cao: tiết kiệm nhân công, thời gian, chi phí

Hứa hẹn cho độ phủ sóng của phần mềm trong địa bàn nông thôn, nơi chưa được tiếp cận những hệ thống website chi phí lớn

3.5 Usecase, Đặc tả usecase và sơ đồ hoạt động

Khách 1 Đăng ký

2 Đăng nhập

3 Xem khóa học

Thành viên 4 Quản lý thông tin cá nhân

5 Xem thông tin lớp học

6 Đăng ký khóa học

Giảng viên 7 Quản lý thông báo lớp học

Trang 35

8 Xem thông tin lương

9 Tạo bài tập

Học viên 10 Nộp bài tập

11 Xem thông báo

12 Bình luận thông báo

Trang 36

Usecase tổng quát

Usecase cho Khách

3.5.2.1 UC-1 Đăng ký

Trang 37

STT - tên: UC-1 Đăng ký

Actors:

Hệ thống

Mô tả: Người dùng đăng ký tài khoản để đăng nhập vào hệ thống

Mục đích: Cấp tài khoản cho người dùng truy cập vào hệ thống

Điều kiện tiên

quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện đăng

ký Điều kiện lúc

Người dùng nhập các thông tin đăng ký

Ngoại lệ: 1.0.E1 Người dùng đã có có tài khoản

Business rule: Không có

Trang 38

3.5.2.2 UC-2 Đăng Nhập

Actors:

Hệ thống

Mô tả: Người dùng đăng nhập tài khoản để truy cập vào hệ thống

Mục đích: Hệ thống cho phép người dùng truy cập

Điều kiện tiên

quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện đăng nhập

PRE-2 Người dùng đã có tài khoản

Điều kiện lúc POST-1 Người dùng đăng nhập thành công

Trang 39

sau:

Quy trình cơ

bản:

2.0 Đăng nhập hệ thống thành công Người dùng truy cập vào trang đăng nhập

Người dùng nhập tài khoản và mật khẩu

Ngoại lệ: 2.0.E2 Đăng nhập hệ thống không thành công

Hệ thống xác thực thông tin đăng nhập không thành công và hiển thị thông báo

Business rule: BR-1

Trang 40

3.5.2.3 UC-3 Xem khóa học

Actors:

Hệ thống

Mô tả: Người dùng xem các khóa học được đăng trên hệ thống Mục đích: Hệ thống cho phép xem các khóa học đã được phê duyệt Điều kiện tiên

Ngoại lệ: 3.0.E2 Đăng nhập hệ thống không thành công

Thiết bị không kết nối internet

Business rule: Không có

Ngày đăng: 08/03/2022, 21:39

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w