Cài đặt và thử nghiệm

Một phần của tài liệu Nghiên cứu và phát triển ứng dụng trên mạng không dây (Trang 88)

3.3.1 Cơng cụ và mơi trường phát triển ứng dụng

Bộ chương trình điều khiển Desktop “AG Remote Desktop” được xây dựng bằng các cơng cụ và trên các mơi trường sau:

• Cơng cụ phân tích thiết kế: Rational Rose 2000.

• Mơi trường lập trình:

o Visual Studio .NET 2003

o .NET Framework version 1.1.

o .NET Compact Framework version 1.0

• Ngơn ngữ lập trình: C#

• Mơi trường thử nghiệm và cài đặt:

o Windows XP Professional Service Pack 2.

KHOA CNTT –

ĐH KHTN

77

• Thiết bị:

o Pocket PC HP Jornada 928 bộ nhớ 61.64 MB (Storage Card dung lượng 121.85MB)

o Access Point Intel

o Wireless CF Card type 1 cho Pocket PC

o Wireless LAN USB card cho máy Desktop

• Các thư viện mã nguồn mở và bài viết được sử dụng tham khảo:

o Lớp MultiCommFramework của tác giả Jim Wilson (MSDN)

o Bài viết “Plug-ins in C#” của tác giả Redth (Code Project).

3.3.2 Mơ hình cài đặt

MultiCommFramework.dll AGRemoteDesktop_Server

AGRemoteDesktop_DTClient AGRemoteDesktop_PPCClient Plugin

Hình 3-22: Mơ hình cài đặt ng dng “AGRemoteDesktop”

- AGRemoteDesktop_Server: Ứng dụng điều khiển desktop phân hệ server. - AGRemoteDesktop_DTClient: Ứng dụng điều khiển desktop phân hệ client

cho máy desktop.

- AGRemoteDesktop_PPCClient: Ứng dụng điều khiển desktop phân hệ client cho máy Pocket PC.

- Plugin: Lớp tạo 2 thư viện PluginInterface.dll vaf PluginServices.dll giúp

KHOA CNTT – ĐH KHTN 78 - MultiCommFramework.dll: thư viện giao tiếp mạng. 3.4 Plugin 3.4.1 Giới thiệu

Giả sử ta viết một chương trình cho phép người dùng thay đổi giao diện, thay

đổi ngơn ngữ một cách tự do và theo ý thích của họ nhưng ta viết theo cách thơng thường, tức là hỗ trợ sẵn vài giao diện, vài ngơn ngữ trong chương trình thì sẽ rất mất cơng trong việc nâng cấp, thêm mới cho chương trình sau này. Mặt khác, nếu viết theo cách này thì chỉ cĩ người viết ra chương trình mới cĩ mã nguồn của chương trình để thêm giao diện, thêm ngơn ngữ cịn những người khác thì khơng thể làm cơng việc này được. Cơ chế Plugin ra đời nhằm giải quyết vấn đề đĩ. Chỉ

cần biết cách tạo plugin theo hướng dẫn của chương trình, người sử dụng sẽ tự tạo cho mình giao diện, bộ ngơn ngữ theo ý thích. Hay cụ thể là khi ta viết chương trình “AG Remote Desktop” ở trên, nếu khơng sử dụng cơ chế plugin trong chương trình thì chương trình sẽ khá đơn giản vì chỉ hỗ trợ một số chức năng cho người sử dụng và nếu như muốn cĩ thêm những chức năng khác trong chương trình, ta chỉ cĩ thể

sửa mã nguồn rồi dịch lại. Ngược lại, nếu sử dụng cơ chế plugin, mỗi người cĩ thể

tạo cho mình một plugin riêng để làm một cơng việc cụ thể nào đĩ và chia sẻ cho nhau như quản lý chương trình Winamp, quản lý con trỏ chuột, quản lý điều khiển thiết bị ngoại vi…

Tĩm lại, plugin tựa như một chương trình thực hiện một cơng việc cụ thể nào đĩ và cĩ thể nhúng vào chương trình khác. Chương trình được nhúng vào các plugin sẽ

