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

Đồ Án môn học phần mềm thi Đố vui

49 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Phần mềm thi Đố vui
Tác giả Nguyễn Văn Quyền, Trịnh Xuân Quý, Nguyễn Trọng Phúc, Nguyễn Tấn Thành, Nguyễn Hoàng Nguyên
Người hướng dẫn ThS. Nguyễn Văn Thịnh
Trường học Học viện Kỹ thuật Mật mã
Chuyên ngành Công nghệ phần mềm
Thể loại Đồ án môn học
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 49
Dung lượng 2,35 MB

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

Cấu trúc

  • Phần 1: TỔNG QUAN (8)
    • 1.1. GIỚI THIỆU (8)
    • 1.2. MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI (8)
      • 1.2.1. Mục tiêu (8)
      • 1.2.2. Phạm vi đề tài (8)
    • 1.3. PHÁT BIỂU BÀI TOÁN (9)
    • 1.4. KẾT CHƯƠNG (9)
  • PHẦN 2. KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU (10)
    • 2.1. KHẢO SÁT HIỆN TRẠNG (10)
      • 2.1.1. Giới thiệu sơ lược (10)
      • 2.1.2. Các biểu mẫu thu thập được trong quá trình khảo sát (10)
      • 2.1.3. Chi tiết quy trình nghiệp vụ (11)
    • 2.2. YÊU CẦU CỦA PHẦN MỀM (12)
      • 2.2.1. Yêu cầu phi chức năng (12)
      • 2.2.2. Yêu cầu chức năng (13)
      • 2.2.3. Kiến trúc hệ thống (13)
    • 2.3. CÁC MÔ HÌNH ĐẶC TẢ YÊU CẦU (15)
      • 2.3.1. Use Case Diagram của phần mềm Quiz (15)
      • 2.3.2. Sơ đồ BPM (Business Process Model) cho từng nghiệp vụ (15)
    • 2.4. KẾT CHƯƠNG (17)
  • PHẦN 3. PHÂN TÍCH PHẦN MỀM (18)
    • 3.1. GIỚI THIỆU (18)
    • 3.2. PHÂN TÍCH DỮ LIỆU (18)
      • 3.2.1. Giới thiệu mô hình CDM - ERD (18)
      • 3.2.2. Lập mô hình thực thể liên kết (19)
      • 3.2.3. Sưu liệu cho mô hình thực thể liên kết (20)
    • 3.2. PHÂN TÍCH XỬ LÝ (20)
      • 3.3.1. Sơ đồ phân cấp chức năng (BFD - Bussiness Functional Diagram) 15 3.3.2. Lập sơ đồ phân cấp chức năng (BFD - Bussiness Functional Diagram) (20)
      • 3.3.3. Sơ đồ dòng dữ liệu (Data Flow Diagram – DFD) (21)
    • 3.3. KẾT CHƯƠNG (23)
  • PHẦN 4. THIẾT KẾ PHẦN MỀM (25)
    • 4.1. GIỚI THIỆU (25)
    • 4.2. THIẾT KẾ DỮ LIẾU (25)
      • 4.2.1. Giới thiệu mô hình PDM (Physical Data Model) (25)
      • 4.2.2. Chuyển đổi mô hình CMD/ERD sang mô hình PDM (25)
      • 4.2.3. Sưu liệu cho mô hình PDM (26)
    • 4.3. THIẾT KẾ KIẾN TRÚC (26)
    • 4.4. THIẾT KẾ GIAO DIỆN (27)
      • 4.4.1. Giao diện phía user (28)
      • 4.4.2. Giao diện phía Admin (36)
    • 4.5. THIẾT KẾ XỬ LÝ (39)
    • 4.5. KẾT CHƯƠNG (46)
  • PHẦN 5: CÀI ĐẶT VÀ KIỂM THỬ (47)
    • I. Tóm tắt kết quả (47)
    • II. Hướng phát triển tương lai (47)
  • TÀI LIỆU THAM KHẢO (49)

Nội dung

Trò chơi này yêu cầu người chơi trả lời câu hỏi trong một khoảng thời gian nhất định.. Trong khía cạnh giáo dục, ứng dụng cung cấp thông tin chi tiết và hữu ích qua các câu hỏi và câu tr

TỔNG QUAN

GIỚI THIỆU

Trò chơi câu đố là một trò chơi giáo dục và giải trí, trong đó người chơi phải trả lời những câu hỏi từ nhiều lĩnh vực khác nhau Mục tiêu của trò chơi là trả lời đúng những câu hỏi này để kiểm tra và mở rộng kiến thức của mình

Trò chơi câu đố có thể có nhiều dạng khác nhau Trò chơi này yêu cầu người chơi trả lời câu hỏi trong một khoảng thời gian nhất định Trò chơi không chỉ giúp người chơi giải trí mà còn giúp cải thiện khả năng tư duy, tăng cường kiến thức và đôi khi thậm chí là khám phá những thông tin mới Nó cũng có thể được sử dụng như một công cụ giảng dạy trong các môi trường học tập để thúc đẩy sự tham gia và học tập tương tác

Dù là một trò chơi đơn giản nhưng nó luôn mang lại niềm vui và thử thách cho người chơi Nó là một cách tuyệt vời để kích thích trí tuệ và tạo ra những trải nghiệm giáo dục thú vị.

MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI

Một ứng dụng "Quiz Game" có mục tiêu đa chiều, nhằm đem lại giá trị giáo dục, giải trí và kiểm tra kỹ năng cho người chơi Trong khía cạnh giáo dục, ứng dụng cung cấp thông tin chi tiết và hữu ích qua các câu hỏi và câu trả lời, từ đó nâng cao hiểu biết và kiến thức của người chơi trong nhiều lĩnh vực khác nhau Đồng thời, qua trải nghiệm giải trí, ứng dụng tạo ra một môi trường vui nhộn và thú vị, giúp người chơi giải trí và giảm căng thẳng Cuối cùng, qua việc kiểm tra kỹ năng, ứng dụng thách thức người chơi, đánh giá khả năng tư duy, tìm kiếm thông tin và sự nhạy bén trong việc giải quyết vấn đề Tổng cộng, mục tiêu của ứng dụng là kết hợp giáo dục và giải trí, tạo nên một trải nghiệm đa chiều và thú vị cho người chơi Ứng dụng nhắm đến việc cung cấp các câu hỏi về đa lĩnh vực Điều này giúp người chơi nâng cao kiến thức chuyên sâu và liên tục cập nhật với sự phát triển trong đời sống Các câu hỏi có thể được thiết kế để thách thức người chơi ở mức độ khó khăn tăng dần, từ cơ bản đến nâng cao, tạo ra một trải nghiệm học tập có cấp độ và độ khó linh hoạt

Tóm lại, mục tiêu của ứng dụng là làm cho quá trình học lập trình trở nên hấp dẫn, hiệu quả và thách thức đồng thời

Lập trình game bằng Unity kết hợp ngôn ngữ C# và cơ sở dữ liệu Firebase

Quản lí ứng dụng bằng Web browser

PHÁT BIỂU BÀI TOÁN

Ứng dụng Quiz Game là một loại ứng dụng hoặc trò chơi trực tuyến thường được thiết kế để kiểm tra và nâng cao kiến thức, khả năng trả lời câu hỏi hoặc giải quyết vấn đề của người chơi thông qua các câu hỏi trắc nghiệm hoặc câu đố Quiz Game gồm một hệ thống câu hỏi và câu trả lời, và một người chơi hoặc đội người chơi tham gia để kiểm tra kiến thức hoặc giải quyết các câu hỏi Mỗi câu hỏi có một giá trị điểm tương ứng, và người chơi sẽ đạt được điểm tương ứng với câu trả lời đúng Ứng dụng có các chức năng cơ bản như: Đăng nhập, đăng ký, tổ chức cuộc thi, lưu cuộc thi, xem kết quả, tạo đề thi mới, quản lý người dùng và câu hỏi Phần mềm này được cài đặt trên môi trường smartphone hệ điều hành Android, Web browser hỗ trợ HTML5 Sử dụng cơ sở dữ liệu Firebase Công nghệ: Ngôn ngữ C#, Java,

JavaScript, Html, Engine Unity, Spring framework, React framework

KẾT CHƯƠNG

Chương đầu tiên đã trình bày sơ lược về trò chơi câu đố và mục tiêu của đề tài Chúng tôi đã tập trung vào vai trò quan trọng của trò chơi câu đố trong việc kết hợp giải trí và giáo dục Trò chơi này không chỉ mang lại niềm vui cho người chơi mà còn thúc đẩy khả năng tư duy, mở rộng kiến thức và thậm chí khám phá thông tin mới Ngoài ra, trò chơi câu đố cũng có thể được ứng dụng trong môi trường học tập để thúc đẩy sự tham gia và tương tác

Tiếp theo, chúng tôi đã định rõ mục tiêu và phạm vi của đề tài Chúng tôi quyết định phát triển một ứng dụng trò chơi câu đố bằng việc sử dụng nền tảng Unity và ngôn ngữ lập trình C#, kết hợp với cơ sở dữ liệu Firebase Ứng dụng này sẽ mang đến một trải nghiệm trò chơi câu đố độc đáo, hỗ trợ các chức năng cơ bản như đăng nhập, đăng ký, tổ chức cuộc thi, lưu trữ cuộc thi, tiếp tục cuộc thi, xem kết quả và quản lý người dùng và câu hỏi Đồng thời, ứng dụng sẽ hoạt động trên các môi trường hệ điều hành Android và trình duyệt web hỗ trợ HTML5

Chương 2 sẽ tiếp tục tập trung vào việc phân tích thiết kế tổng thể của ứng dụng, bao gồm giao diện người dùng, quản lý người dùng, và quy trình tổ chức cuộc thi Chúng tôi cũng sẽ đi sâu vào cách ứng dụng tương tác với cơ sở dữ liệu Firebase để đảm bảo tính nhất quán và đáng tin cậy

KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

KHẢO SÁT HIỆN TRẠNG

Hệ thống game đố vui trắc nghiệm này là một ứng dụng đa nền tảng hoàn chỉnh sử dụng một loạt công nghệ để cung cấp trải nghiệm đa dạng cho người chơi và quản trị viên Dưới đây là một tóm tắt về các thành phần chính của hệ thống:

- Unity Game: Trò chơi đố vui trắc nghiệm được phát triển bằng Unity, một môi trường phát triển trò chơi mạnh mẽ Trong trò chơi này, người chơi có thể tham gia vào các cuộc thi trắc nghiệm, trả lời câu hỏi và xem kết quả của họ

- Firebase Authentication: Để xác thực người chơi, hệ thống sử dụng Firebase

Authentication Người chơi có thể đăng ký và đăng nhập bằng tài khoản Firebase hoặc tài khoản mạng xã hội Điều này đảm bảo tính bảo mật của dữ liệu người dùng

- Firebase Database: Firebase Database được sử dụng để lưu trữ thông tin về người chơi, bao gồm thông tin cá nhân và điểm số của họ Ngoài ra, nó cũng được sử dụng để lưu trữ dữ liệu về câu hỏi và kết quả cuộc thi Điều này cho phép dữ liệu được chia sẻ giữa ứng dụng di động và trang web quản trị

- ReactJS và Spring Web: Hệ thống bao gồm một ứng dụng web phía quản trị được xây dựng bằng ReactJS và Spring Framework Ứng dụng web này được sử dụng bởi admin để quản lý người chơi và nội dung của trò chơi Admin có thể thêm, xóa, sửa thông tin người chơi và câu hỏi thông qua giao diện web này

