1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO

56 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Game Caro
Tác giả Nguyễn Minh Diện, Nguyễn Bảo Tín, Đặng Ngọc Thư, Đinh Đức Anh
Người hướng dẫn TS. Hoàng Hữu Đức
Trường học Trường Đại Học CNTT Và TT Việt – Hàn
Chuyên ngành Khoa Học Máy Tính
Thể loại Báo cáo Lập Trình Mạng
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 56
Dung lượng 2,75 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ứngdụng sẽ giúp người dùng dễ dàng truy cập, kết nói với máy khác và thực kiện chơi game.Ứng dụng phát triên với một số chức năng cơ bản như tạo phòng thường, tạo phòng cómật khẩu, phần

Trang 1

TRƯỜNG ĐẠI HỌC CNTT VÀ TT VIỆT – HÀN

KHOA KHOA HỌC MÁY TÍNH

BÁO CÁO LẬP TRÌNH MẠNG

ĐỀ TÀI: XÂY DỰNG GAME CARO

Sinh viên thực hiện: NGUYỄN MINH DIỆN – 20IT3

NGUYỄN BẢO TÍN – 19IT3 ĐẶNG NGỌC THƯ –

ĐINH ĐỨC ANH – 20IT553 Giảng viên hướng dẫn: TS HOÀNG HỮU ĐỨC

Đà Nẵng, tháng 11 năm 2022

Trang 2

TRƯỜNG ĐẠI HỌC CNTT VÀ TT VIỆT – HÀN

KHOA KHOA HỌC MÁY TÍNH

BÁO CÁO LẬP TRÌNH MẠNG

ĐỀ TÀI: XÂY DỰNG GAME CARO

Sinh viên thực hiện: NGUYỄN MINH DIỆN – 20IT3

NGUYỄN BẢO TÍN – 19IT3 ĐẶNG NGỌC THƯ –

ĐINH ĐỨC ANH – 20IT553 Giảng viên hướng dẫn: TS HOÀNG HỮU ĐỨC

Đà Nẵng, tháng 11 năm 2022

Trang 3

MỤC LỤC

MỤC LỤC 3

DANH MỤC HÌNH 6

DANH MỤC BẢNG 8

DANH MỤC VIẾT TẮT 9

MỞ ĐẦU 10

LỜI CẢM ƠN 11

CHƯƠNG 1 TỔNG QUAN 12

1.1 Lý do chọn đề tài 12

1.2 Mục tiêu nghiên cứu 13

1.3 Nhiệm vụ nghiên cứu 13

1.4 Phương pháp và phạm vi nghiên cứu 13

1.5 Phương tiện nghiên cứu 14

1.6 Xác định những yêu cầu hệ thống 14

1.6.1 Yêu cầu chức năng 14

1.6.2 Yêu cầu phi chức năng 14

1.7 Kết quả đề tài 15

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 16

2.1 Công cụ thiết kế ứng dụng 16

2.1.1 Android studio 16

2.1.2 Sublime Text 3 17

2.1.3 Phần mềm phân tích thiết kế hệ thống StarUML 17

2.1.4 Công cụ quản trị cơ sở dữ liệu PhpMyAdmin 18

2.2 Ngôn ngữ thiết kế ứng dụng 18

2.2.1 Ngôn ngữ chính lập trình ứng dụng android 18

Trang 4

2.2.3 Ngôn ngữ thiết kế hệ thống UML 21

2.2.4 Ngôn ngữ lập trình PHP 22

2.2.2 Framework Laravel 23

2.3 Công nghệ xây dựng ứng dụng 24

2.3.1 Khái niệm về API RESTful API trong Moblie App 24

2.3.2 Khái niệm và cấu trúc json 26

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 32

3.1 Biểu đồ Usecase 32

3.1.1 Biểu đồ Usecase tổng quát 32

3.1.2 Biểu đồ Usecase phân rã actor “Giáo Viên” 33

