Tải bản đầy đủ
CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH

CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH

Tải bản đầy đủ

Hình 3.1: Biểu đồ phân cấp chức năng của ứng dụng

3.1.2.1 Đăng nhập vào FTP Server.
Việc đăng nhập vào hệ thống FTP Server giúp người dùng có thể thực hiện các
dịch vụ mà FTP Server cung cấp. Người dùng thực hiện việc nhập các thông tin mà
FTP Server cung cấp bao gồm địa chỉ của FTP Server, usernam và password. Sau
khi thực hiện xong việc này người dùng click vào "Connect" để kết nối đến FTP
Server. Sau khi đăng nhập thành công người dùng có thể thấy các thông báo đã kết
nối thành công đến FTP Server. Và lúc này người dùng có thể thực hiện các chức
năng khác.
47

3.1.2.2 Hiển thị nội dung các thư mục, file trên máy tính và trên FTP Server.
Khi chương trình chạy, trên giao diện người dùng sẽ hiển thị các file và thư
mục trên máy tính. Người dùng có thể duyệt qua các file trên máy thông qua các nút
lênh giao diện của chương trình .
Khi người dùng đăng nhập thành công vào FTP Server, toàn bộ file, thư mục
trên Server sẽ được hiển thị. Người dùng có thể duyệt qua các file, thư mục, xem
một số thông tin về chúng.
3.1.2.3 Xóa file, thay đổi tên file
Mỗi FTP Server cấp cho người dùng một không gian lưu trữ nhất định để lưu
trữ. Do đó những file dữ liệu không còn cần thiết nên được xóa đi. Tại giao diện
chương trình người dùng chọn file mình muốn xóa và thực hiện thao tác này.
Tương tự với chức năng đổi tên. Người dùng cũng chọn file mà mình muốn
đổi và thực hiện.
3.1.2.4 Upload file/thư mụclên FTP Server
Người dùng chọn file thông qua chức năng duyệt tìm file cần upload và tiến
hành upload lên FTP Server.
Ngoài việc upload file, người dùng có thể thực hiện upload cả thư mục lên
FTP Server. Chương trình sẽ hiển thị quá trình download đến khi hoàn thành.
3.1.2.5 Download file/thư mục từ FTP Server
Download file từ FTP Server về máy tính cá nhân. Người dùng sẽ duyệt tìm
file mà mình muốn download và thực hiện việc này. Sau khi chọn file download,
người dùng sẽ chọn đường dẫn để lưu file này. Chương trình sẽ hiển thị quá trình
upload đến khi hoàn thành.
3.1.2.6 Tạo mới thư mục
Người dùng có thể tạo mới thư mục tùy theo yêu cầu sắp xếp dữ liệu. Việc này
giúp cho việc lưu trữ cũng như duyệt tìm dễ dàng hơn. Từ giao diện chương trình
người dùng thực hiện thao tao tạo mới thư mục và đặt tên cho thư mục đó.

48

3.2 Thiết kế chương trình
3.2.1 Biểu đồ use case
Chức năng : biểu đồ USE CASE cung cấp bức tranh toàn cảnh về

-

những gì đang xảy ra trong hệ thống.
Biểu đồ use case đưa ra các use case (tình huống sử dụng), các

-

actor (tác nhân) và các association (quan hệ kết hợp) giữa chúng. Nó
thể hiện các quan hệ giữa người dùng với hệ thống và các chức năng
trong hệ thống.
Các ký hiệu:

STT

Ký hiệu

Chú giải
1

Bảng 3.1 Các ký hiệu sử dụng cho biểuđồ USE CASE

49

Hình 3.2:Tổng quát chức năng của người sử dụng
Use Case: Tổng quát hệ thống

ID:1

Phạm vi: Với tài khoản ftp client người dùng truy cập và kết nối vào hệ thống
Tác nhân chính: Người dùng với tài khoản FTP Client
Điều kiện tuyên quyết: FTP Client đang ở trạng thái hoạt động
Điều kiện thực hiện: Người dùng phải có tài khoản FTP Client hợp lệ
Sự kện kích hoạt: Người dùng truy cập hệ thống
Luồng sự kiện chính:
Người dùng yêu cầu gửi nhận file lên FTP server.
FTP client đăng nhập vào hệ thống bằng username, password, hostname mà server cấp cho.
Sau khi server xác nhận người dùng hợp lệ, người dùng có thể thao tác với dữ liệu trên server
cũng như thực hiện download, upload file với server.
File download được sẽ được lưu trên máy người dùng, file upload sẽ được lưu trên server.
Luồng phụ B1:
Hiển thị tài khoản không hợp lệ yêu cầu đăng nhập lại
Kết thúc.

3.2.2 Biểu đồ tuần tự FTP Client

-

Các ký hiệu:
Tên chức năng hệ thống
Tên đối tượng(Tác nhân)

50

Tên luồng dữ liệu (hành động)

Hình 3.3: Các ký hiệu biểu diễn biểu đồ tuần tự

- Biểu đồ tuần tự login vào hệ thống

Hình 3.4: Biểu đồ tuần từ login vào hệ thống

Khi người dùng thực hiện chức năng đăng nhập vào hệ thống, người dùng sẽ
nhập các thông tin được khởi tạo bởi máy chủ FTP. Các thông tin này là username,
password, hostname. Người dùng nhập các thông tin này, chúng sẽ được gửi tới máy
chủ. Máy chủ sẽ thực hiện việc xác thực thông tin này. Nếu thông tin đăng nhập là
đúng thì sẽ đưa ra thông báo đăng nhập thành công đồng thực hiện thị danh sách
file, thư mục trên máy chủ tương ứng với tài khoản người dùng. Ngược lại sẽ đưa ra
thông báo đăng nhập không thành công. Danh sách các file thưc mục được hiện thị
trên giao diện của chương trình.
 Biểu đồ tuần tự quá trình xử lý các yêu cầu từ người dùng

