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

Ứng dụng chia sẻ file

86 4 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

Thông tin cơ bản

Tiêu đề Ứng Dụng Chia Sẻ File
Tác giả Phạm Minh Tuấn
Người hướng dẫn Ths. Lê Đức Trung
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2008
Thành phố Hà Nội
Định dạng
Số trang 86
Dung lượng 0,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các chức năng chính của hệ thống Xuất phát từ hiện trạng thực tế những hệ thống chia sẻ file hiện tại và xuất phát từ nhu cầu thực tế cần chia sẻ, quản lý, đồng bộ file trong nhóm làm vi

Trang 1

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Mục đích nội dung của ĐATN

Giới thiệu một số công cụ chia sẻ file, từ đó thấy được ưu nhược điểm của từng loại và sự cần thiết phải xây dựng hệ thống chia sẻ file mới

Mô tả vấn đề chia sẻ file và phân tích thiết kế chương trình ứng dụng chia sẻ file phân tán

2 Các nhiệm vụ cụ thể của ĐATN

- Phân tích một số hệ thống chia sẻ file phân tán

- Phân tích thiết kế một hệ thống chia sẻ file phân tán

- Xây dựng chương trình mẫu

- Kiểm thử tốc độ hệ thống

3 Lời cam đoan của sinh viên:

Tôi – Phạm Minh Tuấn - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sựhướng dẫn của Ths Lê Đức Trung

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác

Hà Nội, ngày 23 tháng 05 năm 2008

Tác giả ĐATN

Phạm Minh Tuấn

4 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:

Hà Nội, ngày tháng năm

Giáo viên hướng dẫn

Ths Lê Đức Trung

Trang 2

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Báo cáo tập trung trình bày mô tả vấn đề chia sẻ file và phân tích thiết kế xây dựng chương trình hệ thống giả lập file phân tán Nội dung báo cáo được trình bày như sau

Báo cáo giới thiệu và mô tả các công cụ, chương trình ứng dụng phổ biến phục vụ cho việc chia chia sẻ file như các chương trình Chat, Email, chia sẻ file ngang hàng

Phân tích những hạn chế của chương trình chia sẻ file hiện tại để thấy rõ nhu cầu xây dựng một chương trình mới kết hợp được mặt mạnh của nhiều ứng dụng chia sẻfile phổ biến hiện nay

Mô tả bài toán và phân tích thiết kế chương trình hệ thống giả lập file phân tán Ứngdụng ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language – UML) cho việc thiết kế chương trình

Trang 3

ABSTRACT OF THESIS

In my report, I study mainly about the description of file sharing and analyse, design, build the distributed file simulating system The content of my report has 4 parts :

Part 1: Introduce and describe some popular tools, applications supporting file sharing such as Chat, Email, peer file sharing

Part 2: Point out and analyse the disadvantages of current file sharing program to prove that it’s necessary to build a new program which has all the advantages of popular file sharing applications now

Part 3: Describe, designing analyse the distributed file sharing system software.Part 4: Use UML for software design

Trang 4

NỘI DUNG ĐỒ ÁN

Trang 5

MỤC LỤC

BẢNG CÁC KÍ HIỆU HOẶC CHỮ VIẾT TẮT 8

MỞ ĐẦU 9

CHƯƠNG 1: GIỚI THIỆU MỘT SỐ ỨNG DỤNG CHIA SẺ FILE 11

1.1 Email 11

1.2 Web 12

1.3 Peer to peer 13

1.4 Ftp 14

1.5 Yahoo! Messenger 16

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ GIẢ LẬP HỆ THỐNG FILE PHÂN TÁN 19

2.1 Mô tả bài toán 19

2.1.1 Hiện trạng thực tế 19

2.1.2 Kiến trúc chung của hệ thống 20

2.1.3 Mô hình xây dựng ứng dụng theo lớp 22

2.1.4 Các chức năng chính của hệ thống 23

2.1.4.1 Quản lý đăng nhập 25

2.1.4.2 Quản lý nhóm người dùng 25

2.1.4.3 Quản lý người dùng 26

2.1.4.4 Quản lý danh sách bạn bè 27

2.1.4.5 Quản lý file 28

2.1.4.6 Quản lý thư mục 29

2.1.4.7 Quản lý thảo luận chung 29

2.1.4.8 Quản lý hộp thư tin nhắn 30

2.1.4.9 Quản lý lịch sử đồng bộ hóa file 31

2.1.4.10 Quản lý người dùng đăng nhập 31

2.1.4.11 Ghi nhật ký các thao tác xử lý file của người dùng trong hệ thống 31

2.2 Đặc tả yêu cầu của một số chức năng chính 32

2.2.1 Use Case: Đăng nhập (UC1) 32

2.2.1.1 Use case: Đăng nhập (UC1-1) 33

2.2.1.2 Use case: Đăng xuất (UC1-2) 34

2.2.2 Use Case: Quản lý nhóm người dùng (UC2) 35

2.2.2.1 Use case: Thêm nhóm người dùng (UC2-1) 36

2.2.2.2 Use case: Sửa thông tin nhóm người dùng (UC2-2) 38

2.2.2.3 Use case: Xóa nhóm người dùng (UC2-3) 39

2.2.2.4 Use case: Tìm kiếm nhóm người dùng (UC2-4) 39

2.2.2.5 Use case: Mời thành viên tham gia nhóm (UC2-5) 40

2.2.2.6 Use case: Loại bỏ thành viên khỏi nhóm (UC2-6) 41

2.2.3 Use Case: Quản lý người dùng (UC3) 42

2.2.3.1 Use case: Đăng ký tài khoản mới (UC3-1) 42

2.2.3.2 Use case: Cập nhật thông tin người dùng (UC3-2) 44

2.2.3.3 Use case: Xoá tài khoản người dùng (UC3-3) 45

2.2.3.4 Use case: Tìm kiếm người dùng (UC3-4) 46

Trang 6

2.2.4 Use Case: Quản lý danh sách bạn bè (UC4) 46

2.2.4.1 Use case: Thêm bạn bè vào danh sách (UC4-1) 47

2.2.4.2 Use case: Loại bỏ tên bạn bè khỏi danh sách (UC4-2) 48

2.2.4.3 Use case: Cập nhật tên định danh trong danh sách (UC4-3) 49

2.2.4.4 Use case: Tìm kiếm tên truy nhập trong danh sách (UC4-4) 49

2.2.5 Use Case: Quản lý file (UC5) 50

2.2.5.1 Use case: Thêm file (UC5-1) 51

2.2.5.2 Use case: Sửa file (UC5-2) 52

2.2.5.3 Use case: Xóa file (UC5-3) 54

2.2.5.4 Use case: Tìm kiếm file (UC5-4) 55

2.2.5.5 Use case: Đánh dấu file đã xem/chưa xem (UC5-5) 56

2.2.5.6 Use case: In file (UC5-6) 56

2.2.5.7 Use case: Sao chép file trong nhóm (UC5-7) 57

2.2.5.8 Use case: Sao chép file tại máy cá nhân người dùng (UC5-8) 58

2.2.5.9 Use case: Tải file mới cập nhật về máy (UC5-9) 58

2.2.6 Use Case: Quản lý thảo luận chung (UC7) 59

2.2.6.1 Use case: Thêm chủ đề thảo luận (UC7-1) 60

2.2.6.2 Use case: Sửa chủ đề thảo luận (UC7-2) 62

2.2.6.3 Use case: Xóa chủ đề thảo luận (UC7-3) 63

2.2.6.4 Use case: Tìm kiếm chủ đề thảo luận (UC7-4) 64

2.2.6.5 Use case: Đánh dấu chủ đề thảo luận đã xem/chưa xem (UC7-5) 64

2.2.6.6 Use case: Sao chép chủ đề thảo luận (UC7-6) 65

2.2.6.7 Use case: In chủ đề thảo luận (UC7-7) 65

2.2.8 Use Case: Quản lý hộp thư tin nhắn (UC8) 66

2.2.8.1 Use case: Gửi tin nhắn (UC8-1) 66

2.2.8.2 Use case: Xóa tin nhắn (UC8-2) 67

2.2.8.4 Use case: Tìm kiếm tin nhắn (UC8-3) 68

2.2.8.5 Use case: In tin nhắn (UC8-4) 69

2.2.9 Use Case: Quản lý lịch sử đồng bộ hóa file (UC9) 70

2.3 Thiết kế cơ sở dữ liệu cho hệ thống 71

2.3.1 Bảng Users 71

2.3.2 Bảng RoleType 73

2.3.3 Bảng Groups 73

2.3.4 Bảng UserGroup 73

2.3.5 Bảng Logs 74

2.3.6 Bảng LogAction 75

2.3.7 Bảng Files 76

2.3.8 Bảng Folders 77

2.3.9 Bảng PermissionType 78

2.3.10 Bảng FolderPermission 79

2.3.11 Bảng Topics 80

2.3.12 Bảng TopicFiles 81

2.3.13 Bảng Category 82

CHƯƠNG 3: CHẠY THỬ HỆ THỐNG VÀ ĐO THÔNG SỐ ĐỒNG BỘ HÓA FILE 84

