Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 54

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐHQG HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN


………………………

BÁO CÁO BÀI TẬP LỚN


MÔN: CÔNG NGHỆ THÔNG TIN

Đề bài: Phát triển phần mềm đọc sách

Mã Học Phần: INT2208 3

Giảng viên: Nguyễn Đức Anh

Nhóm 12

HÀ NỘI - 2023
Mục lục

Chương 1: Đặt vấn đề 7


1.1.Lý do thực hiện đề tài 7
1.2.Phương pháp làm sản phẩm 8
1.3.Kết quả thu được 9
Chương 2: Mô tả nền tảng kiến thức 10
2.1.Tổng quan về Tech Stack 10
2.1.1.Apache PDFBox 10
2.1.2.Tess4j 10
2.1.3.MyMemory API 11
2.1.4.Dropbox SDK 11
2.1.5.Apache Commons CSV 12
2.2.Tổng kết chương 12
Chương 3: Thu thập, phân tích và đặc tả yêu cầu 13
3.1.Phạm vi dự án 13
3.2.Thuật ngữ 13
3.3.Khái quát yêu cầu 14
3.3.1.Môi trường ứng dụng 14
3.3.2.Yêu cầu về chức năng 14
3.3.2.1.User use cases 14
3.3.2.1.1.Tìm kiếm / lọc sách 14
3.3.2.1.2.Đọc sách 16
3.3.2.1.3.Mở lại những sách đã đọc gần đây 18
3.3.2.1.4.Mở sách nằm trên máy người dùng 20
3.3.2.2.Admin use cases 22
3.3.2.2.1.Thêm sách vào thư viện 22
3.3.3.Yêu cầu phi chức năng 23

2
3.4.Chi tiết yêu cầu 23
3.4.1.Tương tác với các hệ thống khác bên ngoài 23
3.4.2.Yêu cầu về chức năng 23
3.4.2.1.User use cases 23
a)Tìm kiếm/ lọc sách: 23
b)Đọc sách: 24
c)Mở những sách đã đọc gần đây 25
d)Mở thêm sách không có trong thư viện 26
3.4.2.2.Admin use cases 27
Thêm sách vào thư viện 27
3.4.3.Yêu cầu phi chức năng 27
3.4.3.1.Tổ chức thông tin 27
3.4.3.2.Bảo mật 29
3.5.Tổng kết chương 29
Chương 4: Phân tích thiết kế và xây dựng hệ thống 30
4.1.Quá trình phát triển 30
4.1.1.Công việc: 30
4.1.2.Khó khăn 31
4.1.3.Hướng giải quyết 31
4.2.Quy trình phát triển 32
4.3.Thiết kế hệ thống 33
4.3.1.Kiến trúc 33
4.3.2.Database 34
4.3.3.Mô tả chung 35
4.3.3.1.Hoạt động 35
4.3.3.1.1.Open Book 35
4.3.3.1.2.Update Book 36
4.3.3.1.3.Bookmark 37
4.3.3.1.4.Search book 38

3
4.3.3.2.Danh sách các màn: 39
4.3.3.2.1.Giao diện chính: 39
4.3.3.2.2.Giao diện tìm kiếm/ lọc sách 40
4.3.3.2.3.Giao diện đọc sách 41
4.3.3.2.4.Giao diện dịch sách: 42
Chương 5: Cài đặt và kiểm thử 43
5.1.Chức năng mở sách 43
5.2.Chức năng cơ bản khi đọc sách 45
5.3.Chức năng dịch sách 46
5.4.Chức năng lọc sách theo yêu cầu: 48
5.5.Xin cấp quyền truy cập tải xuống 51
5.6.Cập nhật lại thư viện sách 51
Chương 6: Kết luận và Định hướng phát triển 53

4
DANH MỤC HÌNH ẢNH

Hình 1. Hình ảnh mô tả phần mềm 7


Hình 2. Biểu đồ ca sử dụng chung của cả hệ thống 12
Hình 3: Biểu đồ ca sử dụng tìm kiếm sách, lọc sách 13
Hình 4: Biểu đồ hoạt động tìm kiếm sách 14
Hình 5: Biểu đồ ca sử dụng đọc sách 15
Hình 6: Biểu đồ hoạt động đọc sách 16
Hình 7: Biểu đồ ca sử dụng mở lại những sách đã đọc gần đây 17
Hình 8: Biểu đồ hoạt động mở lại những sách đã đọc gần đây 18
Hình 9: Biểu đồ ca sử dụng mở sách nằm trên máy người dùng 18
Hình 10: Biểu đồ hoạt động mở sách nằm trên máy người dùng 19
Hình 11: Biểu đồ ca sử dụng admin cập nhật sách trên server 20
Hình 12: Biểu đồ hoạt động admin cập nhật sách trên server 20
Hình 13: Biểu đồ ER dữ liệu 26
Hình 14: Biểu đồ mô tả kiến trúc MVC của hệ thống phần mềm này 31
Hình 15: Biểu đồ lớp của đối tượng trong cơ sở dữ liệu 32
Hình 16: Biểu đồ tuần tự thể hiện hành động đọc sách 33
Hình 17: Biểu đồ tuần tự thể hiện hoạt động Update Book 34
Hình 18: Biểu đồ tuần tự thể hiện hoạt động bookmark 35
Hình 19: Biểu đồ tuần tự thể hiện hoạt động bookmark 36
Hình 20: Ảnh giao diện chính 37
Hình 21: Ảnh giao diện tìm kiếm / lọc sách 38
Hình 22: Ảnh giao diện đọc sách 39
Hình 23: Ảnh giao diện dịch sách 40

5
DANH MỤC BẢNG
Bảng 1: Use case tìm kiếm/ lọc sách của User 24
Bảng 2: Use case đọc sách của User 25
Bảng 3: Use case mở sách đã đọc gần đây của User 26
Bảng 4: Use case mở thêm sách không có trong thư viện 27
Bảng 5: Admin thêm sách vào thư viện 27
Bảng 6: Thông tin thực thể bookinfo 29
Bảng 7: Phân chia công việc cho thành viên nhóm 31
Bảng 8: Chi tiết bảng bookinfo 35
Bảng 9: Kiểm thử chức năng mở sách 45
Bảng 10: Kiểm thử chức năng cơ bản khi đọc sách 46
Bảng 11: Kiểm thử chức năng dịch sách 48
Bảng 12: Bảng dữ liệu cho ca kiểm thử 49
Bảng 13: Kiểm thử chức năng lọc sách theo yêu cầu 51
Bảng 14: Kiểm thử xin cấp quyền truy cập tải xuống 51
Bảng 15: Kiểm thử chức năng cập nhật lại thư viện sách 52

