Từ mơ hình use case, ta phân chia hệ thống thành các phân hệ nhĩm theo các chức năng cho từng Actor cụ thể.
- Quản trị :
o Quản lý người dùng o Quản lý hệ thống
KHOA CNTT – ĐH KHTN o Quản lý danh sách lớp học - Giáo viên : o Quản lý thành viên trong lớp o Quản lý lớp o Quản lý phát hình ảnh o Quản lý phát âm thanh o Quản lý text chat o Thay đổi chủ lớp o Tạo lớp học - Sinh viên : o Đăng ký o Truyền hình ảnh o Truyền am thanh o Chat text - Người dùng :
o Thay đổi thơng tin cá nhân o Kết nối
o Đăng nhập o Đăng ký
KHOA CNTT –
ĐH KHTN
7.6 Phân tích các use-case chính :
7.6.1 Phân tích Use case “KetNoi”: 7.6.1.1 Sơđồ lớp đối tượng : 7.6.1.1 Sơđồ lớp đối tượng :
CMainDlg
CKetNoiDlg
CServerEndPointCtrl
CClientEndPointCtrl
Hình 7-2: Sơđồ lớp đối tượng của Use case “KetNoi” 7.6.1.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CKetNoiDlg Boundary Màn hình yêu cầu nhập địa chỉ kết nối 2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
KHOA CNTT –
ĐH KHTN
7.6.2 Phân tích Use case “DangNhap”: 7.6.2.1 Sơđồ lớp đối tượng 7.6.2.1 Sơđồ lớp đối tượng CMainDlg CManHinhDangNhapDlg CClientEndPointCtrl CServerEndPointCtrl CUsersDB CUsersUtility
Hình 7-3: Sơđồ lớp đối tượng của Use case “DangNhap” 7.6.2.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CManHinhDangNhapDlg Boundary Màn hình đăng nhập 2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server 5 CUsersUtility Control Control thực hiện lấy dữ liệu về
KHOA CNTT –
ĐH KHTN
6 CUsersDB Entity Cơ sở dữ liệu vể người dùng
Bảng 7-4: Danh sách các lớp đối tượng của Use case “DangNhap” 7.6.3 Phân tích Use case “DangKy”:
7.6.3.1 Sơđồ lớp đối tượng CUsersUtility CUsersDB CServerEndPointCtrl CClientEndPointCtrl CDangKyDlg CMainDlg CDSLopDlg
Hình 7-4: Sơđồ lớp đối tượng của Use case “DangKy” 7.6.3.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CDangKyDlg Boundary Màn hình đăng ký thành viên mới 2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
5 CUsersUtility Control Control thực hiện lấy dữ liệu về người sử dụng trong hệ thống
KHOA CNTT –
ĐH KHTN
6 CUsersDB Entity Cơ sở dữ liệu vể người dùng
7 CDSLopDlg Boundary Màn hình hiển thị danh sách các lớp
Bảng 7-5: Danh sách các lớp đối tượng của Use case “DangKy” 7.6.4 Phân tích Use case “QuanLyLopHoc”:
7.6.4.1 Sơđồ lớp đối tượng : Thay đổi mật khẩu : CMainDlg CMatKhauDlg CDSLopDlg CClientEndPointCtrl CServerEndPointCtrl CClassDB CClassUtility
Hình 7-5: Sơđồ lớp đối tượng của Use case “QuanLyLopHoc” – Thay doi mat khau
KHOA CNTT – ĐH KHTN Xố lớp học : CMainDlg CDSLopDlg CMatKhauDlg CClientEndPointCtrl CServerEndPointCtrl CClassUtility CClassDB
Hình 7-6: Sơđồ lớp đối tượng của Use case “QuanLyLopHoc” – Xoa lop hoc 7.6.4.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CDangKyDlg Boundary Màn hình đăng ký thành viên mới 2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
5 CUsersUtility Control Control thực hiện lấy dữ liệu về người sử dụng trong hệ thống
6 CUsersDB Entity Cơ sở dữ liệu vể người dùng
7 CDSLopDlg Boundary Màn hình hiển thị danh sách các lớp 8 CMatKhauDlg Boundary Màn hình yêu cầu nhập mật khẩu
KHOA CNTT –
ĐH KHTN
7.6.5 Phân tích Use case “QuanLyThanhVien”: 7.6.5.1 Sơđồ lớp đối tượng : 7.6.5.1 Sơđồ lớp đối tượng : Cho phép phát biểu trong lớp : CMainDlg CUsersDlg CServerEndPointCtrl CClientEndPointCtrl CThongBaoDlg
Hình 7-7: Sơđồ lớp đối tượng của Use case “QuanLyThanhVien” – Cho phép phát biểu Cho phép phát hình ảnh : CMainDlg CUsersDlg CServerEndPointCtrl CClientEndPointCtrl CThongBaoDlg
KHOA CNTT – ĐH KHTN Đuổi sinh viên: CMainDlg CServerEndPointCtrl CUsersDlg CThongBaoDlg CClientEndPointCtrl
Hình 7-9: Sơđồ lớp đối tượng của Use case “QuanLyThanhVien” – Đuổi sinh viên
7.6.5.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CMainDlg Boundary Màn hình chính
2 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
3 CServerEndPointCtrl Control Điều khiển hoạt động ở server 4 CDSLopDlg Boundary Màn hình hiển thị danh sách các lớp 5 CThongBaoDlg Boundary Màn hình yêu cầu nhập mật khẩu
KHOA CNTT –
ĐH KHTN
7.6.6 Phân tích Use case “TaoLopHoc”: 7.6.6.1 Sơđồ lớp đối tượng : 7.6.6.1 Sơđồ lớp đối tượng : CClassUtility CClassDB CMainDlg CServerEndPointCtrl CClientEndPointCtrl CTaoLopDlg
Hình 7-10: Sơđồ lớp đối tượng của Use case “TaoLopHoc” 7.6.6.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CtaoLopDlg Boundary Màn hình đăng tạo lớp mới 2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server 5 CClassUtility Control Control dùng để giao tiếp giữa cơ sở
dữ liệu lớp và boundary
6 CThongBaoDlg Boundary Màn hình yêu cầu nhập mật khẩu 7 CClassDB Entity Cơ sở dữ liệu liên quan đến lớp
KHOA CNTT –
ĐH KHTN
7.6.7 Phân tích Use case “ThayDoiChuLop”: 7.6.7.1 Sơđồ lớp đối tượng : 7.6.7.1 Sơđồ lớp đối tượng :
CMatKhauDlg
(from Logical View)
CDSLopDlg
(from Logical View)
CClientEndPointCtrl
(from Logical View)
CServerEndPointCtrl
(from Logical View)
CClassUtility
(from Logical View)
CClassDB
(from Logical View)
Hình 7-11: Sơđồ lớp đối tượng của Use case “ThayDoiChuLop” 7.6.7.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CDSLopDlg Boundary Màn hình đăng tạo lớp mới 2 CMatKhauDlg Boundary Màn hình nhập mật khẩu
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server 5 CClassUtility Control Control dùng để giao tiếp giữa cơ sở
KHOA CNTT –
ĐH KHTN
dữ liệu lớp và boundary
6 CClassDB Entity Cơ sở dữ liệu liên quan đến lớp
Bảng 7-9: Danh sách các lớp đối tượng của Use case “ThayDoiChuLop” 7.6.8 Phân tích Use case “ThayDoiQuyenNguoiDung”:
7.6.8.1 Sơđồ lớp đối tượng : CUsersDlg CClientEndPointCtrl CServerEndPointCtrl CUsersUtility CUsersDB
Hình 7-12: Sơđồ lớp đối tượng của Use case “ThayQuyenNguoiDung” 7.6.8.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CUesrsDlg Boundary Màn hình hiển thị danh sách người dùng
2 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
3 CServerEndPointCtrl Control Điều khiển hoạt động ở server 4 CClassUtility Control Control dùng để giao tiếp giữa cơ sở
dữ liệu lớp và boundary
KHOA CNTT –
ĐH KHTN
Bảng 7-10: Danh sách các lớp đối tượng của Use case “ThayDoiNguoiDung” 7.6.9 Phân tích Use case “TruyenAmThanh”:
7.6.9.1 Sơđồ lớp đối tượng : CMainDlg CServerEndPointCtrl CClientEndPointCtrl CAudioUI CAudioCtrl
Hình 7-13: Sơđồ lớp đối tượng của Use case “TruyenAmThanh” 7.6.9.2 Danh sách các lớp đối tượng :
STT Lớp đối tượng Loại Ý nghĩa
1 CMainDlg Boundary Màn hình hiển thị danh sách người dùng
2 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối với server
3 CServerEndPointCtrl Control Điều khiển hoạt động ở server
4 CAudioCtrl Control Control dữ trách nhiệm liên quan đến audio
5 CAudioUI Boundary Dùng để phát âm thanh
KHOA CNTT –
ĐH KHTN
Chương 8 : Thiết kế và cài đặt
8.1 Lược đồ triển khai của hệ thống :
Client GiaoVien Client SinhVien Client QuanTri Client <<network>> RemoteLearning Server
Hình 8-1: Lược đồ triển khai của hệ thống
8.1.1 Các node và chức năng của các node
STT Node Chức năng
1 RemoteLearning Server
Cĩ chức năng làm Server và quản lý database 2 Các client Giáo viên,
sinh viên, người quản trị…
Các client truy xuất vào trong hệ thống của các người dùng khác nhau
8.1.2 Triển khai hệ thống :
Do hệ làm việc trên mơi trường mạng nên cần bổ sung thiết bị làm giao diện mạng. Mạng ởđây cĩ thể là intranet hoặc internet.
Server được đặt ở nơi mà người quản trị cĩ thể dễ dàng kiểm sốt được. Server cần
được đặt ở trên máy chủ cĩ cấu hình mạnh để cĩ thể giúp cho hệ thống hoạt động nhanh chĩng và cĩ đủ khả năng hỗ trợ nhiều lớp học cùng mở cùng lúc. Server nên
KHOA CNTT –
ĐH KHTN
Các client được đặt trên các máy do người sử dụng quyết định. Các máy tính này phải cĩ khả năng nối mạng để cĩ thể kết nối với server được. Ngồi ra các máy tính này cần cĩ microphone và webcam cho việc tham gia lớp học. Các client cần cấu hình mạng trước khi kết nối vào trong hệ thống.
8.2 Thiết kế dữ liệu : 8.2.1 Sơđồ lớp : 8.2.1 Sơđồ lớp : USER ĐANGKY ROOM QUYEN
8.2.2 Thiết kế bảng lưu thơng tin của lớp học :
KHOA CNTT –
ĐH KHTN
Thơng tin các trường :
STT Thuộc tính Kiểu Mơ tả
1 RoomID Integer Chỉ số của room 2 RoomName CString Tên của room
3 Owner CString Tên người tạo ra room 4 Content CString Nội dung tĩm tắt của room
Bảng 8-1: Danh sách các thuộc tính của bảng CRoomSet 8.2.3 Thiết kế bảng lưu thơng tin người sử dụng :
Ánh xạ từ lớp CUserDB sang lớp CusersSet :
Hình 8-3: Ánh xạ từ lớp entity CuserDB sang lớp CusersSet
Thơng tin các trường :
STT Thuộc tính Kiểu Mơ tả
1 Tên Cstring Tên đăng nhập 2 MatKhau CString Mật khẩu đăng nhập 3 Quyen Integer Quyền của người sử dụng
KHOA CNTT –
ĐH KHTN
8.3 Thiết kế giao diện :
8.3.1 Thiết kế màn hình chính :
Hình 8-4: Màn hình chính
Mơ tả các trường trên màn hình :
STT Mô tả
1 ComboBox đển gõ địa chỉ IP vào, cĩ thể chọn địa chỉ IP được lưu sẵn trong dữ
liệu của chương trình
2 Menu dùng để thực hiện kết nối như hình 3 Menu cho viện quản lý text chat trong lớp học 4 Menu hỗ trợ sinh viên phát biểu trong lớp học
5 Menu hỗ trợ giáo viên trong trong việc quản lý về hình ảnh 6 Hỗ trợ người sử dụng trong việc điều chỉnh độ lớn của âm thanh
7 Hỗ trợ người sử dụng trong việc điều chỉnh độ lớn của micro trong việc thu giọng nĩi
KHOA CNTT –
ĐH KHTN
8 Log của những lần chat bằng text
9 Vị trí để gõ text chat, dùng control_Enter để gửi text đi
10 Cho biết trạng thái hiện giờ của chương trình, theo như hình là đang lắng nghe chờ kết nối hoặc kết nối với server
11 Cho biết địa chỉ IP hiện thời của máy tính trong mạng
12 Cho xem hoặc khơng xem phần hình ảnh được gửi từ server và hình ảnh hiện tại lấy được từ webcam
13 Hiển thị danh sách của các thành viên hiện tại trong lớp học 14 Menu Setting : dùng để cấu hình này hệ thống.
Bảng 8-3: Các trường trên màn hình chính
Khi nhấn vào nút mang số 12 ta cĩ hình ảnh sau :
KHOA CNTT –
ĐH KHTN
Mơ tả các trường trên màn hình :
STT Mô tả
15 Hình ảnh thu được từ giáo viên, do server gửi về
16 Hình ảnh lấy được từ webcam của máy đang sử dụng
Bảng 8-4: Các trường trên màn hình thể hiện webcam
Khi nhấn vào nút mang số 13 ta cĩ hình :
Hình 8-6: Màn hình danh sách thành viên
Liệt kê theo thứ tự từ trên xuống, từ trái sang phải :
STT Mô tả
17 Phía trên là danh sách những thành viên hiện cĩ trong lớp 18 Nút thêm 1 thành viên để chat
19 Thêm tất cả thành viên để chat
KHOA CNTT –
ĐH KHTN
21 Xố tất cả thành viên ra khỏi nhĩm đang chat 22 Danh sách các thành viên đang chat
Bảng 8-5: Các trường trên màn hình danh sách thành viên
Hình 8-7: Menu call
Danh sách các chức năng được thể hiện trong menu :
STT Mô tả
23 Thực hiện chức năng tạo kết nối 24 Thực hiện chức năng ngắt kết nối
Bảng 8-6: Các trường trên menu call
Hình 8-8: Menu chat
Mơ tả các trường trên màn hình :
STT Mô tả
25 Cho phép sinh viên chat trong lớp học
26 Khơng cho phép sinh viên chat trong lớp học, duy chỉ cĩ giáo viên mới cĩ quyền chat khi bật chức năng này lên.
Bảng 8-7: Các trường trên menu chat
KHOA CNTT –
ĐH KHTN
Mơ tả các trường trên màn hình :
STT Mô tả
27 Sinh viên xin được phát biểu
28 Khi đang xin phát biểu thì cĩ thể khơng phát biểu nữa
Bảng 8-8: Các trường trên menu audio
Hình 8-10: Menu video
Mơ tả các trường trên màn hình :
STT Mô tả
29 Giáo viên Cho phép xem hình của giáo viên, hình ảnh thu được từ webcam 30 Giáo viên khơng cho phép xem hình ảnh của mình, ngưng việc cung cấp hình
ảnh
31 Giáo viên cho phép sinh viên xem màn hình, chức năng này dùng để hỗ trợ
giáo viên giảng những bài giảng được thực hiện trên desktop như giảng bàng slide
32 Giáo viên khơng cho phép xem màn hình của mình
KHOA CNTT –
ĐH KHTN
Khi thực hiện kết nối và đăng nhập thành cơng, ta được màn hình sau :
Hình 8-11: Màn hình sau khi kết nối
Do đăng nhập là quyền giáo viên, và cho thu webcam ta mới cĩ màn hình như vậy.
8.3.2 Thiết kế màn hình đăng nhập :
Màn hình này chỉ xuất hiện khi đã kết nối thành cơng với máy chủ.
KHOA CNTT –
ĐH KHTN
Mơ tả các trường trên màn hình :
STT Mô tả
1 Textbox dùng để gõ tên đăng nhập 2 Textbox dùng để gõ mật khẩu
3 Button Login dùng để thực hiện chức năng đăng nhập vào hệ thống (đối với những người dùng đã cĩ tài khoản đăng nhập)
4 Button Sign in dùng để thực hiện chức năng đăng ký làm thành viên mới 5 Button Cancel dùng để kết thúc việc đăng nhập, việc này đồng nghĩa với việc
ngắt khỏi server.
Bảng 8-10: Các trường trên màn hình đăng nhập 8.3.3 Thiết kế màn hình hiển thị danh sách lớp :
Màn hình này chỉ xuất hiện khi đã đăng nhập thành cơng vào trong hệ thống. Sau khi
đăng nhập thành cơng sẽ hiển thị danh sách của các lớp đang được mở trên hệ thống.
Đồng thời dựa vào bước đăng nhập ban đầu để xác định quyền của người sử dụng, và hiển thị các chức năng tương ứng. Hình dưới là thể hiện người đăng nhập cĩ quyền là giáo viên.
KHOA CNTT –
ĐH KHTN
Hình 8-13: Màn hình danh sách lớp
Mơ tả các trường trên màn hình :
STT Mô tả
1 ListCtrl hiển thị danh sách các lớp đang được mở, đồng thời hiển thị số lượng người đang cĩ trong lớp, giáo viên cĩ ở trong lớp khơng. Người dùng phải chọn một trong các lớp đang mở trước khi nhấn vào button Join in
2 Tên đăng nhập hiện tại, chương trình tựđộng lấy
3 Textbox để nhập mật khẩu vào trong lớp, nếu lớp đĩ cĩ bảo vệ bằng mật khẩu 4 Button Join thực hiện chức năng tham gia vào lớp học
5 Button Room : hiển thị các chức năng liên quan đến lớp học như tạo lớp học, xố lớp học, thay đổi mật khẩu của lớp học, thay đổi người chủ của lớp học 6 Button User : hiển thị các chức năng liên quan đến người sử dụng như thay
đổi mật khẩu, xố tài khoản, thay đổi quyền của người sử dụng (chức năng của người quản trị)
7 Button đĩng : ngắt kết nối với hệ thống server