3.1.3 Biểu đồ Usecase phân rã actor “Học Sinh” 33

3.1.4 Biểu đồ Usecase phân rã actor “Admin” 34

3.1.5 Usecase quản lí danh sách học sinh 34

3.1.6 Usecase quản lí điểm 35

3.1.7 Usecase quản lí môn học 35

3.1.8 Usecase quản lí lịch học 36

3.1.9 Usecase quản lí và hiệu chỉnh tài khoản 36

3.1.10 Usecase quản lí giáo viên 37

3.2 Đặc tả Usecase 37

3.2.1 Đặc Usecase đăng nhập hệ thống 37

3.2.2 Đặc tả Usecase quản lí và hiệu chỉnh thông tin học sinh 38

3.2.3 Đặc tả Usecase quản lý môn học 39

3.2.4 Đặc tả Usecase quản lý Điểm 41

3.2.5 Đặc tả Usecase thống kê 43

Trang 5

3.2.6 Đặc tả Usecase tra cứu thông tin 44

3.2.7 Đặc tả Usecase quản lí giáo viên: 44

3.2.8 Đặc tả Usecase quản lý và hiệu chỉnh tài khoản 46

3.3 Biểu đồ lớp 49

CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG 50

4.1 Hệ thống CSDL 50

4.1.1 Bảng user 50

4.1.2 Bảng giáo viên 50

4.1.3 Bảng học sinh 51

4.1.4 Bảng lớp 51

4.1.5 Bảng lịch học 51

4.1.6 Bảng môn học 52

4.2 Thiết kế ứng dụng 53

4.2.1 Phần web API 53

4.2.2 Phần ứng dụng Android 55

KẾT LUẬN 65

Kết quả đạt được 65

Hướng phát triển 66

TÀI LIỆU THAM KHẢO 67

Trang 6

MỞ ĐẦU

Cùng với sự phát triển không ngừng của các ngành khoa học kỹ thuật, các ngànhcông nghiệp cũng phát triển nhanh chóng Việc áp dụng những công nghệ hiện đại vàonhiều lĩnh vực trong cuộc sống đó là điều tất yếu Song song với sự phát triển đó là sựphát triển về văn hóa, giáo dục

Sự ra đời của công nghệ thông tin là sự tích hợp đồng thời các tiến bộ về côngnghệ và tổ chức thông tin, đem đến nhiều ảnh hưởng tích cực cho sự phát triển cho ngànhgiải trí Chính vì thế và việc áp dụng công nghệ thông tin vào việc giải trí và học tập làđiều rất cần thiết, nó giúp con người thuận tiện giải trí, kết nối bạn bè và học tập

Do đó, nhóm chúng em quyết định thực hiện đề tài: “Xây dựng game caro” Ứngdụng sẽ giúp kết nối 2 hoặc nhiều máy với nhau để tương tác, giải trí với game caro

Trang 7

LỜI CẢM ƠN

Trong suốt thời gian làm đồ án, nhóm chúng em nhận được rất nhiều sự giúp đỡ.Chúng em xin chân thành cảm ơn Khoa khoa học máy tính - Trường ĐH CNTT & TTViệt Hàn - ĐHĐN đã tạo điều kiện thuận lợi cho em thực hiện đề tài đồ án cơ sở 3 này.Xin cảm ơn quý Thầy Cô bộ môn Khoa khoa học máy tính - Trường ĐH CNTT & TTViệt Hàn - ĐHĐN đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báutrong năm học vừa qua

Chúng em xin chân thành tỏ lòng biết ơn sâu sắc đến Hoàng Hữu Đức đã tận tìnhhướng dẫn em trong suốt quá trình thực hiện làm đồ án này

Cảm ơn các bạn trong lớp, trong trường, trong ngành Khoa khoa học máy tính Trường ĐH CNTT & TT Việt Hàn - ĐHĐN đã hỗ trợ, giúp đỡ, chia sẻ kinh nghiệm vàkiến thức cho nhóm trong quá trình thực hiện đề tài

