A. ĐẶC TẢ YÊU CẦU I. MỤC ĐÍCH II. HỆ THỐNG TỔ CHỨC 1. Thành phần a. Server b. Clients 2. Hoạt động a. Phía Server b. Phía Clients III. CÁC CHỨC NĂNG CHÍNH 1. Phía Server 2. Phía clients B. BIỂU ĐỒ CA SỬ DỤNG – USE CASE DIAGRAM I. CÁC ĐỐI TÁC II. CÁC USE CASE III. USE CASE DIAGRAM C. BIỂU ĐỒ LỚP LĨNH VỰC D. BIỂU ĐỒ LỚP THAM GIA CA SỬ DỤNG VÀ BIỂU ĐỒ TRÌNH TỰ I. QUẢN LÝ THÀNH VIÊN 1. Tóm tắt 2. Mô tả kịch bản 3. Biểu đồ lớp tham gia ca sử dụng “QUẢN LÝ THÀNH VIÊN” 4. Biểu đồ trình tự “QUẢN LÝ THÀNH VIÊN” II. CHIA SẺ MÀN HÌNH 1. Tóm tắt 2. Mô tả kịch bản 3. Biểu đồ lớp tham gia ca sử dụng “CHIA SẺ MÀN HÌNH” 4. Biểu đồ trình tự “CHIA SẺ MÀN HÌNH” III. ĐIỀU KHIỂN TỪ XA 1. Tóm tắt
Trang 1BÀI TẬP LỚN
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI UML
Trang 2-NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Hà Nội, Ngày tháng năm 2010
Ký tên
Gv Vũ Thị Dương
2 Nhóm 1 – Lớp KHMT1K3
Trang 3BẢNG PHÂN CÔNG NHIỆM VỤ
I THỜI GIAN
II NỘI DUNG CÔNG VIỆC CÁC TUẦN
III PHÂN CÔNG CHI TIẾT CÔNG VIỆC:
a Phía Server
b Phía Clients III CÁC CHỨC NĂNG CHÍNH
1.Phía Server 2.Phía clients
B. BIỂU ĐỒ CA SỬ DỤNG – USE CASE DIAGRAM
3 Biểu đồ lớp tham gia ca sử dụng “QUẢN LÝ THÀNH VIÊN”
4 Biểu đồ trình tự “QUẢN LÝ THÀNH VIÊN”
Trang 42 Mô tả kịch bản
3 Biểu đồ lớp tham gia ca sử dụng “ĐIỀU KHIỂN TỪ XA”
4 Biểu đồ trình tự “ĐIỀU KHIỂN TỪ XA”
IV TRUYỀN DẪN FILE
1 Tóm tắt
2 Mô tả kịch bản
3 Biểu đồ lớp tham gia ca sử dụng “TRUYỀN DẪN FILE”
4 Biểu đồ trình tự “TRUYỀN DẪN FILE”
V GỬI THÔNG ĐIỆP
1 Tóm tắt
2 Mô tả kịch bản
3 Biểu đồ lớp tham gia ca sử dụng “GỬI THÔNG ĐIỆP”
4 Biểu đồ trình tự “GỬI THÔNG ĐIỆP”
VI THỐNG KÊ/IN BÁO CÁO THỐNG KÊ
1 Tóm tắt
2 Mô tả kịch bản
3 Biểu đồ lớp tham gia ca sử dụng “THÔNG KÊ/ IN BÁO CÁO”
4 Biểu đồ trình tự “THÔNG KÊ/ IN BÁO CÁO”
VII QUẢN LÝ TÀI KHOẢN
1 Tóm tắt
2 Mô tả kịch bản
3 Biểu đồ lớp tham gia ca sử dụng “QUẢN LÝ TÀI KHOẢN”
4 Biểu đồ trình tự “QUẢN LÝ TÀI KHOẢN”
E. BIỂU ĐỒ LỚP CHI TIẾT
F. BIỂU ĐỒ TRẠNG THÁI
I BIỂU ĐỒ TRẠNG THÁI ONLINE/ OFFLINE CỦA CLIENTS
II BIỂU ĐỒ TRẠNG THÁI GỬI FILE LÊN VÙNG TRAO ĐỔI III BIỂU ĐỒ TRẠNG THÁI LẤY FILE TỪ VÙNG TRAO ĐỔI
IV BIỂU ĐỒ TRẠNG THÁI VÙNG TRAO ĐỔI DỮ LIỆU
G.BIỂU ĐỒ HOẠT ĐỘNG
I BIỂU ĐỒ HOẠT ĐỘNG ĐIỀU KHIỂN MÁY TÍNH TỪ XA
II BIỂU ĐỒ HOẠT ĐỘNG CHIA SẺ FILE III BIỂU ĐỒ QUẢN LÝ TÀI KHOẢN
H.BIỂU ĐỒ THÀNH PHẦN
I. BIỂU ĐỒ TRIỂN KHAI
J. PHÁT SINH MÃ TRÌNH
4Nhóm 1 – Lớp KHMT1K3
Trang 5I THỜI GIAN:
Từ tháng 11 năm 2010 cho tới đầu tháng 12 năm 2010.
II NỘI DUNG CÔNG VIỆC CÁC TUẦN:
- Tuần 1 : Đặc tả usecase + biểu đồ usecase + biểu đồ lớp lĩnh vực.
- Tuần 2 : Biểu đồ lớp tham gia ca sử dụng + biểu đồ trình tự + biểu đồ trạng thái.
- Tuần 3 : Biểu đồ lớp chi tiết + biểu đồ trạng thái + biểu đồ hoạt động.
- Tuần 4 : Biểu đồ thành phần + biểu đồ triển khai + phát sinh mã trình.
Trang 6III PHÂN CÔNG CHI TIẾT CÔNG VIỆC:
- Thành viên Bùi Duy Hùng làm về phần sau:
o Các biểu đồ usecase.
o Các biểu đồ lớp tham gia ca sử dụng và biểu đồ trình
tự của các usecase “điều khiển từ xa”, “thống kê/ báo cáo thống kế”, “quan lý thông tin tài khoản”, “quản lý thành viên”.
o Biểu đồ lớp chi tiết.
o Các biểu đồ trạng thái “online/ offline của các máy trạm clients”, “vùng dữ liệu trao đổi”.
o Các biểu đồ hoạt động : “điều khiển máy tính từ xa”, Quản lý tài khoản”.
o Các biểu đồ lớp tham gia ca sử dụng và biểu đồ trình
tự của usecase “chia sẻ màn hình”, “truyền dẫn files”,
“gửi thông điệp”.
o Các biểu đồ trạng thái : “gửi file lên vùng dữ liệu trao đổi”, “nhận file từ vùng dữ liệu trao đổi”.
o Biểu đồ hoạt động chia sẻ files.
o Biểu đồ triển khai.
o Phát sinh mã trình.
6Nhóm 1 – Lớp KHMT1K3
Trang 7I MỤC ĐÍCH:
YOUR SUPPORTER là một ứng dụng điều khiển máy tính từ xa an
toàn, đơn giản và nhanh chóng Các bạn có thể sử dụng YOUR
SUPPORTER cho các mục đích sau:
- Hỗ trợ cho bạn bè, đồng nghiệp, người thân hoặc khách hàng từ xa
- Thuyết trình hoặc chia sẻ màn hình trực tuyến
- Chỉnh sửa các thiết lập của máy tính khách từ xa.
Ngoài ra, YOUR SUPPORTER còn hỗ trợ một số tính năng như:
- Chia sẻ các tập tin dễ dàng cho máy tính khách
- Tạo ghi chú nhanh trên màn hình với chức năng Whiteboard
- Kiểm soát các phiên kết nối máy tính từ xa với thanh công cụ mới
- Đồng bộ và quản lý danh sách tài khoản của những người kết nối từ xa
- Xây dựng ứng dụng cho phép điều khiển 1 máy tính khác
từ xa, thông qua kết nối mạng (Mạng cục bộ, mạng
Internet).
- Xây dựng ứng dụng làm nền tảng cho dịch vụ tư vấn, khắc phục lỗi máy tính.
- Xây dựng một hệ thống giúp tận dụng đường truyền
Internet cục bộ tại Việt Nam để thực thi các thao tác điều khiển máy tính với chất lượng tốt (Vì đã có 1 số hệ thống điều khiển từ xa, tuy nhiên máy chủ đặt ở nước ngoài nên tốc độ bị hạn chế rất nhiều).
Trang 8o Quản lý và điều hướng các kết nối.
o Quản lý thông tin các máy client.
o Làm nơi trung chuyển dữ liệu giữa các Client (s).
- Thành phần:
o 01 Server dẫn đường (hay còn gọi là Server router
– định tuyến các kết nối): Giúp các client lựa chọn ra
1 server gần mình nhất – Giúp cho tốc độ kết nối đạt mức cao nhất.
o 01 hoặc nhiều Server trung gian: Làm nơi trung
chuyển dữ liệu giữa các client.
b)CLIENTS: Hệ thống gồm nhiều client
Xây dựng để thực thi các thao tác điều khiển:
- Client supporter: Là máy client sẽ thực hiện các thao
tác điều khiển từ xa.
- Client requester: Là máy client có yêu cầu được trợ giúp
- sẽ được điều khiển bởi Client supporter.
2 HOẠT ĐỘNG CỦA HỆ THỐNG:
a) Phía Server:
8Nhóm 1 – Lớp KHMT1K3
Trang 9phải nhập vào số điện thoại (Ở lần sử dụng đầu tiên,
sau đó số điện thoại của người sử dụng sẽ được lưu trữ lại)
Một client A khác muốn truy cập đến máy của client B
để thực hiện các thao tác, thì client A phải biết được Số điện thoại của Client B và Mật khẩu truy cập do
client B thiết lập (hoặc hệ thống tự động sinh ra).
Sự thống nhất này sẽ tạo ra 1 kết nối giữa 2 client.
Máy chủ sẽ kiểm soát được các kết nối giữa các Client
Khi một client kết nối đến, nơi đầu tiên mà client sẽ kết
nối là Server chủ Server chủ được đặt cố định tại 1 địa chỉ IP trên mạng Internet.
Server chủ có nhiệm vụ xác định danh sách các server con đang tồn tại trên hệ thống Từ đó, cho phép client gửi các lệnh ping, và đo thời gian kết nối
tới từng server Việc này cho phép lựa chọn ra server
có thời gian phản hồi nhanh nhất => Lựa chọn làm server mà client sẽ kết nối đến.
Sau khi Client tìm được địa chỉ IP của Server phù hợp nhất Client sẽ gửi yêu tham gia hệ thống.
Nếu Server đó chấp nhận yêu cầu tham gia hệ thống,
thì Server sẽ lưu lại số điện thoại của Client vừa gửi yêu cầu tham gia hệ thống, và lưu lại Mã của phiên làm việc (SessionID).
Trang 10Khi 1 Client A (có SessionID là Sid_A) muốn kết nối tới Client B (có Session ID là Sid_B) để thực hiện các thao tác như Điều khiển máy tính của client B, trao đổi File, VoIP … thì Server sẽ tạo ra 1 Vùng trao đổi (Exchange Place) để lưu trữ các phần dữ liệu mà 2 Client sẽ trao đổi với nhau (Vùng trao đổi này có mã là ExchangeID) Khi có thao tác trao đổi dữ liệu, Client A sẽ gửi dữ liệu lên server Server sẽ có nhiệm vụ lưu trữ lại dữ liệu đó vào Vùng trao đổi (exchange place), Client B sẽ truy vấn để lấy về dữ liệu trong vùng Trao đổi đó (Đảm bảo tính kết nối thống nhất)
(Trong hệ thống, các client không thể trực tiếp trao đổi
dữ liệu với nhau)
Mật khẩu truy cập sẽ được tự động sinh ra bởi chương trình hoặc do người sử dụng thiết lập.
Người sử dụng cũng có thể thay đổi số điện thoại nếu cần.
- Client A (Số điện thoại là PhoneNum_A) muốn điều khiển Client B (PhoneNum_B) thì Client A phải nhập vào 2 thông
số : Số điện thoại của Client B (PhoneNum_B) và mật
10Nhóm 1 – Lớp KHMT1K3
Trang 11thực truy cập thành công
o Sau đó, cửa sổ điều khiển ở máy Client A sẽ hiển thị lên Cho phép Client A nhìn thấy màn hình của Client B.
o Client A có thể thực hiện các thao tác điều khiển như
- Client có thể sử dụng tính năng Đăng ký tài khoản để trở thành Thành viên => có thể quản lý danh bạ, tiện lợi cho việc thao tác với những khách hàng/bạn bè quen thuộc.
- Người quản trị hệ thống nếu có tài khoản Quản trị, có thể
sử dụng phần mềm quản lý ở phía Client để thực hiện các thao tác :
o Thống kê : Người quản trị có thể thống kê được các thông tin liên quan đến hệ thống như Lưu lượng truy cập, Lưu lượng sử dụng dịch vụ, số người sử dụng theo vùng/miền, …
Trang 12o In báo cáo thống kê
o Quản lý tài khoản truy cập : Người quản trị có thể quản lý được tài khoản truy cập của các thành viên
Và quản lý cả tài khoản truy cập của quản trị viên (phân quyền sử dụng các chức năng)
Công nghệ sử dụng:1 trong 2 công nghệ
Công nghệ NET Remoting thông qua giao thức HTTP Lập trình mạng với Socket
12Nhóm 1 – Lớp KHMT1K3
Trang 13III CÁC CHỨC NĂNG CHÍNH:
1 Phía Server:
- Server chủ: Tiếp nhận các kết nối, liệt kê danh sách các máy
chủ con tồn tại trong hệ thống (máy chủ con được đặt ở nhiều
nơi) Từ đó cho phép Client gửi lệnh ping đến các máy chủ con
để đo tốc độ phản hồi và tìm ra Server con tốt nhất cho phép Client kết nối đến.
- Người quản trị hệ thống sau khi xác thực đăng nhập vào hệ
thống quản trị, có thể sử dụng phần mềm ở phía Client dành cho người quản trị để thực hiện các thao tác:
o Quản lý thông tin các Clients
Quản lý số điện thoại
Trạng thái của Client
Danh sách bạn bè thường xuyên
o Thống kê
Thống kê chức năng thường xuyên sử dụng
Thống kê lưu lượng sử dụng trên từng chức năng
Thống kê thời gian truy cập và sử dụng các tính năng
Thống kê theo vùng/miền sử dụng sản phẩm
Thống kê loại kết nối, hệ điều hành sử dụng dịch vụ
o Quản lý tài khoản người sử dụng.
Quản lý thông tin tài khoản
Phân quyền hệ thống
- Server phụ: Tiếp nhận YÊU CẦU THAM GIA HỆ THỐNG.
o Chấp nhận Yêu cầu tham gia hệ thống
Tạo mới phiên làm việc.
Hủy bỏ phiên làm việc.
Từ chối yêu cầu kết nối vì Server đang quá tải Đồng thời gửi Thông báo từ chối yêu cầu về phía Client để Client lựa chọn lại
o Tạo vùng trao đổi dữ liệu cho phép các Client truy xuất dữ liệu tại phiên làm việc của họ (trao đổi dữ liệu).
o Quản lý lưu dữ liệu Vùng trao đổi giữa các Client
o Giới hạn băng thông và tốc độ truyền tải trên từng phiên làm việc để đảm bảo hiệu suất hệ thống.
Trang 142 Phía Client:
- Kết nối:
o Nhập số điện thoại
o Gửi yêu cầu kết nối
o Gửi lại yêu cầu kết nối khi bị từ chối tại thời điểm trước
- Các tính năng chính:
o Truyền dẫn File
o Chia sẻ màn hình
o Điều khiển máy tính từ xa
o Gửi thông điệp
- Quản lý danh bạ:
o Thêm Contact mới
o Xem danh sách Contact – kèm các trạng thái On/Off
o Cập nhật/Xóa các Contact
- Quản lý tài khoản:
o Đăng nhập/Đăng ký tài khoản
o Thay đổi thông tin cá nhân
14Nhóm 1 – Lớp KHMT1K3
Trang 15B BIỂU ĐỒ CA SỬ DỤNG – USE CASE DIAGRAM
o Khởi tạo thông tin truy cập (nhập số điện thoại, mật khẩu)
o Đăng ký tài khoản
o Đăng nhập / Quản lý thông tin tài khoản
o Quản lý danh mục Contact
o Xác thực quyền truy cập tới Client khác
o Xem màn hình máy khác
o Điều khiển máy tính khác
o Truyền dẫn File giữa các Client
o Gửi thông điệp
2 Quản trị viên:
o Thống kê:
Thống kê chức năng thường xuyên sử dụng
Thống kê lưu lượng sử dụng trên từng chức năng
Thống kê thời gian truy cập và sử dụng các tính năng
Thống kê theo vùng/miền sử dụng sản phẩm
Thống kê loại kết nối, hệ điều hành sử dụng dịch vụ
In các báo cáo thống kê
o Quản lý thông tin tài khoản
Quản lý thông tin tài khoản
Trạng thái của Client
Danh sách bạn bè thường xuyên
Trang 16III USE CASE DIAGRAM:
Authentication
Register Screen sharing
Trang 17Manage personal profile
Manage contact list
Trang 1818Nhóm 1 – Lớp KHMT1K3
Trang 19C BIỂU ĐỒ LỚP LĨNH VỰC
User phoneNum Status
Permissions userID permissionID
Administrator permission 0 *
1 0 *
1
ContactDetails contactID userID friendPhoneNum displayName Log
YPScreenData sessionID indexPacket posX posY ScreenData timeSend
YPClient Session_ID phoneNum userID timeStart timeEnd totalSend totalReceived
0 *
1
0 *
1 0 *
0 *
1
0 *
1 1
0 *
1 0 *
Trang 20D.BIỂU ĐỒ LỚP THAM GIA CA SỬ DỤNG VÀ BIỂU ĐỒ TRÌNH TỰ:
I QUẢN LÝ THÀNH VIÊN:
1 Tóm tắt:
Use case này cho phép người sử dụng đã có tài khoản trong hệ thống:
Quản lý danh sách thành viên
Liệt kê các đối tác đang trực tuyến
Xem/Sửa/Xóa thông tin các đối tác
4 Khi người sử dụng lựa chọn chức năng “Thêm mới”, “Sửa thông
tin” thì cửa sổ thông tin liên hệ sẽ mở ra cho phép người dùng thao
Server sẽ trả về Danh sách Contact của người sử dụng đó
Phần mềm ở phía client sẽ liệt kê ra danh sách Contact trongcửa sổ quản lý Chi tiết liên lạc (Contact)
20Nhóm 1 – Lớp KHMT1K3
Trang 21nhật và gửi lại thông báo kết quả về phía Client.
Trang 223 Biểu đồ lớp tham gia ca sử dụng:
user
YP_Users userID email password phoneNum addUser() editUser() delUser() viewUserInformation()
W_Contact details contactID userID phoneNume displayName addContact() viewContact() editContact() delContact()
W_Manage contact userID listContact() findContact()
delContact() close() displayList()
Contact Details contactID userID phoneNum displayName addContact() editContact() delContact() findContact() listContact()
Q_Manage Contact
getListContact()
findContact() addContact() editContact() delContact()
22Nhóm 1 – Lớp KHMT1K3
Trang 234 Biểu đồ trình tự cho Use case “Quản lý thành viên”:
: Members : W_Manage contact : W_Manage contact : W_Contact details : W_Contact details : Q_Manage Contact : Contact Details : YP_Users
listContact( )
getListContact( )
listContact (uID)
v iewUserInf ormation( ) User Inf ormation Contact list
Display
addContact( )
addContact( )
addContact( ) Display
Trang 24o Kịch bản chính phía Client 1 (điều khiển):
Use case này bắt đầu khi người sử dụng muốn quan sát các hoạt độngtrên màn hình máy đối tác
1 Người sử dụng nhập vào số điện thoại của ĐỐI TÁC trong khungcửa sổ KẾT NỐI ĐẾN ĐỐI TÁC Và click vào nút KẾT NỐI
2 Chương trình ở phía Client sẽ kết nối đến Server và xác thực quyềntruy cập bằng cách Hiển thị lên cửa sổ nhập mật khẩu truy cập đếnmáy đối tác
3 Nếu xác thực quyền truy cập thành công Cửa sổ chứa màn hình củađối tác sẽ hiện lên cho phép người sử dụng theo dõi được các thao táctrên máy của đối tác
4 Use case kết thúc khi người dùng click vào nút ĐÓNG.
o Kịch bản chính phía Client 2 (được điều khiển):
1 Khi có một người kết nối đến để theo dõi hoạt động trên máy tínhcủa mình Một cửa sổ nhỏ thông báo thông tin của Client đó sẽ đượchiện lên ở góc dưới màn hình
2 Nếu người sử dụng muốn ngắt kết nối hiện tại, có thể click vào dấu
“X” ở cửa sổ thông tin vừa hiện đó => Use case kết thúc
o Kịch bản phụ phía Server:
(Client A muốn theo dõi màn hình của Client B)
1 Sau khi client Điều khiển gửi yêu cầu theo dõi màn hình máy đối tác.Server sẽ tiếp nhận Số điện thoại của 2 Client và mã xác thực ở phía 2Client (đã được mã hóa) và thực hiện kiểm tra xác thực truy cập
2 Nếu xác thực truy cập thành công Hệ thống sẽ tạo ra một Session(phiên làm việc) và một Vùng trao đổi (làm nơi lưu trữ dữ liệu trung gian)trên Server
3 Chương trình ở phía Client B (với SessionID xác định) sẽ liên tục gửi lênhình ảnh màn hình (đã áp dụng các thuật toán xử lý hình ảnh) lên Vùngtrao đổi (có mã SessionID) Server tiếp nhận dữ liệu và lưu trữ vào vùngtrao đổi dành cho SessionID đó
24Nhóm 1 – Lớp KHMT1K3
Trang 25ở phía Server Server sẽ phản hồi lại yêu cầu và trả về dữ liệu cho ClientA.
5 Use case kết thúc khi 1 trong 2 Client dừng không gửi / nhận dữ liệulên Server nữa
Trang 263 Sơ đồ lớp tham gia ca sử dụng “Chia sẻ màn hình”
W_Authentication PhoneNum Password login() cancel()
user
W_Screen sharing sessionID sendScreenData() getScreenData() display()
Q_Screen sharing screenData indexPacket posX posY sessionID getScreen() sendScreen() sendMouseEvent() sendKeyboardEvent()
<<bool>> isContinueSending()
YP_ScreenData sessionID indexPacket ScreenData posX posY sendScreenData() getScreenData()
<<bool>> isContinueSending()
YP_Client sessionID phoneNum userID timeStart timeEnd totalReceive totalSend requestConnect() connect() disconnect() getInfo()
4 Biểu đồ tuần tự của ca sử dụng “Chia sẻ màn hình”:
: user : W_Authentication Hien thi : W_Screen sharing : Q_Screen sharing : YP_Client : YP_ScreenData
getScreen( )
requestToGetScreen()
Screen Data Screen Data
Display
View partner screen
Screen sharing
Authenticate display ()
getScreenData( ) Screen data
26Nhóm 1 – Lớp KHMT1K3