KẾT LUẬN 85

Trang 7

TÀI LIỆU THAM KHẢO 86

Trang 8

DANH SÁCH CÁC HÌNH VẼ

Hình 2: Chương trình nhắn tin phổ biến hiện nay Yahoo! Messenger 17

Hình 3: Kiến trúc chung của hệ thống 20

Hình 4: Xây dựng ứng dụng theo lớp 22

Hình 5: Biểu đồ Usecase của toàn bộ hệ thống 32

Hình 6: Usecase: Quản lý đăng nhập (UC1) 33

Hình 7: Usecase: Quản lý nhóm 36

Hình 8: Usecase: Quản lý người dùng 42

Hình 9: Usecase: Quản lý danh sách bạn bè (UC4) 47

Hình 10: Usecase: Quản lý file (UC5) 51

Hình 11: Usecase: Quản lý thảo luận (UC7) 60

Hình 12: Usecase: Quản lý tin nhắn (UC8) 66

Hình 13: Usecase: Quản lý lịch sử đồng bộ hóa file 70

Trang 9

BẢNG CÁC KÍ HIỆU HOẶC CHỮ VIẾT TẮT

Ký hiệu hoặc chữ viết tắt Nghĩa của kí hiệu hoặc chữ viết tắt

ICQ Nói lái từ câu nói "I seek you"

Trang 10

MỞ ĐẦU

Tính cần thiết của đề tài:

Ngày nay công nghệ thông tin đã, đang và sẽ là ngành không thể thiếu trong đờisống kinh tế xã hội của mọi người dân Việc ứng dụng công nghệ thông tin khôngchỉ trong quản lý hành chính, trong thương mại mà còn được ứng dụng rất mạnhtrong các ngành giải trí, du lịch Cùng với sự phát triển của nó, mạng Internet rađời đã giúp ích rất nhiều trong việc tăng hiệu quả công việc Một nhà báo có thể viếtbài ngay tại nơi lấy tin, sau đó lên mạng và gửi bài về cho tổng biên tập mà khôngcần vất vả quay lại tòa soạn Một sinh viên có thể cập nhật những tin tức mới trongtrường như xem điểm thi và liên lạc với giáo viên của mình thông qua website củatrường Nhu cầu trao đổi thông tin cũng từ đó mà tăng lên Đó có thể trao đổi lờinhắn tin qua chương trình chat Yahoo Messenger, là những bức ảnh mới nhất mà họmuốn chia sẻ ngay cho bạn bè, là bài tập mà sinh viên sẽ nộp cho giáo viên qua hệthống mail Khái niệm nhóm làm việc giờ đây không chỉ bó hẹp là những thànhviên trong cùng một phòng làm việc hoặc là một nhóm thường xuyên gặp mặt nhauhàng tuần để cùng giải quyết công việc Nhóm làm việc đã được mở rộng, họ có thể

là nhiều người ở nhiều nơi khác nhau, không nhất thiết phải ở cạnh nhau, khôngnhất thiết phải làm việc trực tiếp với nhau Bởi vì họ có thể làm việc với nhau quaInternet mà vẫn đảm bảo được yêu cầu công việc Như thế chính là giúp chủ động

về sắp xếp thời gian cho mỗi thành viên, tăng khả năng làm việc độc lập cũng nhưkhả năng làm việc nhóm của mỗi người Và cũng chính vì vậy việc trao đổi tài liệu,trao đổi file trong một dự án hoặc trong quá trình giải quyết công việc chung của cảnhóm là tất yếu và không thể thiếu được Cũng như bao sinh viên ngành công nghệthông tin khác, tôi cũng có tham gia làm một số bài tập lớn với một số bạn, khoảng3-4 người một nhóm, bọn tôi thường trao đổi sách ebook, các văn bản word, các bản

vẽ visio, qua email (gmail hoặc yahoo) hoặc có thể qua một website cho uploadfile miễn phí trên mạng Thế nhưng vấn đề chính chúng tôi gặp, và tin rằng cũng sẽ

là vấn đề mà các nhóm khác không chỉ trong ngành công nghệ thông tin như bọntôi, là việc các tài liệu để trong mail không tập trung, khó tìm kiếm, khó đồng bộgiữa các văn bản cũ và mới, chính vì vậy làm giảm tiến độ trong công việc Nhưvậy tại sao ta không xây dựng một hệ thống giúp cho việc chia sẻ file giữa các thànhviên trong nhóm được thuận lợi, một hệ thống mang tính đồng bộ, quản lý tập trungmang tính chuyên nghiệp giúp tăng hiệu quả công việc

Ý nghĩa khoa học thực tiễn:

Đề tài góp phần làm rõ hơn một số vấn đề về phát triển phần mềm ứng dụng xâydựng trên nền tảng mạng LAN cũng như mạng Internet Đề tài góp phần nhỏ trongviệc điều hành, quản lý nhóm làm việc nói chung cũng như có thể được ứng dụngtrong các đợt làm bài tập lớn, luận văn của sinh viên từ đó hình thành và phát triển

kĩ năng làm việc nhóm ngay khi ở trong trường đại học

Đối tượng và phương pháp nghiên cứu

Đề tài tập trung vào xây dựng hệ thống giả lập file phân tán Để thực hiện được đềtài này phải kết hợp việc tìm hiểu trao đổi thông tin, tài liệu trong môi trường hiệnđại hóa, tin học hóa với việc có nghiên cứu các bước cơ bản để xây dựng một phầnmềm Áp dụng triệt để ngôn ngữ mô hình hóa thống nhất (Unified Modeling

Trang 11

Language – UML) theo cách tiếp cận hướng đối tượng và dần làm quen với chuẩnphân tích thiết kế phần mềm chương trình.

Nội dung nghiên cứu:

 Tìm hiểu ngôn ngữ mô hình hóa thống nhất UML (Unified ModelingLanguage) Ứng dụng trong việc phân tích thiết kế bài toán theo phươngpháp hướng đối tượng

 Tìm hiểu công nghệ Net trong việc xây dựng và triển khai ứng dụngtrong những môi trường mạng khác nhau

Trang 12

CHƯƠNG 1: GIỚI THIỆU MỘT SỐ ỨNG DỤNG

CHIA SẺ FILE

1.1 Email