-Trong quá trình làm đồ án, do kiến thức về lập trình di động chưa thực sự sâu sắcnên đồ án của chúng em không thể tránh khỏi những sai sót Mong cô thông cảm và góp

ý thêm cho chúng em để đồ án được hoàn chỉnh hơn

Chúng em xin chân thành cảm ơn!

Trang 8

CHƯƠNG 1 TỔNG QUAN 1.1 Lý do chọn đề tài

Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của các quốc gia,đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa và hiện đại hoá nhưnước ta Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số, yêucầu muốn phát triển thì phải tin học hoá vào tất cả các ngành các lĩnh vực

Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các ứng dụng ngày càng trởnên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con người Các ứng dụnghiện nay ngày càng mô phỏng được rất nhiều nghiệp vụ khó khăn, hỗ trợ cho người dùngthuận tiện sử dụng, thời gian xử lý nhanh chóng, và hỗ trợ von người trong việc gải trí rấttốt

Do vậy mà trong việc phát triển ứng dụng, sự đòi hỏi không chỉ là sự chính xác,

xử lý được nhiều nghiệp vụ thực tế mà còn phải đáp ứng các yêu cầu khác như về tốc độ,giao diện thân thiện Việc lựa chọ đề tài ‘xây dựng ứng dụng game caro’ được chúng emlên ý tưởng dựa trên cơ sở môn lập trình mạng được học trên lớp chúng em thấy rằngviệc ứng dụng kết thức của môn này vào việc xây dựng game caro là một lợi thế rất lớn

1.2 Mục tiêu nghiên cứu

Xây dựng một ứng dụng hoàn thiện về giao diện và tối ưu về chức năng Ứngdụng sẽ giúp người dùng dễ dàng truy cập, kết nói với máy khác và thực kiện chơi game.Ứng dụng phát triên với một số chức năng cơ bản như tạo phòng thường, tạo phòng cómật khẩu, phần chat, tìm phòng, đầu hàng, tính điểm,…

- Xây dựng một hệ thống mới phù hợp, dể hiểu, dể sử dụng cho người dùng phầnmềm

- Giúp bản thân có thêm khả năng sáng tạo, tư duy thông qua thiết kế giao diệntương tác với người dùng, vận dụng kiến thức bản thân vào thực tiễn

1.3 Nhiệm vụ nghiên cứu

Phần mềm này được tạo ra nhằm mục đích giải trí với game caro, tạo môi trườngtương tác qua internet

Trang 9

1.4 Phương pháp và phạm vi nghiên cứu

Phương pháp nghiên cứu:

- Tham khảo, nghiên cứu thêm các tài liệu trên trang web, trang báo, tìm hiểu tìnhhình thực trạng của đề tài

- Tìm hiểu các đề tài của các anh chị khóa trước đã làm hoặc tìm hiểu qua sách báo,trang mạng liên quan đến đề tài nghiên cứu

- Quan sát, học tập cách chơi caro từ đó ứng dụng vào game một cách hợp lý

1.5 Phương tiện nghiên cứu

- Nghiên cứu cơ sở lý thuyết về phân tích và thiết kế hệ thống thông tin

- Hệ quản trị CSDL và ngôn ngữ lập trình Java

- Sử dụng các công cụ eclip để lập trình, thiết kế giao diện - Sử dụng hệ quản trị cơ

sở dữ liệu MySQL để quản trị cơ sở dữ liệu cho đề tài

1.6 Xác định những yêu cầu hệ thống

1.6.1 Yêu cầu chức năng

Hệ thống bao gồm:

- Quản lý tài khoản người dung

- Đăng nhập và đăng kí tài khoản

- Tạo phòng chơi có mật khẩu và không mật khẩu

- Tìm phòng

Những người quản lý thông tin được cập nhật chính xác, những người thay đổi,những người có quyền lợi thì dễ dàng truy cập để theo dõi thông tin Hệ thống hoạt độngmột cách tự động