- Chia sẻ cơ sở dữ liệu Firebase: Cả ứng dụng di động Unity và ứng dụng web phía quản trị đều truy cập vào cùng một cơ sở dữ liệu Firebase Điều này đảm bảo rằng dữ liệu được duyệt và cập nhật một cách đồng nhất trên cả hai nền tảng

Tổng cộng, hệ thống này kết hợp sức mạnh của Unity cho phần chơi game và Firebase cho quản lý người chơi và dữ liệu, cùng với một ứng dụng web phía quản trị để quản lý nội dung và người chơi Sự tích hợp giữa các thành phần này cho phép người dùng tham gia trò chơi từ nhiều nền tảng và giúp admin quản lý dễ dàng

2.1.2 Các biểu mẫu thu thập được trong quá trình khảo sát

Bảng 2 1: Biểu mẫu thông tin đăng nhập của user

Bảng 2 2: Biểu mẫu thông tin câu hỏi

STT Question Answer A Answer B Answer C Answer D Correct

Bảng 2 3: Biểu mẫu thông tin cuộc thi

User Lần thi Score Số câu trả lời đúng

2.1.3 Chi tiết quy trình nghiệp vụ Đăng nhập và đăng ký người chơi:

1 Truy cập Ứng dụng Unity: Người chơi tải và cài đặt ứng dụng Unity trên điện thoại di động của họ

2 Đăng ký Tài Khoản (Nếu Cần): Nếu người chơi là người dùng mới, họ chọn tùy chọn đăng ký Để đăng ký tài khoản, người chơi cần cung cấp các thông tin cá nhân như tên, địa chỉ email, và mật khẩu Hệ thống sử dụng Firebase Authentication để xác thực thông tin và tạo một tài khoản người chơi trong hệ thống

3 Đăng Nhập: Người chơi đăng nhập bằng cách cung cấp tên người dùng và mật khẩu đã đăng ký hoặc sử dụng phương thức đăng nhập mạng xã hội nếu có Firebase Authentication kiểm tra thông tin xác thực và cho phép truy cập vào tài khoản của họ

Tham gia Cuộc Thi Trắc Nghiệm:

1 Chọn Cuộc Thi: Người chơi sau khi đăng nhập chọn một cuộc thi từ danh sách sẵn có

2 Lấy Câu Hỏi: Trò chơi sẽ truy vấn Firebase Database để lấy danh sách câu hỏi cho cuộc thi đã chọn Các câu hỏi được hiển thị trên giao diện của trò chơi cho người chơi

3 Trả Lời Câu Hỏi: Người chơi trả lời các câu hỏi trong cuộc thi bằng cách chọn các phương án trả lời Trò chơi ghi nhận điểm số và thời gian trả lời của người chơi

4 Lưu Kết Quả: Khi cuộc thi kết thúc, kết quả của người chơi (điểm số, thời gian, câu hỏi đã trả lời) được gửi và lưu trữ trong Firebase Database để sau này có thể tra cứu và xem lại

Lưu Trữ và Quản Lý Dữ Liệu Người Chơi:

1 Lưu Trữ Thông Tin Người Chơi: Firebase Database lưu trữ thông tin về người chơi, bao gồm tên, điểm số, lịch sử cuộc thi và thông tin cá nhân của họ

2 Quản Lý Người Chơi (Admin): Admin sử dụng ứng dụng web phía quản trị để quản lý người chơi Các chức năng quản lý bao gồm thêm, xóa và sửa thông tin cá nhân của người chơi, cũng như xem lịch sử cuộc thi của họ

1 Lưu Trữ Câu Hỏi và Cuộc Thi: Firebase Database cũng lưu trữ dữ liệu về câu hỏi và cuộc thi Các câu hỏi được phân loại theo danh mục và liên kết với cuộc thi tương ứng

2 Quản Lý Câu Hỏi (Admin): Admin sử dụng ứng dụng web phía quản trị để thêm, xóa và sửa câu hỏi

3 Họ có thể quản lý danh sách câu hỏi và đảm bảo tính đa dạng và chất lượng của chúng

Tương Tác Unity và Web Admin:

YÊU CẦU CỦA PHẦN MỀM

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

Cài đặt trên môi trường smartphone hệ điều hành Android, Web browser

Sử dụng hệ quản trị cơ sở dữ liệu: Firebase Database

Sử dụng công nghệ: Ngôn ngữ C#, Java, JavaScript, Html, Engine Unity, Spring framework, React framework ,Firebase(Database, Authentication)

Bảng 2 4: Bảng yêu cầu chức năng của QuizGame

STT Tên yêu cầu Ghi chú Chức năng 1

Tiếp nhận thông tin đăng ký của thí sinh, sau khi tiếp nhận thông tin có thể được quản lý bởi quản trị viên Đăng kí Đăng nhập

Thêm xóa sửa thông tin user (admin)

Tổ chức thi cho một thí sinh Thi Tạo đề thi

3 Lưu cuộc thi Lưu cuộc thi cho mỗi thí sinh

4 Xem kết quả thí sinh

Thí sinh có thể xem kết quả các lần thi của mình, quản trị game có thể xem kết quả của các thí sinh

Kết quả các lần thi

Kết quả các lần thi của các thí sinh (admin)

Hình 2 1: Kiến trúc hệ thống

User: Đây là người chơi tham gia vào trò chơi Người chơi sẽ tương tác trực tiếp với giao diện User Interface để tham gia vào trò chơi

User Interface (Giao diện người dung) cung cấp một cách cho người chơi tương tác với trò chơi

Game client là phần mềm đặt trên thiết bị của người chơi Nó giúp người chơi tương tác với trò chơi thông qua giao diện người dùng Game client có thể chứa một phần của Business logic, nhưng thường sẽ cần giao tiếp với máy chủ trò chơi để cập nhật trạng thái của trò chơi

