Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
BÁO CÁO
ĐỒ ÁN CHUYÊN NGÀNH 1
ĐỀ TÀI: “ỨNG DỤNG HỖ TRỢ
QUẢN LÝ PHÒNG THỰC HÀNH
VKU-LAB”
Đà Nẵng, tháng 12 năm 2020.
Sinh viên thực hiện : PHẠM QUANG HOÀNG
PHẠM HÒA BÌNH
Giảng viên hướng dẫn : Th.S PHẠM HỒ TRỌNG NGUYÊN
Lớp : 17IT2
Đà Nẵng, tháng 12 năm 2020.
BÁO CÁO
ĐỒ ÁN CHUYÊN NGÀNH 1
ĐỀ TÀI: “ỨNG DỤNG HỖ TRỢ
QUẢN LÝ PHÒNG THỰC HÀNH
VKU-LAB”
MỞ ĐẦU
Ngày nay, xã hội ngày càng phát triển đòi hỏi sự tiến bộ không ngừng về
mọi mặt của cuộc sống để đáp ứng những nhu cầu cấp thiết của cuộc sống, nếu
không muốn mình bị lạc hậu và đào thải bạn phải luôn cập nhật những tri thức
mới và đó cũng là yêu cầu đầu tiên và cơ bản nhất của ngành Công nghệ thông
tin. Máy tính luôn được cải tiến và đồng hành với nó là những phần mềm quản lý,
ứng dụng, xử lý thông tin… Tiêu biểu trong đó là Ứng dụng hỗ trợ quản lý phòng
thực hành (phòng máy). Quản lý phòng máy là một công tác rất quan trọng và
phức tạp mà bất kì đơn vị nào trong ngành Công nghệ thông tin cũng phải chú
trọng. Bắt đầu từ việc cài đặt hệ thống cho các máy, tiếp đó là theo dõi và quản lý
các thông tin về máy trong suốt quá trình sử dụng cũng như việc hệ thông hóa,
lưu trữ và bảo quản các thông tin tình trạng các máy, thời gian bảo trì, sửa chữa
khi có hỏng hóc hoặc thay mới, theo dõi phòng học, thông tin việc giảng dạy đúng
giờ đúng tiết hay bù giờ của giảng viên. Việc nắm bắt, quản lý các thông tin này
đã được thực hiện ở hầu hết các đơn vị nhưng thông tin ở dạng này chỉ dừng lại ở
mức độ lưu trữ khai thác theo các khía cạnh tĩnh thay thế các hoạt động bằng tay
hàng ngày. Quản lý phòng thực hành cần nhanh chóng, kịp thời, chính xác và luôn
phải cập nhật thông tin để cung cấp cho những người cần sử dụng phòng máy hay
tình trạng phòng máy để thuận lợi cho việc bảo trì và sửa chữa khi cần thiết.
Trong suốt thời gian nghiên cứu đồ án này, ngoài sự nỗ lực của nhóm, nhóm
chúng em còn nhận được sự giúp đỡ, góp ý, chỉ bảo tận tình của thầy Phạm Hồ
Trọng Nguyên. Nhóm em xin bày tỏ lòng biết ơn sâu sắc tới thầy. Thầy đã dành
nhiều thời gian quý báu tận tình hướng dẫn nhóm trong suốt quá trình thực hiện
đồ án này.
Mặc dù đã rất cố gắng song đồ án của nhóm chúng em không tránh khỏi
những thiếu sót. Vì vậy nhóm chúng em rất mong nhận được sự góp ý của các
Thầy giáo, Cô giáo để đồ án được hoàn thiện hơn.
Em xin chân thành cảm ơn!
MỤC LỤC
Trang
MỞ ĐẦU DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH ẢNH
DANH MỤC CỤM TỪ VIẾT TẮT
CHƯƠNG 1 GIỚI THIỆU ................................................................................. 1
1.1. Lý do chọn đề tài ...................................................................................... 1
1.2. Tổng quan ................................................................................................. 2
1.3. Phương pháp nghiên cứu .......................................................................... 2
1.4. Cấu trúc đồ án ........................................................................................... 2
CHƯƠNG 2 NGHIÊN CỨU TỔNG QUAN ..................................................... 4
2.1. Các phương pháp ...................................................................................... 4
2.2. Hạn chế, tồn tại của các phương pháp ...................................................... 4
2.3. Kết luận ..................................................................................................... 5
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG ....................................... 7
3.1. Các yêu cầu chính cần thực hiện .............................................................. 7
3.2. Yêu cầu hệ thống ...................................................................................... 7
3.2.1. Danh sách các tác nhân ................................................................... 7
3.2.2. Danh sách các yêu cầu (use case) ................................................... 7
3.3. Đặc tả ca sử dụng theo nhóm yêu cầu .................................................... 11
3.3.1. Quản lý phòng lab ......................................................................... 11
3.3.2. Quản lý danh sách giáo viên ......................................................... 12
3.3.3. Quản lý danh sách lớp học ............................................................ 13
3.3.4. Quản lý danh sách môn học .......................................................... 15
3.3.5. Quản lý lịch thực hành .................................................................. 16
3.3.6. Quản lý tài khoản .......................................................................... 17
3.3.7. Hỗ trợ học thực hành ..................................................................... 18
3.3.8. Đăng nhập hệ thống ...................................................................... 20
3.3.9. Ghi lại lịch sử hoạt động ............................................................... 21
3.3.10. Báo cáo hệ thống ........................................................................... 21
3.3.11. Quản lý sinh viên .......................................................................... 23
CHƯƠNG 4 TRIỂN KHAI XÂY DỰNG ....................................................... 25
4.1. Công nghệ áp dụng vào Đồ án ............................................................... 25
4.1.1. Backend ......................................................................................... 25
4.1.2. Front-end ....................................................................................... 28
4.2. Phân cấp quản lý tài khoản ..................................................................... 30
4.3. Quản lý cơ sở dữ liệu .............................................................................. 32
4.4. Giao diện và chức năng của tài khoản Quản trị viên (Admin) ............... 34
4.4.1. Giao diện và chức năng quản lý sinh viên .................................... 34
4.4.2. Giao diện và chức năng quản lý giảng viên .................................. 35
4.4.3. Giao diện và chức năng quản lý lớp học phần .............................. 37
4.4.4. Giao diện và chức năng quản lý môn học ..................................... 39
4.4.5. Giao diện và chức năng quản lý phòng học .................................. 41
4.5. Giao diện và chức năng của tài khoản Giảng viên ................................. 43
4.6. Giao diện và chức năng của tài khoản Sinh viên ................................... 44
4.7. Giao diện và chức năng báo cáo khi gặp sự cố ...................................... 44
4.8. API documentation ................................................................................. 45
CHƯƠNG 5 KẾT LUẬN & HƯỚNG PHÁT TRIỂN ................................... 47
5.1. Kết luận ................................................................................................... 47
5.1.1. Ưu điểm của ứng dụng .................................................................. 47
5.1.2. Nhược điểm của ứng dụng ............................................................ 47
5.2. Hướng phát triển ..................................................................................... 48
DANH MỤC TÀI LIỆU THAM KHẢO ......................................................... 49
DANH MỤC BẢNG BIỂU
Trang
Bảng 3.1 Các yêu cầu chính cần thực hiện ........................................................... 7 Bảng 3.2 Danh sách các tác nhân .......................................................................... 7
Bảng 3.3 Danh sách các yêu cầu (use case) .......................................................... 7 Biểu đồ 3.1 Biểu đồ use case Quản lý phòng lab ................................................ 12
Biểu đồ 3.2 Biểu đồ use case Quản lý danh sách giảng viên .............................. 13
Biểu đồ 3.3 Biểu đồ use case Quản lý danh sách lớp học ................................... 14
Biểu đồ 3.4 Biểu đồ use case Quản lý danh sách môn học ................................. 16
Biểu đồ 3.5 Biểu đồ use case Quản lý lịch thực hành ......................................... 17
Biểu đồ 3.6 Biểu đồ use case Quản lý tài khoản ................................................. 18
Biểu đồ 3.7 Biểu đồ use case Hỗ trợ học thực hành ........................................... 19
Biểu đồ 3.8 Biểu đồ use case Đăng nhập tài khoản ............................................ 20
Biểu đồ 3.9 Biểu đồ use case Quản lý Ghi lại lịch sử hoạt động ........................ 21
Biểu đồ 3.10 Biểu đồ use case Báo cáo hệ thống ............................................... 22
Biểu đồ 3.11 Biểu đồ use case Quản lý sinh viên ............................................... 23
Biểu đồ 3.12 Biểu đồ Entity relationship diagram (ERD) .................................. 24
DANH MỤC HÌNH ẢNH
Trang
Hình 4.1 Hapipal.- công cụ xây dựng backend cho dự án .................................. 25 Hình 4.2 PostgreSQL – Hệ quản trị cơ sở dữ liệu được sử dụng ....................... 26
Hình 4.3 ObjectionJS – ORM Database cho NodeJS ......................................... 27
Hình 4.4 Docker - Môi trường phát triên cho dự án ........................................... 28
Hình 4.5 ReactJS - Thử viện cho phát triển FrontEnd ........................................ 29
Hình 4.6 Material UI Frame worok cho phát triển UI ........................................ 29
Hình 4.7 Swagger - Công cụ ghi API document cho dự án ................................ 30
Hình 4.8 Giao diện chức năng đăng nhập ........................................................... 30
Hình 4.9 Giao diện màn hình chính của Quản trị viên ....................................... 31
Hình 4.10 Giao diện màn hình chính của Giảng viên ......................................... 31
Hình 4.11 Giao diện màn hình chính của Sinh viên ........................................... 32
Hình 1.12 Cơ sở dữ liệu của Ứng dụng .............................................................. 33
Hình 4.13 Chức năng quản lý sinh viên .............................................................. 34
Hình 4.14 Chức năng thêm sinh viên .................................................................. 34
Hình 4.15 Chức năng chỉnh sửa thông tin sinh viên ........................................... 35
Hình 4.16 Chức năng quản lý giáo viên .............................................................. 35
Hình 4.17 Chức năng thêm giáo viên .................................................................. 36
Hình 4.18 Chức năng chỉnh sửa thông tin giáo viên ........................................... 36
Hình 4.19 Chức năng quản lý lớp học phần ........................................................ 37
Hình 4.20 Chức năng thêm sinh viên vào lớp học phần ..................................... 37
Hình 4.21 Chức năng thêm giáo viên vào lớp học phần ..................................... 38
Hình 4.22 Chức năng thêm lớp học phần............................................................ 38
Hình 4.23 Lớp học mới đã được tạo ................................................................... 39
Hình 4.24 Chức năng quản lý môn học ............................................................... 39
Hình 4.25 Chức năng thêm môn học .................................................................. 40
Hình 4.26 Chức năng cập nhật thông tin môn học .............................................. 40
Hình 4.27 Chức năng quản lý phòng học ............................................................ 41
Hình 4.28 Chức năng cập nhật thông tin thiết bị ................................................ 41
Hình 4.29 Chức năng thêm mới phòng học ........................................................ 42
Hình 4.30 Chức năng thêm thiết bị ..................................................................... 42
Hình 4.31 Chức năng đăng nhập ......................................................................... 43
Hình 4.32 Màn hình chính theo dõi lịch dạy ....................................................... 43
Hình 4.33 Chức năng xem thông tin lịch học, thời khóa biểu ............................ 44
Hình 4.34 Chức năng báo cáo sự cố.................................................................... 44
Hình 4.35 Lưu trữ lịch sử báo cáo ...................................................................... 45
Hình 4.36 API Documentation ............................................................................ 46
DANH MỤC CỤM TỪ VIẾT TẮT
STT Cụm từ Viết tắt
1 Administrators (Quản trị viên) Admin
2 Input/Output I/O
3 Laboratory (Phòng thực hành) Lab
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
1
CHƯƠNG 1 GIỚI THIỆU
1.1. Lý do chọn đề tài
Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của
công nghệ thông tin. Công nghệ thông tin đã ở một bước phát triển cao đó là số
hóa tất cả các dữ liệu thông tin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta
lại với nhau. Mọi loại thông tin, số liệu âm thanh, hình ảnh có thể được đưa về
dạng kỹ thuật số để bất kỳ máy tính nào cũng có thể lưu trữ, xử lý và chuyển tiếp
cho nhiều người. Những công cụ và sự kết nối của thời đại kỹ thuật số cho phép
chúng ta dễ dàng thu thập, chia sẻ thông tin và hành động trên cơ sở những thông
tin này theo phương thức hoàn toàn mới, kéo theo hàng loạt sự thay đổi về các
quan niệm, các tập tục, các thói quen truyền thống, và thậm chí cả cách nhìn các
giá trị trong cuộc sống. Công nghệ thông tin đến với từng người dân, từng người
quản lý, nhà khoa học, người nông dân, bà nội trợ, học sinh… không có lĩnh vực
nào, không có nơi nào là không có mặt của công nghệ thông tin. Công nghệ thông
tin là một trong các động lực quan trọng nhất của sự phát triển, ứng dụng và phát
triển công nghệ thông tin ở nước ta nhằm góp phần giải phóng sức mạnh vật chất,
trí tuệ và tinh thần của toàn dân tộc, thúc đẩy công cuộc đổi mới, phát triển nhanh
và hiện đại hoá các ngành kinh tế, tăng cường năng lực cạnh tranh của các doanh
nghiệp, hỗ trợ có hiệu quả cho quá trình hội nhập kinh tế quốc tế, nâng cao chất
lượng cuộc sống của nhân dân, đảm bảo an ninh quốc phòng và tạo khả năng đi
tắt đón đầu để thực hiện thắng lợi sự nghiệp công nghiệp hóa, hiện đại hóa.
Từ sự bùng nổ nhanh chóng của công nghệ thông tin trong xã hội, nhu cầu
trao đổi thông tin ngày tăng dẫn đến các điểm máy tính công cộng ra đời với số
lượng ngày càng lớn (điểm truy cập Internet, phòng máy nhà trường, mạng cục
bộ công ty, công sở ). Phần lớn các sự cố về an ninh mạng đều chung một nguyên
nhân do người dùng cuối cài đặt các chương trình không được quản lý, hoặc không
được phê chuẩn bởi người quản trị. Với lý do cần đảm bảo an toàn mạng và xu
thế phát triển mạng máy tính ngày càng lớn đã đặt ra cho chúng ta vấn đề quản lý
các phòng máy đó phải hiệu quả, an toàn. Chính vì vậy, từ những lý do trên chúng
em đã lựa chọn đề tài xây dựng “ỨNG DỤNG HỖ TRỢ QUẢN LÝ PHÒNG
THỰC HÀNH VKU-LAB” cho Đồ án chuyên ngành 1.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
2
1.2. Tổng quan
Hệ thống phòng thực hành gồm có 3 phòng chính (Khu V, tầng 3). Hằng
năm trong khoa có hơn 5 lớp mới với các chương trình đào tạo khác nhau. Do đặc
thù của ngành công nghệ thông tin là làm việc trên máy tính là chủ yếu nên để
đáp ứng nhu cầu học tập của sinh viên các lớp được đảm bảo, chính vì vậy khoa
cần có sự đảm bảo về vật chất (phòng máy) cũng như lịch làm việc hợp lý (lịch
thực hành phòng máy) để sinh viên cũng như giáo viên có thể học tập và giảng
dạy tốt nhất. Ngoài ra, qua quá trình học tập của sinh viên, thấy rằng việc sử dụng
Tivi để trình chiếu bài giảng làm giảm hiểu quả học tập vì Tivi khá nhỏ so với qui
mô của phòng lab hiện tại. Để đảm bảo yêu cầu trên ngoài cơ sở vật chất mà khoa
đã có, chúng ta cần xây dựng một hệ thống có thể quản lý giờ làm việc, các môn
thực hành ở phòng máy để có thể làm việc một cách hiệu quả hơn.
1.3. Phương pháp nghiên cứu
Để thực hiện khóa luận này, cần sử dụng kết hợp 3 phương pháp nghiên
cứu đó là:
− Phương pháp nghiên cứu lý luận.
− Phương pháp tổng kết kinh nghiệm.
− Phương pháp lấy ý kiến chuyên gia.
Dựa theo phương pháp nghiên cứu lý luận, tiến hành đọc và nghiên cứu các
tài liệu liên quan đến lập trình Javascript, kỹ thuật lập trình bằng công cụ: NodeJS,
PostgreSQL, ReactJS và React Native... Từ đó, hệ thống hóa những kiến thức về
lập trình ứng dụng. Tiếp theo, dựa vào những kiến thức cơ bản đã nêu ở chương
1 và các kinh nghiệm đã có, chuyển sang bước phân tích và thiết kế hệ thống cho
phần mềm. Kế tiếp, dựa vào việc phân tích thiết kế hệ thống kết hợp tham khảo ý
kiến của các chuyên gia, tiến hành triển khai xây dựng ứng dụng. Cuối cùng, đi
đến kết luận và hướng phát triển cho đề tài.
1.4. Cấu trúc đồ án
Ngoài các phần: Mở đầu, phụ lục, tài liệu tham khảo, nội dung chính của
khóa luận được chia thành các chương sau:
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
3
− Chương 1 Giới thiệu.Chương này trình bày một cách khái quát về đề tài, tổng
quan thực trạng và các kiến thức cơ bản của lập trình ứng dụng, là cơ sở cho các
chương sau.
− Chương 2 Nghiên cứu tổng quan. Với cơ sở lý thuyết được đưa ra ở chương
1, chương này chúng ta tập trung đi khảo sát thực trạng quản lý phòng máy thực
hành tại Trường Đại học Công nghệ thông tin & Truyền thông Việt - Hàn (Đại
học Đà Nẵng), từ đó đưa ra các phương pháp giải quyết thích hợp, phù hợp với
nhu cầu sử dụng
− Chương 3 Phân tích thiết kế hệ thống. Sau quá trình khảo sát ở chương
2,chúng em đi phân tích thiết kế cho cho "Ứng dụng quản lý phòng thực hành
VKU - LAB".
− Chương 4 Triển khai xây dựng "Ứng dụng quản lý phòng thực hành
VKU - LAB". Dựa vào phân tích thết kết được thực hiện ở chương 3. Chương 4
tiến hành xây dựng chương trình theo các chức năng đã được thiết kế.
− Chương 5 Kết luận & hướng phát triển. Từ những gì đã làm được và chưa
làm được, chúng em đi đến kết luận và hướng phát triển cho ứng dụng sau này.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
4
CHƯƠNG 2 NGHIÊN CỨU TỔNG QUAN
2.1. Các phương pháp
Hoàn chỉnh các chức năng nghiệp vụ của công tác quản lý phòng máy trên
ứng dụng. Hiện tại phương pháp quản lý bằng sổ sách đã cũ, việc quản lý theo
kiểu này sẽ gây ra sự khó khăn trong việc tổng hợp, sử lý thông tin, gây mất thời
gian và công sức.
Hỗ trợ các dịch vụ trực tuyến và môi trường giao tiếp tiện ích. Với tốc độ
phát triển công nghệ thông tin như hiện nay, nên cung cấp cho giáo viên cũng như
sinh viên các dịch vụ tiện ích như: tra cứu thông tin về lịch sử dụng phòng
máy,hiện trạng phòng máy, đăng kí phòng máy trực tuyến,… cũng như việc quản
lý sinh viên, giảng viên, lịch học…
2.2. Hạn chế, tồn tại của các phương pháp
Cơ cấu phòng máy:
Gồm các thiết bị:
− Máy tính: bao gồm các thông tin về: chủng loại, năm nhập, cấu hình, loại màn
hình
− Bàn ghế: bao gồm các thông tin về: loại bàn, loại ghế, số bàn ghế
− Các thiết bị khác như: camera, quạt, bóng đèn, thiết bị khác...
Các thao tác nghiệp vụ quản lý phòng máy hiện tại: phòng máy hiện tại vẫn
được quản lý bằng sổ sách. Các phòng máy được quản lý theo các thông tin về số
lượng máy, số máy sử dụng được, số máy hỏng, nguyên nhân hỏng, năm nhập các
máy.
Giữa các phòng máy có sự điều chuyển thiết bị giữa các phòng nhằm phục
vụ nhiều mục đích khác nhau, thông tin về sự điều chuyển, mục đích của sự điều
chuyển sẽ được ghi lại. Việc đăng kí sử dụng phòng máy được ghi nhận bằng
phiếu đăng kí sử dụng phòng máy, trên đó gồm: họ tên giảng viên, lớp, tuần,
tháng, thời gian sử dụng, sau đó khi sử dụng phòng máy sẽ xuống khoa lấy chìa
khóa do thầy Thanh hoặc thầy Pha giữ.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
5
Yêu cầu của việc đăng kí sử dụng phòng máy: cần đăng kí trước 1 tuần, khi
mượn phòng máy cần kiểm tra các thiết bị trong phòng máy, ghi vào nhật kí phòng
máy, báo cáo ngay khi phát hiện mất mát.
Về vấn đề bảo trì phòng máy: sẽ bảo trì trực tiếp ngay khi có hỏng hóc để
đảm bảo có máy sử dụng, việc bảo trì sẽ do người quản lý phòng máy hay một số
sinh viên trong trường thực hiện. Ngoài ra có lịch bảo trì máy định kì do nhân
viên công ty ngoài trường thực hiện mỗi quý 1 lần hay 4 lần/ năm.
Khi máy hỏng, sẽ thực hiện việc tính toán xem xét chi phí sửa chữa, nếu
chi phí quá cao thì máy sẽ bị loại bỏ. Máy được mua về sẽ được tính chi phí khấu
hao trong 5 năm, nếu chưa khấu hao hết thì sẽ được cố gắng sửa chữa để sử dụng,
khi hết thời gian khấu hao sẽ loại bỏ. Nếu máy hỏng hóc về phần cứng sẽ được
báo cáo, xem xét đề xuất thay thế thiết bị. Khi máy bị hỏng hóc, mất mát, sẽ tiến
hành tìm hiểu nguyên nhân để xử lý. Hiện tại thì chưa có báo cáo định kỳ về phòng
máy, nhưng nếu khoa yêu cầu thông tin như lớp nào đăng ký học phòng nào trong
thời gian nào, hiện tại phòng máy có lớp nào đang sử dụng, mục đích... thì cần
phải trả lời được
Số lượng cán bộ trực tiếp tham gia công tác quản lý phòng máy ở trường
khá ít trong khi phải giải quyết một khối lượng lớn công việc ở hai nơi khác nhau.
Do vậy quản lý phòng máy là khá vất vả, đòi hỏi có hệ thống tin học hỗ trợ quản
lý ,đảm bảo tính chính xác, kịp thời, hỗ trợ ra quyết định, báo cáo định kỳ tới các
cấp lãnh đạo.
2.3. Kết luận
Nghiệp vụ quản phòng máy hoàn chỉnh và hỗ trợ các dịch vụ tiện ích cho
những người sử dụng hệ thống đặc biệt là giảng viên, sinh viên và quản trị viên
quản lý ứng dụng. Để xây dựng ứng dụng, nhóm chúng em sử dụng ngôn ngữ lập
trình: Javascript và một số công cụ sau:
− Back-End: NodeJS – Hapi framework cho RESTFULL API.
− Database: PostgreSQL – 1 database quan hệ tương tự như MySQL, Oracle
DB,SQL server.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
6
− SQL ORM: Objection.js – Công cụ để ánh xạ (mapping) các record dữ liệu
trong hệ quản trị cơ sở dữ liệu sang dạng đối tượng.
− Front-End: React cho phiên bản website và React-native cho phiên bản
android và IOS.
− Automation test: Cypress – Front-end testing , Postman – Automation
Backend testing.
− Thiết kế và xây dựng hệ thống: Start UML – Vẽ các biểu đồ UML cho phân
tích và thiết kế hệ thống, Figma, Photoshop, Adobe illustrator – Vẽ Wire-
frame/Mockup cho Front-End.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
7
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1. Các yêu cầu chính cần thực hiện
Bảng 3.1 Các yêu cầu chính cần thực hiện
STT Yêu cầu
1 Quản lý các môn cần sử dụng đến phòng thực hành (Lab)
2 Quản lý các giáo viên hướng dẫn thực hành
3 Quản lý thông tin các lớp thực hành: Tên lớp, sỉ số, giáo viên chủ nhiệm
4 Quản lý lịch thực hành
5 Quản lý giờ thực hành tại phòng
6 Hỗ trợ việc dạy và học thực hành cho giảng viên và sinh viên
3.2. Yêu cầu hệ thống
3.2.1. Danh sách các tác nhân
Bảng 3.2 Danh sách các tác nhân
STT Tác nhân Các ca sử dụng
1 Admin Điều khiển, quản lý I/O cho toàn bộ hệ thống
2 Giảng viên Đăng kí phòng máy, sử dụng hệ thống hỗ trợ giảng dạy
3 Sinh viên Tra cứu thông tin, sử dụng hệ thống trợ giảng
3.2.2. Danh sách các yêu cầu (use case)
Bảng 3.3 Danh sách các yêu cầu (use case)
Nhóm
yêu
cầu
U Tên yêu cầu Ghi chú
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
8
Quản lý
phòng
lab
U1 Thêm phòng lab Thêm hồ sơ thông tin phòng
U2 Xoá phòng lab Xoá các phòng không tồn tại hoặc
lỗi
U3 Cập nhật thông tin
phòng lab
Cập nhập lại thông tin phòng Lab
nếu sai hoặc thiếu sót
U4
Tìm kiếm phòng lab
theo mã hoặc tên của
phòng lab
Tìm thông tin của phòng theo tên
phòng
U5 Thống kê thông tin của
phòng
List danh sách các thiết bị của phòng
và tình trạng thực tế của thiết bị
Quản lý
danh
sách
giáo
viên
U6 Thêm 1 giáo viên Thêm hồ sơ thông tin giáo viên
U7 Xoá giáo viên
Xoá các giáo viên không tồn tại hoặc
chuyển công tác
U8 Cập nhật thông tin giáo
viên
Cập nhập lại thông tin giáo viên nếu
sai hoặc thiếu sót
U9
Tìm kiếm thông tin giáo
viên theo tên, theo
chuyên ngành.
Tìm thông tin giáo viên theo tên,
theo chuyên ngành.
U10
Thống kê số lượng giáo
viên
Thống kê số lượng giáo viên đã và
đang sử dụng hệ thống
Quản
lý
U11 Thêm lớp học Thêm thông tin lớp học
U12 Xoá lớp học Xoá các lớp học không tồn tại
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
9
danh
sách
lớp
học
U13 Cập nhật lớp học đã tồn
tài
Cập nhập lại thông tin lớp học nếu
sai hoặc thiếu sót
U14 Tìm kiếm thông tin lớp
học theo tên Tìm thông tin lớp học theo tên
U15 Thống kê số lượng lớp
học Thống kê số lượng lớp học hiện có
Quản lý
danh
sách
môn
học
U16 Thêm lớp môn học Thêm thông tin môn học
U17 Xoá môn học Xoá các môn học không tồn tại
U18 Cập nhật lại thông tin
môn học
Cập nhập lại thông tin môn học nếu
sai hoặc thiếu sót
U19 Tìm kiếm thông tin môn
học theo tên Tìm thông tin môn học theo tên
U20 Thống kê số lượng môn
học Thống kê số lượng môn học hiện có
Quản lý
lịch
thực
hành
U21 Thêm lịch thực hành Thêm lịch thực hành
U22 Xoá lịch thực hành Xoá lịch thực hành không tồn tại
U23 Cập nhật lại lịch thực
hành Cập nhập lại lịch thực hành
U24
Tìm kiếm lịch thực hành
theo tên môn học, theo
phòng lab hoặc theo
giảng viên
Tìm lịch thực hành theo tên môn
học, tên giảng viên đã đăng kí lịch
thực hành, tên phòng lab có giờ thực
hành
U25 In lịch thực hành In lịch thực hành theo ý người dùng
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
10
Quản lý
giờ
thực
hành tại
các
phòng
U26 Tạo giờ thực hành cố
định
Cố định thời gian thực hành của 1
tiết học
U27 Cập nhật lại thời gian
thực hành
Cập nhật thời gian đã cố định cho 1
tiết học
Quản lý
tài
khoản
U28 Tạo tài khoản theo
quyền
Tạo 1 tài quản phân quyền cho user
( Admin sẽ tạo và cấp cho user)
U29 Cập nhật thông tin tài
khoản Cập nhật thông tin tài khoản
U30 Khoá tài khoản Khoá các tài khoản có dấu hiệu vi
phạm
Hỗ trợ
học
thực
hành
U31
Stream màn Biểu đồ 3.
giáo viên đến các máy
của sinh viên
Hiển thị các thao tác, hành động của
giáo viên đến màn Biểu đồ 3. học
sinh, hỗ trợ việc học
U32
Stream màn Biểu đồ 3.
của học sinh đến giáo
viên
Stream toàn bộ màn Biểu đồ 3. của
các học sinh đến giáo viên hỗ trợ cho
việc quản lý.
U33
Stream màn Biểu đồ 3.
của 1 học sinh đến toàn
bộ lớp học
Hiển thị các thao tác, hành động của
học sinh đến toàn bộ lớp học giúp hỗ
trợ việc học
Đăng
nhập hệ
thống
U34 Đăng nhập Đăng nhập hệ thống quản lý
Ghi
lịch sử U35
Ghi lại lịch sử hoạt động
của giáo viên Lưu lịch sử hoạt động của giáo viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
11
hoạt
động U36 Tìm kiếm lịch sử hoạt
động của giáo viên
Tìm kiếm hoạt động của giáo viên
theo thời gian
Báo
cáo hệ
thống
U37 Báo cáo tình trạng hệ
thống
Báo cáo lại tình trạng của hệ thống
cho admin
U38 Báo cáo tình trạng thiết
bị phòng
Báo cáo tình trạng thiết bị phòng cho
admin
Quản lý
sinh
viên
U39 Thêm thông tin sinh
viên
Thêm thông tin sinh viên vào hệ
thống
U40 Thêm môn học cho sinh
viên
Thêm thời khoá biểu môn học cho
sinh viên
U41 Điểm danh sinh viên sử
dụng thiết bị của trường
Điểm danh sinh viên bằng thiết bị
của trường dựa vào ip tĩnh
U42 Ghi lại điểm thực hành
của sinh viên
Ghi lại điểm trong quá trình thực
hành của sinh viên
U43
Tìm kiếm thông tin sinh
viên theo tên, mã sinh
viên
Tìm kiếm thông tin sinh viên theo
tên, mã sinh viên
3.3. Đặc tả ca sử dụng theo nhóm yêu cầu
3.3.1. Quản lý phòng lab
a. Mô tả tóm tắc
Tên ca sử dụng: Quản lý phòng lab
Mục đích: Mô tả hoạt động quản lý phòng thực hành khi sử dụng hệ thống
Tác nhân liên quan: Admin
b. Mô tả yêu cầu
− Thêm, sửa, xoá thông tin của phòng lab
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
12
− Quản lý toàn bộ thông tin của phòng từ các thiết bị học tập đến các thiết bị
liên quan khác
− Thời gian cập nhật cần được hiển thị rõ ràng theo ngày tháng, giờ cụ thể
− Hiển thị thông báo các action đã thực hiện thành công hay thất bại
c. Điều kiện trước
User cần phải đăng nhập với quyền admin để có thể thực hiện các action theo
phần b phía trên
d. Điều kiện sau
Không
e. Biểu đồ use case
Biểu đồ 3.2 Biểu đồ use case Quản lý phòng lab
3.3.2. Quản lý danh sách giáo viên
a. Mô tả tóm tắc
Tên ca sử dụng: Quản lý danh sách giáo viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
13
Mục đích: Mô tả hoạt động quản lý giáo viên khi sử dụng hệ thống
Tác nhân liên quan: Admin
b. Mô tả yêu cầu
− Thêm, sửa, xoá thông tin của giáo viên
− Quản lý toàn bộ thông tin giáo viên sẽ giảng dạy và sử dụng phòng thực hành
− Thống kê số lượng giáo viên đã và đang sử dụng phần mềm
− Thời gian cập nhật, chỉnh sửa cần được hiển thị rõ ràng theo ngày tháng, giờ
cụ thể
− Hiển thị thông báo các action đã thực hiện thành công hay thất bại
c. Điều kiện trước
User cần phải đăng nhập với quyền admin để có thể thực hiện các action theo
phần b phía trên
d. Điều kiện sau
Các thông tin của giáo viên cần được bảo mật và không publish ra ngoài
e. Biểu đồ use case
Biểu đồ 3.3 Biểu đồ use case Quản lý danh sách giảng viên
3.3.3. Quản lý danh sách lớp học
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
14
a. Mô tả tóm tắc
Tên ca sử dụng: Quản lý danh sách lớp học
Mục đích: Mô tả hoạt động quản lý danh sách lớp học khi sử dụng hệ thống
Tác nhân liên quan: Admin
b. Mô tả yêu cầu
− Thêm, sửa, xoá các lớp học
− Thông tin lớp học cần chính xác
− Thời gian cập nhật, chỉnh sửa cần được hiển thị rõ ràng theo ngày tháng, giờ
cụ thể
− Hiển thị thông báo các action đã thực hiện thành công hay thất bại
− Thống kê số lượng lớp học đã tạo
c. Điều kiện trước
User cần phải đăng nhập với quyền admin để có thể thực hiện các action theo
phần b phía trên
d. Điều kiện sau
Không
e. Biểu đồ use case
Biểu đồ 3.4 Biểu đồ use case Quản lý danh sách lớp học
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
15
3.3.4. Quản lý danh sách môn học
a. Mô tả tóm tắc
Tên ca sử dụng: Quản lý danh sách môn học
Mục đích: Mô tả hoạt động quản lý danh sách các môn học khi sử dụng hệ thống
Tác nhân liên quan: Admin
b. Mô tả yêu cầu
− Thêm, sửa, xoá thông tin môn học
− Quản lý toàn bộ thông tin môn học về cả giờ giấc, các lớp sẽ học môn đó và
cần cập nhật thường xuyên
− Thống kê số môn học sẽ có trong học kì và toàn bộ môn học đã có
− Thời gian cập nhật, chỉnh sửa cần được hiển thị rõ ràng theo ngày tháng, giờ
cụ thể
− Hiển thị thông báo các action đã thực hiện thành công hay thất bại
c. Điều kiện trước
User cần phải đăng nhập với quyền admin để có thể thực hiện các action theo
phần b phía trên
d. Điều kiện sau
Không
e. Biểu đồ use case
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
16
Biểu đồ 3.5 Biểu đồ use case Quản lý danh sách môn học
3.3.5. Quản lý lịch thực hành
a. Mô tả tóm tắc
Tên ca sử dụng: Quản lý lịch thực hành ( lịch học )
Mục đích: Mô tả hoạt động quản lý lịch thực hành khi sử dụng hệ thống
Tác nhân liên quan: Admin, Giảng viên, Sinh viên
b. Mô tả yêu cầu
− Giảng viên sẽ thêm lịch thực hành bằng việc điền các thông về ngày và lựa
chọn môn học mà giảng viên đang dạy
− Admin có quyền chỉnh sửa hoặc xoá lịch thực hành nếu có sai sót hoặc bị
trùng giờ
− Sinh viên sẽ xem được lịch thực hành khi đăng nhập vào hệ thống
− Thống kê các buổi thực hành đang diễn ra hoặc đã kết thúc
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
17
− Thời gian cập nhật, chỉnh sửa cần được hiển thị rõ ràng theo ngày tháng, giờ
cụ thể
− Hiển thị thông báo các action đã thực hiện thành công hay thất bại
− Hiển thị thông báo đến các bên liên quan khi có việc chỉnh sửa hay cập nhật
lại thông tin của lịch thực hành bằng các bên thứ 3 như mail, chat, …
c. Điều kiện trước
− Các môn học thuộc tiết thực hành đó phải tồn tại trong hệ thống
− Các tác nhân cần phải đăng nhập thành công để thực hiện các action
d. Điều kiện sau
Toàn bộ thông tin thực hành cần phải chính xác và luôn luôn cập nhập
e. Biểu đồ use case
Biểu đồ 3.6 Biểu đồ use case Quản lý lịch thực hành
3.3.6. Quản lý tài khoản
a. Mô tả tóm tắc
Tên ca sử dụng: Quản lý tài khoản
Mục đích: Mô tả hoạt động quản lý tài khoản khi sử dụng hệ thống
Tác nhân liên quan: Admin, Giảng viên, Sinh viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
18
b. Mô tả yêu cầu
− Admin có quyền tạo tài khoản với 1 mật khẩu cố định và phải phân quyền
theo chỉ định
− Các giảng viên và sinh viên sẽ được cấp tài khoản và mật khẩu của mình
− Trong lần đăng nhập đầu tiên, giảng viên và sinh viên sẽ được review lại thông
tin cập nhật và thực hiện chỉnh sửa nếu sai sót.
− Sẽ có 1 yêu cầu đổi mật khẩu hiện tại đối với các tài khoản được cấp nếu mật
khẩu hiện tại vẫn đang là mật khẩu mặt định của trường
− Admin có quyền block các tài khoản có hành vi vi phạm hoặc các tài khoản
có thông tin về sinh đã bảo lưu hoặc rời trường
− Hiển thị thông báo các action đã thực hiện thành công hay thất bại
c. Điều kiện trước
Admin cần phải đăng nhập vào hệ thống để thực hiện tạo tài khoản
d. Điều kiện sau
Toàn bộ thông tin của sinh viên và giảng viên cần được bảo mật
e. Biểu đồ use case
Biểu đồ 3.7 Biểu đồ use case Quản lý tài khoản
3.3.7. Hỗ trợ học thực hành
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
19
a. Mô tả tóm tắc
Tên ca sử dụng: Hỗ trợ học thực hành
Mục đích: Mô tả hoạt động học thực hành khi sử dụng hệ thống
Tác nhân liên quan: Giảng viên, Sinh viên
b. Mô tả yêu cầu
− Trong giờ học thực hành, có các thông tin cần trao đổi, giảng viên hoặc sinh
viên có thực hiện trao đổi thông qua hệ thống trợ giảng được thiết lập
− Screen share màn Biểu đồ 3. giáo viên đến toàn bộ sinh viên
− Screen share màn Biểu đồ 3. của toàn bộ sinh viên đến giáo viên
− Screen share màn Biểu đồ 3. sinh viên đến toàn bộ lớp
c. Điều kiện trước
Các tác năng sử dụng cần đăng nhập hệ thống để có thể thực hiện các action ở
mục b
d. Điều kiện sau
Các trường hợp disconnect khi thực hành cần phải hỗ trợ việc tự động kết nối lại
phòng
e. Biểu đồ use case
Biểu đồ 3.8 Biểu đồ use case Hỗ trợ học thực hành
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
20
3.3.8. Đăng nhập hệ thống
a. Mô tả tóm tắc
Tên ca sử dụng: Đăng nhập hệ thống
Mục đích: Mô tả hoạt động đăng nhập hệ thống khi sử dụng hệ thống
Tác nhân liên quan:Admin, Giảng viên, Sinh viên
b. Mô tả yêu cầu
− Đây là yêu cầu bắt buộc để thực hiện toàn bộ các hoạt động chính của hệ thống
− Hệ thống sẽ hiển thị phần đăng nhập ngay khi truy cập vào
− Các actor cần nhập chính xác các thông tin được cấp để có thể truy cập vào
hệ thống quản lý
− Các hoạt động đăng nhập được hệ thống lưu lại bằng thời gian
c. Điều kiện trước
Nếu là giảng viên, sinh viên thì cần phải có tài khoản được cấp để có thể đăng
nhập
Nếu là admin thì sẽ được bên dev cấp 1 tài khoản chính và duy nhất để sử dụng
d. Điều kiện sau
Các trường hợp đăng nhập không thành công sẽ được nhắc nhở và yêu cầu đăng
nhập lại
e. Biểu đồ use case
Biểu đồ 3.9 Biểu đồ use case Đăng nhập tài khoản
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
21
3.3.9. Ghi lại lịch sử hoạt động
a. Mô tả tóm tắc
Tên ca sử dụng: Ghi lại lịch sử hoạt động
Mục đích: Mô tả hoạt động lưu lịch sử hoạt động của giáo viên khi sử dụng hệ
thống
Tác nhân liên quan: Admin, Giảng viên
b. Mô tả yêu cầu
− Các lịch sử thực hiện hoạt động của từng giáo viên sẽ được lưu lại
− Admin có thể xem được các hoạt động này rõ ràng, tường minh nhất có thể
c. Điều kiện trước
Giảng viên cần phát sinh các hoạt động
d. Điều kiện sau
Không
e. Biểu đồ use case
Biểu đồ 3.10 Biểu đồ use case Quản lý Ghi lại lịch sử hoạt động
3.3.10. Báo cáo hệ thống
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
22
a. Mô tả tóm tắc
Tên ca sử dụng: Báo cáo hệ thống
Mục đích: Mô tả hoạt động báo cáo hệ thống của giảng viên và sinh viên khi sử
dụng hệ thống
Tác nhân liên quan: Sinh viên, Giảng viên
b. Mô tả yêu cầu
− Khi có các tình trạng lỗi liên quan đến hệ thống, giảng viên hoặc sinh viên có
thể report lại đến admin
− Khi có các hư hỏng liên quan đến các thiết bị vật tư trong phòng giảng viên
hoặc sinh viên có thể report lại đến admin
− Admin có thể xem được các báo cáo này rõ ràng, tường minh nhất có thể
c. Điều kiện trước
Giảng viên, sinh viên cần đăng nhập để thực hiện báo cáo
d. Điều kiện sau
Không
e. Biểu đồ use case
Biểu đồ 3.11 Biểu đồ use case Báo cáo hệ thống
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
23
3.3.11. Quản lý sinh viên
a. Mô tả tóm tắc
Tên ca sử dụng: Quản lý sinh viên
Mục đích: Mô tả hoạt động quản lý sinh viên khi sử dụng hệ thống
Tác nhân liên quan: Admin, Giảng viên
b. Mô tả yêu cầu
− Thêm, sửa, xoá thông tin sinh viên
− Quản lý toàn bộ thông tin sinh viên theo từng lớp và cần cập nhật thường
xuyên
− Điểm danh sinh viên
− Thống kê tổng số sinh viên đang sử dụng hệ thống
− Thời gian cập nhật, chỉnh sửa cần được hiển thị rõ ràng theo ngày tháng, giờ
cụ thể
− Hiển thị thông báo các action đã thực hiện thành công hay thất bại
c. Điều kiện trước
Admin, giảng viên cần đăng nhập để thực hiện báo cáo
d. Điều kiện sau
Không
e. Biểu đồ use case
Biểu đồ 3.12 Biểu đồ use case Quản lý sinh viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
24
Biểu đồ Entity relationship diagram (ERD)
Biểu đồ 3.13 Biểu đồ Entity relationship diagram (ERD)
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
25
CHƯƠNG 4 TRIỂN KHAI XÂY DỰNG
4.1. Công nghệ áp dụng vào Đồ án
Với 1 dự án có quy mô lớn như vậy thì việc chọn lựa công nghệ và công cụ
thực hiện là 1 vấn đề vô cùng quan trọng cho sự thành công của toàn bộ dự án,
nhóm thực hiện đã thống nhất và lựa chọn các công nghệ mới nhất hiện nay để
thực hiện. Sau đây là danh sách các công nghệ sẽ sử dụng.
4.1.1. Backend
Qui mô dự án dự tính khá lớn nên việc hoàn thiện dự án đòi hỏi phải có 1
quá trình lâu dài và có tính an toàn và bảo trì cao khi sử dụng và phát triển.
Nhóm quyết định sử dụng framework hapiJS, 1 framework của NodeJS nổi tiếng
sử dụng ngôn ngữ javascript làm nền tảng phát triển ứng dụng. Hỗ trợ các pattern
phổ biến như singleton,… và sử dụng mô hình thiết kế ứng dụng hiện đại để
phát triển 1 backend mạnh mẻ và hoàn thiện. Đi kèm với framework trên là 1
công cụ mạnh mẽ có tên là hapipal, với nó, người phát triển có thể nhanh chóng
thiết lập được 1 dự án và xây dựng ngay lập tức.
Đường dẫn tham khảo của công cụ hapipal : https://hapipal.com/
Hình 4.1 Hapipal.- công cụ xây dựng backend cho dự án
Phần mềm quản lý đòi hỏi phải có 1 hệ quản trị cơ sở quản lý dữ liệu để
lưu trữ thông tin. Đặc biệt thì đây phải là 1 hệ quản trị cơ sở dữ liệu quan hệ.
Nhóm quyết định sử dụng PostgreSQL để áp dụng vào hệ thống của quản lý phòng
lab.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
26
Nói về ưu điểm của PostgreSQL thì đầu tiên chính là tốc độ của nó so với
các hệ quản trị cơ sở dự liệu cùng loại thì nó được đánh giá là nhanh hơn rất nhiều
và có hổ trợ những câu chức năng queries mạnh mẽ hỗ trợ nhà phát triển cải thiện
tốc độ của ứng dụng. Ngoài ra thì đây cũng là 1 hệ quản trị cơ sở dữ liệu phổ biến
và được sử dụng rất nhiều trong thời điểm gần đây so với các hệ quản trị cơ sở dữ
liệu quen thuộc như MySQL hay Microsoft SQL server.
Đường dẫn tham khảo của công cụ hapipal : https://www.postgresql.org/
Hình 4.2 PostgreSQL – Hệ quản trị cơ sở dữ liệu được sử dụng
Để cải thiện tốc độ phát triển cho dự án cũng như đảm bảo tính bảo mật
tránh các thể loại hack như SQLInjection quen thuộc thì nhóm quyết định lựa
chọn ORM để làm công cụ để tương tác đến cơ sở dữ liệu PostgreSQL đã lựa
chọn và ObjectionJS chính là 1 công cụ ánh xạ đến cơ sở dữ liệu được nhóm lựa
chọn. Được phát triển dựa trên KnexJS là 1 công cụ queries cơ sở dữ liệu mạnh
mẽ phục vụ cả MySQL và PostgreSQL. Công cụ trên giúp hỗ trợ đầy đủ các chức
năng đơn giản như tạo bảng, ánh xạ, queries, join, transaction, trigger,… và đặc
biệt là hỗ trợ migration, 1 chức năng quan trọng để đảm bảo hệ cơ sở dữ liệu hoạt
động theo 1 trật tự duy nhất không phải truy cập vào hệ dữ liệu và tạo tay các
bảng, …
Đường dẫn tham khảo ObjectionJS: https://vincit.github.io/objection.js/
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
27
Hình 4.3 ObjectionJS – ORM Database cho NodeJS
Hệ thống quản lý đòi hỏi phải có các vấn để tương tác thời gian thực ví dụ
như thông báo, nhắn tín, báo cáo. Nhóm sử dụng socket.io, 1 module của nodeJS
được xây dựng nhằm mục đích tạo ra real time NodeJS
application. Socket.IO cung cấp cho lập trình viên các đặc trưng như event, room
và tự động phục hồi lại kết nối.
Đường dẫn tham khảo: https://socket.io/
Cuối cùng là môi trường phát triển cho toàn bộ ứng dụng, nhóm lựa chọn
docker để làm môi trường phát triển cho bản dev và deploy. Docker hiểu đơn giản
thì Docker là một dự án mã nguồn mở giúp tự động triển khai các ứng
dụng Linux và Windows vào trong các container ảo hóa. Docker cung cấp một
lớp trừu tượng và tự động ảo hóa dựa trên Linux. Docker sử dụng những tài
nguyên cô lập của Linux như cgroups, kernel, quản lý tệp để cho phép các
container chạy độc lập bên trong một thực thể Linux. Nhóm sử dụng docker để
chạy PostgresSQL và ứng dụng trên container của nó.
Đường dẫn tham khảo: https://docker.com/
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
28
Hình 4.4 Docker - Môi trường phát triên cho dự án
4.1.2. Front-end
Nhóm quyết định sử client side rendering để cải thiện tốc độ của ứng
dụng giúp ứng dụng hoạt động mượt mà hơn vì code chạy trên browser, không
cần load đi loại lại nhiều lần giống như việc server side rendering.
Có nhiều framework hay thư viện hỗ trợ cho việc SSR như Angular, Vue,
ReactJS,… Nhóm đã thống nhất và sử dụng ReactJS là thư viện chính cho việc
phát triển UI phía người dùng.
React (còn được gọi là ReactJS hay React.js) là một thư viện javascript
được tạo ra bởi sự cộng tác giữa Facebook và Instagram. Nó cho phép những
nhà phát triển web tạo ra giao diện người dung nhanh chóng. Phần Views của
Reactjs thường được hiển thị bằng việc chủ yếu dung các component mà chứa
các component cụ thể hoặc các thẻ HTML. Nó cũng sử dụng khái niệm là Virtual
DOM (DOM ảo). Virtual DOM tạo ra bản cache cấu trúc dữ liệu của ứng dụng
trên bộ nhớ. Sau đó, ở mỗi vòng lặp, nó liệt kê những thay đổi và sau đó là cập
nhật lại sự thay đổi trên DOM của trình duyệt một cách hiệu quả. Điều này cho
phép ta viết các đoạn code như thể toàn bộ trang được render lại dù thực tế là
Reactjs chỉ render những component hay subcomponent nào thực sự thay đổi.
Một trong những đặc trưng duy nhất của ReactJS là việc render dữ liệu không
những có thể thực hiện ở tầng server mà còn ở tầng client. Reactjs cực kì hiệu
quả: ReactJS tạo ra cho chính nó DOM ảo – nơi mà các component thực sự tồn
tại trên đó. Điều này sẽ giúp cải thiện hiệu suất rất nhiều. Reactjs cũng tính toán
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
29
những thay đổi nào cần cập nhật len DOM và chỉ thực hiện chúng. Điều này
giúp Reactjs tránh những thao tác cần trên DOM mà nhiều chi phí.
Đường dẫn tham khảo về ReactJS: https://reactjs.org/
Hình 4.5 ReactJS - Thử viện cho phát triển FrontEnd
Để cải thiệt tốc độ phát triển cho FrontEnd thì các framework về UI bắt đầu
ra đời giúp cho người dùng co thể nhanh chóng tạo ra các bản release nhanh chóng
cho ứng dụng các framework ui nổi tiếng cho ReactJS như material-ui, Ant-
design, Chakra-ui, … giúp người phát triển ứng dụng dễ dàng hơn trong việc phát
triển. Nhóm chọn Material-ui là framework trọng dự án lần này bởi vì đây là
framework nổi tiếng và được mệnh danh là số 1 trong các loại framework về phát
triển UI của ReactJS.
Đường dẫn tham khảo về Material-ui: https://material-ui.com/
Hình 4.6 Material UI Frame worok cho phát triển UI
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
30
Nhằm tạo ra sự tương tác giữa UI và API và dễ dàng tracking các đường
dẫn sẽ có phía API. Việc viết document cho API là 1 vấn để cần được thêm vào
ngay từ những giai đoạn đầu xây dựng dự án. Nhóm sử dụng Swagger để thực
hiện công việc nói trên với mục đích chính là tạo tính chuyên nghiệm và hướng
đến việc bảo trì code 1 cách thuận lợi cho dự án sau này.
Đường dẫn tham khảo về Material-ui: https://swagger.io/
Hình 4.7 Swagger - Công cụ ghi API document cho dự án
4.2. Phân cấp quản lý tài khoản
Tài khoản quản trị viên (Admin): Đây là người có trách nhiệm quản lý
phòng thực hành (Lab). Gồm có những chức năng chính như: Quản lý lịch thực
hành, thống kê lịch thực hành, chức năng xem, xóa, sửa lịch thực hành và sắp xếp
lịch thực hành theo yêu cầu, quản lý phòng máy, trang thiết bị, quản lý I/O cho
toàn bộ hệ thống…
Hình 4.8 Giao diện chức năng đăng nhập
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
31
Hình 4.9 Giao diện màn hình chính của Quản trị viên
Giảng viên: Là tài khoản được quản trị viên cấp phát, bắt buộc đổi mật khẩu
với lần đầu đăng nhập và có thể đổi mật khẩu khi cần hoặc cấp phát lại mật khẩu
khi cần. Gồm những chức năng chính như: Đăng kí sử dụng phòng máy, sử dụng
hệ thống hỗ trợ giảng dạy, sử dụng các thiết bị hỗ trợ giảng dạy khi cần, xem lịch
giảng dạy tại phòng thực hành, quản lý sinh viên thực hành trực tuyến, quản lý
thông tin lớp giảng dạy, báo cáo về những trường hợp thiết bị hư hỏng…
Hình 4.10 Giao diện màn hình chính của Giảng viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
32
Sinh viên: Giống như tài khoản Giảng viên, đây là tài khoản được quản trị
viên cấp phát, bắt buộc đổi mật khẩu với lần đầu đăng nhập và có thể đổi mật khẩu
khi cần hoặc cấp phát lại mật khẩu khi cần. Gồm những chức năng chính như: tra
cứu thông tin lịch học, thông tin bài giảng trực tuyến, sử dụng hệ thống trợ giảng,
thực hành theo giáo trình của giảng viên, sử dụng giáo trình online, báo cáo về
những trường hợp thiết bị hư hỏng…
Hình 4.11 Giao diện màn hình chính của Sinh viên
4.3. Quản lý cơ sở dữ liệu
Tính khả dụng của tài nguyên và các thông tin quan trọng khác được lưu
trữ trong máy chủ cơ sở dữ liệu. Ngoài việc lưu trữ thông tin về lịch dạy và học,
thông tin phòng máy, thông tin trang thiết bị, thời khóa biểu thì máy chủ cơ sở dữ
liệu phải duy trì và quản lý 4 loại thông tin quan trọng khác như: thông tin người
dùng (Admin, Giảng viên, Sinh viên), thông tin nền tảng, thông tin trạng thái nền
tảng và thông tin kết nối người dùng. Nội dung và mối quan hệ giữa chúng được
thể hiện trong Biểu đồ 3.12 (Chương 3). PostgreSQL được sử dụng cho mục đích
này để lưu trữ thông tin xác thực, tính khả dụng của tài nguyên và các thông tin
khác.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
33
Hình 14.12 Cơ sở dữ liệu của Ứng dụng
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
34
4.4. Giao diện và chức năng của tài khoản Quản trị viên (Admin)
Hình 4.13 Chức năng quản lý sinh viên
4.4.1. Giao diện và chức năng quản lý sinh viên
Sau khi đăng nhập và chọn biểu tượng chức năng Quản lý sinh viên, màn
hình chính của chức năng sẽ hiển thị và Quản trị viên có thể thêm/ sửa thông tin
của sinh viên, kích hoạt /chặn tài khoản,…
Hình 4.14 Chức năng thêm sinh viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
35
Hình 4.15 Chức năng chỉnh sửa thông tin sinh viên
4.4.2. Giao diện và chức năng quản lý giảng viên
Khi quản trị viên cần thêm/sửa, theo dõi thông tin giảng viên có thể chọn
vào biểu tượng chức năng Quản lý giáo viên…
Hình 4.16 Chức năng quản lý giáo viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
36
Hình 4.17 Chức năng thêm giáo viên
Hình 4.18 Chức năng chỉnh sửa thông tin giáo viên
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
37
4.4.3. Giao diện và chức năng quản lý lớp học phần
Sau đây là chức năng quản lý lớp học phần, các lớp sẽ có tên theo môn học
phần hoặc tên lớp sinh hoạt nếu cần
Hình 4.19 Chức năng quản lý lớp học phần
Hình 4.20 Chức năng thêm sinh viên vào lớp học phần
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
38
Tại chức năng quản lý lớp học phần, quản trị viên cần thêm các sinh viên được
phân vào lớp học phần đó, vì các sinh viên đó có thể là những sinh viên ở các lớp
sinh hoạt khác nhau nên để cho tiện quản lý thì cần thêm thông tin rõ ràng. Sau
khi thêm sinh viên thì quản trị viên sẽ cần thêm thông tin của giáo viên trực tiếp
giảng dạy lớp học phần đó để tiện việc cho quản lý hơn.
Hình 4.21 Chức năng thêm giáo viên vào lớp học phần
Hình 4.22 Chức năng thêm lớp học phần
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
39
Sau khi nhập những thông tin cần thiết và click vào nút “Tạo mới 1 lớp
học” thì sẽ nhận được thông báo thành công và lớp đã hiển thị trên màn hình chính
Hình 4.23 Lớp học mới đã được tạo
4.4.4. Giao diện và chức năng quản lý môn học
Hình 4.24 Chức năng quản lý môn học
Khi cần thêm mới môn học, quản trị viên click vào nút có chức năng “Thêm
môn học”. Và nhập những thông tin cần thiết như: Tên môn học, phòng học, tuần
bắt đầu/kết thúc, lớp giảng dạy, ngày dạy trong tuần, mô tả (nếu có). Sau đó nhấn
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
40
nút “Tạo mới 1 môn học” hoặc nếu sai xót cần chỉnh sửa thì nhấn vào nút “Reset
field”
Hình 4.25 Chức năng thêm môn học
Khi cần cập nhật hoặc chỉnh sửa thông tin của môn học đã tạo trước đây,
thì quản trị viên cần nhấn vào môn học như hình 4.22 trên.
Hình 4.26 Chức năng cập nhật thông tin môn học
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
41
4.4.5. Giao diện và chức năng quản lý phòng học
Đây là 1 chức năng quan trọng để theo dõi các thiết bị hoạt động như thế
nào nhằm lập báo cáo và kịp thời bảo trì, sửa chữa hoặc thay mới khi cần thiết.
Hình 4.27 Chức năng quản lý phòng học
Khi có báo cáo về tình trạng máy cần được Sửa chữa hoặc Bị hỏng thì quản
trị viên sẽ cập nhật thông tin ngay tức thời để có biện pháp xử lý nhanh nhất.
Hình 4.28 Chức năng cập nhật thông tin thiết bị
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
42
Hình 4.29 Chức năng thêm mới phòng học
Sau khi tạo mới phòng học, quản trị viên cần nghiệm thu số lượng các trang
thiết bị có trong phòng thực hành và thêm thiết bị vào phòng.
Hình 4.30 Chức năng thêm thiết bị
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
43
4.5. Giao diện và chức năng của tài khoản Giảng viên
Dùng tài khoản được cấp phát cho giảng viên để đăng nhập và sử dụng ứng
dụng này.
Hình 4.31 Chức năng đăng nhập
Hình 4.32 Màn hình chính theo dõi lịch dạy
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
44
4.6. Giao diện và chức năng của tài khoản Sinh viên
Hình 4.33 Chức năng xem thông tin lịch học, thời khóa biểu
Ngoài chức năng xem thông tin lịch học thì sinh viên còn có thể xem thông
tin, thông báo về lớp học phần và tra cứu kết quả học tập của mình.
4.7. Giao diện và chức năng báo cáo khi gặp sự cố
Hình 4.34 Chức năng báo cáo sự cố
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
45
Mỗi khi Giảng viên, Sinh viên gặp sự cố, vấn đề lỗi hệ thống hoặc lỗi, hư
hỏng ở thiết bị thì có thể báo cáo cho Quản trị viên biết để có phương pháp xử lý
nhanh và kịp thời nhất. Kèm theo đó Hệ thống sẽ lưu lại thông tin lịch sử báo cáo
sự cố.
Hình 4.35 Lưu trữ lịch sử báo cáo
4.8. API documentation
API Document là nội dung kỹ thuật có thể phân phối, bao gồm các hướng
dẫn về cách sử dụng hiệu quả và tích hợp với một API. Nó là một tài liệu ngắn
gọn, chứa tất cả các thông tin được yêu cầu để làm việc với API, với thông tin chi
tiết về các function (hàm), class (lớp), return type (kiểu dữ liệu trả về), các
argument (tham số),... Dưới đây là hình ảnh về API Documentation mà nhóm em
đã xây dựng được.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
46
Hình 4.36 API Documentation
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
47
CHƯƠNG 5 KẾT LUẬN & HƯỚNG PHÁT TRIỂN
5.1. Kết luận
Tổng quan của Đồ án này chúng em đưa ra lợi ích của Ứng dụng quản lý
phòng thực hành trong công tác đào tạo trực tuyến, quản lý trực tuyến. Các tiếp
cận hiệu quả của chương trình đào tạo và quy trình quản lý tích hợp nhiều tính
năng có giá trị trong việc dạy và học. Từ đó, nhóm chúng em rút ra những ưu và
nhược điểm của ứng dụng như sau:
5.1.1. Ưu điểm của ứng dụng
Việc quản lý các phòng Lab là sự kết hợp của các nguồn lực (con người,
thiết bị, thủ tục và vật tự) để cung cấp các chức năng hỗ trợ cho việc dạy và học
thực hành có chất lượng và hiệu quả nhất. Để quản lý phòng Lab và sử dụng một
các chất lượng, an toàn và tiết kiệm một cách hiệu quả, người quản lý phải có
trách nhiệm và đảm bảo mọi hoạt động phải tiến hành khoa học. Ứng dụng đa nền
tảng đã giúp tháo gỡ những rắc rối từ việc quản lý bằng sổ sách mang lại:
− Quản lý hoạt động phòng Lab trực quan, dễ sử dụng.
− Hỗ trợ việc giảng dạy và học tập cho giảng viên và sinh viên tốt nhất, tiết kiệm
tài nguyên nhất có thể.
− Bớt đi những thủ tục rườm rà từ giấy bút.
− Giao diện người dùng thân thiện, dễ dàng tiếp cận và sử dụng lâu dài.
− Đồ án đã sử dụng những công nghệ mới nhằm mang lại sự phát triển ngành
Công nghệ thông tin và nhằm đảm bảo mức độ bảo mật cao nhất.
5.1.2. Nhược điểm của ứng dụng
Một nền tảng mới triển khai thì cần có thời gian nghiên cứu và phát triển
để đưa ra thực tiễn sử dụng cho Nhà trường. Dù có nhiều ưu điểm trên, nhưng Đồ
án của nhóm em còn không ít những hạn chế còn tồn tại:
− Việc sử dụng những công nghệ mới khiến ít nhiều quản trị viên cần có thời
gian làm quen để khi có sự cố xảy ra thì cần khắc phục nhanh chóng.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
48
− Đây là hệ thống demo với quy mô nhỏ (3-5 phòng Lab), nhưng đi đôi với sự
phát triển của Nhà trường thì số phòng thực hành sẽ tăng, quy mô sẽ lớn hơn do
đó sẽ cần hệ thống Server (Máy chủ), kiến trúc mạng đủ lớn và đủ mạnh để duy
trì hoạt động của hệ thống lớn dần.
5.2. Hướng phát triển
Những chức năng demo trên chỉ là một phần nhỏ trong Đồ án của nhóm
chúng em nên còn nhiều chức năng cần có để phù hợp với yêu cầu và sự phát triển
của nền Công nghiệp 4.0, sự phát triển của Nhà trường. Đồ án chuyên ngành 1
chúng em tâph trung vào phân tích hệ thống là chính và thực hiện chức năng quản
lý giảng viên và sinh viên. Còn những chức năng khác nhóm em sẽ hoàn thiện
trong thời gian đến. Trong tương lai, nhóm chúng em sẽ không ngừng học hỏi và
sẽ nâng cấp thêm các chức năng hữu ích hơn nữa như:
− Chia sẻ màn hình thông qua WebRTC giữa các máy.
− Chia sẻ tệp, tập tin, trao đổi thông tin giữa các máy.
− Xử lý các vấn đề trong thời gian thực nhanh chóng.
ĐỒ ÁN CHUYÊN NGÀNH 1 GVHD: Th.S PHẠM HỒ TRỌNG NGUYÊN
49
DANH MỤC TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Phùng Trọng Chiến (2014). Xây dựng phần mềm quản lý phòng thực hành ứng
dụng lập trình ứng dụng mạng trong C#, Khóa luận tốt nghiệp, Trường Đại học
Hùng Vương.
Tiếng Anh:
[1] Tian, W., Su, S., & Lu, G. (2010). “A Framework for Implementing and
Managing Platform as a Service in a Virtual Cloud Computing Lab”. 2010
Second International Workshop on Education Technology and Computer Science.
[2] Nikolic, S., Ritz, C., Vial, P. J., Ros, M., & Stirling, D. (2015). “Decoding
Student Satisfaction: How to Manage and Improve the Laboratory Experience”.
[3] Nikolic, S., Vial, P. J., Ros, M., Stirling, D., & Ritz, C. (2015). “Improving
the Laboratory Learning Experience: A Process to Train and Manage Teaching
Assistants”.
[4] <Material-UI.com>, xem 19/11/2020.
[5] <Node.js>, xem 19/11/2020.
[6] <reactjs.org>, xem 19/11/2020.