SlideShare a Scribd company logo
1 of 68
Download to read offline
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
       KHOA CÔNG NGHỆ THÔNG TIN
         ──────── * ───────




              ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
    NGÀNH CÔNG NGHỆ THÔNG TIN




PHÁT TRIỂN HỆ THỐNG GAME SERVER
   ONLINE CHO THIẾT BỊ DI ĐỘNG


           Sinh viên thực hiện : Phạm Ngọc Hoàng
                                 Lớp KSTN-CNTT-K52
           Giáo viên hướng dẫn: ThS Lê Tấn Hùng




             HÀ NỘI 6 - 2012
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Phạm Ngọc Hoàng
Điện thoại liên lạc: 01656110452          Email: hoangpn412@gmail.com
Lớp: KSTN-CNTT-K52                        Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại:      Trung tâm đào tạo tài năng và Chất lượng
cao – Đại học Bách Khoa Hà Nội.
Thời gian làm ĐATN: Từ ngày 1/3/2012 đến 31/5 /2012
2. Mục đích nội dung của ĐATN
Đồ án tốt nghiệp tập trung nghiên cứ và xây dựng hệ thống Game server Online trên
mobile. Mục đích của đề tài là xây dựng được một hệ thống hoàn chỉnh, có thể đưa
ra thì trường game, cạnh tranh với các game online mobile hiện có.
3. Các nhiệm vụ cụ thể của ĐATN
- Nghiên cứu mô hình client Server, giao thức TCP/IP
- Nghiên cứu công nghệ Java, J2ME
- Nghiên cứu mô hình truyền tin qua SOCKET
- Phân tích, thiết kế hệ thống của hệ thống game server online trên mobile.
- Xây dựng chương trình và kiểm thử.
- Đưa sản phẩm chạy thật trên thực tế.
- Tổng kết và đánh giá.
4. Lời cam đoan của sinh viên:
Tôi – Phạm Ngọc Hoàng - 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 học ThS Lê Tấn Hùng.
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 tháng 6 năm 2012
                                                         Tác giả ĐATN



                                              Phạm Ngọc Hoàng
5. 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ảo vệ:

                                                 Hà Nội, ngày tháng 6 năm 2012
                                                     Giáo viên hướng dẫn



                                                        ThS Lê Tấn Hùng


                                                                                      2
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
LỜI CẢM ƠN

        Để có thể hoàn thành đồ án tốt nghiệp này. Em xin chân thành cảm ơn các
thầy cô giáo trong trường đại học Bách Khoa Hà Nội nói chung, khoa công nghệ
thông tin nói riêng đã đào tạo cho em những kiến thức bổ ích, những kinh nghiệm
quý báu trong suốt thời gian học tập và rèn luyện.
        Em xin gửi lời cảm ơn tới thầy giáo, ThS Lê Tấn Hùng – Giảng viên bộ môn
công nghệ phần mềm, khoa công nghệ thông tin đại học Bách Khoa Hà Nội đã tận
tình hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp.Em cũng xin gửi lời
cảm ơn chân thành tới các anh chị và các bạn trong công ty cổ phần giải pháp công
nghệ thông tin và truyền thông SunNet đã giúp đỡ, hỗ trợ em rất nhiều trong quá
trình làm đồ án.
        Do thời gian có hạn, những kinh nghiệm tích lũy từ thực tế còn chưa nhiều
nên trong quá trình làm đồ án vẫn còn gặp nhiều sai sót. Em rất mong nhận được sự
đóng góp ý kiến, những hướng dẫn chỉ bảo từ phía các thầy cô giáo.
        Em xin chân thành cảm ơn !



                                               Hà Nội, tháng 6 năm 2010
                                             Sinh viên: Phạm Ngọc Hoàng




                                                                                      3
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP


        Ngày nay, công nghệ thông tin đang ngày một phát triển, đặc biệt là sự phát triển
trong lĩnh vực di động. Với sự phát triển không ngừng của các mạng viễn thông, sự phát
triển của mạng Internet 3G, GPRS, Wifi, các dòng điện thoại cấu hình cao ngày càng
phong phú, đa dạng về tính năng và chủng loại.
        Đồ án tốt nghiệp của em sẽ tập trung xây dựng một hệ thống game online dành cho
điện thoại di động.
        Nội dung đồ án bao gồm:
        Phần 1: Đặt vấn đề, định hƣớng và giải pháp:
        Chương này tập trung đưa ra cái nhìn tổng quát về Game mobile, bao gồm các khái
niệm về Game Mobile, sự phát triển, tiềm năng của thị trường game Mobile đặc biệt là thị
trường game Mobile Online tại Việt Nam.
        Phát biểu bài toán xây dựng hệ thống game online trên mobile, đưa ra hướng phát
triển sản phẩm, giải pháp giải quyết bài toán.
        Giới thiệu về các nền tảng phát triển ứng dụng.
        Phần 2: Phân tích và thiết kế hệ thống:
        Chương này tập trung khảo sát và phân tích, thiết kế hệ thống game server online.
Phần đầu tập trung phân tích các chức năng của hệ thống cần phải có, quy trình hoạt động
của các chức năng cụ thể như thế nào.
        Phần hai đưa ra mô hình kiến trúc hệ thống, thiết kế server, thiết kế cơ sở dữ liệu,
thiết kế Client và các module chức năng cụ thể của hệ thống.
        Phần 3: Các kết quả đạt đƣợc
        Phần này giới thiệu về môi trường cài đặt hệ thống, kết quả cài đặt thử nghiệm hệ
thống, kết quả thực nghiệm khi chạy trên môi trường thực tế. Một số hình ảnh về giao diện
phiên bản Client, giao diện Tool report hệ thống.
        Kết luận
        Nhìn lại những gì đã làm được trong đồ án tốt nghiệp và những gì còn chưa làm
được. Đưa ra những ưu, nhược điểm và phương hướng phát triển đồ án trong tương lai.




                                                                                          4
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
ABSTRACT OF THESIS
        Nowadays the significant development has been achieved in the information
technology, especially the mobile area. The emergence and increasing advance of
telecommunication networks including 3G, GPRS and Wifi have brought about great
change in functionality and diversity of mobile phones and portable devices.
        My thesis mainly focuses on building an online-game for mobile devices.
        The thesis is organized as follows:
        Part 1: Problem statement, orientation and solution:
        This chapter gives some overview about Mobile Game, including some basic
concepts about Game Mobile, its recent development and the potential of Game Online
market in Vietnam.
        It also states some major problems of building Game Online on mobile devices,
suggests several development orientation of Game Online product, the solution for the
problem and introduces the platform for application development.
        Part 2: System design and analysis
        This chapter focuses on designing and analyzing game online server system.
        The first part of the chapter makes an analysis of required functionalities and
specific functions of the system.
        The second part puts forward an architecture model, server design, database design,
client design and specific modules of the system.
        Part 3: Results
        This chapter shows the experimental environment, some experiment results in real
environment, pictures of Client interfaces and Tool report of the system.
        Conclusion
        In this section, I summarize major results of my thesis and analyze its strengths and
weaknesses and give some directions for future development.




                                                                                           5
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP...............................................2
LỜI CẢM ƠN ............................................................................................................3
   TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP .....................................................4
         ABSTRACT OF THESIS ................................................................................5
MỤC LỤC ..................................................................................................................6
DANH MỤC CÁC BẢNG ........................................................................................8
DANH MỤC HÌNH VẼ ............................................................................................9
DANH MỤC TỪ VIẾT TẮT..................................................................................10
MỞ ĐẦU ..................................................................................................................11
Chƣơng 1: ĐẶT VẤN ĐỀ, ĐỊNH HƢỚNG VÀ GIẢI PHÁP .............................12
   1.        Tổng quan về Game Mobile: .....................................................................12
         1.1. Khái niệm Game Mobile .........................................................................12
         1.2. Tiềm năng thị trường Game Mobile .......................................................12
   2.        Phát biểu bài toán .......................................................................................13
   3.        Định hướng phát triển đề tài ......................................................................14
   4.        Giải pháp giải quyết bài toán .....................................................................14
Chƣơng 2: NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG..........................................15
   1. Mô hình Client – Server ....................................................................................15
   2. Giao thức TCP/IP............................................................................................... 15
         2.1. Giao thức điều khiển truyền dữ liệu TCP ...............................................16
         2.2. Giao thức UDP ........................................................................................20
   3. Mô hình truyền tin SOCKET .............................................................................21
   4. Ngôn ngữ lập trình Java ....................................................................................23
   5.        Công nghệ J2ME .......................................................................................24
Chƣơng 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .......................................27
   1.        Phân tích hệ thống......................................................................................27
         1.1 Biểu đồ phân rã chức năng .......................................................................29
         1.1.1 Chức năng người dùng: .........................................................................29
         1.1.2. Chức năng report hệ thống ..................................................................39
         1.1.3. Chức năng chăm sóc khách hàng ........................................................41
   2.        Thiết kế hệ thống .......................................................................................42
         2.1. Kiến trúc hệ thống.................................................................................42
         2.1.1. Kiến trúc tổng quan ...........................................................................42

                                                                                                                         6
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
2.1.2. Kiến trúc Slave Server:......................................................................44
         2.2. Xây dựng biểu đồ lớp ...........................................................................46
         2.2.1. Xây dựng biểu đồ lớp cho server ......................................................46
            2.2.1.1. Thiết kế gói SlaveServer .............................................................. 47
            2.2.1.2. Thiết kế gói DataEngine .............................................................. 48
            2.2.1.3. Thiết kế gói FetchData .................................................................49
            2.2.1.4. Thiết kế gói Log ...........................................................................50
         2.2.2. Xây dựng biểu đồ lớp cho Client ......................................................51
         2.3. Thiết kế Database..................................................................................52
         2.3.1. Database server user ..........................................................................53
         2.3.2. Database server content .....................................................................56
         2.4. Thiết kế gói tin ......................................................................................57
Chƣơng 4: KẾT QUẢ ĐẠT ĐƢỢC.......................................................................58
   1.        Môi trường cài đặt hệ thống.......................................................................58
   2.        Cài đặt và thử nghiệm hệ thống .................................................................58
   3.        Kết quả thực nghiệm ..................................................................................62
KẾT LUẬN ..............................................................................................................66
TÀI LIỆU THAM KHẢO ......................................................................................68




                                                                                                                       7
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
DANH MỤC CÁC BẢNG
Bảng 1: Bảng liệt kê một vài cổng TCP phổ biến .....................................................17
Bảng 2: Bảng mô tả các lớp trong gói Slave Server. ................................................48
Bảng 3: Bảng mô tả các lớp trong gói DataEngine. ................................................49
Bảng 4: Bảng mô tả các lớp trong gói FetchData. ...................................................50
Bảng 5: Bảng mô tả các lớp trong gói Log. .............................................................. 51
Bảng 6: Bảng mô tả các lớp trong thiết kế Client.....................................................52
Bảng 7: Bảng mô tả các table trong database server user. ......................................56
Bảng 8: Bảng mô tả các table trong Database server content. ................................ 57




                                                                                                         8
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
DANH MỤC HÌNH VẼ
Hình 1: Mô hình Client – server ...............................................................................15
Hình 2: Cổng truy nhập dịch vụ TCP. ......................................................................16
Hình 3: Dạng thức của segment TCP. ......................................................................19
Hình 4: Dạng thức của gói tin UDP. ........................................................................20
Hình 5: Mô hình quan hệ họ giao thức TCP/IP. .......................................................21
Hình 6: Mô hình truyền tin Socket. ...........................................................................21
Hình 7: Biểu đồ Use Case của hệ thống. ..................................................................27
Hình 8: Biểu đồ phân rã chức năng của hệ thống. ...................................................29
Hình 9: Biểu đồ tuần tự mô tả quá trình đăng nhập. ................................................30
Hình 10: Biểu đồ tuần tự mô tả quá trình đăng ký tài khoản miễn phí. ...................31
Hình 11: Biều đồ tuần tự mô tả quá trình đăng ký tài khoản qua tổng đài SMS......32
Hình 12: Biểu đồ tuần tự mô tả quá trình lấy thông tin ngƣời chơi, Top User ........34
Hình 13: Biểu đồ tuần tự mô tả quá trình mua đồ, lấy thông tin hòm đồ. ................35
Hình 14: Biểu đồ tuần tự mô tả quá trình kết bạn. ...................................................36
Hình 15: Biểu đồ mô tả tuần tự mô tả quá trình chơi game. ....................................38
Hình 16: Kiến trúc tổng quan hệ thống. ...................................................................42
Hình 17: Mô hình kiến trúc Slave Server. .................................................................44
Hình 18: Biểu đồ kiến trúc Client. ............................................................................46
Hình 19: Các packet của server ................................................................................46
Hình 20: Biểu đồ class cho gói slave server .............................................................47
Hình 21: Biểu đồ class cho gói DataEngine. ............................................................48
Hình 22: Biểu đồ class gói FetchData. .....................................................................50
Hình 23: Biểu đồ class gói Log. ................................................................................50
Hình 24: Biểu đồ Class thiết kế Client. .....................................................................51
Hình 25: Biểu đồ thiết kế database server user. .......................................................53
Hình 26: Biểu đồ thiết kế database server content. ..................................................56
Hình 27: Giao diện đăng nhập nhập, đăng ký, đổi mật khẩu, chọn server. .............59
Hình 28: Giao diện nhân vật đi lại trong thành phố. ...............................................59
Hình 29: Giao diện bản đồ, chọn khu vực. ............................................................... 60
Hình 30: Giao diện xem thông tin cá nhân, kết bạn. ................................................60
Hình 31: Giao diện hộp thƣ & bạn bè, menu các action sử dụng trong game. ........60
Hình 32: Giao diện chọn phòng chơi, bàn chơi........................................................61
Hình 33: Giao diện phòng chờ..................................................................................61
Hình 34: Giao diện chơi game Ai là triệu phú, đánh bài .........................................62
Hình 35: Giao diện trang Report hệ thống. .............................................................. 62




                                                                                                                9
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
DANH MỤC TỪ VIẾT TẮT
STT Từ viết tắt         Ý nghĩa
1   HTTP                Hypertext Transfer Protocol: Giao thức truyền tải siêu văn
                        bản.

2      TCP              Transmission Control Protocol: Giao thức điều khiển truyền
                        vận, là một trong các giao thức cốt lõi của bộ giao thức
                        TCP/IP
3      IP               Internet Protocol
4      UDP              User Datagram Protocol
5      OOP              Object-Oriented Programming: ngôn ngữ lập trình hướng đối
                        tượng
6      JVM              Java Vitual Machine: bộ máy ảo Java
7      CPU              Central Processing Unit: đơn vị xử lý trung tâm
8      J2SE             Java 2 Standard Edition
9      J2EE             Java 2 Enterprise Edition
10     J2ME             Java 2 Micro Edition
11     CLDC             Connected Limited Device Configuration
12     CDC              Connected Device Configuration
13     MIDP             Mobile Information Device Profile
14     API              Application Programming Interface
15     RGB              Reg Green Blue (Ảnh RGB)
16     SMS              Short Message Service
17     MYSQL            MicroSoft SQL Server




                                                                                      10
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
MỞ ĐẦU
       Hiện nay với sự phát triển nhanh chóng của khoa học công nghệ, các thiết bị
điện thoại di động ngày càng trở nên phổ biến. Các mạng viễn thông di động đã phủ
sóng tới từng ngõ ngách trên mọi miền tổ quốc. Cùng với sự phát triển của mạng
3G, GPRS và sự ra đời của các dòng điện thoại đời cao ngày càng nhiều. Chiếc điện
thoại không chỉ được sử dụng với chức năng nghe gọi thông thường mà còn được sử
dụng với rất nhiều mục đích giải trí như nghe nhạc, chơi game, …
       Từ nhu cầu đó, đã có rất nhiều công ty lớn nhỏ đã cho ra đời hàng loạt các
Game mobile để cung cấp cho người sử dụng. Tuy vậy, những Game Offline dường
như vẫn chưa thể đáp ứng hết nhu cầu của người dùng. Với mong muốn có thể kết
nối người dùng bằng chính chiếc điện thoại di động, em đã lựa chọn đề tài tốt
nghiệp “Phát triển hệ thống Game Server Online trên Mobile”. Mục tiêu của đề tài
là hướng tới xây dựng thành công một hệ thống server game có khả năng đáp ứng
tốt nhu cầu chơi game trên thiết bị di động. Điều này đòi hỏi người thực hiện không
chỉ tập trung nghiên cứu và xây dựng hệ thống về phía Server mà còn phải có sự
hiểu biết sâu rộng về lập trình ứng dụng trên các thiết bị di động.
       Trong quá trình thực hiện đề tài, em đã tìm hiểu để xây dựng kiến trúc cho hệ