Máy chủ trò chơi quản lý trạng thái của trò chơi, xử lý các yêu cầu từ các game client, kiểm tra tính hợp lệ của các hành động của người chơi và cập nhật cơ sở dữ liệu Nó là nơi Business Logic Layer của trò chơi được thực thi

Người quản trị hệ thống thực hiện các tác vụ quản lý, có quyền thêm, sửa, xóa câu hỏi và nội dung trong trò chơi

Giao diện để admin có thể tương tác với hệ thống và quản lý nội dung của trò chơi

Xử lý các yêu cầu từ giao diện admin, kiểm tra tính hợp lệ của các tương tác, và gửi yêu cầu đến Application để cập nhật dữ liệu Đảm bảo các Business Logic được thực thi đúng đắn và bảo mật

Cung cấp giao tiếp giữa tầng Business Logic và Database Nhận yêu cầu từ Business Logic Layer và thực hiện các thao tác tương ứng trên cơ sở dữ liệu

Dữ liệu của trò chơi được lưu trữ tại đây, bao gồm câu hỏi, điểm số người chơi, trạng thái trò chơi, v.v Cơ sở dữ liệu giúp lưu trữ thông tin một cách liên tục và cho phép các trạng thái trò chơi được khôi phục khi cần thiết

CÁC MÔ HÌNH ĐẶC TẢ YÊU CẦU

2.3.1 Use Case Diagram của phần mềm Quiz:

Hình 3 1: Use case Diagram của QuizGame

2.3.2 Sơ đồ BPM (Business Process Model) cho từng nghiệp vụ Đăng nhập:

Hình 3 2: Sơ đồ BPM nghiệp vụ Đăng nhập

Hình 3 3: Sơ đồ BPM nghiệp vụ Đăng ký

Hình 3 4: Sơ đồ BPM nghiệp vụ thi, tiếp tục thi

Hình 3 5: Sơ đồ BPM nghiệp vụ tạo đề thi

Xem kết quả bài thi:

Hình 3 6: Sơ đồ BPM nghiệp vụ xem kết quả bài thi

Hình 3 7: Sơ đồ BPM nghiệp vụ lưu cuộc thi

KẾT CHƯƠNG

Trong chương 2, nhóm đã tập trung vào việc khảo sát hiện trạng của hệ thống và xác định yêu cầu của phần mềm Đã tiến hành giới thiệu ngắn gọn về hệ thống đã được khảo sát, cung cấp các biểu mẫu thu thập dữ liệu, và trình bày chi tiết quy trình nghiệp vụ của từng công việc diễn ra bên trong hệ thống

Tiếp theo, trong phần này đã xác định ra các yêu cầu chức năng và phi chức năng cần thiết cho phần mềm Điều này bao gồm cả việc phát triển một kiến trúc hệ thống rõ ràng để đảm bảo tính mô-đun và khả năng mở rộng Đồng thời, nhóm đã xây dựng các mô hình đặc tả yêu cầu, bao gồm Use Case Diagram để minh họa tác vụ mà người dùng có thể thực hiện, mô tả chi tiết từng Use Case với các tác nhân và bước thực hiện, cũng như sơ đồ BPM cho từng quy trình kinh doanh

Tóm lại, chương 2 đã cung cấp một cái nhìn tổng quan và cơ sở vững chắc cho việc phát triển phần mềm Chương 3 sẽ tiếp tục với phân tích phần mềm cụ thể để đáp ứng các yêu cầu đã xác định

PHÂN TÍCH PHẦN MỀM

GIỚI THIỆU

Giai đoạn phân tích trong quy trình phát triển phần mềm là một bước vô cùng quan trọng và cần thiết Dưới đây là một số lý do về sự cần thiết và tầm quan trọng của giai đoạn phân tích Phân tích giúp xác định và hiểu rõ về yêu cầu của dự án phần mềm Điều này đảm bảo rằng nhóm phát triển và người đặt hàng đang nói cùng một ngôn ngữ và có một kỳ vọng chung về sản phẩm cuối cùng Giai đoạn phân tích giúp loại bỏ hoặc giảm thiểu sự hiểu nhầm và sai sót về yêu cầu, tránh tình huống các tính năng không được thực hiện hoặc không đúng đối tượng Bên cạnh đó, giai đoạn này cung cấp thông tin cần thiết để đánh giá khả năng thực hiện dự án Nó giúp xác định các tài nguyên, thời gian và ngân sách cần thiết Đồng thời giúp định rõ cấu trúc và thiết kế của hệ thống Điều này cho phép tối ưu hóa thiết kế để đáp ứng yêu cầu và mục tiêu của dự án Nếu yêu cầu được phân tích rõ ràng và có kế hoạch thiết kế chính xác, việc thay đổi và mở rộng hệ thống sau này sẽ dễ dàng hơn Một giai đoạn phân tích cẩn thận giúp xác định và phát triển các tính năng quan trọng và phù hợp nhất với nhu cầu thực tế của người sử dụng cuối cùng, từ đó cung cấp giá trị cao hơn và tăng tính cạnh tranh của sản phẩm Mặc dù giai đoạn phân tích có thể tốn thời gian ban đầu, nhưng nó tiết kiệm thời gian và nguồn lực trong tương lai bằng cách giảm thiểu sự cần phải điều chỉnh và sửa đổi sau này

Tóm lại, giai đoạn phân tích không chỉ giúp định rõ yêu cầu và mục tiêu của dự án mà còn đóng vai trò quan trọng trong việc đảm bảo chất lượng, tiết kiệm thời gian và nguồn lực, cũng như giảm thiểu rủi ro trong quá trình phát triển phần mềm.

PHÂN TÍCH DỮ LIỆU

3.2.1 Giới thiệu mô hình CDM - ERD

Người dùng (user): Đại diện cho thông tin về người tham gia trò chơi, bao gồm tên, điểm số, tài khoản người dùng, password