1.6.2 Yêu cầu phi chức năng

Về thiết bị:

- Phần cứng: máy tính, mạng để phục vụ cho việc trao đổi dữ liệu và truy cập dễdàng

- Ứng dụng có thiết kế giao diện đẹp mà đơn giản, không rườm rà

- Dễ sử dụng đối với người dùng

Trang 10

1.7 Kết quả đề tài

Hoàn thiện ứng dụng về mặt giao diện và một số chức năng cơ bản Ứng dụng

hoàn thiện tạo nên một mối liên hệ mới giữa hai máy tính với nhau với đầy ddue chứcnăng như:

- Quản lý tài khoản người dung

- Đăng nhập và đăng kí tài khoản

- Tạo phòng chơi có mật khẩu và không mật khẩu

- Tìm phòng

Trang 11

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Công cụ thiết kế ứng dụng

2.1.1 Eclips.

- Eclipse là gì?

Eclipse là 1 công cụ hỗ trợ lập trình mã nguồn mở được phát triển bởi IBM.

Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng ta có thể

mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDE- Plug-in Development Environment) Mặc dù Eclipse được viết bằng ngôn ngữ lập trình Java, nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java Ví dụ, Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các ngôn ngữ lập trình như C/C + + và COBOL Ngoài ra, còn rất nhiều ngôn ngữ khác như PHP, Groovy,

Eclipse còn hỗ trợ cho lập trình viên code theo các mô hình phát triển như MVC, tạo thêmcác lib hỗ trợ phát triển phần mềm

- Ưu, nhược điểm của eclipse

Ưu điểm

 Tạo thuận lợi cho tích hợp liền mạch các công cụ bên trong mỗi một và xuyên qua nhiều kiểu nội dung và các nhà cung cấp công cụ khác nhau

 Hỗ trợ việc xây dựng nhiều công cụ

 Hỗ trợ một tập hợp không hạn chế các nhà cung cấp công cụ, bao gồm cả các nhà cung cấp phần mềm độc lập (ISV)

 Hỗ trợ các công cụ thao tác các kiểu nội dung bất kỳ (bao gồm cả HTML, Java, C,JSP, EJB, XML, và GIF)

 Hỗ trợ cả môi trường phát triển ứng dụng GUI lẫn không dựa trên GUI

 Chạy trên nhiều hệ điều hành, bao gồm cả Windows và Linux

 Lợi dụng tính phổ biến của ngôn ngữ Java để viết các công cụ

 Do sử dụng SWT/JFace nên có lẽ load nhanh hơn

Nhược điểm

 Cài đặt phức tạp

 Tốn phần cứng máy Eclipse cũng khá tốn bộ nhớ máy để cài đặt nên hiện nay

Trang 12

 Tốn bộ nhớ máy: chạy eclipse cũng khá tốn bộ nhớ máy tính nên để sử dụng nó máy của bạn cũng cần có cấu hình tương đối cao

 Thiếu tính nhất quán vì có nhiều plugins quá

Hình 2 - 1: Công cụ lập trình Eclipse

Trang 13

2.1.2 Công cụ quản trị cơ sở dữ liệu MySQL.

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).

MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP

có tên là Oak Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun

Trang 14

MicroSystem Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi”

(Write Once, Run Anywhere – WORA) Chương trình phần mềm viết bằng Java có thểchạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điềukiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó

Đặc điểm

Tương tự C++, hướng đối tượng hoàn toàn Trong quá trình tạo ra một ngôn ngữ mớiphục vụ cho mục đích chạy được trên nhiều nền tảng, các kỹ sư của Sun MicroSystemmuốn tạo ra một ngôn ngữ dễ học và quen thuộc với đa số người lập trình Vì vậy họ đã

