1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bao cao ltm bao cao lap trinh mang remote 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

Định dạng
Số trang 26
Dung lượng 2,2 MB

Nội dung

Kết nối các ứng dụng thông qua Socket Hình 2.1.. Sơ đồ hoạt động của Use-case Đăng nhập Hình 2.3.. Sơ đồ hoạt động của Use-case Đăng xuất Hình 2.5.. Sơ đồ hoạt động của Use-case Quản lý

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

Trang 2

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ẵng, 07 tháng 11 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ì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

Bộ môn Lập trình mạng là môn học thú vị, vô cùng bổ ích và 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 của sinh viên 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ònnhiề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áokhó 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 mongthầ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!

Trang 5

MỤC LỤC

Trang 6

DANH MỤC HÌNH ẢNH 7

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 8

1.1 Tổng quan 8

1.2 Các mô hình mạng máy tính 9

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 10

1.3.2 Giao thức TCP(Tranmission Control protocol) 10

1.3.3 Giao thức UDP 10

1.4 Ngôn ngữ Java và Lập trình bằng Socket 11

1.4.2 Lập trình socket cơ bản với tcp/ip trong java 11

1.4.3 Lập trình TCP Socket với Java 11

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.2 Danh sách các Stakeholder 12

2.3 Danh sách các 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 và Tài khoản 17

2.5 Sơ đồ hoạt dộng 18

2.5.1 Sơ đồ hoạt động của Use-case Đăng nhập 18

2.5.2 Sơ đồ hoạt động của Use-case Đăng ký 19

2.5.3 Sơ đồ hoạt động của Use-case Đăng xuất 19

2.5.4 Sơ đồ hoạt động của Use-cas Quản lý ID và Tài khoản 20

2.6 Sơ đồ trình tự 21

2.6.1 Sơ đồ trình tự của Use-case Đăng nhập 21

Trang 7

2.6.2 Sơ đồ trình tự của Use-case Đăng ký 21

2.6.3 Sơ đồ trình tự của Use-case Đăng xuất 22

2.6.4 Sơ đồ trình tự của Use-case Quản lý ID và Tài khoản 22

CHƯƠNG 3 THIẾT KẾ PHẦN MỀM 23

3.1 Thiết kế kiến trúc 23

3.1.1 Hệ thống được thiết kế theo mô hình Client - Server 23

3.1.2 Danh sách các thành phần trong 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 của phần mềm 24

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

3.3 Đặc tả giao diện tương tác và xử lý 25

3.3.1 Giao diện tương tác 25

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

3.3.3 Các Control để xử lý 26

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

4.1 Unit Testing 27

4.1.1 Test case kịch bản “Đăng nhập sai thông tin ID hoặc Password” 27

4.1.2 Test case kịch bản “Đăng ký thông tin không hợp lệ hoặc đã đăng ký” 28

KẾT LUẬN 29

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

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

TÀI LIỆU THAM KHẢO 30

Trang 8

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 các ứng dụng thông qua Socket

Hình 2.1 Biểu đồ sơ lược về phần mềm Remote - Desktop

Hình 2.2 Sơ đồ hoạt động của Use-case Đăng nhập

Hình 2.3 Sơ đồ hoạt động của Use-case Đăng ký

Hình 2.4 Sơ đồ hoạt động của Use-case Đăng xuất

Hình 2.5 Sơ đồ hoạt động của Use-case Quản lý ID và Đăng nhập

Hình 2.6 Sơ đồ trình tự của Use-case Đăng nhập

Hình 2.7 Sơ đồ trình tự của Use-case Đăng ký

Hình 2.8 Sơ đồ trình tự của Use-case Đăng xuất

Hình 2.9 Sơ đồ trình tự của Use-case Quản lý ID và Tài khoản

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

Hình 3.2 Sơ đồ hoạt động của phần mềm Remote - Desktop

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

Trang 9

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Tổng quan

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 javx.mail.*

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…

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

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ủ

Trang 10

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‚

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

1.3 Giao thức TCP/IP và UDP