cĩ thể thực hiện được các chức năng mà plugin đĩ làm được. Viết chương trình theo cơ chế plugin giúp cho chương trình mềm dẻo hơn, dễ mở rộng hơn, tiện dụng hơn và nhất là cĩ khả năng tiến hĩa cao hơn.

3.4.2 Cấu trúc và cách xây dựng một Plugin

KHOA CNTT –

ĐH KHTN

79

Chương 4 ng dng “AG Messenger”

4.1 Gii thiu

"AG Messenger" là bộ chương trình giúp người dùng cĩ thể sử dụng các máy tính để bàn (Desktop PC) hoặc các máy tính cầm tay (Pocket PC, các thiết bị di

động cài hệđiều hành Windows CE...) cĩ gắn thiết bị mạng khơng dây và cĩ cài đặt chương trình "AG Messenger" để chat với nhau.

4.1.1 Các chức năng của phiên bản "AG Messenger Server"

4.1.1.1 Khi động và ngng Server

Thiết lập thơng tin, khởi động Server để cho phép các Client kết nối vào. Bên cạnh đĩ chương trình cịn thể hiện được các thơng tin hoạt động của Server và các thành viên.

4.1.1.2 Qun lý tài khon người dùng

Cho phép nhà quản trị cĩ thể thêm, xĩa, sửa thơng tin tài khoản người dùng. Ngồi ra cịn cĩ các chức năng phụ khác như buộc client ngừng kết nối (kick), quan sát hành động của Server và các Client.

4.1.1.3 Chat

Server cịn đĩng vai trị như một client tức là cĩ đầy đủ các chức năng trao đổi thơng tin (chat) giữa một hay nhiều thành viên.

KHOA CNTT –

ĐH KHTN

80

4.1.2 Các chức năng của phân hệ "AG Messenger Client for Desktop" và phiên bản “AG Messenger Client for Pocket Desktop" và phiên bản “AG Messenger Client for Pocket PC”

4.1.2.1 Kết ni vào Server

Kết nối vào Server theo các thơng tin như listener port và client port. Nếu kết nối thành cơng, Client sẽ cĩ thể thực hiện các chức năng mà Server cung cấp (các plugin đã được cấu hình)

4.1.2.2 Ngng kết ni vào Server

Ngừng kết nối vào Server. Lúc này Client sẽ khơng thể thực hiện bất kỳ các chức năng mà Server cung cấp.

4.1.2.3 Thc thi chc năng mà Server cung cp

Yêu cầu Server thực hiện chức năng mà Server cung cấp cho Client.

4.2 Phân tích - Thiết kế

4.2.1 Ứng dụng “AG Messenger Server”

4.2.1.1 Lược đồ chính ca mơ hình Use-Case

StartServer StopServer AddAccount RemoveAccount UpdateAccount User Chat

KHOA CNTT – ĐH KHTN 81 4.2.1.1.1 Danh sách Actor STT Actor Ý nghĩa 1 User Người sử dụng. 4.2.1.1.2 Danh sách Use-Case chính STT Use-Case Ý nghĩa

1 StartServer Khởi động server để cho phép client kết nối vào.

2 StopServer Ngừng server và khơng cho client kết nối vào nữa.

3 AddAccount Thêm tài khoản mới.

4 RemoveAccount Xĩa tài khoản.

5 UpdateAccount Cập nhật tài khoản.

6 Chat Tán gẫu (gửi tin nhắn với 1 ngưịi hay nhĩm ngưịi)

4.2.1.2 Đặc t Use-Case chính 4.2.1.2.1 Đặc t Use-Case “StartServer”

Tĩm tắt

Use-Case này cho phép người sử dụng khởi động Server để cho phép các client cĩ thể kết nối vào để chat.

Dịng sự kiện

o Dịng sự kiện chính

1. Use-Case này bắt đầu khi người sử dụng chọn chức năng khởi động Server từ nút tên "Start" trên màn hình kết nối.

2. Chương trình kiểm tra thơng tin đăng nhập của Server.

3. Chương trình sẽ khởi động Server và gửi thơng điệp mời các client đang cố kết nối vào Server trước đĩ (khởi động thành cơng)

4. Thơng báo cho người sử dụng biết kết quả khởi động Server. o Dịng sự kiện khác

- Thơng tin đăng nhập của người sử dụng (nhà quản trị) khơng đúng, chương trình sẽ báo lỗi và yêu cầu sửa lại.