sử dụng lại các cú pháp của C và C++ Ngôn ngữ lập trình Java thuộc loại ngôn ngữthông dịch Chính xác hơn, Java là loại ngôn ngữ vừa biên dịch vừa thông dịch Cơ chếthu gom rác tự động: Khi tạo ra các đối tượng trong Java, JRE sẽ tự động cấp phát khônggian bộ nhớ cho các đối tượng ở trên heap

Đa luồng: Java hỗ trợ lập trình đa tiến trình (multithread) để thực thi các công việc đồngthời Đồng thời cũng cung cấp giải pháp đồng bộ giữa các tiến trình (giải pháp sử dụngpriority…)

Hình 2 - 4: Ngôn ngữ lập trình Java

Trang 15

2.2.2 Ngôn ngữ thiết kế hệ thống UML

UML (Unified Modeling Language) là ngôn ngữ dành cho việc đặc tả, hình dung, xâydựng và làm tài liệu của các hệ thống phần mềm

UML tạo cơ hội để viết thiết kế hệ thống, bao gồm những khái niệm như tiến trìnhnghiệp vụ và các chức năng của hệ thống.Cách xây dựng các mô hình trong UML phùhợp mô tả các hệ thống thông tin cả về cấu trúc cũng như hoạt động Cách tiếp cận theo

mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thốngthông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về

hệ thống thông tin dự định xây dựng Cách nhìn bao quát này giúp nắm bắt trọn vẹn cácyêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định vàkiểm tra sản phẩm ứng dụng công nghệ thông tin

Hình 2 - 6: Ngôn ngữ thiết kế hệ thống UML

UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô hình (modelelements) Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML (UML diagrams) Cócác loại sơ đồ UML chủ yếu sau:

- Sơ đồ lớp (Class Diagram)

- Sơ đồ đối tượng (Object Diagram)

- Sơ đồ tình huống sử dụng (Use Cases Diagram)

Trang 16

- Sơ đồ trình tự (Sequence Diagram)

- Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram)

- Sơ đồ trạng thái (State Machine Diagram)

- Sơ đồ thành phần (Component Diagram)

- Sơ đồ hoạt động (Activity Diagram)

- Sơ đồ triển khai (Deployment Diagram)

- Sơ đồ gói (Package Diagram)

- Sơ đồ liên lạc (Communication Diagram)

- Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)

- Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0)

Trang 17

Mô hình mạng Client Server sẽ cho phép mạng tập trung các ứng dụng có cùng chứcnăng tại một hoặc nhiều dịch vụ file chuyên dụng Chúng sẽ trở thành trung tâm của hệthống Hệ điều hành của mô hình Client server sẽ cho phép người dùng chia sẻ đồng thờicùng một loại tài nguyên mà không giới hạn vị trí địa lý

Nguyên tắc hoạt động của mô hình Client Server

Client

Client chính là khách hàng sử dụng dịch vụ Nó có thể là một tổ chức hay cá nhân cụ thểnào đó Và khi khái niệm này được sử dụng trong lĩnh vực kỹ thuật số thì cũng mang ýnghĩa tương tự như vậy Trong Client Server thì Client chính là một máy tính (Host).Chúng có khả năng nhận thông tin từ nhà cung cấp và sử dụng dịch vụ cụ thể (Server)

Trang 18

Tính năng này giúp cho mọi sự cố trong mạng đều sẽ được giải quyết ở cùng một nơithống nhất Đồng thời, việc cập nhật cơ sở tài nguyên, dữ liệu cũng sẽ dễ dàng hơn rấtnhiều.

Bảo mật

Trong mạng Client Server, tất cả các dữ liệu đều sẽ được bảo vệ một cách tối đa nhờ vào

hệ thống kiến trúc tập trung của mạng Thông qua đó, nó sẽ giúp người dùng kiểm soáttruy cập để chỉ có những ai được cấp quyền truy cập thì mới được thực hiện các thao táccần thiết

Muốn làm như vậy, chúng ta cần phải áp đặt thông tin đăng nhập cũng như Usernamehay Password Bên cạnh đó, nếu dữ liệu của chúng ta bị mất thì các file sẽ được khôiphục một cách vô cùng dễ dàng chỉ từ một bản sao lưu duy nhất mà thôi

