4.2.1.1 Lược đồ chính của mơ hình Use-Case
StartServer StopServer AddAccount RemoveAccount UpdateAccount User Chat
KHOA CNTT – ĐH KHTN 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.
KHOA CNTT –
ĐH KHTN
Đ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
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
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
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
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 4.2.1.3 Thiết kế dữ liệu 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
KHOA CNTT –
ĐH KHTN
• 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
4.2.1.4 Thiết kế giao diện
4.2.1.4.1 Danh sách các giao diện 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
Màn hình giới thiệu
Hình 4-2: Màn hình giới thiệu
KHOA CNTT –
ĐH KHTN
Màn hình quản lý tài khoản
Hình 4-4: Màn hình quản lý tài khoản
KHOA CNTT –
ĐH KHTN
Màn hình cập nhật tài khoản
Hình 4-6: Màn hình cập nhật tài khoản
KHOA CNTT –
ĐH KHTN
4.2.1.5 Thiết kế xử lý
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
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
: Main_DB : User : ManagementScreen : UpdateAccountScreen : ManagementControl
1: //UpdateAccountRequest() 2: //OpenUpdateAccountScreen() 3: //GetAccountInfoRequest() 4: GetAccountInfo() 5: //ShowAccountInfo() 6: //InputAccountInfo() 8: //DoUpdateAccount() 9: //CheckAccountInfo() 10: //UpdateAccount() 11: //ShowUpdateAccountResult() 7: //UpdateAccountRequest()
KHOA CNTT –
ĐH KHTN
XL5 – Tán gẫu
: User : ChatScreen : ChatControl
1: //SelectUser() 2: //InputMessage() 3: //SendMessageRequest() 4: //SendMessage() 5: //CheckChatInfo() 7: //ShowChatResult() 6: //DoSendMessage() Hình 4-12: Sequence Diagram tán gẫu
KHOA CNTT –
ĐH KHTN