Các yêu cầu đặc biệt

KHOA CNTT – ĐH KHTN 82 Điều kiện tiên quyết Khơng cĩ. Post condition

Server sẽđược khởi động và cho phép client kết nối.

Điểm mở rộng

Khơng cĩ.

4.2.1.2.2 Đặc t Use-Case “StopServer”

Tĩm tắt

Use-Case này cho phép người sử dụng ngừng Server để và khơng cho phép các client cĩ thể kết nối vào nữa.

Dịng sự kiện

3. Use-Case này bắt đầu khi người sử dụng chọn chức năng ngừng Server từ

nút tên "Stop" trên màn hình kết nối.

4. Chương trình sẽ ngừng Server và gửi thơng điệp ngừng kết nối cho tất cả

các client đang tham gia.

5. Thơng báo cho người sử dụng biết kết quả ngừng Server. o Dịng sự kiện khác Khơng cĩ. Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Khơng cĩ. Post condition

Server sẽ ngừng và khơng cho phép client kết nối.

Điểm mở rộng

KHOA CNTT –

ĐH KHTN

83

4.2.1.2.3 Đặc t Use-Case “AddAccount”

Tĩm tắt

Use-Case này cho phép người sử dụng (nhà quản trị) thêm tài khoản mới.

Dịng sự kiện

o Dịng sự kiện chính

6. Use-Case này bắt đầu khi người sử dụng chọn chức năng thêm tài khoản từ nút tên "Add" trên màn quản lý tài khoản.

7. Hộp thoại thêm tài khoản được mở ra.

8. Người dùng nhập thơng tin để tạo tài khoản như tên đăng nhập, mật khẩu. 9. Chương trình kiểm tra thơng tin đăng ký và thêm tài khoản này vào cơ sở

dữ liệu (thêm tài khoản thành cơng) o Dịng sự kiện khác

- Nếu tên đăng nhập khơng hợp lệ (bỏ trống hoặc đã cĩ) hoặc mật khẩu khơng hợp lệ (bỏ trống) thì chương trình sẽ báo lỗi. Người sử dụng cĩ thể

quay trở lại dịng sự kiện chính để sửa lại hoặc hủy bỏ việc thêm tài khoản. Lúc này Use-Case kết thúc. Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Khơng cĩ. Post condition

Nếu Use-Case thành cơng thì tài khoản mới sẽđược thêm vào cơ sở dữ liệu.

Điểm mở rộng

KHOA CNTT –

ĐH KHTN

84

4.2.1.2.4 Đặc t Use-Case “RemoveAccount”

Tĩm tắt

Use-Case này cho phép người sử dụng (nhà quản trị) xĩa một tài khoản đã cĩ trong cơ sở dữ liệu.

Dịng sự kiện

o Dịng sự kiện chính

1. Use-Case này bắt đầu khi người sử dụng chọn chức năng xĩa bỏ tài khoản từ nút tên "Remove" trên màn hình quản lý tài khoản nếu như

người sử dụng đã chọn tài khoản cần xĩa trong danh sách các tài khoản. 2. Tài khoản được chọn sẽđược xĩa khỏi cơ sở dữ liệu.

o Dịng sự kiện khác

Khơng cĩ.

Các yêu cầu đặc biệt

Khơng cĩ.

Điều kiện tiên quyết

Người sử dụng phải chọn một tài khoản đã cĩ trong danh sách tài khoản.

Post condition

Tài khoản được chọn xĩa sẽđược xĩa khỏi cơ sở dữ liệu.

Điểm mở rộng

Khơng cĩ.

4.2.1.2.5 Đặc t Use-Case “UpdateAccount”

Tĩm tắt

Use-Case này cho phép người sử dụng (nhà quản trị) cập nhật lại tài khoản đã cĩ trong cơ sở dữ liệu.

KHOA CNTT –

ĐH KHTN

85

Dịng sự kiện

o Dịng sự kiện chính

1. Use-Case này bắt đầu khi người sử dụng chọn chức năng cập nhật tài khoản từ nút tên "Update" trên màn hình quản lý tài khoản nếu như người sử dụng đã chọn tài khoản cần cập nhật trong danh sách các tài khoản. 2. Hộp thoại cập nhật tài khoản sẽđược mở ra.