Khả năng mở rộng

Mô hình mạng kết nối Client Server có khả năng mở rộng vô cùng tốt Chỉ cần ngườidùng cần sử dụng bất cứ lúc nào thì họ cũng có thể tăng được số lượng tài nguyên củamình Ví dụ như số Client hoặc Server Nhờ đó mà chúng ta có thể tăng kích thước củaServer một cách dễ dàng mà không bị gián đoạn nhiều

Khả năng truy cập

Hoàn toàn không hề có sự phân biệt giữa các vị trí hay nền tảng với nhau Tất cả mọiClient đều có khả năng đăng nhập được vào hệ thống mạng máy tính Điều này sẽ giúpcho tất cả các nhân viên đều có thể truy cập thông tin của công ty một cách dễ dàng màkhông cần phải dùng một terminal mode hoặc một bộ xử lý nào khác

Trang 19

Chi phí được sử dụng để thiết lập và bảo trì Server trong Client Server thường sẽ khá cao.

Lý do là vì các hệ thống mạng có sức mạnh rất lớn cũng đồng nghĩa với việc giá để chicho việc này là rất đắt Chính vì vậy, không phải ai cũng có khả năng chỉ trả và sử dụng

Bảo trì

Khi các Server thực hiện triển khai để làm việc thì nó cũng sẽ hoạt động một cách khôngngừng nghỉ Điều này đồng nghĩa với việc chúng ta cần phải quan tâm đến việc bảo trì hệthống đúng mức Khi xảy ra bất cứ vấn đề gì cũng cần phải giải quyết ngay lập tức Vậynên, cần phải có một nhà quản lý mạng chuyên biệt để tiến hành duy trì hoạt động củaServer khi chúng được đưa vào và sử dụng

2.3.2 Khái niệm về Socket và Đa Luồng

- Socket là một điểm cuối(end-point) của liên kết truyền thông hai chiều(two-way

communication) giữa hai chương trình chạy trên mạng Các lớp Socket được sử dụng đểbiểu diễn kết nối giữa client và server Gói java.net cung cấp hai lớp - Socket vàServerSocket - thể hiện kết nối giữa client và server

Các Socket cung cấp kỹ thuật giao tiếp giữa hai máy tính sử dụng TCP Một chương trìnhClient tạo một socket trên đầu cuối của giao tiếp và cố gắng để kết nối socket đó tới mộtServer

Khi kết nối được tạo, Server tạo một đối tượng Socket trên đầu cuối của giao tiếp Client

và Server bây giờ có thể giao tiếp bằng việc đọc và ghi từ Socket

Trang 20

Lớp java.net.Socket biểu diễn một Socket, và lớp java.net.ServerSocket cung cấp một kỹthuật cho chương trình Server để nghe thông tin từ các Client và thành lập các kết nối vớichúng.

- Thread (luồng) về cơ bản là một tiến trình con (sub-process) Một đơn vị xử lý

nhỏ nhất của máy tính có thể thực hiện một công việc riêng biệt Trong Java, các luồngđược quản lý bởi máy ảo Java (JVM)

- Multi-thread (đa luồng) là một tiến trình thực hiện nhiều luồng đồng thời Một

ứng dụng Java ngoài luồng chính có thể có các luồng khác thực thi đồng thời làm ứngdụng chạy nhanh và hiệu quả hơn

Ưu điểm của đa luồng

 Nó không chặn người sử dụng vì các luồng là độc lập và bạn có thể thực hiệnnhiều công việc cùng một lúc

 Mỗi luồng có thể dùng chung và chia sẻ nguồn tài nguyên trong quá trình chạy,nhưng có thể thực hiện một cách độc lập

 Luồng là độc lập vì vậy nó không ảnh hưởng đến luồng khác nếu ngoại lệ xảy ratrong một luồng duy nhất

 Có thể thực hiện nhiều hoạt động với nhau để tiết kiệm thời gian Ví dụ một ứngdụng có thể được tách thành : luồng chính chạy giao diện người dùng và các luồngphụ nhiệm gửi kết quả xử lý đến luồng chính

