Mọi người đều bịcuống vào vòng vây của công việc mà không có thời gian thư giản, vì vậy emchọn đề tài “Xây dựng ứng dụng quản lý và kiểm tra trắc nghiệm trênandroid” với mục đích nghiên
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT – HÀN
ĐỒ ÁN CƠ SỞ 2
KIỂM TRA TRẮC NGHIỆM TRÊN ANDROID
Sinh viên thực hiện : Võ Đăng Lâm
Giảng viên hướng dẫn: ThS Nguyễn Văn Bình
Lớp : 17IT2
Đà Nẵng, tháng 12 năm 2010
Trang 2MỞ ĐẦU
Trong vài năm trở lại đây, hệ điều hành Android ra đời với sự kế thừanhững ưu việt của các hệ điều hành ra đời trước và sự kết hợp của nhiều côngnghệ nổi tiếng hiện nay của Google Android đã nhanh chóng là đối thủ cạnhtranh mạnh mẽ với các hệ điều hành trước đó và đang là hệ điều hành di độngcủa tương lai và được nhiều người ưu chuộng nhất
Ngày nay, với sự phát triển nhanh chóng của xã hội Mọi người đều bịcuống vào vòng vây của công việc mà không có thời gian thư giản, vì vậy emchọn đề tài “Xây dựng ứng dụng quản lý và kiểm tra trắc nghiệm trênandroid” với mục đích nghiên cứu, tìm hiểu về hệ điều hành android và xâydựng ứng dụng để năng cao khả năng của mình
Trang 3để hoàn thành đề tài đồ án này.
Mặc dù trong quá trình nghiên cứu đề tài, bản thân em có những cố gắng nhất địnhsong do trình độ và thời gian có hạn nên đề tài không tránh khỏi những thiếu sót Vậykính mong các thầy cô và các bạn đóng góp ý kiến để em được hoàn thiện hơn
Trang 4NHẬN XÉT
(Của giảng viên hướng dẫn)
………
………
………
………
………
………
………
………
………
Trang 5
MỤC LỤC
Trang
Chương 1 Giới thiệu 1
1.1 Tổng quan 1
1.2 Khảo sát thực tế 1
1.3 Phương pháp, kết quả 2
1.4 Cấu trúc đồ án 2
Chương 2 Phân tích thiết kế hệ thống 4
2.1 Tổng quan 4
2.1.1 Giới thiệu về hệ thống 4
2.1.2 Các yêu cầu của ứng dụng trắc nghiệm và ứng dụng quản lý 4
2.2 Liệt kê Actor - Usecase 4
2.2.1 Người dùng 4
2.2.2 Người quản lý 5
2.3 Sơ đồ Usecase 5
2.4 Sơ đồ hoạt động 6
2.4.1 Ứng dụng trắc nghiệm 6
2.4.2 Ứng dụng quản lý 8
2.5 Cơ sở dữ liệu 11
2.5.1 Bảng danh mục câu hỏi – Categories 11
2.5.2 Bảng bộ câu hỏi – Sets 11
2.5.3 Bảng câu hỏi – Quiz 12
Chương 3 Triển khai xây dựng hệ Thống 13
3.1 Mô hình tổng quan của hệ thống nghiên cứu 13
3.2 Xây dựng ứng dụng 13
3.2.1 Xây dựng cơ sở dữ liệu trên firebase 13
3.2.2 Xây dựng ứng dụng quản lý câu hỏi trắc nghiệm 14
3.2.3 Xây dựng ứng dụng trả lời câu hỏi trắc nghiệm 17
Chương 4 Kết luận và hướng phát triển 21
4.1 Kết luận 21
4.2 Hướng phát triển 21
Trang 6DANH MỤC HÌNH
Trang
Hình 2.1- Biểu đồ use case 5
Hình 2.2- Sơ đồ hoạt động làm trắc nghiệm 6
Hình 2.3- Biểu đồ hoạt động xem bookmarks 7
Hình 2.4- Biểu đồ hoạt động đăng nhập 8
Hình 2.5- Biểu đồ hoạt động thêm và xóa danh mục 9
Hình 2.7- Biểu đồ hoạt động hêm và chỉnh sửa câu hỏi 10
Hình 2.8- Quan hệ giữa các bảng dữ liệu 11
Hình 3.1-Mô hình client-server 13
Hình 3.2- Tài khoản đăng nhập lưu trữ trên Firebase 13
Hình 3.3-Cơ sỡ dữ liệu trên Firebase 14
Hình 3.4 -Giao diện đăng nhập 14
Hình 3.5-Giao diện chính của ứng dụng 15
Hình 3.6- Tạo danh mục câu hỏi 16
Hình 3.7- Nhóm các câu hỏi trong một danh mục 16
Hình 3.8- Chi tiết trong một bộ câu hỏi 17
Hình 3.9-Hiển thị chi tiết câu hỏi, thêm và sửa câu hỏi 17
Hình 3.10-Giao diện khởi động ứng dụng 18
Hình 3.11- Giao diện chọn danh mục câu hỏi 18
Hình 3.12- Giao diện chọn bộ câu hỏi 19
Hình 3.13-Bắt đầu trả lời câu hỏi 20
Hình 3.14- Hoàn thành bài kiểm tra 20
Hình 3.15-Hiển thị kết quả và câu hỏi yêu thích 20
Trang 8Chương 1 Giới thiệu
Phần này sẽ chia thành hai ứng dụng với các chức năng khác nhau Phần một là ứngdụng quản lý câu hỏi trắc nghiệm Phần này có các chức năng như sau: tạo bộ câu hỏi,câu hỏi; chỉnh sữa câu hỏi… Phần hai là ứng trả lời câu hỏi trắc nghiệm Phần này có một
số chức năng như sau: trả lời câu hỏi, chia sẽ câu hỏi, thêm câu hỏi vào phần yêu thích và
có tích hợp quảng cáo của google
Dân số thế giới hiện đang có 7,8 tỷ người và có đến 4,2 tỷ (53,6%) người hiện đang
có thể tiếp cận được với kết nối Internet và trong năm 2020 này đang có 2,96 tỷ người đang chơi những trò chơi điện tử Theo như Newzoo dự đoán thì trong năm 2023 thì con
số này sẽ tăng lên 3 tỷ người Đây cũng là lý do khiến cho những chỉ số của thị trường game toàn cầu luôn có dấu hiệu tăng dù bị chi phối bởi nhiều yếu tố khác nhau
Hầu như những phân khúc của thị trường game đều có dấu hiệu tăng trưởng, nhưng đáng nói nhất chính là game mobile khi mà thị trường này có sự gia tăng vượt bậc nhất,
dự kiến đạt được 77,2 tỷ USD trong năm 2020, tương đương 13,3% mỗi năm Game trên nền tảng di động có thể được xem là một mảnh đất màu mỡ chờ được khai phá khi mà chỉ
có khoảng 38% người dùng chịu chi cho những tựa game mobile
Hầu như những phân khúc của thị trường game đều có dấu hiệu tăng trưởng, nhưng đáng nói nhất chính là game mobile khi mà thị trường này có sự gia tăng vượt bậc nhất,
dự kiến đạt được 77,2 tỷ USD trong năm 2020, tương đương 13,3% mỗi năm Game trên
Trang 9nền tảng di động có thể được xem là một mảnh đất màu mỡ chờ được khai phá khi mà chỉ
có khoảng 38% người dùng chịu chi cho những tựa game mobile
Phương pháp xây dựng ứng dụng sẽ bao gồm các bước sau:
- Ôn lại và tìm hiểu các ngôn ngữ dự kiến áp dụng trong đồ án này như java, xml, android…
- Tiến hành phân tích và thiết kế hệ thống:
• Mô tả hệ thống: xác định các actor, use case và xây dựng use case diagram
• Phân tích hệ thống: phân tích về các biểu đồ nghiệp vụ, biểu đồ ngữ cảnh và các biểu đồ lớp…
• Thiết kế hệ thống: Thiết kế giao diện, cơ sỡ dữ liệu cho ứng dụng
- Xây dựng cơ sỡ dữ liệu trên firebase
- Phác thảo sơ bộ giao diện của “Ứng dụng câu hỏi trắc nghiệm và quản lý” bằng ngôn ngữ xml
- Tiến hành sử dụng các công cụ, ngôn ngữ và phác thảo trước đó để tiến hành lập trình tạo ra “Ứng dụng câu hỏi trắc nghiệm và quản lý”
- Tiến hành chạy thử nghiệm sản phẩm để kiểm tra độ ổn định thực tế
Phần tiếp theo của báo cáo bao gồm:
- Chương 2: Nghiên cứu tổng quan.
Trong chương này, chúng em sẽ giới thiệu về các ứng dụng đã có sẵn tương tự với
hệ thống của chúng em Tiếp theo em sẽ giới thiệu tổng quát về các công nghệ và phầnmềm em sữ dụng để xây dựng ứng dụng
- Chương 3: Phân tích thiết kế hệ thống.
Phần này sẽ phân tích thiết kế hệ thống theo tất cả các mô hình Thiết kế giao diện
và cơ sở dữ liệu cho ứng dụng
- Chương 4: Triển khai xây dựng.
Trong chương này, em sẽ trình bày vê mô hình tổng quan của ứng dụng và giớithiệu về cách triển khai xây dựng ứng dụng
- Chương 5: Kết luận và hướng phát triển.
2
Trang 10Trong chương này, em sẽ chia thành 2 phần Phần 1 kết luận sẽ giới thiệu về những
gì mà ứng dụng đã được và hạn chế của nó Phần 2 hướng phát triển sẽ đưa ra nhữnghướng đi sau này của ứng dụng
Chương 2 Phân tích thiết kế hệ thống
2.1.1 Giới thiệu về hệ thống.
Hệ thống bao gồm hai phần:
Trang 11- Ứng dụng trắc nghiệm: dành cho người dùng (user) sử dụng Người dùng sử dụng ứng dụng và tiến hành làm các câu hỏi…
- Ứng dụng quản lý: dành cho người quản lý (admin) Admin sẽ đăng nhập bằng tài khoản mặc định dành cho admin để thực hiện quản lý câu hỏi
2.1.2 Các yêu cầu của ứng dụng trắc nghiệm và ứng dụng quản lý.
- Phần ứng dụng trắc nghiệm phải có giao diện bắt mắt, dễ nhìn và dễ sử dụng
- Hệ thống phải có danh mục và bộ câu hỏi phong phú, đa dạng, dành cho nhiều đối tượng sử dụng Việc thực hiện bài trắc nghiệm phải đơn giản và chính xác
- Dễ vận hành, dễ sử dụng
- Tốc độ load nhanh, nhẹ, không ảnh hưởng đến trải nghiệm người dùng
2.2 Liệt kê Actor - Usecase
2.2.1 Người dùng
Là người tải ứng dụng về máy và tiến hành chơi trò chơi và sử dụng các chức năng khác trên máy
- Xem danh mục câu hỏi và chọn
- Xem các bộ câu hỏi
- Thực hiện bài kiểm tra trắc nghiệm
- Xem kết quả
- Chia sẽ câu hỏi cho bạn bè
- Thêm câu hỏi vào danh mục câu hỏi yêu thích
- Xem danh sách câu hỏi yêu thích
2.2.2 Người quản lý.
Là người đăng nhập vào ứng dụng quản lý Họ có quyền thêm câu hỏi hoặc chỉnh sửa các câu hỏi khi có lỗi
- Đăng nhập
- Xem danh mục câu hỏi
- Thêm danh mục câu hỏi
- Xóa danh mục câu hỏi
- Xem số bộ câu hỏi
4
Trang 12- Thêm bộ câu hỏi.
- Thêm câu hỏi bằng tay hoặc bằng excel
- Chỉnh sửa câu hỏi
Hình 2.1- Biểu đồ use case.
Trang 132.4 Sơ đồ hoạt động
2.4.1 Ứng dụng trắc nghiệm
Hình 2.2- Sơ đồ hoạt động làm trắc nghiệm.
6
Trang 14Hình 2.3- Biểu đồ hoạt động xem bookmarks.
Trang 152.4.2 Ứng dụng quản lý
Hình 2.4- Biểu đồ hoạt động đăng nhập.
8
Trang 16Hình 2.5- Biểu đồ hoạt động thêm và xóa danh mục.
Trang 17Hình 2.6- Biểu đồ hoạt động hêm và chỉnh sửa câu hỏi.
10
Trang 182.5 Cơ sở dữ liệu
Hình 2.7- Quan hệ giữa các bảng dữ liệu.
2.5.1 Bảng danh mục câu hỏi – Categories.
Tên trường Mô tả Kiểu dữ liệu Ràng buộccategoriesID ID của danh mục câu
hỏi
varchar (255) Primary key
name Tên danh mục câu hỏi varchar (255)
imageUrl Đường dẫn hỉnh ảnh
biểu thị danh mục
Varchar (255)
2.5.2 Bảng bộ câu hỏi – Sets.
Tên trường Mô tả Kiểu dữ liệu
setID ID của bộ câu hỏi varchar (255) Primary key
categoriesID ID của danh mục câu
hỏi
varchar (255) Foreign key
2.5.3 Bảng câu hỏi – Quiz.
Tên trường Mô tả Kiểu dữ liệu Ràng buộc
Trang 19quizID ID của câu hỏi varchar (255) Primary key
correctAns Đáp án đúng của câu
question Câu hỏi text (255)
setID ID của bộ câu hỏi varchar (255) Foreign key
Chương 3 Triển khai xây dựng hệ Thống
3.1 Mô hình tổng quan của hệ thống nghiên cứu.
Ứng dụng sẽ hoạt động dựa trên mô hình client-server Trong đó lấy các ứng dụng đượccài đặt trên các thiết bị di động là các client Còn firebase làm server để lưu trữ dữ liệu Ban đầu các client sẽ liên kết với server để lấy dữ liệu về Phần ứng dụng quản lý lấy dữ
12
Trang 20liệu về để thực hiện các chức năng cơ bản như: thêm sửa, xóa dữ liệu… Còn phần ứng dụng trả lời trắc nghiệm sẽ lấy bộ dữ liệu về để thực các chức năng tổ chức các câu hỏi thành các phần kiểm tra trắc nghiệm, thêm các chức năng như thêm vào phần yêu thích, chia sẽ cho người khác…
Hình 3.8-Mô hình client-server.
3.2.1 Xây dựng cơ sở dữ liệu trên firebase.
Ứng dụng quản lý sẽ đăng nhập bằng tài khoản admin được lưu trữ trên firebase
Hình 3.9- Tài khoản đăng nhập lưu trữ trên Firebase.
Dữ liệu được lưu trữ trên firebase ở dưới dạng cây Json với nhiều nút lớn Giữa các nút
có sự liên kết với nhau bằng các id với nhau Nhìn hình ảnh cấu trúc dữ liệu ở dưới ta có thể thấy rằng dữ liệu được chia thành hai nhánh chính là “Categories” và “SETS” Giữa hai nhánh dữ liệu này có sự liên kiết bằng cách id của biến sets trong categories củng sẽ
là id của biến SETS
Trang 21Hình 3.10-Cơ sỡ dữ liệu trên Firebase
3.2.2 Xây dựng ứng dụng quản lý câu hỏi trắc nghiệm.
a Giao diện ứng dụng
Giao diện đăng nhập sẽ bao gồm hai edittext để nhập thông tin email và password Còn button sẽ dùng để nhấn đăng nhập
Hình 3.11 -Giao diện đăng nhập.
Màn hình chính của ứng dụng có phần chính là recyclerview để hiển thị list danh sáchcác danh mục câu hỏi Trên mỗi một một danh mục gồm ba phần là ảnh, tên danh mục vàmột buttuon dùng để xóa danh mục Ở phần toolbar chứa hai button, một để đăng xuất vàmột dùng tạo danh mục mới
14
Trang 22
Hình 3.12-Giao diện chính của ứng dụng.
Phần tạo danh mục câu hỏi thì nó là một dialog chứa một imageview dùng để chọnảnh từ thiết bị di động, một plaintext nhập tên danh mục và một button để tạo danh mục
Hình 3.13- Tạo danh mục câu hỏi
Khi chọn một danh mục thì nó sẽ chuyển đến một girdview với item đầu tiên là +dùng để tạo thêm các câu hỏi mới Ở đây các bộ câu hỏi xếp theo số thứ tự
Trang 23
Hình 3.14- Nhóm các câu hỏi trong một danh mục.
Khi nhấn vào một bộ câu hỏi thì nó sẽ hiện thị một danh sách câu hỏi trong bộ đó Ởtrong danh sách này sẽ hiển thị các câu hỏi và đáp án theo danh sách thứ tự Ở phía trêndanh sách sẽ cho ta thêm lựa chọn là thêm câu hỏi bằng cách nhập thủ công hoặc thêmcâu hỏi bằng file excel
Hình 3.15- Chi tiết trong một bộ câu hỏi.
Phần này vừa là dùng để thêm câu hỏi vừa dùng để chỉnh sửa câu hỏi Khi ta nhấnbutton “Thêm” ở hình 3.8 thì nó sẽ tới giao diện trống không có dữ liệu, ta phải nhập dữ
16
Trang 24liệu mới Còn khi ta chọn câu hỏi thì nó sẽ chuyển giao diện đến phần có dữ liệu nhưhình dưới Ở đó ta có thể tùy chỉnh câu hỏi theo ý ta.
Hình 3.16-Hiển thị chi tiết câu hỏi, thêm và sửa câu hỏi.
3.2.3 Xây dựng ứng dụng trả lời câu hỏi trắc nghiệm.
a Phần giao diện
Khi vào ứng dụng, chúng ta sẽ có hai sự lựa chọn là chọn “START QUIZ” để tiếp tụcchơi Còn chọn “BOOKMARKS” để vào danh sách câu hỏi yêu thích
Trang 25Hình 3.17-Giao diện khởi động ứng dụng.
Sau khi nhấn chọn “START QUIZ” thì nó sẽ tiếp tục chuyển tới giao diện chứa danhmục câu hỏi cho chúng ta lựa chọn Tại đây khi ta chọn một danh mục nhất định thì nó sẽchuyển đến giao diện chứa các bộ câu hỏi Còn ta có nhể nhắn dấu “x” để tắt quảng cáo
Hình 3.18- Giao diện chọn danh mục câu hỏi.
18
Trang 26
Hình 3.19- Giao diện chọn bộ câu hỏi.
Phần trả lời câu hỏi (hình 3.13) nó sẽ bao gồm phần edittext chứa câu hỏi Mộtedittext cho biết số thứ tự câu hỏi trên tổng số câu hỏi, một button để thêm câu hỏi vàoBookmark Danh sách các câu trả lời để ta chọn một đáp án Hai button để ta có sự lựachọn chia sẻ câu hỏi cho người khác và next để chuyển sang câu hỏi tiếp theo
Trang 27
Hình 3.20-Bắt đầu trả lời câu hỏi.
Phần này hiển thị khi ta hoàn thành phần thi Nó sẽ có số câu ta trả lời đúng trên tổng
số câu Và button “DONE” để chuyển về giao diện bắt đầu
Hình 3.21- Hoàn thành bài kiểm tra
Hiển thi bộ các câu hỏi yêu thích của người dùng
20
Trang 28
Hình 3.22-Hiển thị kết quả và câu hỏi yêu thích
Chương 4 Kết luận và hướng phát triển
Nhìn chung, sau khi kết thúc đề tài chúng em đã đạt được những điều sau đây:
- Nắm bắt được công nghệ lập trình mobile, cụ thể là lập trình android
- Sử dụng được công nghệ Firebase cho android
- Hoàn thành quá trình phân tích thiết kế hệ thống cho một ứng dụng thực tế
- Hai ứng dụng đả hoạn thiện đầy đủ các chức năng
Bên cạnh đó, nó còn một số hạn chế như sau:
- Giao diện của app còn chưa được đẹp
- Trong quá trình sử dụng có thể gặp một số lỗi hiển thị
- Bộ câu hỏi chưa được phong phú
Các hướng phát triển mà em sẽ hướng đến là:
- Nâng cấp giao diện cho ứng dụng
Trang 29- Thêm các chức năng nâng cao
- Thêm dữ liệu về bộ câu hỏi
- Liên kết với các mạng xã hội để mọi người có thể chia sẽ thành quả của mình
22