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

ĐỒ án ỨNG DỤNG EM yêu LỊCH sử (đồ án SE121 l21 PMCL)

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.67 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

BÁO CÁO MÔN HỌC
ĐỒ ÁN 1
ỨNG DỤNG EM YÊU LỊCH SỬ

GVHD: ThS. Huỳnh Hồ Thị Mộng Trinh
Sinh viên thực hiện:
Trần Minh Huy

-

14520385

Nguyễn Thịnh Sơn Lâm -

16521709

TP. Hồ Chí Minh - 2021


NHẬN XÉT
………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………


………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
……………………………………………………………………………………………....
2


LỜI CẢM ƠN
Để hồn thành đề tài này và có kiến thức như ngày hơm nay, nhóm chúng em xin gửi
lời cảm ơn đến cơ đã tận tình giảng dạy, truyền đạt kiến thức cũng như kinh nghiệm quý
báu cho chúng em trong suốt quá trình học tập và nghiên cứu tại trường.
Tuy đã hoàn thành tốt đề tài nhưng cũng khơng thể tránh khỏi những sai sót nhất định
trong q trình nghiên cứu, rất mong được sự thơng cảm và chia sẻ quý báu của cô.

Cuối cùng, chúng em xin gửi lời chúc thân ái nhất đến cô.

3


TÓM TẮT
Đề tài “Ứng dụng em yêu lịch sử” đã được thực hiện trong khoảng thời gian từ tháng
3/2021 đến tháng 6/2021.
Phương pháp tiếp cận chủ yếu của đề tài là khảo sát, đánh giá các ứng dụng tìm hiểu
lịch sử hiện có trên thị trường; sử dụng nền tảng Flutter, nền tảng xây dựng ứng dụng đa
nền tảng để phát triển ứng dụng theo kiểu “ứng dụng học tập”. Kết quả của đề tài là trình
bày tổng quan về nền tảng Flutter, tài liệu xây dựng ứng dụng “em yêu lịch sử” và cuối
cùng là chạy thử, đánh giá sản phẩm ứng dụng trên thiết bị di động thật chạy hệ điều hành
Android.

4


BẢNG PHÂN CƠNG

STT

Họ tên

Cơng việc

Thời gian

Tiến độ


1

Trần Minh Huy

Vẽ UI/UX.

Tháng 3 – tháng
4
Tháng 4 – tháng
6

100%

Tháng 3 – tháng
6
Tháng 5 – tháng
6

100%

Tháng 3 – tháng
6
Tháng 3 – tháng
5
Tháng 3 – tháng
6

100%

Tháng 3 – tháng

5
Tháng 3 – tháng
6
Tháng 3 – tháng
4
Tháng 5 – tháng
6

100%

Tháng 3 – tháng
4
Tháng 6

100%

Tháng 3 – tháng
4
Tháng 6

100%

Thu thập dữ
liệu: Thời kỳ lịch
sử, các trận
đánh hay.
Cài đặt màn hình
Dashboard.
Cài đặt màn hình
timeline các nội

dung chính.
Cài đặt màn hình
view bài học.
Cài đặt màn hình
câu hỏi.
Cài đặt màn hình
diễn đàn trao
đổi trực tuyến.
Cài đặt màn hình
nhắc nhở.
Viết báo cáo.
2

Nguyễn Thịnh
Sơn Lâm

Vẽ UI/UX.
Thu thập dữ
liệu: Các nhân
vật lịch sử, quốc
hiệu, các sự kiện
lịch sử.
Cài đặt màn hình
welcome.
Cài đặt màn hình
xem lịch các sự
kiện lịch sử.
Cài đặt màn hình
đăng xuất.
Viết báo cáo.

5

100%

100%

100%
100%

100%
100%
100%

100%

100%


MỤC LỤC
NHẬN XÉT .......................................................................................................................... 2
LỜI CẢM ƠN ....................................................................................................................... 3
TÓM TẮT............................................................................................................................. 4
BẢNG PHÂN CÔNG ........................................................................................................... 5
MỤC LỤC ............................................................................................................................ 6
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI .................................................................................... 9
1.1. Dẫn nhập ........................................................................................................................ 9
1.2. Bài toán ........................................................................................................................ 10
1.3. Kết quả hướng tới ........................................................................................................ 10
1.3.1. Mục tiêu chung ..................................................................................................... 10
1.3.2. Mục tiêu cụ thể ..................................................................................................... 10