Nhược điểm của đa luồng

 Càng nhiều luồng thì xử lý càng phức tạp

 Xử lý vấn đề về tranh chấp bộ nhớ, đồng bộ dữ liệu khá phức tạp

 Cần phát hiện tránh các luồng chết (dead lock), luồng chạy mà không làm gì trongứng dụng cả

Trang 21

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 Biểu đồ Usecase

3.1.1 Biểu đồ Usecase tổng quát

Hình 3 - 1: Biểu đồ Use-case tổng quát

Trang 22

3.1.2 Biểu đồ Usecase phân rã actor “Giáo Viên”

Hình 3 - 2: Biểu đồ Usecase phân rã actor “Giáo Viên”

3.1.3 Biểu đồ Usecase phân rã actor “Học Sinh”

Hình 3 - 3: Biểu đồ Usecase phân rã actor “Học Sinh”

Trang 23

3.1.4 Biểu đồ Usecase phân rã actor “Admin”

Hình 3 - 4: Biểu đồ Usecase phân rã actor “Admin”

3.1.5 Usecase quản lí danh sách học sinh

Hình 3 - 5: Usecase quản lý học sinh

Trang 24

3.1.6 Usecase quản lí điểm

Hình 3 - 6: Usecase quản lí điểm3.1.7 Usecase quản lí môn học

Hình 3 - 7: Usecase quản lí môn học

Trang 25

3.1.8 Usecase quản lí lịch học

Hình 3 - 8: Usecase quản lí lịch học3.1.9 Usecase quản lí và hiệu chỉnh tài khoản.

Hình 3 - 9: Usecase quản lí và hiệu chỉnh tài khoản.

Trang 26

3.1.10 Usecase quản lí giáo viên.

Hình 3 - 10: Usecase quản lí giáo viên.

- Ca sử dụng này bắt đầu khi tác nhân muốn đăng nhập vào hệ thống

- Hệ thống yêu cầu tác nhân nhập tài khoản và mật khẩu đăng nhập

- Tác nhân nhập tên đăng nhập và mật khẩu đăng nhập của mình

- Hệ thống xác nhận tài khoản và mật khẩu đăng nhập có hợp lệ không, nếu khônghợp lệ thì thực hiện Luồng A1

- Hệ thống ghi lại quá trình đăng nhập

Các luồng rẽ nhánh

- Luồng A1: Nhập sai tài khoản mật khẩu đăng nhập

+ Hệ thống hiển thị một thông báo lỗi

Trang 27

+ Người sử dụng có thể chọn hoặc là đăng nhập lại hoặc là huỷ bỏ đăng nhập, khi

đó ca sử dụng kết thúc

c) Tiền điều kiện: Không

d) Hậu điều kiện: Nếu việc đăng nhập thành công, người sử dụng sẽ đăng nhập được vào

hệ thống

3.2.2 Đặc tả Usecase quản lí và hiệu chỉnh thông tin học sinh

a) Mô tả tóm tắt

- Tên UC: Quản lý và hiệu chỉnh thông tin học sinh

- Mục đích: Mô tả người quản lý thêm, sửa, xóa thông tin học sinh

- Tác nhân: Giáo viên

+ Người dùng muốn thêm học sinh mới vào trong hệ thống

+ Người dùng chọn nút “Thêm mới”

+ Hệ thống yêu cầu nhập thông tin cần thiết

+ Người dùng nhập thông tin cần thiết vào trong hệ thống

+ Người dùng chọn nút “Lưu” (Luồng A1)

+ Hệ thống kiểm tra dữ liệu nhập vào (Luồng A3)

+ Thêm thành công, kết thúc use case