[Phần giới thiệu về thư điện tử được trích từ Bách khoa toàn thư mở

http://vi.wikipedia.org ]

Thư điện tử, hay email (từ chữ electronic mail), đôi khi được dịch không chính xác

là điện thư, là một hệ thống chuyển nhận thư từ qua các mạng máy tính

Email là một phương tiện thông tin rất nhanh Một mẫu thông tin (thư từ) có thể được gửi đi ở dạng mã hoá hay dạng thông thường và được chuyển qua các mạng máy tính đặc biệt là mạng Internet Nó có thể chuyển mẫu thông tin từ một máy nguồn tới một hay rất nhiều máy nhận trong cùng lúc

Ngày nay, email chẳng những có thể truyền gửi được chữ, nó còn có thể truyền được các dạng thông tin khác như hình ảnh, âm thanh, phim, và đặc biệt các phần mềm thư điện tử kiểu mới còn có thể hiển thị các email dạng sống động tương thích với kiểu tệp HTML

Phần mềm thư điện tử (email software) là loại phần mềm nhằm hỗ trợ cho người dùng việc chuyển và nhận các mẫu thông tin (thường là dạng chữ) Thông tin có thểđưa

vào phần mềm thư điện tử bằng cách thông dụng nhất là gõ chữ bàn phím hay cách

phương cách khác ít dùng hơn như là dùng máy quét hình (scanner), dùng máy ghi hình số (digital camera) đặc biệt là các Web cam Phần mềm thư điện tử giúp đỡ

Hình 1: Phần mềm thư điện tử Microsoft Outlook

Trang 13

cho việc tiến hành soạn thảo, gửi, nhận, đọc, in, xoá hay lưu giữ các (điện) thư Có hai trường hợp phân biệt phần mềm thư điện tử là

Loại phần mềm thư điện tử được cài đặt trên từng máy tính của người dùng gọi là

email client, hay phần mềm thư điện tử (cho) máy khách Các thí dụ loại phần

mềm này bao gồm: Micorsoft Outlook, Microsoft Outlook Express, Netscape

Comunicator, hay Eudora Phần mềm thư điện tử này còn có tên là MUA (từ chữ

mail user agent) tức là Tác nhân sử dụng thư Một cách gọi tên thông dụng khác của email client là ứng dụng thư điện tử (email application) nếu không bị nhầm

lẫn

Ngược lại, loại phần mềm thư điện tử không cần phải cài đặt mà nó được cung ứng

bởi các máy chủ (web server) trên Internet gọi là WebMail, hay Phần mềm thư

điện tử qua Web Để dùng được các phần mềm loại này thường các máy tính nối

vào phải có một máy truy cập tương thích với sự cung ứng của WebMail Thí dụ loại này là mail.Yahoo.com, hay hotmail.com

Nơi cung ứng phần mềm cũng như phương tiện chuyển thư điện tử gọi là nhà cung

ứng dịch vụ thư điện tử (email sevice provider).

Máy tính làm việc cung ứng các dịch vụ thư điện tử là MTA (từ chữ mail transfer agent) hay là đại lý chuyển thư Vì đây là máy chủ nên khi không bị nhầm lẫn với

các loại máy chủ khác thì người ta cũng gọi MTA là máy chủ hay rõ hơn là máy chủ thư điện tử.

Các dịch vu thư điện tử có thể được cung ứng miễn phí hay có lệ phí tuỳ theo nhu cầu và mụch đích của ngưòi dùng Ngày nay, email thường được cung cấp kèm với các phương tiện Internet khi người tiêu dùng ký hợp đồng với các dịch vụ Internet một cách miễn phí

1.2 Web

Ngày nay có rất nhiều trang web cho phép người dùng chia sẻ file với cộng đồng Cách thức sử dụng các trang web này cũng rất đơn giản: Người dùng upload file tại trang web, sau khi upload thành công trang web cung cấp cho người dùng một địa chỉ URL (Uniform Resource Locator) và người dùng chỉ việc chia sẻ địa chỉ này cho bạn bè, người thân là họ có thể tải file về Các trang web phổ biến hiện nay như:

http://rapidshare.com, http://rapidshare.de, http://megaupload.com

Tuy nhiên, do dịch vụ là miễn phí với mọi người dùng nên có những hạn chế nhất định khi người dùng chia sẻ file qua các trang web như trên Người dùng phải đợi khoảng hơn một phút và chỉ được phép download một file trong ngày (đối với trang

http://rapidshare.de ), hơn nữa tốc độ download không được cao Các trang web khác nhau có nhưng phương thức thực hiện khác nhau để hạn chế khi người dùng

sử dụng miễn phí dịch vụ của họ Điều này cũng dễ hiểu trong môi trường thương mại điện tử ngày một phát triển như hiện nay Trường hợp người dùng muốn sử dụng thoải mái dịch vụ chia sẻ file nói trên, họ sẽ phải đóng phí hàng tháng hoặc

Trang 14

đóng phí theo một lượng nhất định để có tài khoản chất lượng tại các trang web đó (Lượng phí đóng càng nhiều thì thời hạn tài khoản hoạt động cũng càng lâu).

1.3 Peer to peer

[Phần giới thiệu về ứng dụng chia sẻ file ngang hàng – Peer to peer - được trích

từ Bách khoa toàn thư mở http://vi.wikipedia.org ]

Mạng đồng đẳng (tiếng Anh: peer-to-peer network), còn gọi là mạng ngang hàng,

là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các

máy chủ trung tâm như các mạng thông thường Mạng đồng đẳng thường được sử

dụng để kết nối các máy thông qua một lượng kết nối dạng ad hoc Mạng đồng đẳng

có nhiều ứng dụng Ứng dụng thường xuyên gặp nhất là chia sẻ tệp tin, tất cả các dạng như âm thanh, hình ảnh, dữ liệu, hoặc để truyền dữ liệu thời gian thực như điện thoại VoIP

Một mạng đồng đẳng đúng nghĩa không có khái niệm máy chủ và máy khách, nói

cách khác, tất cả các máy tham gia đều bình đẳng và được gọi là peer, là một nút

mạng đóng vai trò đồng thời là máy khách và máy chủ đối với các máy khác trong mạng

Một số mạng hay kênh như Napster, IRC (thuộc thế hệ thứ nhất) sử dụng mô hình máy chủ-máy khách cho một số tác vụ và mô hình đồng đẳng cho những tác vụ khác Ngược lại, các mạng như Gnutella hay Freenet (thế hệ thứ 2) sử dụng mô hìnhđồng đẳng cho tất cả các tác vụ, nên các mạng này thường được xem như là mạng đồng đẳng đúng nghĩa (thực ra Gnutella vẫn sử dụng một số máy chủ để giúp các máy trong mạng tìm kiếm địa chỉ IP của nhau)

Cấu trúc mạng đồng đẳng là biểu hiện của một trong những khái niệm quan trọng nhất của Internet, mô tả trong "RFC 1, Host Software" [1] xuất bản ngày 7 tháng 4 năm 1969 Gần hơn, khái niệm này đã được sự công nhận rộng rãi trong các cấu trúc chia sẻ nội dung mà không có máy chủ trung tâm

Khái niệm đồng đẳng ngày nay được tiến hóa vào nhiều mục đích sử dụng khác nhau, không chỉ để trao đổi tệp mà còn khái quát hóa thành trao đổi thông tin giữa người với người, đặc biệt trong những tình huống hợp tác giữa một nhóm người trong cộng đồng

Phân loại mạng đồng đẳng

Ta có thể phân loại các mạng đồng đẳng hiện nay theo tiêu chí về mức độ tập trung của chúng như sau:

Mạng đồng đẳng thuần túy:

 Các máy trạm có vai trò vừa là máy chủ vừa là máy khách

 Không có máy chủ trung tâm quản lý mạng

 Không có máy định tuyến (bộ định tuyến) trung tâm, các máy trạm cókhả năng tự định tuyến

Trang 15

Tính chất phân tán của mạng đồng đẳng cũng giúp cho mạng hoạt động tốt khi một

số máy gặp sự cố Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự cố thì cả hệ thống sẽ ngưng trệ

Đối với mạng Napster, thuật ngữ đồng đẳng nói lên tính chất quan trọng của giao thức giao tiếp đồng đẳng, còn thực ra thành công của Napster phải nhờ vào sự liên kết chặt chẽ giữa các máy tham gia với máy chủ trung tâm lưu trữ danh sách nội dung tệp trên các máy tham gia Nhờ vậy việc tìm kiếm trở nên nhanh và hiệu quả hơn, tuy nhiên, đây cũng chính là điểm yếu dẫn đến các rắc rối pháp lý mà kết cục

là sự sụp đổ của Napster

1.4 Ftp

[Phần giới thiệu về ứng dụng chia sẻ file (File Transfer Protocol – FTP) được trích từ Bách khoa toàn thư mở http://vi.wikipedia.org ]

FTP (viết tắt của tiếng Anh File Transfer Protocol, "Giao thức truyền tập tin")

thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức

TCP/IP (chẳng hạn như Internet - mạng ngoại bộ - hoặc intranet - mạng nội bộ) Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách) Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới Máy khách chạy phần mềm

FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy củamình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP Hầu như bất cứ

Trang 16

một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP Điều này cho phép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trênmột máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP) Hiện nay trên thị trường có rất nhiều các trình khách và trình chủ FTP, và phần đông các trình ứng dụng này cho phép người dùng được lấy

tự do, không mất tiền

Khái quát

FTP thường chạy trên hai cổng, 20 và 21, và chỉ chạy riêng trên nền của TCP Trìnhchủ FTP lắng nghe các yêu cầu dịch vụ từ những kết nối vào máy của các trình khách FTP, trên cổng 21 Đường kết nối trên cổng 21 này tạo nên một dòng truyền điều khiển, cho phép các dòng lệnh được chuyển qua trình chủ FTP Để truyền tải tập tin qua lại giữa hai máy, chúng ta cần phải có một kết nối khác Tùy thuộc vào

chế độ truyền tải được sử dụng, trình khách (ở chế độ năng động - active mode) hoặc trình chủ (ở chế độ bị động - passive mode) đều có thể lắng nghe yêu cầu kết

nối đến từ đầu kia của mình Trong trường hợp kết nối ở chế độ năng động, (trình chủ kết nối với trình khách để truyền tải dữ liệu) , trình chủ phải trước tiên đóng kết vào cổng 20, trước khi liên lạc và kết nối với trình khách Trong chế độ bị động, hạnchế này được giải tỏa, và việc đóng kết trước là một việc không cần phải làm

Trong khi dữ liệu được truyền tải qua dòng dữ liệu, dòng điều khiển đứng im Tình trạng này gây ra một số vấn đề, đặc biệt khi số lượng dữ liệu đòi hỏi được truyền tải

là một số lượng lớn, và đường truyền tải chạy thông qua những bức tường lửa Bức tường lửa là dụng cụ thường tự động ngắt các phiên giao dịch sau một thời gian dài

im lặng Tuy tập tin có thể được truyền tải qua hoàn thiện, song dòng điều khiển do

bị bức tường lửa ngắt mạch truyền thông giữa quãng, gây ra báo lỗi

Mục đích của giao thức FTP

Mục đích của giao thức FTP, như được phác thảo trong bản RFC, là:

 Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng vitính hoặc dữ liệu)

 Khuyến khích việc sử dụng máy tính ở xa một cách gián tiếp / ngấm

ngầm (implicit).

 Che đậy sự khác biệt về hệ thống lưu trữ tập tin giữa các máy chủ, hầucho người dùng không cần phải quan tâm đến những sự khác biệt riêng tưcủa chúng

 Truyền tải dữ liệu một cách đáng tin cậy và có hiệu quả cao

Những phê bình về giao thức FTP

 Mật khẩu và nội dung của tập tin được truyền qua đường dây ở thể dạng

văn bản thường (clear text), và vì vậy chúng có thể bị chặn và nội dung bị

Trang 17

tiết lộ cho những kẻ nghe trộm Hiện nay, người ta có những cải tiến để

né tránh được nhược điểm này

 Cần phải có nhiều kết nối TCP/IP: một dòng dành riêng cho việc điềukhiển kết nối, một dòng riêng cho việc truyền tập tin lên, truyền tập tinxuống, hoặc liệt kê thư mục Các phần mềm bức tường lửa cần phải đượccài đặt thêm những lôgic mới, đế có thể lường trước được những kết nốicủa FTP

 Việc thanh lọc giao thông FTP bên trình khách, khi nó hoạt động ở chế

độ năng động, dùng bức tường lửa, là một việc khó làm, vì trình kháchphải tùy ứng mở một cổng mới để tiếp nhận đòi hỏi kết nối khi nó xảy ra.Vấn đề này phần lớn được giải quyết bằng cách chuyển FTP sang dùng ởchế độ bị động

 Người ta có thể lạm dụng tính năng ủy quyền, được cài đặt sẵn trong giaothức, để sai khiến máy chủ gửi dữ liệu sang một cổng tùy chọn ở mộtmáy tính thứ ba Xin xem thêm về FXP

FTP là một giao thức có tính trì trệ rất cao (high latency) Sự trì trệ gây ra

do việc, nó bắt buộc phải giải quyết một số lượng lớn các dòng lệnh khởiđầu một phiên truyền tải

 Phần nhận không có phương pháp để kiểm chứng tính toàn vẹn của dữliệu được truyền sang Nếu kết nối truyền tải bị ngắt giữa lưng chừng thìkhông có cách gì, trong giao thức, giúp cho phần nhận biết được rằng, tậptin nhận được là hoàn chỉnh hay còn vẫn còn thiếu sót Sự hỗ trợ bênngoài, như việc dùng kiểm tra tổng MD5, hoặc dùng kiểm độ dư tuầnhoàn (cyclic redundancy checking) là một việc cần thiết.

Nó cho phép kết nối với các dịch vụ khác của Yahoo!, như là Yahoo! Mail, người

sử dụng có thể tự động được thông báo khi có thư Chương trình nhắn tin Yahoo gồm các tùy biến an toàn cho phép người dùng ẩn với bất kì người nào mà họ muốn

Trang 18

Hình 2: Chương trình nhắn tin phổ biến hiện nay Yahoo! Messenger

Bên cạnh tính năng nhắn tin nhanh tương tự như của ICQ và AIM, Yahoo! IM còn cung cấp các đặc điểm riêng biệt như IMVironment (thay đổi giao diện cửa sổ Yahoo IM) và tình trạng người dùng Và một tính năng mới được thêm vào gần đây

là có thể chỉnh sửa hình đại diện (avatar).

Phiên bản Yahoo! Messenger 2.5.3 cho Mac cung cấp rất ít chức năng so với bản dành cho Windows và không được cập nhật trong nhiều năm Yahoo! cho biết vẫn chưa có kế hoạch phát hành bất kỳ bản nâng cấp nào cho Macintosh

Yahoo! và Microsoft vừa chính thức khẳng định kế hoạch thiết lập khả năng trao đổi thông tin giữa hai dịch vụ nhắn tin nhanh Khách hàng sử dụng chương trình Yahoo! Messenger và MSN Messenger sẽ có thể trao đổi thông tin với nhau Sự thay đổi này dự kiến sẽ có hiệu lực trong nửa đầu năm 2006

Tính năng chương trình:

Entertainment (Giải trí)

 Photo Sharing: Kéo-thả các bức ảnh vào cửa sổ IM và nói về chúng

 LAUNCHcast Radio: Tạo đài phát thanh riêng của bạn và nghe nhạc bạnthích

 Yahoo! Games: Chơi các trò chơi cùng bạn trong cửa sổ IM

 IMVironments: Thay đổi giao diện cửa sổ IM

Productivity (Công cụ hiệu quả)

 Find, Add, Share Friends: Dễ dàng kết nối với bạn bè

 Yahoo! Search: Tìm kiếm trực tiếp từ cửa sổ IM

Trang 19

 File Transfer: Dễ dàng kéo-thả các tập tin để chia sẻ

 Address Book: Đồng bộ các thông tin

Personalization (Cá nhân)

 Audibles: Thể hiện lời nhắn qua hình động kết hợp với âm thanh vuinhộn

Emoticons: Thể hiện cảm xúc của bạn qua những mặt cười.

 Yahoo! Avatars: Miêu tả bạn thông qua các hình đại diện

 Display Images: Chọn một bức ảnh để miêu tả về bạn

 Skins: Thay đổi giao diện Yahoo! Messenger

Communication (Kết nối cộng đồng)

 Voice: Chat bằng tai nghe HeadPhone

 Take Yahoo! with You: Kết nối tới các dịch vụ khác của Yahoo! nhưMail, Blog

 Webcam: Xem hình ảnh bạn chat qua webcam

 Conference: Nhóm bạn bè cùng tham gia thảo luận

Trang 20

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ GIẢ LẬP HỆ

sử dụng, đấy cũng là một hạn chế khi cần truyền tải file cho một nhóm làm việc chung

Đối với các trang web cho phép upload và download file thì mục tiêu là chia sẻ file giữa tất cả người dùng internet chứ chưa cho phép chia sẻ, quản lý file trong một nhóm làm việc Hơn thế nữa chúng ta còn gặp phải sự hạn chế về dung lượng file upload, về tốc độ download file khi sử dụng chia sẻ file miễn phí tại các trang web này

Hệ thống chia sẻ file ngang hàng peer to peer coi mọi người dùng là ngang hàng, không có phân quyền ưu tiên Chính vì vậy hệ thống peer to peer chú trọng đến tốc

độ download và upload tới từng máy cá nhân theo nguyên lý cơ bản: máy nào chia

sẻ nhiều (upload nhiều) thì có thể được download với tốc độ cao hơn Ở đây mặc dù

đã cho phép chia sẻ file trực tiếp giữa các máy đơn nhưng chưa có quản lý nhóm, phân quyền và đồng bộ hóa các file tại các máy đơn

Hệ thống FTP xây dựng theo mô hình tập trung client-server, chính vì vậy mọi côngviệc xử lý file đều tại server và khi số lượng người dùng tăng lên hệ thống có thể bị nghẽn mạng tại server Hệ thống FTP cho phép phân quyền người dùng nhưng phứctạp và chưa thân thiện với người dùng cuối

Hệ thống Yahoo Messenger và các hệ thống nhắn tin khác thì chú trọng vào trao đổicác message trong một phiên làm việc (giữa hai người sử dụng) YM (Yahoo

Messenger) cho phép trao đổi trực tiếp và nhanh chóng giữa hai máy với nhau nhưng việc trao đổi này mang tính chất tức thời chứ không lưu lại lịch sử trao đổi file, hay không cho phép một file được truyền trong cả nhóm làm việc

Microsoft Visual Source Safe và Microsoft Project là hai phần mềm rất mạnh khi cần quản lý project, quản lý file trong nhóm làm việc nhưng khá cồng kềnh và tốn kém đối với những nhóm làm việc nhỏ có nhu cầu trao đổi, quản lý đồng bộ các filetrong nhóm

Trang 21

2.1.2 Kiến trúc chung của hệ thống

Đứng trước thực tại như vậy, một hệ thống mới xây dựng tích hợp một số chức năng ưu việt về chia sẻ file của những hệ thống trước đó

Sql Database Server

INTERNET

Sql Database Server

Hình 3: Kiến trúc chung của hệ thống

Hệ thống mới nhằm phục vụ cho nhóm làm việc nhỏ và trung bình (3-50 người), và cho nhóm làm việc từ xa có thể quản lý, đồng bộ file dễ dàng như quản lý file tại máy cá nhân của mỗi người sử dụng

Đối với việc chia sẻ file trong Windows và Linux, việc đồng bộ các file chia sẻ trong mạng LAN được thực hiện bởi dịch vụ của hệ điều hành Hệ thống mới mở rộng phạm vi chia sẻ file trên nền tảng mạng Internet để người dùng ở bất kỳ đâu kết nối Internet đều có thể tham gia chia sẻ file đươc

Trang 22

liệu nhỏ để đảm bảo hệ thống vẫn hoạt động khi số lượng người dùng của hệ thống tăng lên Server có thể cùng trong mạng LAN với client hoặc bên ngoài mạng Internet.

Client (Phần mềm dịch vụ):

Module Client được cài đặt tại các máy thành viên Module Client giúp lưu trữ các file trong nhóm làm việc tại các máy thành viên Máy trạm của các thành viên cũng là nơi lưu trữ các thiết lập riêng của thành viên và lưu trữ hòm thư cá nhân của thành viên đó Client kết nối tới SqlDatabaseServer để lấy và cập nhật

dữ liệu

SqlDatabaseServer (Máy chủ cơ sở dữ liệu):

Thông qua SqlDatabaseServer các client có thể truy suất, cập nhật danh sách cácfile trong nhóm cũng như truy suất, cập nhật các bài thảo luận chung của nhóm

Trang 23

2.1.3 Mô hình xây dựng ứng dụng theo lớp

Chương trình được áp dụng xây dựng theo các lớp tương tác giữa người dùng cuối và môi trường mạng mức vật lý

Hình 4: Xây dựng ứng dụng theo lớp

Xây dựng, phát triển chương trình theo lớp giúp giảm chi phí bảo trì và phát triển ứng dụng Các lớp chính của ứng dụng:

Graphic User Interface (Lớp giao diện người dùng):

Giao diện chương trình giúp người dùng tương tác dễ dàng với hệ thống Giao diện được xây dựng trên môi trường Window và thuần tiếng việt và được bố trí thân thiện, gọn gàng nhưng vẫn đảm bảo đủ thông tin cần thiết đối với người dùng

Controller (Lớp điều khiển):

Lớp điều khiển là cầu nối giữa lớp giao diện người dùng với lớp ở tầng dưới nhưlớp thao tác với mạng, thao tác với SqlDatabase Lớp điều khiển bao gồm định nghĩa tới thao tác cơ bản với tài nguyên trong nhóm và của người dùng như: file,thảo luận, tin nhắn Lớp điều khiển đóng vai trò như người “tiếp tân” có trách nhiệm dẫn đường, điều phối giữa người dùng và hệ thống

Lớp thực thi:

Trang 24

Lớp thực thi bao gồm chính là các thư việc được xây dựng bởi lập trình viên.Các thư viện chứa các thao tác với tài nguyên của nhóm và người dùng như file, thảo luận, tin nhắn Lớp thực thi được gọi bởi lớp điều khiển Lớp thực thi sử dụng các thư viện sẵn có của bộ thư viện Microsoft Net 2003 để tươngtác với các thành phần ở mức thấp hơn của hệ điều hành và mạng Lớp thực thi bao gồm các thành phần:

Database Connection (Lớp kết nối database): Chứa các thành phần

được xây dựng bởi lập trình viên để thao tác tới SqlServer 2000 càitrong mạng LAN hoặc ở cài ở bên ngoài mạng Internet

Network Connection (Lớp kết nối mạng): Chứa các thành phần

được xây dựng bởi lập trình viên để kết nối tới các Socket của mạng(trong bộ Microsoft Net 2003) Các thành phần được xây dựng để cóthể dễ dàng được dùng lại bởi các thành phần khác ở lớp cao hơn (lớpđiều khiển)

IOConnection (Lớp kết nối tới thiết bị lưu trữ tại máy khách):

Chứa các thành phần được xây dựng bởi lập trình viên để cung cấpcác thao tác lấy và sao lưu dữ liệu tới các thiết bị lưu trữ

Lớp hệ thống:

Lớp hệ thống bao gồm các thư viện sẵn có trong bộ Microsoft Net 2003 phục vụ cho các lớp ở tầng trên

Database Server: Gói System.Data.SqlClient của bộ Microsoft Net

2003 để thao tác với SqlServer (Ở đây sử dụng SqlServer 2000Personal)

Socket: Gói System.Net của bộ Microsoft Net 2003 để thực hiện thao

tác chia sẻ dữ liệu qua mạng

Storage Device: Gói System.IO của bộ Microsoft Net 2003 để thao

tác với các thiết bị lưu trữ tại máy cá nhân người dùng

2.1.4 Các chức năng chính của hệ thống

Xuất phát từ hiện trạng thực tế những hệ thống chia sẻ file hiện tại và xuất phát từ nhu cầu thực tế cần chia sẻ, quản lý, đồng bộ file trong nhóm làm việc, hệ thống giảlập chia sẻ file cần đáp ứng được các yêu cầu chức năng:

Chức năng bên phía Client

Quản lý đăng nhập

Quản lý nhóm người dùng

Trang 25

Thêm nhóm người dùng 

Tìm kiếm nhóm người dùng

Quản lý người dùng

Xóa tài khoản người dùng

Tìm kiếm người dùng

Quản lý danh sách bạn bè

Tìm kiếm bạn bè trong danh sách

Copy file trong nhóm

Quản lý thảo luận chung

Thêm chủ đề thảo luận

Sửa chủ đề thảo luận

Tìm kiếm chủ đề thảo luận

Đánh dấu chủ đề thảo luận đã xem/chưa xem

Quản lý lịch sử đồng bộ hóa file

Chức năng bên phía Server

Quản lý người dùng đăng nhập hệ thống

Ghi nhật ký các thao tác xử lý file của người dùng trong hệ

thống

Trang 26

Chi tiết chức năng

2.1.4.1 Quản lý đăng nhập.

Quản lý đăng nhập cho phép người dùng lựa chọn tự động đăng nhập hệ thống (không cần nhập lại mật khẩu), hoặc cho phép người dùng đăng xuất khỏi hệ thống (để làm việc offline với các tài nguyên của hệ thống)

1 Đăng nhập.

Hệ thống cho phép người dùng có thể đăng nhập bằng nhiều tài khoản một lúc Mỗi người dùng sẽ có cửa sổ riêng để quản lý tài khoản của mình, cửa sổ này sẽcho phép hiển thị trạng thái của các nhóm đang làm việc và danh sách bạn bè

Quản lý nhóm người dùng bao gồm các chức năng con:

1 Thêm nhóm người dùng

Thêm nhóm với, các thông tin nhóm mới bao gồm tên nhóm và thư mục chứa các file của nhóm

2 Sửa thông tin nhóm người dùng

Sửa tên nhóm hay mô tả vắn tắt về nhóm Người dùng có thể tùy biến thiết đặt chế độ download file tự động hoặc thiết đặt có nhận thông báo khi nhóm có sự thay đổi tài nguyên trong nhóm

3 Xóa nhóm người dùng

Xóa toàn bộ thông tin liên quan đến nhóm người dùng bao gồm: Thông tin các thành viên, các bài thảo luận chung và các file trong nhóm

4 Tìm kiếm nhóm người dùng

Tìm kiếm nhóm người dùng theo tên nhóm

5 Mời thành viên tham gia nhóm

Nhóm trưởng mời thành viên mới tham gia nhóm Thành viên mới sẽ nhận đượcthư mời tham gia nhóm từ nhóm trưởng và có thể lựa chọn đồng ý hoặc không tham gia nhóm

Trang 27

6 Loại bỏ thành viên khỏi nhóm

Nhóm trưởng hoặc người có quyền mời thành viên cũng có thể loại bỏ thành viên ra khỏi nhóm

 Người quản lý nhóm (nhóm trưởng): Có thể tạo nhóm mới, quản lý cácthành viên trong nhóm, mời thêm các thành viên khác vào nhóm Ngoài

ra người quản lý nhóm có quyền thiết lập quyền truy suất file cho thànhviên trong nhóm Người quản lý nhóm có toàn quyền quản lý các đề thảoluận trong nhóm

 Thành viên trong nhóm: Có thể tham gia vào nhóm và quản lý thông tin

cá nhân, hòm thư tin nhắn cá nhân, có quyền sửa, xóa với file do chínhthành viên đó sở hữu nhưng không có quyền sửa, xóa với cac file dothành viên khác chia sẻ trong nhóm

 Khách: Có thể tham gia vào nhóm nhưng chỉ có quyền đọc các file trongnhóm

Mỗi người dùng sẽ có một tài khoản Với tài khoản đó (thông qua tên đăng nhập) người dùng có thể tham gia cùng lúc nhiều nhóm làm việc Người dùng có quyền thêm, xóa, sửa tài khoản của họ nhưng không có quyền sửa, xóa với các tài khoản người khác Chỉ có quản trị viên của hệ thống có thể sửa, xóa bất kỳ tài khoản ngườidùng nào

Quản lý người dùng bao gồm các chức năng:

1 Đăng ký tài khoản mới của hệ thống

Tạo một tài khoản mới của hệ thống Mỗi tài khoản người dùng sẽ bao gồm tên đăng nhập, mật khẩu truy nhập cũng như các thông tin cơ bản như: số điện thoại,địa chỉ, email, trang web cá nhân

2 Cập nhật thông tin người dùng

Cập nhật các thông tin cá nhân của người dùng như: đổi mật khẩu truy nhập, số điện thoại, địa chỉ, email, trang web cá nhân

3 Xóa tài khoản người dùng

Người dùng có thể tự xóa tài khoản và các thông tin liên quan liên quan tới tài khoản đó

Trang 28

Quản lý danh sách bạn bè:

1 Thêm bạn bè vào danh sách

Người dùng có thể tìm kiếm bạn bè (thông qua tên đăng nhập hoặc tên thật) và thêm vào danh sách bạn bè để tiện cho việc liên lạc trong nhóm hoặc liên lạc cá nhân với nhau

2 Loại bỏ tên bạn bè khỏi danh sách

Loại bớt tên đăng nhập (hoặc tên thật) từ danh sách bạn bè

3 Cập nhật tên định danh trong danh sách

Cập nhật tên định danh của người dùng trong danh sách bạn bè

4 Tìm kiếm tên truy nhập trong danh sách bạn bè

Tìm kiếm nhanh tên truy nhập của bạn bè trong danh sách liên lạc của người dùng (Sổ địa chỉ của người dùng)

2.1.4.5 Quản lý file

Các thành viên trong nhóm chia sẻ chung các tài nguyên (các file) Tương ứng với vai trò là nhóm trưởng, thành viên hay khách, họ sẽ có những quyền tương ứng thaotác với các file như thêm file, sửa file, xóa file, tìm kiếm file

Quản lý file trong nhóm bao gồm các chức năng con:

Trang 29

Tìm kiếm file trong nhóm theo những tiêu chí như tên file, kích thước file, ngày tháng cập nhật file.

5 Đánh dấu file đã xem/chưa xem

Mỗi thành viên trong nhóm có thể đánh dấu file đã xem hoặc chưa xem, và như vậy lần đăng nhập sau thành viên đó sẽ dễ dàng thu xếp việc cần làm qua danh sách các file chưa xem

6 In file

Hệ thống sẽ sử dụng máy in mặc định của hệ điều hành để in nội dung file

7 Copy file trong nhóm

Người dùng có thể thao tác Copy và Paste để sao chép file trong nhóm (tương tựkhi thao tác bằng chương trình Explorer của Window XP) File được copy sẽ được cập nhật tới các máy thành viên

8 Copy file tại máy thành viên

Sao chép file ra thư mục trên máy cá nhân của người dùng (ngoài nhóm người dùng tham gia)

9 Download file về máy

Trường hợp người dùng không chọn chế độ tự động cập nhật cho file (khi có sự thay đổi), người dùng chọn chức năng Download để tải phiên bản mới nhất của file từ các thành viên khác trong nhóm về máy mình

Trang 30

Khi tìm kiếm file sẽ hiển thị danh sách gồm cả thư mục và file có tên liên quan tới

từ khóa tìm kiếm do người dùng nhập

5 Đánh dấu thư mục đã xem/chưa xem

Mỗi thành viên trong nhóm có sự quan tâm khác nhau có thể đánh dấu thư mục chưa xem là khác nhau, như vậy thành viên đó sẽ dễ dàng quản lý được công việc hiện tại của họ

6 Copy thư mục trong nhóm

Người dùng có thể thao tác Copy và Paste để sao chép thư mục trong nhóm (tương tự khi thao tác bằng chương trình Explorer của Window XP)

7 Copy thư mục tại máy thành viên

Sao chép thư mục sang thư mục trên máy cá nhân của người dùng

2.1.4.7 Quản lý thảo luận chung

Mỗi nhóm sẽ có diễn đàn riêng để các thành viên trong nhóm có thể trao đổi ý kiến, thảo luận với nhau Quản lý thảo luận cho phép thành viên dễ dàng xem các thảo luận theo ngày tháng, theo phân loại hoặc theo chế độ bài viết – bài trả lời Hệ thốngcung cấp chức năng cho phép các thành viên có thể thêm, sửa, xóa bài thảo luận trong nhóm

1 Thêm chủ đề thảo luận

Thêm chủ đề thảo luận hoặc thêm bài thảo luận (dưới dạng bài trả lời cho bài thảo luận có sẵn) Thành viên có thể đính kèm file với bài thảo luận để nêu rõ hơn ý kiến, quan điểm bản thân với các thành viên khác trong nhóm

2 Sửa chủ đề thảo luận

Sửa bài thảo luận đã đăng trên diễn đàn Chức năng này giúp các thành viên trong nhóm linh động hơn trong việc cập nhật nội dung thảo luận so với các forum thông thường nói chung

3 Xóa chủ đề thảo luận

Chủ đề thảo luận có thể được xoá bởi thành viên là người viết hoặc có thể được xoá bởi nhóm trưởng

4 Tìm kiếm chủ đề thảo luận

Tìm kiếm các thảo luận trong nhóm theo tiêu chí như: tiêu đề, ngày tháng, phân loại

5 Đánh dấu chủ đề thảo luận đã xem/chưa xem

Người dùng có thể đánh dấu chủ đề thảo luận là đã xem/chưa xem để lần truy cập sau có thể dễ dàng quản lý những việc chưa làm và đã làm

Trang 31

6 Sao chép chủ đề thảo luận

Giống như chức năng sao chép một đoạn văn bản trong Microsoft Word, hệ thống cho phép người dùng sao chép một chủ đề thảo luận chỉ với thao tác đơn giản là copy và paste

7 In chủ đề thảo luận

Hệ thống sẽ dùng máy in mặc định của hệ điều hành để in nội dung chủ đề thảo luận

2.1.4.8 Quản lý hộp thư tin nhắn

Mỗi tài khoản sẽ có một hòm thư cá nhân riêng để lưu các tin nhắn gửi đến và tin nhắn gửi đi Quản lý hòm thư bao gồm các thao tác cơ bản như viết tin nhắn, hồi

âm, chuyển phát, tìm kiếm và dừng lại ở mức đơn giản hơn các hòm thư thông dụnghiện nay như Gmail hay Yahoo mail

Chức năng quản lý hộp thư tin nhắn bao gồm:

1 Gửi tin nhắn

Người dùng có thể gửi tin nhắn tới thành viên trong nhóm hoặc tới bất kỳ tài khoản nào trong hệ thống Tin nhắn có thể là tin nhắn thông thường, hoặc tin nhắn trả lời, hoặc tin nhắn chuyển tiếp (Giống trong hòm thư điện tử)

Hệ thống sẽ dùng máy in mặc định của hệ điều hành để in nội dung tin nhắn

2.1.4.9 Quản lý lịch sử đồng bộ hóa file

Các thành viên trong nhóm có thể theo dõi toàn bộ quá trình trao đổi file trong nhóm Bất kể khi nào có file mới được thêm, sửa đổi, xoá, copy… đều được ghi lại thời điểm bắt đầu từ lúc có thông báo đến khi file mới được cập nhật tại tất cả các máy của thành viên trong nhóm

2.1.4.10 Quản lý người dùng đăng nhập

Server sẽ có trách nhiệm lắng nghe xem người dùng nào đã đăng nhập hệ thống đểtheo dõi lịch đăng nhập của người dùng

2.1.4.11 Ghi nhật ký các thao tác xử lý file của người dùng trong hệ thống

Trang 32

Server lắng nghe xem người dùng đã đăng nhập hệ thống thao tác gì với file của mình, từ đó ghi nhật ký thao tác file của người dùng.

2.2 Đặc tả yêu cầu của một số chức năng chính

Hình 5: Biểu đồ Usecase của toàn bộ hệ thống

2.2.1 Use Case: Đăng nhập (UC1)

Use case này được chia thành 2 use case nhỏ hơn:

1 Đăng nhập (UC1-1)

Quan ly nhom

Quan ly nguoi dung

Quan ly danh sach ban

be

Quan ly thao luan

Quan ly tin nhan

Quan ly file

Quan ly thu muc

Quan lich su dong bo

Trang 33

2 Đăng xuất (UC1-2)

Hình 6: Usecase: Quản lý đăng nhập (UC1)

2.2.1.1 Use case: Đăng nhập (UC1-1)

Mô tả: Người dùng đăng nhập để bắt đầu phiên làm việc mới trong nhóm

Tác nhân: Thành viên, Trưởng nhóm, Người quản trị

Điều kiện yêu cầu: Người dùng đã có tài khoản của hệ thống

Điều kiện kết quả: Giao diện quản lý hiển thị tương ứng với vai trò của người dùng là thành viên, trưởng nhóm hay người quản trị hệ thống

Dòng sự kiện chính:

1 Người dùng chọn chức năng đăng nhập

2 Hệ thống sẽ hiển thị form đăng nhập yêu cầu nhập tên truy nhập và mậtkhẩu

3 Người dùng nhập tên truy nhập và mật khẩu (không đánh dầu lựa chọncho phép hệ thống tự động lưu tên truy nhập và mật khẩu cho lần truynhập sau)

4 Hệ thống kiểm tra tính hợp lệ của truy nhập và mật khẩu

5 Hệ thống khởi tạo môi trường làm việc ban đầu cho người dùng và hiểnthị form quản lý tương ứng với vai trò của người dùng là thành viên,trưởng nhóm, hay người quản trị hệ thống

Dòng sự kiện khác:

3a Bắt đầu từ bước 3 của dòng sự kiện chính: Người dùng chọn chức năng gợi ý quên mật khẩu

Dang nhap Khach

Thanh vien

Nhom truong

Dang xuat

Nguoi quan tri he thong

Trang 34

3a1 Hệ thống hiện thị nội dung gợi ý giúp người dùng nhớ lại mật khẩu (nội dung này được người dùng nhập khi đăng ký tài khoản mới của

hệ thống)

3a2 Người dùng đọc nội dung gợi ý mật khẩu và chọn chức năng quay trở lại form đăng nhập

3a3 Tiếp tục quay lại thực hiện từ bước 3 của dòng sự kiện chính

3b Bắt đầu từ bước 3 của dòng sự kiện chính: Người dùng tick vào lựa chọn nhớ mật khẩu để không phải gõ lại tên truy nhập và mật khẩu cho lần truynhập sau

3b1 Hệ thống hiện thị nội dung gợi ý giúp người dùng nhớ lai mật khẩu (nội dung này được người dùng nhập khi đăng ký tài khoản mới của

hệ thống)

3b2 Thực hiện bước 4 của dòng sự kiện chính

3b3 Thực hiện bước 5 của dòng sự kiện chính

3b4 Hệ thống lưu lại thiêt đặt đối với tài khoản vừa đăng nhập để lần đăng nhập sau người dùng không phải gõ lại tên truy nhập và mật khẩu

4a Bắt đầu từ bước 4 của dòng sự kiện chính: Hệ thống kiểm tra thấy người dùng không nhập tên truy nhập hoặc không nhập mật khẩu hoặc không nhập cả tên truy nhập và mật khẩu

4a1 Hệ thống sẽ hiển thị thông báo yêu cầu người dùng nhập đầy đủ cả tên truy nhập và mật khẩu

4a2 Tiếp tục quay lại thực hiện bước 3 của dòng sự kiện chính

4b Bắt đầu từ bước 4 của dòng sự kiện chính: Hệ thống kiểm tra thấy không tồn tại tên truy nhập giống như tên truy nhập mà người dùng nhập

4b1 Hệ thống sẽ hiển thị thông báo không tồn tại tên truy nhập như người dùng đưa ra và yêu cầu người dùng nhập lại

4b2 Tiếp tục quay lại thực hiện bước 3 của dòng sự kiện chính

4c Bắt đầu từ bước 4 của dòng sự kiện chính: Hệ thống kiểm tra thấy tồn tại tên truy nhập nhưng mật khẩu người dùng nhập vào là sai

4b1 Hệ thống sẽ hiển thị thông báo người dùng nhập sai mật khẩu và yêucầu người dùng nhập lại mật khẩu

4b2 Tiếp tục quay lại thực hiện bước 3 của dòng sự kiện chính

2.2.1.2 Use case: Đăng xuất (UC1-2)

Mô tả: Người dùng đăng xuất để kết thúc phiên làm việc với nhóm hoặc để làm việc offline

Tác nhân: Thành viên, Trưởng nhóm, Người quản trị

Điều kiện yêu cầu: Người dùng đã đăng nhập hệ thống

Trang 35

Điều kiện kết quả: Mọi thông tin liên quan tới phiên làm việc của tài khoản bị hủy bỏ.

Dòng sự kiện chính:

1 Người dùng chọn chức năng đăng xuất

2 Hệ thống xóa bỏ mọi thông tin liên quan đến phiên làm việc hiện tại củangười dùng

3 Hệ thống hiển thị thông báo người dùng đã đăng xuất thành công

4 Hệ thống hiển thị lại form đăng nhập và chờ người dùng đăng nhập lại

2.2.2 Use Case: Quản lý nhóm người dùng (UC2)

Usecase này được chia thành các Usecase con:

1 Thêm nhóm người dùng (UC2-1)

2 Sửa thông tin nhóm người dùng (UC2-2)

3 Xóa nhóm người dùng (UC2-3)

4 Tìm kiếm nhóm người dùng (UC2-4)

5 Mời thành viên tham gia nhóm (UC2-5)

6 Loại bỏ thành viên khỏi nhóm (UC2-6)

Tim kiem nhom

Moi tham gia nhom

Nhom truong

Loai bo khoi nhom

Nguoi quan tri he thong

Nhom truong co quyen sua va xoa nhom do minh tao

Trang 36

2.2.2.1 Use case: Thêm nhóm người dùng (UC2-1)

Mô tả: Thêm nhóm người dùng mới của hệ thống

Tác nhân: Trưởng nhóm, Người quản trị

Điều kiện yêu cầu: Người dùng đã đăng nhập hệ thống

Điều kiện kết quả: Nhóm mới được thêm và mặc định người tạo nhóm mới là trưởng nhóm

Dòng sự kiện chính:

1 Người dùng chọn chức năng tạo nhóm mới

2 Hệ thống hiển thị form yêu cầu người dùng nhập tên nhóm và chọn thưmục lưu các file của nhóm

3 Người dùng nhập tên nhóm mới

4 Người dùng chọn thư mục có sẵn để lưu các file của nhóm (với tùy chọntạo thư mục mới)

5 Hệ thống kiểm tra tên nhóm hợp lệ

6 Hệ thống tạo thư mục với tên là tên nhóm mới trong thư mục người dùngchọn và thiết đặt để thư mục mới tạo là thư mục gốc chứa file trongnhóm

7 Hệ thống hiển thị lại form quản lý của người dùng với danh sách cácnhóm người dùng tham gia được cập nhật lại

Dòng sự kiện khác:

4a Bắt đầu từ bước 4 của dòng sự kiện chính: Người dùng chọn thư mục mặc định mà hệ thống đưa ra

4a1 Thực hiện bước 5 của dòng sự kiện chính

4a2 Hệ thống tạo thư mục có tên giống tên nhóm mới người dùng nhập trên màn hình Desktop của người dùng và thiết đặt để thư mục vừa tạo là thư mục gốc của nhóm để chứa các file

4a3 Thực hiện bước 7 của dòng sự kiện chính

4b Bắt đầu từ bước 4 của dòng sự kiện chính: Người dùng chọn thư mục có sẵn theo chế độ không tạo thư mục mới trong đó

4b1 Thực hiện bước 5 của dòng sự kiện chính

4b2 Hệ thống thiết đặt để thư mục người dùng chọn là thư mục gốc của nhóm để chứa các file

4b3 Thực hiện bước 7 của dòng sự kiện chính

5a Bắt đầu từ bước 5 của dòng sự kiện chính: Hệ thống phát hiện người dùng chưa nhập tên nhóm mới

Trang 37

5a1 Hệ thống sẽ hiển thị thông báo nhắc nhở người dùng chưa nhập tên nhóm và yêu cầu người dùng nhập lại.

5a2 Tiếp tục quay trở lại thực hiện từ bước 3 của dòng sự kiện chính.5b Bắt đầu từ bước 5 của dòng sự kiện chính: Hệ thống phát hiện người dùng nhập tên nhóm mới nhưng không hợp lệ (tên nhóm mới không đượcphép chứa ký tự đặc biệt)

5b1 Hệ thống sẽ hiển thị thông báo tên nhóm không được chứa ký tự đặcbiêt và yêu cầu người dùng nhập lại

5b2 Tiếp tục quay trở lại thực hiện từ bước 3 của dòng sự kiện chính

6a Bắt đầu từ bước 6 của dòng sự kiện chính: Hệ thống phát hiện ra lỗi trongquá trình tạo thư mục hoặc trong quá trình thiết đặt thư mục gốc cho nhóm

6a1 Hệ thống sẽ hiển thị thông báo lỗi và chờ người dùng chọn chấp nhận

6a2 Người dùng chọn chấp nhận

6a3 Tiếp tục quay lại thực hiện từ bước 2 của dòng sự kiện chính

2.2.2.2 Use case: Sửa thông tin nhóm người dùng (UC2-2)

Mô tả: Sửa tên, chọn thư mục lưu và thiết đặt cấu hình cho nhóm người dùng

Tác nhân: Thành viên, Trưởng nhóm, Người quản trị

Điều kiện yêu cầu: Người dùng đã đăng nhập hệ thống

Điều kiện kết quả: Các thay đổi của nhóm được cập nhật tới tất cả các thành viên của nhóm

Dòng sự kiện chính:

1 Người dùng chọn chức năng chọn thư mục lưu cho nhóm

2 Hệ thống hiển thị form yêu cầu người dùng chọn thư mục lưu các file củanhóm

3 Tiếp tục thực hiện từ bước 4 đến bước 7 của dòng sự kiện chính (UsecaseUC2-1)

1a2 Người dùng nhập lại tên mới cho nhóm và chọn chấp nhận

1a3 Hệ thống cập nhật lại tên mới cho nhóm tới tất cả các máy thành viên trong nhóm và đóng form cập nhật nhóm

Trang 38

1b Bắt đầu từ bước 1 của dòng sự kiện chính: Người dùng (Trưởng nhóm, Quản trị hệ thống) chọn chức năng xem thuộc tính chung của nhóm và nhập mô tả cho nhóm.

1b1 Người dùng nhập mô tả chung về nhóm và chọn chấp nhận

1b2 Hệ thống cập nhật nội dung mô tả chung tới tất cả các máy thành viên trong nhóm và đóng form cập nhật nhóm

1c Bắt đầu từ bước 1 của dòng sự kiện chính: Người dùng chọn chức năng xem thuộc tính chung của nhóm và chọn chức năng cảnh báo khi có sự thay đổi thông tin trong nhóm

1c1 Người dùng chọn chế độ hiển thị cảnh báo hoặc chế độ không hiển thị cảnh báo khi có sự thay đổi thông tin trong nhóm

1c2 Hệ thống cập nhật thiết lập tuỳ chọn hiển thị cảnh báo tại máy cá nhân của người dùng (không cập nhật tới các máy của thành viên khác trong nhóm) và đóng form cập nhật nhóm

1d Bắt đầu từ bước 1 của dòng sự kiện chính: Người dùng (Trưởng nhóm, Quản trị hệ thống) chọn chức năng xem thuộc tính chung của nhóm và chọn thiết lập tự động download file tới mọi máy thành viên

1d1 Người dùng chọn chấp nhận (Khi lựa chọn như vậy, người dùng đã ngầm mặc định rằng khi có thành viên mới tham gia nhóm thì file mới được cập nhật trong nhóm sẽ được tự động download về máy của thành viên đó)

1d2 Hệ thống cập nhật tuỳ chọn tự động download file cho nhóm và đóng form thuộc tính của nhóm

2.2.2.3 Use case: Xóa nhóm người dùng (UC2-3)

Mô tả: Xoá nhóm và các thông tin đến nhóm

Tác nhân: Thành viên, Trưởng nhóm, Người quản trị

Điều kiện yêu cầu: Người dùng đã đăng nhập hệ thống

Điều kiện kết quả: Nhóm và các thông tin liên quan đến nhóm bao gồm: Danh sách thành viên, thảo luận chung và các file trong nhóm sẽ bị xoá tại mọi máy thành viên trong nhóm

Dòng sự kiện chính:

1 Người dùng (Trưởng nhóm, Quản trị hệ thống) chọn chức năng xoá nhóm

và thông tin liên quan tại tất cả các máy thành viên

2 Hệ thống hiển thị thông báo xác nhận người dùng có muốn xoá mọi thôngtin của nhóm tại tất cả các máy thành viên hay không

3 Người dùng (Trưởng nhóm, Quản trị hệ thống) chọn chấp nhận

Trang 39

4 Hệ thống thực hiện xoá mọi thông tin của nhóm (Danh sách thành viên,thảo luận chung, các file) tại mọi máy thành viên và hiển thị danh sáchcác nhóm người dùng tham gia (Đã được cập nhật lại).

2.2.2.4 Use case: Tìm kiếm nhóm người dùng (UC2-4)

Mô tả: Tìm kiếm nhóm người dùng theo yêu cầu người dùng

Tác nhân: Khách, Thành viên, Trưởng nhóm, Người quản trị

Điều kiện yêu cầu: Người dùng đã đăng nhập hệ thống

Điều kiện kết quả: Danh sách kết quả tìm kiếm nhóm người dùng được hiển thị

Dòng sự kiện chính:

1 Người dùng nhập tên nhóm tại form hiển thị danh sách các nhóm ngườidùng tham gia

2 Người dùng chọn chức năng tìm kiếm

3 Hệ thống hiển thị danh sách các nhóm (trong số các nhóm người dùngtham gia) có tên chứa tên do người dùng nhập vào (Ví dụ người dùngnhập “Công”, kết quả tìm kiếm có thể là “Công Nghệ”, “Công Đoàn”…).Dòng sự kiện khác:

1a Bắt đầu từ bước 1 của dòng sự kiện chính: Người dùng chọn hiển thị danh sách nhóm theo một trong các tiêu chí: Hiển thị theo thứ tự chữ cái, Hiển thị theo trạng thái (Bình thường, Có thông mới trong nhóm), Hiển thị theo thời gian (Nhóm có thông tin được cập nhật mới nhất sẽ hiển thị lên trên cùng)

1a1 Hệ thống hiển thị danh sách các nhóm theo tiêu chí người dùng chọn

3a Bắt đầu từ bước 3 của dòng sự kiện chính: Hệ thống không tìm thấy nhóm nào theo yêu cầu người dùng

3a1 Hệ thống hiển thị thông báo không tìm thấy nhóm phù hợp với yêu cầu người dùng

2.2.2.5 Use case: Mời thành viên tham gia nhóm (UC2-5)

Mô tả: Gửi thư mời người dùng tham gia và thêm thành viên mới vào nhóm

Tác nhân: Trưởng nhóm, Người quản trị

Điều kiện yêu cầu: Người dùng đã đăng nhập hệ thống

Điều kiện kết quả: Thành viên mới được thêm vào nhóm

Dòng sự kiện chính:

1 Người dùng (Trưởng nhóm, Quản trị hệ thống) chọn chức năng mờithành viên tham gia nhóm

Trang 40

2 Hệ thống hiển thị form để người dùng gửi thư mời tham gia nhóm tớithành viên mới.

3 Người dùng chọn thành viên mới (nhập tên truy cập) (trưòng hợp mờinhiều thành viên một lúc thì nhập các tên truy cập cách nhau bởi dấu “;”),chọn quyền tương ứng cho thành viên mới (Khách, Thành Viên, hoặcTrưởng nhóm), nhập nội dung thư mời và chọn “Gửi” để gửi thư mời tớingười nhận

4 Hệ thống gửi thư tới người nhận và chờ phản hồi đồng ý từ người nhận

5 Người nhận (thành viên mới) nhận được thư mời, mở thư mời và chọnđồng ý gia nhập nhóm

6 Hệ thống thêm thành viên mới vào nhóm và cập nhật lại danh sách thànhviên trong nhóm tới tất cả máy thành viên

3a3 Người dùng chọn tên truy cập (hoặc tên định danh) trong danh sách bạn bè có sẵn và chọn thêm vào danh sách

3a31 Người dùng chọn chức năng tìm kiếm người dùng

3a32 Tiếp tục thực hiện Usecase tìm kiếm người dùng (UC3-4)

3a33 Hệ thống thêm người dùng trong kết quả tìm kiếm vào danh sách

người dùng sẽ được gửi thư mời tham gia nhóm

3a4 Hệ thống thêm các tên truy cập (người dùng chọn từ danh sách bạn bè) vào danh sách người nhận thư mời tham gia nhóm

3a5 Người dùng chọn chấp nhận

3a6 Hệ thống đóng form hiển thị danh sách khách mời, hiển thị lại form gửi thư mời ban đầu Hệ thống hiển thị danh sách người nhận dưới dạng các tên truy cập hoặc định danh liên tiếp nhau cách nhau dấu

“;”

3a7 Tiếp tục thực hiện từ bước 4 đến bước 6 của dòng sự kiện chính.5a Bắt đầu từ bước 5 của dòng sự kiện chính: Người dùng nhận được thư mời tham gia nhóm nhưng chọn từ chối gia nhập nhóm

Ngày đăng: 20/06/2023, 21:25

HÌNH ẢNH LIÊN QUAN

BẢNG CÁC KÍ HIỆU HOẶC CHỮ VIẾT TẮT - Ứng dụng chia sẻ file
BẢNG CÁC KÍ HIỆU HOẶC CHỮ VIẾT TẮT (Trang 9)
Hình 1: Phần mềm thư điện tử Microsoft Outlook - Ứng dụng chia sẻ file
Hình 1 Phần mềm thư điện tử Microsoft Outlook (Trang 12)
Hình 2: Chương trình nhắn tin phổ biến hiện nay Yahoo! Messenger - Ứng dụng chia sẻ file
Hình 2 Chương trình nhắn tin phổ biến hiện nay Yahoo! Messenger (Trang 18)
Hình 3: Kiến trúc chung của hệ thống - Ứng dụng chia sẻ file
Hình 3 Kiến trúc chung của hệ thống (Trang 21)
Hình 4: Xây dựng ứng dụng theo lớp - Ứng dụng chia sẻ file
Hình 4 Xây dựng ứng dụng theo lớp (Trang 23)
Hình 5: Biểu đồ Usecase của toàn bộ hệ thống - Ứng dụng chia sẻ file
Hình 5 Biểu đồ Usecase của toàn bộ hệ thống (Trang 32)
Hình 6: Usecase: Quản lý đăng nhập (UC1) - Ứng dụng chia sẻ file
Hình 6 Usecase: Quản lý đăng nhập (UC1) (Trang 33)
Hình 7: Usecase: Quản lý nhóm - Ứng dụng chia sẻ file
Hình 7 Usecase: Quản lý nhóm (Trang 35)
Hình 8: Usecase: Quản lý người dùng - Ứng dụng chia sẻ file
Hình 8 Usecase: Quản lý người dùng (Trang 42)
Hình 9: Usecase: Quản lý danh sách bạn bè (UC4) - Ứng dụng chia sẻ file
Hình 9 Usecase: Quản lý danh sách bạn bè (UC4) (Trang 46)
Hình 10: Usecase: Quản lý file (UC5) - Ứng dụng chia sẻ file
Hình 10 Usecase: Quản lý file (UC5) (Trang 50)
Hình 11: Usecase: Quản lý thảo luận (UC7) - Ứng dụng chia sẻ file
Hình 11 Usecase: Quản lý thảo luận (UC7) (Trang 59)
Hình 12: Usecase: Quản lý tin nhắn (UC8) - Ứng dụng chia sẻ file
Hình 12 Usecase: Quản lý tin nhắn (UC8) (Trang 65)
2.3.1. Bảng Users - Ứng dụng chia sẻ file
2.3.1. Bảng Users (Trang 70)
2.3.2. Bảng RoleType - Ứng dụng chia sẻ file
2.3.2. Bảng RoleType (Trang 72)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w