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
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Đồ Án Cuối Kỳ Xây Dựng Phần Mềm Desktop
Tác giả Lê Thị Ánh Ly, Lê Thị Kim Tuyền
Người hướng dẫn T.S Lê Tân
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông Việt – Hàn
Chuyên ngành Khoa Khoa Học Máy Tính
Thể loại đồ án
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 26
Dung lượng 3,11 MB

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

Trang 1

GVHD: T.S: Lê Tân Phần mềm Remote - Desktop

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

Giảng viên hướng dẫn: T.S LÊ TÂN

Đà Nẵng, tháng 1 năm 2024

Trang 2

GVHD: T.S: Lê Tân Phần mềm Remote - Desktop

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

Giảng viên hướng dẫn: T.S LÊ TÂN

Đà Nẵng, tháng 1 năm 2024

Trang 3

NHẬN XÉT

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Xác nhận của GVHD

Trang 4

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ìnhgiả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ô xemxé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!

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT1.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ểnnhư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ìnhbằ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ốngdoanh 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.

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àinguyên mạng từ các máy chủ

Hình 1 1 Mô hình Client - Server

Trang 9

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 đếnmá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)

Trang 10

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ếtnối (connectionless) Nó sẽ không thực hiện thao tác xây dựng kết nối trướckhi 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

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ạnkhá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

Trang 11

Tiếp đến phía client yêu cầu server bằng cách tạo một Socket TCP trên máy kèmvới địa chỉ IP và port number của tiến trình tương ứng trên máy server Khi client tạoSocket, client TCP tạo liên kết với server TCP và 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 và có thứ tự giữa client và server, giữamáy chủ và máy nhận chỉ có 1 địa chỉ IP duy nhất Thêm vào đó, mỗi thông điệptruyền đi đều có xác nhận trả về.

Sau đây là một ví dụ ứng dụng đơn giản về lập trình TCP Socket với Java

Miêu tả ứng dụng:

 Client đọc dòng văn bản nhập từ bàn phím người dùng, gửi tới server qua

Socket

 Server đọc các dòng văn bản gửi từ Socket

 Server sẽ chuyển lại dòng văn bản kèm theo “Server accepted” tới phía clientqua Socket

 Client đọc dòng văn bản từ socket và in ra dòng văn bản nhận được từ Server

Trang 12

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG2.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

1 User(1)

Là các cá nhân sử dụng phần mềm Desktop để tiến hành các chức năng kết nốivới 1 máy ở xa

Remote-2 User(2)

Là người tiếp xúc trực tiếp hoặc gián tiếp quamạ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

1 Đăng nhập Là người dùng sẽ lấy IP và Port từ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.

mess

3 Thoát Người dùng sẽ thoát khỏi phần mềm

Remote - Desktop và ngắt kết nối

Trang 13

2.2 Đặc tả Use-case

2.2.1 Đặc tả Use-case Đăng nhập

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

Điều kiện phát sinh

Nhấn connect để đăng nhập

Dòng sự kiện chính

1 Hệ thống yêu cầu nhập tên IP và port

2 Người dùng nhập đầy đủ IP và Port

3 Đăng nhập thành công sẽ hiển thị giao diệnquản kết nối giữa 2 máy

Dòng sự kiện phụ/rẽ

Khác Không có

2.2.2 Đặc tả Use-case Chat

Mô tả Người sử dụng muốn dùng phần mềm để nhắn tinhoặc gửi file thông qua IP và Port đã được tạo

Desktop

Trang 14

Yêu cầu đặc biệt IP và Port kích hoạt trên Server

Điều kiện phát sinh

Click vào Chat để nhắn tin hoặc gửi file

Dòng sự kiện chính

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ệnquản kết nối giữa 2 máy

Dòng sự kiện phụ/rẽ

nhánh

Đăng nhập thất bại sẽ yêu cầu nhập lại

Khác Không có

2.1.1 Đặc tả Use-case Đăng xuất

Desktop

Trang 15

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

Trang 16

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

Trang 17

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

Trang 18

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

Trang 19

CHƯƠNG 3 THIẾT KẾ PHẦN MỀM3.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

Client Máy khách truy cập cơ sở dữ liệu và thực hiện thao tác

Trang 20

3.1.3 Danh sách các form màn hình

1 Đăng nhập Là Form bắt buộc thực hiện thành công.

2 Thoát Thực hiện quá trình thoát khỏi hệ thống.

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ý

Trang 21

3.2.1 Giao diện tương tác

Hình 3 3 Giao diện tương tác của Remote Desktop

Hình 3 4 Giao diện đăng nhập thành công

Trang 22

Hình 3 5 Giao diện gửi tin nhắn trong Chat

Hình 3 6 Giao diện chọn file trong Chat

Trang 23

3.2.2 Các sự kiện xử lý

1 text_ip Địa chỉ IP cần kết nối

2 submit Kết nối tới máy tính cần điều khiển

3.2.2 Các Control để xử lý

1 text_ip Địa chỉ IP để kết nối

2 submit Kiểm tra IP khớp với phía Server

Trang 24

CHƯƠNG 4 KIỂM NGHIỆM PHẦN MỀM

4.1 Test case kịch bản “Đăng nhập sai thông tin IP với Port”

Kịch bản Nhập sai thông tin đăng nhập tài khoản để connect

Related Use Case Connect

Context Bỏ trống text ở Form hoặc nhập sai thông tin

Input Data test IP: “ ” -> Bỏ trống

textIP: “1591” -> Nhập sai thông tin

Expected Output Đăng nhập lại

Test Steps

1 Nhập thông tin IP và Port

2 Connect tài khoản

3 Hiển thị màn hình giao diện

Trang 25

KẾT LUẬN

1 Những kết quả đã đạt được

 Đã 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 được những kiến thức cơ bản về Lập trình mạng

 Thiết lập được màn hình kết nối giữa 2 máy tính

 Hiểu được các chức năng của phần mềm Remote - Desktop

2 Hạn chế, khó khăn và hướng phát triển

 Phần mềm Remote - Desktop vẫn còn thiếu nhiều chức năng, chức năng vẫn cònhạn chế, chỉ thực hiện các tương tác đơn giản qua lại giữa 2 máy tính

 Sẽ phát triển các tính năng nâng cao để người dùng có thể tương tác và giao tiếpqua lại giữa hai máy tính một cách dễ dàng và thuận tiện hơn

Trang 26

TÀI LIỆU THAM KHẢO

 UltraView

 TeamView

 Github

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