Phân tích kiến trúc hệ thống :

Một phần của tài liệu CHUẨN H323 (Trang 100)

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”: (adsbygoogle = window.adsbygoogle || []).push({});

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 : (adsbygoogle = window.adsbygoogle || []).push({});

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 : (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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 liu : 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ả (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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 : (adsbygoogle = window.adsbygoogle || []).push({});

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ả (adsbygoogle = window.adsbygoogle || []).push({});

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

Một phần của tài liệu CHUẨN H323 (Trang 100)