1.3.1 Giao thức TCP(Tranmission 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). (

Trang 11

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 tintrù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 khitruyề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ểutruyề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 đượctruyề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ắtkhe 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ấnnhỏ 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

Trang 12

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

Tiếp đến phía client yêu cầu server bằng cách tạo một Socket TCP trên máykèm với địa chỉ IP và port number của tiến tình tương ứng trên máy server Khiclient tạo Socket, 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ữa má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ệp truyề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 quaSocket

➢ 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 13

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.2 Danh sách các Stakeholder

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 với 1 máy ở xa

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.3 Danh sách các Use-case

Là người sử dụng sẽ tạo ra một ID và Password được kết nối với Server

2 Đăng nhập Là người dùng sẽ lấy ID và Password từ một ở máy khác ở xa.

3 Chọn ID Đăng nhập Là người sử dụng có thể chọn một trong số các ID đăng nhập gần đây.

4 Quản Lý ID và tài khoản Bên Admin có quyền truy cập vào và

Trang 14

quản lý các ID và tài khoản của người dùng.

5 Đăng xuất Người dùng sẽ thoát khỏi phần mềm Remote - Desktop và ngắt kết nối.

Yêu cầu đặc biệt Sever ID và Password phải được đăng ký và kích hoạt trên

Điều kiện tiên quyết ID và Password không bị khóa

Điều kiện phát sinh Nhấn Enter để đăng nhập

Hoặc click vào nút đăng nhập

Dòng sự kiện chính

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

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

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ẽ nhánh 3 Đăng nhập thất bại sẽ yêu cầu nhập lại

Dòng sự kiện ngoại lệ Không có

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

Trang 15

Tên User case Đăng ký

Mô tả Người sử dụng sẽ tạo ra một ID và Password đượcđăng ký và kết nối với Server để cho một máy khác

kết nối từ xa

Yêu cầu đặc biệt ID và Password phải phù hợp

Điều kiện tiên quyết ID và Password chưa đăng ký

Điều kiện phát sinh Nhấn Enter để đăng ký

Hoặc click vào nút đăng ký

Dòng sự kiện chính

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

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

3 Đăng ký thành công sẽ hiển thị thông báo đăng ký thành công

Dòng sự kiện phụ/rẽ nhánh 3 Đăng ký thất bại sẽ yêu cầu nhập lại

Dòng sự kiện ngoại lệ Không có

2.4.2 Đặc tả Use-case Đăng ký

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

Mô tả Desktop.Người sử dụng sẽ thoát khỏi phẩn mềm Remote -

Trang 16

Yêu cầu đặc biệt Đang hoạt động.

Điều kiện tiên quyết Đã đăng nhập

Dòng sự kiện chính

1 Hệ thống sẽ hiển thị một nút để đăng xuất

2 Người dùng chọn và ấn nút để đăng xuất

3 Đăng xuất thành công

Dòng sự kiện phụ/rẽ nhánh 3 Đăng xuất thất bại và kiểm tra lại kết nối

Dòng sự kiện ngoại lệ Không có

2.4.4 Đặc tả Use-case Quản lý ID và Tài khoản

Mô tả sách ID và tài khoảnAdmin sẽ đăng nhập vào hệ thống để quản lý danh

Điều kiện tiên quyết Đã đăng nhập vào hệ thống

Điều kiện phát sinh Không có danh sách quản lý

Dòng sự kiện chính 1 Hệ thống sẽ hiển thị một danh sách

2 Admin sẽ click vào để xem thông tin danh sách và có thể xóa, chỉnh sửa

Trang 17

3 Quản lý thành công.

Dòng sự kiện phụ/rẽ nhánh cập cao hơn Admin.3 Quản lý thất bại và yêu cầu cung cấp quyền truy

Dòng sự kiện ngoại lệ Không có

2.5 Sơ đồ hoạt dộng

2.5.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.5.2 Sơ đồ hoạt động của Use-case Đăng ký

Trang 18

Hình 2.3 Sơ đồ hoạt động của Use-case Đăng ký

2.5.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.5.4 Sơ đồ hoạt động của Use-case Quản lý ID và Tài khoản

Trang 19

Hình 2.5 Sơ đồ hoạt động của Use-case Quản lý ID và Đăng nhập

2.6 Sơ đồ trình tự

2.6.1 Sơ đồ trình tự của Use-case Đăng nhập

Trang 20

Hình 2.6 Sơ đồ trình tự của Use-case Đăng nhập

2.6.2 Sơ đồ trình tự của Use-case Đăng ký

Hình 2.7 Sơ đồ trình tự của Use-case Đăng ký

2.6.3 Sơ đồ trình tự của Use-case Đăng xuất

Trang 21

Hình 2.8 Sơ đồ trình tự của Use-case Đăng xuất

2.6.4 Sơ đồ trình tự của Use-case Quản lý ID và Tài khoản

Hình 2.9 Sơ đồ trình tự của Use-case Quản lý ID và Tài khoản

Trang 22

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

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

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

Trang 23

Hình 3.2 Sơ đồ hoạt động của phần mềm Remote Desktop -

3.2.2 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 Đăng nhập thành công Hiện thị thông báo đăng nhập thành công.

4 Đăng xuất Thực hiện quá trính đăng xuất khỏi hệ thống.

3.3 Đặc tả giao diện tương tác và xử lý

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

Trang 24

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

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

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

3.3.3 Các Control để xử lý

Trang 25

CHƯƠNG 4 KIỂM NGHIỆM PHẦN MỀM4.1 Unit Testing

4.1.1 Test case kịch bản “Đăng nhập sai thông tin ID hoặc Password”

textPassword: “15911” -> Nhập sai thông tin

Expected

Test Steps

1 Nhập thông tin ID và Password

2 Đăng nhập tài khoản

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

4.1.2 Test case kịch bản “Đăng ký thông tin không hợp lệ hoặc đã đăng ký”

Input Data textID: “test123” -> Đã đăng ký

3 Nhập thông tin ID và Password

4 Đăng ký tài khoản

3 Hiển thị màn hình thông báo

Trang 26

➢ 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ẫncòn hạ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à giaotiếp qua lại giữa hai máy tính một cách dễ dàng và thuận tiện hơn

TÀI LIỆU THAM KHẢO

➢ UltraViewer

➢ Github

Ngày đăng: 19/12/2024, 15:32

w