Bài thi (Examination): Lưu trữ thông tin về phiên chơi cụ thể như số điểm, lần thi, tình trạng hoàn thành, thời gian làm bài, số câu trả lời đúng, số câu trả lời sai, … Đề thi (Test): Lưu trữ thông tin đề thi như thời gian giới hạn của đề thi, số lượng câu hỏi

Câu hỏi (Questions): Chứa thông tin về các câu hỏi trong đố vui, bao gồm nội dung câu hỏi, đáp án

Lịch sử (History): Lưu trữ thông tin tất cả các bài thi đã tham gia, như số điểm, số câu trả lời đúng, tình trạng hoàn thành, ngày hoàn thành, …

Người dùng (user): id_user, Mail, password, name

Bài thi (Examination): ExaminationID, IsDone, ExaminationTime và các thuộc tính chung của bảng thuộc tính chung Exam

Câu hỏi (Questions): QuestionID, Question, AnswerA, AnswerB, AnswerC, AnswerD, CorrectAnswer Đề thi (Test): TestID, PeriodOfTime, NumberOfQuestion

Lịch sử (History): id_History và các thuộc tính chung của bảng thuộc tính chung Exam

Bảng thuộc tính chung Exam: Score, Lần thi, NumberOfCorrectAns, NumberOfWrongAns

Một người chơi có thể tham gia nhiều bài thi Quan hệ này sẽ được thể hiện bằng một liên kết từ người chơi tới Cuộc thi (One-to-Many relationship) Cụ thể bởi mối quan hệ từ người chơi đến bảng thuộc tính chung Exam bằng mối quan hệ 1-n (One-To-Many) và mối quan hệ từ Bài thi đến bảng thuộc tính chung bằng mối quan hệ 1-1 (One-to- One)

Một Examination sử dụng 1 đề thi Đây là quan hệ One-to-One

Một Đề thi sử dụng nhiều câu hỏi và 1 câu hỏi được sử dụng nhiều lần Đây là một quan hệ Many-to-Many

Một người chơi chỉ có 1 history và ngược lại Đây là mối quan hệ One-to-One

Một nhật ký (History) chứa nhiều thông tin cuộc thi (Mối quan hệ One-to-Many của History và bảng thuộc tính chung Exam)

3.2.2 Lập mô hình thực thể liên kết

Hình 3 8: Mô hình thực thể liên kết QuizGame

3.2.3 Sưu liệu cho mô hình thực thể liên kết

Người chơi: Sưu tập thông tin về các người chơi, bao gồm tên, nhật ký tham gia các bài thi, tài khoản người dùng

Bài thi: Theo dõi thông tin về trò chơi, số câu trả lời đúng, điểm số, đề thi đã sử dụng Đề thi: Ghi lại danh sách các câu hỏi, bao gồm nội dung, đáp án

Câu hỏi: Chứa thông tin như câu hỏi, đáp án và đáp án đúng

Nhật ký: Sưu tập thông tin về người chơi, bao gồm tên bài thi đã tham gia, số điểm đạt được, số câu trả lời đúng.

PHÂN TÍCH XỬ LÝ

3.3.1 Sơ đồ phân cấp chức năng (BFD - Bussiness Functional Diagram)

Sơ đồ phân cấp chức năng của Quiz Game:

- CRUD Câu hỏi (Tạo, Đọc, Cập nhật, Delete câu hỏi)

- Xem kết quả bài thi (Xem lịch sử các bài thi đã tham gia)

- Lưu kết quả bài thi

3.3.2 Lập sơ đồ phân cấp chức năng (BFD - Bussiness Functional Diagram)

Hình 3 9: Sơ đồ BPM của phần mềm QuizGame

3.3.3 Sơ đồ dòng dữ liệu (Data Flow Diagram – DFD)

Sơ đồ dòng dữ liệu (Data Flow Diagram - DFD) là một biểu diễn đồ họa của luồng dữ liệu thông qua quy trình hoặc hệ thống Nó cho thấy đầu vào và đầu ra của từng quy trình, cũng như các kho dữ liệu được sử dụng DFD thường được sử dụng trong thiết kế và phát triển hệ thống để giúp hiểu và ghi lại luồng dữ liệu thông qua hệ thống

Các sơ đồ dòng dữ liệu theo các cấp của phần mềm QuizGame

Hình 3 10: Sơ đồ DFD mức 0 của phần mềm Quiz

Hình 3 11: Sơ đồ DFD mức 1 của phần mềm QuizGame

Hình 3 12: Sơ đồ DFD mức 2 của phần mềm QuizGame

Hình 3 13: Sơ đồ DFD mức 2 của phần mềm QuizGame

Hình 3 14: Sơ đồ dòng dữ liệu mức 2 của phần mềm QuizGame

Hình 3 15: Sơ đồ dòng dữ liệu mức 2 của phần mềm QuizGame

KẾT CHƯƠNG

Trong quá trình phát triển phần mềm, việc phân tích là một bước cực kì quan trọng để đảm bảo hiệu suất và hiệu quả của hệ thống Phần 3 của nghiên cứu đã cho

19 chúng ta một cái nhìn từ tổng quan đến chi tiết nhất trong việc phân tích phần mềm Bắt đầu với giới thiệu, giúp chúng ta hiểu rõ mục tiêu và phạm vi của dự án phần mềm

“Quiz-Game” Nó cung cấp các thông tin cơ bản về tình huống và môi trường mà phần mềm sẽ hoạt động Tiếp đến, mô hình dữ liệu ERD(Entity – Relationship Diagram) và CDM(Conceptual Data Model) đóng vai trò quan trọng trong phân tích phần mềm, dữ liệu bằng cách giúp ta hiểu và biểu diễn cấu trúc dữ liệu của hệ thống, định hình rõ yêu cầu dữ liệu và cung cấp cơ sở cho thiết kế cơ sở dữ liệu và phát triển phần mềm Cuối cùng,hai mô hình BFD(Business Functional Diagram) - DFD(Data Flow Diagram) giúp xác định, mô tả và tổ chức các chức năng chính của hệ thống Cải thiện sự hiểu biết và giao tiếp giữa các bên liên quan về cách dữ liệu chuyển đổi và luân phiên qua hệ thống, xác định quá trình, nguồn và đích dữ liệu

