1. Trang chủ
  2. » Luận Văn - Báo Cáo

khoa-luan-thie-ke-web-dien-dan-java-reactjs.pdf

96 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

KHÓA LUẬN tốt NGHIỆP. Thiết kế website diễn đàn toán học Java Spring Boot + ReactJs + mySQL + Ant Desgin Khi tham gia vào diễn đàn người sử dụng sẽ lựa chọn một chủ đề trong loạt các chủ đề của diễn đàn, Ví dụ ta chọn chủ đề “lập trình”, sau khi chọn chủ đề xong, một danh sách các câu hỏi thuộc chủ đề đó sẽ xuất hiện. Người sử dụng sẽ chọn một trong các câu hỏi trong danh sách để xem nội dung, ví dụ chọn bài “Nhiệt lượng mặt trời" thì nội dung của bài này hiện ra, nếu người đọc thấy có thể trả lời được thì nhấn vào nút trả lời và nhập nội dung vào form trả lời và nhấn nút trả lời, bài trả lời sẽ nằm ngay dưới câu hỏi. Nếu người sử dụng muốn gửi một bài mới thì có thể nhấn vào nút “đặt câu hỏi”. Trên đây là phần sơ lược về hoạt động cơ bản của diễn đàn. Ngoài ra nó còn cho phép người dùng có nhiều thao tác khác khác nhau. Để minh hoạ cho chức năng chính của diễn đàn là gửi và trả lời một câu hỏi, ta đưa ra ví dụ để chúng ta có thể hình dung được khái quát diễn đàn dùng làm gì và nó có dáng dấp như thế nào. Đặt câu hỏi là chức năng nổi bật nhất của forum. Câu hỏi là mục cho phép người dùng soạn thảo câu hỏi. Câu hỏi gồm 3 mục: ● Tiêu đề ● Chủ đề ● Nội Dung Câu hỏi đó có thể được sửa lại, xóa hoặc đóng phần trả lời tùy thuộc vào quyết định của người tạo ra nó. Lưu ý: Người dùng muốn đặt được câu hỏi trong forum thì phải đăng nhập vào hệ thống mới có quyền đặt câu hỏi. Đối với một câu hỏi được tạo ra, tất cả những người có quyền nhìn thấy nó trên trang chủ của mình đều có thể ấn viết câu trả lời. Đối với những câu hỏi công khai thì mọi người đều có thể ấn tham gia viết câu trả lời , trả lời đó có thể xóa hoặc sửa tùy theo mục đích của người tạo ra nó. Còn đối với những câu hỏi ở chế độ khóa trả lời thì chỉ có thể xem mà không nhập câu trả lời được. Để quản lý chủ đề có trong hệ thống hệ thống, trong forum có ít nhất một mod đóng người quản trị vai trò làm. Mod này có quyền quản lý thông tin chủ đề có trong hệ thống.