thống server game, kiến trúc Client – Server, các giao thức truyền tin giữa Client –
Server và các kiến thức để xây dựng phiên bản Client cho game cho thiết bị di động
trên nền tảng J2ME.
       Cho đến thời điểm hiện tại, hệ thống đã được hoàn thành và đã được đưa đến
tay người sử dụng và nhận được sự đón nhận khá tích cực từ phía khách hàng. Tuy
nhiên, do hệ thống rất lớn nên những kết quả đã đạt được vẫn còn nhiều nhược
điểm. Trong thời gian tới hệ thống sẽ vẫn được tiếp tục phát triển để hoàn thiện hơn
nữa.




                                                                                      11
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Chƣơng 1: ĐẶT VẤN ĐỀ, ĐỊNH HƢỚNG VÀ GIẢI PHÁP

1. Tổng quan về Game Mobile:

1.1. Khái niệm Game Mobile

       Game mobile là từ dùng để chỉ những trò chơi giải trí được dùng trên các
thiết bị di động, điện thoại thông minh, PDA, máy tính bảng, máy nghe nhạc đa
phương tiện (MP4) hoặc máy tính xách tay. Điều này không bao gồm các trò chơi
dành riêng cho các dòng máy, hệ thống máy chơi game cầm tay như Nitendo DS
hoặc PlayStation Portable.

1.2. Tiềm năng thị trƣờng Game Mobile
       Theo kết quả nghiên cứu thị trường quý II/2011 của công ty nghiên cứu thị
trường Nielsen, game đã trở thành hạng mục được sử dụng phổ biến nhất trong các
loại phần mềm ứng dụng cho các thiết bị điện thoại di động.
       Theo số liệu thống kê:
       64% người tham gia khảo sát của Nielsen cho biết họ đã tải ít nhất một game
trong 30 ngày gần nhất, vượt qua tỉ lệ tương ứng của các ứng dụng thời tiết (60%)
và mạng xã hội (56%).
       93% người tải ứng dụng khẳng định họ sẵn sang trả tiền cho game mà họ
đang chơi.

Thị trường Game Mobile tại Việt Nam
       Theo ước tính của VTC Mobile, năm 2010, tổng doanh thu trên toàn thị
trường game di động của Việt Nam đạt 120 tỷ đồng trên tổng số 110 triệu thuê bao
di động. Nếu so với con số khoảng 2000 tỷ đồng mà ngành game PC đạt được trên
tổng số chưa đến 10 triệu game thủ thì đây là một con số khá khiêm tốn.
Tại sao Game Mobile chưa phát triển tại Việt Nam ???
       Phân chia doanh thu thấp: Sự phát triển của toàn ngành nội dung số trên di
động đã và đang bị cản trở bởi tỉ lệ phân chia doanh thu mà các nhà mạng áp đặt
cho các doanh nghiệp cung cấp dịch vụ nội dung. Game mobile cũng không là
ngoại lệ. Với mức tỷ lệ nhận về từ nhà mạng khoảng từ 45-55%, các doanh nghiệp
kinh doanh game chỉ biết “đi đàm phán” để có được các game thay vì mạo hiểm đầu
tư sản xuất, phát triển các game thuần Việt.
       Game chùa tràn lan: Game mobile phổ biến tại Việt Nam là các game Java.
Quá trình bẻ khóa các game Java là tương đối dễ, do các game Chùa có cùng cách
chơi, cùng thể loại nhưng không có bản quyền, được phổ biến rộng rãi trên mạng,
đặc biệt các diễn đàn như tinhte.vn, ddth.com, vozforum.com. Điều này một mặt
ảnh hưởng trực tiếp đến doanh thu của các doanh nghiệp trong ngành, một mặt còn


                                                                                      12
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
hạ thấp uy tín của thị trường Việt Nam trong mắt các nhà cung cấp Game nước
ngoài.

Sự ra đời của Game online trên mobile là một bƣớc ngoặt
       Với những quy định quản lý ngày càng chặt chẽ đối với game online trên
máy tính, game online trên di điện thoại di động được coi là một hướng đi mới
không ít tiềm năng với những nhà kinh doanh game. Để thu hút khách hang, hầu hết
các nhà cung cấp đều miễn phí đăng ký cho người chơi. Trong quá trình chơi, người
dung thường mua các vật phẩm để nâng cấp vũ khí, sức chiến đấu hoặc tính năng
cho nhân vật của mình và phải trả chi phí dịch vụ dữ liệu cho nhà mạng.
       Hiện nay, các dòng điện thoại cao cấp, smartphone, Iphone đã đang dần dần
chiếm được thị phần người dùng di động. Sự ra đời của mạng 3G là điều kiện vô
cùng thuận lợi cho sự phát triển của Game Online Mobile.Game Online Mobile ko
chỉ chơi được trên một loại dòng máy, nó có khả năng hỗ trợ trên các nền tảng khác
nhau: Java, Android, Iphone, thậm chí là HTML5 trên PC.
       Game online cũng giải quyết được 2 bài toán mà Game offline đang mắc
phải, đó là phân chia doanh thu và tình trạng crack game. Với cơ chế quản lý toàn
bộ tài khoản người dùng, game play trên server, việc crack game đã gần như được
giải quyết hoàn toàn. Cùng sự ra đời của các cổng thanh toán qua thẻ cào như Ngân
lượng, VietPay với mức phí trên mỗi thẻ cào chỉ là 10% (so với mức thu 45-55%
của nhà mạng qua tin nhắn SMS) thì bài toán phân chia doanh thu đã được giải
quyết một cách thỏa đáng.
    Hiện trên thị trường những game như “Minh Châu tam quốc” do Minh Châu
game phát hành, “Báu vật thứ 7” của Phong Phú Sắc Việt, “Chúa Nhẫn” của VTC
mobile, “Avatar” của Teamobi đang trở thành những game hot được cộng đồng
game thủ săn lùng.Theo ước tính doanh thu của các Game online này lên đến hàng
chục tỷ đồng mỗi tháng.

2. Phát biểu bài toán

    Như vậy, qua phân tích, đánh giá về tiềm năng, những ưu, nhược điểm của thị
trường Game Mobile Online tại Việt Nam. Mục tiêu của đồ án tốt nghiệp là xây
dựng một Game online trên Mobile hoàn chỉnh.
    Đặc điểm của đường truyền mạng của mạng di động rất kém và không ổn định,
do đó, các game được chọn để đưa vào hệ thống Game online là những Game nhỏ,
cách chơi đơn giản, không cần đảm bảo tính thời gian thực.
    Trong khuôn khổ đồ án của mình, em lựa chọn phát triển Game Online trên nền
tảng J2ME. Trong Game là một thành phố ảo mà trong đó cư dân và các bạn trẻ trên
khắp mọi miền đất nước cùng online trên chiếc điện thoại di động của mình. Khi
tham gia trò chơi, người chơi sẽ được thể hiện mình, bày tỏ tình cảm, nhắn tin, chat

                                                                                      13
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
chít, kết bạn,…Ngoài ra game còn có các hoạt động khác như xem bói, chơi xổ số,
đánh bài, chơi ai là triệu phú, …

3. Định hƣớng phát triển đề tài

       Để xây dựng được một hệ thống Game Online, nhiệm vụ đặt ra là xây dựng
một hệ thống Server, một hệ thống cơ sở dữ liệu (database) và ít nhất một phiên bản
Client cho người dùng sử dụng. Ngoải ra, cần xây dựng một hệ thống thanh toán
nạp tiền cho người dùng. Đây là phần không thể thiếu đối với một game trên
mobile.
    Vấn đề đặt ra với hệ thống là làm thế nào để xây dựng được một hệ thống Game
Online có khả năng chịu tải lớn, khả năng chịu lỗi cao, tốc độ Game đáp ứng được
nhu cầu của người sử dụng. Server có khả năng kết nối được với nhiều loại thiết bị
khác nhau trên các nền tảng khác nhau.


4. Giải pháp giải quyết bài toán

       Để xây dựng được được hệ thống như đã nêu trên, ta cần xây dựng:

   -   Một bản Client trên nền tảng J2ME
   -   Một server cho Game
   -   Mô hình truyền dữ liệu giữa Client và Server
   -   Mô hình server để đáp ứng được các yêu cầu về tốc độ đáp ứng game, khả
       năng chịu tải, chịu lỗi.
   -   Xây dựng bảng cơ sở dữ liệu cho game
   -   Xây dựng các Tool để quản trị hệ thống

       Điều quan trọng nhất đối với hệ thống Game online là khả năng chịu tải. Để
giải quyết bài toán đó, chúng ta đưa ra mô hình phân chia server thành càng server
con để giảm tải cho hệ thống.




                                                                                      14
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Chƣơng 2: NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG
1. Mô hình Client – Server
        Các ứng dụng mạng thường hoạt động theo mô hình client/server như thư
điện tử, truyền nhận tập tin, game trên mạng, … Mô hình này gồm có một chương
trình đóng vai trò là client và một chương trình đóng vai trò là server. Hai chương
trình này sẽ giao tiếp với nhau thông qua mạng. Chương trình server đóng vai trò
cung cấp dịch vụ. Chương trình này luôn luôn lắng nghe các yêu cầu từ phía Client,
rồi tính toán và đáp trả kết quả tương ứng. Chương trình client cần một dịch vụ và
gửi yêu cầu dịch vụ tới chương trình server và đợi đáp trả từ server. Như vậy, quá
trình trao đổi dữ liệu giữa client/server bao gồm:

   -   Truyền một yêu cầu từ chương trình client tới chương trình server
   -   Yêu cầu được server xử lý
   -   Truyền đáp ứng cho client




                              HÌNH 1 : MÔ HÌNH CLIENT – SERVER

        Mô hình truyền tin này thực hiện truyền hai thông điệp qua lại giữa client và
server một cách đồng bộ hóa. Chương trình server nhận được thông điệp từ client
thì nó phát ra yêu cầu client chuyển sang trạng thái chờ (tạm dừng) cho tới khi
client nhận được thông điệp đáp ứng do server gửi về. Mô hình client/server thường
được cài đặt dựa trên các thao tác cơ bản là gửi (send) và nhận (receive).

2. Giao thức TCP/IP
      Giao thức TCP/IP được phát triển từ mạng ARPANET và Internet và được
dùng như giao thức mạng và vận chuyển trên mạng Internet. TCP (Transmission
                                                                                      15
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Control Protocol) là giao thức thuộc tầng vận chuyển và IP (Internet Protocol) là
giao thức thuộc tầng mạng của mô hình OSI. Họ giao thức TCP/IP hiện nay là giao
thức được sử dụng rộng rãi nhất để liên kết các máy tính và mạng.
       Hiện nay các máy tính của hầu hết các mạng có thể sử dụng giao thức
TCP/IP để liên kết với nhau thông qua nhiều hệ thống mạng với kỹ thuật khác nhau.
Giao thức TCP/IP thực chất là một họ giao thức cho phép các hệ thống mạng cùng
làm việc với nhau thông qua việc cung cấp phương tiện truyền thông liên mạng.

2.1. Giao thức điều khiển truyền dữ liệu TCP
        TCP là một giao thức “có liên kết” (connection - oriented), nghĩa là cần phải
thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau.
Một tiến trình ứng dụng trong một máy tính truy nhập vào các dịch vụ của giao thức
TCP thông qua một cổng (port) của TCP. Số hiệu cổng TCP được thể hiện bởi 2
bytes.




                           HÌNH 2: CỔNG TRUY NHẬP DỊCH VỤ TCP.



       Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket)
duy nhất trong liên mạng. Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa
một cặp đầu nối TCP/IP. Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các
đầu nối TCP/IP ở xa khác nhau. Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết
lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên
kết đó sẽ được giải phóng.
       Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi
(function calls) trong đó có các hàm yêu cầu để yêu cầu, để trả lời. Trong mỗi hàm
còn có các tham số dành cho việc trao đổi dữ liệu
       Các bước thực hiện để thiết lập một liên kết TCP/IP. Thiết lập một liên kết
mới có thể được mở theo một trong 2 phương thức: chủ động (active) hoặc bị động
(passive).

                                                                                      16
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Phương thức bị động: người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên
kết gửi đến từ xa thông qua một đầu nối TCP/IP (tại chỗ). Người sử dụng dùng hàm
passive Open có khai báo cổng TCP và các thông số khác (mức ưu tiên, mức an
toàn).
       Phương thức chủ động: người sử dụng yêu cầu TCP mở một liên kết với một
đầu nối TCP/IP ở xa. Liên kết sẽ được xác lập nếu có một hàm Passive Open tương
ứng đã được thực hiện tại đầu nối TCP/IP ở xa đó.




Số hiệu cổng                                     Mô tả
0                                                Reserved
5                                                Remote job entry
7                                                Echo
9                                                Discard
11                                               Systat
13                                               Daytime
15                                               Nestat
17                                               Quotd (quote odd day)
20                                               ftp-data
21                                               ftp (control)
23                                               Telnet
25                                               SMTP
37                                               Time
53                                               Name Server
102                                              ISO - TSAP
103                                              X.400
104                                              X.400 Sending
111                                              Sun RPC
139                                              Net BIOS Session source
160-223                                          Reserved


                     BẢNG 1: BẢNG LIỆT KÊ MỘT VÀI CỔNG TCP PHỔ BIẾN

         Khi người sử dụng gửi đi một yêu cầu mở liên kết sẽ được nhận hai thông số
trả lời từ TCP.
         Thông số Open ID được TCP trả lời ngay lập tức để gán cho một liên kết cục
bộ (local connection name) cho liên kết được yêu cầu. Thông số này về sau được

                                                                                      17
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
dùng để tham chiếu tới liên kết đó. (Trong trường hợp nếu TCP không thể thiết lập
được liên kết yêu cầu thì nó phải gửi tham số Open Failure để thông báo).
Khi TCP thiết lập được liên kết yêu cầu nó gửi tham số Open Success được dùng để
thông báo liên kết đã được thiết lập thành công. Thông báo này được chuyển đến
trong cả hai trường hợp bị động và chủ động. Sau khi một liên kết được mở, việc
truyền dữ liệu trên liên kết đó có thể được thực hiện.
       Các bước thực hiện khi truyền và nhận dữ liệu: Sau khi xác lập được liên kết
người sử dụng gửi và nhận dữ liệu. Việc gửi và nhận dữ liệu thông qua các hàm
send và receive.
       Hàm Send: Dữ liệu được gửi xuống TCP theo các khối (block). Khi nhận
được một khối dữ liệu, TCP sẽ lưu trữ trong bộ đệm (buffer). Nếu cờ PUSH được
dựng thì toàn bộ dữ liệu trong bộ đệm được gửi, kể cả khối dữ liệu mới đến sẽ được
gửi đi. Ngược lại cờ PUSH không được dựng thì dữ liệu được dữ lại trong bộ đệm
và sẽ gửi đi khi có cơ hội thích hợp (chẳng hạn chờ thêm dữ liệu nữa để gửi đi với
hiệu quả hơn)
       Hàm receive: ở trạm đích dữ liệu sẽ được TCP lưu trong bộ đệm gắn với mỗi
liên kết. Nếu dữ liệu được đánh dấu với một cờ PUSH thì toàn bộ dữ liệu trong bộ
đệm (kể cả các dữ liệu được lưu từ trước) sẽ được chuyển lên cho người sử dụng.
Còn nếu dữ liệu đến không được đánh dấu với cờ PUSH thì TCP chờ tới khi thích
hợp mới chuyển dữ liệu với mục đích tăng hiệu quả hệ thống.
       Nói chung việc nhận và giao dữ liệu cho người sử dụng đích của TCP phụ
thuộc vào việc cài đặt cụ thể. Trường hợp cần chuyển gấp dữ liệu cho người sử
dụng đích của TCP phụ thuộc vào việc cài đặt cụ thể. Trường hợp cần chuyển gấp
dữ liệu cho người sử dụng thì có thể dùng cờ URGENT và đánh dấu dữ liệu bằng
bit URG để báo cho người sử dụng cần phải xử lý khẩn cấp dữ liệu đó.
       Các bước thực hiện khi đóng một liên kết: Việc đóng một liên kết khi không
cần thiết được thực hiện theo một trong hai cách: dùng hàm Close hoặc dùng hàm
Abort.
       Hàm Close: yêu cầu đóng liên kết một cách bình thường. Có nghĩa là việc
truyền dữ liệu trên liên kết đó đã hoàn tất. Khi nhận được một hàm Close TCP sẽ
truyền đi tất cả dữ liệu còn trong bộ đệm thông báo rằng nó đóng liên kết. Lưu ý
rằng khi một người sử dụng đã gửi đi một hàm Close thì nó vẫn phải tiếp tục nhận
dữ liệu đến trên liên kết đó cho đến khi TCP đã báo cho phía bên kia biết về việc
đóng liên kết và chuyển giao hết tất cả dữ liệu cho người sử dụng của mình.
       Hàm Abort: Người sử dụng có thể đóng một liên kết bất thường và sẽ không
chấp nhận dữ liệu qua liên kết đó nữa. Do vậy dữ liệu có thể bị mất đi khi đang
được truyền đi. TCP báo cho TCP ở xa biết rằng liên kết đã được hủy bỏ và TCP ở
xa sẽ thông báo cho người sử dụng của mình.
       Một số hàm khác của TCP:


                                                                                      18
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Hàm Status: cho phép người sử dụng yêu cầu cho biết trạng thái của một liên
kết cụ thể, khi đó TCP cung cấp thông tin cho người sử dụng.
       Hàm Error: thông báo cho người sử dụng TCP về các yêu cầu dịch vụ bất
hợp lệ liên quan đến một liên kết có tên cho trước hoặc về các lỗi liên quan đến môi
trường.
       Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có các
tham số với ý nghĩa như sau:




                           HÌNH 3: DẠNG THỨC CỦA SEGMENT TCP.

       Source Port (16 bits): số hiệu cổng TCP của trạm nguồn
       Destination Port (16 bit): số hiệu cổng TCP của trạm đích
       Sequence Number (32 bit): số hiệu của byte đầu tiên của segment trừ khi
SYN được được thiết lập. Nếu bit SYN được thiết lập thì Sequence Number là số
hiệu tuần tự khởi đầu (ISN) và byte dữ liệu đầu tiên là ISN + 1.
       Acknowledgment Number (32 bit): số hiệu của segment tiếp theo mà trạm
nguồn đang chờ để nhận. Ngầm ý báo nhận tốt (các) segment mà trạm đích đã gửi
cho trạm nguồn.
       Data offset (4 bit): số lượng bội của 32 bit (32 bit words) trong TCP header
(tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu).
       Reserved (6 bit): dành để dùng trong tương lai.
       Control bit (các bit điều khiển):
       URG: Vùng con trỏ khẩn (Ucgent Poiter) có hiệu lực.
       ACK: Vùng báo nhận (ACK number) có hiệu lực.
       PSH: chức năng PUSH
       RST: Khởi động lại (reset) liên kết.
       SYN: Đồng bộ hóa số hiệu tuần tự (sequence number).
       FIN: Không còn dữ liệu từ trạm nguồn.




                                                                                      19
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Window (16 bit): cấp phát credit để kiểm soát nguồn dữ liệu (cơ chế cửa sổ).
Đây chính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACK
number, mà trạm nguồn đã sẵn sàng để nhận.
        Checksum (16 bit): mã kiểm soát lỗi cho toàn bộ segment (header + data)
        Urgemt Poiter (16 bit): con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau
dữ liệu khẩn. Vùng này chỉ có hiệu lực khi bit URG được thiết lập.
        Options (độ dài thay đổi): khai báo các option của TCP, trong đó có độ dài
tối đa của vùng TCP data trong một segment.
        Paddinh (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần
header luôn kết thúc ở một mốc 32 bit. Phần thêm này gồm toàn số 0.
        TCP data (độ dài thay đổi): chứa dữ liệu của tầng trên, có độ dài tối đa ngầm
định là 536 byte. Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng
options.



2.2. Giao thức UDP
       UDP (User Datagram Protocol) là giao thức theo phương thức không liên kết
được sử dụng thay thế cho TCP ở trên IP theo yêu cầu của từng ứng dụng. Khác với
TCP, UDP không có các chức năng thiết lập và kết thúc liên kết. Tương tự như IP,
nó cũng không cung cấp cơ chế báo nhận (ackowledgment), không sắp xếp tuần tự
các gói tin (datagram) đến và có thể dẫn đến tình trạng mất hoặc trùng dữ liệu mà
không có cơ chế thông báo lỗi cho người gửi. Qua đó ta thấy UDP cung cấp các
dịch vụ vận chuyển không tin cậy như trong TCP.
       Khuôn dạng UDP datagram được mô tả với các vùng tham số đơn giản hơn
nhiều so với TCP segment.




                            HÌNH 4: DẠNG THỨC CỦA GÓI TIN UDP.



      UDP cũng cung cấp cơ chế gán và quản lý các số hiệu cổng (port number) để
định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng. Do ít chức
năng phức tạp nên UDP thường có xu thế hoạt động nhanh hơn so với TCP. Nó
thường được dùng cho các ứng dụng không đòi hỏi đ ộ tin cậy cao trong giao vận.




                                                                                      20
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
HÌNH 5: MÔ HÌNH QUAN HỆ HỌ GIAO THỨC TCP/IP.




3. Mô hình truyền tin SOCKET
       Chương trình client và server sử dụng giao thức vận chuyển để gởi và nhận
dữ liệu. Một vídụ là giao thức TCP/IP được sử dụng để giao tiếp qua mạng Internet.




                            HÌNH 6: MÔ HÌNH TRUYỀN TIN SOCKET.




                                                                                      21
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
TCP và UDP là các giao thức tầng giao vận để truyền dữ liệu. Mỗi giao thức
có những ưu và nhược điểm riêng. Chẳng hạn, giao thức TCP có độ tin cậy truyền
tin cao, nhưng tốc độ truyền tin bị hạn chế do phải có giai đoạn thiết lập và giải
phóng liên kết khi truyền tin, khi gói tin có lỗi hay bị thất lạc thì giao thức TCP phải
có trách nhiệm truyền lại, … Ngược lại, giao thức UDP có tốc độ truyền tin rất
nhanh vì nó chỉ có một cơ chế truyền tin rất đơn giản: không cần phải thiết lập và
giải phóng liên kết.
       Dữ liệu được truyền trên mạng Internet dưới dạng các gói (packet) có kích
thước hữu hạn được gọi là datagram. Mỗi datagram chứa một header và một
payload. Header chứa địa chỉ và cổng cần truyền gói tin đến, cũng như địa chỉ và
cổng xuất phát của gói tin, và các thông tin khác được sử dụng để đảm bảo độ tin
cậy truyền tin, payload chứa dữ liệu. Tuy nhiên do các datagram có chiều dài hữu
hạn nên thường phải phân chia dữ liệu thành nhiều gói và khôi phục lại dữ liệu ban
đầu từ các gói ở nơi nhận. Trong quá trình truyền gói tin có thể có một hay nhiều
gói bị mất hay bị hỏng và cần phải truyền lại hoặc các gói tin đến không theo đúng
trình tự. Để tránh những điều này, việc phân chia dữ liệu thành các gói, tạo các
header, phân tích header của các gói đến, quản lý danh sách các gói đã nhận được
và các gói chưa nhận được, … rất nhiều công việc cần phải thực hiện, và đòi hỏi rất
nhiều phần mềm phức tạp.
       Để giải quyết bài toán này, đại học UC Berkeley đưa ra khái niệm Socket.
Chúng cho phép người lập trình xem một liên kết mạng như là một luồng mà có thể
đọc dữ liệu ra hay ghi dữ liệu vào từ luồng này. Các Socket che dấu người lập trình
khỏi các chi tiết mức thấp của mạng như kiểu đường truyền, các kích thước gói, yêu
cầu truyền lại gói, các địa chỉ mạng, …
       Một socket có thể thực hiện 7 thao tác cơ bản:

   -   Kết nối với một máy ở xa (ví dụ: chuẩn bị để gửi và nhận dữ liệu)
   -   Gửi dữ liệu
   -   Nhận dữ liệu
   -   Ngắt liên kết
   -   Gán cổng
   -   Nghe dữ liệu đến
   -   Chấp nhận liên kết từ các máy ở xa trên cổng đã được gán

   Có nhiều kiểu Socket khác nhau tương ứng với mỗi kiểu giao thức được sử dụng
để giao tiếp giữa hai máy trên mạng Internet. Đối với chồng giao thức TCP/IP, có
hai kiểu Socket chính được sử dụng là stream socket và datagram socket. Stream
Socket sử dụng giao thức TCP để cung cấp dịch vụ gửi dữ liệu tin cậy. Datagram
Socket sử dụng giao thức UDP để cung cấp dịch vụ gởi gói tin đơn giản. Ngôn ngữ
lập trình Java hỗ trợ lớp Socket và ServerSocket cho kiểu stream socket và lớp
DatagramPacket và DatagramSocket cho kiểu datagram socket.
                                                                                      22
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Đối với kiểu stream socket, lớp Socket được sử dụng bởi cả client và server. Lớp
Socket này có các phương thức tương ứng với bốn hao tác đầu tiên của thao tác cơ
bản của socket trình bày ở trên. Ba thao tác cuối được hỗ trợ bởi server để chờ các
client liên kết tới. Các thao tác này được cài đặt bởi lớp ServerSocket.

4. Ngôn ngữ lập trình Java
Khái niệm
       Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác
với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã
máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn
thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment)
chạy. Bằng cách này, Java thường chạy nhanh hơn những ngôn ngữ lập trình thông
dịch khác như Python, Perl, PHP,…
       Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng
đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn.

       Một số đặc điểm nổi bật của ngôn ngữ lập trình Java:

-      Máy ảo Java (JVM – Java Vitual Machine): Tất cả các chương trình muốn
thực thi được thì phải được biên dịch ra mã máy. Mã máy của từng kiến trúc CPU
của mỗi máy tính là khác nhau (tập lệnh mã máy của CPU Intel, CPU Solarix, CPU
Macintosh … là khác nhau), vì vậy trước đây một chương trình sau khi được biên
dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể nào đó. Đối với CPU
Intel chúng ta có thể chạy các hệ điều hành như Microsoft Windows, Unix,Linux,
OS/2, …
-      Chương trình thực thi được trên Windows được biên dịch dưới dạng file có
đuôi .EXE còn trên Linux thì được biên dịch dưới dạng file có đuôi .ELF, vì vậy
trước đây một chương trình chạy được trên Windows muốn chạy được trên hệ điều
hành khác như Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại.
-      Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên
đã được khắc phục. Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được
biên dịch ra mã của máy ảo java (mã java bytecode). Sau đó máy ảo Java chịu trách
nhiệm chuyển mã java bytecode thành mã máy tương ứng. Sun Microsystem chịu
trách nhiệm phát triển các máy ảo Java chạy trên các hệ điều hành trên các kiến trúc
CPU khác nhau.

Thông dịch
       Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch. Chương trình
nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch
thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã
máy.
                                                                                      23
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Độc lập nền
      Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính
có hệ điều hành khác nhau (Windows, Unix,Linux, …) miễn sao ở đó có cài đặt
máy ảo java (Java Virtual Machine). Viết một lần chạy mọi nơi (write once run
anywhere).

Hƣớng đối tƣợng
        Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữ
lập trình hướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong Java đều liên
quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương
trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đối
tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà
thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Vấn đề này sẽ
được bàn chi tiết trong phần sau.

Đa nhiệm – Đa luồng (Multitasking - Multithreading)
       Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình
có thể chạy song song cùng một thời điểm và tương tác với nhau.

Khả chuyển (Portable)
       Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy
ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java.
“Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere).

Hỗ trợ mạnh cho việc phát triển ứng dụng
       Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem”
cung cấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển
nhiều loại hình ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Edition) hỗ
trợ phát triển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 Enterprise
Edition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Edition)
hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, …


5. Công nghệ J2ME
Java là công nghệ mã nguồn mở và do Sun Microsystem hỗ trợ và phát triễn. J2ME
(Java 2 Platform, Micro Edition) được xem là 1 trong 3 công nghệ hiện nay của
Java và nó phát triển ứng dụng nhắm vào các thiết bị di động. Chuẩn của J2ME
gồm 2 loại:


                                                                                      24
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
CLDC ( Connected Limited Device Configuration): có khả năng truyền
thông trên mạng một cách rời rạc như: điện thoại di động (Mobile phones), máy
nhắn tin hai chiều (two-way pagers), máy trợ lý cá nhân dùng kỹ thuật số (personal
digital asisstants-PDAs). Loại này dùng cho một mục đích đặc biệt, thường giới hạn
về chức năng.
        CDC ( Connected Device Configuration): được kết nối cố định và liên tục
như set-top boxes, Internet TVs, Internet – enabled screen phones, high – end
communicators, hệ thống điều hướng xe hơi. Loại này hỗ trợ về giao diện người
dùng.
        J2ME được thiết kế để chạy trên các điện thoại di động có cấu hình tối thiểu
như sau:

   -   Bộ nhớ tổng cộng: 128-512 KB.
   -   Bộ xử lý: 16 đến 32 bit.
   -   Tốc độ xử lý: 8-32 MHz.

    Năng lượng: giới hạn, hoạt động bằng pin.
    Băng thông: giới hạn, khoảng 9600 bps.
    MIDP (Mobile Information Device Profile): bổ sung các tính năng như hỗ trợ
kết nối, các thành phần hỗ trợ giao diện người dùng … vào CLDC. Profile này được
thiết kế chủ yếu để nhắm vào điện thoại di động với đặc tính là màn hình hiển thị
hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện người
dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói MIDP là
profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các máy
di động. Những chức năng MIDP cung cấp:
    Các lớp và kiểu dữ liệu: phần lớn các lớp mà các lập trình viên Java quen thuộc
vẫn còn được giữ lại ví dụ như các lớp trong gói java.util như Stack, Vector và
Hastable cũng như Enumeration.
    Hỗ trợ đối tượng Display: đúng như tên gọi một chương trình MIDP sẽ hỗ trợ
duy nhất một đối tượng Display là đối tượng quản lý việc hiển thị dữ liệu trên màn
hình điện thoại.
    Hỗ trợ Form và các giao diện người dùng.
    Hỗ trợ Timer và Alert.
    Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ dữ
liệu.
    Những chức năng MIDP không thể làm được:

   - Phép tính dấu chấm động (floating point): phép tính này đòi hỏi rất nhiều tài
nguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép tính
này, do đó MIDP cũng không có.
   - Bộ nạp class (Class Loader).

                                                                                      25
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
-   Hỗ trợ từ khóa finalize( ) như trong J2SE: việc “dọn dẹp“ tài nguyên trước
       khi nó bị xóa do lập trình viên thực hiện.
   -   Không hỗ trợ JNI (Java Native Interface).
   -   Hỗ trợ hạn chế thao tác bắt lỗi.
   -   Phần lớn các thư viện API cho Swing và AWT không thể sử dụng được
       trong MIDP.
   -   Không hỗ trợ các tính năng quản lý tập tin và thư mục, trong thực tế là các
       thiết bị J2ME không có hỗ trợ các thiết bị lưu trữ thông thường như ổ
       cứng…. Tuy nhiên, điều đó không có nghĩa là phải mất đi mọi dữ liệu quan
       trọng mỗi khi tắt máy, Sun đã cung cấp một chức năng khác tương đương gọi
       là Record Management System (RMS) để cung cấp khả năng lưu trữ cho các
       thiết bị này.

    MIDP 2.0 có một số các cải tiến nổi bật so với MIDP 1.0:
    Nâng cấp các tính năng bảo mật như: Download qua mạng an toàn hơn thông
qua việc hỗ trợ giao thức HTTPS, kiểm soát việc kết nối giữa máy di động và
server, ví dụ các chương trình không thể kết nối tới server nếu không có sự chấp
nhận của người dùng.
    Thêm các API hỗ trợ Multimedia. Một trong những cải tiến nổi bật nhất của
MIDP 2.0 là tập các API media của nó. Các API này là một tập con chỉ hỗ trợ âm
thanh của Mobile Media API (MMAPI).
    Mở rộng các tính năng của Form. Nhiều cải tiến đã được đưa vào API
javax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài API
cho game) là trong Form và Item.
    Hỗ trợ các lập trình viên game bằng cách tung ra Game API. Được hưởng lợi
nhất từ Game API trong MIDP 2.0 không chỉ là các lập trình viên game mà còn các
lập trình viên cần sử dụng các tính năng đồ họa cao cấp.
    Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà phát triển
MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên, cho phép MIDlet
thao tác với dữ liệu hình ảnh một cách trực tiếp.




                                                                                      26
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Chƣơng 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
   1. Phân tích hệ thống
       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í
                                                                                      27
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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.




                                                                                      28
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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
                                                                                      29
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
-   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,


                                                                                      30
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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

                                                                                      31
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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).
                                                                              32
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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

                                                                                      33
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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
đồ.
       Quá trình mua đồ, lấy thông tin hòm đồ được thực hiện như sau:




                                                                                      34
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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.




                                                                                      35
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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 đó.

                                                                                      36
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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ẻ.




                                                                                      37
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
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
bản cũ, hoặc tải phiên bản mới về sử dụng. Tuy nhiên cũng có trường hợp người
dùng phải bắt buộc tải phiên bản mới thì mới có thể sử dụng được. Việc này do
người quản trị Game điều chỉnh trên server.
Chức năng nạp tiền
        Để sử dụng được các chức năng trong Game, người chơi phải gold hoặc xu.
Đây là loại tiền ảo trong game, nó chỉ có tác dụng trong game mà không được quy
đổi ngược lại thành tiền thật.
Có hai hình thức nạp tiền:
        Nạp tiền qua tin nhắn SMS: chức năng này khá tiện dụng cho người dùng,
bởi chỉ cần thực hiện thao tác nhắn tin SMS trong Game là người dùng có thể nạp
tiền một cách dễ dàng. Để có chức năng này, yêu cầu hệ thống phải có một đầu số
tổng đài, một hệ thống xử lý tin nhắn trên tổng đài. Khi nhận được tin nhắn SMS từ
khách hàng, dựa vào mã tin nhắn, tổng đài sẽ gửi về server của game nội dung tin
nhắn, server xử lý và trả về cho người dùng.
                                                                                      38
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Nạp tiền bằng mã số thẻ cào (Viettel, Mobi, VinaPhone): Sẽ có nhiều
người thắc mắc tại sao chức năng nạp tiền qua tin nhắn SMS tiện dụng như vậy mà
lại phải có thêm chức năng nạp tiền qua thẻ cào???
       Trên thực tế, chức năng này khá bất tiện bởi muốn nạp tiền người dùng phải
mua thẻ cào, sau đó điền mã thẻ để nạp tiền. Tuy nhiên, hệ thống game vẫn có chức
năng này là do hai nguyên nhân:
       + Thứ nhất: Việc thu tiền qua tin nhắn SMS sẽ bị hao hụt rất lớn, thông
thường mỗi tin nhắn SMS nhà sản xuất sẽ phải trả 45-55% tiền phí cho nhà mạng
(với 1 tin nhắn 5000đ thì phải trả cho nhà mạng khoảng 2750đ). Bù lại, với mỗi lần
người dùng nạp tiền bằng thẻ cào, nhà sản xuất game chỉ phải trả cho nhà cung cấp
dịch vụ thẻ cào 10% giá trị của thẻ cào đó.
       + Thứ hai: không phải người dùng nào cũng sử dụng điện thoại để chơi
game. Họ có thể chơi bằng giả lập trên PC, hay chơi trên các thiết bị khác hỗ trợ
game nhưng không hỗ trợ việc nhắn tin SMS. Hoặc sau này khi phát triển game trên
nền Web thì việc nạp tiền qua thẻ cào cũng rất tiện lợi.


1.1.2. Chức năng report hệ thống
       Thống kê danh sách người dùng đăng ký trong ngày
       Chức năng này dùng để liệt kê danh sách những tài khoản đã đăng ký nick
trong ngày hiện tại. Ngoài ra, người quản trị còn có thể lựa chọn xem danh sách
người dùng đã đăng ký nick của những ngày trước đó.
       Các thông tin thống kê trong danh sách người dùng bao gồm: username, giới
tính, số điện thoại, số tiền, cấp độ, điểm kinh nghiệm, thắng, thua, đối tác, ngày
đăng ký tài khoản, trạng thái Online, slave server hiện tại đang kết nối đến, thời
điểm đăng nhập lần cuối cùng, version hiện tại đang sử dụng.
       Ở mục này có thêm chức năng search tài khoản người dùng theo username.
Chức năng này giúp người quản trị hệ thống dễ dàng quản lý được người sử dụng,
đặc biệt là khi có khiếu nại hay vấn đề gì đó không bình thường từ phía người sử
dụng.
       Thống kê danh sách người dùng đang online
       Chức năng này giúp người quản trị biết được tại thời điểm hiện tại có bao
nhiêu người đang online và danh sách những tài khoản đang online.
       Thống kê danh sách giao dịch trong ngày
       Mục này sẽ liệt kê danh sách người dùng đã nạp tiền ở ngày hiện tại. Người
quản trị cũng có thể xem giao dịch của những ngày trước đó.
       Thông tin thống kê danh sách giao dịch bao gồm:

   -   Số lượng giao dịch trong ngày


                                                                                      39
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
-   Danh sách các tài khoản thực hiện giao dịch: tên tài khoản, hình thức thành
       toán (tin nhắn SMS, thẻ cào VINA, thẻ cào MOBI, thẻ cào VIETTEL), đối
       tác, số tiền giao dịch, thời gian thực hiện giao dịch.

       Thống kê log người dùng chơi game
       Chức năng này đặc biệt quan trọng, bởi nó giúp cho người quản trị hệ thống
có thể theo dõi được tình hình người chơi đang sử dụng dịch vụ như thế nào.
       Ở mục này, hệ thống sẽ liệt kê tất cả những dữ liệu liên quan đến việc thay
đổi số tiền của người dùng trong game. Bao gồm: tiền thay đổi khi người chơi sử
dụng dịch vụ trong game, tiền thay đổi khi người chơi đánh bài, chơi ai là triệu phú
hay mua đồ, …
       Bảng thống kê này sẽ giúp cho người quản trị theo dõi được những tài khoản
nào có biểu hiện gian lận để xử lý kịp thời. Đồng thời cũng là kênh đối soát đối với
những trường hợp khiếu nại của khách hàng.
       Nhược điểm: khi số lượng người chơi nhiều, số lượng log sẽ rất lớn dẫn đến
gây nặng hệ server. Chính việc ghi log sẽ làm lag mạng, gây khó chịu cho người
chơi. Do đó phải tìm ra phương án ghi log một cách hiệu quả, chỉ chọn lọc những
thông tin cần thiết để ghi lại.
       Thống kê Top User
       Mục này sẽ thống kê top người dùng theo thứ tự giảm dần từ trên xuống dựa
theo tiền và điểm kinh nghiệm. Cụ thể có các loại Top cần thống kê bao gồm: Top
đại gia, Top cao thủ, top ba cây, top phỏm, top tiến lên.
       Ở ứng dụng ở phía client, người dùng chỉ xem được Top này với số lượng
thống kê là 10 người. Còn ở bảng thống kê này, người quản trị có thể có thể theo
dõi danh sách thống kê bao gồm tất cả người dùng của hệ thống được sắp xếp theo
thứ tự giảm dần.
       Từ bảng thống kê này người quản trị có thể biết được hiện tại tình hình có
bao nhiêu tài khoản đang có bao nhiêu tiền. Ví dụ có bao nhiêu tài khoản có số tiền
trên 1 triệu, trên 500 nghìn, …. Từ đó có thể đưa ra các chương trình khuyến mãi
nạp tiền cho hợp lý.
       Thống kê lượng truy cập theo từng ngày
       Chức năng này sẽ thống kê lượng người dùng truy cập vào hệ thống trong
một ngày. Số lượng truy cập được tính bằng số lần người chơi đăng nhập vào hệ
thống.
       Thống kê danh sách người dùng mua đồ theo ngày
       Chức năng này ghi lại danh sách người chơi thực hiện giao dịch mua đồ
trong ngày. Bao gồm: tên tài khoản, vật phẩm chọn mua, mã hàng và thời điểm mua
đồ.
       Vật phẩm ở đây là quần áo, hoặc tóc. Mã hàng là loại quần áo hoặc đầu tóc
mà người dùng đã mua.

                                                                                      40
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
1.1.3. Chức năng chăm sóc khách hàng
       Chức năng thống kê ý kiến phản hồi
       Mục này sẽ liệt kê những ý kiến mà khách hàng phản hồi về chất lượng dịch
vụ, tình trạng hệ thống hay những đóng góp, góp ý để hệ thống tốt hơn.
       Danh sách thống kê bao gồm: tên tài khoản, nội dung phản hồi và thời gian
phản hồi.
       Từ các phản hồi này, bộ phận chăm sóc khách hàng có thể giải đáp thắc mắc
với người dùng bằng chức năng gửi tin nhắn trực tiếp từ hệ thống hoặc thông qua
việc gọi điện cho khách hàng. Những trường hợp phức tạp, bộ phận chăm sóc khách
hàng sẽ tổng hợp lại phản hồi của khách hàng và gửi cho người quản lý hệ thống để
xử lý.
       Chức năng thống kê giao dịch trong ngày
       Thông thường những ý kiến khiếu nại của khách hàng liên quan đến hệ thống
tiền ảo trong game. Để đối soát với những phản hồi của khách hàng trong trường
hợp khách hàng đã nạp tiền nhưng không được cộng vào tài khoản. Bộ phận chăm
sóc khách hàng có thể kiểm tra xem trong thống kê giáo dịch đã có giao dịch của
khách hàng đó chưa và cộng lại tiền cho khách hàng.
       Chức năng gửi tin nhắn đến khách hàng
       Chức năng này có tác dụng để giải đáp những thắc mắc cho khách hàng một
cách nhanh chóng nhất. Sau khi gửi tin nhắn, người sử dụng sẽ nhận được tin nhắn
khi đăng nhập vào Game.
       Chức năng cập nhật gold vào tài khoản cho khách hàng
       Chức năng này giúp người quản lý có thể cập nhật lại số tiền cho khách hàng
khi có sai phạm trong quá trình nạp tiền hay lỗi game dẫn đến việc khách hàng bị
mất tiền.




                                                                                      41
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
2. Thiết kế hệ thống
       2.1.    Kiến trúc hệ thống
       2.1.1. Kiến trúc tổng quan
       Để giảm tải cho server khi có nhiều người sử dụng cùng kết nối vào hệ
thống, ta đưa ra mô hình server phân tán. Hệ thống server sẽ được chia nhỏ thành
các Slave Server. Và tất nhiên các Slave Server này sẽ dùng chung cơ sở dữ liệu của
hệ thống và các dịch vụ thanh toán nạp tiền.
      Với cách phân chia thành các Slave Server, hệ thống vẫn đảm bảo đáp ứng
được nhu cầu của người chơi game và giảm được gánh nặng cho hệ thống.




                         HÌNH16: KIẾN TRÚC TỔNG QUAN HỆ THỐNG.

       Info Slave Server

   -   Là file lưu trữ thông tin về các slave server
   -   Bao gồm: địa chỉ IP và Port của mỗi slave server.

       Là nơi mà client sẽ gọi đến đầu tiên để lấy danh sách các slave server. Sau
khi lấy được danh sách các slave server, client sẽ lựa chọn 1 slave server để kết nối
đến
       Database Server User

   -   Là hệ thống quản lý tài khoản tập trung
                                                                                      42
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
-   Lưu trữ toàn bộ thông tin tài khoản người dùng
   -   Cung cấp các giao diện webservice, URL cho các ứng dụng khác truy cập lấy
       thông tin
   -   Có cơ chế backup dự phòng, đảm bảo cung cấp dịch vụ 24/7 trong mọi tình
       huống
   -   Thành phần bao gồm: Webserver, Database Server.

       Database Server Content

   -   Là hệ thống quản lý nội dung tập trung
   -   Lưu trữ các nội dung, media phục vụ cho hoạt động kinh doanh trên toàn hệ
       thống
   -   Cung cấp các giao diện Webservice, URL cho các ứng dụng khác truy cập
       lấy thông tin
   -   Có cơ chế backup dự phòng, đảm bảo cung cấp dịch vụ 24/7 trong mọi tình
       huống
   -   Thành phần bao gồm: webserver, Database Server

       Yocity Slave Server

   -   Đóng vai trò một game Server
   -   Phục vụ yêu cầu kết nối từ Yocity client.
   -   Duy trì và điều phối Game Play của người chơi
   -   Truyền tải nội dung cho Client, kiểm soát thông tin tài khoản người dùng
       thông qua Database Server User và Database Server Content

       SMS Server

   -   Tiếp nhận tin nhắn SMS từ phía Client và trả lại tin nhắn phản hồi cho client.
   -   Xử lý tin nhắn từ phía Client, truyền tải nội dung đến slave server thông qua
       hệ thống webservice.
   -   Lưu lại thông tin SMS từ phía người dùng vào database.

       Web service SMS

   -   Là hệ thống trung gian để truyền tải nội dung từ SMS server đến slave server
       tương ứng.
   -   Có cơ chế lưu trữ thông tin vào database.
   -   Đảm bảo cung cấp dịch vụ 24/7
   -   Có thể phục vụ cho nhiều hệ thống khác nhau.

       Web service Vietpay
   -   Có vai trò trong việc đối soát mã số thẻ cào với nhà mạng Vietpay.

                                                                                      43
Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online

More Related Content

What's hot

Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh HóaĐại học công nghiệp hà nội
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchwem81315
 
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...Duc Dinh
 
Quản lý học sinh cấp 2
Quản lý học sinh cấp 2Quản lý học sinh cấp 2
Quản lý học sinh cấp 2laonap166
 
đồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưng
đồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưngđồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưng
đồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưngnataliej4
 
Bao cao UML phan tich he thong nha cho thue
Bao cao UML phan tich he thong nha cho thueBao cao UML phan tich he thong nha cho thue
Bao cao UML phan tich he thong nha cho thueKali Back Tracker
 

What's hot (20)

Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
 
Đề tài: Xây dựng Website quản lý điểm trường Phổ thông, 9đ
Đề tài: Xây dựng Website quản lý điểm trường Phổ thông, 9đĐề tài: Xây dựng Website quản lý điểm trường Phổ thông, 9đ
Đề tài: Xây dựng Website quản lý điểm trường Phổ thông, 9đ
 
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uốngĐề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
 
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SENĐề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
 
Luận văn: Ứng dụng kỹ thuật học máy vào phát hiện mã độc, 9đ
Luận văn: Ứng dụng kỹ thuật học máy vào phát hiện mã độc, 9đLuận văn: Ứng dụng kỹ thuật học máy vào phát hiện mã độc, 9đ
Luận văn: Ứng dụng kỹ thuật học máy vào phát hiện mã độc, 9đ
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịch
 
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAYĐề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
 
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
 
Quản lý học sinh cấp 2
Quản lý học sinh cấp 2Quản lý học sinh cấp 2
Quản lý học sinh cấp 2
 
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
 
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAYĐề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
 
đồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưng
đồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưngđồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưng
đồ áN cơ sở 2 đề tài xây dựng website kinh doanh phụ kiện thú cưng
 
Bao cao UML phan tich he thong nha cho thue
Bao cao UML phan tich he thong nha cho thueBao cao UML phan tich he thong nha cho thue
Bao cao UML phan tich he thong nha cho thue
 
Chuong 3. cnpm
Chuong 3. cnpmChuong 3. cnpm
Chuong 3. cnpm
 
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOTĐề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
 
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
 
Đề tài: Hệ thống quản lý học viên cho trung tâm Anh ngữ, HAY
Đề tài: Hệ thống quản lý học viên cho trung tâm Anh ngữ, HAYĐề tài: Hệ thống quản lý học viên cho trung tâm Anh ngữ, HAY
Đề tài: Hệ thống quản lý học viên cho trung tâm Anh ngữ, HAY
 

Viewers also liked

Báo cáo tốt nghiệp
Báo cáo tốt nghiệpBáo cáo tốt nghiệp
Báo cáo tốt nghiệpMy Đá
 
Buoi3 tools-vietseo
Buoi3 tools-vietseoBuoi3 tools-vietseo
Buoi3 tools-vietseoviet nghiem
 
Mobile Monday 07/2013: Mô hình kiếm tiền bền vững
Mobile Monday 07/2013: Mô hình kiếm tiền bền vữngMobile Monday 07/2013: Mô hình kiếm tiền bền vững
Mobile Monday 07/2013: Mô hình kiếm tiền bền vữngGameLandVN
 
Game giao duc
Game giao ducGame giao duc
Game giao ducEn Ti
 
Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...
Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...
Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...Hoangminh Nguyen
 
Nôi dung số: Naiscorp & mô hình kinh doanh nội dung số
Nôi dung số: Naiscorp & mô hình kinh doanh nội dung sốNôi dung số: Naiscorp & mô hình kinh doanh nội dung số
Nôi dung số: Naiscorp & mô hình kinh doanh nội dung sốHải Phạm
 
bao cao linux
bao cao linuxbao cao linux
bao cao linuxbinhnv186
 
MOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAM
MOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAMMOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAM
MOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAMwe20
 
Mô hình Groupon có bền vững?
Mô hình Groupon có bền vững?Mô hình Groupon có bền vững?
Mô hình Groupon có bền vững?Hải Phạm
 
Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf euXie ChengChao
 