51

Hình 3.5: Biểu đồ tuần tự xử lý yêu cầu của người dùng

Sau khi được máy chủ FTP xác nhận tài khoản hợp lệ, người dùng có thể thao
tác với tập tin cũng như thư mục lưu giữ trên máy chủ.
+ Download : Gửi dùng gửi yêu cầu download tập tin tới máy chủ, máy chủ
nhận lênh, đồng ý cho download tập tin. Người dùng thực hiện tải tập tin về máy
+ Upload, … các chức năng khác cũng tương tự.
3.3 Thiết kế cơ sở dữ liệu
- Cơ sở dữ liệu được thiết kế gồm hai bảng chính như hình mô hình dưới đây:

52

Hình 3.6: Mô hình dữ liệu

- Mô tả các bảng:
Bảng SEVER:
SERVER(ID, Host, User, Pass)
Ý nghĩa: lưu trữ các tài khoản FTP client
Thuộc tính
ID
Host
User
Pass

Kiểu dữ liệu
Số nguyên

Miền giá trị

Chuỗi ký tự
Chuỗi ký tự

Tối đa 50 ký tự
Tối đa 50 ký tự

Chuỗi ký tự

Tối đa 50 ký tự

Chú giải
Mã xác định duy nhất mỗi tài khoản FTP
client
Tên host FTP
Tên đăng nhập, không dấu và không có
khoảng trắng
Chuỗi mật khẩu đăng nhập hệ thống

Bảng XULY:

XULY(ID, ItemName, Address, UpDown, Size, Progress, Local, Remote,
StartTime, FinishTime)
Ý nghĩa: Lưu trữ quá trình xử lý cuối cùng khi xử lý download hoặc upload một tập
tin (thư mục) ngay trên ứng dụng.
Thuộc tính
ID
ItemName

Kiểu dữ liệu
Số nguyên
Chuỗi ký tự

Miền giá trị

Chú giải

Tối đa 50 ký tự

Tên tập tin/thư mục xử lý

53

Address
UpDown

Chuỗi ký tự
Số nguyên

Tối đa 50 ký tự

Size

Số thực

Progress

Số nguyên

Local

Chuỗi ký tự

Tối đa 50 ký tự

Remote

Chuỗi ký tự

Tối đa 50 ký tự

StartTime
FinishTime

Ngày giờ
Ngày giờ

d
Địa chỉ(IP) host
0: trạng thái download,
1: trạng thái upload
Kích thước tập tin (thư
mục)
Phần trăm xử lý
download (upload)
Đường dẫn hiện tại của
máy client
Đường dẫn hiện tại của
máy chủ
Thời gian bắtđầu
Thời gian kết thúc

3.4 Thiết kế các lớp xử lý

- Các ký hiệu:
STT

Ký hiệu

Chú giải

1

Trường dữ liệu dạng private

2

Trường dữ liệu dạng public

3

Thuộc tính

4

Phương thức private

5

Phương thức public
Bảng 3.2: Các ký hiệu sử dụng cho biểu đồ Các lớp xử lý

54

3.4.1 Các lớp kết nối tương tác kết nối

Hình 3.7: Các lớp xử lý tương tác kết nối

- Lớp CKetNoi: thực hiện các thao tác với cơ sở dữ liệu như mở kết nối,
đóng kết nối, lấy dữ liệu và thêm dữ liệu
Mô tả chi tiết:
Tên
ChuoiKetNoi
Conn
MoKetNoi
LoadDuLieu
InsertItemUpDown
InsertHost
DongKetNoi

Loại
Field
Property
Method
Method
Method
Method
Method

Kiểu trả về
string
OleDbConnection
void
DataTable
void
void
void

Phạm vi
private
public
private
public
public
public
public

Chú giải
Chuỗi kết nối
Đối tượng kết nối
Mở kết nối
Load dữ liệu
Thêm xử lý
Thêm host
Đóng kết nối

- Lớp ConnectionData: lưu trữ thông tin của một host bao gồm địa chỉ của host, user đăng nhập,
mật khẩu đăng nhập, port.

Mô tả chi tiết:
Tên
address
anonymous
password
port
username

Loại
Field
Field
Field
Field
Field

Kiểu trả về
string
string
string
string
string

Phạm vi
public
public
public
public
public

55

Chú giải
địa chỉ host
Xác thực không đăng nhập
Mật khẩu
Port
Tên truy cập

- Lớp ConnectionList: lưu trữ các đối tượng thuộc lớp ConnectionData.

Mô tả chi tiết:
Tên
mylist
SearchItem

Loại
Field
Field

Kiểu trả về
ArrayList
bool

Phạm vi
private
public

RemoveItem
ItemCount
Item
ConnectionList

Field
Field
Field

bool
int
ConnectionData

public
public
public

Chú giải
Danh sách ConnectionData
Tìm kiếm mộtđối tượng
ConnectionData
Xóađối tượng ConnectionData
Đếm số ConnectionData
Một đối tượng ConnectionData
Phương thức khởi tạo

3.4.2 Các lớp xử lý FTP

- Lớp FtpClient: xử lý các thao tác làm việc với server như download,
upload, xóa tập tin, xóa thư mục, .vv.. thông qua giao thức FTP.

56

Hình 3.8: Lớp xử lý FTP Client

Mô tả chi tiết:
Tên
verboseDebugging

Loại
Field

Kiểu trả về
bool

57

Phạm vi
private

Chú giải
Xác nhận lỗi