6
Chương 1: Đặt vấn đề
1.1. Lý do thực hiện đề tài
Những cuốn sách từ lâu đã đóng vai trò vô cùng quan trọng đối với sự phát triển của
mỗi người. Đó là tinh hoa tri thức của nhân loại đã được tổng hợp, lưu trữ lại dưới dạng văn
bản, đóng thành quyển và phổ biến rộng rãi khắp nơi. Chúng được chia ra thành nhiều thể
loại, đề cập đến vô vàn lĩnh vực như khoa học, đời sống, nghệ thuật,... Nhờ đó mà mỗi cá
nhân có thể tự do tiếp cận, tìm hiểu vấn đề mình quan tâm. Ngoài ra, sách còn là công cụ
giáo dục con người về mặt nhận thức và đạo đức, kĩ năng. Việc đọc các tác phẩm văn học
sẽ rèn luyện lòng đồng cảm, sẻ chia, đồng thời giúp hình thành, phát huy tính kiên nhẫn
cùng tư duy phản biện.

Rèn luyện thói quen đọc sách sẽ mang lại những lợi ích vô cùng to lớn; là một thói
quen tốt giúp cho bộ não của chúng ta khỏe mạnh và linh hoạt. Đọc sách đem lại sự thư
giãn, là nguồn gốc tuyệt vời của sự hưởng thụ, mọi nguồn cảm hứng, chỉ cho chúng ta mọi
con đường đi với những kiến thức tuyệt vời, nó cũng giúp ta trở thành một người thành
công trong cuộc sống này. Bill Gates, một tỉ phú thế giới vẫn sống cuộc đời của một “mọt
sách”. Ông đọc hơn 50 đầu sách mỗi năm và duy trì thói quen luôn đọc sách một tiếng
trước khi đi ngủ bất chấp công việc bận ra sao. Ông chủ Facebook – Mark Zuckerberg cũng
tương tự khi mời cả thế giới tham gia vào thử thách của chính mình vào năm 2015: Đọc
một cuốn sách mới vào mỗi hai tuần.

Vì những lợi ích như vậy, từ lâu sách đã là nguồn kiến thức phổ biến và được sử
dụng rộng rãi nhất trên thế giới. Thế nhưng ngày nay, cùng với sự phát triển của khoa học
kĩ thuật. Những thiết bị thông minh được cho ra đời, với các ưu điểm như gọn nhẹ dễ dàng
mang theo ở bất cứ đâu. Mang đến vô vàn nội dung trên internet, nhất là các nội dung ngắn,
dễ tiếp cận và tiếp thu, giúp chúng ta có được kiến thức một cách nhanh chóng. Do đó,
những cuốn sách - vốn đã phổ biến từ lâu nhưng lại mang những nhược điểm như tốn diện
tích, với những quyển sách dày thì còn gây khó khăn khi mang theo, hơn nữa không phải
lúc nào ta cũng tìm được sách ta muốn. Sách truyền thống đã ít dần đi, hình ảnh những bạn
trẻ cầm theo cuốn sách để đọc những lúc rảnh rỗi, trên xe buýt đã nhường chỗ cho những
chiếc điện thoại, máy tính bảng, máy tính xách tay…

7
Tuy nhiên, một khi ta muốn tìm kiếm những kiến thức sâu hơn, muốn tìm hiểu kĩ
càng về một vấn đề nào đó, sách là thứ không thể thiếu. Sách giúp chúng ta đào sâu vào
những chủ đề mà các video ngắn, bài viết hay cả những bài luận cũng không thể hiện một
cách hoàn chỉnh. Vì không thể được xuất bản ồ ạt như những nội dung số trên mạng giúp
nó có được chất lượng nhất định khi đến tay người đọc.

Vì vậy, để có được cả hai thứ, đầu tiên là sự tiện lợi và thứ hai là sự chất lượng của
nội dung. Sản phẩm của nhóm - phần mềm đọc sách chính là giải pháp cho vấn đề đó,
chúng ta có thể mang đi bất cứ đâu (vì nó ở trong các thiết bị mang theo hằng ngày) và
những kiến thức chúng ta có được chính là những kiến thức mà các tác giả đã dành cả sự
nghiệp và tâm huyết để viết ra.

Hơn thế nữa, với việc sử dụng phần mềm đọc sách, ta còn có được những tính năng
hữu ích như: Tìm kiếm sách nhanh chóng, tiếp cận kho sách khổng lồ trong kích thước nhỏ
gọn của thiết bị. Thay vì phải đi ra ngoài để tìm mua cuốn sách bạn muốn, không phải mệt
mỏi với việc xếp hàng, chờ đợi hay là lo sợ quyển sách bạn thích sẽ hết hàng. Không chỉ
vậy, bạn sẽ luôn có được bản tái bản mới nhất mà tác giả và nhà xuất bản cung cấp, vừa
giúp cho bạn tiết kiệm chi phí và cả thời gian. Hơn nữa, dịch thuật ngay trong khi đọc sách,
với chỉ một cú kéo chuột hay vuốt màn hình - là thứ mà sách truyền thống không bao giờ có
được. Điều này không chỉ mang đến sự tiện lợi mà còn giúp chúng ta tiếp cận được đến
nhiều sách hơn, giúp chúng ta trau dồi vốn ngoại ngữ. Việc không sử dụng giấy cũng khiến
cho sách điện tử trở nên thân thiện với môi trường, do đã loại bỏ hoàn toàn quy trình in trên
giấy, tiết kiệm chi phí in ấn cho nhà xuất bản. Giảm thiểu khoảng 2,2 triệu cuốn sách giấy
được xuất bản mỗi năm, sử dụng khoảng 3 triệu cây xanh. Ngoài ra sách điện tử còn có
cách ưu điểm tuyệt vời khác như: có thể tích hợp sách nói, dễ đọc trong mọi điều kiện ánh
sáng, có thể chia sẻ các đoạn trích dẫn mà bạn thích cho bạn bè….

1.2. Phương pháp làm sản phẩm


Để ứng dụng dễ dàng được tiếp cận và sử dụng trên nhiều nền tảng, bọn em quyết
định chọn phát triển và xây dựng dự án của mình trên nền tảng ứng dụng trên Windows, từ
đó hướng tới các nền tảng khác như Android và iOS thông qua các bước cơ bản như sau:

● Xây dựng ý tưởng: tìm hiểu.

● Lập kế hoạch, phân chia công việc.

8
● Thiết kế giao diện, xây dựng dữ liệu.

● Tiến hành thực hiện lập trình và kết hợp các thành phần cấu thành.

● Kiểm thử.

● Đưa ra kết quả demo.

1.3. Kết quả thu được


Phần mềm đọc sách điện tử trên nền tảng hệ điều hành Windows. Người dùng có
thể tiếp cận đến kho sách của ứng dụng và tải về nội dung người dùng mong muốn, phục vụ
việc đọc ở bất cứ đâu. Nhóm phát triển ứng dụng có thể thêm sách vào kho sách của ứng
dụng.

Hình 1. Hình ảnh mô tả phần mềm

9
Chương 2: Mô tả nền tảng kiến thức
2.1.Tổng quan về Tech Stack
2.1.1. Apache PDFBox

