Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
4,11 MB
Nội dung
Phần mềm Remote - Desktop GVHD: TS Lê Tân TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT HÀN Khoa Khoa Học Máy Tính ĐỒ ÁN CUỐI KỲ XÂY DỰNG PHẦN MỀM REMOTE DESKTOP Sinh viên thực hiện: NGUYỄN VINH HIỆP Lớp học phần: Lập trình mạng (8) Giảng viên hướng dẫn: TS LÊ TÂN Đà Nẵng, 25 tháng 12 năm 2022 Lớp: 20AD Phần mềm Remote - Desktop GVHD: TS Lê Tân TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN CUỐI KỲ XÂY DỰNG PHẦN MỀM REMOTE DESKTOP Sinh viên thực hiện: NGUYỄN VINH HIỆP Lớp học phần: Lập trình mạng (8) Giảng viên hướng dẫn: TS LÊ TÂN Đà Nẵng, 25 tháng 12 năm 2022 Lớp: 20AD Phần mềm Remote - Desktop GVHD: TS Lê Tân NHẬN XÉT ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………………… Xác nhận GVHD LỜI CẢM ƠN Đầu tiên, nhóm em xin gửi lời cảm ơn chân thành đến Trường đại học Công nghệ Thông tin Truyền thơng Việt - Hàn đưa mơn học Lập trình mạng vào chương trình giảng dạy Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến thầy Lê Tân tận tình hướng dẫn, giảng dạy truyền đạt kiến thức quý báu cho chúng em suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học, chúng em có thêm cho nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắn kiến thức quý báu, hành trang để chúng em vững bước sau Bộ mơn Lập trình mạng mơn học thú vị, vơ bổ ích có tính thực tế cao Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn sinh viên Tuy nhiên, vốn kiến thức nhiều hạn chế khả tiếp thu thực tế Phần mềm Remote - Desktop GVHD: TS Lê Tân nhiều bỡ ngỡ Mặc dù chúng em cố gắng chắn báo cáo khó tránh khỏi thiếu sót nhiều chỗ cịn chưa xác, kính mong thầy xem xét góp ý để báo cáo chúng em hoàn thiện Chúng em xin chân thành cảm ơn! MỤC LỤ Phần mềm Remote - Desktop GVHD: TS Lê Tân DANH MỤC HÌNH ẢNH CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tổng quan .8 1.2 Các mơ hình mạng máy tính 1.2.2 Mô hình mạng hàng ngang (Peer-to-Peer) 1.2.3 Mơ hình lai(Hybrid) 1.3 Giao thức TCP/IP UDP 10 1.3.1 Giao thức TCP(Tranmission Control protocol) 10 1.3.2 Giao thức UDP .10 1.4 Ngơn ngữ Java Lập trình Socket 11 1.4.1 Lập trình socket với tcp/ip java 11 1.4.2 Lập trình TCP Socket với Java 11 CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .12 2.1 Sơ lược phần mềm Remote - Desktop 12 2.2 Danh sách Stakeholder 12 2.3 Danh sách Use-case 13 2.4 Đặc tả Use-case 14 2.4.1 Đặc tả Use-case Đăng nhập 14 2.4.2 Đặc tả Use-case Đăng ký .15 2.4.3 Đặc tả Use-case Đăng xuất 16 2.4.4 Đặc tả Use-case Quản lý ID Tài khoản 17 2.5 Sơ đồ hoạt dộng 18 2.5.1 Sơ đồ hoạt động Use-case Đăng nhập 18 2.5.2 Sơ đồ hoạt động Use-case Đăng ký .19 2.5.3 Sơ đồ hoạt động Use-case Đăng xuất 19 2.5.4 Sơ đồ hoạt động Use-cas Quản lý ID Tài khoản 20 2.6 Sơ đồ trình tự .21 2.6.1 Sơ đồ trình tự Use-case Đăng nhập .21 Phần mềm Remote - Desktop GVHD: TS Lê Tân 2.6.2 Sơ đồ trình tự Use-case Đăng ký 21 2.6.3 Sơ đồ trình tự Use-case Đăng xuất 22 2.6.4 Sơ đồ trình tự Use-case Quản lý ID Tài khoản .22 CHƯƠNG THIẾT KẾ PHẦN MỀM 23 3.1 Thiết kế kiến trúc 23 3.1.1 Hệ thống thiết kế theo mơ hình Client - Server .23 3.1.2 Danh sách thành phần mơ hình Client - Server 23 3.2 Thiết kế giao diện phần mềm .24 3.2.1 Sơ đồ hoạt động phần mềm 24 3.2.2 Danh sách form hình .24 3.3 Đặc tả giao diện tương tác xử lý 25 3.3.1 Giao diện tương tác 25 3.3.2 Các kiện xử lý 25 3.3.3 Các Control để xử lý 26 CHƯƠNG KIỂM NGHIỆM PHẦN MỀM 27 4.1 Unit Testing 27 4.1.1 Test case kịch “Đăng nhập sai thông tin ID Password” 27 4.1.2 Test case kịch “Đăng ký thông tin không hợp lệ đăng ký” 28 KẾT LUẬN 29 Những kết đạt 29 Hạn chế, khó khăn hướng phát triển 29 TÀI LIỆU THAM KHẢO .30 DANH MỤC HÌNH ẢNH Hình 1.1 Mơ hình Client - Server Hình 1.2 Mơ hình Peer-to-Peer Hình 1.3 Kết nối ứng dụng thơng qua Socket Hình 2.1 Biểu đồ sơ lược phần mềm Remote - Desktop Phần mềm Remote - Desktop GVHD: TS Lê Tân Hình 2.2 Sơ đồ hoạt động Use-case Đăng nhập Hình 2.3 Sơ đồ hoạt động Use-case Đăng ký Hình 2.4 Sơ đồ hoạt động Use-case Đăng xuất Hình 2.5 Sơ đồ hoạt động Use-case Quản lý ID Đăng nhập Hình 2.6 Sơ đồ trình tự Use-case Đăng nhập Hình 2.7 Sơ đồ trình tự Use-case Đăng ký Hình 2.8 Sơ đồ trình tự Use-case Đăng xuất Hình 2.9 Sơ đồ trình tự Use-case Quản lý ID Tài khoản Hình 3.1 Mơ hình Client - Server Hình 3.2 Sơ đồ hoạt động phần mềm Remote - Desktop Hình 3.3 Giao diện tương tác Remote Desktop Phần mềm Remote - Desktop GVHD: TS Lê Tân CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tổng quan Phát biểu toán Ngày việc kết nối với giới ngày phát triển cịn bất tiện mặt trao đổi thơng tin bên khơng hiểu ý Vì nhằm đáp ứng nhu cầu kết nối trao đổi thông tin với qua hình cách kết nối từ xa Nhóm em xây dựng phát triển ứng dụng RemoteDesktop Desktop dựa ngôn ngữ Java thư viện javx.mail.* Sơ lược lập trình mạng Lập trình mạng nhiệm vụ để phát triển ứng dụng hệ thống doanh nghiệp, từ chương trình phần mềm quản lý kế tốn, nhân sự… ứng dụng giải trí trị chơi, điều khiển… Lập trình mạng xây dựng theo cơng thức: Lập trình mạng (LTM) = Kiến thức mạng truyền thơng + Mơ hình LTM + Ngơn ngữ LTM Có vấn đề chính: Kiến thức mạng truyền thơng Mơ hình lập trình mạng Ngơn ngữ lâp trình mạng 1.2 Các mơ hình mạng máy tính 1.2.1 Mơ hình Client - Server Các máy trạm nối với máy chủ, nhận quyền truy nhập mạng tài nguyên mạng từ máy chủ Phần mềm Remote - Desktop GVHD: TS Lê Tân Hình 1.1 Mơ hình Client - Server 1.2.2 Mơ hình mạng hàng ngang (Peer-to-Peer) Hai hay nhiều máy tính chia s‚ tâ ƒp tin truy câ ƒp thiết bị máy in mà không cần đến máy chủ hay phần mềm máy chủ, mơ hình mạng ngang hàng Hình 1.2 Mơ hình Peer-to-Peer 1.2.3 Mơ hình lai(Hybrid) Đa số mạng máy tính sử dụng mơ hình này, loại mơ hình có kết hợp Client-Server Peer-to-Peer Nhìn chung mạng máy tính có ưu nhược điểm khác dựa chi tiêu đánh giá như: Sự cài đặt, bảo mật thông tin, hay khả mở rộng mạng 1.3 Giao thức TCP/IP UDP 1.3.1 Giao thức TCP(Tranmission Control protocol) TCP giao thức truyền tải hướng kết nối (connection-oriented), nghĩa phải thực thiết lập kết nối với đầu xa trước thực truyền liệu Tiến trình thiết lập kết nối TCP gọi tiến trình bắt tay bước (threeway handshake) Phần mềm Remote - Desktop GVHD: TS Lê Tân Cung cấp chế báo nhận (Acknowledgement) :Khi A gửi liệu cho B, B nhận gửi gói tin cho A xác nhận nhận Nếu không nhận tin xác nhận A gửi B báo nhận thơi Cung cấp chế đánh số thứ tự gói tin ( sequencing) cho đơn vị liệu truyền, sử dụng để ráp gói tin xác điểm nhận loại bỏ gói tin trùng lặp Có chế điều khiển luồng thích hợp ( flow control ) để tránh nghẽn xảy Hỗ trợ chế full-duplex ( truyền nhận liệu lúc) Phục hồi liệu bị đường truyền ( A gửi B mà không thấy xác nhận gửi lại) 1.3.2 Giao thức UDP Ngược lại với giao thức TCP UDP giao thức truyền tải hướng không kết nối (connectionless) Nó khơng thực thao tác xây dựng kết nối trước truyền liệu mà thực truyền có liệu cần truyền (kiểu truyền best effort) => truyền tải nhanh cho liệu lớp ứng dụng Không đảm bảo tính tin cậy truyền liệu khơng có chế phục hồi liệu ( khơng quan tâm gói tin có đến đích hay khơng, khơng biết gói tin có bị mát đường hay không) => dễ bị lỗi Không thực biện pháp đánh số thứ tự cho đơn vị liệu truyền… Nhanh hiệu liệu có kích thước nhỏ yêu cầu khắt khe thời gian Bản chất không trạng thái nên UDP hữu dụng việc trả lời truy vấn nhỏ với số lượng lớn người u cầu 1.4 Ngơn ngữ Java Lập trình Socket Phần mềm Remote - Desktop GVHD: TS Lê Tân Hình 1.3 Kết nối ứng dụng thơng qua Socket 1.4.1 Lập trình socket với tcp/ip java Socket biết đến cánh cửa giao tiếp hai tiến trình ứng dụng Socket hỗ trợ nhiều ngôn ngữ (C, java, perl, python,…) nhiều platform (*nix, Windows,…) Socket viết ngôn ngữ khác chạy platform giao tiếp với Trong viết gửi đến bạn khái niệm Socket cách lập trình Socket với loại giao thức 1.4.2 Lập trình TCP Socket với Java Đúng tính chất TCP cần có liên kết chiều trước server client trao đổi thơng điệp với Ban đầu, phía server tạo Socket ràng buộc với cổng (port number) để chờ nhận yêu cầu từ phía client Tiếp đến phía client yêu cầu server cách tạo Socket TCP máy kèm với địa IP port number tiến tình tương ứng máy server Khi client tạo Socket, client TCP tạo liên kết với server TCP chờ chấp nhận kết nối từ server TCP cung cấp dịch vụ truyền dịng tin cậy có thứ tự client server, máy chủ máy nhận có địa IP Thêm vào đó, thơng điệp truyền có xác nhận trả Sau ví dụ ứng dụng đơn giản lập trình TCP Socket với Java Miêu tả ứng dụng: Client đọc dòng văn nhập từ bàn phím người dùng, gửi tới server qua Socket Server đọc dòng văn gửi từ Socket Server chuyển lại dòng văn kèm theo “Server accepted” tới phía client qua Socket Client đọc dòng văn từ socket in dòng văn nhận từ Server Phần mềm Remote - Desktop GVHD: TS Lê Tân CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Sơ lược phần mềm Remote - Desktop Hình 2.1 Biểu đồ sơ lược phần mềm Remote - Desktop 2.2 Danh sách Stakeholder STT Tên tác nhân Stakeholder Mô tả User Là cá nhân sử dụng phần mềm RemoteDesktop để tiến hành chức kết nối với máy xa Admin Là người tiếp xúc trực tiếp gián tiếp qua mạng truyền thông với người sử dụng để giải đáp tiếp nhận phàn nàn ý kiến 2.3 Danh sách Use-case STT Tên User Case Mô Tả Là người sử dụng tạo ID Password kết nối với Server Đăng ký Đăng nhập Là người dùng lấy ID Password từ máy khác xa Chọn ID Đăng nhập Là người sử dụng chọn số ID đăng nhập gần Quản Lý ID tài khoản Bên Admin có quyền truy cập vào Phần mềm Remote - Desktop GVHD: TS Lê Tân quản lý ID tài khoản người dùng Người dùng thoát khỏi phần mềm Remote - Desktop ngắt kết nối Đăng xuất 2.4 Đặc tả Use-case Tên User case Đăng nhập Actor User Mô tả Người sử dụng muốn dùng phần mềm để kết nối từ xa với máy cịn lại thơng qua ID Password tạo Mục Đích Đăng nhập phần mềm Remote - Desktop Yêu cầu đặc biệt ID Password phải đăng ký kích hoạt Sever Điều kiện tiên ID Password khơng bị khóa Điều kiện phát sinh Điều kiện hậu Nhấn Enter để đăng nhập Hoặc click vào nút đăng nhập Khơng có Hệ thống yêu cầu nhập tên ID password Người dùng nhập đầy đủ ID Password Dòng kiện Đăng nhập thành cơng hiển thị giao diện quản kết nối máy Dòng kiện phụ/rẽ nhánh Đăng nhập thất bại yêu cầu nhập lại Dịng kiện ngoại lệ Khơng có Khác Khơng có 2.4.1 Đặc tả Use-case Đăng nhập Phần mềm Remote - Desktop GVHD: TS Lê Tân Tên User case Đăng ký Actor User Mô tả Người sử dụng tạo ID Password đăng ký kết nối với Server máy khác kết nối từ xa Mục Đích Đăng ký phần mềm Remote - Desktop Yêu cầu đặc biệt ID Password phải phù hợp Điều kiện tiên ID Password chưa đăng ký Điều kiện phát sinh Điều kiện hậu Nhấn Enter để đăng ký Hoặc click vào nút đăng ký Khơng có Hệ thống u cầu nhập tên ID password Người dùng nhập đầy đủ ID Password Dịng kiện Đăng ký thành công hiển thị thông báo đăng ký thành công Dòng kiện phụ/rẽ nhánh Đăng ký thất bại yêu cầu nhập lại Dòng kiện ngoại lệ Khơng có Khác Khơng có 2.4.2 Đặc tả Use-case Đăng ký 2.4.3 Đặc tả Use-case Đăng xuất Tên User case Đăng xuất Actor User Mô tả Người sử dụng khỏi phẩn mềm Remote Desktop Mục Đích Thốt ngắt kết nối phần mềm Remote - Desktop Phần mềm Remote - Desktop GVHD: TS Lê Tân Yêu cầu đặc biệt Đang hoạt động Điều kiện tiên Đã đăng nhập Điều kiện phát sinh Khơng có Điều kiện hậu Khơng có Hệ thống hiển thị nút để đăng xuất Dịng kiện Người dùng chọn ấn nút để đăng xuất Đăng xuất thành cơng Dịng kiện phụ/rẽ nhánh Đăng xuất thất bại kiểm tra lại kết nối Dòng kiện ngoại lệ Khơng có Khác Khơng có 2.4.4 Đặc tả Use-case Quản lý ID Tài khoản Tên User case Quản lý ID Tài khoản Actor Admin Mô tả Admin đăng nhập vào hệ thống để quản lý danh sách ID tài khoản Mục Đích Quản lý ID Tài khoản người dùng Yêu cầu đặc biệt Có danh sách quản lý Điều kiện tiên Đã đăng nhập vào hệ thống Điều kiện phát sinh Khơng có danh sách quản lý Điều kiện hậu Khơng có Dịng kiện Hệ thống hiển thị danh sách Admin click vào để xem thơng tin danh sách xóa, chỉnh sửa Phần mềm Remote - Desktop GVHD: TS Lê Tân Quản lý thành cơng Dịng kiện phụ/rẽ nhánh Quản lý thất bại yêu cầu cung cấp quyền truy cập cao Admin Dòng kiện ngoại lệ Khơng có Khác Khơng có 2.5 Sơ đồ hoạt dộng 2.5.1 Sơ đồ hoạt động Use-case Đăng nhập Hình 2.2 Sơ đồ hoạt động Use-case Đăng nhập 2.5.2 Sơ đồ hoạt động Use-case Đăng ký Phần mềm Remote - Desktop Hình 2.3 Sơ đồ hoạt động Use-case Đăng ký 2.5.3 Sơ đồ hoạt động Use-case Đăng xuất Hình 2.4 Sơ đồ hoạt động Use-case Đăng xuất 2.5.4 Sơ đồ hoạt động Use-case Quản lý ID Tài khoản GVHD: TS Lê Tân Phần mềm Remote - Desktop GVHD: TS Lê Tân Hình 2.5 Sơ đồ hoạt động Use-case Quản lý ID Đăng nhập 2.6 Sơ đồ trình tự 2.6.1 Sơ đồ trình tự Use-case Đăng nhập Phần mềm Remote - Desktop Hình 2.6 Sơ đồ trình tự Use-case Đăng nhập 2.6.2 Sơ đồ trình tự Use-case Đăng ký Hình 2.7 Sơ đồ trình tự Use-case Đăng ký 2.6.3 Sơ đồ trình tự Use-case Đăng xuất GVHD: TS Lê Tân Phần mềm Remote - Desktop GVHD: TS Lê Tân Hình 2.8 Sơ đồ trình tự Use-case Đăng xuất 2.6.4 Sơ đồ trình tự Use-case Quản lý ID Tài khoản Hình 2.9 Sơ đồ trình tự Use-case Quản lý ID Tài khoản Phần mềm Remote - Desktop GVHD: TS Lê Tân CHƯƠNG THIẾT KẾ PHẦN MỀM 3.1 Thiết kế kiến trúc 3.1.1 Hệ thống thiết kế theo mô hình Client - Server Hình 3.1 Mơ hình Client - Server 3.1.2 Danh sách thành phần mơ hình Client - Server Thành phần Giải thích Client Máy khách truy cập sở liệu thực thao tác Server Server nơi lưu trữ ID Password 3.2 Thiết kế giao diện phần mềm 3.2.1 Sơ đồ hoạt động phần mềm Phần mềm Remote - Desktop GVHD: TS Lê Tân Hình 3.2 Sơ đồ hoạt động phần mềm Remote - Desktop 3.2.2 Danh sách form hình STT Form hình Ý nghĩa/Chú thích Đăng nhập Là Form bắt buộc thực thành công Đăng nhập thành công Hiện thị thông báo đăng nhập thành công Form Quản lý ID Là form để kết nối Đăng xuất Thực trính đăng xuất khỏi hệ thống Kết nối Gửi thông báo kết nối thành công 3.3 Đặc tả giao diện tương tác xử lý 3.3.1 Giao diện tương tác Phần mềm Remote - Desktop GVHD: TS Lê Tân Hình 3.3 Giao diện tương tác Remote Desktop STT Tên kiện Xử lý text_pass Mật để kết nối submit Xác nhận tạo mật text_ip Địa ID cần kết nối submit_yes Kết nối tới máy tính cần điều khiển 3.3.2 Các kiện xử lý 3.3.3 Các Control để xử lý STT Tên Control Xử lý text_password Mật để kết nối submit Kiểm tra mật khớp với phía Server CHƯƠNG KIỂM NGHIỆM PHẦN MỀM Phần mềm Remote - Desktop GVHD: TS Lê Tân 4.1 Unit Testing 4.1.1 Test case kịch “Đăng nhập sai thông tin ID Password” Use-case Đăng nhập Kich Nhập sai thông tin đăng nhập tài khoản để đăng nhập Related Use Case Đăng nhập Context Bỏ trống text Form nhập sai thông tin Input Data Expected Output textID: “ ” -> Bỏ trống textPassword: “15911” -> Nhập sai thông tin Thông báo -> “Thông tin tài khoản không đúng!” Nhập thông tin ID Password Test Steps Đăng nhập tài khoản Hiển thị hình giao diện 4.1.2 Test case kịch “Đăng ký thông tin không hợp lệ đăng ký” Use-case Kich Đăng ký Nhập thông tin đăng ký tài khoản đăng ký không hợp lệ Related Use Case Đăng ký Context Nhập thông tin đăng ký trước Input Data Expected Output textID: “test123” -> Đã đăng ký textPassword: “123” -> Đã đăng ký Thông báo -> “Thơng tin tài khoản tồn tại, vui lịng chọn thông tin tài khoản khác!” Nhập thông tin ID Password Test Steps Đăng ký tài khoản Hiển thị hình thơng báo Phần mềm Remote - Desktop GVHD: TS Lê Tân KẾT LUẬN Những kết đạt Đã xây dựng thành công phần mềm Remote - Desktop để kết nối hai máy tính từ xa Nắm kiến thức Lập trình mạng Thiết lập hình kết nối máy tính Hiểu chức phần mềm Remote - Desktop Hạn chế, khó khăn hướng phát triển Phần mềm Remote - Desktop thiếu nhiều chức năng, chức hạn chế, thực tương tác đơn giản qua lại máy tính Sẽ phát triển tính nâng cao để người dùng tương tác giao tiếp qua lại hai máy tính cách dễ dàng thuận tiện TÀI LIỆU THAM KHẢO UltraViewer Github