3. Người dùng nhập thơng tin cập nhật (mật khẩu). Chương trình kiểm tra thơng tin mới và cập nhật tài khoản này vào cơ sở dữ liệu (cập nhật tài khoản thành cơng)

o Dịng sự kiện khác

- Nếu tên đăng mật khẩu khơng hợp lệ (bỏ trống) thì chương trình sẽ báo lỗi. Người sử dụng cĩ thể quay trở lại dịng sự kiện chính để sửa lại hoặc hủy bỏ

việc cập nhật tài khoản. Lúc này Use-Case kết thúc.

Các yêu cầu đặc biệt

Khơng cĩ.

Điều kiện tiên quyết

Khơng cĩ.

Post condition

Trong trường hợp Use-Case thành cơng, thơng tin mới của tài khoản sẽđược cập nhật vào cơ sở dữ liệu.

Điểm mở rộng

Khơng cĩ.

4.2.1.2.6 Đặc t Use-Case “Chat”

Tĩm tắt

Use-Case này cho phép người sử dụng (nhà quản trị) gửi và nhận tin nhắn (chat) với một người hay tất cả mọi người đã đăng nhập vào server.

KHOA CNTT –

ĐH KHTN

86

Dịng sự kiện

o Dịng sự kiện chính

1. Use-Case này bắt đầu khi người sử dụng chọn người cần gửi tin nhắn, nhập nội dung tin nhắn cần gửi đến người đĩ và chọn Send trên màn hình chat.

2. Chương trình sẽ gửi tin nhắn đến đối tượng được yêu cầu (gửi tin nhắn thành cơng)

o Dịng sự kiện khác

- Trong trường hợp đối tượng đang được chọn để chat gửi tin nhắn đến người sử dụng thì tin nhắn đĩ sẽđược cập nhật lên màn hình chat (nhận tin nhắn). - Trong trường hợp đối tin nhắn khơng gửi đến được đối tượng được chọn, chương trình sẽ báo lỗi.

Các yêu cầu đặc biệt

Khơng cĩ.

Điều kiện tiên quyết

Người sử dụng phải chọn người để gửi tin nhắn hoặc tất cả mọi người (public). Server cũng phải được khởi động và phải cĩ client tham gia.

Post condition

Nếu Use-Case thực hiện thành cơng, tin nhắn sẽ được chương trình gửi đến đối tượng được yêu cầu.

Điểm mở rộng

KHOA CNTT – ĐH KHTN 87 4.2.1.3 Thiết kế d liu Options Connection Management Chat MainForm 1 1 1 1 11 1 1 1 1 1 1 1 1 MultiCommFramework 1 11 1 Lớp đối tượng Connection • Danh sách các thuộc tính STT Tên Loại Kiểu Miền giá trị Ý nghĩa

1 listenerport Đơn trị int (0, 9999) cổng nghe

2 clientport Đơn trị int (0, 9999) cổng client

3 username Đơn trị string Tên user

• Danh sách các trách nhiệm

STT Xử lý chính Loại Ý nghĩa Ghi chú

1 Connect Cập nhật Kết nối với Server

2 Disconnect Cập nhật NgServer ừng kết nối với

3 Register Cập nhật Đăng ký tài khoản mới

4 SignIn Cập nhật Đăthống nhng ập vào hệ

5 SignOut Cập nhật Đăthống xung ất khỏi hệ

Lớp đối tượng Chat

• Danh sách các thuộc tính

STT Tên Loại Kiểu Miền giá trị Ý nghĩa

1 listenerport Đơn trị int (0, 9999) cổng nghe

KHOA CNTT –

ĐH KHTN

88 • Danh sách các trách nhiệm

STT Xử lý chính Loại Ý nghĩa Ghi chú

1 ChatPublic Cập nhật Chat với mọi người

2 ChatPrivate Cập nhật Chat với một người

Lớp đối tượng Management • Danh sách các thuộc tính

STT Tên Loại Kiểu Miền giá trị Ý nghĩa

1 userlist Đa trị Mảng Danh sách user

• Danh sách các trách nhiệm

STT Xử lý chính Loại Ý nghĩa Ghi chú