- Apache PDFBox là là một thư viện mã nguồn mở dùng để xử lý tập tin PDF bằng
ngôn ngữ Java. Thư viện này cho phép các nhà phát triển xây dựng các ứng dụng
Java để đọc, ghi và xử lý tập tin PDF. Apache PDFBox cung cấp các tính năng
mạnh mẽ cho việc xử lý PDF như đọc nội dung văn bản, trích xuất hình ảnh và
các phần tử khác của tài liệu PDF.

- Một số tính năng của Apache PDFBox:

o Đọc và viết các tập tin PDF.

o Trích xuất văn bản, hình ảnh và các thành phần khác từ tập tin PDF.

o Tạo tập tin PDF mới bằng cách sử dụng các phần tử cơ bản như văn bản,
hình ảnh, bảng và đồ họa.

o Chuyển đổi các tập tin PDF sang các định dạng khác như HTML, XML và
hình ảnh.

- Với các tính năng mạnh mẽ và đa dạng như vậy, Apache PDFBox đã trở thành
một trong những thư viện phổ biến nhất để xử lý các tập tin PDF trong ứng dụng
Java. Nó đã được sử dụng trong nhiều ứng dụng, từ xử lý hóa đơn đến xử lý tài
liệu pháp lý và hợp đồng.

2.1.2. Tess4j

- Tess4j là một thư viện Java cung cấp các giao diện để sử dụng Tesseract OCR
(Optical Character Recognition), một công cụ mã nguồn mở được sử dụng để
nhận dạng ký tự trong ảnh hoặc văn bản đã được scan. Tesseract OCR được phát
triển bởi Google và đã được sử dụng rộng rãi trong các ứng dụng nhận dạng ký
tự.

10
- Tess4j là một giao diện đơn giản và dễ sử dụng để tích hợp Tesseract OCR vào
các ứng dụng Java. Nó cung cấp các phương thức để đọc ảnh và nhận dạng ký tự
từ ảnh đó. Tess4j có thể hỗ trợ nhiều ngôn ngữ khác nhau và các kiểu font chữ
khác nhau. Nó cũng có thể được sử dụng để đọc các file PDF và các file ảnh
khác.

- Tess4j được sử dụng rộng rãi trong các ứng dụng như nhận dạng chữ viết tay, tìm
kiếm thông tin từ văn bản đã được scan, xử lý hình ảnh trong các ứng dụng y tế,
nhận dạng giọng nói trong các ứng dụng truyền thông, và nhiều ứng dụng khác.
Nó là một công cụ hữu ích cho các nhà phát triển Java khi cần sử dụng chức năng
nhận dạng ký tự

2.1.3. MyMemory API

- MyMemory API là một dịch vụ dịch thuật trực tuyến được cung cấp bởi công ty
Translated. MyMemory API cho phép các nhà phát triển sử dụng các API của họ
để tích hợp các dịch vụ dịch thuật trực tuyến vào ứng dụng của mình

- MyMemory API sử dụng công nghệ dịch thuật máy tính để dịch văn bản từ một
ngôn ngữ sang một ngôn ngữ khác. Nó có thể xử lý nhiều ngôn ngữ khác nhau và
cho phép người dùng tùy chỉnh các thiết lập dịch thuật như lựa chọn ngôn ngữ
đầu vào và đầu ra, kiểu đầu vào, đầu ra và tốc độ xử lý.

- MyMemory API cung cấp các kết quả dịch thuật nhanh chóng và có tính chính
xác cao, đáp ứng nhu cầu dịch thuật của các doanh nghiệp và cá nhân.

2.1.4. Dropbox SDK

- Dropbox SDK là một bộ công cụ phát triển phần mềm được cung cấp bởi
Dropbox để giúp các nhà phát triển tích hợp Dropbox vào ứng dụng của họ.
Dropbox SDK cung cấp một loạt các API cho phép các nhà phát triển thực hiện
các chức năng như tải lên và tải xuống các tệp tin, quản lý thư mục và tệp tin,
chia sẻ và truy cập tệp tin và thư mục giữa nhiều tài khoản Dropbox khác nhau

11
- Dropbox SDK có các phiên bản cho các ngôn ngữ lập trình khác nhau như Java,
Python, Ruby, PHP, .NET và Node.js. Các phiên bản này cung cấp các hàm,
phương thức và lớp để tương tác với API của Dropbox.

- Để sử dụng Dropbox SDK trong ứng dụng của mình, các nhà phát triển cần đăng
ký một ứng dụng trên trang web của Dropbox và nhận được mã truy cập (access
token) từ Dropbox. Mã truy cập này được sử dụng để xác thực ứng dụng và cho
phép ứng dụng truy cập vào tài khoản Dropbox của người dùng. Sau khi xác thực
thành công, các nhà phát triển có thể sử dụng API của Dropbox SDK để tương
tác với tệp tin và thư mục trên Dropbox.

2.1.5. Apache Commons CSV

- Apache Commons CSV là một thư viện mã nguồn mở được cung cấp bởi Apache
Software Foundation, cho phép đọc và ghi các tệp tin CSV (Comma Separated
Values). Thư viện này cung cấp các lớp và phương thức để thao tác với các tệp
tin CSV, bao gồm đọc, ghi, xử lý và chuyển đổi các giá trị trong các cột và hàng
của các tệp tin CSV.

- Các tính năng chính của Apache Commons CSV bao gồm:

o Hỗ trợ đọc và ghi các tệp tin CSV với các định dạng khác nhau

o Cung cấp các phương thức để truy cập các giá trị trong các bản ghi và cột đó

o Cho phép đọc và ghi các tệp tin CSV với các bản ghi có các trường trống
hoặc giá trị đặc biệt

- Apache Commons CSV là một thư viện rất hữu ích và tiện lợi cho các nhà phát
triển Java khi làm việc với các tệp tin CSV trong ứng dụng của họ

2.2.Tổng kết chương


- Tuy các công nghệ nói trên vẫn tồn tại nhiều hạn chế, ví dụ như MyMemory API
chỉ cho phép dịch tối đa 500 ký tự cho mỗi yêu cầu. Nhưng ngoài các công dụng
chính của chúng, các công nghệ này đều có ưu điểm là miễn phí và dễ sử dụng,
phù hợp với việc xây dựng hệ thống đơn giản. Chúng cũng kết hợp tốt với nhau

12
để đảm bảo hiệu suất hoạt động ổn định của phần mềm, dưới đây là một số ưu
điểm của tech stack này:

- Tốc độ nhận diện ký tự luôn ổn định. Với Tess4j, tốc độ nhận diện ký tự luôn
duy trì ở mức ổn định, khác với một công cụ nhận diện ký tự phổ biến khác là
Google Cloud Vision có thể bị ảnh hưởng đến tốc độ trả về kết quả nhận diện nếu
Internet không ổn định. Tess4j là một thư viện được cài đặt sẵn nên không mắc
phải vấn đề này

- Tốc độ tìm kiếm và lọc sách theo yêu cầu ổn định. Khi sử dụng Apache
Commons CSV để đọc file csv (là file lưu thông tin sách), ta có thể thực hiện tìm
kiếm với tốc độ nhanh và ổn định, việc cập nhật cũng diễn ra một cách đơn giản

- Khả năng mở rộng. Ngoài các tính năng đã được cài đặt trong phần mềm, các thư
viện và API trên còn cung cấp nhiều tính năng phục vụ mục đích nâng cấp và
phát triển các phiên bản cải tiến cho phần mềm

- Tính tin cậy và bảo trì. Apache PDFBox, Tess4j, MyMemory API, Dropbox
SDK và Apache Commons CSV được thiết kế bởi các công ty lớn, do đó các bản
nâng cấp được ra mắt định kì nhằm sửa chữa các bug, đồng thời thêm các tính
năng mới cho các công nghệ này để có thể hỗ trợ người sử dụng tốt hơn

Chương 3: Thu thập, phân tích và đặc tả yêu cầu


3.1.Phạm vi dự án
- Phần mềm được phát triển dành cho đối tượng sinh viên, học sinh và những người
có nhu cầu đọc sách với mục đích giúp người dùng tiếp cận được với những đầu
sách hay bổ ích. Chúng em xác định quy mô dự án là khá nhỏ. (50-100 người dùng).

3.2.Thuật ngữ
- Actor: các tác nhân tham gia vào hệ thống.

- User: Người dùng.

- Admin: Quản trị viên, quản lý hệ thống.

13
- Use case: Ca sử dụng.

3.3.Khái quát yêu cầu


3.3.1. Môi trường ứng dụng

- Ứng dụng có 2 actor tham gia vào là User và Admin, 2 actor này tham gia vào ứng
dụng trực tiếp từ máy tính cá nhân khi đã cài đặt phần mềm.

Hình 2. Biểu đồ ca sử dụng chung của cả hệ thống

3.3.2. Yêu cầu về chức năng

3.3.2.1. User use cases

3.3.2.1.1. Tìm kiếm / lọc sách

Khái quát

- Hệ thống hiển thị đầu sách liên quan nhất với tìm kiếm theo tiêu đề, tác giả,
nhà xuất bản và thể loại.

14
Hình 3: Biểu đồ ca sử dụng tìm kiếm sách, lọc sách

Các bước thực hiện:

- Click vào nút Filter trên giao diện của ứng dụng ở thanh công cụ phía trên cửa
sổ.

- Nhập tên đầu sách, tác giả, nhà xuất bản, thể loại của đầu sách muốn lọc ra vào
cửa sổ filter.

- Click nút OK để thực hiện lọc / tìm kiếm sách.

- Click nút Close để tắt cửa sổ tìm kiếm.

15
Sơ đồ:

Hình 4: Biểu đồ hoạt động tìm kiếm sách

3.3.2.1.2. Đọc sách

a) Khái quát:

- User có thể đọc cuốn sách đã chọn, chuyển trang trước trang sau hoặc
mở tới trang sách mong muốn.

- User có thể đóng sách.

- Có thể đánh dấu trang sách.

- Có thể phóng to và thu nhỏ trang sách theo kích cỡ đã thiết lập.

- User có thể dịch sách từ tiếng anh sang tiếng việt và ngược lại.

16
Hình 5: Biểu đồ ca sử dụng đọc sách

b) Các bước thực hiện:

- Click vào cuốn sách muốn đọc khi đã tìm kiếm, cuốn sách sẽ được
hiển thị trên cửa sổ.

- Có thể chuyển sang trang sau hoặc quay lại trang trước bằng cách nhấn
nút mũi tên ở thanh công cụ phía trên.

- Đọc xong sách, nhấn nút Close trên thanh công cụ sẽ đóng sách lại và
trở về giao diện ban đầu.

c) Sơ đồ:

17
Hình 6: Biểu đồ hoạt động đọc sách

3.3.2.1.3. Mở lại những sách đã đọc gần đây

a) Khái quát:

- Hiển thị một danh sách những sách đã đọc trong thời gian gần đây.

18
Hình 7: Biểu đồ ca sử dụng mở lại những sách đã đọc gần đây

b) Các bước thực hiện:

- Khi mở ứng dụng danh sách này sẽ hiển thị ở phía bên trái trong cửa
sổ ứng dụng.

- Có thể mở sách từ danh sách này bằng cách nhấp vào một trong số
những cuốn sách trong danh sách.

c) Sơ đồ:

19
Hình 8: Biểu đồ hoạt động mở lại những sách đã đọc gần đây

3.3.2.1.4. Mở sách nằm trên máy người dùng

a) Khái quát:

- User có thể mở một cuốn sách mà thư viện sách của ứng dụng không
có nhưng sẽ cần có định dạng pdf của cuốn sách đó trên máy tính của
người dùng.

20
Hình 9: Biểu đồ ca sử dụng mở sách nằm trên máy người dùng

b) Các bước thực hiện:

- Click vào nút New ở trên thanh công cụ.

- Tìm kiếm sách ở định dạng pdf sau đó nhấn nút open.

c) Sơ đồ:

Hình 10: Biểu đồ hoạt động mở sách nằm trên máy người dùng

21
3.3.2.2. Admin use cases

3.3.2.2.1. Thêm sách vào thư viện

a) Khái quát:

- Admin sẽ cập nhật sách mới lên server rồi người dung chỉ cần ấn cập
nhật sách và người dùng có thể tải sách về máy của mình

Hình 11: Biểu đồ ca sử dụng admin cập nhật sách trên server

biều đồ ca sử dụng admin cập nhật sách trên server.

b) Các bước thực hiện:

- Admin đăng nhập vào server

- Upload file sách mới trên server

c) Sơ đồ:

Hình 12: Biểu đồ hoạt động admin cập nhật sách trên server

22
3.3.3. Yêu cầu phi chức năng

- Giao diện đơn giản và dễ sử dụng.

- Có thể mở rộng thêm quy mô phần mềm (số lượng người dùng, số lượng chức
năng).

- Thời gian khởi động, thao tác ứng dụng nhanh, không bị trễ.

- Mã nguồn gọn gàng đơn giản.

- Ứng dụng không bị lỗi.

3.4.Chi tiết yêu cầu

3.4.1. Tương tác với các hệ thống khác bên ngoài

- Ứng dụng hiện tại chưa có liên kết với các hệ thống khác bên ngoài.

3.4.2. Yêu cầu về chức năng

3.4.2.1. User use cases

a) Tìm kiếm/ lọc sách:

Tên use case User – Tìm kiếm / lọc sách

Điều kiện ban đầu User đang ở cửa sổ Filter

Thông thường ✔ Hệ thống hiển thị danh sách


những cuốn sách phù hợp với
các chỉ tiêu user cung cấp.

Bất thường � Trong trường hợp không lọc


được tài liệu giống như yêu cầu,
cửa sổ sẽ hiện ra dòng chữ “No
content in table”.

Trạng thái kết thúc Không

23
Bảng 1: Use case tìm kiếm/ lọc sách của User

b) Đọc sách:

Tên use case User đọc sách

Điều kiện ban đầu Không

Thông thường ✔ User click vào cuốn sách muốn


đọc.

✔ Phần mềm hiển thị trang đầu


tiên của sách sang phía bên phải
cửa sổ.

✔ Sau đó sử dụng 2 nút Next và


Prev trên thanh công cụ để
chuyển sang trang sau hoặc
quay lại trang trước.

✔ Click vào nút mũi tên trỏ xuống


ở ô tùy chỉnh kích cỡ trang sách
để thay đổi chúng.

✔ Thay đổi trang đang xem thành


một số trang bất kì của quyển
sách bằng cách xóa số của trang
hiện tại là thay bằng số mình
muốn.

✔ Click Close sách sẽ đóng và


quay lại giao diện ban đầu.

✔ Click Mark sẽ đánh dấu trang


sách hiện tại sang bên trái cửa
sổ.

24
✔ Click vào trang đã đánh dấu,
sách sẽ mở về trang đó.

✔ nhấn giữ chuột phải rồi di


chuyển để chọn vùng cần dịch,
sau đó nhấn Translate để dịch.
Màn hình sẽ có hai màn bên trái
là đoạn cần dịch còn bên phải là
kết quả sau khi dịch

Bất thường � Nhập số của trang muốn mở quá


với số trang của cuốn sách sẽ
giữ nguyên trạng thái cửa sổ
phần mềm.

� Sau mỗi 4 tiếng sử dụng sách


phải đăng nhập tài khoản
dropbox để sử dụng tiếp do
phần mềm sử dụng dropbox.

Trạng thái kết thúc Quay về trạng thái lúc mở ứng dụng

Bảng 2: Use case đọc sách của User

c) Mở những sách đã đọc gần đây

Tên use case User mở sách đã đọc gần đây

Điều kiện ban đầu Đã mở ít nhất 1 sách trước đó

Thông thường ✔ Danh sách những cuốn sách đã


đọc gần đây sẽ ở sẵn phía bên
trái cửa sổ khi mở ứng dụng.

✔ Click vào một trong số các cuốn


sách trong danh sách sẽ mở

25
cuốn sách đó lên

Bất thường Không

Trạng thái kết thúc Cuốn sách được mở lên

Bảng 3: Use case mở sách đã đọc gần đây của User

d) Mở thêm sách không có trong thư viện

Tên use case User mở sách ngoài thư viện

Điều kiện ban đầu Cần có định dạng pdf của sách đó ở
cùng thiết bị với phần mềm

Thông thường ✔ Click nút New trên thanh công


cụ của phần mềm, cửa sổ các
file trong máy tính đó sẽ hiện ra.

✔ Người dùng chọn file có định


dạng pdf từ cửa sổ đó

✔ Sau khi chọn, cửa sổ đó đóng lại

Bất thường Không

Trạng thái kết thúc Sách đã chọn được hiển thị giống mở
sách để đọc thông thường

Bảng 4: Use case mở thêm sách không có trong thư viện

3.4.2.2. Admin use cases

Thêm sách vào thư viện

Tên use case Admin thêm sách vào thư viện

Điều kiện ban đầu Admin phải đăng nhập tài khoản

26
vào dropbox

Thông thường Admin upload file pdf của sách lên


cloud storage

Bất thường Không

Trạng thái kết thúc sách được upload sẽ hiện trong


storage để người dùng tải về

Bảng 5: Admin thêm sách vào thư viện

3.4.3. Yêu cầu phi chức năng

3.4.3.1. Tổ chức thông tin

- Dưới đây là thông tin về đối tượng trong database:

27
Hình 13: Biểu đồ ER dữ liệu

a) User entity:

- User không có đặc tính trong cơ sở dữ liệu.

- Chỉ có admin mới có quyền thao tác trên cơ sở dữ liệu.

b) Bookinfo entity:

Thông tin Loại Mô tả Ghi chú

Tên sách Văn bản Tên cuốn sách Tất cả các yếu
tố này có thể
Nhà xuất bản Văn bản Đơn vị có bản quyền và
trùng nhau
được phép phát hành sách
nhưng không

28
Tác giả Văn bản Tên của tác giả cuốn sách thể có 2 quyển
sách trùng cả
Thể loại Văn bản Thể loại của cuốn sách
tên và tác giả
cùng một lúc

File Pdf Loại định dạng của sách Tất cả sách yêu
cầu định dạng
pdf

Bảng 6: Thông tin thực thể bookinfo

3.4.3.2. Bảo mật

- Ứng dụng không yêu cầu nhiều về bảo mật do sử dụng trực tiếp trên thiết bị
riêng của người dùng và không kết nối đến hệ thống bên ngoài (hiện tại là
như vậy).

1.
2.
3.
3.1.
3.2.
3.3.
3.4.
3.5.Tổ ng kết chương

- Trong chương này, chúng ta đã thực hiện các bước sau:

● Định nghĩa phạm vi: Bao gồm mục đích, đối tượng sử dụng, các tính năng
chính và yêu cầu không chính thức của app đọc sách.

29
● Thu thập yêu cầu: Sử dụng các phương pháp thu thập thông tin như phỏng vấn
và khảo sát để tìm hiểu nhu cầu của khách hàng đối với app đọc sách.
● Phân tích yêu cầu: Sử dụng kỹ thuật phân tích để phân tích và hiểu rõ các yêu
cầu của khách hàng, đưa ra các yêu cầu chức năng, phi chức năng, yêu cầu bảo
mật và hiệu suất.

- Kết quả của chương này là một danh sách các tính năng và yêu cầu cần thiết để phát
triển một app đọc sách hoàn chỉnh. Các tính năng này có thể bao gồm: tìm kiếm
sách, đọc sách trực tuyến, lưu trữ dữ liệu sách, dịch sách, đánh dấu trang và thống
kê lịch sử đọc sách.
- Tóm lại, Thu thập và phân tích đặc tả yêu cầu cho app đọc sách là một bước quan
trọng trong quá trình phát triển app đọc sách, giúp định hình được các tính năng và
yêu cầu cần thiết để xây dựng một ứng dụng đọc sách hoàn chỉnh, đáp ứng nhu cầu
của người dùng.

Chương 4: Phân tích thiết kế và xây dựng hệ thống


4.1.Quá trình phát triển
4.1.1. Công việc:

Công việc Người phụ trách

Quản lý, review pull request Hùng, Hiếu

Thiết kế cơ sở dữ liệu Kiên, Hùng

30
Thiết kế giao diện Hiếu , Hùng

Thiết kế và cài đặt tính năng đọc và tải Kiên, Hùng


sách, bookmark

Thiết kế và cài đặt tính năng đọc và hiển Vinh, Hùng


thị sách

Làm báo cáo Kiên, Hiếu, Vinh.

Kiểm thử Tất cả các thành viên

Bảng 7: Phân chia công việc cho thành viên nhóm

4.1.2. Khó khăn

- Giao tiếp qua nhóm chat nên thi thoảng gặp một số khó khăn nhất định

- Không có kinh nghiệm phát triển.

- Cần phải mày mò tìm tòi, tự thiết kế với phương pháp làm có ít tài liệu hướng
dẫn trên Internet.

- Không có hướng thiết kế phù hợp.

4.1.3. Hướng giải quyết

- Cả nhóm làm việc trực tiếp thường xuyên hơn

- Thiết kế mẫu nháp trước khi thiết kế sản phẩm thật

31
4.2.Quy trình phát triển
- Phần mềm được phát triển dựa trên mô hình thác nước.

- Lý do chọn mô hình thác nước:

+ Quy mô nhỏ, rõ ràng về yêu cầu từ đầu dự án.

+ Thường không có nhiều thay đổi về sản phẩm.

- Vấn đề khi áp dụng mô hình thác nước:

+ Cần xác định trước yêu cầu sản phẩm khá rõ ràng và chi tiết từ ban đầu.

+ Thường có ít thay đổi của sản phẩm vì mọi thứ đã được làm rõ từ đầu.

- Phương án đưa ra:

+ Thảo luận để có một quy trình thật kỹ lưỡng, phần mềm đầy đủ chức
năng trước khi bắt đầu quá trình phát triển phần mềm.

- Chi tiết:

● Hoạt động lên kế hoạch:

o Cả nhóm thảo luận trước tiên về các tính năng, chức năng và
yêu cầu muốn có từ sản phẩm.

o Trưởng nhóm tổng hợp lại và hoàn thành từng việc một sau khi
sắp xếp thứ tự hợp lý cho các ý kiến thảo luận.

● Hoạt động thiết kế:

o Yếu tố đơn giản là quan trọng, càng đơn giản càng tốt.

o Làm từng phần một.

● Hoạt động viết code:

o Do nhóm trưởng phân chia

32
- Việc phát triển phần mềm được quản lý bằng.

- Quản lý phiên bản và làm việc nhóm được thực hiện bằng Github.

4.3.Thiết kế hệ thống
4.3.1. Kiến trúc

Hình 14: Biểu đồ mô tả kiến trúc MVC của hệ thống phần mềm này

- Hệ thống sử dụng kiến trúc MVC với:

+ Backend:

+ Frontend: JavaFX

+ Database: MySQL

33
- Lý do:

+ Đây là công nghệ tiện lợi với nhóm vì thành viên nhóm cũng đã tiếp
xúc với JavaFX.

+ Dễ cài đặt, Nhẹ.

4.3.2. Database

Hình 15: Biểu đồ lớp của đối tượng trong cơ sở dữ liệu

bookinfo:

Trường Loại dữ liệu Mô tả Ghi chú

tensach String Tên cuốn sách

nxb String Nhà xuất bản cuốn


sách

tacgia String Tác giả cuốn sách

theloai String Thể loại của cuốn

34
sách

file String Định dạng của


cuốn sách

Bảng 8: Chi tiết bảng bookinfo

4.3.3. Mô tả chung

4.3.3.1. Hoạt động

4.3.3.1.1. Open Book

Hình 16: Biểu đồ tuần tự thể hiện hành động đọc sách

35
4.3.3.1.2. Update Book

Hình 17: Biểu đồ tuần tự thể hiện hoạt động Update Book

36
4.3.3.1.3. Bookmark

Hình 18: Biểu đồ tuần tự thể hiện hoạt động bookmark

37
4.3.3.1.4. Search book

Hình 19: Biểu đồ tuần tự thể hiện hoạt động bookmark

38
4.3.3.2. Danh sách các màn:

4.3.3.2.1. Giao diện chính:

Hình 20: Ảnh giao diện chính

- Danh sách những cuốn sách đã đọc gần đây ở phía bên trái giao diện tại mục
Recent books.

- Thanh công cụ ở phía trên cùng của cửa sổ, gồm có:

+ Nút New để mở sách định dạng pdf trong máy

+ Prev để quay lại trang trước

+ Next để chuyển sang trang sau

+ Filter chuyển sang màn hình tìm kiếm / lọc sách

39
4.3.3.2.2. Giao diện tìm kiếm/ lọc sách

Hình 21: Ảnh giao diện tìm kiếm / lọc sách

- Giao diện hiện ra khi ấn nút Filter trên thanh công cụ từ giao diện chính

- Thông tin đầy đủ về các cuốn sách trong thư viện ở phía bên phải

- Thanh công cụ tìm kiếm / lọc sách nằm dọc ở bên trái bao gồm:

+ Hộp nhập văn bản Title lọc theo tên sách

+ Hộp nhập văn bản Author lọc theo tác giả

+ Hộp nhập văn bản Publisher lọc theo nhà xuất bản

+ Thanh thả xuống Genres chọn thể loại cho sách

+ Nút OK để lọc / tìm kiếm sách theo thông tin đã chọn ở trên

40
+ Reset để làm mới toàn bộ tiêu chí lọc sách đã điền, đã chọn trước đó

+ Update Library để cập nhật thư viện

+ Close để đóng cửa sổ tìm kiếm / lọc sách

4.3.3.2.3. Giao diện đọc sách

Hình 22: Ảnh giao diện đọc sách

- Giao diện thay đổi từ giao diện chính bằng việc thêm phần hiển thị trang sách
ở bên phải cửa sổ và không còn danh sách hiển thị những sách đọc gần đây

- Trong lúc đọc sách có thể:

+ Chuyển sang trang trước, trang sau hoặc trang bất kỳ của quyển sách
bằng nút Prev hoặc Next hoặc thay đổi số của trang hiện tại ở thanh
công cụ phía trên cửa sổ

41
+ Đánh dấu trang sách bằng nút Mark hình lá cờ trên thanh công cụ, lịch
sử đọc sách gần đây sẽ được thay bằng danh sách trang sách được đánh
dấu

+ Đóng sách bằng cách click nút close trên thanh công cụ

- Nhấn mũi tên trái trên bàn phím để trở lại trang sách trước

- Nhấn mũi tên phải trên bàn phím để chuyển tới trang sách sau

4.3.3.2.4. Giao diện dịch sách:

Hình 23: Ảnh giao diện dịch sách

- Chọn một vùng trang sách bằng cách kéo thả một vùng

- Sau khi thả chuột sẽ hiện ra nút Translate trên thanh công cụ

- Click vào nút Translate sẽ hiện ra giao diện trên

42
- Giao diện gồm 2 phần, chia làm 2 hộp văn bản:

+ hộp bên trái chứa văn bản gốc được bôi đen

+ hộp bên phải chứa văn bản đã được dịch

4.
4.1.
4.2.
4.3.
4.4.Tổ ng kết chương
- Cần xác định trước và thiết kế kiến trúc của hệ thống một cách rõ ràng và trực quan,
từ đó có thể dễ dàng cài đặt, nhất là khi làm việc trong nhóm nhiều người, đồng thời
không gây khó khăn cho công việc mở rộng hay sửa chữa, bảo trì trong tương lai.
- Một giao diện người dùng tốt cần đáp ứng được nhu cầu và mong đợi của người
dùng, mang lại trải nghiệm sử dụng thuận tiện và dễ dùng, trực quan. Đồng thời linh
hoạt, tương thích với nhiều nền tàng, cũng như có được tốc độ, hiệu suất cao.

