1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án cuối kỳ xây dựng phần mềm desktop

26 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Đồ án cuối kỳ xây dựng phần mềm desktop Đồ án cuối kỳ xây dựng phần mềm desktop Đồ án cuối kỳ xây dựng phần mềm desktop Đồ án cuối kỳ xây dựng phần mềm desktop Đồ án cuối kỳ xây dựng phần mềm desktop v

Phần mềm Remote - Desktop GVHD: T.S: 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 DESKTOP Sinh viên thực hiện: LÊ THỊ ÁNH LY LÊ THỊ KIM TUYỀN Lớp: 21MC Giảng viên hướng dẫn: T.S LÊ TÂN Đà Nẵng, tháng 1 năm 2024 Phần mềm Remote - Desktop GVHD: T.S: 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 DESKTOP Sinh viên thực hiện: LÊ THỊ ÁNH LY Mã SV: 21IT153 LÊ THỊ KIM TUYỀN Mã SV: 21IT660 Lớp: 21MC Giảng viên hướng dẫn: T.S LÊ TÂN Đà Nẵng, tháng 1 năm 2024 NHẬN XÉT ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Xác nhận của 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 và 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 và truyền đạt những kiến thức quý báu cho chúng em trong 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 mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để chúng em có thể vững bước sau này Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn bài báo cáo khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy cô xem xét và góp ý để bài báo cáo của chúng em được hoàn thiện hơn Chúng em xin chân thành cảm ơn! MỤC LỤC MỤC LỤC CHƯƠNG 1 CƠ SỞ LÝ THUYẾT .8 1.1 Tổng quan 8 1.1.1 Phát biểu bài toán .8 1.1.2 Sơ lược về lập trình mạng 8 1.1.3 Lập trình mạng được xây dựng theo công thức: .8 1.2 Các mô hình mạng máy tính .8 1.2.1 Mô hình Client - Server 8 1.2.2 Mô hình mạng hàng ngang (Peer-to-Peer) 9 1.2.3 Mô hình lai(Hybrid) .9 1.3 Giao thức TCP/IP và UDP 9 1.3.1 Giao thức TCP(Transmission Control protocol) .9 1.3.2 Giao thức UDP .10 1.4 Ngôn ngữ Java và Lập trình bằng Socket 10 1.4.1 Lập trình socket cơ bản với tcp/ip trong java .10 1.4.2 Lập trình TCP Socket với Java 10 CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .12 2.1 Sơ lược về phần mềm Remote - Desktop 12 2.1.1 Danh sách các Stakeholder 12 2.1.2 Danh sách các Use-case .12 2.2 Đặc tả Use-case 13 2.2.1 Đặc tả Use-case Đăng nhập 13 2.2.2 Đặc tả Use-case Chat 13 2.3 Sơ đồ hoạt động 15 2.3.1 Sơ đồ hoạt động của Use-case Đăng nhập 15 2.3.2 Sơ đồ hoạt động của Use-case Chat 16 2.3.3 Sơ đồ hoạt động của Use-case Đăng xuất 16 2.4 Sơ đồ trình tự 17 2.6.1 Sơ đồ trình tự của Use-case Đăng nhập 17 2.6.2 Sơ đồ trình tự của Use-case Chat 17 2.6.3 Sơ đồ trình tự của Use-case Đăng xuất 18 CHƯƠNG 3 THIẾT KẾ PHẦN MỀM 19 3.1 Thiết kế kiến trúc 19 3.1.1 Hệ thống được thiết kế theo mô hình Client - Server 19 3.1.2 Danh sách các thành phần trong mô hình Client - Server 19 3.1.3 Danh sách các form màn hình 20 3.2 Thiết kế giao diện phần mềm 20 3.2.1 Giao diện tương tác 21 3.2.2 Các Control để xử lý 23 CHƯƠNG 4 KIỂM NGHIỆM PHẦN MỀM .24 4.1 Test case kịch bản “Đăng nhập sai thông tin IP với Port” .24 1 Những kết quả đã đạt được .25 2 Hạn chế, khó khăn và hướng phát triển 25 DANH MỤC HÌNH Ả Hình 1 1 Mô hình Client - Server 8 Hình 1 3 Mô hình Peer-to-Peer .9 Hình 1 4 Kết nối các ứng dụng thông qua Socket 10 Y Hình 2 1 Biểu đồ sơ lược về phần mềm Remote - Desktop 12 Hình 2 2 Sơ đồ hoạt động của Use-case Đăng nhập 15 Hình 2 3 Sơ đồ hoạt động của Use-case Chat 16 Hình 2 4 Sơ đồ hoạt động của Use-case Đăng xuất .16 Hình 2 5 Sơ đồ trình tự của Use-case Đăng nhập 17 Hình 2 6 Sơ đồ trình tự của Use-case Chat 17 Hình 2 7 Sơ đồ trình tự của Use-case Đăng xuất 18 Hình 3 1 Mô hình Client – Server 19 Hình 3 2 Sơ đồ hoạt động của phần mềm Remote – Desktop .20 Hình 3 3 Giao diện tương tác của Remote Desktop 21 Hình 3 4 Giao diện đăng nhập thành công 21 Hình 3 5 Giao diện gửi tin nhắn trong Chat 22 Hình 3 6 Giao diện chọn file trong Chat 22 CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 Tổng quan 1.1.1 Phát biểu bài toán Ngày nay việc kết nối với nhau trên thế giới đang ngày càng được phát triển nhưng vẫn còn những bất tiện về mặt trao đổi thông tin khi 2 bên không hiểu ý nhau Vì thế nhằm đáp ứng nhu cầu kết nối và trao đổi thông tin với nhau qua màn hình bằng cách kết nối từ xa Nhóm em đã xây dựng và phát triển ứng dụng Remote- Desktop trên Desktop dựa trên ngôn ngữ Java và thư viện javax.mail.* 1.1.2 Sơ lược về lập trình mạng Lập trình mạng là nhiệm vụ cơ bản để phát triển các ứng dụng trong hệ thống doanh nghiệp, từ chương trình phần mềm quản lý như kế toán, nhân sự… cho đến ứng dụng giải trí là trò chơi, điều khiển… 1.1.3 Lập trình mạng được 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ữ của LTM Có 3 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 được nối với các máy chủ, nhận quyền truy nhập mạng và tài nguyên mạng từ các máy chủ 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 và truy cập các thiết bị như máy in mà không cần đến máy chủ hay phần mềm máy chủ, đó chính là 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ố các mạng máy tính đều sử dụng mô hình này, đây là loại mô hình có sự kết hợp giữa Client-Server và Peer-to-Peer Nhìn chung các mạng máy tính đều có những ưu và nhược điểm khác nhau dựa trên từng chi tiêu đánh giá như: Sự cài đặt, bảo mật thông tin, hay khả năng mở rộng mạng 1.3 Giao thức TCP/IP và UDP 1.3.1 Giao thức TCP(Transmission Control protocol) TCP là giao thức truyền tải hướng kết nối (connection-oriented), nghĩa là phải thực hiện thiết lập kết nối với đầu xa trước khi thực hiện truyền dữ liệu Tiến trình thiết lập kết nối ở TCP được gọi là tiến trình bắt tay 3 bước (threeway handshake) Cung cấp cơ chế báo nhận (Acknowledgement) :Khi A gửi dữ liệu cho B, B nhận được thì gửi gói tin cho A xác nhận là đã nhận Nếu không nhận được tin xác nhận thì A sẽ gửi cho đến khi B báo nhận thì thôi Cung cấp cơ chế đánh số thứ tự gói tin (sequencing) cho các đơn vị dữ liệu được truyền, sử dụng để ráp các gói tin chính xác ở điểm nhận và loại bỏ gói tin trùng lặp Có các cơ chế điều khiển luồng thích hợp (flow control) để tránh nghẽn xảy ra Hỗ trợ cơ chế full-duplex ( truyền và nhận dữ liệu cùng một lúc) Phục hồi dữ liệu bị mất trên đường truyền ( A gửi B mà không thấy xác nhận sẽ gửi lại) 1.3.2 Giao thức UDP  Ngược lại với giao thức TCP thì UDP là giao thức truyền tải hướng không kết nối (connectionless) Nó sẽ không thực hiện thao tác xây dựng kết nối trước khi truyền dữ liệu mà thực hiện truyền ngay lập tức khi có dữ liệu cần truyền (kiểu truyền best effort) => truyền tải rất nhanh cho dữ liệu của lớp ứng dụng  Không đảm bảo tính tin cậy khi truyền dữ liệu và không có cơ chế phục hồi dữ liệu ( nó 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 mát trên đường đi hay không) => dễ bị lỗi  Không thực hiện các biện pháp đánh số thứ tự cho các đơn vị dữ liệu được truyền…  Nhanh và hiệu quả hơn đối với các dữ liệu có kích thước nhỏ và yêu cầu khắt khe về thời gian  Bản chất không trạng thái nên UDP hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu 1.4 Ngôn ngữ Java và Lập trình bằng Socket Hình 1 3 Kết nối các ứng dụng thông qua Socket 1.4.1 Lập trình socket cơ bản với tcp/ip trong java Socket được biết đến là cánh cửa giao tiếp giữa hai tiến trình ứng dụng Socket hỗ trợ nhiều ngôn ngữ (C, java, perl, python,…) cũng như nhiều platform (*nix, Windows,…) Socket được viết bằng các ngôn ngữ khác nhau và chạy trên bất kỳ platform nào đều có thể giao tiếp với nhau Trong bài viết này mình gửi đến các bạn khái niệm cơ bản về Socket cũng như cách lập trình Socket với các loại giao thức 1.4.2 Lập trình TCP Socket với Java Đúng như tính chất của TCP chúng ta cần có liên kết 2 chiều trước khi server và client có thể trao đổi thông điệp với nhau Ban đầu, phía server tạo Socket được ràng buộc với một cổng (port number) để chờ nhận yêu cầu từ phía client CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Sơ lược về phần mềm Remote - Desktop Hình 2 1 Biểu đồ sơ lược về phần mềm Remote - Desktop 2.1.1 Danh sách các Stakeholder STT Tên tác nhân Stakeholder Mô tả 1 User(1) Là các cá nhân sử dụng phần mềm Remote- Desktop để tiến hành các chức năng kết nối 2 User(2) với 1 máy ở xa Là người tiếp xúc trực tiếp hoặc gián tiếp qua mạng truyền thông với người sử dụng để có thế giải đáp và tiếp nhận phàn nàn cũng như ý kiến 2.1.2 Danh sách các Use-case STT Tên User Case Mô Tả Là người dùng sẽ lấy IP và Port từ 1 Đăng nhập một ở máy khác ở xa 2 Chọn IP Đăng nhập Là người sử dụng có thể chọn một IP đăng nhập đã biết 3 Chọn IP Chat Là người sử dụng có thể chọn một IP 3 Thoát đăng nhập đã biết để gửi file hoặc mess Người dùng sẽ thoát khỏi phần mềm Remote - Desktop và ngắt kết nối 2.2 Đặc tả Use-case 2.2.1 Đặc tả Use-case Đăng nhập 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 IP và Port đã được tạo Mục Đích Đăng nhập phần mềm Remote - Desktop Yêu cầu đặc biệt IP và Port kích hoạt trên Server Điều kiện tiên quyết Điều kiện phát sinh IP và Port không bị khóa Điều kiện hậu quyết Nhấn connect để đăng nhập Dòng sự kiện chính Không có 1 Hệ thống yêu cầu nhập tên IP và port Dòng sự kiện phụ/rẽ 2 Người dùng nhập đầy đủ IP và Port nhánh 3 Đăng nhập thành công sẽ hiển thị giao diện Dòng sự kiện ngoại lệ Khác quản kết nối giữa 2 máy 2.2.2 Đặc tả Use-case Chat Đăng nhập thất bại sẽ yêu cầu nhập lại Không có Không có Tên User case Chat Actor User Mô tả Người sử dụng muốn dùng phần mềm để nhắn tin hoặc gửi file thông qua IP và Port đã được tạo Mục Đích Trao đổi thông tin thông qua phần mềm Remote - Desktop Yêu cầu đặc biệt IP và Port kích hoạt trên Server Điều kiện tiên quyết IP và Port không bị khóa Điều kiện phát sinh Click vào Chat để nhắn tin Điều kiện hậu quyết hoặc gửi file Dòng sự kiện chính Không có 3 Hệ thống yêu cầu nhập tên IP và port 4 Người dùng nhập đầy đủ IP và Port 3 Đăng nhập thành công sẽ hiển thị giao diện quản kết nối giữa 2 máy Dòng sự kiện phụ/rẽ Đăng nhập thất bại sẽ yêu cầu nhập lại nhánh Không có Dòng sự kiện ngoại lệ Không có Khác 2.1.1 Đặc tả Use-case Đăng xuất Tên User case Thoát Actor User Mô tả Người sử dụng sẽ thoát khỏi phần mềm Remote - Desktop Mục Đích Thoát và ngắt kết nối phần mềm Remote - Desktop Yêu cầu đặc biệt Đang hoạt động Điều kiện tiên quyết Đã đăng nhập Điều kiện phát sinh Không có Điều kiện hậu quyết Không có Dòng sự kiện chính 1 Hệ thống sẽ hiển thị nút X để đăng xuất Dòng sự kiện phụ/rẽ 2 Người dùng chọn và ấn nút để thoát 3 Thoát thành công 3 Đăng xuất thất bại và kiểm tra lại kết nối nhánh Không có Dòng sự kiện ngoại lệ Khác Không có 2.3 Sơ đồ hoạt động 2.3.1 Sơ đồ hoạt động của Use-case Đăng nhập Hình 2 2 Sơ đồ hoạt động của Use-case Đăng nhập 2.3.2 Sơ đồ hoạt động của Use-case Chat Hình 2 3 Sơ đồ hoạt động của Use-case Chat 2.3.3 Sơ đồ hoạt động của Use-case Đăng xuất Hình 2 4 Sơ đồ hoạt động của Use-case Đăng xuất 2.4 Sơ đồ trình tự 2.6.1 Sơ đồ trình tự của Use-case Đăng nhập Hình 2 5 Sơ đồ trình tự của Use-case Đăng nhập 2.6.2 Sơ đồ trình tự của Use-case Chat Hình 2 6 Sơ đồ trình tự của Use-case Chat 2.6.3 Sơ đồ trình tự của Use-case Đăng xuất Hình 2 7 Sơ đồ trình tự của Use-case Đăng xuất CHƯƠNG 3 THIẾT KẾ PHẦN MỀM 3.1 Thiết kế kiến trúc 3.1.1 Hệ thống được thiết kế theo mô hình Client - Server Hình 3 1 Mô hình Client – Server 3.1.2 Danh sách các thành phần trong mô hình Client - Server Thành phần Giải thích Client Máy khách truy cập cơ sở dữ liệu và thực hiện thao tác Server Server nơi lưu trữ Port 3.1.3 Danh sách các form màn hình STT Form màn hình Ý nghĩa/Chú thích Là Form bắt buộc thực hiện thành 1 Đăng nhập công 2 Thoát Thực hiện quá trình thoát khỏi hệ 3 Kết nối thống Hiện màn hình của máy nhập IP 3.2 Thiết kế giao diện phần mềm 3.2.1 Sơ đồ hoạt động của phần mềm Hình 3 2 Sơ đồ hoạt động của phần mềm Remote – Desktop 3.2 Đặc tả giao diện tương tác và xử lý

Ngày đăng: 18/03/2024, 12:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w