TRƯỜNG ĐẠI HỌC THĂNG LONG KHOA TOÁN TIN -   - KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: DIỄN ĐÀN TOÁN HỌC GIÁO VIÊN HƯỚNG DẪN TS MAI THÚY NGA SINH VIÊN THỰC HIỆN NHÂM NGỌC TUẤN ANH - A28348 TM29 Ngành: Toán ứng dụng HÀ NỘI – 2021 LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn chân thành tới tồn thể thầy giáo Khoa Tốn Tin thầy cô giảng dạy trường Đại học Thăng Long truyền đạt kiến thức quý báu bổ ích cho em năm học vừa qua Đặc biệt, em xin gửi lời cảm ơn chân thành sâu sắc tới cô – Mai Thuý Nga, giảng viên khoa Toán Tin, Đại học Thăng Long Thời gian qua nhờ vào hướng dẫn tận tình động viên, giúp đỡ ân cần từ mà em có thành xây dựng hồn thiện Khố luận tốt nghiệp ngày hôm Em xin gửi lời cảm ơn tới anh, chị bạn khoa Toán - Tin Đại học Thăng Long giúp đỡ, chia sẻ kinh nghiệm dẫn cho em suốt q trình học q trình thực khóa luận Tuy nhiên, lực hạn chế nên em phát huy hết ý tưởng, khả hỗ trợ ngơn ngữ với giúp đỡ nhiệt tình người vào đề tài Trong q trình xây dựng website, khơng thể tránh khỏi sai sót, mong nhận đóng góp cảm thơng q thầy bạn Mọi đóng góp xin gửi địa email : vucute9366@yahoo.com.vn Một lần xin chân thành cảm ơn Sinh viên trình bày: Nhâm Ngọc Tuấn Anh Lớp : Toán Ứng Dụng - K29 LỜI MỞ ĐẦU Năm 2020, chứng kiến phát triển vũ bão internet, mạng 4G vừa mắt khơng lâu mạng 5G thử nghiệm, với tác động lớn Covid19 Các cách học học sinh, sinh viên bổ trợ thêm cách cách học online, tra cứu internet Sinh viên tham gia hội nhóm trường(facebook, twitter), đăng tập hỏi phương hướng làm Nhưng có hạn chế sau: ● Các đăng khơng có liên kết với nhau, nên tìm lại khó ● Do tính chất mạng xã hội nên dễ gây xao nhãng Sinh viên gửi email cho thầy, nhắn tin qua zalo, facebook, Nhưng tồn hạn chế sau: ● Đòi hỏi sinh viên phải có địa email thầy Và viết khơng chuẩn bị lọc vào hịm thư spam ● Các hình thức mạng xã hội zalo, facebook, phát triển nơi thầy cô thường xuyên truy cập Nên có nhiều chậm trễ Nhược điểm chung viết câu trả lời với cơng thức tốn học thường khó khăn Cịn diễn đàn sao? Nếu nói email mối quan hệ người hỏi người trả lời Còn mạng xã hội mối quan hệ người hỏi với nhiều người trả lời dễ gây xao nhãng Diễn đàn không gian thảo luận 1-n, giống mạng xã hội Nhưng nơi riêng - ốc đảo mang tính chuyên biệt hơn, nơi mà sinh viên có thể: ● Nhập trực tiếp cơng thức tốn học, viết lên ● Hệ thống có nhiều câu hỏi tìm kiếm dễ dàng, nhanh chóng, xác sở liệu ● Trả lời nhanh gọn Truy cập nơi Thời gian chọn đề tài “Xây dựng forum tốn học” đến lúc hồn thành vịng tháng Nội dung khóa luận trình bày bao gồm chương: ● Chương 1: Tổng quan hệ thống: Nghiệp vụ toán chức hệ thống ● Chương 2: Công nghệ sử dụng: Công nghệ sử dụng forum ● Chương 3: Đặc tả hệ thống: Là khâu trình phát triển phần mềm ● Chương 4: Thiết kế Database, API: Thiết kế database api ● Chương 5: Thiết kế chức năng: Phân tích sơ đồ lớp sơ đồ trình tự ● Chương 6: Kiểm thử: Giới thiệu kiểm thử, loại kiểm thử áp dụng MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU MỤC LỤC DANH MỤC HÌNH ẢNH, SƠ ĐỒ CHƯƠNG 1: TỔNG QUAN HỆ THỐNG 1.1 Yêu cầu toán 1.1.1 Mô tả toán 1.1.2 Sơ đồ quy trình nghiệp vụ 10 1.1.3 Yêu cầu nghiệp vụ 10 1.2 Sơ đồ Use-Case .11 1.2.1 Sơ đồ chức hệ thống 11 1.2.2 Mô tả tác nhân tham gia hệ thống 11 1.2.3 Các chức hệ thống .12 1.3 Ánh xạ yêu cầu nghiệp vụ chức hệ thống 14 CHƯƠNG : CÔNG NGHỆ SỬ DỤNG 16 2.1 Kiến trúc tổng thể 16 2.1.1 Sơ đồ kiến trúc 16 2.1.2 Mô tả kiến trúc 16 2.2 Server 16 2.2.1 Java 16 2.2.2 Hibernate 18 2.2.3 Spring Data JPA Hibernate .19 2.2.4 Spring boot 21 2.2.5 Spring Security .22 2.2.6 Postgresql 23 2.3 Client .25 2.3.1 CkEditor 25 2.3.2 Ant design .26 2.3.3 ReactJS 27 2.4 Thư mục mã nguồn 28 2.4.1 Môi trường cài đặt 28 2.4.2 Cấu trúc thư mục mã nguồn 29 CHƯƠNG : ĐẶC TẢ HỆ THỐNG 31 3.1 Chức đăng ký 31 3.2 Chức đăng nhập 33 3.3 Trang cá nhân 35 3.3.1 Xem trang cá nhân 35 3.3.2 Quản lý thông tin trang cá nhân 36 3.4 Quản lý câu hỏi 39 3.4.1 Xem câu hỏi 39 3.4.2 Thêm câu hỏi 42 3.4.3 Sửa câu hỏi 43 3.4.4 Xóa câu hỏi 45 3.5 Quản lý câu trả lời 46 3.5.1 Xem câu trả lời .46 3.5.2 Viết câu trả lời 48 3.5.3 Sửa câu trả lời 49 3.5.4 Xóa câu trả lời 50 3.6 Quản lý chủ đề 51 3.7 Quản lý người dùng 53 3.8 Chức đăng xuất 57 3.9 Chức quên mật 58 CHƯƠNG THIẾT KẾ DATABASE, API 60 4.1 Mô tả sở liệu 60 4.2 Thiết kế database 60 4.2.1 Lược đồ sở liệu 60 4.2.2 Các bảng sở liệu 61 4.2.3 Bảng Users 62 4.2.4 Bảng Role 63 4.2.5 Bảng Tag 63 4.2.6 Thiết kế bảng question 63 4.2.7 Thiết kế bảng answer 64 4.2.8 Thiết kế bảng user_roles 64 4.2.9 Thiết kế bảng question_tag 65 4.3 Tổng quan API 65 4.3.1 Cấu trúc request .66 4.3.2 Cấu trúc response 67 4.4 Các API hệ thống .68 4.4.1 API cho chức xác thực tài khoản 68 4.4.2 API cho quản lý câu hỏi .68 4.4.3 API cho quản lý câu trả lời 69 4.4.4 API cho quản lý chủ đề 70 4.4.4 API cho quản lý người dùng 70 CHƯƠNG THIẾT KẾ CHỨC NĂNG 72 5.1 Quản lý câu hỏi .72 5.1.1 Sơ đồ lớp 72 5.1.2 Sơ đồ trình tự 72 5.2 Quản lý câu trả lời 75 5.2.1 Sơ đồ lớp 75 5.2.2 Sơ đồ trình tự 75 5.3 Quản lý chủ đề 78 5.3.1 Sơ đồ lớp 78 5.3.2 Sơ đồ trình tự 78 5.4 Quản lý người dùng 81 5.4.1 Sơ đồ lớp 81 5.4.2 Sơ đồ trình tự 81 5.5 Đăng ký 84 5.6 Đăng nhập .84 5.7 Reset Mật 85 CHƯƠNG KIỂM THỬ 86 6.1 Giới thiệu chung 86 6.1.1 Kiểm thử phần mềm .86 6.1.2 Tạo phải kiểm thử 86 6.1.3 Ý nghĩa kiểm thử 86 6.1.4 Mục tiêu kiểm thử 87 6.1.5 Nguyên tắc kiểm thử 87 6.1.6 Quy trình kiểm thử .87 6.2 Kiểm thử hệ thống 88 6.2.1 Các loại kiểm thử hệ thống 88 6.2.2 Kiểm thử Web Client 90 6.2.3 Kiểm thử Server 92 KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN .94 TÀI LIỆU THAM KHẢO 95 DANH MỤC HÌNH ẢNH, SƠ ĐỒ Hình 1.1 Sơ đồ quy trình nghiệp vụ 10 Hình 1.2 Sơ đồ use case hệ thống 11 Hình 2.1 Sơ đồ kiến trúc hệ thống .16 Hình 2.1 Cách hoạt động hibernate .18 Hình 2.3 Minh họa trình ánh xạ Hibernate database 19 Hình 2.2 Cơ chế hoạt động Authentication 22 Hình 2.3 Cấu trúc thư mục mã nguồn 29 Hình 2.6 Cấu trúc file backend frontend 30 Hình 3.1 Hình minh họa hình đăng ký diễn đàn 33 Hình 3.2 Hình minh họa hình đăng nhập diễn đàn 35 Hình 3.3 Hình minh họa hình thơng tin cá nhân 36 Hình 3.4 Hình minh họa quản lý thơng tin cá nhân 39 Hình 3.5 Hình minh họa chức xem câu hỏi 41 Hình 3.6 Hình minh họa chức thêm câu hỏi 43 Hình 3.7 Hình minh họa chức sửa câu hỏi 45 Hình 3.8 Hình minh họa chức xóa câu hỏi 46 Hình 3.9 Hình minh họa chức xem câu trả lời 47 Hình 3.10 Hình minh họa chức viết câu trả lời 49 Hình 3.11 Hình minh họa chức sửa câu trả lời 50 Hình 3.12 Hình minh họa chức xóa câu trả lời 51 Hình 3.13 Hình minh họa chức quản lý chủ đề 53 Hình 3.14 Hình minh họa chức quản lý người dùng 56 Hình 3.15 Hình minh họa chức đăng xuất 57 Hình 3.16 Hình minh họa chức quên mật 59 Hình 4.1 Lược đồ sở liệu 61 Hình 4.2 Hình mơ tả cấu trúc request 66 Hình 5.1 Sơ đồ lớp câu hỏi 72 Hình 5.2 Tạo câu hỏi 72 Hình 5.3 Hình mơ tả sửa câu hỏi 73 Hình 5.4 Hình mơ tả chức xóa câu hỏi 73 Hình 5.5 Mơ tả chức tìm kiếm câu hỏi 74 Hình 5.6 Xem danh sách câu hỏi 74 Hình 5.7 Mơ tả sơ đồ lớp 75 Hình 5.8 Mơ tả chức tạo câu trả lời 75 Hình 5.9 Sửa câu trả lời 76 Hình 5.10 Mơ tả chức xóa câu trả lời 76 Hình 5.11 Mơ tả chức tìm kiếm câu trả lời 77 Hình 5.12 Mơ tả chức xóa câu trả lời 77 Hình 5.13 Mơ tả chức quản lý chủ đề 78 Hình 5.14 Mơ tả chức tạo chủ đề 78 Hình 5.15 Mơ tả chức sửa chủ đề 79 Hình 5.16 Mơ tả chức xóa chủ đề .79 Hình 5.17 Mơ tả chức tìm kiếm chủ đề 80 Hình 5.18 Mô tả chức xem danh sách chủ đề .81 Hình 5.20 Mơ tả chức tạo chủ đề 81 Hình 5.21 Mơ tả chức sửa thông tin người dùng 82 Hình 5.22 Mơ tả chức xóa người dùng .82 Hình 5.23 Mơ tả chức tìm kiếm người dùng 83 Hình 5.24 Mô tả chức danh sách người dùng .83 Hình 5.25 Mơ tả chức đăng ký 84 Hình 5.26 Mơ tả chức đăng nhập 84 Hình 5.27 Mơ tả chức Reset mật 85 Hình 6.1 Mơ tả kiểm thử 86 Hình 6.2 Sơ đồ quy trình kiểm thử 87 CHƯƠNG 1: TỔNG QUAN HỆ THỐNG 1.1 Yêu cầu toán 1.1.1 Mơ tả tốn Khi tham gia vào diễn đàn người sử dụng lựa chọn chủ đề loạt chủ đề diễn đàn, Ví dụ ta chọn chủ đề “lập trình”, sau chọn chủ đề xong, danh sách câu hỏi thuộc chủ đề xuất Người sử dụng chọn câu hỏi danh sách để xem nội dung, ví dụ chọn “Nhiệt lượng mặt trời" nội dung ra, người đọc thấy trả lời nhấn vào nút trả lời nhập nội dung vào form trả lời nhấn nút trả lời, trả lời nằm câu hỏi Nếu người sử dụng muốn gửi nhấn vào nút “đặt câu hỏi” Trên phần sơ lược hoạt động diễn đàn Ngồi cịn cho phép người dùng có nhiều thao tác khác khác Để minh hoạ cho chức diễn đàn gửi trả lời câu hỏi, ta đưa ví dụ để hình dung khái quát diễn đàn dùng làm có dáng dấp Đặt câu hỏi chức bật forum Câu hỏi mục cho phép người dùng soạn thảo câu hỏi Câu hỏi gồm mục: ● Tiêu đề ● Chủ đề ● Nội Dung Câu hỏi sửa lại, xóa đóng phần trả lời tùy thuộc vào định người tạo Lưu ý: Người dùng muốn đặt câu hỏi forum phải đăng nhập vào hệ thống có quyền đặt câu hỏi Đối với câu hỏi tạo ra, tất người có quyền nhìn thấy trang chủ ấn viết câu trả lời Đối với câu hỏi cơng khai người ấn tham gia viết câu trả lời , trả lời xóa sửa tùy theo mục đích người tạo Cịn câu hỏi chế độ khóa trả lời xem mà khơng nhập câu trả lời Để quản lý chủ đề có hệ thống hệ thống, forum có mod đóng người quản trị vai trị làm Mod có quyền quản lý thơng tin chủ đề có hệ thống 1.1.2 Sơ đồ quy trình nghiệp vụ Hình 1.1 Sơ đồ quy trình nghiệp vụ 1.1.3 Yêu cầu nghiệp vụ ● BR1: Đăng ký ● BR2: Đăng nhập ● BR3: Trang cá nhân ○ BR3.1: Xem trang cá nhân ○ BR3.2: Quản lý thông tin cá nhân ● BR4: Quản lý câu hỏi ○ BR4.1: Xem câu hỏi 10 5.4.2.2 Sửa người dùng Hình 5.21 Mơ tả chức sửa thơng tin người dùng 5.4.2.3 Xóa người dùng Hình 5.22 Mơ tả chức xóa người dùng 82 5.4.2.4 Tìm kiếm người dùng Hình 5.23 Mơ tả chức tìm kiếm người dùng 5.4.2.5 Xem danh sách người dùng Hình 5.24 Mơ tả chức danh sách người dùng 83 5.5 Đăng ký 5.6 Đăng nhập Hình 5.25 Mơ tả chức đăng ký Hình 5.26 Mô tả chức đăng nhập 84 5.7 Reset Mật Hình 5.27 Mơ tả chức Reset mật Kết luận chương: Qua chương 5, em giới thiệu thiết kế UML giới thiệu đặc tả chi tiết số chức hệ thống 85 CHƯƠNG KIỂM THỬ Trong phần này, em giới thiệu tổng quát khái niệm liên quan đến kiểm thử hệ thống, loại kiểm thử hệ thống vài Test Case tiêu biểu 6.1 Giới thiệu chung 6.1.1 Kiểm thử phần mềm ● Kiểm thử phần mềm (software testing) hoạt động nhằm tìm kiếm, phát lỗi phần mềm ● Kiểm thử phần mềm tiến trình hay tập hợp tiến trình thiết kế để đảm bảo chương trình máy tính thực theo u cầu khách hàng ● Kiểm thử phần mềm q trình thực thi chương trình với mục đích tìm lỗi (theo The Art of Software Testing) 6.1.2 Tạo phải kiểm thử Hình 6.1 Mơ tả kiểm thử Kiểm thử quan trọng lỗi phần mềm thường có chi phí sửa đắt đỏ chí gây nguy hiểm 6.1.3 Ý nghĩa kiểm thử ● Kiểm thử phần mềm khơng cần tìm lỗi phần mềm, mà cịn q trình kiểm tra xác minh phần mềm đáp ứng yêu cầu mong đợi khách hàng ● Chi phí kiểm thử chiếm: 40% tổng cơng sức phát triển, ≥ 30% tổng thời gian phát triển Với phần mềm quan trọng chi phí gấp từ đến lần tổng chi phí khác cộng lại Do đó, kiểm thử tốt sẽ: ○ Giảm chi phí điều chỉnh thời gian phát triển ○ Tăng độ tin cậy phần mềm 86 6.1.4 Mục tiêu kiểm thử ● Phát nhiều lỗi tốt thời gian xác định trước ● Và phải làm nghĩ cách ngăn chặn lỗi phát sinh ● Chứng minh sản phẩm phần mềm phù hợp với đặc tả ● Chứng tỏ testcase báo cáo tạo hữu dụng 6.1.5 Nguyên tắc kiểm thử ● Nguyên tắc kiểm thử giống nguyên tắc sử dụng thuốc trừ sâu, sử dụng loại thuốc trừ sâu bị nhờn thuốc nên phải thay đổi loại thuốc khác Trong kiểm thử phần mềm, dùng dùng lại kịch kiểm thử đến lúc khơng thể tìm lỗi Chính kịch kiểm thử phải thường xuyên xem xét cập nhật, phù hợp với thành phần khác phần mềm, mang lại khả tìm thấy lỗi lớn ● Nguyên tắc kiểm thử: ○ Kiểm thử để diện lỗi ○ Kiểm thử toàn diện, tồn khơng thể ○ Kiểm thử sớm tốt ○ Phân nhóm lỗi để xác định số module tập trung lỗi nhiều ○ Nghịch lý thuốc trừ sâu ○ Kiểm thử thực khác bối cảnh khác ○ Suy nghĩ "Khơng có lỗi" sai lầm 6.1.6 Quy trình kiểm thử Hình 6.2 Sơ đồ quy trình kiểm thử ● Phân tích yêu cầu: Xác định phạm vi test 87 ● Lập kế hoạch Test: Chiến lược test (test strategy), test plan ● Phát triển Test: Viết test procedure, test scenario, test case, test data test script ● Thực thi Test: Tester thực thi phần mềm dựa test plan test case ● Báo cáo Test: Tester điền kết test vào test case tạo báo cáo kết test ● Phân tích kết Test: Quyết định lỗi sửa lỗi không sửa ● Test lại lỗi: Sau lỗi DEV sửa xong, chuyển hệ thống cho tester test lại ● Kết thúc Test: Khi test đáp ứng điều kiện dừng Từ rút học kinh nghiệm 6.2 Kiểm thử hệ thống 6.2.1 Các loại kiểm thử hệ thống 6.2.1.1 Kiểm thử đơn vị (Unit Test) ● Định nghĩa: ● Unit Test mức kiểm thử phần mềm với mục đích để xác nhận unit phần mềm phát triển thiết kế Các hàm (Function), thủ tục (Procedure), lớp (Class), phương thức (Method) xem unit Unit Test mức test nhỏ phần mềm ● Người thực thời gian thực hiện: ● Unit Test mức kiểm thử mức kiểm thử phần mềm Unit Test thường lập trình viên thực hiện, thực sớm tốt giai đoạn viết code xuyên suốt trình phát triển phần mềm ● Mục đích thực hiện: ○ Tăng đảm bảo có thay đổi code ○ Phát triển nhanh ○ Chi phí sửa lỗi thấp so với mức kiểm thử giai đoạn ○ Debug dễ 6.2.1.2 Kiểm thử tích hợp (Integration Test) ● Định nghĩa: Kiểm thử tích hợp mức kiểm thử phần mềm kiểm tra nhóm module nhỏ liên quan đến xem chúng có hoạt động chức thiết kế hay khơng Kiểm thử tích hợp thực để phát lỗi giao diện tương tác thành phần hệ thống tích hợp (theo ISTQB - International Software Testing Qualifications Board) ● Người thực thời gian thực hiện: Kiểm thử tích hợp thực developer, test team chuyên biệt hay nhóm chuyên 88 developer/kiểm thử viên tích hợp bao gồm kiểm thử phi chức Kiểm thử tích hợp thực Unit Test ● Mục đích thực hiện: Kiểm tra tích hợp nhóm thành phần riêng lẻ có liên quan xem chúng có hoạt động mong đợi hay khơng * Ta có bảng tổng qt sau: Các mức Kiểm thử kiểm thử (Unit Test) Định nghĩa đơn vị Kiểm thử tích (Integration Test) hợp Là mức kiểm thử nhỏ nhất, test Kiểm thử tích hợp module nhỏ hệ thống nhóm module riêng lẻ có liên quan đến Người thực Do DEV viết module Kiểm thử độc lập lập trình viên Thời gian Trong suốt trình build Sau module nhỏ thực module Phải hoàn thành trước liên quan đến chuyển sang kiểm thử tích Unit Test hợp Mục đích Đảm bảo module nhỏ Kiểm tra chức năng, độ tin phần mềm thực cậy hiệu suất hệ thiết kế Ưu điểm Tăng đảm bảo có thay Phát lỗi đơn vị thấp đổi code Chi phí sửa lỗi thấp, sản phẩm Thuận tiện dễ dàng Debug Nhược điểm thống tích hợp với dự án nhỏ DEV kinh nghiệm Có thể bỏ qua bug giao nhiều thời gian để fix bug diện nhỏ trình tìm bug Kỹ thuật Kiểm thử hộp trắng kiểm thử Kiểm thử hộp trắng, đen xám 89 6.2.2 Kiểm thử Web Client ● Kiểm thử tích hợp chức Quản lý người dùng: STT Mục Mô tả Kết chờ đợi tiêu thao kiểm kiểm thử Kết thực tế tác thử TC_ Kiểm tra giao diện 02.1 Hiển thị Bằng trực Tại hình hiển Tại hình hiển thị hình quan kiểm thị giao diện Xem giao diện Xem danh “Danh tra hiển thị danh sách người sách người dùng, sách dùng, trực quan trực quan kiểm tra người hình kiểm tra hiển thị hiển thị hình dùng” hình từ từ xuống từ trạng xuống từ trái trái sang phải: thái khởi sang phải: tạo Title Title “Danh “Danh sách sách người dùng” người dùng” Bảng danh sách với Bảng danh sách với cột: cột: ● ● Tên nhập đăng ● Câu Tên đăng nhập ● Câu châm ngôn ● Email châm Dữ liệu hiển thị ngơn dịng ứng với kết ● Email Dữ liệu hiển thị dòng ứng với kết … … … … … TC_ Kiểm tra tính hợp lệ input 02.2 Tính hợp Tại Hiển thị thơng báo Hiển thị thơng báo lệ Tạo điền hình đầy đủ điền đầy đủ thông người thông tin bắt buộc trường dùng, tin bắt buộc 90 liệu không điền input thông tin -> chọn Tạo Điền tiếng vào chữ Không hiển thị chữ việt Hiển thị chữ input username … … … … … TC_ Kiểm tra luồng navigation, button, thao tác 02.3 Button Tại Thông báo “Tạo Thông báo “Tạo “Tạo hình Tạo thành chủ người chuyển đề” công” sang -> thành công” -> chuyển giao sang giao diện Danh dùng, điền diện Danh sách chủ sách chủ đề đầy đủ đề thông tin chọn “Tạo mới” … … … … … ● Tổng kết: Tên TC Kiểm tra giao diện hiển thị Tổng số TC Pass 16 chức quản lý người dùng thêm chủ đề Mã TC TC_02 Tổng số TC Fail Người tạo TC Nhâm Ngọc Tuấn Anh Tổng số TC Not - Tested Ngày tạo TC 6/04/2021 Tổng số TC thực 18 Nhận xét: Về liệu, đa phần Kiểm thử đơn vị trước nên vấn đề lấy liệu xảy lỗi Đến Kiểm thử tích hợp, DEV vừa làm, vừa kiểm thử, phát lỗi đâu sửa để đáp ứng yêu cầu hệ thống Lỗi đa phần điều kiện trường liệu tạo người dùng chưa đáp ứng với yêu cầu hệ thống 91 6.2.3 Kiểm thử Server ● Kiểm thử gọi API lấy liệu ○ Mục tiêu kiểm thử: ● Kiểm thử gọi API tất chức năng: chức quản lý chức xem thông số ○ Kết chờ đợi: ● Các liệu hiển thị đủ trường liệu cần hiển thị giao diện người dùng ○ Kết thực tế: Em kiểm thử gọi API qua Postman vài kết lấy ra: STT URI Phươn Đường link g thức TC_ Kết Kết chờ đợi Kết thực tế (P/F) Kiểm tra API quản lý người dùng 01.1 api/us ers POST http://localhost: 8080/api/users Tạo thành Tạo thành P công, lưu công, lưu liệu vào liệu vào db báo DB thành công api/us GET ers http://localhost: Hiển 8080/api/users danh thị Hiển thị P sách danh sách người dùng người phân … … … … TC_ Kiểm tra API quản lý chủ đề theo dùng phân trang theo trang … … … 01.2 api/tag POST http://localhost: Cập s/:id 8080/api/tags/:i chủ đề nhật Cập chủ d nhật p đề thành công api/tag GET http://localhost: Hiển thị Hiển thị P s 8080/api/tags đầy đủ đầy đủ … … … … … … danh sách danh sách … … … 92 ○ Tổng kết Tên TC Kiểm tra liệu gọi API Tổng số TC Pass 16 lấy liệu từ server client Mã TC TC_01 Tổng số TC Fail Người tạo TC Nhâm Ngọc Tuấn Anh Tổng số TC Not - Tested Ngày tạo TC 6/04/2021 Tổng số TC thực 18 ○ Lý cách khắc phục: ■ Về liệu để thực chức năng: Xem danh sách câu hỏi chủ đề: Dữ liệu cập nhật chậm cho thuật toán chưa tối ưu ■ Về liệu để thực chức quản lý: ● Dữ liệu trả chưa đủ để đáp ứng yêu cầu phía client ● Dữ liệu trả không API bên server lỗi Kết luận chương: Thông qua chương 6, kiểm nghiệm tính ổn định hệ thống, phát lỗi phát sinh đề hướng phát triển sau 93 KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN Một forum để mang tính ứng dụng cao địi hỏi phải xử lý, xây dựng chức có tính tương tác tốt người dùng với người dùng, đồng thời phải có khả tính tốn xử lý khối lượng liệu lớn Forum toán học em xây dựng thiếu nhiều mảng cơng nghệ mà forum cần có Dù nhiều vấn đề cần giải quyết, nhiên mà em làm đề tài phần xây dựng, định hình lên mạng forum toán học với chức bản, mang màu sắc riêng biệt Sau hồn thiện đề tài mình, em tích lũy cho nhiều kiến thức kỹ phát triển phần mềm như: ● Phân tích u cầu nghiệp vụ ● Tìm kiếm đưa giải pháp tối ưu cho vấn đề toán ● Xử lý lỗi thiết kế lẫn lập trình ● Kỹ báo cáo, quản lý cơng việc Ngồi ra, em có thêm nhiều kinh nghiệm tảng ReactJS, ngôn ngữ Java, XML, Javascript, design pattern Em học cách làm việc với tảng quản lý phiên mã nguồn Git Đây kinh nghiệm vô quý báu hành trang thiếu giúp em tiếp tục theo đuổi đường phát triển phần mềm tương lai Đối với diễn đàn Toán học, chắn cần nhiều nâng cấp cải tiến, điển hình như: ● Cập nhật thêm nhiều dạng kiện khác Forum, giúp người dùng có thêm nhiều tương tác ● Xây dựng chức trò chuyện video call với công nghệ Web-RTC ● Đưa thêm nhiều chức đánh giá người dùng, câu hỏi câu trả lời ● Nâng cấp hệ thống quản trị 94 TÀI LIỆU THAM KHẢO ❖ Tài liệu The Power of Habit: Why We Do What We Do in Life and Business – Charles Duhugg The Pragmatic Programmer: From Journeyman to Master – Andrew Hunt and David Thomas Code Complete: A Practical Handbook of Software Construction, Second Edition – Steve McConnell Clean Code: A Handbook of Agile Software Craftsmanship– Robert C Martin Starting to Unit Test: Not as Hard as You Think – Erik Dietrich Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability – Steve Krug ❖ Các website tham khảo: https://en.wikipedia.org/wiki/React_(JavaScript_library) https://viblo.asia/p/tong-quan-ve-kien-truc-he-thong-4P856nAL5Y3 https://topdev.vn/blog/24-code-es6-tan-tien-nhat-de-khac-phuc-loi-thuc-hanhjavascript/ https://viblo.asia/p/kien-truc-web-hien-dai-RQqKLvgMl7z https://viblo.asia/p/the-nao-la-restful-web-service-gAm5yR4LKdb https://topdev.vn/blog/component-trong-react-va-cach-quan-ly-chung/ https://topdev.vn/blog/bi-kip-toan-thu-ve-react-ma-ban-can-phai-biet-phan-1/ https://nordiccoder.com/blog/huong-dan-reactjs-co-ban-cam-nang-hoc-reactjs2019/ https://topdev.vn/blog/reactjs-co-gi-loi-hai-ma-lazada-tiki-shopee-sendo-vacac-trang-thuong-mai-dien-tu-lon-khac-deu-dang-su-dung/ 10 https://topdev.vn/blog/nam-vung-5-khai-niem-sau-xem-nhu-masterreact/?utm_source=facebook&utm_medium=ltvcfs_page&utm_campaign=blog 11 https://viettuts.vn/java#:~:text=Java%20l%C3%A0%20m%E1%BB%99t%20m %E1%BB%99t%20ng%C3%B4n,Java%20%C4%91%C6%B0%E1%BB%A3c %20g%E1%BB%8Di%20l%C3%A0%20Platform 12 https://techmaster.vn/posts/36274/huong-dan-su-dung-jpa-va-hibernate-bangspring-boot-data-jpa-phan-1 13 https://huongdanjava.com/vi/tong-quan-ve-spring-data-jpa.html 14 https://viblo.asia/p/dung-hibernate-da-lau-the-ban-co-biet-jpa-la-gieW65G1zxZDO 15 https://lcdung.top/hibernate-la-khi-gi-sao-phai-dung-no-thay-jdbc/ 95 16 https://topdev.vn/blog/nam-vung-5-khai-niem-sau-xem-nhu-masterreact/?utm_source=facebook&utm_medium=ltvcfs_page&utm_campaign=blog 17 https://topdev.vn/blog/tao-slider-component-trong-react-native-bangpanresponder/ 18 https://openplanning.net/10369/ckeditor 19 https://topdev.vn/blog/mot-vai-pattern-de-viet-component-cua-react-can-dungchung-state/ 20 https://topdev.vn/blog/bi-kip-toan-thu-ve-react-ma-ban-can-phai-biet-phan-2/ 21 https://nordiccoder.com/blog/huong-dan-reactjs-co-ban-cam-nang-hoc-reactjs2019/ 22 https://topdev.vn/blog/restful-api-lagi/#:~:text=RESTful%20API%20l%C3%A0%20m%E1%BB%99t%20ti%C3% AAu,%C4%91%C6%B0%E1%BB%A3c%20truy%E1%BB%81n%20t%E1%B A%A3i%20qua%20HTTP 23 https://tailieu.vn/doc/do-an-tot-nghiep-phan-tich-thiet-ke-he-thong-xay-dungdien-dan-tren-website-1224889.html 24 https://hocspringmvc.net/co-che-hoat-dong-cua-authentication-xac-thuc-trongspring-security/ 25 https://phauer.com/2015/restful-api-design-best-practices/ 96

Ngày đăng: 12/11/2023, 10:40

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN