Tải bản đầy đủ (.pdf) (47 trang)

Ứng dụng luyện thi giấy phép lái xe b1, b2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.48 MB, 47 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN PHẠM DUY BẰNG
VÕ THỊ THỦY TIÊN

ĐỒ ÁN 1
ỨNG DỤNG LUYỆN THI GIẤY PHÉP LÁI XE B1, B2
APPLICATION FOR DRIVING LICENSE EXAMINATION
B1, B2

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN PHẠM DUY BẰNG-19520397
VÕ THỊ THỦY TIÊN-19520296

ĐỒ ÁN 1
ỨNG DỤNG LUYỆN THI GIẤY PHÉP LÁI XE B1, B2
APPLICATION FOR DRIVING LICENSE EXAMINATION
B1, B2

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM


GIẢNG VIÊN HƯỚNG DẪN
ThS HUỲNH HỒ THỊ MỘNG TRINH

TP. HỒ CHÍ MINH, 2021


LỜI CẢM ƠN
Để có thể hồn thành đồ án một cách hồn chỉnh, nhóm em đã nhận được rất nhiều
sự hướng dẫn nhiệt tình của q Thầy Cơ. Vì vậy, nhóm xin phép được gửi những lời cảm
ơn chân thành nhất.
Đầu tiên, nhóm em xin chân thành cảm ơn và bày tỏ lòng biết ơn sâu sắc nhất đến
ThS Huỳnh Hồ Thị Mộng Trinh, cơ đã tận tình chỉ bảo, hướng dẫn, truyền đạt những
kinh nghiệm, kiến thức chuyên môn và các tài liệu liên quan để nhóm có thể hồn thanh
khóa luận tốt nhất. Nhóm xin gửi đến cơ những lời tri ân nhất đối với những điều mà cơ
đã dành cho nhóm.
Nhóm cũng xin chân thành cảm ơn tồn thể q thầy cơ trong khoa Cơng Nghệ
Phần Mềm và tồn thể q thầy cơ của Trường Đại Học Công Nghệ Thông Tin TP.HCM.
Quý thầy cô đã luôn tận tình truyền đạt những kiến thức, kinh nghiệm quý báu cũng như
tạo mọi điều kiện thuận lợi nhất cho nhóm trong suốt quá trình học tập tại trường và đặc
biệt hơn là trong suốt quá trình thực hiện đồ án này.


MỤC LỤC

TÓM TẮT ĐỒ ÁN ..........................................................................................................1
Chương 1. TỔNG QUAN .............................................................................................2
1.1.

Đặt vấn đề ..........................................................................................................2


1.2.

Các ứng dụng tương tự.......................................................................................2

1.2.1.

Ứng dụng Ôn thi GPLX (600 câu hỏi) ........................................................3

1.2.2.

Ứng dụng Lấy bằng GPLX .........................................................................3

1.2.3.

Tóm lược .....................................................................................................4

1.3.

Mục tiêu .............................................................................................................4

1.4.

Phạm vi ..............................................................................................................5

Chương 2. TỔNG QUAN CÔNG NGHỆ .....................................................................6
2.1.

Flutter .................................................................................................................6

2.2.


SQLite ................................................................................................................6

2.3.

NodeJS ...............................................................................................................8

2.4.

ExpressJS ...........................................................................................................8

2.5.

SocketIO.............................................................................................................9

Chương 3. PHÂN TÍCH THIẾT KẾ ỨNG DỤNG ......................................................9
3.1.

Phân tích .............................................................................................................9

3.1.1.

Danh sách yêu cầu hệ thống ........................................................................9

3.1.2.

Đặc tả Usecase ..........................................................................................11

3.2.


Thiết kế ............................................................................................................17

3.2.1.

Thiết kế cơ sở dữ liệu ................................................................................17


3.2.2.

Thiết kế giao diện ......................................................................................24
Thiết kế kiến trúc hệ thống ...........................................................................38

3.3.

Chương 4. KẾT LUẬN............................................................................................38
Kết quả đạt được ...........................................................................................38

4.1.
4.2.

Thuận lợi, khó khăn .........................................................................................39

4.2.1.

Thuận lợi ...................................................................................................39

4.2.2.

Khó khăn thách thức .................................................................................39


4.2.3.

Hướng phát triển .......................................................................................39


MỤC LỤC HÌNH ẢNH
Hình 1.1. Ứng dụng Ơn thi GPLX(600 câu) ...................................................................3
Hình 1.2. Ứng dụng Lấy bằng GPLX..............................................................................4
Hình 2.1. Logo Flutter .....................................................................................................6
Hình 2.2. Logo SQLite ....................................................................................................7
Hình 2.3. Logo Node JS ..................................................................................................8
Hình 2.4. Logo ExpressJS ...............................................................................................8
Hình 2.5. Logo SocketIO .................................................................................................9
Hình 3.1. Sơ đồ Use-case ..............................................................................................11
Hình 3.2. Sơ đồ cơ sở dữ liệu trên thiết bị .....................................................................20
Hình 3.3. Sơ đồ màn hình trên ứng dụng ......................................................................24
Hình 3.4. Màn hình trang chủ ........................................................................................25
Hình 3.5. Màn hình đăng nhập ......................................................................................27
Hình 3.6. Màn hình mẹo thi ...........................................................................................28
Hình 3.7. Màn hình đề thi thử .......................................................................................29
Hình 3.8. Màn hình làm bài thi ......................................................................................30
Hình 3.9. Màn hình kết quả đạt bài thi ..........................................................................31
Hình 3.10. Màn hình xem chi tiết kết quả thi ................................................................32
Hình 3.11. Màn hình ơn thi lý thuyết ............................................................................33
Hình 3.12. Màn hình ơn thi câu hỏi ...............................................................................34
Hình 3.13. Màn hình ơn tập nhanh ................................................................................35
Hình 3.14. Màn hình học biển báo ................................................................................36
Hình 3.15. Màn hình mẹo thi .........................................................................................37
Hình 3.16. Kiến trúc tổng thể hệ thống .........................................................................38



MỤC LỤC BẢNG
Bảng 3.1. Danh sách yêu cầu của hệ thống .....................................................................9
Bảng 3.2. Danh sách các Actor .....................................................................................11
Bảng 3.3. Danh sách các Use-case ................................................................................12
Bảng 3.4. Đặc tả chức năng thi thử ...............................................................................12
Bảng 3.5. Đặc tả chức năng ôn tập lý thuyết .................................................................13
Bảng 3.6. Đặc tả chức năng học biển báo .....................................................................13
Bảng 3.7. Đặc tả chức năng câu hay sai ........................................................................14
Bảng 3.8. Đặc tả chức năng chọn loại giấy phép lái xe.................................................14
Bảng 3.9. Đặc tả chức năng mẹo thi ..............................................................................15
Bảng 3.10. Đặc tả chức năng tra cứu luật ......................................................................15
Bảng 3.11. Đặc tả chức năng ôn tập nhanh ...................................................................15
Bảng 3.12. Đặc tả chức năng đăng nhập .......................................................................16
Bảng 3.13. Đặc tả chức năng đồng bộ lịch sử làm bài ..................................................16
Bảng 3.14. Đặc tả chức năng lấy lại mật khẩu ..............................................................17
Bảng 3.15. Danh sách bảng trong cơ sở dữ liệu trên máy chủ ......................................17
Bảng 3.16. Danh sách trường bảng ACCOUNT ...........................................................18
Bảng 3.17. Danh sách trường bảng SESSION ..............................................................18
Bảng 3.18. Danh sách trường bảng HISTORY .............................................................18
Bảng 3.19. Danh sách trường bảng TOPIC ...................................................................19
Bảng 3.20. Danh sách bảng trong cơ sở dữ liệu trên thiết bị ........................................20
Bảng 3.21. Danh sách trường bảng HISTORY .............................................................21
Bảng 3.22. Danh sách trường bảng TOPIC ...................................................................21
Bảng 3.23. Danh sách trường bảng QUESTION ..........................................................22
Bảng 3.24. Danh sách trường bảng QUES_CATA .......................................................22
Bảng 3.25. Danh sách trường bảng BOARD ................................................................23
Bảng 3.26. Danh sách trường bảng BOARD_CATA ...................................................23
Bảng 3.27. Danh sách trường bảng TIP_PART ............................................................23
Bảng 3.28. Danh sách trường bảng TIP ........................................................................23

Bảng 3.29. Danh sách các màn hình..............................................................................24
Bảng 3.30. Bảng thành phần giao diện Trang chủ ........................................................26
Bảng 3.31. Bảng thành phần giao diện mẹo thi .............................................................27


Bảng 3.32. Bảng thành phần giao diện mẹo thi .............................................................28
Bảng 3.33. Danh sách thành phần giao diện Đề thi thử ................................................29
Bảng 3.34. Bảng thành phần giao diện làm bài thi ........................................................30
Bảng 3.35. Bảng thành phần giao diện kết quả thi ........................................................31
Bảng 3.36. Bảng thành phần giao diện xem chi tiết kết quả thi ....................................32
Bảng 3.37. Bảng thành phần giao diện ôn thi lý thuyết ................................................33
Bảng 3.38. Bảng thành phần giao diện ôn thi câu hỏi ...................................................34
Bảng 3.39. Bảng thành phần giao diện ôn tập nhanh ....................................................35
Bảng 3.40. Bảng thành phần giao diện học biển báo ....................................................36
Bảng 3.41. Bảng thành phần giao diện mẹo thi .............................................................37
Bảng 3.42. Bảng mô tả kiến trúc hệ thống ....................................................................38


TĨM TẮT ĐỒ ÁN
Với sự phát triển khơng ngừng trong thời đại 4.0, nhu cầu về công nghệ của
con người ngày càng được nâng cao hơn. Xu hướng công nghệ hiện nay là tạo ra các
ứng dụng để phục vụ các công việc thực tế nhằm tăng hiệu quả công việc, giảm thời
gian, chi phí và có được tính kết nối cao.
Hiện thị trường ô tô Việt Nam đang thực sự sơi động, nhu cầu của người dân
cũng theo đó mà tăng lên nên việc học lái xe ô tô đang trở thành nhu cầu thiết yếu
trong xã hội hiện nay. Về lĩnh vực đào tạo và sát hạch cấp giấy phép lái xe, ở Việt
Nam hiện nay chủ yếu đào tạo lý thuyết bằng hình thức học trực tiếp tại trung tâm,
gây tốn kém về chi phí phịng học, thiết bị giảng dạy,... Hiện nay, đa số các học viên
học lái xe ô tô phổ biến nhất vẫn là bằng lái xe ô tô hạng B1 nhưng cũng không ít
người có nhu cầu học bằng lái xe ơ tơ xuất phát từ nhu cầu cơng việc như vì cơng

việc mà bạn muốn học bằng lái xe taxi hay xe tải. Do đó, việc phát triển ứng dụng
“LUYỆN THI GIẤY PHÉP LÁI XE B1, B2” là cần thiết. Ứng dụng chủ yếu nhắm
tới những người có nhu cầu học để sát hạch giấy phép lái xe, giúp người dùng đạt
được kết quả thi sát hạch tốt nhất.
Sau khi hoàn thành đồ án, chúng em thu được kết quả:
- Kiến thức về triển khai phần mềm
- Kiến thức về sát hạch lái xe
- Kiến thức về luật giao thông đường bộ

1


Chương 1.

TỔNG QUAN

1.1. Đặt vấn đề
Trong thời kỳ 4.0 hiện nay, công nghệ thông tin được ứng dụng vào mọi lĩnh vực
trong đời sống xã hội nhằm tăng hiệu quả cơng việc, giảm thời gian, chi phí và có được
tính kết nối cao. Do đó số hóa áp dụng cơng nghệ thơng tin trở thành mục tiêu chính mà
nhiều tổ chức cá nhân hướng tới.
Nếu như bạn là một người tham gia giao thông trong vài năm trở lại đây, chắc
hẳn các bạn sẽ thấy những chiếc ô tô, siêu xe bây giờ khơng cịn q xa lạ tại Việt Nam.
Theo thống kê cho thấy, thị trường ô tô tại Việt Nam đã đạt tới con số đáng nói đến từ
trước đến nay khi doanh số bán lên tới 150.000 xe, tăng tới 36% so với thời điểm năm
trước, tiến sát với con số kỷ lục là 170.000 xe trong năm 2009. Điều này phản ánh một
quy luật tất yếu đó là. Khi xã hội phát triển, đời sống con người ngày càng lớn thì nhu
cầu đi lại của họ ngày một cao hơn. Một gia đình bình thường cũng có thể sở hữu một
chiếc ơ tơ. Với xu hướng phát triển ngày càng cao của phương tiện giao thông nói chung
và thị trường ơ tơ nói riêng địi hỏi các kỹ năng lái xe ô tô cần được đào tạo một cách

bài bản, chuyên nghiệp. Để có thể sử hữu một tấm bằng lái xe ô tô, để thỏa sức lượn lờ
phố phường thì khơng thể thiếu một tấm bằng lái xe.
Tuy nhiên, đại dịch Covid-19 đang diễn ra đã làm gián đoạn hoạt động của rất
nhiều lĩnh vực, trong đó có cả lĩnh vực đào tạo và sát hạch giấy phép lái xe. Một số nơi
áp dụng giãn cách xã hội hay dịch bệnh tràn lan không thể kiểm soát, nên việc đến học
lý thuyết tập trung tại trung tâm là bất khả thi, người có nhu cầu sát hạch khơng muốn
đến nơi đơng người vì có thể ảnh hưởng đến sức khỏe và ảnh hưởng đến công tác phòng
chống dịch của địa phương.
Dựa trên những cơ sở về dữ liệu và nhu cầu thực tế đó, chúng em quyết định chọn
đề tài “Phát triển ứng dụng luyện thi sát hạch giấy phép lái xe B1,B2”. Đề tài này tập
trung xây dựng một ứng dụng hỗ trợ người dự thi sát hạch đạt được kết quả cao, tạo ra
công cụ luyện thi hiệu quả, thú vị, giảm gánh nặng trong việc luyện thi.
1.2. Các ứng dụng tương tự
Hiện nay, trên thị trường trong nước và ngồi nước có nhiều ứng dụng cung cấp
chức năng luyện thi giấy phép lái xe. Giúp tăng tính trải nghiệm cho người dùng trong
2


việc ôn thi lý thuyết cũng như thi thử dễ dàng. Trong đó ta có thể kể đến như: Ơn thi
GPLX (600 câu hỏi),
1.2.1. Ứng dụng Ôn thi GPLX (600 câu hỏi)
Ứng dụng Ôn thi GPLX (600 câu hỏi) là một trong những ứng dụng phổ biến
trong việc luyện thi bằng lái xe. Với Ôn thi GPLX (600 câu hỏi), người dùng có thể học
lý thuyết thơng qua bộ câu hỏi theo chương trình mới cập nhật, có giải thích đáp án. Bên
cạnh đó người dùng cịn có thể học các biển báo đường bộ và ý nghĩa của chúng.

Hình 1.1. Ứng dụng Ơn thi GPLX(600 câu)
Ngồi các chức năng trên, ứng dụng cịn có mục hướng dẫn các mẹo thi, các câu
hỏi hay sai giúp người dùng học nhanh và nhớ nhanh. Bên cạnh đó người dùng có thể
tìm kiếm luật giao thông đường bộ dành cho các loại xe khác nhau.

1.2.2. Ứng dụng Lấy bằng GPLX
Ứng dụng Lấy bằng GPLX gồm đầy đủ 600 câu hỏi dùng cho sát hạch, cấp giấy
phép lái xe cơ giới đường bộ giúp người dùng chuẩn bị thi bằng lái xe cơ giới một
cách nhanh chóng và hiệu quả nhất. Với ứng dụng lấy bằng GPLX, người dùng có thể
trải nghiệm bộ đề thi ôn luyện phù hợp với từng loại bằng, hoặc làm bộ đề ngẫu nhiên.

3


Ngồi ra, ứng dụng cịn cung cấp danh sách tất cả các loại biển báo cùng với mô tả chi
tiết và hướng dẫn chi tiết cho bài thi sa hình.

Hình 1.2. Ứng dụng Lấy bằng GPLX
1.2.3. Tóm lược
Ơn thi
GPLX(600 câu

Lấy bằng GPLX

Ứng dụng đề
xuất

Ôn thi theo bộ đề
mới nhất








Thi thử







Học biển báo







Mẹo thi và câu
hay sai







Ơn tập nhanh








Đồng bộ hóa theo
tài khoản







1.3. Mục tiêu
Từ bảng so sánh các chức năng ở trên nhóm em đưa ra đề xuất xây dựng ứng
dụng luyện thi giấy phép lái xe B1, B2 với các chức năng như:

4


-

Thi sát hạch: Thi thử sát hạch theo cấu trúc chuẩn đề mẫu được tạo sẵn hoặc tạo
ngẫu nhiên theo cấu trúc chuẩn của đề thi thật

-

Ôn tập lý thuyết: Ơn tập tồn bộ 600 câu hỏi hoặc ơn thi theo từng loại câu hỏi

-


Biển báo: Học về hình dạng và ý nghĩa của các biển báo đường bộ

-

Câu hay sai: Dựa vào kết quả thi để đưa ra các câu hỏi người dùng hay sai và số
lần sai

-

Mẹo thi: Đưa ra mẹo thi giúp người dùng cải thiện kết quả thi

-

Tra cứu luật: Tra cứu luật giao thông mới nhất của ơ tơ

-

Ơn tập nhanh: Tự động random (ưu tiên câu hay sai) 5 câu (trong nhóm câu cụ
thể) để làm nhanh.

-

Đồng bộ lịch sử làm bài theo tài khoản giữa các thiết bị.

1.4. Phạm vi
Sản phẩm ứng dụng luyện thi giấy phép lái xe B1, B2 là ứng dụng chạy trên
mơi trường chính là Android. Sản phẩm hướng tới người dùng là những người đang có
nhu cầu thi bằng lái B1, B2. Phạm vi dữ liệu của ứng dụng là ngân hàng câu hỏi và đề
thi được cập nhật chính thức theo bộ đề của Bộ Giao thơng Vận tải.


5


Chương 2.

TỔNG QUAN CƠNG NGHỆ

2.1. Flutter

Hình 2.1. Logo Flutter
Chắc hẳn khơng ít người đang thắc mắc, chẳng phải Google đã có bộ SDK cho
di động, có tên gọi Android rồi hay sao. Nhưng với Google, thế giới mobile là quá
rộng chỉ với một giải pháp duy nhất là Android. Với việc ra mắt phiên bản beta 1 này,
giờ đây họ có trong tay hai bộ SDK cho ứng dụng di động: Android và Flutter. Và
điểm khác biệt cơ bản giữa Flutter và Android: tạo ra các ứng dụng chạy trên cả iOS
và Android.
Là một bộ SDK đa nền tảng, các ứng dụng Flutter có thể hoạt động trên cả iOS
và Android. Nó như một thủ thuật khơn khéo để tương thích được với framework UI
trên cả hai hệ điều hành này. Các ứng dụng này không biên dịch trực tiếp với các ứng
dụng native của Android và iOS.
Flutter được thiết kế từ đầu để đạt tới tốc độ khung hình 60fps. Trong khi đây
không phải là một con số hiếm gặp trên iOS, nhưng với Android, bạn có thể cảm thấy
sự khác biệt rõ rệt ngay lập tức. Cũng nhờ việc xuất xưởng cùng với cả một nền tảng
cho ứng dụng của mình, các nhà phát triển sẽ tránh được nhiều vấn đề về sự phân
mảnh của Android.
2.2. SQLite

6



Hình 2.2. Logo SQLite
SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine,
không cần máy chủ, khơng cần cấu hình, khép kín và nhỏ gọn. Nó là một cơ sở dữ
liệu, khơng cần cấu hình, có nghĩa là giống như các cơ sở dữ liệu khác mà bạn khơng
cần phải cấu hình nó trong hệ thống của mình.
SQLite engine khơng phải là một quy trình độc lập (standalone process) như
các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách tĩnh hoặc động tùy theo yêu
cầu của bạn với ứng dụng của bạn.
Điểm nổi bật SQLite:
● SQLite khơng u cầu một quy trình hoặc hệ thống máy chủ riêng biệt
để hoạt động.
● SQLite khơng cần cấu hình, có nghĩa là khơng cần thiết lập hoặc quản
trị.
● Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk đa
nền tảng (cross-platform disk file).
● SQLite rất nhỏ và trọng lượng nhẹ, dưới 400KiB được cấu hình đầy đủ
hoặc dưới 250KiB với các tính năng tùy chọn bị bỏ qua.
● SQLite là khép kín (self-contained), có nghĩa là khơng có phụ thuộc bên
ngoài.
● Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy
cập an tồn từ nhiều tiến trình (process) hoặc luồng (thread).
● SQLite hỗ trợ hầu hết các tính năng ngơn ngữ truy vấn (query language)
được tìm thấy trong tiêu chuẩn SQL92 (SQL2).

7


● SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dễ sử
dụng.

● SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và
Windows (Win32, WinCE, WinRT).
2.3. NodeJS

Hình 2.3. Logo Node JS
Nodejs được xây dựng và phát triển từ năm 2009, bảo trợ bởi công ty Joyent,
trụ sở tại California, Hoa Kỳ. Nodejs là một nền tảng (Platform) phát triển độc lập
được xây dựng ở trên Javascript Runtime của Chrome mà chúng ta có thể xây dựng
được các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng.
Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử
lý và hiệu năng khá cao. Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, áp
dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công
nghệ, hoặc tạo ra các dự án Startup nhanh nhất có thể.
2.4. ExpressJS

Hình 2.4. Logo ExpressJS
8


Express js là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nền tảng
của Nodejs. Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile
Về các package hỗ trợ: Expressjs có vơ số các package hỗ trợ nên các bạn
không phải lo lắng khi làm việc với Framework này.
Về performance: Express cung cấp thêm về các tính năng (feature) để dev lập
trình tốt hơn. Chứ khơng làm giảm tốc độ của NodeJS.
2.5. SocketIO

Hình 2.5. Logo SocketIO
Socket.io là một module trong Node.js được phát triển vào năm 2010. Nó được
phát triển để sử dụng các kết nối mở để tạo điều kiện giao tiếp thời gian thực, trả về

giá trị thực ở tại thời điểm đó. Socket.io cho phép giao tiếp hai chiều giữa máy khách
và máy chủ. Giao tiếp hai chiều được bật khi máy khách có Socket.io trong trình duyệt
và máy chủ cũng đã tích hợp gói Socket.io
Nó được sử dụng trong việc xây dựng các ứng dụng web real-time cần tốc độ
phản hồi ngay lập tức như: chat, trực tiếp bóng đá,.... Socket.io xây dựng dựa trên
Engine.IO, đầu tiên nó sẽ thiết lập một kết nối long-polling, sau đó cố gắng nâng cấp
lên các kết nối khác tốt hơn giống như WebSocket.
Chương 3.

PHÂN TÍCH THIẾT KẾ ỨNG DỤNG

3.1. Phân tích
3.1.1. Danh sách u cầu hệ thống
Qua khảo sát từ những người dùng có nhu cầu, cũng như tham khảo các ứng
dụng khác, nhóm đã đưa ra danh sách thể hiện các nghiệp vụ mà ứng dụng cần có:
Bảng 3.1. Danh sách yêu cầu của hệ thống
STT
1

Tên yêu cầu

Ghi chú

Đăng nhập, đăng ký

Người dùng sử dụng tài khoản đã đăng
ký trước để đăng nhập vào ứng dụng
hoặc đăng ký tài khoản mới. Sau khi
9



đăng nhập thành cơng, người dùng có
thể đồng bộ hóa lịch sử.
2

Quản lý thơng tin cá nhân

Người dùng có thể xem và chỉnh sửa
những thông tin cá nhân cơ bản như
họ tên, ngày sinh, giới tính, email,...

3

Thi thử

Người dùng có thể thi các đề thi tạo
sẵn hoặc tạo đề ngẫu nhiên.

4

Ơn thi

Người dùng có thể ơn thi tồn bộ câu
hỏi hoặc theo từng phân loại.

5

Ơn thi nhanh

Người dùng có thể thi nhanh 5 câu bất

kì trong phân loại tùy chọn.

6

Học biển báo

Người dùng có thể học tất cả biển báo
đường bộ và ý nghĩa của chúng.

7

Mẹo thi

Cung cấp cho người dùng các mẹo thi
hữu ích giúp nâng cao kết quả thi
nhanh chóng.

8

Tra cứu luật

Người dùng có thể tra cứu các luật
đường bộ dành cho ơ tơ một cách
nhanh chóng.

10


3.1.2. Đặc tả Usecase


Hình 3.1. Sơ đồ Use-case
Bảng 3.2. Danh sách các Actor
STT Tên Actor

Ý nghĩa/Ghi chú

1

User

Người dùng, người đã tải ,cài đặt và sử dụng
phần mềm

2

Login User

Người dùng đã đăng nhập thành công và đang
11


trong phiên đăng nhập có hiệu lực
Bảng 3.3. Danh sách các Use-case
STT

Tên Use-case

Ý nghĩa/Ghi chú

1


Thi thử

Người dùng có thể thi các đề thi tạo sẵn
hoặc tạo đề ngẫu nhiên.

2

Ôn tập lý thuyết

Người dùng có thể ơn thi tồn bộ câu hỏi
hoặc theo từng phân loại.

3

Học biển báo

Người dùng có thể học tất cả biển báo
đường bộ và ý nghĩa của chúng.

4

Xem lại câu hay sai

Người dùng có thể xem và ôn lại câu mình
hay sai và số lần sai.

5

Chọn loại giấy phép lái xe


Người dùng có thể thay đổi loại giấy phép
phù hợp với nhu cầu.

6

Xem mẹo thi

Cung cấp cho người dùng các mẹo thi hữu
ích giúp nâng cao kết quả thi nhanh chóng.

7

Tra cứu luật

Người dùng có thể tra cứu các luật đường
bộ dành cho ô tô một cách nhanh chóng.

8

Ơn tập nhanh

Người dùng có thể thi nhanh 5 câu bất kì
trong phân loại tùy chọn.

9

Đăng nhập

Người dùng có thể đăng nhập tài khoản để

có thể đồng bộ lịch sử của tài khoản.

10

Đồng bộ lịch sử làm bài

Giúp người dùng lưu lại lịch sử làm bài,
cập nhật trên các thiết bị được đăng nhập
tài khoản.

11

Lấy lại mật khẩu

Giúp người dùng lấy lại mật khẩu

Bảng 3.4. Đặc tả chức năng thi thử
Mã Use-Case

UC1

Tên Use-Case

Thi thử

Mơ tả tóm tắt

Người dùng làm bài thi thử trong thời gian quy định và xem kết
quả sau khi bài thi kết thúc


Điều kiện trước

Khơng có
12


Điều kiện sau

Dịng sự kiện chính

Dịng sự kiện phụ

Hiển thị kết quả bài làm cho người dùng (bao gồm câu nào đúng
câu nào sai và kết quả đậu/rớt cuối cùng)
Kết quả bài làm được lưu lại
1.
2.
3.
4.
5.

Chọn “thi thử”
Chọn đề mẫu
Trả lời từng câu hỏi
Nộp bài
Hệ thống chấm bài và trả kết quả

Trộn đề ngẫu nhiên theo cấu trúc đề thi thật
2a. Chọn nút “Ngẫu nhiên” thay vì chọn 1 đề
Hết thời gian làm bài trước khi xong hết câu hỏi

4a. Hệ thống tự động nộp bài khi hết giờ
Thoát ra giữa q trình làm bài
4b. Hệ thống hiện thơng báo. Nếu người dùng xác nhận thốt
thì khơng ghi nhận kết quả
Bảng 3.5. Đặc tả chức năng ôn tập lý thuyết

Mã Use-Case
Tên Use-Case

Ơn tập lý thuyết

Mơ tả tóm tắt

Người dùng học, ơn lại tồn bộ các câu hỏi có thể xuất hiện
trong đề thi

Điều kiện trước

Khơng có

Điều kiện sau

Khơng có

Dịng sự kiện chính

Dịng sự kiện phụ

1.
2.

3.
4.

Chọn “ơn tập”
Tìm câu cần học
Hệ thống xuất câu hỏi kèm theo đáp án
Người dùng học và ghi nhớ

Khơng có

Bảng 3.6. Đặc tả chức năng học biển báo
Mã Use-Case
Tên Use-Case

Học biển báo

Mơ tả tóm tắt

Người dùng học về hình dáng và xem ý nghĩa của các biển báo
đường bộ hiện nay (bao gồm cả những biển báo khơng có trong
13


đề thi)
Điều kiện trước

Khơng có

Điều kiện sau


Khơng có

Dịng sự kiện chính

Dịng sự kiện phụ

1. Chọn “Biển báo”
2. Tìm loại biển báo cần xem ý nghĩa
3. Người dùng học và ghi nhớ
Khơng có
Bảng 3.7. Đặc tả chức năng câu hay sai

Mã Use-Case

UC4

Tên Use-Case

Câu hay sai

Mơ tả tóm tắt

Người dùng học về hình dáng và xem ý nghĩa của các biển báo
đường bộ hiện nay (bao gồm cả những biển báo không có trong
đề thi)

Điều kiện trước

Khơng có


Điều kiện sau

Khơng có

Dịng sự kiện chính

1. Chọn “Câu hay sai”
2. Xem lại các câu hay sai (có kèm đáp án và số lượt sai)

Bảng 3.8. Đặc tả chức năng chọn loại giấy phép lái xe
Mã Use-Case

UC5

Tên Use-Case

Chọn loại giấy phép lái xe

Mơ tả tóm tắt

Người dùng chọn loại giấy phép lái xe cần ôn luyện

Điều kiện trước

Khơng có

Điều kiện sau

Hệ thống lưu lại thơng tin và điều chỉnh các thơng tin lại cho
phù hợp


Dịng sự kiện chính

Dịng sự kiện phụ

1. Chọn “Cài đặt”
2. Chọn loại giấy phép muốn ơn luyện
3. Nhấn lưu
Khơng có

14


Bảng 3.9. Đặc tả chức năng mẹo thi
Mã Use-Case

UC6

Tên Use-Case

Mẹo thi

Mơ tả tóm tắt

Đưa ra cho người dùng những mẹo thi có sẵn về phần thi đang
ơn luyện

Điều kiện trước

Khơng có


Điều kiện sau

Khơng có

Dịng sự kiện chính
Dịng sự kiện phụ

1. Chọn “Xem mẹo thi”
2. Xem danh sách các mẹo thi
Không có
Bảng 3.10. Đặc tả chức năng tra cứu luật

Mã Use-Case

UC7

Tên Use-Case

Tra cứu luật

Mơ tả tóm tắt

Tra cứu các luật giao thơng cơ bản

Điều kiện trước

Khơng có

Điều kiện sau


Khơng có

Dịng sự kiện chính

Dịng sự kiện phụ

1. Chọn “Tra cứu luật”
2. Điền từ khóa của luật cần tìm
3. Xem danh sách các luật liên quan tới từ khóa
Khơng có

Bảng 3.11. Đặc tả chức năng ơn tập nhanh
Mã Use-Case

UC8

Tên Use-Case

Ơn tập nhanh

Mơ tả tóm tắt

Kiểm tra nhanh 5 câu hỏi từ một chương cụ thể

Điều kiện trước

Khơng có

Điều kiện sau


Hệ thống lưu lại kết quả

Dịng sự kiện chính

1. Chọn “Kiểm tra nhanh”
2. Chọn chương cần kiểm tra
15


3. Trả lời từng câu hỏi
4. Nộp bài
Dòng sự kiện phụ

Thốt ra giữa q trình làm bài
4a. Hệ thống hiện thơng báo. Nếu người dùng xác nhận thốt
thì khơng ghi nhận kết quả

Bảng 3.12. Đặc tả chức năng đăng nhập
Mã Use-Case

UC9

Tên Use-Case

Đăng nhập

Mơ tả tóm tắt

Đăng nhập một tài khoản để định danh


Điều kiện trước

Khơng có

Điều kiện sau

Hệ thống mở chức năng đồng bộ

Dịng sự kiện chính

Dịng sự kiện phụ

1.
2.
3.
4.

Chọn “Đăng nhập”
Nhập thông tin đăng nhập
Chọn lưu tài khoản hay không
Nhấn đăng nhập

Đăng nhập thất bại
5a. Hệ thống hiện thông báo đăng nhập thất bại

Bảng 3.13. Đặc tả chức năng đồng bộ lịch sử làm bài
Mã Use-Case

UC10


Tên Use-Case

Đồng bộ lịch sử làm bài

Mơ tả tóm tắt

Đồng bộ lịch sử làm bài của người dùng lên máy chủ để các tài
khoản giữa nhiều thiết bị đồng bộ với nhau

Điều kiện trước

Đã đăng nhập thành cơng

Điều kiện sau

Khơng có

Dịng sự kiện chính

Dịng sự kiện phụ

1. Chọn “Cài đặt”
2. Chọn ô “Đồng bộ”
3. Hệ thống sẽ tự động đồng bộ lịch sử làm bài giữa server
và thiết bị
Khơng có

16



Bảng 3.14. Đặc tả chức năng lấy lại mật khẩu
Mã Use-Case

UC11

Tên Use-Case

Lấy lại mật khẩu

Mơ tả tóm tắt

Cho phép người dùng lấy lại mật khẩu qua email

Điều kiện trước

Khơng có

Điều kiện sau

Mật khẩu được thay đổi thành công trên hệ thống

Dịng sự kiện chính

1.
2.
3.
4.
5.
6.

7.

Dịng sự kiện phụ

Chọn “Qn mật khẩu”
Nhập email
Hệ thống gửi mã xác nhận qua email
Mở email để lấy mã xác nhận
Nhập mã xác nhận
Nhập mật khẩu mới
Thông báo thành công

Không nhận được mã xác nhận
4a. Bấm nút gửi lại
Nhập mã sai
6a. Hệ thống báo lỗi và yêu cầu nhập lại (Nếu nhập sai quá
3 lần sẽ dừng use-case)

3.2. Thiết kế
3.2.1. Thiết kế cơ sở dữ liệu
3.2.1.1.

Cơ sở dữ liệu trên máy chủ (Server Database)

Bảng 3.15. Danh sách bảng trong cơ sở dữ liệu trên máy chủ
Tên bảng

STT

Ý nghĩa


1

ACCOUNT

Lưu trữ tồn bộ thơng tin tài khoản

2

SESSION

Lưu trữ thơng tin về các phiên đăng
nhập trên hệ thống

3

Lưu trữ thông tin làm bài của các tài

HISTORY

khoản. Khi thiết bị đăng nhập tài khoản
sẽ đồng bộ với lịch sử làm bài của
người dùng đã lưu ở đây.
17


×