Chương 5: Cài đặt và kiểm thử


- Việc kiểm tra chương trình được thực hiện thủ công và chưa viết test tự động.

- Lý do:

+ Việc học thêm các framework test tự động mất nhiều thời gian.

+ Thành viên nhóm chưa có nhiều kinh nghiệm trong việc test.

5.1.Chức năng mở sách


- Chuẩn bị: Mở sách Rich dad poor dad, Nhà giả kim từ thư viện sách, sau đó vào thư
mục lưu trữ sách đã tải về xóa file nhagiakim.pdf

STT Tên ca kiểm Các bước Dữ liệu Kết quả trả về Trạng

43
thử kiểm thử thái

1 Chọn tệp pdf Ấn button File pdf Hiển thị sách lên giao thành
từ thiết bị của New, tìm và trong thiết diện công
người sử dụng mở file pdf bị của
bất kỳ người dùng

2 Chọn sách từ Nhấn vào 1 src\main\ Hiển thị sách lên giao Thành
danh sách đã địa chỉ trong resources\ diện công
mở gần đây, danh sách library\
file được chọn Recent chagiaucha
vẫn tồn tại Books ngheo.pdf

3 Chọn sách từ Nhấn vào 1 src\main\ Sorry, we couldn't Thất


danh sách đã địa chỉ trong resources\ find your file. It bại
mở gần đây, danh sách library\ might have been
file được chọn Recent nhagiakim. moved, renamed, or
không tồn tại Books pdf deleted. Please try
again.

4 Chọn sách từ Nhấn đúp src\main\ Hiển thị sách lên giao Thành
thư viện, sách vào sách resources\ diện công
đã được tải từ muốn mở library\
lần sử dụng chagiaucha
trước ngheo.pdf
(file sách
đã được tải
sẽ lưu trong
folder
library)

5 Chọn sách từ Nhấn đúp nhagiakim. Hiển thị sách lên giao Thành
thư viện, sách vào sách pdf diện công
chưa được tải, muốn mở
đã có quyền

44
truy cập để tải
xuống

Bảng 9: Kiểm thử chức năng mở sách

5.2.Chức năng cơ bản khi đọc sách


- Chuẩn bị: Mở sách Trạng Quỳnh (Khuyết Danh) và đánh dấu trang 15 của sách

Tên ca kiểm Các bước Trạng


STT Dữ liệu Kết quả trả về
thử kiểm thử thái

1 Chọn sách từ Nhấn đúp nhagiakim. Không có gì xảy ra Thất


thư viện, sách vào sách pdf bại
chưa được tải, muốn mở
chưa có quyền
truy cập để tải
xuống

2 Chuyển sang Nhấn vào Không Giao diện hiển thị Thành
trang sau bằng button Next trang tiếp theo công
button

3 Chuyển sang Nhấn vào Không Giao diện hiển thị Thành
trang trước button Prev trang trước công
bằng button

4 Chuyển sang Nhập 15 15 Giao diện hiển thị Thành


trang bất kì vào vùng trang 15 công
bằng cách hiển đang
nhập số trang, hiển thị số
số trang nhập trang
vào là hợp lệ

5 Chuyển sang Nhập 100 100 Không có gì xảy ra Thất

45
trang bất kì vào vùng bại
bằng cách hiển đang
nhập số trang, hiển thị số
số trang nhập trang
vào không hợp
lệ

6 Đóng sách Nhấn vào Không Trở về màn hình bắt Thành
đang đọc button đầu, cập nhật lại lịch công
Close sử sách đã đọc

7 Thay đổi kích Chọn tỉ lệ 150% Trang pdf được Thành


thước trang tùy ý trong phóng to gấp 1.5 lần công
pdf thanh chọn ban đầu
tỉ lệ

8 Đánh dấu Nhấn Không Trang sách được Thành


trang button đánh dấu và hiển thị công
Bookmark ở bên trái giao diện,
button Bookmark đổi
màu

9 Xóa đánh dấu Nhấn Không Đánh dấu trang đang Thành
trang button được hiển thị bên trái công
Bookmark giao diện biến mất,
Button Bookmark trở
về màu mặc định

Bảng 10: Kiểm thử chức năng cơ bản khi đọc sách

5.3.Chức năng dịch sách


- Chuẩn bị: Mở sách Rich dad poor dad trong thư viện

STT Tên ca kiểm Các bước Dữ liệu Kết quả trả về Trạng

46
thử kiểm thử thái

1 Mở trang đã Nhấn vào 1 Page 15 Chuyển đến và hiển Thành


được đánh trang bất kỳ thị trang 15 công
dấu trong danh
sách các
trang đã
đánh dấu

2 Dịch 1 đoạn Nhấn giữ Hiển thị hai đoạn văn Thành
ký tự trên chuột phải language = bản: Bên trái là văn công
sách, lựa và di vie, bản đã chọn, bên phải
chọn ngôn chuyển trên Cha giàu là kết quả dịch: Rich
ngữ đúng, ít trang sách cha nghèo dad poor dad
hơn 500 kí để chọn
tự vùng muốn
dịch, nhấn
button
Translate

3 Dịch 1 đoạn Nhấn giữ language = Hiển thị hai đoạn văn Thất
ký tự trên chuột phải vie, đoạn bản: Bên trái là văn bại
sách, lựa và di văn bản bản đã chọn, bên phải
chọn ngôn chuyển trên nhiều hơn là đoạn thông báo:
ngữ đúng, trang sách 500 kí tự Sorry, I can translate
nhiều hơn để chọn up to a maximum of
500 kí tự vùng muốn 500 characters per
dịch, nhấn request
button
Translate

Bảng 11: Kiểm thử chức năng dịch sách

47
5.4.Chức năng lọc sách theo yêu cầu:
- Chuẩn bị:

Title Author Publisher Genres

Thằng khùng James Hadley Chase NXB Văn hóa thông tiểu thuyết- trinh
tin thám

Gã Hippy trên James Hadley Chase NXB Thanh niên tiểu thuyết- trinh
đường thám

Pháo đài cấm Jason Rekulak NXB Văn hóa Văn tiểu thuyết- trinh
Nghệ thám

KHO BÁU CỦA Steve Berry NXB Văn Học phiêu lưu
HIỆP SĨ ĐỀN THỜ

CUỘC PHIÊU Heizn Schaeffer NXB Văn Học phiêu lưu


LƯU CỦA TÀU
NGẦM U-977

Bảng 12: Bảng dữ liệu cho ca kiểm thử

Các ca kiểm thử dưới đây được thực hiện trên dữ liệu có sẵn ở trên:

Tên ca kiểm Các bước Trạng


STT Dữ liệu Kết quả trả về
thử kiểm thử thái

1 Dịch 1 đoạn Nhấn giữ language = Hiển thị hai đoạn văn Thất

48
ký tự trên chuột phải eng, Cha bản giống nhau ở 2 bại
sách, lựa và di giàu cha bên: Cha giau cha
chọn sai chuyển trên nghèo ngheo
ngôn ngữ, ít trang sách
hơn 500 kí để chọn
tự vùng muốn
dịch, nhấn
button
Translate