XSS & SQL injection
XSS & SQL injectionXSS & SQL injection
XSS & SQL injectionThieu Mao
 
Báo cáo SQL injecttion
Báo cáo SQL injecttionBáo cáo SQL injecttion
Báo cáo SQL injecttionDuy Nguyenduc
 
Báo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳBáo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳtramn79
 
Báo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệpBáo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệpDanh Huỳnh
 
Báo cáo thực tập Athena - CNTT
Báo cáo thực tập Athena - CNTTBáo cáo thực tập Athena - CNTT
Báo cáo thực tập Athena - CNTTVu Tran
 
Đồ án tìm hiểu java và một số bài tập ứng dụng
Đồ án tìm hiểu java và một số bài tập ứng dụngĐồ án tìm hiểu java và một số bài tập ứng dụng
Đồ án tìm hiểu java và một số bài tập ứng dụngLong Kingnam
 
Mô hình hóa Use Case 01
Mô hình hóa Use Case 01Mô hình hóa Use Case 01
Mô hình hóa Use Case 01vanphong20082002
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngJojo Kim
 
Mẫu báo cáo thực tập tốt nghiệp
Mẫu báo cáo thực tập tốt nghiệpMẫu báo cáo thực tập tốt nghiệp
Mẫu báo cáo thực tập tốt nghiệpĐình Linh
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệmNguyễn Phúc
 

Viewers also liked (20)

Báo cáo tốt nghiệp
Báo cáo tốt nghiệpBáo cáo tốt nghiệp
Báo cáo tốt nghiệp
 
Buoi3 tools-vietseo
Buoi3 tools-vietseoBuoi3 tools-vietseo
Buoi3 tools-vietseo
 
Mobile Monday 07/2013: Mô hình kiếm tiền bền vững
Mobile Monday 07/2013: Mô hình kiếm tiền bền vữngMobile Monday 07/2013: Mô hình kiếm tiền bền vững
Mobile Monday 07/2013: Mô hình kiếm tiền bền vững
 
Game giao duc
Game giao ducGame giao duc
Game giao duc
 
Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...
Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...
Nghiên cứu công nghệ Unity và xây dựng ứng dụng game 3D trên Mobile - My Proj...
 
Nôi dung số: Naiscorp & mô hình kinh doanh nội dung số
Nôi dung số: Naiscorp & mô hình kinh doanh nội dung sốNôi dung số: Naiscorp & mô hình kinh doanh nội dung số
Nôi dung số: Naiscorp & mô hình kinh doanh nội dung số
 
bao cao linux
bao cao linuxbao cao linux
bao cao linux
 
MOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAM
MOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAMMOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAM
MOBILE & CƠ HỘI LỚN KINH DOANH NỘI DUNG SỐ TẠI VIỆT NAM
 
Mô hình Groupon có bền vững?
Mô hình Groupon có bền vững?Mô hình Groupon có bền vững?
Mô hình Groupon có bền vững?
 
Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf eu
 
XSS & SQL injection
XSS & SQL injectionXSS & SQL injection
XSS & SQL injection
 
Báo cáo SQL injecttion
Báo cáo SQL injecttionBáo cáo SQL injecttion
Báo cáo SQL injecttion
 
Báo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳBáo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳ
 
Báo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệpBáo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệp
 
Báo cáo thực tập Athena - CNTT
Báo cáo thực tập Athena - CNTTBáo cáo thực tập Athena - CNTT
Báo cáo thực tập Athena - CNTT
 
Đồ án tìm hiểu java và một số bài tập ứng dụng
Đồ án tìm hiểu java và một số bài tập ứng dụngĐồ án tìm hiểu java và một số bài tập ứng dụng
Đồ án tìm hiểu java và một số bài tập ứng dụng
 
Mô hình hóa Use Case 01
Mô hình hóa Use Case 01Mô hình hóa Use Case 01
Mô hình hóa Use Case 01
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thống
 
Mẫu báo cáo thực tập tốt nghiệp
Mẫu báo cáo thực tập tốt nghiệpMẫu báo cáo thực tập tốt nghiệp
Mẫu báo cáo thực tập tốt nghiệp
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệm
 

Similar to Bao cao do an Phát triển hệ thống game server Online

Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.docLuận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.docsividocz
 
Bao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepBao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepdoquyen9292
 
Xây dựng module định vị vệ tinh độ chính xác cao
Xây dựng module định vị vệ tinh độ chính xác caoXây dựng module định vị vệ tinh độ chính xác cao
Xây dựng module định vị vệ tinh độ chính xác caoĐại Học Bách Khoa Hà Nội
 
Luận Văn Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.docLuận Văn  Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.docsividocz
 
Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...
Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...
Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Bao cao ck update final
Bao cao ck update finalBao cao ck update final
Bao cao ck update finalDuy Nguyen
 
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...sividocz
 
Lehoangphi bacaocuoiky
Lehoangphi bacaocuoikyLehoangphi bacaocuoiky
Lehoangphi bacaocuoikyLehoangphi581
 
Nguyenvanha 20102648
Nguyenvanha 20102648Nguyenvanha 20102648
Nguyenvanha 20102648nguyenvanhabk
 
BaoCaoThucTap_NguyenTruongNhatNam
BaoCaoThucTap_NguyenTruongNhatNamBaoCaoThucTap_NguyenTruongNhatNam
BaoCaoThucTap_NguyenTruongNhatNamNguyễn Nam
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapCu Sock
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapCu Sock
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapCu Sock
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapCu Sock
 
K16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srsK16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srstrhiendh
 
Giao trinh mang_doanh_nghiep_0313
Giao trinh mang_doanh_nghiep_0313Giao trinh mang_doanh_nghiep_0313
Giao trinh mang_doanh_nghiep_0313Đinh Luận
 

Similar to Bao cao do an Phát triển hệ thống game server Online (20)

Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.docLuận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình Ứng Dụng Cho Mobile.doc
 
Bao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepBao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiep
 
Xây dựng module định vị vệ tinh độ chính xác cao
Xây dựng module định vị vệ tinh độ chính xác caoXây dựng module định vị vệ tinh độ chính xác cao
Xây dựng module định vị vệ tinh độ chính xác cao
 
dccthp nmcntt
dccthp nmcnttdccthp nmcntt
dccthp nmcntt
 
Luận Văn Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.docLuận Văn  Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Nguyên Lý Hệ Điều Hành.doc
 
Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...
Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...
Đề tài: Chương trình đào tạo trình độ đại học, HAY - Gửi miễn phí qua zalo=> ...
 
Bao cao ck update final
Bao cao ck update finalBao cao ck update final
Bao cao ck update final
 
Bao cao cuoi ky
Bao cao cuoi kyBao cao cuoi ky
Bao cao cuoi ky
 
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đĐề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
 
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
Luận Văn Xây Dựng Chương Trình Quản Lý Bán Lẻ Cho Siêu Thị Mini Huong Mart Ở ...
 
Lehoangphi bacaocuoiky
Lehoangphi bacaocuoikyLehoangphi bacaocuoiky
Lehoangphi bacaocuoiky
 
Nguyenvanha 20102648
Nguyenvanha 20102648Nguyenvanha 20102648
Nguyenvanha 20102648
 
Luận văn: Tìm hiểu kỹ thuật lập trình Network Service, HOT
Luận văn: Tìm hiểu kỹ thuật lập trình Network Service, HOTLuận văn: Tìm hiểu kỹ thuật lập trình Network Service, HOT
Luận văn: Tìm hiểu kỹ thuật lập trình Network Service, HOT
 
BaoCaoThucTap_NguyenTruongNhatNam
BaoCaoThucTap_NguyenTruongNhatNamBaoCaoThucTap_NguyenTruongNhatNam
BaoCaoThucTap_NguyenTruongNhatNam
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tap
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tap
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tap
 
Vo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tapVo minh truong 102991 bao cao thuc tap
Vo minh truong 102991 bao cao thuc tap
 
K16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srsK16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srs
 
Giao trinh mang_doanh_nghiep_0313
Giao trinh mang_doanh_nghiep_0313Giao trinh mang_doanh_nghiep_0313
Giao trinh mang_doanh_nghiep_0313
 

Recently uploaded

TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNguyễn Đăng Quang
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 

Recently uploaded (19)

TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 

