Bài báo cáo này sử dụng phương pháp phân tích thiết kế hướng đối tượng, sử dụng các cú pháp của UML 2.0 để mô tả các biểu đồ của hệ thống. Các bước tiến hành việc phân tích, thiết kế hướng đối tượng theo UML 2.0 bao gồm: phân tích, thiết kế, xây dựng và kiểm thử chương trình. Dựa trên quy trình đó, em có đưa ra các mô hình phân tích, mô hình thiết kế, tiến hành xây dựng hệ thống và có minh họa bằng thực nghiệm đã xây dựng được.
Mô hình Use Case của hệ thống
HÌNH 7: BIỂU ĐỒ USE CASE CỦA HỆ THỐNG.
Hệ thống gồm có: Người sử dụng đăng ký, người chơi, bộ phận chăm sóc khách hàng và người quản trị hệ thống.
Người sử dụng đăng ký: Người sử dụng mới có thể đăng ký tài khoản qua giao diện đăng ký của ứng dụng. Việc đăng ký tài khoản có thể thực hiện bằng 2 cách: đăng ký miễn phí bằng việc kết nối trực tiếp đến server hoặc đăng ký mất phí
qua tổng đài SMS. Việc đăng ký miễn phí hay đăng ký qua SMS sẽ do người quản trị hệ thống quyết định.
Người sử dụng đăng ký mới cũng có chức năng báo lỗi cho hệ thống. Trường hợp này người sử dụng phải báo lỗi qua hệ thống SMS vì lúc này người sử dụng chưa đăng nhập được vào hệ thống để kết nối đến server (những trường hợp này thường là do không đăng ký được tài khoản, mất mật khẩu hay dòng máy không hỗ trợ).
Người chơi: Là người dùng đã đăng ký nick. Người chơi có thể đăng nhập vào hệ thống, kết bạn, chat với bạn bè, quản lý hộp tin nhắn, gửi tin nhắn, chơi game, mua đồ, thực hiện giao dịch hoặc báo lỗi hệ thống, …
Chăm sóc khách hàng: Đối với bất kỳ hệ thống online nào, bộ phận chăm sóc khách hàng đóng vai trò rất quan trọng. Đây là bộ phận có thể giải đáp các thắc mắc cho người sử dụng. Ở hệ thống này, bộ phận chăm sóc khách hàng có nhiệm vụ quản lý báo lỗi của khách hàng qua hệ thống tổng đài SMS và kênh báo lỗi. Từ những phản hồi đó, bộ phận này có nhiệm vụ trả lời những thắc mắc của khách hàng, đồng thời báo cho người quản trị hệ thống qua kênh báo lỗi đối với những lỗi nghiêm trọng liên quan đến hệ thống.
Quản trị hệ thống: Đây là bộ phận quan trọng nhất của hệ thống. Quản trị hệ thống có 2 nhiệm vụ chính: quản lý server và quản lý kênh báo lỗi.
Quản lý server: theo dõi tình hình hệ thống thông qua hệ thống report (số lượng người online, CPU server, các lỗi phát sinh của hệ thống, tình trạng database, …). Người quản trị server còn có nhiệm vụ thay đổi các thông số của hệ thống khi cần. Ví dụ: kích hoạt chương trình khuyến mãi, kích hoạt đăng ký tài khoản qua SMS hay đăng ký tài khoản miễn phí. Với những người dùng vi phạm nội quy, người quản trị hệ thống cũng có chức năng ban nick hoặc nhắc nhở những trường hợp đó.
Quản lý báo lỗi: Người quản trị hệ thống sẽ phải cập nhật thường xuyên những lỗi người dung phản ảnh qua hệ thống báo lỗi, từ đó kiểm tra hệ thống và thông báo cho những người có trách nhiệm để sửa lỗi hệ thống. Với những lỗi nghiêm trọng, hay thắc mắc của khách hàng liên quan đến hệ thống mà bộ phận chăm sóc khách hàng không giải đáp được thì người quản trị hệ thống có nhiệm vụ giải đáp cho chăm sóc khách hàng để bộ phận này truyền đạt lại cho người dùng.
1.1 Biểu đồ phân rã chức năng
HÌNH 8: BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG CỦA HỆ THỐNG.
Hệ thống Game có các chức năng chính là: Chức năng người dùng, quản lý hệ thống, quản lý góp ý – chăm sóc khách hàng. Vì hệ thống lớn nên trong thời gian thực tập tại công ty SunNet em đảm nhận công việc phát triển toàn bộ hệ thống game, còn lại phần thiết kế hệ thống report, quản lý log hệ thống hay chăm sóc khách hàng do một bộ phận khác đảm nhiệm.
1.1.1 Chức năng ngƣời dùng:
Chức năng người dùng được phân chia làm các chức năng nhỏ: - Đăng ký tài khoản, đăng nhập, đổi mật khẩu.
- Chức năng quản lý thông tin cá nhân - Chức năng thống kê Top User
- Chức năng mua đồ, quản lý hòm đồ.
- Chức năng kết bạn, quản lý hộp thư, bạn bè. - Chức năng chat, gửi tin nhắn
- Chức năng thể hiện cảm xúc, tương tác với người khác. - Chức năng xem bói
- Chức năng mua xổ số, xem kết quả xổ số.
- Chức năng chọn Game, chọn phòng, chọn bàn, chơi game - Chức năng báo lỗi lên hệ thống
- Chức năng Update phiên bản mới của Game - Chức năng nạp tiền.
Chức năng đăng ký, đăng nhập:
Nhiệm vụ ban đầu của người dùng là đăng ký và đăng nhập. Việc đăng ký, đăng nhập ở hệ thống này không phức tạp như các hệ thống khác.
Các thông tin khác người dùng có thể update sau khi đã đăng nhập thành công vào hệ thống. Bảo mật thông tin tốt chính là yếu tố rất quan trọng đem lại sự tin tưởng của người dùng đối với hệ thống.
Quá trình đăng nhập:
HÌNH 9: BIỂU ĐỒ TUẦN TỰ MÔ TẢ QUÁ TRÌNH ĐĂNG NHẬP.
Từ màn hình đăng nhập, người dùng sẽ nhập tên username, password của mình sau đó gửi request tới một địa chỉ http để lấy danh sách các slave server. Sau khi lấy được danh sách slave server, người dùng có thể chọn một trong các slaveserver để đăng nhập tương ứng vào slave server đó. Người dùng gửi request đăng nhập tới slave server mà mình chọn. Khi nhận được request từ người dùng,
slave sẽ kết nối tới hệ thống database để kiểm tra username, password của người sử dụng và trả về cho người dùng là họ đã đăng nhập thành công hay thất bại.
Người dùng có thể chọn chức năng ghi nhớ tài khoản để ở những lần đăng nhập sau người dùng sẽ bỏ qua được bước nhập username, password.
Quá trình đăng ký:
Việc đăng ký có thể được thực hiện bằng 2 cách khác nhau. Việc lựa chọn cách đăng ký nào người dùng sẽ không được quyết định mà sẽ do người quản trị hệ thống Game quyết định.
Hai hình thức đăng ký là: đăng ký miễn phí, đăng ký mất phí qua tổng đài SMS.
Quá trình đăng ký tài khoản miễn phí nhƣ sau:
HÌNH 10: BIỂU ĐỒ TUẦN TỰ MÔ TẢ QUÁ TRÌNH ĐĂNG KÝ TÀI KHOẢN MIỄN PHÍ.
Quá trình đăng ký nick miễn phí có quy trình cũng giống với quá trình đăng nhập. Người chơi cũng sẽ phải điền thông tin username, mật khẩu, giới tính, sau đó lấy danh sách slave Server, chọn slave server, gửi request đăng ký tài khoản. Slave
server truy xuất vào database server user để kiểm tra tài khoản đó đã được đăng ký hay chưa, sau đó trả về cho người dùng đăng ký thành công hay thất bại.
Quá trình đăng ký tài khoản mất phí thông qua tin nhắn SMS:
Đối với quá trình đăng ký tài khoản mất phí, người dùng sẽ cũng sẽ phải thêm một bước nhắn tin tới tổng đài SMS để đăng ký tài khoản.
HÌNH 11: BIỀU ĐỒ TUẦN TỰ MÔ TẢ QUÁ TRÌNH ĐĂNG KÝ TÀI KHOẢN QUA TỔNG ĐÀI SMS
Quá trình đăng ký tài khoản qua tổng đài SMS nhƣ sau:
B1: Người dùng nhập Username, password, giới tính ở giao diện đăng ký. B2: Gửi request lấy thông tin Slave Server
B3: Hệ thống HTTP lưu trữ thông tin của các Slave server hiện có của hệ thống để trả về cho người dùng.
B4: Người dùng chọn một slave server và gửi yêu cầu đăng ký lên slave server đó (thông tin về username, password, giới tính).
B5: Slave server truy xuất vào database lưu trữ thông tin user để kiểm tra tài khoản người dùng đăng ký đã tồn tại trên hệ thống hay chưa.
B6: Slave server xử lý thông tin request. Nếu tài khoản đã được đăng ký chuyển sang bước 7, còn không thì chuyển sang bước 8.
B7: Trả về cho client thông báo tài khoản này đã được đăng ký, kết thúc quá trình đăng ký
B8: Trả về cho client thông báo tài khoản này chưa được đăng ký, chuyển sang bước 9.
B9: Gửi tin nhắn đăng ký lên tổng đài SMS.
B10: Tổng đài SMS nhận request từ người dùng và forward thông tin sang slave server.
B11: Slave Server truy xuất vào database lưu trữ thông tin user để kiểm tra tài khoản người dùng đăng ký đã tồn tại trên hệ thống hay chưa một lần nữa.
B12: Slave server xử lý request. Nếu đăng ký không thành công thì sang B13, còn không thì sang B15.
B13: Phản hồi lại tổng đài SMS là đăng ký không thành công.
B14: Tổng đài SMS gửi tin nhắn phản hồi cho người dùng đăng ký không thành công.
B15: Server trả về cho người dùng đăng ký không thành công, kết thúc quá trình đăng ký.
B16: Thêm User mới đăng ký vào database user của hệ thống. B17: Phản hồi lại tổng đài SMS là đăng ký thành công.
B18: Tổng đài SMS gửi tin nhắn phản hồi cho người dùng đã đăng ký thành công. B19: Server trả về cho người dùng đăng ký thành công, kết thúc quá trình đăng ký.
Chức năng quản lý thông tin cá nhân
Thông tin cá nhân của người chơi bao gồm: - Tên tài khoản
- Cấp độ (Level) - Danh hiệu
- Uy danh (điểm kinh nghiệm)
- Gold : Để có gold người chơi phải nạp thẻ. Người chơi có thể dùng loại tiền này để chơi các trò chơi như đánh bài, Ai là triệu phú, xem bói, xổ số, mua đồ.
- Xu: là loại tiền do người chơi nạp thẻ. Tuy nhiên loại tiền này chỉ có chức năng mua đồ.
- Số trận thắng - Số trận thua - Số lần bỏ cuộc
Chức năng thống kê Top User:
Với một hệ thống game Online, chức năng quan trọng không thể thiếu đó là top game thủ. Chức năng này có tác dụng kích thích người chơi đua top để có thứ hạng cao nhất.
Top user bao gồm: Top đại gia, top kỷ lục triệu phú, bảng vàng triệu phú, top cao thủ.
Đối với Top cao thủ có thống kê top cao thủ chung và top cao thủ cho từng loại game.
HÌNH 12: BIỂU ĐỒ TUẦN TỰ MÔ TẢ QUÁ TRÌNH LẤY THÔNG TIN NGƢỜI CHƠI, TOP USER
Quá trình lấy thông tin được thực hiện qua 4 bước: User gửi request lên Slave server, Slave server kết nối đến database để lấy thông tin, slave server xử lý thông tin nhận được rồi gửi trả về cho người dùng.
Chức năng mua đồ, quản lý hòm đồ:
Mỗi người dùng trong Game có một nhận vật. Mỗi nhân vật sẽ có 2 vật phẩm là quần áo và đầu tóc. Người dùng có thể thay đổi trang phục của mình bằng cách mua trong cửa hàng. Những vật phẩm mà người dùng đã mua sẽ được cất trong hòm đồ.
HÌNH 13: BIỂU ĐỒ TUẦN TỰ MÔ TẢ QUÁ TRÌNH MUA ĐỒ, LẤY THÔNG TIN HÒM ĐỒ.
Đối với quá lấy thông tin hòm đồ, quá trình update dữ liệu vào database không cần thực hiện. Chỉ quá trình mua đồ, Slave server phải thực hiện thêm bước update dữ liệu mới vào bảng database hòm đồ của người dùng.
Chức năng kết bạn
Chức năng kết bạn được xây dựng sao cho người dùng có thể kết bạn với nhiều người nhất, dễ dàng nhất.
Người chơi có thể kết bạn bằng cách nhập tên người mà họ muốn làm bạn. Trong quá trình chơi game, người chơi có thể kết bạn với bất cứ người nào mà họ gặp, cả kể ngoài đường phố hay trong phòng chờ của Game.
HÌNH 14: BIỂU ĐỒ TUẦN TỰ MÔ TẢ QUÁ TRÌNH KẾT BẠN.
Quá trình kết bạn được thực hiện qua 10 bước:
B1: User 1 gửi thông tin kết bạn lên Slave server (thông tin người muốn kết bạn cùng).
B2: Slave server lấy thông tin database về thông tin của 2 người muốn kết bạn. B3: Slave server xử lý thông tin. Trường hợp thông tin kết bạn không hợp lệ chuyển sang bước 4.
B4: Thông báo cho User 1 là kết bạn không thành công, kết thúc việc kết bạn. B5: Slave server gửi thông tin kết bạn đến User 2.
B6: User 2 xử lý thông tin kết bạn mà slave server gửi đến
B7: User 2 gửi phản hồi lên slave server là có đồng ý kết bạn hay không. B8: Slave server xử lý thông tin User 2 gửi lên.
B9: Slave server update dữ liệu mới vào database B10: Thông báo với User 1 là kết bạn thành công.
Chức năng quản lý hộp thƣ, bạn bè
Ý tưởng về chức năng hộp thư, bạn bè được thiết kế giống với Yahoo Chat. Với chức năng này người dùng có thể lấy được danh sách bạn bè, có thể biết ai đang online, offline. Có thể chat với bạn bè, hay có thể nhắn tin offline cho người đó.
Tuy nhiên, chức năng này vẫn còn nhiều hạn chế do tính chất của mạng điện thoại rất chậm. Người chơi chỉ có thể kết bạn với tối đa 30 người, hộp tin nhắn chỉ có thể hiện thị 20 tin nhắn.
Chức năng trò chuyện (Chat)
Một trong những chức năng quan trọng nhất của game online là chức năng chat với người cùng chơi. Với chức năng chat người chơi có thể giao lưu, kết bạn, trao đổi thông tin với nhau.
Chức năng tƣơng tác ngƣời chơi trong Game
Người chơi có thể tương tác với nhau trong Game bằng các hành động: hôn, đánh nhau hoặc cách biểu lộ trạng thái như quỳ, nằm, ngồi, chạy, nhảy, hát, … Các hành động này sẽ làm tăng tính tương tác giữa các người chơi trong Game, giúp người chơi có cảm giác như mình được hóa thân vào nhân vật.
Chức năng xem bói
Chức năng xem bói bao gồm: bói bài và bói ngày may mắn.
Người chơi có thể sử dụng chức năng này sau khi đăng nhập vào hệ thống. Muốn bói người dùng phải trả phí bằng Gold trong Game.
Dữ liệu của phần bói được lưu trữ trong Database content, có yêu cầu xem bói từ phía ứng dụng người dùng, server sẽ truy xuất vào database content này để lấy nội dung, sau đó trả về cho người dùng.
Chức năng chơi xổ số
Với chức năng này người dùng có thể mua vé số, sau đó so kết quả vé số vào 19h30 cùng ngày. Kết quả xổ số trả về sẽ trùng với kết quả xổ số ngoài thực tế. Ngoài việc chơi xổ số, người dùng còn có thể xem kết quả xổ số của ngảy hôm trước.
Chức năng chơi Game
Chức năng quan trọng nhất của hệ thống Game là người dùng có thể chơi các trò chơi. Đây là nơi người chơi có sự trao đổi, tương tác với nhau nhiều nhất. Chức năng này đặc biệt quan trọng, đòi hỏi hệ thống phải xử lý tốt, tránh trường hợp bị lag, hack, …
Hệ thống có rất nhiều game để người dùng lựa chọn, bao gồm: Ai là triệu phú, tá lả, tiến lên miền bắc, tiền lên miền nam, 3 cây. Ngoài ra, còn có các game đang phát triển: Ghét nhau ném đá, đào vàng đôi, nông trại vui vẻ.
HÌNH 15: BIỂU ĐỒ MÔ TẢ TUẦN TỰ MÔ TẢ QUÁ TRÌNH CHƠI GAME.
Để vào chơi game, người chơi sẽ phải thực hiện các thao tác: đăng nhập, chọn khu vực chơi, chọn game muốn chơi, chọn phòng, chọn bàn chơi, vào phòng chờ (thực hiện các thao tác cài đặt, chỉnh thông số game), cuối cùng là chơi game.
Chức năng báo lỗi hệ thống
Đối với bất kỳ hệ thống nào, việc phát sinh lỗi là không thể tránh khỏi. Với hàng ngàn người dùng sử dụng phần mềm, đây chính là đối tượng gần với hệ thống nhất.
Khi gặp lỗi, người dùng có thể vào mục báo lỗi để gửi lỗi lên server, server sẽ tiếp nhận lỗi và ghi vào kênh báo lỗi để người quản trị được biết.
Ngoài báo lỗi, người dùng có thể đóng góp ý kiến của mình về hệ thống thông qua chức năng báo lỗi này.
Chức năng update phiên bản mới
Phiên bản Client chính của game được public tại địa chỉ m.qplay.vn. Khi có phiên bản mới, người chơi sẽ nhận được thông báo đã có phiên bản mới.
Người dùng có thể update phiên bản mới bằng cách vào mục update Game. Khi đó ứng dụng sẽ chuyển người chơi đến trang web chứa phiên bản mới nhất của game để người dùng tải về.
Khi có phiên bản mới, người dùng có 2 lựa chọn: hoặc là vẫn sử dụng phiên