2 Lọc sách Vào Filter Thằng Trả về thông tin về Thành


theo tên và nhập tên khùng sách Thằng khùng công
sách, gõ sách trong
chính xác mục Title,
tên sách rồi nhấn
OK

3 Lọc sách Vào Filter Thằng Trả về thông tin các Thành
theo tên và nhập văn khùng sách Thằng khùng công
sách, gõ 1 bản trong
phần tên mục Title,
sách rồi nhấn
OK

4 Lọc sách Vào Filter James Trả về thông tin về Thành


theo tên và nhập tên Hadley sách Thằng khùng, công
sách, gõ tác giả Chase Gã Hippy trên đường
chính xác trong mục
tên tác giả Author, rồi
nhấn OK

5 Lọc sách Vào Filter James Trả về thông tin về Thành


theo tên và nhập văn sách Thằng khùng, công
sách, gõ 1 bản trong Gã Hippy trên đường

49
phần tên của mục
tác giả Author, rồi
nhấn OK

6 Lọc sách Vào Filter NXB Văn Trả về thông tin về Thành
theo tên và nhập tên Hóa Văn sách Pháo đài cấm công
NXB, gõ nxb trong Nghệ
chính xác mục
tên NXB Publisher,
rồi nhấn
OK

7 Lọc sách Vào Filter Văn Trả về thông tin về Thành


theo tên và nhập văn sách Pháo đài cấm, công
sách, gõ 1 bản trong KHO BÁU CỦA
phần tên của mục HIỆP SĨ ĐỀN THỜ,
tác giả Publisher, CUỘC PHIÊU LƯU
rồi nhấn CỦA TÀU NGẦM
OK U-977

8 Lọc sách Vào filter phiêu lưu Trả về thông tin về Thành
theo thể loại chọn thể sách KHO BÁU công
loại trong CỦA HIỆP SĨ ĐỀN
mục Genres THỜ, CUỘC PHIÊU
LƯU CỦA TÀU
NGẦM U-977

Bảng 13: Kiểm thử chức năng lọc sách theo yêu cầu

5.5.Xin cấp quyền truy cập tải xuống

STT Tên ca kiểm Các bước Dữ liệu Kết quả trả về Trạng

50
thử kiểm thử thái

1 Lọc sách Vào filter publisher = Trả về thông tin về Thành


theo nhiều điền các Văn Học, sách KHO BÁU công
tiêu chí tiêu chí tùy genres = CỦA HIỆP SĨ ĐỀN
ý phiêu lưu THỜ, CUỘC PHIÊU
LƯU CỦA TÀU
NGẦM U-977

2 Nhập mã xác Vào link do 460u2182 Người dùng đã được Thành


thực để được phần mềm AOkAAA cấp quyền tải xuống công
cấp quyền cấp, đăng AAAAAA
tải xuống, nhập tài LQ4HIvuir
nhập mã khoản PKQlY_O
đúng Dropbox, và ycVttH0
làm theo
hướng dẫn
như hiển thị

Bảng 14: Kiểm thử xin cấp quyền truy cập tải xuống

5.6.Cập nhật lại thư viện sách

Tên ca kiểm Các bước Trạng


STT Dữ liệu Kết quả trả về
thử kiểm thử thái

28 Nhập mã xác Vào link do abc Người dùng không Thất bại
thực để được phần mềm thể tải sách từ thư
cấp quyền cấp, đăng viện, đồng thời hiện
tải xuống, nhập tài ra thông báo: Sorry,
nhập mã khoản your access code was
sai(hoặc Dropbox, và wrong or expired.

51
không nhập) làm theo Please try again
hướng dẫn
như hiển thị

29 Cập nhật lại Vào filter, Không Thư viện đã được Thành
thư viện, đã nhấn vào thêm sách mới công
được cấp Button
quyền Update

Bảng 15: Kiểm thử chức năng cập nhật lại thư viện sách

5.
5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.Tổ ng kết chương
Việc kiểm thử tập trung vào việc kiểm tra tính đúng đắn và đầy đủ của hệ thống
trong các tình huống khác nhau. Các bước kiểm thử cần được thực hiện trước khi triển
khai sản phẩm vào môi trường thực tế để đảm bảo rằng sản phẩm đáp ứng được các yêu
cầu chức năng và phi chức năng.

Kiểm thử cho app đọc sách là quan trọng để đánh giá mức độ hoàn thành của quá
trình kiểm thử. Các bước kiểm thử đã được thực hiện để đảm bảo rằng hệ thống hoạt
động ổn định và đáp ứng các yêu cầu của khách hàng, đảm bảo rằng sản phẩm đáp ứng
được các yêu cầu của khách hàng và hoạt động ổn định trên môi trường thực tế.

Ngoài ra, chương kiểm thử còn cung cấp thông tin về kết quả kiểm thử, bao gồm cả
các lỗi đã phát hiện và các báo cáo tổng quan về tình trạng của hệ thống sau khi kiểm

52
thử. Điều này giúp cho nhà phát triển có thể xác định và khắc phục các lỗi trước khi
triển khai sản phẩm vào môi trường thực tế.

Chương 6: Kết luận và Định hướng phát triển


Cho tới thời điểm hiện tại, nhìn chung thì ứng dụng đã được hoàn thành hầu hết các
tính năng chính so với yêu cầu đề ra. Cụ thể như tính năng mở, đóng sách, tìm kiếm, lọc
sách và dịch sách. Bên cạnh đó ứng dụng có yêu cầu người dùng cần phải có tài khoản
dropbox để đọc một số đầu sách. Sau khi trải nghiệm và kiểm tra các tính năng, nhìn chung
ứng dụng chạy ổn định và không mắc phải lỗi nghiêm trọng ảnh hưởng đến trải nghiệm của
người dùng.

Tuy vậy, sự hạn chế về mặt kinh nghiệm, thời gian và đóng góp từ người dùng dẫn đến
việc hệ thống vẫn còn nhiều khiếm khuyết. Trong thời gian tới, nhóm chúng em sẽ cố gắng
để hoàn thiện sản phẩm, biến nó trở thành một sản phẩm hoàn chỉnh hơn.

Một số tính năng có thể phát triển thêm:

- Ghi chú

- Đánh giá sách

- Hệ thống tài khoản phân chia user và admin

- Ứng dụng sử dụng Internet

- User profile

- Bán sách nếu người dùng có nhu cầu

- hiện hình ảnh bìa sách khi người dùng chọn sách

53
TÀI LIỆU THAM KHẢO

[1]: MyMemory API technical specifications (translated.net)

[2]: thiết kế giao diện bằng Scene Builder https://www.youtube.com/watch?


v=9XJicRt_FaI&t=10746s

[3]: Apache PDFBox | Examples

[4]: HTTP - Developers - Dropbox

[5]: Cách viết đặc tả yêu cầu phần mềm đơn giản nhất (testerpro.vn)

54

You might also like