Bao cao do an Phát triển hệ thống game server Online

  • 1. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN PHÁT TRIỂN HỆ THỐNG GAME SERVER ONLINE CHO THIẾT BỊ DI ĐỘNG Sinh viên thực hiện : Phạm Ngọc Hoàng Lớp KSTN-CNTT-K52 Giáo viên hướng dẫn: ThS Lê Tấn Hùng HÀ NỘI 6 - 2012
  • 2. PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên: Phạm Ngọc Hoàng Điện thoại liên lạc: 01656110452 Email: hoangpn412@gmail.com Lớp: KSTN-CNTT-K52 Hệ đào tạo: Đại học chính quy Đồ án tốt nghiệp được thực hiện tại: Trung tâm đào tạo tài năng và Chất lượng cao – Đại học Bách Khoa Hà Nội. Thời gian làm ĐATN: Từ ngày 1/3/2012 đến 31/5 /2012 2. Mục đích nội dung của ĐATN Đồ án tốt nghiệp tập trung nghiên cứ và xây dựng hệ thống Game server Online trên mobile. Mục đích của đề tài là xây dựng được một hệ thống hoàn chỉnh, có thể đưa ra thì trường game, cạnh tranh với các game online mobile hiện có. 3. Các nhiệm vụ cụ thể của ĐATN - Nghiên cứu mô hình client Server, giao thức TCP/IP - Nghiên cứu công nghệ Java, J2ME - Nghiên cứu mô hình truyền tin qua SOCKET - Phân tích, thiết kế hệ thống của hệ thống game server online trên mobile. - Xây dựng chương trình và kiểm thử. - Đưa sản phẩm chạy thật trên thực tế. - Tổng kết và đánh giá. 4. Lời cam đoan của sinh viên: Tôi – Phạm Ngọc Hoàng - 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 học ThS Lê Tấn Hùng. 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 tháng 6 năm 2012 Tác giả ĐATN Phạm Ngọc Hoàng 5. 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ảo vệ: Hà Nội, ngày tháng 6 năm 2012 Giáo viên hướng dẫn ThS Lê Tấn Hùng 2 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 3. LỜI CẢM ƠN Để có thể hoàn thành đồ án tốt nghiệp này. Em xin chân thành cảm ơn các thầy cô giáo trong trường đại học Bách Khoa Hà Nội nói chung, khoa công nghệ thông tin nói riêng đã đào tạo cho em những kiến thức bổ ích, những kinh nghiệm quý báu trong suốt thời gian học tập và rèn luyện. Em xin gửi lời cảm ơn tới thầy giáo, ThS Lê Tấn Hùng – Giảng viên bộ môn công nghệ phần mềm, khoa công nghệ thông tin đại học Bách Khoa Hà Nội đã tận tình hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp.Em cũng xin gửi lời cảm ơn chân thành tới các anh chị và các bạn trong công ty cổ phần giải pháp công nghệ thông tin và truyền thông SunNet đã giúp đỡ, hỗ trợ em rất nhiều trong quá trình làm đồ án. Do thời gian có hạn, những kinh nghiệm tích lũy từ thực tế còn chưa nhiều nên trong quá trình làm đồ án vẫn còn gặp nhiều sai sót. Em rất mong nhận được sự đóng góp ý kiến, những hướng dẫn chỉ bảo từ phía các thầy cô giáo. Em xin chân thành cảm ơn ! Hà Nội, tháng 6 năm 2010 Sinh viên: Phạm Ngọc Hoàng 3 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 4. TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Ngày nay, công nghệ thông tin đang ngày một phát triển, đặc biệt là sự phát triển trong lĩnh vực di động. Với sự phát triển không ngừng của các mạng viễn thông, sự phát triển của mạng Internet 3G, GPRS, Wifi, các dòng điện thoại cấu hình cao ngày càng phong phú, đa dạng về tính năng và chủng loại. Đồ án tốt nghiệp của em sẽ tập trung xây dựng một hệ thống game online dành cho điện thoại di động. Nội dung đồ án bao gồm: Phần 1: Đặt vấn đề, định hƣớng và giải pháp: Chương này tập trung đưa ra cái nhìn tổng quát về Game mobile, bao gồm các khái niệm về Game Mobile, sự phát triển, tiềm năng của thị trường game Mobile đặc biệt là thị trường game Mobile Online tại Việt Nam. Phát biểu bài toán xây dựng hệ thống game online trên mobile, đưa ra hướng phát triển sản phẩm, giải pháp giải quyết bài toán. Giới thiệu về các nền tảng phát triển ứng dụng. Phần 2: Phân tích và thiết kế hệ thống: Chương này tập trung khảo sát và phân tích, thiết kế hệ thống game server online. Phần đầu tập trung phân tích các chức năng của hệ thống cần phải có, quy trình hoạt động của các chức năng cụ thể như thế nào. Phần hai đưa ra mô hình kiến trúc hệ thống, thiết kế server, thiết kế cơ sở dữ liệu, thiết kế Client và các module chức năng cụ thể của hệ thống. Phần 3: Các kết quả đạt đƣợc Phần này giới thiệu về môi trường cài đặt hệ thống, kết quả cài đặt thử nghiệm hệ thống, kết quả thực nghiệm khi chạy trên môi trường thực tế. Một số hình ảnh về giao diện phiên bản Client, giao diện Tool report hệ thống. Kết luận Nhìn lại những gì đã làm được trong đồ án tốt nghiệp và những gì còn chưa làm được. Đưa ra những ưu, nhược điểm và phương hướng phát triển đồ án trong tương lai. 4 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 5. ABSTRACT OF THESIS Nowadays the significant development has been achieved in the information technology, especially the mobile area. The emergence and increasing advance of telecommunication networks including 3G, GPRS and Wifi have brought about great change in functionality and diversity of mobile phones and portable devices. My thesis mainly focuses on building an online-game for mobile devices. The thesis is organized as follows: Part 1: Problem statement, orientation and solution: This chapter gives some overview about Mobile Game, including some basic concepts about Game Mobile, its recent development and the potential of Game Online market in Vietnam. It also states some major problems of building Game Online on mobile devices, suggests several development orientation of Game Online product, the solution for the problem and introduces the platform for application development. Part 2: System design and analysis This chapter focuses on designing and analyzing game online server system. The first part of the chapter makes an analysis of required functionalities and specific functions of the system. The second part puts forward an architecture model, server design, database design, client design and specific modules of the system. Part 3: Results This chapter shows the experimental environment, some experiment results in real environment, pictures of Client interfaces and Tool report of the system. Conclusion In this section, I summarize major results of my thesis and analyze its strengths and weaknesses and give some directions for future development. 5 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 6. MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP...............................................2 LỜI CẢM ƠN ............................................................................................................3 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP .....................................................4 ABSTRACT OF THESIS ................................................................................5 MỤC LỤC ..................................................................................................................6 DANH MỤC CÁC BẢNG ........................................................................................8 DANH MỤC HÌNH VẼ ............................................................................................9 DANH MỤC TỪ VIẾT TẮT..................................................................................10 MỞ ĐẦU ..................................................................................................................11 Chƣơng 1: ĐẶT VẤN ĐỀ, ĐỊNH HƢỚNG VÀ GIẢI PHÁP .............................12 1. Tổng quan về Game Mobile: .....................................................................12 1.1. Khái niệm Game Mobile .........................................................................12 1.2. Tiềm năng thị trường Game Mobile .......................................................12 2. Phát biểu bài toán .......................................................................................13 3. Định hướng phát triển đề tài ......................................................................14 4. Giải pháp giải quyết bài toán .....................................................................14 Chƣơng 2: NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG..........................................15 1. Mô hình Client – Server ....................................................................................15 2. Giao thức TCP/IP............................................................................................... 15 2.1. Giao thức điều khiển truyền dữ liệu TCP ...............................................16 2.2. Giao thức UDP ........................................................................................20 3. Mô hình truyền tin SOCKET .............................................................................21 4. Ngôn ngữ lập trình Java ....................................................................................23 5. Công nghệ J2ME .......................................................................................24 Chƣơng 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .......................................27 1. Phân tích hệ thống......................................................................................27 1.1 Biểu đồ phân rã chức năng .......................................................................29 1.1.1 Chức năng người dùng: .........................................................................29 1.1.2. Chức năng report hệ thống ..................................................................39 1.1.3. Chức năng chăm sóc khách hàng ........................................................41 2. Thiết kế hệ thống .......................................................................................42 2.1. Kiến trúc hệ thống.................................................................................42 2.1.1. Kiến trúc tổng quan ...........................................................................42 6 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 7. 2.1.2. Kiến trúc Slave Server:......................................................................44 2.2. Xây dựng biểu đồ lớp ...........................................................................46 2.2.1. Xây dựng biểu đồ lớp cho server ......................................................46 2.2.1.1. Thiết kế gói SlaveServer .............................................................. 47 2.2.1.2. Thiết kế gói DataEngine .............................................................. 48 2.2.1.3. Thiết kế gói FetchData .................................................................49 2.2.1.4. Thiết kế gói Log ...........................................................................50 2.2.2. Xây dựng biểu đồ lớp cho Client ......................................................51 2.3. Thiết kế Database..................................................................................52 2.3.1. Database server user ..........................................................................53 2.3.2. Database server content .....................................................................56 2.4. Thiết kế gói tin ......................................................................................57 Chƣơng 4: KẾT QUẢ ĐẠT ĐƢỢC.......................................................................58 1. Môi trường cài đặt hệ thống.......................................................................58 2. Cài đặt và thử nghiệm hệ thống .................................................................58 3. Kết quả thực nghiệm ..................................................................................62 KẾT LUẬN ..............................................................................................................66 TÀI LIỆU THAM KHẢO ......................................................................................68 7 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 8. DANH MỤC CÁC BẢNG Bảng 1: Bảng liệt kê một vài cổng TCP phổ biến .....................................................17 Bảng 2: Bảng mô tả các lớp trong gói Slave Server. ................................................48 Bảng 3: Bảng mô tả các lớp trong gói DataEngine. ................................................49 Bảng 4: Bảng mô tả các lớp trong gói FetchData. ...................................................50 Bảng 5: Bảng mô tả các lớp trong gói Log. .............................................................. 51 Bảng 6: Bảng mô tả các lớp trong thiết kế Client.....................................................52 Bảng 7: Bảng mô tả các table trong database server user. ......................................56 Bảng 8: Bảng mô tả các table trong Database server content. ................................ 57 8 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 9. DANH MỤC HÌNH VẼ Hình 1: Mô hình Client – server ...............................................................................15 Hình 2: Cổng truy nhập dịch vụ TCP. ......................................................................16 Hình 3: Dạng thức của segment TCP. ......................................................................19 Hình 4: Dạng thức của gói tin UDP. ........................................................................20 Hình 5: Mô hình quan hệ họ giao thức TCP/IP. .......................................................21 Hình 6: Mô hình truyền tin Socket. ...........................................................................21 Hình 7: Biểu đồ Use Case của hệ thống. ..................................................................27 Hình 8: Biểu đồ phân rã chức năng của hệ thống. ...................................................29 Hình 9: Biểu đồ tuần tự mô tả quá trình đăng nhập. ................................................30 Hình 10: Biểu đồ tuần tự mô tả quá trình đăng ký tài khoản miễn phí. ...................31 Hình 11: Biều đồ tuần tự mô tả quá trình đăng ký tài khoản qua tổng đài SMS......32 Hình 12: Biểu đồ tuần tự mô tả quá trình lấy thông tin ngƣời chơi, Top User ........34 Hình 13: Biểu đồ tuần tự mô tả quá trình mua đồ, lấy thông tin hòm đồ. ................35 Hình 14: Biểu đồ tuần tự mô tả quá trình kết bạn. ...................................................36 Hình 15: Biểu đồ mô tả tuần tự mô tả quá trình chơi game. ....................................38 Hình 16: Kiến trúc tổng quan hệ thống. ...................................................................42 Hình 17: Mô hình kiến trúc Slave Server. .................................................................44 Hình 18: Biểu đồ kiến trúc Client. ............................................................................46 Hình 19: Các packet của server ................................................................................46 Hình 20: Biểu đồ class cho gói slave server .............................................................47 Hình 21: Biểu đồ class cho gói DataEngine. ............................................................48 Hình 22: Biểu đồ class gói FetchData. .....................................................................50 Hình 23: Biểu đồ class gói Log. ................................................................................50 Hình 24: Biểu đồ Class thiết kế Client. .....................................................................51 Hình 25: Biểu đồ thiết kế database server user. .......................................................53 Hình 26: Biểu đồ thiết kế database server content. ..................................................56 Hình 27: Giao diện đăng nhập nhập, đăng ký, đổi mật khẩu, chọn server. .............59 Hình 28: Giao diện nhân vật đi lại trong thành phố. ...............................................59 Hình 29: Giao diện bản đồ, chọn khu vực. ............................................................... 60 Hình 30: Giao diện xem thông tin cá nhân, kết bạn. ................................................60 Hình 31: Giao diện hộp thƣ & bạn bè, menu các action sử dụng trong game. ........60 Hình 32: Giao diện chọn phòng chơi, bàn chơi........................................................61 Hình 33: Giao diện phòng chờ..................................................................................61 Hình 34: Giao diện chơi game Ai là triệu phú, đánh bài .........................................62 Hình 35: Giao diện trang Report hệ thống. .............................................................. 62 9 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 10. DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Ý nghĩa 1 HTTP Hypertext Transfer Protocol: Giao thức truyền tải siêu văn bản. 2 TCP Transmission Control Protocol: Giao thức điều khiển truyền vận, là một trong các giao thức cốt lõi của bộ giao thức TCP/IP 3 IP Internet Protocol 4 UDP User Datagram Protocol 5 OOP Object-Oriented Programming: ngôn ngữ lập trình hướng đối tượng 6 JVM Java Vitual Machine: bộ máy ảo Java 7 CPU Central Processing Unit: đơn vị xử lý trung tâm 8 J2SE Java 2 Standard Edition 9 J2EE Java 2 Enterprise Edition 10 J2ME Java 2 Micro Edition 11 CLDC Connected Limited Device Configuration 12 CDC Connected Device Configuration 13 MIDP Mobile Information Device Profile 14 API Application Programming Interface 15 RGB Reg Green Blue (Ảnh RGB) 16 SMS Short Message Service 17 MYSQL MicroSoft SQL Server 10 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 11. MỞ ĐẦU Hiện nay với sự phát triển nhanh chóng của khoa học công nghệ, các thiết bị điện thoại di động ngày càng trở nên phổ biến. Các mạng viễn thông di động đã phủ sóng tới từng ngõ ngách trên mọi miền tổ quốc. Cùng với sự phát triển của mạng 3G, GPRS và sự ra đời của các dòng điện thoại đời cao ngày càng nhiều. Chiếc điện thoại không chỉ được sử dụng với chức năng nghe gọi thông thường mà còn được sử dụng với rất nhiều mục đích giải trí như nghe nhạc, chơi game, … Từ nhu cầu đó, đã có rất nhiều công ty lớn nhỏ đã cho ra đời hàng loạt các Game mobile để cung cấp cho người sử dụng. Tuy vậy, những Game Offline dường như vẫn chưa thể đáp ứng hết nhu cầu của người dùng. Với mong muốn có thể kết nối người dùng bằng chính chiếc điện thoại di động, em đã lựa chọn đề tài tốt nghiệp “Phát triển hệ thống Game Server Online trên Mobile”. Mục tiêu của đề tài là hướng tới xây dựng thành công một hệ thống server game có khả năng đáp ứng tốt nhu cầu chơi game trên thiết bị di động. Điều này đòi hỏi người thực hiện không chỉ tập trung nghiên cứu và xây dựng hệ thống về phía Server mà còn phải có sự hiểu biết sâu rộng về lập trình ứng dụng trên các thiết bị di động. Trong quá trình thực hiện đề tài, em đã tìm hiểu để xây dựng kiến trúc cho hệ thống server game, kiến trúc Client – Server, các giao thức truyền tin giữa Client – Server và các kiến thức để xây dựng phiên bản Client cho game cho thiết bị di động trên nền tảng J2ME. Cho đến thời điểm hiện tại, hệ thống đã được hoàn thành và đã được đưa đến tay người sử dụng và nhận được sự đón nhận khá tích cực từ phía khách hàng. Tuy nhiên, do hệ thống rất lớn nên những kết quả đã đạt được vẫn còn nhiều nhược điểm. Trong thời gian tới hệ thống sẽ vẫn được tiếp tục phát triển để hoàn thiện hơn nữa. 11 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 12. Chƣơng 1: ĐẶT VẤN ĐỀ, ĐỊNH HƢỚNG VÀ GIẢI PHÁP 1. Tổng quan về Game Mobile: 1.1. Khái niệm Game Mobile Game mobile là từ dùng để chỉ những trò chơi giải trí được dùng trên các thiết bị di động, điện thoại thông minh, PDA, máy tính bảng, máy nghe nhạc đa phương tiện (MP4) hoặc máy tính xách tay. Điều này không bao gồm các trò chơi dành riêng cho các dòng máy, hệ thống máy chơi game cầm tay như Nitendo DS hoặc PlayStation Portable. 1.2. Tiềm năng thị trƣờng Game Mobile Theo kết quả nghiên cứu thị trường quý II/2011 của công ty nghiên cứu thị trường Nielsen, game đã trở thành hạng mục được sử dụng phổ biến nhất trong các loại phần mềm ứng dụng cho các thiết bị điện thoại di động. Theo số liệu thống kê: 64% người tham gia khảo sát của Nielsen cho biết họ đã tải ít nhất một game trong 30 ngày gần nhất, vượt qua tỉ lệ tương ứng của các ứng dụng thời tiết (60%) và mạng xã hội (56%). 93% người tải ứng dụng khẳng định họ sẵn sang trả tiền cho game mà họ đang chơi. Thị trường Game Mobile tại Việt Nam Theo ước tính của VTC Mobile, năm 2010, tổng doanh thu trên toàn thị trường game di động của Việt Nam đạt 120 tỷ đồng trên tổng số 110 triệu thuê bao di động. Nếu so với con số khoảng 2000 tỷ đồng mà ngành game PC đạt được trên tổng số chưa đến 10 triệu game thủ thì đây là một con số khá khiêm tốn. Tại sao Game Mobile chưa phát triển tại Việt Nam ??? Phân chia doanh thu thấp: Sự phát triển của toàn ngành nội dung số trên di động đã và đang bị cản trở bởi tỉ lệ phân chia doanh thu mà các nhà mạng áp đặt cho các doanh nghiệp cung cấp dịch vụ nội dung. Game mobile cũng không là ngoại lệ. Với mức tỷ lệ nhận về từ nhà mạng khoảng từ 45-55%, các doanh nghiệp kinh doanh game chỉ biết “đi đàm phán” để có được các game thay vì mạo hiểm đầu tư sản xuất, phát triển các game thuần Việt. Game chùa tràn lan: Game mobile phổ biến tại Việt Nam là các game Java. Quá trình bẻ khóa các game Java là tương đối dễ, do các game Chùa có cùng cách chơi, cùng thể loại nhưng không có bản quyền, được phổ biến rộng rãi trên mạng, đặc biệt các diễn đàn như tinhte.vn, ddth.com, vozforum.com. Điều này một mặt ảnh hưởng trực tiếp đến doanh thu của các doanh nghiệp trong ngành, một mặt còn 12 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 13. hạ thấp uy tín của thị trường Việt Nam trong mắt các nhà cung cấp Game nước ngoài. Sự ra đời của Game online trên mobile là một bƣớc ngoặt Với những quy định quản lý ngày càng chặt chẽ đối với game online trên máy tính, game online trên di điện thoại di động được coi là một hướng đi mới không ít tiềm năng với những nhà kinh doanh game. Để thu hút khách hang, hầu hết các nhà cung cấp đều miễn phí đăng ký cho người chơi. Trong quá trình chơi, người dung thường mua các vật phẩm để nâng cấp vũ khí, sức chiến đấu hoặc tính năng cho nhân vật của mình và phải trả chi phí dịch vụ dữ liệu cho nhà mạng. Hiện nay, các dòng điện thoại cao cấp, smartphone, Iphone đã đang dần dần chiếm được thị phần người dùng di động. Sự ra đời của mạng 3G là điều kiện vô cùng thuận lợi cho sự phát triển của Game Online Mobile.Game Online Mobile ko chỉ chơi được trên một loại dòng máy, nó có khả năng hỗ trợ trên các nền tảng khác nhau: Java, Android, Iphone, thậm chí là HTML5 trên PC. Game online cũng giải quyết được 2 bài toán mà Game offline đang mắc phải, đó là phân chia doanh thu và tình trạng crack game. Với cơ chế quản lý toàn bộ tài khoản người dùng, game play trên server, việc crack game đã gần như được giải quyết hoàn toàn. Cùng sự ra đời của các cổng thanh toán qua thẻ cào như Ngân lượng, VietPay với mức phí trên mỗi thẻ cào chỉ là 10% (so với mức thu 45-55% của nhà mạng qua tin nhắn SMS) thì bài toán phân chia doanh thu đã được giải quyết một cách thỏa đáng. Hiện trên thị trường những game như “Minh Châu tam quốc” do Minh Châu game phát hành, “Báu vật thứ 7” của Phong Phú Sắc Việt, “Chúa Nhẫn” của VTC mobile, “Avatar” của Teamobi đang trở thành những game hot được cộng đồng game thủ săn lùng.Theo ước tính doanh thu của các Game online này lên đến hàng chục tỷ đồng mỗi tháng. 2. Phát biểu bài toán Như vậy, qua phân tích, đánh giá về tiềm năng, những ưu, nhược điểm của thị trường Game Mobile Online tại Việt Nam. Mục tiêu của đồ án tốt nghiệp là xây dựng một Game online trên Mobile hoàn chỉnh. Đặc điểm của đường truyền mạng của mạng di động rất kém và không ổn định, do đó, các game được chọn để đưa vào hệ thống Game online là những Game nhỏ, cách chơi đơn giản, không cần đảm bảo tính thời gian thực. Trong khuôn khổ đồ án của mình, em lựa chọn phát triển Game Online trên nền tảng J2ME. Trong Game là một thành phố ảo mà trong đó cư dân và các bạn trẻ trên khắp mọi miền đất nước cùng online trên chiếc điện thoại di động của mình. Khi tham gia trò chơi, người chơi sẽ được thể hiện mình, bày tỏ tình cảm, nhắn tin, chat 13 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 14. chít, kết bạn,…Ngoài ra game còn có các hoạt động khác như xem bói, chơi xổ số, đánh bài, chơi ai là triệu phú, … 3. Định hƣớng phát triển đề tài Để xây dựng được một hệ thống Game Online, nhiệm vụ đặt ra là xây dựng một hệ thống Server, một hệ thống cơ sở dữ liệu (database) và ít nhất một phiên bản Client cho người dùng sử dụng. Ngoải ra, cần xây dựng một hệ thống thanh toán nạp tiền cho người dùng. Đây là phần không thể thiếu đối với một game trên mobile. Vấn đề đặt ra với hệ thống là làm thế nào để xây dựng được một hệ thống Game Online có khả năng chịu tải lớn, khả năng chịu lỗi cao, tốc độ Game đáp ứng được nhu cầu của người sử dụng. Server có khả năng kết nối được với nhiều loại thiết bị khác nhau trên các nền tảng khác nhau. 4. Giải pháp giải quyết bài toán Để xây dựng được được hệ thống như đã nêu trên, ta cần xây dựng: - Một bản Client trên nền tảng J2ME - Một server cho Game - Mô hình truyền dữ liệu giữa Client và Server - Mô hình server để đáp ứng được các yêu cầu về tốc độ đáp ứng game, khả năng chịu tải, chịu lỗi. - Xây dựng bảng cơ sở dữ liệu cho game - Xây dựng các Tool để quản trị hệ thống Điều quan trọng nhất đối với hệ thống Game online là khả năng chịu tải. Để giải quyết bài toán đó, chúng ta đưa ra mô hình phân chia server thành càng server con để giảm tải cho hệ thống. 14 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 15. Chƣơng 2: NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG 1. Mô hình Client – Server Các ứng dụng mạng thường hoạt động theo mô hình client/server như thư điện tử, truyền nhận tập tin, game trên mạng, … Mô hình này gồm có một chương trình đóng vai trò là client và một chương trình đóng vai trò là server. Hai chương trình này sẽ giao tiếp với nhau thông qua mạng. Chương trình server đóng vai trò cung cấp dịch vụ. Chương trình này luôn luôn lắng nghe các yêu cầu từ phía Client, rồi tính toán và đáp trả kết quả tương ứng. Chương trình client cần một dịch vụ và gửi yêu cầu dịch vụ tới chương trình server và đợi đáp trả từ server. Như vậy, quá trình trao đổi dữ liệu giữa client/server bao gồm: - Truyền một yêu cầu từ chương trình client tới chương trình server - Yêu cầu được server xử lý - Truyền đáp ứng cho client HÌNH 1 : MÔ HÌNH CLIENT – SERVER Mô hình truyền tin này thực hiện truyền hai thông điệp qua lại giữa client và server một cách đồng bộ hóa. Chương trình server nhận được thông điệp từ client thì nó phát ra yêu cầu client chuyển sang trạng thái chờ (tạm dừng) cho tới khi client nhận được thông điệp đáp ứng do server gửi về. Mô hình client/server thường được cài đặt dựa trên các thao tác cơ bản là gửi (send) và nhận (receive). 2. Giao thức TCP/IP Giao thức TCP/IP được phát triển từ mạng ARPANET và Internet và được dùng như giao thức mạng và vận chuyển trên mạng Internet. TCP (Transmission 15 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 16. Control Protocol) là giao thức thuộc tầng vận chuyển và IP (Internet Protocol) là giao thức thuộc tầng mạng của mô hình OSI. Họ giao thức TCP/IP hiện nay là giao thức được sử dụng rộng rãi nhất để liên kết các máy tính và mạng. Hiện nay các máy tính của hầu hết các mạng có thể sử dụng giao thức TCP/IP để liên kết với nhau thông qua nhiều hệ thống mạng với kỹ thuật khác nhau. Giao thức TCP/IP thực chất là một họ giao thức cho phép các hệ thống mạng cùng làm việc với nhau thông qua việc cung cấp phương tiện truyền thông liên mạng. 2.1. Giao thức điều khiển truyền dữ liệu TCP TCP là một giao thức “có liên kết” (connection - oriented), nghĩa là cần phải thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau. Một tiến trình ứng dụng trong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng (port) của TCP. Số hiệu cổng TCP được thể hiện bởi 2 bytes. HÌNH 2: CỔNG TRUY NHẬP DỊCH VỤ TCP. Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duy nhất trong liên mạng. Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp đầu nối TCP/IP. Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau. Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng. Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi (function calls) trong đó có các hàm yêu cầu để yêu cầu, để trả lời. Trong mỗi hàm còn có các tham số dành cho việc trao đổi dữ liệu Các bước thực hiện để thiết lập một liên kết TCP/IP. Thiết lập một liên kết mới có thể được mở theo một trong 2 phương thức: chủ động (active) hoặc bị động (passive). 16 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 17. Phương thức bị động: người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên kết gửi đến từ xa thông qua một đầu nối TCP/IP (tại chỗ). Người sử dụng dùng hàm passive Open có khai báo cổng TCP và các thông số khác (mức ưu tiên, mức an toàn). Phương thức chủ động: người sử dụng yêu cầu TCP mở một liên kết với một đầu nối TCP/IP ở xa. Liên kết sẽ được xác lập nếu có một hàm Passive Open tương ứng đã được thực hiện tại đầu nối TCP/IP ở xa đó. Số hiệu cổng Mô tả 0 Reserved 5 Remote job entry 7 Echo 9 Discard 11 Systat 13 Daytime 15 Nestat 17 Quotd (quote odd day) 20 ftp-data 21 ftp (control) 23 Telnet 25 SMTP 37 Time 53 Name Server 102 ISO - TSAP 103 X.400 104 X.400 Sending 111 Sun RPC 139 Net BIOS Session source 160-223 Reserved BẢNG 1: BẢNG LIỆT KÊ MỘT VÀI CỔNG TCP PHỔ BIẾN Khi người sử dụng gửi đi một yêu cầu mở liên kết sẽ được nhận hai thông số trả lời từ TCP. Thông số Open ID được TCP trả lời ngay lập tức để gán cho một liên kết cục bộ (local connection name) cho liên kết được yêu cầu. Thông số này về sau được 17 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 18. dùng để tham chiếu tới liên kết đó. (Trong trường hợp nếu TCP không thể thiết lập được liên kết yêu cầu thì nó phải gửi tham số Open Failure để thông báo). Khi TCP thiết lập được liên kết yêu cầu nó gửi tham số Open Success được dùng để thông báo liên kết đã được thiết lập thành công. Thông báo này được chuyển đến trong cả hai trường hợp bị động và chủ động. Sau khi một liên kết được mở, việc truyền dữ liệu trên liên kết đó có thể được thực hiện. Các bước thực hiện khi truyền và nhận dữ liệu: Sau khi xác lập được liên kết người sử dụng gửi và nhận dữ liệu. Việc gửi và nhận dữ liệu thông qua các hàm send và receive. Hàm Send: Dữ liệu được gửi xuống TCP theo các khối (block). Khi nhận được một khối dữ liệu, TCP sẽ lưu trữ trong bộ đệm (buffer). Nếu cờ PUSH được dựng thì toàn bộ dữ liệu trong bộ đệm được gửi, kể cả khối dữ liệu mới đến sẽ được gửi đi. Ngược lại cờ PUSH không được dựng thì dữ liệu được dữ lại trong bộ đệm và sẽ gửi đi khi có cơ hội thích hợp (chẳng hạn chờ thêm dữ liệu nữa để gửi đi với hiệu quả hơn) Hàm receive: ở trạm đích dữ liệu sẽ được TCP lưu trong bộ đệm gắn với mỗi liên kết. Nếu dữ liệu được đánh dấu với một cờ PUSH thì toàn bộ dữ liệu trong bộ đệm (kể cả các dữ liệu được lưu từ trước) sẽ được chuyển lên cho người sử dụng. Còn nếu dữ liệu đến không được đánh dấu với cờ PUSH thì TCP chờ tới khi thích hợp mới chuyển dữ liệu với mục đích tăng hiệu quả hệ thống. Nói chung việc nhận và giao dữ liệu cho người sử dụng đích của TCP phụ thuộc vào việc cài đặt cụ thể. Trường hợp cần chuyển gấp dữ liệu cho người sử dụng đích của TCP phụ thuộc vào việc cài đặt cụ thể. Trường hợp cần chuyển gấp dữ liệu cho người sử dụng thì có thể dùng cờ URGENT và đánh dấu dữ liệu bằng bit URG để báo cho người sử dụng cần phải xử lý khẩn cấp dữ liệu đó. Các bước thực hiện khi đóng một liên kết: Việc đóng một liên kết khi không cần thiết được thực hiện theo một trong hai cách: dùng hàm Close hoặc dùng hàm Abort. Hàm Close: yêu cầu đóng liên kết một cách bình thường. Có nghĩa là việc truyền dữ liệu trên liên kết đó đã hoàn tất. Khi nhận được một hàm Close TCP sẽ truyền đi tất cả dữ liệu còn trong bộ đệm thông báo rằng nó đóng liên kết. Lưu ý rằng khi một người sử dụng đã gửi đi một hàm Close thì nó vẫn phải tiếp tục nhận dữ liệu đến trên liên kết đó cho đến khi TCP đã báo cho phía bên kia biết về việc đóng liên kết và chuyển giao hết tất cả dữ liệu cho người sử dụng của mình. Hàm Abort: Người sử dụng có thể đóng một liên kết bất thường và sẽ không chấp nhận dữ liệu qua liên kết đó nữa. Do vậy dữ liệu có thể bị mất đi khi đang được truyền đi. TCP báo cho TCP ở xa biết rằng liên kết đã được hủy bỏ và TCP ở xa sẽ thông báo cho người sử dụng của mình. Một số hàm khác của TCP: 18 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 19. Hàm Status: cho phép người sử dụng yêu cầu cho biết trạng thái của một liên kết cụ thể, khi đó TCP cung cấp thông tin cho người sử dụng. Hàm Error: thông báo cho người sử dụng TCP về các yêu cầu dịch vụ bất hợp lệ liên quan đến một liên kết có tên cho trước hoặc về các lỗi liên quan đến môi trường. Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có các tham số với ý nghĩa như sau: HÌNH 3: DẠNG THỨC CỦA SEGMENT TCP. Source Port (16 bits): số hiệu cổng TCP của trạm nguồn Destination Port (16 bit): số hiệu cổng TCP của trạm đích Sequence Number (32 bit): số hiệu của byte đầu tiên của segment trừ khi SYN được được thiết lập. Nếu bit SYN được thiết lập thì Sequence Number là số hiệu tuần tự khởi đầu (ISN) và byte dữ liệu đầu tiên là ISN + 1. Acknowledgment Number (32 bit): số hiệu của segment tiếp theo mà trạm nguồn đang chờ để nhận. Ngầm ý báo nhận tốt (các) segment mà trạm đích đã gửi cho trạm nguồn. Data offset (4 bit): số lượng bội của 32 bit (32 bit words) trong TCP header (tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu). Reserved (6 bit): dành để dùng trong tương lai. Control bit (các bit điều khiển): URG: Vùng con trỏ khẩn (Ucgent Poiter) có hiệu lực. ACK: Vùng báo nhận (ACK number) có hiệu lực. PSH: chức năng PUSH RST: Khởi động lại (reset) liên kết. SYN: Đồng bộ hóa số hiệu tuần tự (sequence number). FIN: Không còn dữ liệu từ trạm nguồn. 19 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 20. Window (16 bit): cấp phát credit để kiểm soát nguồn dữ liệu (cơ chế cửa sổ). Đây chính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACK number, mà trạm nguồn đã sẵn sàng để nhận. Checksum (16 bit): mã kiểm soát lỗi cho toàn bộ segment (header + data) Urgemt Poiter (16 bit): con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau dữ liệu khẩn. Vùng này chỉ có hiệu lực khi bit URG được thiết lập. Options (độ dài thay đổi): khai báo các option của TCP, trong đó có độ dài tối đa của vùng TCP data trong một segment. Paddinh (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần header luôn kết thúc ở một mốc 32 bit. Phần thêm này gồm toàn số 0. TCP data (độ dài thay đổi): chứa dữ liệu của tầng trên, có độ dài tối đa ngầm định là 536 byte. Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng options. 2.2. Giao thức UDP UDP (User Datagram Protocol) là giao thức theo phương thức không liên kết được sử dụng thay thế cho TCP ở trên IP theo yêu cầu của từng ứng dụng. Khác với TCP, UDP không có các chức năng thiết lập và kết thúc liên kết. Tương tự như IP, nó cũng không cung cấp cơ chế báo nhận (ackowledgment), không sắp xếp tuần tự các gói tin (datagram) đến và có thể dẫn đến tình trạng mất hoặc trùng dữ liệu mà không có cơ chế thông báo lỗi cho người gửi. Qua đó ta thấy UDP cung cấp các dịch vụ vận chuyển không tin cậy như trong TCP. Khuôn dạng UDP datagram được mô tả với các vùng tham số đơn giản hơn nhiều so với TCP segment. HÌNH 4: DẠNG THỨC CỦA GÓI TIN UDP. UDP cũng cung cấp cơ chế gán và quản lý các số hiệu cổng (port number) để định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng. Do ít chức năng phức tạp nên UDP thường có xu thế hoạt động nhanh hơn so với TCP. Nó thường được dùng cho các ứng dụng không đòi hỏi đ ộ tin cậy cao trong giao vận. 20 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 21. HÌNH 5: MÔ HÌNH QUAN HỆ HỌ GIAO THỨC TCP/IP. 3. Mô hình truyền tin SOCKET Chương trình client và server sử dụng giao thức vận chuyển để gởi và nhận dữ liệu. Một vídụ là giao thức TCP/IP được sử dụng để giao tiếp qua mạng Internet. HÌNH 6: MÔ HÌNH TRUYỀN TIN SOCKET. 21 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 22. TCP và UDP là các giao thức tầng giao vận để truyền dữ liệu. Mỗi giao thức có những ưu và nhược điểm riêng. Chẳng hạn, giao thức TCP có độ tin cậy truyền tin cao, nhưng tốc độ truyền tin bị hạn chế do phải có giai đoạn thiết lập và giải phóng liên kết khi truyền tin, khi gói tin có lỗi hay bị thất lạc thì giao thức TCP phải có trách nhiệm truyền lại, … Ngược lại, giao thức UDP có tốc độ truyền tin rất nhanh vì nó chỉ có một cơ chế truyền tin rất đơn giản: không cần phải thiết lập và giải phóng liên kết. Dữ liệu được truyền trên mạng Internet dưới dạng các gói (packet) có kích thước hữu hạn được gọi là datagram. Mỗi datagram chứa một header và một payload. Header chứa địa chỉ và cổng cần truyền gói tin đến, cũng như địa chỉ và cổng xuất phát của gói tin, và các thông tin khác được sử dụng để đảm bảo độ tin cậy truyền tin, payload chứa dữ liệu. Tuy nhiên do các datagram có chiều dài hữu hạn nên thường phải phân chia dữ liệu thành nhiều gói và khôi phục lại dữ liệu ban đầu từ các gói ở nơi nhận. Trong quá trình truyền gói tin có thể có một hay nhiều gói bị mất hay bị hỏng và cần phải truyền lại hoặc các gói tin đến không theo đúng trình tự. Để tránh những điều này, việc phân chia dữ liệu thành các gói, tạo các header, phân tích header của các gói đến, quản lý danh sách các gói đã nhận được và các gói chưa nhận được, … rất nhiều công việc cần phải thực hiện, và đòi hỏi rất nhiều phần mềm phức tạp. Để giải quyết bài toán này, đại học UC Berkeley đưa ra khái niệm Socket. Chúng cho phép người lập trình xem một liên kết mạng như là một luồng mà có thể đọc dữ liệu ra hay ghi dữ liệu vào từ luồng này. Các Socket che dấu người lập trình khỏi các chi tiết mức thấp của mạng như kiểu đường truyền, các kích thước gói, yêu cầu truyền lại gói, các địa chỉ mạng, … Một socket có thể thực hiện 7 thao tác cơ bản: - Kết nối với một máy ở xa (ví dụ: chuẩn bị để gửi và nhận dữ liệu) - Gửi dữ liệu - Nhận dữ liệu - Ngắt liên kết - Gán cổng - Nghe dữ liệu đến - Chấp nhận liên kết từ các máy ở xa trên cổng đã được gán Có nhiều kiểu Socket khác nhau tương ứng với mỗi kiểu giao thức được sử dụng để giao tiếp giữa hai máy trên mạng Internet. Đối với chồng giao thức TCP/IP, có hai kiểu Socket chính được sử dụng là stream socket và datagram socket. Stream Socket sử dụng giao thức TCP để cung cấp dịch vụ gửi dữ liệu tin cậy. Datagram Socket sử dụng giao thức UDP để cung cấp dịch vụ gởi gói tin đơn giản. Ngôn ngữ lập trình Java hỗ trợ lớp Socket và ServerSocket cho kiểu stream socket và lớp DatagramPacket và DatagramSocket cho kiểu datagram socket. 22 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 23. Đối với kiểu stream socket, lớp Socket được sử dụng bởi cả client và server. Lớp Socket này có các phương thức tương ứng với bốn hao tác đầu tiên của thao tác cơ bản của socket trình bày ở trên. Ba thao tác cuối được hỗ trợ bởi server để chờ các client liên kết tới. Các thao tác này được cài đặt bởi lớp ServerSocket. 4. Ngôn ngữ lập trình Java Khái niệm Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy. Bằng cách này, Java thường chạy nhanh hơn những ngôn ngữ lập trình thông dịch khác như Python, Perl, PHP,… Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn. Một số đặc điểm nổi bật của ngôn ngữ lập trình Java: - Máy ảo Java (JVM – Java Vitual Machine): Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã máy. Mã máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máy của CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậy trước đây một chương trình sau khi được biên dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể nào đó. Đối với CPU Intel chúng ta có thể chạy các hệ điều hành như Microsoft Windows, Unix,Linux, OS/2, … - Chương trình thực thi được trên Windows được biên dịch dưới dạng file có đuôi .EXE còn trên Linux thì được biên dịch dưới dạng file có đuôi .ELF, vì vậy trước đây một chương trình chạy được trên Windows muốn chạy được trên hệ điều hành khác như Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại. - Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên đã được khắc phục. Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ra mã của máy ảo java (mã java bytecode). Sau đó máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng. Sun Microsystem chịu trách nhiệm phát triển các máy ảo Java chạy trên các hệ điều hành trên các kiến trúc CPU khác nhau. Thông dịch Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch. Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy. 23 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 24. Độc lập nền Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính có hệ điều hành khác nhau (Windows, Unix,Linux, …) miễn sao ở đó có cài đặt máy ảo java (Java Virtual Machine). Viết một lần chạy mọi nơi (write once run anywhere). Hƣớng đối tƣợng Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữ lập trình hướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Vấn đề này sẽ được bàn chi tiết trong phần sau. Đa nhiệm – Đa luồng (Multitasking - Multithreading) Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và tương tác với nhau. Khả chuyển (Portable) Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java. “Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere). Hỗ trợ mạnh cho việc phát triển ứng dụng Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Edition) hỗ trợ phát triển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 Enterprise Edition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Edition) hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, … 5. Công nghệ J2ME Java là công nghệ mã nguồn mở và do Sun Microsystem hỗ trợ và phát triễn. J2ME (Java 2 Platform, Micro Edition) được xem là 1 trong 3 công nghệ hiện nay của Java và nó phát triển ứng dụng nhắm vào các thiết bị di động. Chuẩn của J2ME gồm 2 loại: 24 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 25. CLDC ( Connected Limited Device Configuration): có khả năng truyền thông trên mạng một cách rời rạc như: điện thoại di động (Mobile phones), máy nhắn tin hai chiều (two-way pagers), máy trợ lý cá nhân dùng kỹ thuật số (personal digital asisstants-PDAs). Loại này dùng cho một mục đích đặc biệt, thường giới hạn về chức năng. CDC ( Connected Device Configuration): được kết nối cố định và liên tục như set-top boxes, Internet TVs, Internet – enabled screen phones, high – end communicators, hệ thống điều hướng xe hơi. Loại này hỗ trợ về giao diện người dùng. J2ME được thiết kế để chạy trên các điện thoại di động có cấu hình tối thiểu như sau: - Bộ nhớ tổng cộng: 128-512 KB. - Bộ xử lý: 16 đến 32 bit. - Tốc độ xử lý: 8-32 MHz. Năng lượng: giới hạn, hoạt động bằng pin. Băng thông: giới hạn, khoảng 9600 bps. MIDP (Mobile Information Device Profile): bổ sung các tính năng như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng … vào CLDC. Profile này được thiết kế chủ yếu để nhắm vào điện thoại di động với đặc tính là màn hình hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện người dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các máy di động. Những chức năng MIDP cung cấp: Các lớp và kiểu dữ liệu: phần lớn các lớp mà các lập trình viên Java quen thuộc vẫn còn được giữ lại ví dụ như các lớp trong gói java.util như Stack, Vector và Hastable cũng như Enumeration. Hỗ trợ đối tượng Display: đúng như tên gọi một chương trình MIDP sẽ hỗ trợ duy nhất một đối tượng Display là đối tượng quản lý việc hiển thị dữ liệu trên màn hình điện thoại. Hỗ trợ Form và các giao diện người dùng. Hỗ trợ Timer và Alert. Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ dữ liệu. Những chức năng MIDP không thể làm được: - Phép tính dấu chấm động (floating point): phép tính này đòi hỏi rất nhiều tài nguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép tính này, do đó MIDP cũng không có. - Bộ nạp class (Class Loader). 25 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 26. - Hỗ trợ từ khóa finalize( ) như trong J2SE: việc “dọn dẹp“ tài nguyên trước khi nó bị xóa do lập trình viên thực hiện. - Không hỗ trợ JNI (Java Native Interface). - Hỗ trợ hạn chế thao tác bắt lỗi. - Phần lớn các thư viện API cho Swing và AWT không thể sử dụng được trong MIDP. - Không hỗ trợ các tính năng quản lý tập tin và thư mục, trong thực tế là các thiết bị J2ME không có hỗ trợ các thiết bị lưu trữ thông thường như ổ cứng…. Tuy nhiên, điều đó không có nghĩa là phải mất đi mọi dữ liệu quan trọng mỗi khi tắt máy, Sun đã cung cấp một chức năng khác tương đương gọi là Record Management System (RMS) để cung cấp khả năng lưu trữ cho các thiết bị này. MIDP 2.0 có một số các cải tiến nổi bật so với MIDP 1.0: Nâng cấp các tính năng bảo mật như: Download qua mạng an toàn hơn thông qua việc hỗ trợ giao thức HTTPS, kiểm soát việc kết nối giữa máy di động và server, ví dụ các chương trình không thể kết nối tới server nếu không có sự chấp nhận của người dùng. Thêm các API hỗ trợ Multimedia. Một trong những cải tiến nổi bật nhất của MIDP 2.0 là tập các API media của nó. Các API này là một tập con chỉ hỗ trợ âm thanh của Mobile Media API (MMAPI). Mở rộng các tính năng của Form. Nhiều cải tiến đã được đưa vào API javax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài API cho game) là trong Form và Item. Hỗ trợ các lập trình viên game bằng cách tung ra Game API. Được hưởng lợi nhất từ Game API trong MIDP 2.0 không chỉ là các lập trình viên game mà còn các lập trình viên cần sử dụng các tính năng đồ họa cao cấp. Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà phát triển MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên, cho phép MIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp. 26 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 27. Chƣơng 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 1. Phân tích hệ thống 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í 27 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 28. 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. 28 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 29. 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 29 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 30. - 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, 30 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 31. 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 31 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 32. 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). 32 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 33. 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 33 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 34. 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 đồ. Quá trình mua đồ, lấy thông tin hòm đồ được thực hiện như sau: 34 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 35. 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. 35 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 36. 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 đó. 36 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 37. 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ẻ. 37 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 38. 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 bản cũ, hoặc tải phiên bản mới về sử dụng. Tuy nhiên cũng có trường hợp người dùng phải bắt buộc tải phiên bản mới thì mới có thể sử dụng được. Việc này do người quản trị Game điều chỉnh trên server. Chức năng nạp tiền Để sử dụng được các chức năng trong Game, người chơi phải gold hoặc xu. Đây là loại tiền ảo trong game, nó chỉ có tác dụng trong game mà không được quy đổi ngược lại thành tiền thật. Có hai hình thức nạp tiền: Nạp tiền qua tin nhắn SMS: chức năng này khá tiện dụng cho người dùng, bởi chỉ cần thực hiện thao tác nhắn tin SMS trong Game là người dùng có thể nạp tiền một cách dễ dàng. Để có chức năng này, yêu cầu hệ thống phải có một đầu số tổng đài, một hệ thống xử lý tin nhắn trên tổng đài. Khi nhận được tin nhắn SMS từ khách hàng, dựa vào mã tin nhắn, tổng đài sẽ gửi về server của game nội dung tin nhắn, server xử lý và trả về cho người dùng. 38 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 39. Nạp tiền bằng mã số thẻ cào (Viettel, Mobi, VinaPhone): Sẽ có nhiều người thắc mắc tại sao chức năng nạp tiền qua tin nhắn SMS tiện dụng như vậy mà lại phải có thêm chức năng nạp tiền qua thẻ cào??? Trên thực tế, chức năng này khá bất tiện bởi muốn nạp tiền người dùng phải mua thẻ cào, sau đó điền mã thẻ để nạp tiền. Tuy nhiên, hệ thống game vẫn có chức năng này là do hai nguyên nhân: + Thứ nhất: Việc thu tiền qua tin nhắn SMS sẽ bị hao hụt rất lớn, thông thường mỗi tin nhắn SMS nhà sản xuất sẽ phải trả 45-55% tiền phí cho nhà mạng (với 1 tin nhắn 5000đ thì phải trả cho nhà mạng khoảng 2750đ). Bù lại, với mỗi lần người dùng nạp tiền bằng thẻ cào, nhà sản xuất game chỉ phải trả cho nhà cung cấp dịch vụ thẻ cào 10% giá trị của thẻ cào đó. + Thứ hai: không phải người dùng nào cũng sử dụng điện thoại để chơi game. Họ có thể chơi bằng giả lập trên PC, hay chơi trên các thiết bị khác hỗ trợ game nhưng không hỗ trợ việc nhắn tin SMS. Hoặc sau này khi phát triển game trên nền Web thì việc nạp tiền qua thẻ cào cũng rất tiện lợi. 1.1.2. Chức năng report hệ thống Thống kê danh sách người dùng đăng ký trong ngày Chức năng này dùng để liệt kê danh sách những tài khoản đã đăng ký nick trong ngày hiện tại. Ngoài ra, người quản trị còn có thể lựa chọn xem danh sách người dùng đã đăng ký nick của những ngày trước đó. Các thông tin thống kê trong danh sách người dùng bao gồm: username, giới tính, số điện thoại, số tiền, cấp độ, điểm kinh nghiệm, thắng, thua, đối tác, ngày đăng ký tài khoản, trạng thái Online, slave server hiện tại đang kết nối đến, thời điểm đăng nhập lần cuối cùng, version hiện tại đang sử dụng. Ở mục này có thêm chức năng search tài khoản người dùng theo username. Chức năng này giúp người quản trị hệ thống dễ dàng quản lý được người sử dụng, đặc biệt là khi có khiếu nại hay vấn đề gì đó không bình thường từ phía người sử dụng. Thống kê danh sách người dùng đang online Chức năng này giúp người quản trị biết được tại thời điểm hiện tại có bao nhiêu người đang online và danh sách những tài khoản đang online. Thống kê danh sách giao dịch trong ngày Mục này sẽ liệt kê danh sách người dùng đã nạp tiền ở ngày hiện tại. Người quản trị cũng có thể xem giao dịch của những ngày trước đó. Thông tin thống kê danh sách giao dịch bao gồm: - Số lượng giao dịch trong ngày 39 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 40. - Danh sách các tài khoản thực hiện giao dịch: tên tài khoản, hình thức thành toán (tin nhắn SMS, thẻ cào VINA, thẻ cào MOBI, thẻ cào VIETTEL), đối tác, số tiền giao dịch, thời gian thực hiện giao dịch. Thống kê log người dùng chơi game Chức năng này đặc biệt quan trọng, bởi nó giúp cho người quản trị hệ thống có thể theo dõi được tình hình người chơi đang sử dụng dịch vụ như thế nào. Ở mục này, hệ thống sẽ liệt kê tất cả những dữ liệu liên quan đến việc thay đổi số tiền của người dùng trong game. Bao gồm: tiền thay đổi khi người chơi sử dụng dịch vụ trong game, tiền thay đổi khi người chơi đánh bài, chơi ai là triệu phú hay mua đồ, … Bảng thống kê này sẽ giúp cho người quản trị theo dõi được những tài khoản nào có biểu hiện gian lận để xử lý kịp thời. Đồng thời cũng là kênh đối soát đối với những trường hợp khiếu nại của khách hàng. Nhược điểm: khi số lượng người chơi nhiều, số lượng log sẽ rất lớn dẫn đến gây nặng hệ server. Chính việc ghi log sẽ làm lag mạng, gây khó chịu cho người chơi. Do đó phải tìm ra phương án ghi log một cách hiệu quả, chỉ chọn lọc những thông tin cần thiết để ghi lại. Thống kê Top User Mục này sẽ thống kê top người dùng theo thứ tự giảm dần từ trên xuống dựa theo tiền và điểm kinh nghiệm. Cụ thể có các loại Top cần thống kê bao gồm: Top đại gia, Top cao thủ, top ba cây, top phỏm, top tiến lên. Ở ứng dụng ở phía client, người dùng chỉ xem được Top này với số lượng thống kê là 10 người. Còn ở bảng thống kê này, người quản trị có thể có thể theo dõi danh sách thống kê bao gồm tất cả người dùng của hệ thống được sắp xếp theo thứ tự giảm dần. Từ bảng thống kê này người quản trị có thể biết được hiện tại tình hình có bao nhiêu tài khoản đang có bao nhiêu tiền. Ví dụ có bao nhiêu tài khoản có số tiền trên 1 triệu, trên 500 nghìn, …. Từ đó có thể đưa ra các chương trình khuyến mãi nạp tiền cho hợp lý. Thống kê lượng truy cập theo từng ngày Chức năng này sẽ thống kê lượng người dùng truy cập vào hệ thống trong một ngày. Số lượng truy cập được tính bằng số lần người chơi đăng nhập vào hệ thống. Thống kê danh sách người dùng mua đồ theo ngày Chức năng này ghi lại danh sách người chơi thực hiện giao dịch mua đồ trong ngày. Bao gồm: tên tài khoản, vật phẩm chọn mua, mã hàng và thời điểm mua đồ. Vật phẩm ở đây là quần áo, hoặc tóc. Mã hàng là loại quần áo hoặc đầu tóc mà người dùng đã mua. 40 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 41. 1.1.3. Chức năng chăm sóc khách hàng Chức năng thống kê ý kiến phản hồi Mục này sẽ liệt kê những ý kiến mà khách hàng phản hồi về chất lượng dịch vụ, tình trạng hệ thống hay những đóng góp, góp ý để hệ thống tốt hơn. Danh sách thống kê bao gồm: tên tài khoản, nội dung phản hồi và thời gian phản hồi. Từ các phản hồi này, bộ phận chăm sóc khách hàng có thể giải đáp thắc mắc với người dùng bằng chức năng gửi tin nhắn trực tiếp từ hệ thống hoặc thông qua việc gọi điện cho khách hàng. Những trường hợp phức tạp, bộ phận chăm sóc khách hàng sẽ tổng hợp lại phản hồi của khách hàng và gửi cho người quản lý hệ thống để xử lý. Chức năng thống kê giao dịch trong ngày Thông thường những ý kiến khiếu nại của khách hàng liên quan đến hệ thống tiền ảo trong game. Để đối soát với những phản hồi của khách hàng trong trường hợp khách hàng đã nạp tiền nhưng không được cộng vào tài khoản. Bộ phận chăm sóc khách hàng có thể kiểm tra xem trong thống kê giáo dịch đã có giao dịch của khách hàng đó chưa và cộng lại tiền cho khách hàng. Chức năng gửi tin nhắn đến khách hàng Chức năng này có tác dụng để giải đáp những thắc mắc cho khách hàng một cách nhanh chóng nhất. Sau khi gửi tin nhắn, người sử dụng sẽ nhận được tin nhắn khi đăng nhập vào Game. Chức năng cập nhật gold vào tài khoản cho khách hàng Chức năng này giúp người quản lý có thể cập nhật lại số tiền cho khách hàng khi có sai phạm trong quá trình nạp tiền hay lỗi game dẫn đến việc khách hàng bị mất tiền. 41 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 42. 2. Thiết kế hệ thống 2.1. Kiến trúc hệ thống 2.1.1. Kiến trúc tổng quan Để giảm tải cho server khi có nhiều người sử dụng cùng kết nối vào hệ thống, ta đưa ra mô hình server phân tán. Hệ thống server sẽ được chia nhỏ thành các Slave Server. Và tất nhiên các Slave Server này sẽ dùng chung cơ sở dữ liệu của hệ thống và các dịch vụ thanh toán nạp tiền. Với cách phân chia thành các Slave Server, hệ thống vẫn đảm bảo đáp ứng được nhu cầu của người chơi game và giảm được gánh nặng cho hệ thống. HÌNH16: KIẾN TRÚC TỔNG QUAN HỆ THỐNG. Info Slave Server - Là file lưu trữ thông tin về các slave server - Bao gồm: địa chỉ IP và Port của mỗi slave server. Là nơi mà client sẽ gọi đến đầu tiên để lấy danh sách các slave server. Sau khi lấy được danh sách các slave server, client sẽ lựa chọn 1 slave server để kết nối đến Database Server User - Là hệ thống quản lý tài khoản tập trung 42 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT
  • 43. - Lưu trữ toàn bộ thông tin tài khoản người dùng - Cung cấp các giao diện webservice, URL cho các ứng dụng khác truy cập lấy thông tin - Có cơ chế backup dự phòng, đảm bảo cung cấp dịch vụ 24/7 trong mọi tình huống - Thành phần bao gồm: Webserver, Database Server. Database Server Content - Là hệ thống quản lý nội dung tập trung - Lưu trữ các nội dung, media phục vụ cho hoạt động kinh doanh trên toàn hệ thống - Cung cấp các giao diện Webservice, URL cho các ứng dụng khác truy cập lấy thông tin - Có cơ chế backup dự phòng, đảm bảo cung cấp dịch vụ 24/7 trong mọi tình huống - Thành phần bao gồm: webserver, Database Server Yocity Slave Server - Đóng vai trò một game Server - Phục vụ yêu cầu kết nối từ Yocity client. - Duy trì và điều phối Game Play của người chơi - Truyền tải nội dung cho Client, kiểm soát thông tin tài khoản người dùng thông qua Database Server User và Database Server Content SMS Server - Tiếp nhận tin nhắn SMS từ phía Client và trả lại tin nhắn phản hồi cho client. - Xử lý tin nhắn từ phía Client, truyền tải nội dung đến slave server thông qua hệ thống webservice. - Lưu lại thông tin SMS từ phía người dùng vào database. Web service SMS - Là hệ thống trung gian để truyền tải nội dung từ SMS server đến slave server tương ứng. - Có cơ chế lưu trữ thông tin vào database. - Đảm bảo cung cấp dịch vụ 24/7 - Có thể phục vụ cho nhiều hệ thống khác nhau. Web service Vietpay - Có vai trò trong việc đối soát mã số thẻ cào với nhà mạng Vietpay. 43 Sinh viên thực hiện: Phạm Ngọc Hoàng – SHSV: 20071254 – Khóa 52 – Lớp : KSTN - CNTT