Hoạt động nghiệp vụ của các chức năng+ Đọc truyện: Người đọc truy cập vào hệ thốngHệ thống hiện thông tin các truyệnchọn một bộ truyện muốn đọc Hệ thống hiện thông tin chi tiết truyện
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN PHÂN TÍCH THIẾT KẾ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Đề tài: Xây dựng website bán sách Sinh viên thực hiện: Trần Hồng Quân Lớp: D19CNPM01 Giảng viên hướng dẫn: Đào Ngọc Phong Hà Nội, 12/2023 Mục lục I Thu thập yêu cầu Mô tả hệ thống a Mục đích hệ thống b Phạm vi hệ thống c Hoạt động nghiệp vụ chức d Thông tin đối tượng cần xử lý, quản lý Biểu đồ usecase Biểu đồ usecase tổng quan Chức ‘Quản lý truyện’ Chức ‘Thống kê lượt đọc theo truyện’ Chức ‘Thống kê lượt đọc theo người đọc’ II Phân tích yêu cầu Kịch cho usecase a Kịch cho modul quản lý thông tin truyện b Kịch cho modul quản lý thống kê lượt xem theo truyện c Kịch cho module quản lý thống kê lượt xem theo người đọc Lớp thực thể h lớp module Phân tích động vẽ biểu đồ trạng thái module III Thiết kế Thiết kế lớp thực thể Thiết kế lớp liệu Thiết kế giao diện Thiết kế hoạt động Module quản lý truyện Module Thống kê lượt đọc theo truyện Module thống kê lượt đọc theo người đọc IV Rà soát kiểm thử hệ thống Thực rà soát Thực viết test case: I Thu thập yêu cầu Mơ tả hệ thống a Mục đích hệ thống Mục đích hệ thống app đọc truyện cung cấp cho người đọc khơng gian giải trí, thư giãn với kho truyện đa dạng, phong phú Hướng đến người dùng mong muốn đọc truyện trực tiếp thiết bị thông minh b Phạm vi hệ thống Những người vào hệ thống chức người thực vào hệ thống quy định sau: + Người đọc: Đăng nhập/Đăng kí Tìm kiếm truyện Xem truyện Xem lượt đọc Quản lý thông tin thể loại, truyện Quản lý thông tin quảng cáo truyện Thống kê thông tin lượt đọc Quản lý người dùng Những chức khơng đề cập đến mặc định không thuộc phạm vi hệ thống c Hoạt động nghiệp vụ chức + Đọc truyện: Người đọc truy cập vào hệ thống Hệ thống thông tin truyện chọn truyện muốn đọc Hệ thống thông tin chi tiết truyện tên truyện, tác giả, thể loại, mô tả, lượt đọc) Người đọc nhấn vào đọc Hệ thống hiển thị nội dung truyện + Tìm kiếm truyện: Người dùng đăng nhập vào hệ thống chọn chức tìm kiếm hệ thống danh sách truyện toolbar tìm kiếm Người dùng nhập tên truyện lọc theo thể loại Hệ thống lọc truyện theo tên lọc thể loại Một danh sách truyện Người dùng click vào truyện Hệ thống hiển thị thông tin truyện + Thống kê lượt đọc gần đây: Người đọc đăng nhập hệ thống người đọc chọn chức xem thống kê lượt xem gần giao diện xem thống kê lượt xem gần gồm menu chức thống kê tháng, thống kê ngày Nếu người đọc chọn thống kê tháng giao diện thống kê tháng gồm menu chức chọn tháng, chọn thứ tự xếp theo lượt xem nút thoát người đọc chọn tháng cần thống kê thứ tự xếp Nếu người đọc chọn xếp theo thứ tự lượt xem tăng dần hệ thống hiển thị danh ruyện gồm tên, ảnh, loại truyện, lượt xem theo thứ tự lượt xem từ thấp đến cao tháng chọn người đọc click vào truyện hệ thống hiển thị thông tin chi tiết truyện gồm ảnh, tên, thể loại, lượt xem tháng người đọc click vào quay trở lại giao diện thống kê lượt xem tháng Nếu người đọc chọn thống kê ngày giao diện thống kê ngày gồm menu chức chọn ngày, chọn thứ tự xếp theo lượt xem nút thoát người đọc chọn ngày cần thống kê thứ tự xếp Nếu người đọc chọn xếp theo thứ tự lượt xem tăng dần hệ thống hiển thị danh sách truyện gồm tên, ảnh, tác giả, thể loại, lượt xem theo thứ tự lượt xem từ thấp đến cao ngày chọn người đọc click vào truyện hệ thống hiển thị thông tin chi tiết truyện gồm ảnh, tên, thể loại, lượt xem ngày người đọc click vào nút trở lại giao diện thống kê lượt xem ngày + Xem xếp hạng truyện: Người đọc đăng nhập hệ thống người đọc chọn chức xem xếp hạng truyện giao diện xem xếp hạng truyện giao diện xem xếp hạng truyện gồm menu chức tháng, tro + Quản lý truyện Chức truy cập vào từ giao diện quản lý Quản lý đăng nhập vào hệ thống chọn chức quản lý truyện giao diện quản lý truyện gồm danh sách truyện (mỗi truyện gồm ảnh, tên, tác giả, thể loại, lượt em, với nút sửa, , nút thêm truyện, tìm kiếm, nút tìm kiếm Nếu quản lý chọn thêm truyện giao diện thêm truyện bao gồm trường nhập tên truyện, nội dung, ảnh, tác giả, thể loại nút thêm, hủy quản lý điền trường ấn thêm quay lại giao diện quản lý truyện, truyện thêm cuối truyện vừa thêm tồn quản lý điền thiếu trường hệ thống báo lỗi) Nếu quản lý nhập tên truyện mã truyện ấn tìm kiếm danh sách truyện tương ứng gồm (mỗi truyện gồm ảnh, tên, tác giả, thể loại, lượt xem, với nút sửa, xoá) Nếu quản lý chọn nút sửa bên cạnh truyện giao diện sửa truyện bao gồm trường nhập tên truyện, tác giả, nội dung, ảnh, thể loại nút lưu, hủy thay đổi quay lại giao diện quản lý truyện, truyện vừa sửa cập nhật thông tin tương ứng, quản lý để trống trường sửa truyện thành truyện tồn khác hệ thống báo lỗi, quản lý chọn hủy thay đổi thay đổi khơng lưu, thông tin truyện giữ nguyên ban đầu Nếu quản lý chọn nút bên cạnh truyện giao diện xác nhận xoá gồm Nếu quản lý chọn có quay lại giao diện quản lý truyện, truyện xoá biến Nếu quản lý chọn không quay lại giao diện quản lý truyện + Thống kê lượt đọc theo truyện Chức truy cập vào từ giao diện quản lý Chức thống kê lượt xem truyện giúp nhà quản lý hiểu rõ phổ biến truyện, đồng thời hỗ trợ việc đưa định chiến lược để cải thiện trải nghiệm người đọc Quản lý đăng nhập hệ thống trang quản lý quản lý chọn chức xem thống kê giao diện xem thống kê chọn chức xem thống kê lượt xem theo truyện giao diện xem thống kê lượt xem theo truyện gồm menu chức thống kê tháng, thống kê ngày Nếu quản lý chọn thống kê tháng giao diện thống kê tháng gồm menu chức chọn tháng, chọn thứ tự xếp theo lượt xem nút thoát quản lý chọn tháng cần thống kê thứ tự xếp Nếu quản lý chọn xếp theo thứ tự lượt xem tăng dần hệ thống hiển thị danh sách truyện gồm tên, ảnh, loại truyện , lượt xem theo thứ tự lượt xem từ thấp đến cao tháng chọn quản lý click vào truyện hệ thống hiển thị thông tin chi tiết truyện gồm ảnh, tên, thể loại, lượt xem tháng quản lý click vào nút quay trở lại giao diện thống kê lượt xem tháng Nếu quản lý chọn xếp theo thứ tự lượt xem giảm dần hệ thống thực tương tự với xếp theo thứ tự tăng dần trừ việc danh sách truyện theo thứ tự lượt xem giảm dần Nếu quản lý chọn thống kê ngày giao diện thống kê ngày gồm menu chức chọn thứ tự xếp theo lượt xem nút thoát quản lý chọn thứ tự xếp Nếu quản lý chọn xếp theo thứ tự lượt xem tăng dần hệ thống hiển thị danh sách truyện gồm tên, ảnh, thể loại, lượt xem theo thứ tự lượt xem từ thấp đến cao quản lý click vào truyện hệ thống hiển thị thông tin chi tiết truyện gồm ảnh, tên, thể loại, lượt xem ngày quản lý click vào nút thoát quay trở lại giao diện thống kê lượt x Nếu quản lý chọn xếp theo thứ tự lượt xem giảm dần hệ thống thực tương tự với xếp theo thứ tự tăng dần trừ việc danh sách truyện theo thứ tự lượt xem giảm dần Quản lý sử dụng tính in báo cáo thống kê tải xuống liệu thống kê dạng tệp để dễ dàng chia sẻ phân tích + Xem thống kê lượt đọc theo người đọc Chức truy cập vào từ giao diện người đọc Chức thống kê lượt đọc gần giúp giúp nhà quản lý hiểu rõ thói quen đọc truyện người đọc, đồng thời tạo điều kiện cho tương tác khuyến khích cộng đồng đọc truyện Quản lý đăng nhập hệ thống trang quản lý quản lý chọn chức xem thống kê giao diện xem thống kê chọn chức xem thống kê lượt xem theo truyện giao diện xem thống kê quản lý lượt xem theo người đọc gồm menu chức thống kê tháng, thống kê ngày Nếu quản lý chọn thống kê tháng giao diện thống kê tháng gồm menu chức chọn tháng, chọn thứ tự xếp theo lượt xem nút thoát quản lý chọn tháng cần thống kê thứ tự xếp Nếu quản lý chọn xếp theo thứ tự lượt xem tăng dần hệ thống hiển thị danh sách người đọc gồm tên tài khoản, ảnh, lượt xem theo thứ tự lượt xem từ thấp đến cao tháng chọn quản lý click vào người đọc hệ thống hiển thị thông tin chi tiết người đọc gồm ảnh, tên tài khoản, email, lượt xem tháng quản lý quay trở lại giao diện thống kê lượt xem thán Nếu quản lý chọn xếp theo thứ tự lượt xem giảm dần hệ thống thực tương tự với xếp theo thứ tự tăng dần trừ việc danh sách người đọc theo thứ tự lượt xem giảm dần Nếu quản lý chọn thống kê ngày giao diện thống kê ngày gồm menu chức chọn thứ tự xếp theo lượt xem nút thoát quản lý chọn thứ tự xếp Nếu quản lý chọn xếp theo thứ tự lượt xem tăng dần hệ thống hiển thị danh sách người đọc gồm tên tài khoản, ảnh, lượt đọc theo thứ tự lượt xem từ thấp đến cao quản lý click vào người đọc hệ thống hiển thị thông tin chi tiết người đọc gồm ảnh, tên tài khoản, email, lượt đọc ngày quản lý click Document continues below Discover more Phát triển phần from: mềm hướng… INT1448 Học viện Công ng… 8 documents Go to course Bài tập lớn môn Phát triển phần mềm… None Introduction to 388 Reliable and Secure… Phát triển phần mềm… None B19DCCN533 69 Example Phát triển phần mềm… None B19DCCN391 Lê 23 56 Thành Long Bao Ca… Phát triển phần mềm… None B19DCCN707- Phạm-Xuân-Trường Phát triển phần mềm… None Lê Đình Duy Anh BT06 quay trở lại giao diện thống kê lượt đọc ngày 38 - Example Phátthực triển Nếu quản lý chọn xếp theo thứ tự lượt xem giảm dần hệ thống tương tựNone với xếp theo thứ tự tăng dần trừ việc danh sách người đọc hiệnphần theomềm… thứ tự lượt xem giảm dần + Quản lý quảng cáo truyện: Quản lý đăng nhập hệ thống quản lý chọn chức quản lý quảng cáo giao diện quản lý quảng cáo với danh sách truyện gồm ảnh, tên, tác giả, lượt xem nút chọn Quản lý chọn lấy truyện từ danh sách nhấn vào Chọn Hệ thống xác nhận chọn truyện để đăng quảng cáo d Thông tin đối tượng cần xử lý, quản lý Nhóm thơng tin liên quan đến người: Account: tên đăng nhập, email, mật Profile: firstname, last name, email, số điện thoại Role: tên vai trò (Người đọc, Admin) liên quan đến truyện: Thể loại: Tên, mô tả Truyện: Tên, mô tả, thể loại, lượt xem, nội dung Tác giả: Tên, mơ tả Nhóm thơng tin liên quan đến người truyện: Lượt xem e Quan hệ đối tượng thông tin profile liên quan đế account có nhiều role role liên quan đến nhiều account truyện có nhiều thể loại account đọc nhiều truyện truyện có nhiều lượt đọc Biểu đồ usecase a Biểu đồ usecase tổng quan Diễn giải: Xác định actor: + Người vào hệ thống: admin, người đọc + Đề xuất actor trừu tượng: người dùng Xác định usecase: + Với actor “Admin”: Quản lý truyện; Quản lý người đọc; Xem thống kê lượt đọc theo người đọc, Quản lý quảng cáo truyện, Xem thống kê lượt đọc theo quản lý + Với actor “Khách hàng”: Tìm kiếm truyện, Đọc truyện, Quản lý thông tin tài khoản, Xem thống kê lượt đọc gần đây, Xem danh sách thể loại, Xem xếp hạng truyện Biểu đồ: Mô tả usecase: Quản lý truyện: Usecase cho phép admin xem xét, thêm mới, xóa bỏ truyện, đồng thời giúp sửa đổi thông tin (tên, ảnh, thể loại, nội dung) truyện Quản lý người đọc: Usecase cho phép admin xem xét, thêm mới, xóa bỏ danh sách người đọc đăng ký tài khoản hệ thống Xem thống kê lượt đọc theo truyện: Usecase cho phép admin xem thông tin lượt đọc khoảng thời gian định truyện hiển thị theo danh sách theo thứ tự tăng giảm dần Xem thống kê lượt đọc theo người đọc: Usecase cho phép admin xem b Module Thống kê lượt đọc theo truyện Biểu đồ hoạt động: Kịch v3: Quản lý chọn chức Thống kê Trang ManageView.jsp gọi trang ThongKeView.jsp Trang ThongKeView.jsp hiển thị cho quản lý Quản lý chọn thống kê lượt đọc theo truyện Trang ThongKeView.jsp gọi trang ThongKebyStoryView.jsp Trang ThongKebyStoryView.jsp gọi lớp ThongKeDAO Lớp ThongKeDAO gọi hàm getViewbyStory() Hàm getViewbyStory() gọi lớp View để lấy danh sách Lớp View đóng gói thơng tin thực thể 10 Lớp View trả kết hàm getViewbystory() 11 Hàm getViewbyStory() tra kết trang ThongKebyStoryView.jsp 12 Trang ThongKebyStoryView.jsp hiển thị cho quản lý 13 Quản lý chọn truyện 14 Trang ThongKebyStoryView.jsp gọi trang DetailviewbyastoryView.jsp 15 Trang DetailviewbyastoryView.jsp gọi lớp ThongKeDAO 16 Lớp ThongKeDAO gọi hàm getDetailviewbyidstory() 17 Hàm getDetailviewbyidstory() gọi lớp View để lấy thơng tin truyện 18 Lớp View đóng gói thơng tin thực thể 19 Lớp View trả kết cho hàm getDetailviewbyidstory() 20 Hàm getDetailviewbyidstory()trả kết trang DetailviewbyastoryView.jsp 21 Trang DetailviewbyastoryView.jsp hiển thị kết cho quản lý c Module thống kê lượt đọc theo người đọc Biểu đồ hoạt động: Kịch v3: Quản lý chọn chức Thống kê Trang ManageView.jsp gọi trang ThongKeView.jsp Trang ThongKeView.jsp hiển thị cho quản lý Quản lý chọn thống kê lượt đọc theo người đọc ngKeView.jsp gọi trang ThongKebyReaderView.jsp Trang ThongKebyReaderView.jsp gọi lớp ThongKeDAO Lớp ThongKeDAO gọi hàm getViewbyReader() Hàm getViewbyReader() gọi lớp View để lấy danh sách Lớp View đóng gói thơng tin thực thể 10 Lớp View trả kết hàm getViewbyreader() 11 Hàm getViewbyReader() tra kết trang ThongKebyReaderView.jsp 12 Trang ThongKebyReaderView.jsp hiển thị cho quản lý 13 Quản lý chọn người đọc 14 Trang ThongKebyReaderView.jsp gọi trang Detai 15 Trang DetailviewbyareaderView.jsp gọi lớp ThongKeDAO 16 Lớp ThongKeDAO gọi hàm getDetailviewbyidreader() 17 Hàm getDetailviewbyidreader() gọi lớp View để lấy thông tin người đọc 18 Lớp View đóng gói thơng tin thực thể 19 Lớp View trả kết cho hàm getDetailviewbyidreader() 20 Hàm getDetailviewbyidreader()trả kết trang 21 Trang DetailviewbyareaderView.jsp hiển thị kết cho quản lý Rà soát thiết kế Mục Các function dùng chung chia sẻ, xác định rõ ràng? Các methods có giống với pha phân tích Các module độc lập với nhau? Quan hệ thực thể CSDL có phân tích? Có biện pháp chống data flow? Các thơng báo lỗi có xác định? Có phải thực thể chuyển thành bảng? Cơ sở liệu cung cấp ngầm khóa/id Đặc quyền, quyền hạn truy cập có đề cập thực thi? Có biện pháp thực thi nhằm đảm bảo toàn cho hệ thống? Các trường u cầu khơng phép null Các schema có định nghĩa đầy đủ Tên lớp có giống với pha phân tích Tên hàm có giống với pha phân tích Bố cục hình, chuyển trang có giống với phần phân tích? IV Rà sốt kiểm thử hệ thống Thực rà soát Mục Code có theo chuẩn convention khơng? Code có bị dư thừa khơng? Code có bị lặp lại q nhiều khơng? cầu khơng? Code có gây nhầm lẫn cho người khác Code có bị dư thừa lệnh rẽ nhánh hay nested q nhiều lệnh rẽ nhánh khơng Các middleware có đảm bảo Các truy vấn table có thực thi việc sử dụng index ? Tất vịng lặp kết thúc? Các thơng báo lỗi có rõ ràng khơng? Các thơng báo lỗi có đầy đủ khơng? Code có biến khởi tạo khơng sử dụng khơng? Code có xử lý exception xảy lỗi Code server có trả format cho Các tham số khai báo cài đặt interface có giống khơng? Có sử dụng nullish type nhằm tránh việc exception kiểu liệu không? Code sử dụng const, let, không sử dụng var? Code có tn thủ theo ES6 khơng? Code có bị loop đoạn khơng? Code có xử lý đoạn exception dẫn tới lỗi hệ thống không? Code BE response trả có đáp ứng yêu cầu khách hàng khơng? Khi build code có minify file lại khơng? Hay để chế độ Có hiệu ứng loading thực xử lý liệu phía FE khơng? Khơng có hiệu ứng Các việc xử lý liệu có validate liệu đầu vào khơng? Chỉ FE Style phía FE có chuẩn hóa khơng? Style có tối ưu hóa khơng? Có nén lại khơng? Có việc hard coding Tùy thuộc vào tình Code có phần không chạy tới Thực viết test case: Module quản lý truyện: Mục đích kiểm thử Các bước thực Kết mong muốn Kiểm thử giao diện Precond: Quản lý đăng nhập vào hệ thống > Chọn quản lý truyện > Chọn thêm truyện > Hiển thị hình thêm truyện Kiểm tra tổng quan Kiểm tra bố cục, Đồng giao diện font chữ, tả, màu chữ Kiểm tra giao diện trường Kiểm tra bố cục, font chữ, tả, validate liệu Ô input đồng màu sắc, font chữ, kích thước, lề Lỗi hiển thị ô input Kiểm tra validate liệu, liệu trống Nhập liệu vào ô Hiển thị lỗi không format, liệu trống Kiểm tra giao diện Nhấn ctrl Nhấn ctrl + Không bị lỗi giao diện, vỡ layout nhỏ Kiểm thử chức Thêm truyện không Nhấn nút thêm có hệ thống truyện Nhập vào trường thơng tin truyện khơng có hệ thống Nhấn thêm truyện thành Thêm truyện có hệ thống Nhấn nút thêm truyện Nhập vào trường thơng tin, trường tên sản phẩm giống với tên truyện có s n hệ thống Hiện thông báo lỗi “đã tồn truyện mang tên này” Nhấn thêm Sửa truyện có hệ thống Nhấn nút sửa truyện Thay đổi lưu lại Nhập vào trường thông tin cần thay đổi Nhấn Lưu thay đổi Sửa truyện có hệ thống Nhấn nút sửa sản phẩm Thay đổi không lưu lại Nhập vào trường thông tin cần thay đổi Nhấn Hủy Xóa truyện có hệ thống Nhấn nút Xóa truyện Nhấn Xác nhận xóa Truyện bị xóa khỏi hệ thống Module thống kê theo truyện