1.4. Đối tượng và phạm vi nghiên cứu ............................................................................... 10
1.4.1. Đối tượng nghiên cứu........................................................................................... 10
1.4.2. Phạm vi nghiên cứu .............................................................................................. 10
CHƯƠNG 2. CÁC KIẾN THỨC NỀN TẢNG ................................................................. 11
2.1. Tổng quan về Flutter ................................................................................................... 11
2.1.1. Giới thiệu.............................................................................................................. 11
2.1.2. Lịch sử .................................................................................................................. 11
2.1.3. Kiến trúc ............................................................................................................... 11
CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG .......................................................................... 15
3.1. Tổng quan về ứng dụng ............................................................................................... 15
3.1.1. Khảo sát ứng dụng liên quan ................................................................................ 15
3.1.2. Chức năng phần mềm........................................................................................... 19
3.1.3. Đối tượng người dùng .......................................................................................... 19
3.1.4. Môi trường vận hành ............................................................................................ 19
6


3.2. Yêu cầu chức năng ...................................................................................................... 20
3.2.1. Sơ đồ tổng thể chức năng ứng dụng ..................................................................... 20
3.2.2. Nhập tên đăng nhập .............................................................................................. 20
3.2.3. Hiển thị bài học .................................................................................................... 21
3.2.4. Kiểm tra bài học ................................................................................................... 21
3.2.5. Cập nhật trạng thái bài học và lưu quá trình của người tìm hiểu ......................... 22
3.2.6. Tạo tài khoản mới ................................................................................................ 22
3.2.7. Đăng nhập diễn đàn .............................................................................................. 22
3.2.8. Đăng xuất diễn đàn............................................................................................... 23
3.2.9. Submit câu hỏi...................................................................................................... 23
3.2.10. Bình luận câu hỏi ............................................................................................... 24
3.2.11. Xem lịch các sự kiện lịch sử .............................................................................. 24
3.2.12. Đặt lịch nhắc nhở ............................................................................................... 24

3.2.13. Tìm kiếm ............................................................................................................ 25
3.3. Yêu cầu phi chức năng ................................................................................................ 25
3.3.1. Yêu cầu về hiệu năng ........................................................................................... 25
3.3.2. Yêu cầu về an toàn ............................................................................................... 25
3.3.3. Yêu cầu về bảo mật .............................................................................................. 26
3.3.4. Yêu cầu về chất lượng .......................................................................................... 26
3.3.5. Yêu cầu về thương mại ........................................................................................ 26
3.4. Thiết kế thành phần giao diện ..................................................................................... 26
3.4.1. Màn hình welcome ............................................................................................... 26
3.4.2. Màn hình dashboard ............................................................................................. 27
3.4.3. Màn hình danh sách nội dung .............................................................................. 29
3.4.4. Màn hình nội dung chính ..................................................................................... 30
3.4.5. Màn hình câu hỏi .................................................................................................. 31
3.4.6. Màn hình kết quả câu hỏi ..................................................................................... 32
7


3.4.7. Màn hình diễn đàn ................................................................................................ 32
3.4.8. Màn hình diễn đàn ................................................................................................ 33
3.4.9. Màn hình đăng nhập ............................................................................................. 34
3.4.10. Màn hình đăng ký............................................................................................... 35
3.4.11. Màn hình đăng câu hỏi ....................................................................................... 36
3.4.12. Màn hình bình luận ............................................................................................ 37
3.4.13. Màn hình hẹn nhắc nhở ...................................................................................... 38
3.4.14. Màn hình đặt nhắc nhở ....................................................................................... 39
3.4.15. Màn hình lịch các sự kiện .................................................................................. 40
3.4.16. Màn hình tìm kiếm ............................................................................................. 41
CHƯƠNG 4. THỬ NGHIỆM, ĐÁNH GIÁ....................................................................... 43
4.1. Môi trường thử nghiệm ............................................................................................... 43
4.2. Kết quả thử nghiệm ..................................................................................................... 43

4.3. Đánh giá sản phẩm ...................................................................................................... 44
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................... 45
5.1. Kết luận........................................................................................................................ 45
5.2. Hướng phát triển .......................................................................................................... 45
TÀI LIỆU THAM KHẢO .................................................................................................. 46

8


CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1.1. Dẫn nhập
Không thể phủ nhận sự phát triển nhanh chóng trong ngành cơng nghiệp di động cũng
như các dịch vụ được thiết kế riêng cho nó. Đến năm 2023, lượng người dùng điện thoại
thơng minh dự kiến có thể tăng đến 4,3 tỷ (theo trang Statista). Còn tại Việt Nam, theo báo
cáo “Thị trường điện thoại và ứng dụng di động Việt Nam 6 tháng đầu năm 2020” do
Appota phát hành, tỷ lệ sử dụng điện thoại di động chiếm đến 70% tổng dân số tương đương
150 triệu thiết bị. Trong đó, tỷ lệ người sử dụng smartphone chiếm hơn 45% dân số và xếp
hạng thứ 15 trên thế giới. Số lượng thuê bao 3G - 4G chiếm 53% người dùng smartphone.
Sự bùng nổ của smartphone đã kéo theo sự bùng nổ của các ứng dụng di động đi kèm. Hiện
nay có nhiều kiểu ứng dụng khác nhau cho các mục đích sử dụng khác nhau của người
dùng, trong đó các ứng dụng cung cấp kiến thức xuất hiệu nhiều với nhiều hình thức khác
nhau như ứng dụng game, flash cards và knowledge sharing.
Lịch sử là một bộ môn khoa học nghiên cứu về quá khứ, liên quan đến sự vật, sự việc
và con người. Lịch sử có thể tham khảo qua các mơn học, các tài liệu giấy. Với điều kiện
công nghệ phát triển thời đại ngày nay thì việc tìm kiếm thơng tin và học tập trên
smartphone được áp dụng rất hiệu quả trong giáo dục. Bởi vậy nên các nhà phát triển ứng
dụng đã cho ra các ứng dụng phục vụ học tập, phổ biến nhất là học tiếng Anh, giải toán, vật
lý, … và cả lịch sử. Riêng về các ứng dụng học tập cho lịch sử cụ thể là lịch sử Việt Nam
hiện nay thì số lượng cịn ít và chưa mang lại nhiều cảm hứng học môn sử cho người sử
dụng.

Chính vì vậy, việc xây dựng một ứng dụng di động hỗ trợ tìm hiểu lịch sử Việt Nam
là hết sức cần thiết.
9


Xuất phát từ các lý do trên, đề tài “Ứng dụng em yêu lịch sử” đã được thực hiện.
1.2. Bài toán
Ứng dụng được phát triển để trở thành một trợ thủ đắc lực cho các đối tượng người
dùng khác nhau như học sinh, sinh viên, giáo viên, hay là những người có nhu cầu tìm hiểu
về lịch sử Việt Nam. Với mục đích chính là cung cấp một kênh trực quan, sinh động để hỗ
trợ người dùng tìm hiểu về lịch sử, có thể nói là một chủ đề khá khô khan, nên ứng dụng sẽ
được xây dựng theo dạng ứng dụng học tập mobile.
1.3. Kết quả hướng tới
1.3.1. Mục tiêu chung
Mục tiêu chung của đề tài là xây dựng ứng dụng tìm hiểu lịch sử Việt Nam.
1.3.2. Mục tiêu cụ thể
• Biểu diễn thơng tin lịch sử dưới dạng các bài học theo các chủ đề khác nhau như
thời kỳ lịch sử, anh hung dân tộc, các trận chiến, …;
• Xây dựng diễn đàn trực tuyến để thảo luận về lịch sử của người dùng thành viên;
• Ghi nhận quá trình tìm hiểu của người dùng và đánh giá người học qua các câu
hỏi được thiết kê riêng cho các bài học khác nhau.
1.4. Đối tượng và phạm vi nghiên cứu
1.4.1. Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài là ứng dụng di động và lịch sử Việt Nam.
1.4.2. Phạm vi nghiên cứu
Phạm vi nghiên cứu được giới hạn trong các ứng dụng di động tìm hiểu lịch sử Việt
Nam và các ứng dụng học tập trên di động.

10



CHƯƠNG 2. CÁC KIẾN THỨC NỀN TẢNG
2.1. Tổng quan về Flutter
2.1.1. Giới thiệu
Flutter là một SDK phát triển ứng dụng di động nguồn mở được tạo ra bởi Google.
Nó được sử dụng để phát triển ứng ứng dụng cho Android và iOS, cũng là phương thức
chính để tạo ứng dụng cho Google Fuchsia.
2.1.2. Lịch sử
Phiên bản đầu tiên của Flutter được gọi là "Sky" và chạy trên hệ điều hành Android.
Nó được cơng bố tại hội nghị nhà phát triển Dart 2015, với dự định ban đầu để có thể kết
xuất ổn định ở mức 120 khung hình trên giây. Trong bài phát biểu chính ở hội nghị Google
Developer Days tại Thượng Hải, Google công bố phiên bản Flutter Release Preview 2, đây
là phiên bản lớn cuối cùng trước Flutter 1.0. Vào ngày 4 tháng 12 năm 2018, Flutter 1.0 đã
được phát hành tại sự kiện Flutter Live, là phiên bản "ổn định" đầu tiên của khung ứng dụng
này. Vào ngày 11 tháng 12 năm 2019, Flutter 1.12 đã được phát hành tại sự kiện Flutter
Interactive, thông báo rằng Flutter là nền tảng UI đầu tiên được thiết kế cho điện toán xung
quanh (ambient computing). Ngày 3 tháng 3 năm 2021, Flutter version 2 chính thức được
phát hành.
2.1.3. Kiến trúc
Các thành phần chính của Flutter gồm:


Nền tảng Dart



Flutter engine




Thư viện Foundation



Các widget được thiết kế riêng

Nền tảng Dart
Ứng dụng Flutter được viết bằng ngôn ngữ Dart và tận dụng nhiều tính năng nâng cao
của ngơn ngữ này.
Trên Android, Windows, macOS và Linux thơng qua dự án chưa chính thức mang tên
Flutter Desktop Embedding, Flutter chạy trên máy ảo Dart với engine thực thi just-in-time
11


(JIT). Do giới hạn về thực thi mã động của App Store, ứng dụng Flutter sử dụng biên dịch
ahead-of-time (AOT) trên iOS.
Một tính năng đáng chú ý của nền tảng Dart là hỗ trợ "tải lại nóng" (hot reload) trong
đó các sửa đổi trong tập tin nguồn có thể được chèn vào ứng dụng đang chạy. Flutter mở
rộng sự hỗ trợ này cho tính năng "tải lại nóng giữ trạng thái” (stateful hot reload), để các
sửa đổi trong mã nguồn có thể được cập nhật ngay lập tức lên ứng dụng đang chạy mà
không cần phải khởi động lại hoặc mất mát các trạng thái đang có.
Flutter engine
Flutter engine có các công nghệ cốt lõi, Skia, thư viện kết xuất đồ họa 2D và Dart,
VM cho ngôn ngữ hướng đối tượng được thu gom rác và lưu trữ chúng trong một vỏ (shell).
Các nền tảng khác nhau có các shell khác nhau, ví dụ có các shell cho Android và iOS.
Flutter cũng có API nhúng cho phép Flutter engine được sử dụng làm thư viện. Các shell
triển khai mã dành riêng cho nền tảng như giao tiếp với IMEs (bàn phím trên màn hình) và
các sự kiện vịng đời ứng dụng của hệ thống.Máy ảo Dart thực hiện các thư viện lõi Dart
bình thường, cộng với một thư viện bổ sung có tên là dart:ui để cung cấp quyền truy cập
cấp thấp vào các tính năng của Skia và shell. Các shell cũng có thể giao tiếp trực tiếp với

mã Dart thông qua Platform Channnels.

12


Hình 2.1 Tổng quan hệ thống Flutter
Thư viện Foundation
Thư viện Foundation, được viết bằng Dart, cung cấp các lớp và chức năng cơ bản
được sử dụng để xây dựng các ứng dụng bằng Flutter, chẳng hạn như API để giao tiếp với
engine.
Widget

Hình 2.2 Widget trong Flutter framework
Khái niệm cốt lõi của khung Flutter là “Trong Flutter, Mọi thứ đều là một widget”.
Các widget về cơ bản là các thành phần giao diện người dùng được sử dụng để tạo giao
diện người dùng của ứng dụng.
Trong Flutter, ứng dụng tự nó là một widget. Ứng dụng này là tiện ích cấp cao nhất
và giao diện người dùng của nó được xây dựng bằng cách sử dụng một hoặc nhiều con
(widgets), một lần nữa xây dựng bằng các widget con của nó. Tính năng kết hợp này giúp
chúng ta tạo giao diện người dùng với bất kỳ sự phức tạp nào.

13


Flutter widgets hỗ trợ duy trì trạng thái bằng cách cung cấp một widget đặc biệt,
StatefulWidget. Tiện ích cần phải được lấy từ widget StatefulWidget để hỗ trợ bảo trì trạng
thái và tất cả các widget khác nên được lấy từ StatefulWidget. Flutter widgets là phản ứng
tự nhiên. Điều này tương tự như Reacjs và StatefulWidget sẽ được tự động kết xuất lại bất
cứ khi nào trạng thái bên trong của nó được thay đổi. Kết xuất lại được tối ưu hóa bằng
cách tìm sự khác biệt giữa UI widget cũ và mới và chỉ hiển thị các thay đổi cần thiết.

Flutter framework chứa hai bộ widget phù hợp với các ngôn ngữ thiết kế cụ thể.
Material Design widgets cài đặt cho ngôn ngữ thiết kế cùng tên của Google và widgets
Cupertino triển khai Nguyên tắc Giao diện Con người của Apple (Apple's Human Interface
Guidelines) thiết kế iOS.

14


CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG
3.1. Tổng quan về ứng dụng
3.1.1. Khảo sát ứng dụng liên quan
Hiện trên kho ứng dụng của Play Store và App Store có nhiều ứng dụng tìm hiểu về
lịch sử đặc biệt là lịch sử Việt Nam. Dưới đây là bảng đánh giá điểm mạnh, điểm yếu của
một số ứng dụng liên quan.
Số
Tên
thứ tự ứng
dụng

Nhà cung
cấp

Phiên bản
hiện tại

1

nartus

3.3.7 (cập

nhật
30/10/2020)

Lịch sử
Việt
Nam

Screenshots

15

Điểm
mạnh

Điểm
yếu

Các nội
dung
được
trình bày
tóm tắt,
rõ ràng;
được
phân loại
theo các
chủ đề
riêng
biệt.


Khơng
phù hợp
cho
những
ai có
nhu cầu
đào sâu
hơn về
lịch sử
Việt
Nam.
Khơng
có các
tiện ích
đi kèm
như
đánh
dấu lịch
sử
người
dùng
dẫn tới
người
đọc khó
nắm bắt
q
trình tìm
hiểu của
mình.
Ứng



dụng có
giao
diện
đơn
giản,
khơng
thực sự
thu hút
người
dùng.

2

Sử Việt
Tồn
Thư

VuKhuc

1.0.0.17
(cập nhật
25/09/2020)

16

Điểm đặc
biệt của
ứng dụng

Sử Việt
Tồn Thư
là chúng
ta sẽ
được
khám phá
các bài
học lịch
sử với
những
mẩu
truyện
dân gian
hay giai
thoại lịch
sử để lơi
cuốn
người
đọc, giúp
họ trở
nên kích
thích và
có động
lực để
tiếp tục
và bị
cuốn hút

Ứng
dụng

dừng ở
vai trị là
một
cẩm
nang
cung
cấp kiến
thức
chứ
chưa có
chức
năng
đánh giá
kiến
thức
người
đọc sau
mỗi nội
dung.
Người
dùng
khó
khan
trong
việc rà
sốt lại
những
gì mình



3

Giải lịch
sử

Ha Bui

vào đó.
Khơng
cần
Internet,
giao diện
đơn giản
và dễ sử
dụng.
Ứng dụng
cịn có
các
shortcut
để di
chuyển
giữa các
trang hay
phóng to,
thu nhỏ.
Ứng dụng
ln bám
sát nội
dung
sách giáo

khoa
nhằm hỗ
trợ học
sinh, phụ
huynh.
Khơng
cần kết
nối
Internet,
người
dùng vẫn
có thể
tìm hiểu
các bài
giải một
cách đầy
đủ nhất.
Ứng dụng
hồn
tồn
miễn phí.

3.9.6 (cập
nhật
3/5/2019)

17

đã đọc.
UI/UX

đơn
giản.

UI/UX
đơn
giản.
Ứng
dụng
chủ yếu
cung
cấp các
bài giải
cho các
nội dung
trong
sách
giáo
khoa
nên việc
tìm hiểu
thêm
các kiến
thức sâu
hơn là
điều
không
thể.


4


Kiến
Guru

KienGuru.vn 6.13.2 (cập
nhật
26/04/2021)

18

Ngồi
chương
trình lịch
sử thì cịn
có những
mơn khác
như Địa,
Lý, Tiếng
Anh,
Tốn, …
UI/UX
hiện đại,
bắt mắt.
Đầy đủ
các môn
học từ cơ
bản đến
nâng cao.
Các bài
học được

trình bày
chi tiết,
có video
kèm
theo. Có
hệ thống
đánh giá
kiến thức
người
học. Ứng
dụng có
nhiều
tiện ích
kèm theo
như diễn
đàn trao
đổi kiến
thức cho
các thành
viên,
chức
năng đặt
lịch nhắc
nhở, giới

Đây là
một ứng
dụng
khơng
miễn phí

nên
người
dùng sẽ
bị hạn
chế tiếp
cận
nhiều
bài học.


thiệu các
khóa học
có phí, …

Bảng 3.1: Đánh giá các ứng dụng lịch sử.
Điểm chung của các ứng dụng chuyên về lịch sử Việt Nam là có giao diện đơn giản,
nội dung được biếu diễn khá thô cứng, chưa đánh giá được kiến thức người dùng trên các
nội dung đã tìm hiểu và khơng có diễn đàn trao đổi kiến thức lịch sử dẫn tới khơng có sự
lan tỏa của lịch sử Việt Nam tới cộng đồng. Việc phát triển các ứng dụng về đề tài lịch sử
trong giai đoạn tiếp theo tiếp tục gặp nhiều thử thách như làm sao xây dựng một ứng dụng
giúp người dùng có cảm hứng tìm hiểu lịch sử, lan tỏa trong cộng đồng cũng như ghi nhớ
được những nội dung được truyền tải khi sử dụng ứng dụng.
3.1.2. Chức năng phần mềm
Sản phẩm có 8 chức năng chính sau đây:
• Đăng ký/đăng nhập tài khoản
• Hiển thị bài học
• Ghi nhận trạng thái người dùng
• Đánh giá q trình học tập
• Diễn đàn trao đổi kiến thức
• Xem lịch các sự kiện lịch sử

• Đặt lịch nhắc nhở học tập
• Tìm kiếm
3.1.3. Đối tượng người dùng
Đối tượng sử dụng ứng dụng được chia thành hai nhóm chính:
• Nhóm 1: Học sinh, sinh viên, giáo viên và những người có nhu cầu tìm hiểu lịch
sử Việt Nam (gọi chung là người tìm hiểu).
• Nhóm 2: Quản trị viên.
3.1.4. Môi trường vận hành
Phần mềm được chạy trên các thiết bị smartphone.
Hệ điều hành: Android hoặc IOS.
19


3.2. Yêu cầu chức năng
Định nghĩa và quy ước về thuật ngữ, từ viết tắt:
Thuật ngữ

Định nghĩa

Giải thích

CSDL

Cơ sở dữ liệu

DESC
DEP
RAT
MUST


Description
Dependency
Rational

Nơi lưu trữ thông tin và cho
phép truy cập
Mô tả
Sự phụ thuộc
Quân hệ
Mức độ tối thiểu cần thiết để
vượt qua các đợt kiểm thử

3.2.1. Sơ đồ tổng thể chức năng ứng dụng

Hình 3.1: Use case cho ứng dụng em yêu lịch sử.
3.2.2. Nhập tên đăng nhập

20


Use Case Name

Nhập tên đăng nhập.

Trigger

Người tìm hiểu đăng nhập để sử dụng ứng dụng.

Precondition


Ứng dụng chạy lần đầu tiên sau khi được cài đặt trên thiết bị.

Basic Path
Alternative
Paths

1. Người tìm hiểu nhập tên vào ơ input và gửi form lên.
2. Hệ thống kiểm tra ơ tên người dùng có để trống không.
Trong bước 2, nếu tên người dùng không hợp lệ thì hệ thống sẽ
báo lỗi.

Postcondition

Ứng dụng hiển thị màn hình chính.

3.2.3. Hiển thị bài học

Use Case Name

Hiển thị bài học.

Trigger

Người tìm hiểu chọn bài học để hiển thị.

Precondition

Danh sách các bài học đang được hiển thị trên màn hình danh
sách các bài học.
1. Người tìm hiểu chọn nội dung.

2. Ứng dụng hiển thị nội dung bài học.
Khơng có.

Basic Path
Alternative
Paths
Postcondition

Ứng dụng hiển thị màn hình nội dung bài học.

3.2.4. Kiểm tra bài học

Use Case Name

Kiểm tra bài học.

Trigger

Người tìm hiểu chọn để kiểm tra bài học.

Precondition

Màn hình hiển thị nội dung bài học hiển thị xong nội dung.

Basic Path

1. Người tìm hiểu chọn nút “Xong” trên màn hình nội dung bài
học.
2. Ứng dụng hiển thị bảng các nút.
3. Người tìm hiểu chọn nút “Kiểm tra”.

Khơng có.

Alternative
Paths
Postcondition

Ứng dụng hiển thị màn hình kiểm tra.

21


3.2.5. Cập nhật trạng thái bài học và lưu quá trình của người tìm hiểu

Trigger

Cập nhật trạng thái bài học và lưu quá trình của người tìm
hiểu.
Người tìm hiểu chọn để kiểm tra bài học.

Precondition

Màn hình kết quả đang được hiển thị.

Basic Path

1. Người tìm hiểu submit đủ các câu trả lời.
2. Ứng dụng kiểm tra xem số câu trả lời đúng có lớn hơn hoặc
bằng 80% tổng số câu hỏi.
Trong bước 2, nếu ứng dụng kiểm tra số câu trả lời đúng
khơng đủ quy định thì ứng dụng khơng cập nhật trạng thái bài

bài học và không lưu quá trình của người tìm hiểu.
Ứng dụng cập nhật trạng thái bài học sang đã hồn thành và
lưu q trình tìm hiểu của người tìm hiểu.

Use Case Name

Alternative
Paths
Postcondition

3.2.6. Tạo tài khoản mới

Use Case Name

Tạo tài khoản mới.

Trigger

Người tìm hiểu chọn tạo tài khoản.

Precondition

Người tìm hiểu truy cập màn hình diễn đàn và người tìm hiểu
chưa đăng nhập.
1. Người tìm hiểu chọn nút “Đăng nhập”.
2. Ứng dụng hiển thị form đăng nhập.
3. Người tìm hiểu chọn nút “Đăng ký”.
4. Ứng dụng hiển thị form đăng ký.
5. Người tìm hiểu nhập đủ các trường dữ liệu và nhấn nút
“Đăng ký”.

6. Ứng dụng kiểm tra tính hợp lệ của các trường dữ liệu.
Trong bước 6, nếu bất kỳ trường nào chưa hợp lệ hoặc chưa
được nhập thì ứng dụng báo lỗi.

Basic Path

Alternative
Paths
Postcondition

Ứng dụng tạo tài khoản mới và lưu vào cơ sở dữ liệu trên hệ
thống server. Ứng dụng hiển thị màn hình diễn đàn.

3.2.7. Đăng nhập diễn đàn

Use Case Name

Đăng nhập diễn đàn.

Trigger

Người tìm hiểu chọn để đăng nhập.

Precondition

Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã
đăng nhập thành cơng trước đó.
22



Basic Path

Alternative
Paths
Postcondition

1. Người tìm hiểu chọn nút “Đăng nhập”.
2. Ứng dụng hiển thị form đăng nhập.
3. Người tìm hiểu nhập đầy đủ các trường dữ liệu và nhấn nút
“Đăng nhập”.
4. Ứng dụng kiểm tra tính hợp lệ của các trường dữ liệu được
gửi lên.
Trong bước 4, nếu bất kỳ trường nào chưa hợp lệ hoặc để
trống thì hệ thống báo lỗi.
Ứng dụng báo đăng nhập thành công và hiển thị màn hình diễn
đàn.

3.2.8. Đăng xuất diễn đàn

Use Case Name

Đăng xuất diễn đàn.

Trigger

Người tìm hiểu chọn để đăng xuất.

Precondition

Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã

đăng nhập thành cơng trước đó.
1. Người tìm hiểu chọn nút “Đăng xuất”.

Basic Path
Alternative
Paths

Khơng có

Postcondition

Ứng dụng báo đăng xuất thành cơng và hiển thị màn hình đăng
nhập.

3.2.9. Submit câu hỏi

Use Case Name

Submit câu hỏi.

Trigger

Người tìm hiểu chọn để submit câu hỏi lên hệ thống server.

Precondition

Alternative
Paths

Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã

đăng nhập thành cơng trước đó.
1. Người tìm hiểu chọn nút “Đăng câu hỏi”.
2. Ứng dụng hiển thị form đăng câu hỏi.
3. Người tìm hiểu nhập câu hỏi vào trường input và chọn nút
submit.
4. Ứng dụng kiểm tra tính hợp lệ của câu hỏi.
Trong bước 4, nếu trường nhập câu hỏi để trống hoặc không
hợp lệ thì ứng dụng báo lỗi.

Postcondition

Câu hỏi được lưu vào server.

Basic Path

23


3.2.10. Bình luận câu hỏi

Use Case Name

Bình luận câu hỏi.

Trigger

Người tìm hiểu chọn để bình luận câu hỏi.

Precondition


Alternative
Paths

Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã
đăng nhập thành cơng trước đó.
1. Người tìm hiểu chọn biểu tượng comment trên bài đăng.
2. Ứng dụng hiển thị trang bình luận cho bài đăng.
3. Người tìm hiểu nhập bình luận vào ơ nhập bình luận và
submit bình luận.
4. Ứng dụng kiểm tra tính hợp lệ của bình luận.
Trong bước 4, nếu trường nhập bình luận để trống hoặc khơng
hợp lệ thì ứng dụng báo lỗi.

Postcondition

Bình luận được lưu vào server.

Basic Path

3.2.11. Xem lịch các sự kiện lịch sử

Use Case Name

Xem lịch các sự kiện lịch sử.

Trigger

Người tìm hiểu xem lịch.

Precondition


Người tìm hiểu truy cập tab màn hình lịch.

Basic Path

1. Người tìm hiểu tab “Lịch sử”.
2. Ứng dụng load data “Các sự kiện”.
3. Ứng dụng hiển thị lịch.
Khơng có.

Alternative
Paths
Postcondition

Khơng có.

3.2.12. Đặt lịch nhắc nhở

Use Case Name

Đặt lịch nhắc nhở.

Trigger

Người tìm hiểu chọn để đặt lịch nhắc nhở.

Precondition

Người tìm hiểu truy cập màn hình nhắc nhở.


Basic Path

1. Người tìm hiểu chọn nút “+”.
2. Ứng dụng hiển thị form chọn DateTime.
3. Người tìm hiểu chọn datetime và nhấn nút “Save”.
24


Alternative
Paths

4. Ứng dụng kiểm tra thời gian có hợp lệ không.
Trong bước 3, nếu datetime sớm hơn thời gian hiện tại của
thiết bị thì được cập nhật thành datetime của ngày kết tiếp.

Postcondition

DateTime được lưu vào cơ sở dữ liệu của ứng dụng.

3.2.13. Tìm kiếm

Use Case Name

Tìm kiếm.

Trigger

Người tìm hiểu nhập từ khóa để xuất kết quả tương ứng.

Precondition


Người tìm hiểu truy cập màn hình chính.

Basic Path

1. Người tìm hiểu nhấn vào thanh tìm kiếm.
2. Chuyển sang trang nhập từ khóa.
3. Người tìm hiểu nhập từ khóa.
4. Hệ thống tiến hành so khớp từ khóa được nhập với từ khóa
được lưu trong csdl.
Trong bước 4, nếu từ khóa khơng trùng với từ khóa chứa trong
csdl thì danh sách kết quả trống.

Alternative
Paths
Postcondition

Hiển thị danh sách các kết quả tương ứng chứa từ khóa được
nhập.

3.3. Yêu cầu phi chức năng
3.3.1. Yêu cầu về hiệu năng
Phần mềm có kích thước 128 MB bộ nhớ.
Phần mềm hoạt động trên hệ điều hành Android (7 trở lên).
Đọc, viết dữ liệu với thời gian ngắn, tránh tình trạng treo máy khi dữ liệu đọc lớn.
Có thể lưu trữ dữ liệu lớn, tùy thuộc vào dung lượng còn trống trên ổ cứng thiết bị
người dùng.
Các tác vụ, tiến trình chạy đơn. Khi thực hiện xong tiến trình này mới có thể thực hiện
được tiến trình khác.
3.3.2. u cầu về an toàn

Phần mềm cam kết tuyệt đối giữ an tồn thơng tin về người dùng (họ tên, địa chỉ, tuổi
tác, giới tính, nghề nghiệp, số điện thoại, email…) hồn tồn khơng chia sẻ hay lấy cắp
25


×