Professional Documents
Culture Documents
Tai Lieu Dac Ta
Tai Lieu Dac Ta
Nhóm 12
HÀ NỘI - 2023
Mục lục
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
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è….
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ử.
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.
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ự
- 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.
- 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.
- 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ọ
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
3.2.Thuật ngữ
- Actor: các tác nhân tham gia vào hệ thống.
13
- Use case: Ca sử 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.
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
- 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.
15
Sơ đồ:
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.
- 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
- 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
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
- 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
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
- 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
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
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
- 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ễ.
- Ứ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.
23
Bảng 1: Use case tìm kiếm/ lọc sách của User
b) Đọc sách:
24
✔ Click vào trang đã đánh dấu,
sách sẽ mở về trang đó.
Trạng thái kết thúc Quay về trạng thái lúc mở ứng dụng
25
cuốn sách đó lê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
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
Điều kiện ban đầu Admin phải đăng nhập tài khoản
26
vào dropbox
27
Hình 13: Biểu đồ ER dữ liệu
a) User entity:
b) Bookinfo entity:
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
- Ứ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
● Đị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.
30
Thiết kế giao diện Hiếu , Hùng
- Giao tiếp qua nhóm chat nên thi thoảng gặp một số khó khăn nhất định
- 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.
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.
+ 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.
+ 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:
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.
o Yếu tố đơn giản là quan trọng, càng đơn giản càng tốt.
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
+ 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.
4.3.2. Database
bookinfo:
34
sách
4.3.3. Mô tả chung
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
37
4.3.3.1.4. Search book
38
4.3.3.2. Danh sách các màn:
- 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ó:
39
4.3.3.2.2. 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 Publisher lọc theo nhà xuất bản
+ 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 đó
- 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
+ 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
- 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ụ
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
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.
- 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.
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
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
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
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
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
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
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
47
5.4.Chức năng lọc sách theo yêu cầu:
- Chuẩn bị:
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Ờ
Các ca kiểm thử dưới đây được thực hiện trên dữ liệu có sẵn ở trên:
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
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
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
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
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
Bảng 14: Kiểm thử xin cấp quyền truy cập tải xuống
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ế.
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.
- Ghi chú
- User profile
- 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
[5]: Cách viết đặc tả yêu cầu phần mềm đơn giản nhất (testerpro.vn)
54