Phân tích phần mềm là quá trình quan trọng đầu tiên trong quá trình phát triển một ứng dụng hoặc hệ thống Sau khi đã thu thập và hiểu rõ yêu cầu của dự án, bước tiếp theo chúng ta tìm hiểu sẽ là Thiết kế phần mềm, nơi mà các ý tưởng và mô hình từ phân tích được biến thành một kế hoạch thiết kế cụ thể

THIẾT KẾ PHẦN MỀM

GIỚI THIỆU

Giai đoạn thiết kế trong quy trình phát triển phần mềm là một phần quan trọng và không thể thiếu Đây là giai đoạn nằm sau giai đoạn thu thập yêu cầu, phân tích phần mềm và trước khi bắt đầu thực hiện việc lập trình và kiểm thử.Giai đoạn này giúp xác định cấu trúc tổng quan của phần mềm, bao gồm các thành phần, mô-đun, và giao tiếp giữa chúng Điều này giúp đảm bảo rằng toàn bộ hệ thống được tổ chức một cách hợp lý và đáp ứng được yêu cầu của dự án Giúp tối ưu hóa hiệu suất của phần mềm bằng cách xác định cách sử dụng tài nguyên máy tính một cách hiệu quả, tối ưu hóa thời gian thực thi, và giảm thiểu tốn phí.Ở giai đoạn này, chúng ta sẽ tập trung vào việc thiết kế các tác vụ chi tiết của phần mềm như: thiết kế dữ liệu, thiết kế kiến trúc, thiết kế giao diện, và thiết kế xử lý.

THIẾT KẾ DỮ LIẾU

4.2.1 Giới thiệu mô hình PDM (Physical Data Model)

Mô hình dữ liệu vật lý (Physical Data Model) là một phần quan trọng trong quá trình phát triển cơ sở dữ liệu trong hệ thống thông tin Mô hình này tập trung vào cách dữ liệu được tổ chức và lưu trữ cụ thể trên cơ sở dữ liệu Thông qua mô hình vật lý, các chi tiết kỹ thuật như loại dữ liệu, chỉ mục (index), và ràng buộc (constraints) được xác định chi tiết để hỗ trợ hiệu suất và tối ưu hóa truy cập dữ liệu

Mô hình dữ liệu vật lý chủ yếu tập trung vào các khía cạnh kỹ thuật của cơ sở dữ liệu, bao gồm cấu trúc bảng, các quy tắc ràng buộc khóa, và các chỉ mục giúp tăng cường tốc độ truy xuất dữ liệu Nó đặt ra câu hỏi về cách dữ liệu sẽ được lưu trữ trên ổ đĩa, cách cụm từ dữ liệu sẽ được tối ưu hóa để đảm bảo hiệu suất, và cách các yếu tố bảo mật sẽ được triển khai

Mô hình dữ liệu vật lý thường được xây dựng dựa trên mô hình dữ liệu logic (Logical Data Model) đã được thiết kế trước đó, và nó là bước quan trọng để chuyển đổi từ thiết kế dữ liệu trừu tượng (CDM) sang một hệ thống cụ thể và tối ưu hóa cho môi trường cụ thể của cơ sở dữ liệu Ở phần tiếp theo, chúng ta sẽ tìm hiểu cách để chuyển đổi từ mô hình quan niệm (CDM) sang mô hình vật lý(PDM)

4.2.2 Chuyển đổi mô hình CMD/ERD sang mô hình PDM

Cơ sở dữ liệu được sử dụng cho mô hình là Firebase sử dụng NoSQL

History: thêm khóa ngoại id_user tham chiếu đến User

Examination: thêm khóa ngoại TestID tham chiếu đến Test

TestDetails: lưu thông tin giữa Test và Question, có 2 khóa chính TestID và QuestionID, khóa ngoại TestID tham chiến đến Test, khóa ngoại QuestionID tham chiếu đến Questions

Exam: có 3 khóa chính ExaminationID, id_user, id_History, khóa ngoại ExaminationID tham chiếu đến Examination, khóa ngoại id_user tham chiếu đến User, khóa ngoại id_History tham chiếu đến History

4.2.3 Sưu liệu cho mô hình PDM

Người chơi: Sưu tập thông tin về các người chơi, bao gồm tên, nhật ký tham gia các bài thi, tài khoản người dùng

Bài thi: Theo dõi thông tin về các trò chơi, số câu trả lời đúng, điểm số, đề thi đã sử dụng Đề thi: Ghi lại danh sách các câu hỏi, bao gồm nội dung, đáp án

Câu hỏi: Chứa thông tin như câu hỏi, đáp án và đáp án đúng

Nhật ký: Sưu tập thông tin về người chơi, bao gồm tên bài thi đã tham gia, số điểm đạt được, số câu trả lời đúng.

THIẾT KẾ KIẾN TRÚC

Kiến trúc phần mềm sử dụng là kiến trúc 3 lớp cho phép thiết kế, nâng cấp, sửa đổi phần mềm 1 cách dễ dàng

Kiến trúc 3 lớp (3-Tier Architecture)

- Giao diện người dùng (Presentation Layer): Đây là phần giao tiếp với người dùng Nó có thể là giao diện web, ứng dụng di động hoặc giao diện đồ họa.Giao diện người dùng (Presentation Layer): Đây là phần giao tiếp với người dùng Nó có thể là giao diện web, ứng dụng di động hoặc giao diện đồ họa Ở đây chính là tất cả những thứ người dùng có thể thấy và tương tác trên phần mềm đố vui

Như các giao diện câu hỏi trả lời, menu lựa chọn, menu kết quả, âm thanh, hình ảnh, giao diện đăng nhập, đăng ký, Đồng thời cũng bao gồm các quá trình xử lý UI như, chuyển đổi giữa các UI, hiển thị ra câu hỏi, câu trả lời kết quả tương ứng,

Chứa logic và xử lý dữ liệu Nó thực hiện các nhiệm vụ xử lý logic, kiểm tra dữ liệu và tương tác với cơ sở dữ liệu

Là nơi đáp ứng các yêu cầu thao tác dữ liệu của Presentation Layer, xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer (Hiển thị cho người dùng)

Tầng này chứa tất cả các quản lý về giao diện như cung cấp câu hỏi câu trả lời tương ứng để Presentation Layer xử lý, điều phối tất cả các hoạt động ngầm như tính điểm, thay đổi câu hỏi, câu trả lời, quản lý menu

Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìm kiếm, thêm, xóa, sửa,…)

Chịu trách nhiệm chính lưu trữ và truy xuất dữ liệu từ các nguồn dữ liệu (Firebase) Truy xuất dữ liệu người dùng, các đề thi, và cung cấp cho BLL xử lý.

THIẾT KẾ GIAO DIỆN

4.4.1 Giao diện phía user Đăng nhập

Hình 4 1: Giao diện khi vào ứng dụng (Đăng nhập)

Hình 4 2: Giao diện khi đăng ký tài khoản

Giao diện hoàn tất đăng nhập

Hình 4 3: Giao diện khi đăng nhập thành công

Hình 4 4: Giao diện chọn độ khó bài thì

Hình 4 5: Giao diện trả lời câu hỏi

Hình 4 6:Giao diện khi kết thúc phần chơi

Hình 4 7: Giao diện lịch sử (History) chơi

Hình 4 8: Giao diện cài đặt(cài đặt âm thanh và nhạc nền)

Hình 4 9: Giao diện đăng nhập Web Admin

Hình 4 11: Giao diện xem kết quả của các user

Hình 4 12: Giao diện xem câu hỏi

Hình 4 13: Giao diện thêm câu hỏi

Hình 4 14: Giao diện cập nhật đề thi

Hình 4 15: Giao diện xem đề thi

THIẾT KẾ XỬ LÝ

Hình 4 16: Thiết kế xử lý câu hỏi

Hình 4 17: Thiết kế xử lý cập nhật câu hỏi

Hình 4 18: Thiết kế xử lý tạo câu hỏi

Hình 4 19: Thiết kế xử lý xem đề thi

Xem kết quả của người chơi

Hình 4 20: Thiết kế xử lý xem kết quả của người chơi

Hình 4 23: Sequence xem lịch sử

- Chọn độ khó đề thi

Hình 4 24: Sequence chọn độ khó

Hình 4 25: Sequence lưu kết quả

KẾT CHƯƠNG

Phần kết chương của dự án phần mềm này đánh dấu sự hoàn thành của quá trình thiết kế và đồng thời là bước quan trọng chuyển giao từ giai đoạn lập kế hoạch sang giai đoạn triển khai Trong quá trình thiết kế phần mềm, chúng tôi đã tập trung vào việc đáp ứng đầy đủ các yêu cầu chức năng và phi chức năng, đồng thời tối ưu hóa hiệu suất và tương tác người dùng Thiết kế dữ liệu được xây dựng với sự cân nhắc kỹ lưỡng, đảm bảo tính nhất quán và hiệu suất cao trong việc xử lý thông tin Kiến trúc phần mềm được xác định với sự linh hoạt và mở rộng, giúp dễ dàng bảo trì và nâng cấp hệ thống trong tương lai Quá trình xử lý dữ liệu được tối ưu hóa để đáp ứng các yêu cầu hiệu suất cao và đảm bảo tính ổn định của hệ thống

Kiến trúc phần mềm được xác định với sự linh hoạt và mở rộng, giúp dễ dàng bảo trì và nâng cấp hệ thống trong tương lai Mô-đun xử lý được thiết kế một cách modulized để tối ưu hóa khả năng mở rộng và tái sử dụng mã nguồn Các giao diện người dùng được thiết kế với sự tập trung vào trải nghiệm người dùng, đảm bảo tính thân thiện và dễ sử dụng

Quá trình xử lý dữ liệu được tối ưu hóa để đáp ứng các yêu cầu hiệu suất cao và đảm bảo tính ổn định của hệ thống Chúng tôi đã áp dụng các kỹ thuật và tiêu chuẩn phát triển phần mềm hàng đầu để đảm bảo chất lượng và độ tin cậy của sản phẩm Cuối cùng, dự án đã được kiểm thử kỹ lưỡng để đảm bảo tính ổn định, tính nhất quán và an toàn trong mọi tình huống sử dụng

Tổng kết, dự án phần mềm đã tiến hành thiết kế và triển khai theo các yêu cầu và mục tiêu ban đầu đặt ra Qua quá trình này, chúng tôi đã chú trọng vào việc đảm bảo tính hoàn thiện kỹ thuật và thiết kế hệ thống Dữ liệu được quản lý một cách nhất quán và hiệu quả, đồng thời kiến trúc của phần mềm được xây dựng với tính linh hoạt và khả năng mở rộng

CÀI ĐẶT VÀ KIỂM THỬ

Tóm tắt kết quả

Đồ án phần mềm đố vui đã thành công trong việc phát triển một ứng dụng giải trí mang lại trải nghiệm thú vị cho người dùng Ứng dụng này được thiết kế với mục tiêu chính là cung cấp trò chơi đố vui, giúp người chơi thư giãn và cải thiện khả năng tư duy Ưu và nhược điểm của phần mềm