+ Kết quả: Một học sinh mới được thêm vào

- Sửa thông tin học sinh

+ Người dùng chọn học sinh cần sửa thông tin

+ Người dùng nhập thông tin cần thay đổi vào trong hệ thống

Trang 28

+ Hệ thống kiểm tra dữ liệu nhập vào (Luồng A3).

+ Sửa thành công, kết thúc use case

c) Tiền điều kiện: Tác nhân phải đăng nhập vào hệ thống

d) Hậu điều kiện: Nếu ca sử dụng được thực hiện thành công thì thông tin học sinh sẽđược thêm, sửa, còn lại các trường hợp khác thông tin vẫn được giữ nguyên

3.2.3 Đặc tả Usecase quản lý môn học

a) Mô tả tóm tắt

- Tên UC: Quản lý thông tin môn học

- Mục đích: Mô tả cách người quản lý thêm, sửa, xóa thông tin môn học

- Tác nhân: Giáo viên

Ngày đăng: 04/12/2022, 17:48

HÌNH ẢNH LIÊN QUAN

Hình 2- 1: Cơng cụ lập trình Eclipse - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 2 1: Cơng cụ lập trình Eclipse (Trang 12)
Hình 2- 4: Ngơn ngữ lập trình Java - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 2 4: Ngơn ngữ lập trình Java (Trang 14)
UML (Unified Modeling Language) là ngôn ngữ dành cho việc đặc tả, hình dung, xây dựng và làm tài liệu của các hệ thống phần mềm - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
nified Modeling Language) là ngôn ngữ dành cho việc đặc tả, hình dung, xây dựng và làm tài liệu của các hệ thống phần mềm (Trang 15)
Hình 3- 1: Biểu đồ Use-case tổng quát - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 1: Biểu đồ Use-case tổng quát (Trang 21)
Hình 3- 3: Biểu đồ Usecase phân rã actor “Học Sinh” - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 3: Biểu đồ Usecase phân rã actor “Học Sinh” (Trang 22)
Hình 3- 2: Biểu đồ Usecase phân rã actor “Giáo Viên” 3.1.3. Biểu đồ Usecase phân rã actor “Học Sinh” - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 2: Biểu đồ Usecase phân rã actor “Giáo Viên” 3.1.3. Biểu đồ Usecase phân rã actor “Học Sinh” (Trang 22)
Hình 3- 4: Biểu đồ Usecase phân rã actor “Admin” 3.1.5. Usecase quản lí danh sách học sinh - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 4: Biểu đồ Usecase phân rã actor “Admin” 3.1.5. Usecase quản lí danh sách học sinh (Trang 23)
Hình 3- 5: Usecase quản lý học sinh - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 5: Usecase quản lý học sinh (Trang 23)
Hình 3- 7: Usecase quản lí môn học - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 7: Usecase quản lí môn học (Trang 24)
Hình 3- 6: Usecase quản lí điểm 3.1.7. Usecase quản lí mơn học - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 6: Usecase quản lí điểm 3.1.7. Usecase quản lí mơn học (Trang 24)
Hình 3- 8: Usecase quản lí lịch học 3.1.9. Usecase quản lí và hiệu chỉnh tài khoản. - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 8: Usecase quản lí lịch học 3.1.9. Usecase quản lí và hiệu chỉnh tài khoản (Trang 25)
Hình 3- 9: Usecase quản lí và hiệu chỉnh tài khoản. - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 9: Usecase quản lí và hiệu chỉnh tài khoản (Trang 25)
Hình 3- 10: Usecase quản lí giáo viên. - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 10: Usecase quản lí giáo viên (Trang 26)
Hình 3- 11: Biểu đồ lớp - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
Hình 3 11: Biểu đồ lớp (Trang 38)
4.1.1. Bảng user - BÁO CÁO LẬP TRÌNH MẠNG ĐỀ TÀI XÂY DỰNG GAME CARO
4.1.1. Bảng user (Trang 39)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w