GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
PHÂN TÍCH VÀ THIẾT KẾ
PHÂN TÍCH VÀ THIẾT KẾ
CHƯƠNG TRÌNH.
CHƯƠNG TRÌNH.
I - Giới thiệu, mục đích chương trình.
- Mục đích của chương trình Company Chat là cung cấp một dịch vụ nhằm giúp
đỡ những người quản lý của một công ty hoặc một tổ chức có thể kiểm soát tất cả nhân
viên của mình, hoặc cần yêu cầu đến một phòng ban, hay cá nhân nhân viên nào đó,có
thể trao đổi thông tin trực tiếp, trao đổi tài liệu, gởi thông báo,cập nhật tình hình công ty
hàng ngày. Chương trình sẽ giải quyết bằng cách gởi thông điệp một cách nhanh chóng,
đồng thời giảm được chi phí, công sức so với điện thoại .
II - Nội dung đề tài.
Xây dựng dịch vụ Chat dựa trên môi trường Client-Server.
- Dùng cho một mạng lưới của một công ty hay một tổ chức nào đó. Chương
trình chỉ dành cho những người trực thuộc công ty hay tổ chức đó đang sử dụng
chương trình.
- Chương trình cần cài đặt ở cả máy client và máy server
- Máy Server sẽ là nguời chủ động kích hoạt chương trình.
1
SVTH: Bùi Thi Thu Hiền Trang
1
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
a. Đối với máy Server.
Sau khi đã cài đặt thành công.
- Quản lý tất cả các thông tin của các user đã đăng nhập,có thể thêm,xoá,sửa
thông tin của nhân viên .
- Đổi phông chữ thể hiện.
- Đổi màu cho phông chữ.
- Đổi màu cho background thể hiện.
- Thay đổi max số người tham gia hệ thống chat, Time in, Time out của hệ thống.
- Một khung text ghi chú trong mọi trường hợp.
- Dưới mỗi thành viên có trong danh sách đều có một trang ghi chú riêng. Trên
trang này sẽ tự động cập nhật ngày giờ gần nhất vừa được kích hoạt , danh sách các
client kết nối vào và kết thúc kết nối .
- Lưu lại những thông tin trên.
Các đặc tính chung dành cho cả Server và Client.
- Các tính năng chung.
♦ Gởi thông điệp tức thời đến tất cả thành viên có trong danh sách.
♦ Gởi thông điệp tức thời đến một số thành viên nào đó có trong danh sách.
♦ Gởi thông điệp tức thời đến một thành viên nào đó có trong danh sách.
♦ Chèn biểu tượng cảm xúc vào thông điệp tức thời.
♦ Lưu thông điệp tức thời này nếu bạn muốn
♦ Nếu sau khi mình disconnect,có thành viên nào đó gởi thông điệp hay muốn
chat với mình thì sẽ có thông báo đi ra ngoài.Khi mình login thì thông điệp do ai đó gởi
sẽ tự động hiện lên.
- Trao đổi tập tin.
♦Trao đổi tập tin giữa các thành viên có trong danh sách.
♦ Tự động nhận tập tin gởi đến Server, client.
- Đặc tính Image.
♦ Cho phép gởi tập tin hình ảnh/ âm thanh.
♦ Cho phép lưu tập tin hình ảnh/ âm thanh.
III- Yêu cầu của đề tài
Dựa vào nội dung đề tài đặt ra em đi xây dựng một chương trình ứng dụng dựa
trên các yêu cầu sau :
- Xây dựng một chương trình theo mô hình Client-Server, toàn bộ dữ liệu liên
quan đến hệ thống được lưu trữ trên Server, tất cả những xử lý liên quan cũng được
thực hiện trên Server. Việc truy cập và truyền dữ liệu được thực hiện thông qua mạng
nhằm phục vụ cho việc kiểm tra, trao đổi cập nhật thông tin
- Thông qua môi trường Web, người sử dụng có thể thực hiện các thao tác phù
hợp với các chức năng sẵn có của chương trình .Thông qua trình duyệt Web này, người
quản lý mạng có thể kiểm soát toàn bộ tiến trình của chương trình: lựa chọn, sắp xếp,
cập nhật thông tin, yêu cầu về phía nhân viên…một cách nhanh chóng.
- Đối tượng sử dụng chương trình:
Chương trình được thực hiện chủ yếu dựa vào người quản lý. Chương trình
sẽ được kích hoạt khi người quản lý này kích hoạt và các nhân viên sẽ được thực hiện
chương trình tùy theo mức độ mà người quản lý cho phép.
2
SVTH: Bùi Thi Thu Hiền Trang
2
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
IV- Giải quyết vấn đề.
1- Khái niệm về mạng trong chương trình.
- Dựa vào những yêu cầu và nội dung ở trên, ở đây đề tài của em sẽ nghiên cứu
về mô hình mạng Client/Server.
♦Nhiệm vụ của máy client :là thi hành một dịch vụ cho người dùng, bằng cách
kết nối với những chương trình tương ứng ở máy server, dựa vào những chuỗi nhập để
chuyển yêu cầu cho máy server và trả kết quả cho người dùng.
♦Nhiệm vụ của máy server: luôn lắng nghe những kết nối đến nó trên những
cổng liên quan đến giao thức phục vụ, khi máy client khởi tạo kết nối, máy server chấp
nhận và tạo ra luồng riêng biệt phục vụ cho máy client đó. Máy client sẽ gởi những yêu
cầu đến thông qua kết nối, máy server thực hiện những yêu cầu rồi trả lại kết quả cho
máy client. Ngoài ra máy server phải quản lý các hoạt động của mạng như phân chia tài
nguyên chung (hay còn gọi là tài nguyên mạng) trao đổi thông tin giữa các client,....máy
server có thể đóng vai trò là máy trạm (client) trong trường hợp đó là máy server "không
thuần tuý".
- Mô hình client/server đã biến những máy tính riêng lẻ có khả năng xử lý thấp
thành một mạng các máy chủ (server) và máy trạm (workstation) có khả năng xử lý hơn
gấp hàng ngàn lần những chiếc máy tính mạnh nhất. Mô hình client/server giúp cho việc
giải quyết những bài toán phức tạp một cách trở nên dễ dàng bằng cách phân chia bài
toán đó thành nhiều bài toán con và giải quyết từng bài toán con một. Nhưng quan trọng
hơn hết không phải là việc giải được những bài toán lớn mà là cách thức giải bài toán.
Mô hình client/server đã giúp phát triển một phương thức phát triển ứng dụng mới là
việc phân chia ứng dụng thành nhiều lớp thực hiện những chức năng chuyên biệt.
Một ứng dụng thông thường được chia làm 3 lớp:
- Giao diện (Presentation logic): lớp này là cầu nối giữa người dùng với ứng dụng, cung
cấp những chức năng của ứng dụng cho người dùng và nhận những lệnh từ người dùng
cho ứng dụng. Lớp này được thiết kế sao cho càng thân thiện với người dùng càng tốt.
- Chức năng (tạm dịch từ Business logic): đây là phần lõi của một chương trình, cung cấp
tất cả những chức năng có thể có của chương trình cho lớp giao diện bên trên.
- CSDL (Data Access logic): lớp này là CSDL của ứng dụng, cung cấp khả năng truy
xuất đến CSDL cho lớp chức năng nếu cần.
Việc phân chia ứng dụng thành nhiều lớp còn giúp cho ứng dụng trở nên dễ dàng thay
đổi, cập nhật và đáng tin cậy hơn.
- Ứng dụng đầu tiên của mô hình client/server là ứng dụng chia sẻ file (do các tổ
chức có nhu cầu chia sẻ thông tin giữa các bộ phận trong tổ chức được dễ dàng và
nhanh chóng hơn). Trong ứng dụng này, thông tin được chứa trong các file và được đặt
tại một máy (server) của một phòng ban. Khi một phòng ban khác có nhu cầu trao đổi
thông tin với phòng ban này thì sẽ sử dụng một máy (client) kết nối với máy server và
tải những file thông tin cần thiết về.
a- Đối với máy Server:
Là một trong những phần quan trọng nhất của mạng máy tính. Mỗi Server là một
tâm điểm trong hệ thống các Server. Chúng cho phép các client và các server khác kết
nối vào và truy cập lấy dữ liệu, thông tin của nhau trên cùng hệ thống mạng. Những
Server này được kết nối theo sơ đồ hình cây.
b- Đối với máy Client
3
SVTH: Bùi Thi Thu Hiền Trang
3
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
- Một chương trình thực hiện trở thành client khi nó gửi yêu cầu tới server và đợi
lời giải đáp trả về. Cũng vì thế mà mô hình client-server là tiện dụng và là sự mở rộng
tự nhiên của tiến trình thông tin liên lạc trong nội bộ máy tính và xa hơn nữa là internet,
nên có thể dễ dàng dùng mô hình này xây dựng những chương trình ứng dụng trong
giao tiếp hay kinh doanh.
- Để các máy kết nối được với nhau thì các chương trình ở máy client như trình
duyệt(Web browser), gởi nhận e-mail, FPT client, Telnet client,... sẽ tạo kết nối với
server ở xa sau đó gởi các yêu cầu đến máy server, các chương trình phục vụ trên máy
chủ như Web server, Mail server, FPT server, Telnet server,... sẽ xử lý những yêu cầu
này và gởi kết quả về cho máy client. Thông thường một dịch vụ trên máy server phục
vụ cho rất nhiều máy client.
2 - Một số khái niệm về mạng liên quan:
Mạng cục bộ(LAN-Wide Area Network) : là một hệ thống bao gồm các nút là các
máy tính nối kết với nhau bằng dây cáp qua card giao tiếp mạng trong phạm vi nhỏ. Tùy
theo cách giao tiếp giữa các nút mạng, người ta chia làm hai loại :
* Mạng ngang hàng (peer to peer [Windows workgroups]) : là một hệ thống mà mọi
nút đều có thể sử dụng tài nguyên của các nút khác.
* Mạng khách chủ (client/server) : có ít nhất một nút trong mạng đảm nhiệm vai trò
trạm dịch vụ (server) và các máy khác là trạm làm việc (workstation) sử dụng tài nguyên
của các trạm dịch vụ.
Mô hình Client- Server
4
SVTH: Bùi Thi Thu Hiền Trang
4
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
Hệ điều hành mạng : là một hệ thống quản lý tài nguyên dùng chung trên các server và
cung cấp các phương tiện làm việc trong môi trường mạng và các ứng dụng tại các
workstation sao cho có hiệu quả, trật tự và bảo mật thông tin của hệ thống lẫn người
dùng. Hệ điều hành mạng được cài đặt tại server.
Server : Cung cấp các dịch vụ cho các trạm làm việc (workstation),lưu trữ các
thông tin dùng chung trong mạng, thông thường là một máy tính có đĩa cứng lớn và bộ
nhớ có dung lượng lớn. Tuy nhiên trong một số hệ thống mạng cục bộ, Server cũng có
thể còn dùng là trạm làm việc.
Workstation : là một máy tính thường, người sử dụng có thể sử dụng tài
nguyên của các server tại các workstation.
Các nghi thức được sử dụng.
Trong hệ điều hành Windows NT sử dụng những giao thức sau: NetBEUI là
giao thức truyền thông chuẩn của Windows NT, IPX/SPX tương thích với chuẩn truyền
thông của Novell. TCP/IP là chuẩn truyền thông giữa các họ máy tính và giữa các hệ
điều hành khác nhau. Giao thức TCP/IP là chuẩn kết nối hiện nay sử dụng cho Internet
và Intranet.
3 - Một số khái niệm về truyền thông trong chương trình :
a. Truyền thông một - một (one - to - one communication).
Truyền thông 1-1 phục vụ cho việc truyền thông điệp giữa hai client. Chuyển
thông điệp này mang ý nghĩa là riêng biệt giữa 2 client nhưng thật ra vẫn phải thông qua
các server mà những client đó kết nối đến.
Ví dụ : xem hình dưới: client 1 giao tiếp với client 2 thông qua Server A.
Message từ client 1 đến client 3 phải được chuyển qua ServerA và ServerB trong khi đó
các Server và client còn lại không được nhận message.
Mô hình mạng truyền thông
5
SVTH: Bùi Thi Thu Hiền Trang
5
Login to System.
Creat User Account
Admin
Change Password
Change User Name
Change code employee(MSNV
Access User’s information
Users
Managers
Access Organization
Join Chatting
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
b. Truyền thông một - nhiều (one - to - many communication)
Mục đích của loại truyền thông này là cung cấp cho các cuộc hội thảo, thảo luận
v.v... Loại truyền thông này dựa trên nhiều cách.
Dựa trên danh sách (one - to - List communication)
Ðây là cách truyền thông điệp kém hiệu quả nhất trong truyền thông 1-n. Danh
sách này có thể là các client, các server, hoặc là các mask. Server khi nhận được thông
điệp có đích đến là một danh sách, nó sẽ chuyển thông điệp này đến tất cả các đích.
Cách chuyển này không hiệu quả ở chỗ nó không kiểm tra các đích đến có cùng trên
một con đường không, và như vậy có khả năng sẽ có nhiều thông điệp giống nhau cùng
chuyển trên một con đường.
Truyền thông đến - host /server mask:Truyền thông điệp đến host/server mask
là cách để gửi thông điệp đến cho nhiều người dùng có cùng một vài thông tin đặc điểm
về host và server nào đó.
c. Truyền thông một - tất cả(one to all Communication )
Có thể xem kiểu truyền thông này giống như phát quảng bá (broadcast). Trong
đó, message được gởi đến tất cả các client và Server trên mạng và chúng sẽ tự tìm kiếm
con đường trên mạng để đến tất cả các địa chỉ đích ( client destination )
Client to Client : Khái niệm tương tự như trên. Message từ một client đến một
client khác.
Client to Server : Hầu hết những tác vụ command mà chúng có khả năng làm
thay đổi trạng thái hoạt động như là: user status, v, v..phải được gởi đến server để thực
hiện, những giá trị này không được thay đổi bởi bất cứ client
Chương trình Company Chat.
A-PHÂN TÍCH
I- Giới thiệu:
1. Các actor liên quan đến hệ thống:
Administrators.
Managers
Users Sơ đồ phân cấp hệ thống User.
6
SVTH: Bùi Thi Thu Hiền Trang
6
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
2. Mô tả Actor của hệ thống.
Actor là một thực thể bên ngoài hệ thống, là những người mà sử dụng trực tiếp
chương trình. Actor được đại diện với vai trò là tác nhân sinh ra các use case cơ bản.
Trong chương trình Company Chat, chương trình có 3 actor chính đó là: Admin,
Managers, Users.
Admin :quản lý user account cũng như toàn bộ thông tin của hệ thống.Có thể tạo ,xoá,
xem, thay đổi thông tin của user account.
User : Bị giới hạn nhiều trong việc truy cập vào những thông tin của hệ thống.
Manager : không có quyền quản lý account, nhưng có quyền tham gia vào một số
thông tin của hệ thống.
Admin :
7
SVTH: Bùi Thi Thu Hiền Trang
Use case diagram (high level)
7
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
Là một actor quản lý hệ thống Company Chat và cung cấp User Account cho
những người sử dụng hệ thống. Những người có nhu cầu chia sẻ thông tin liên lạc trực
tiếp với những thành viên trong công ty.
Sau khi log in vào hệ thống, Admin có các quyền sau:
- Quản lý thông tin của các User Account của hệ thống. Có thể xem toàn bộ
Users trong hệ thống.
- Thay đổi quyền của User: quyền admin, manager hay user. Tùy theo quyền
được trao, User có thể truy xuất mọi chức năng của hệ thống hay không.
- Cho phép User login vào hệ thống hay không .
- Tạo, loại bỏ, thay đổi thuộc tính của một User và Managers.
- Cho phép trao đổi thông tin, thông điệp đến user và Managers.
- Admin có quyền thay đổi toàn bộ hệ thống liên quan. Nhưng chỉ được phép
thay đổi khi được lệnh cần thay đổi của Manager, và tùy thuộc vào chức vụ
của Manager sẽ cho phép Admin thực hiện điều lệnh hay không.
Managers :
- Cũng là một Actor quản lý hệ thống Company Chat, ở đây manager không
được phép quản lý User Account, nhưng có quyền truy xuất đến từng
Account cá nhân.Tùy thuộc vào chức vụ cho phép Manager được quyền truy
xuất ở mức độ nào.
- Manager được phép thay đổi hệ thống chương trình, nhưng còn tùy thuộc vào
chức vụ, quyền hạn cho phép Manager có quyền ra lệnh cho admin hoặc trực
tiếp thay đổi hệ thống chương trình ở mức độ cho phép.
User :
Sau khi login vào hệ thống, User có các quyền sau:
- Thay đổi Password của chính mình và xem lý lịch của các thành viên trong hệ
thống chat nhưng không được phép thay đổi.
- Tìm kiếm ai đó có trong phòng chat hay không nếu biết ID-User
của họ .
- User được phép gởi thông điệp,gởi file đến cấp trên của mình .
II - Xác định các Use Case của hệ thống
Chúng ta định nghĩa các chức năng bên trong của hệ thống bằng cách chỉ ra các
use case. Một use case là một cách cụ thể sử dụng hệ thống ở một phần chức năng nào
đó. Mỗi use case thiết lập một chuỗi các sự kiện hoàn tất mà xảy ra giữa actor và hệ
thống. Tập hợp các use case chỉ ra tất cả các cách sử dụng hệ thống đã có. Ðây là một
bước quan trọng vì khi phân tích và miêu tả chi tiết các use case, hệ thống được nghiên
cứu tỉ mỉ, những điểm còn chưa rõ trong yêu cầu sẽ dần hiện ra, giúp cho việc phân tích
chính xác hơn. Quá trình xác định các use case của hệ thống là quá trình lặp đi lặp lại.
Khi đã được xác định toàn bộ use case trong hệ thống, ta sẽ đi chi tiết hơn cho từng use
case.
Trong quá trình phân tích mô hình yêu cầu của Chatting System, em tìm được các
use case sau đây miêu tả những hành vi cơ bản của chương trình :
8
SVTH: Bùi Thi Thu Hiền Trang
8
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
1. Use case : Login the system
2. Use case : Change Password
3. Use case : Change ID-User
4. Use case : Change First Name.
5. Use case : Change Last Name.
6. Use case : Change Birthday.
7. Use case : Change Sex.
8. Use case : Change Function.
9. Use case : Change SignIn.
10. Use case : Creat a new User.
11. Use case : Delete User.
13. Use case : Access User’s Information.
14. Use case : Join Chatting
Ðây là một User Case chính của hệ thống .
III-Chi tiết các Use Case:
1. Use case : Login the system
Actor : Admin, Manager, User.
Kiểu : Primary
Mô tả : Chương trình Chatting System(CS) quản lý các
thông tin của Users (các nhân viên), vì vậy để sử dụng chương trình này trước tiên
Admin, Manager, User phải log in vào hệ thống. Ðể truy nhập vào hệ thống, ứng dụng
yêu cầu phải đăng nhập đầy đủ ID-User, Password, mà trước đó bạn đã được hệ thống
cung cấp. Nếu thỏa mãn yêu cầu này, CS sẽ cho phép Users login vào hệ thống, Main
Window sẽ được hiển thị các chức năng của hệ thống, ngược lại chương trình sẽ báo lỗi
và yêu cầu nhập lại. Sau ba lần nhập sai, Dialog cho Users login vào hệ thống sẽ không
hiển thị nữa và không làm gì cả.
Diễn biến các sự kiện:
Hoạt động của Actor Hệ thống đáp ứng
1. Use Case sẽ bắt đầu khi Admin chạy
chương trình Chatting System. Sau đó
là Managers và Users
3. User, Manager, Admin nhập vào
User name, password đúng,sau đó
nhấn nút Login và Cancel để hủy bỏ
2. Hiển thị Log in Window yêu cầu
UserName, password.
9
SVTH: Bùi Thi Thu Hiền Trang
9
GVHD : Hồ Sỹ Bàng Xây Dựng Dịch Vụ Chat Trên Mạng
không tiếp tục đăng nhập hệ thống.
4. Kiểm tra UserName, password. Nếu
đúng, cho phép User log in vào hệ thống
và hiển thị Main Window. Nếu sai, thông
báo lỗi và cho User nhập lại các yêu cầu.
Nếu sau 3 lần vẫn sai, chương trình sẽ
thoát.
2. Use case : Change Password
Actor : Admin, Manager, User.
Mô tả : Khi Admin, Manager, User muốn thay đổi password của
mình, User phải log in vào hệ thống, sau đó chọn chức năng thay đổi password của hệ
thống. Một Dialog sẽ được hiển thị để User nhập vào password mới.
Diễn biến các sự kiện:
Hoạt động của Actor Hệ thống đáp ứng
1. Sau khi User log in vào hệ thống,
bạn chọn chức năng thay đổi password
3. User nhập vào password mới và nhấn
nút OK hoặc có thể hủy bỏ việc thay đổi
bằng cách nhấn nút Cancel.
2. Hiển thị một dialog cho User nhập vào
password cũ,password mới,confirm
password.
4. Nếu confirm password không giống
như password, hệ thống sẽ thông báo lỗi.
Nếu giống nhau, dialog sẽ được đóng lại,
Users đã có password mới.
3. Use case : Change ID-User
Actor : Admin.
Mô tả : khi Admin muốn thay đổi ID-User các thành viên phải
log in vào hệ thống, sau đó chọn chức năng thay đổi ID-User của hệ thống. Một Dialog
sẽ được hiển thị để Admin nhập vào ID- User mới.
Diễn biến các sự kiện:
Hoạt động của Actor Hệ thống đáp ứng
10
SVTH: Bùi Thi Thu Hiền Trang
10