Tính Năng Đa Dạng: Ứng dụng có nhiều chế độ chơi, đa dạng câu đố, Điều này mang lại sự đa dạng và lựa chọn cho người chơi Giao Diện Thân Thiện: Giao diện người dùng được thiết kế để dễ sử dụng và thân thiện với người dùng Nó cung cấp trải nghiệm trực quan và thoải mái cho người chơi

Quản Lý Dữ Liệu: Hệ thống quản lý dữ liệu được xây dựng để lưu trữ và quản lý các câu hỏi, đáp án, và thông tin liên quan đến trò chơi một cách hiệu quả Chức Năng Thêm/Sửa/Xóa Câu Hỏi: Người quản trị có thể dễ dàng thêm, chỉnh sửa, hoặc xóa câu hỏi, tạo ra sự linh hoạt trong việc cập nhật nội dung trò chơi

Theo dõi Kết quả: Hệ thống có chức năng lưu kết quả, theo dõi tiến độ chơi và cung cấp thông tin về kết quả cho người chơi Đa Nền Tảng: Ứng dụng có thể chạy trên nhiều nền tảng khác nhau như Android, IOS, mang lại sự linh hoạt cho người chơi

Tải màn chơi chậm, có thời gian chờ lâu, điều này có thể làm mất đi sự hấp dẫn của trò chơi

Trò chơi sẽ có UI đẹp nhất trên màn hình tỉ lệ 18:9, trên các màn hình tỷ lệ khác

UI sẽ co dãn để phù hợp với tỷ lệ, đây có thể coi vừa coi là 1 nhược điểm nhưng cũng có thể coi là ưu điểm

Chưa có trải nghiệm animation mượt mà.

Hướng phát triển tương lai

Chế độ chơi đa dạng, theo chủ đề: Thêm các chế độ chơi mới, chẳng hạn như chế độ đa người chơi để làm phong phú hóa trải nghiệm Thêm các gói câu hỏi theo chủ đề mà vẫn giữ được tinh thần của trò chơi đố vui

Trong trò chơi có tính năng lưu lại bài Test (các câu hỏi có trong bài thi) với tính năng này, ta hoàn toàn có thể phát triển thêm chức năng hoàn thành những lần chơi chưa kết thúc

Firebase cho phép chúng ta lưu trữ và đọc ghi dữ liệu có giới hạn, nếu Trò chơi đố vui này chỉ dùng nội bộ ở cấp độ , ví dụ như trong 1 trường học đổ lại thì nó vẫn dùng tốt Nhưng nếu ta thay đổi mục tính của trò chơi lớn hơn hay thương mại hóa Ta phải quan tâm đến vấn đề tính phí vận hành của trò chơi, lúc này ta cần hạn chế lưu các dữ liệu có kiểu string trong Firestore, cụ thể ta lưu trực tiếp dữ liệu câu hỏi trong game thông qua PlayerPrefs, 1 class hỗ trợ việc lưu dữ liệu trong Unity, điều này để giúp tối ưu cho chi phí phải chi trả cho Firebase, đồng thời thì việc tải màn chơi cũng sẽ nhanh hơn Nhưng nhược điểm dữ liệu lưu trực tiếp trong game sẽ dễ bị hack hơn nhưng vì đây một phần mềm đố vui chứ không phải là 1 phần mềm kiểm tra nên ta không cần phải quan tâm quá nhiều đến chuyện đó

Trải nghiệm người dùng thân thiện hơn: Các hoạt ảnh, animation được dùng trong ứng dụng trở nên đẹp và mượt hơn, mang lại cho người dùng một trải nghiệm tốt nhất

Ngày đăng: 13/11/2024, 15:35

HÌNH ẢNH LIÊN QUAN

Hình 3. 13: Sơ đồ DFD mức 2 của phần mềm QuizGame - Đồ Án môn học phần mềm thi Đố vui
Hình 3. 13: Sơ đồ DFD mức 2 của phần mềm QuizGame (Trang 23)
Hình 4. 1: Giao diện khi vào ứng dụng (Đăng nhập) - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 1: Giao diện khi vào ứng dụng (Đăng nhập) (Trang 28)
Hình 4. 2: Giao diện khi đăng ký tài khoản - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 2: Giao diện khi đăng ký tài khoản (Trang 29)
Hình 4. 3: Giao diện khi đăng nhập thành công - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 3: Giao diện khi đăng nhập thành công (Trang 30)
Hình 4. 4: Giao diện chọn độ khó bài thì - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 4: Giao diện chọn độ khó bài thì (Trang 31)
Hình 4. 5: Giao diện trả lời câu hỏi - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 5: Giao diện trả lời câu hỏi (Trang 32)
Hình 4. 6:Giao diện khi kết thúc phần chơi - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 6:Giao diện khi kết thúc phần chơi (Trang 33)
Hình 4. 7: Giao diện lịch sử (History) chơi - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 7: Giao diện lịch sử (History) chơi (Trang 34)
Hình 4. 8: Giao diện cài đặt(cài đặt âm thanh và nhạc nền) - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 8: Giao diện cài đặt(cài đặt âm thanh và nhạc nền) (Trang 35)
Hình 4. 18: Thiết kế xử lý tạo câu hỏi - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 18: Thiết kế xử lý tạo câu hỏi (Trang 41)
Hình 4. 20: Thiết kế xử lý xem kết quả của người chơi - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 20: Thiết kế xử lý xem kết quả của người chơi (Trang 42)
Hình 4. 21: Sequence đăng nhập - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 21: Sequence đăng nhập (Trang 43)
Hình 4. 23: Sequence xem lịch sử - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 23: Sequence xem lịch sử (Trang 44)
Hình 4. 24: Sequence chọn độ khó - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 24: Sequence chọn độ khó (Trang 44)
Hình 4. 25: Sequence lưu kết quả - Đồ Án môn học phần mềm thi Đố vui
Hình 4. 25: Sequence lưu kết quả (Trang 45)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w