1 AddUser Cập nhật Thêm user mới

2 RemoveUser Cập nhật Xĩa user

3 UpdateUser Cập nhật Cập nhật thơng tin user

4 KickUser Cập nhật Khơng cho user knữa ết nối

Lớp đối tượng MultiCommFramework • Danh sách các trách nhiệm

STT Xử lý chính Loại Ý nghĩa Ghi chú

1 listener_OnJoined Cập nhật Phát sinh khi client kết

nối vào

2 listener_OnLeave Cập nhật Phát sinh khi client

ngừng kết nối 3 multiComm_OnReceive Cập nhật Phát sinh khi nhđược thơng điệp ận 4 multiComm_OnTerminate Cập nhật Phát sinh khi ngnối ừng kết

KHOA CNTT –

ĐH KHTN

89

4.2.1.4 Thiết kế giao din

4.2.1.4.1 Danh sách các giao din chính

Chương trình "AG Messenger Server" đĩng vai trị Server trong mơ hình mạng Client-Server. Ngồi các chức năng phục vụ cho Client kết nối, chương trình cịn hỗ

trợ các chức năng quản lý như thêm, xĩa, cập nhật tài khoản. Ngồi ra nĩ cũng đĩng vai trị như một client tức là cĩ thể chat với từng người hoặc chung nhiều người.

Danh sách các màn hình chính trong chươn trình "AG Messenger Server" gồm:

STT Tên Nội dung

1 Màn hình giới thiệu Các gitrình. ới thiệu liên quan đến chương

2 Màn hình kết nối Khởi động và ngừng server.

3 Màn hình quản lý tài khoản Thể hiện thơng tin các tài khoản và cho phép thêm, xĩa, sửa tài khoản.

4 Màn hình thêm tài khoản Thêm một tài khoản mới.

5 Màn hình cập nhật tài khoản Câp nhật tài khoản.

6 Màn hình chat Thể hiện thơng tin chat giữa các thành

KHOA CNTT – ĐH KHTN 90 Màn hình giới thiệu Hình 4-2: Màn hình gii thiu Màn kết nối Hình 4-3: Màn hình kết ni

KHOA CNTT –

ĐH KHTN

91

Màn hình quản lý tài khoản

Hình 4-4: Màn hình qun lý tài khon

Màn hình thêm tài khoản

KHOA CNTT – ĐH KHTN 92 Màn hình cập nhật tài khoản Hình 4-6: Màn hình cp nht tài khon Màn hình chat Hình 4-7: Màn hình chat

KHOA CNTT –

ĐH KHTN

93

4.2.1.5 Thiết kế x

4.2.1.5.1 Danh sách các x lý chính

STT Xử lý Mơ tả Use-Case tương ứng

1 XL1 Khởi động Server. StartServer

2 XL2 Ngừng Server. StopServer

3 XL3 Thêm tài khoản. AddAccount

4 XL4 Cập nhật tài khoản. UpdateAccount

5 XL5 Tán gẫu (gửi tin nhắn) Chat

4.2.1.5.2 Các x lý chính

XL1 – Khởi động Server

: User : ConnectionScreen : ConnectionControl : Main_DB 1: //StartServerRequest()

2: //CheckAndStartRequest()

3: //CheckAdminInfo() 4: //StartAndSendInviteMessage() 5: //ShowStartServerResult()

KHOA CNTT –

ĐH KHTN

94

XL2 – Ngừng Server

: User : ConnectionScreen : ConnectionControl 1: //StopServerRequest()

2: //StopRequest()

3: //SendStopServerMessage() 4: //ShowStopServerResult()

KHOA CNTT –

ĐH KHTN

95

XL3 – Thêm tài khoản

: User : ManagementScreen : AddAccountScreen : ManagementControl : Main_DB 1: //AddAccountRequest() 2: //OpenAddAccountScreen() 3: //InputAccountInfo() 4: //DoAddAccount() 5: //GetAccountList() 6: //CheckAccountInfo() 7: //AddAccount() 8: ShowAddAccountResult()

KHOA CNTT –

ĐH KHTN

96

XL4 – Cập nhật tài khoản

Một phần của tài liệu Nghiên cứu và phát triển ứng dụng trên mạng không dây (Trang 88)