1. Trang chủ
  2. » Tất cả

Btl02 l04 nhomdcnd

17 0 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

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH KỸ THUẬT LẬP TRÌNH (CO1011) Báo cáo Bài tậo lớn số 02 Phát triển phần mềm Hỗ trợ hoạt động của một thư viện SV thực hiện Bùi Bảo CƯỜN[.]

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH KỸ THUẬT LẬP TRÌNH (CO1011) Báo cáo Bài tậo lớn số 02 Phát triển phần mềm Hỗ trợ hoạt động thư viện SV thực hiện: Bùi Bảo CƯỜNG – 1610342 Nguyễn Hoài DANH – 1610391 Nguyễn Giáp Phương DUY – 1610473 Phạm Hồng NHẬT – 1612392 Tp Hồ Chí Minh, Tháng 06/2017 Mục lục Tổ chức nhóm Khảo sát Phân tích u cầu phần mềm Thiết kế phần mềm 3.1 Thiết kế cấu trúc liệu dùng để phát triển phần mềm thư viện 3.2 Thiết kế khối chức hệ thống 5 Tổ chức quản lý mã nguồn trình phát triển Thu thập số liệu Kiểm tra phần mềm 7 Các 7.1 7.2 7.3 7.4 tài liệu Chú thích mã nguồn định dạng Tài liệu hỗ trợ phát triển nâng cấp Tài liệu hướng dẫn triển khai Tài liệu hướng dẫn sử dụng phần mềm 8 16 16 Bảng tự đánh giá 8.1 Theo tiêu chí giảng viên 16 16 Tài liệu tham khảo 16 Danh sách bảng Bảng chia công việc thành viên Lịch làm việc nhóm 4 Danh sách hình vẽ 10 Sơ đồ liên hệ nhóm hàm chức Các chức thư viện hỗ trợ Flowchart cho hàm menu_dang_nhap Flowchart cho hàm đăng nhập Flowchart cho hàm đổi mật Flowchart cho hàm khoa_tai_khoan Flowchart cho hàm mo_khoa_tai_khoan Flowchart cho hàm Add_Book Flowchart cho hàm search_book Flowchart cho hàm Cart_Search_Menu struct 9 10 12 12 13 13 14 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Tổ chức nhóm Tên thành viên Bùi Bảo Cường (Nhóm trưởng) Nguyễn Hồi Danh Nguyễn Giáp Phương Duy (Thư ký) Phạm Hồng Nhật Công việc Phân chia nhiệm vụ Viết mã giả Viết hàm tính quản lý sách, tìm sách Viết hàm tính quản lý tài khoản Vẽ lưu đồ Mơ tả tính năng, ghi lại q trình làm nhóm, sửa lỗi, viết báo cáo Kiểm thử lỗi % đóng góp 25% Điểm số/10 25% 25% 25% Bảng 1: Bảng chia công việc thành viên Thời gian 18 tháng 21 tháng 22 tháng 08 tháng 08 tháng 13 tháng 13 tháng 16 tháng 18 tháng 22 tháng Mơ tả Danh hồn thành số hàm cho phép đăng nhập hiển thị menu chức Danh bổ sung đổi mật khẩu, Cường hồn thành hàm tìm sách Cường đăng tham khảo tính Giỏ hàng (mượn sách) Danh bổ sung hàm xuất thời gian theo định dạng hh:mm:ss_D/M/yyyy Cường hoàn thành giỏ hàng Duy tổng hợp hàm Cường Danh, sửa lỗi nhỏ tìm sách Danh tự phát sửa lỗi đăng kí tài khoản Duy thêm hàm xem thơng tin, khóa/mở khóa xóa người dùng (tính dành cho quản lý) Nhật bổ sung phần trả sách Tổ chức lại code cho hợp lý hơn, sửa vài lỗi nhỏ Bảng 2: Lịch làm việc nhóm Khảo sát Phân tích yêu cầu phần mềm Phần mềm trước hết hỗ trợ người dùng Tìm sách Mượn sách Tính tìm sách chung cho người dùng lẫn thủ thư Tiếp tính xem thông tin xem thông báo từ thủ thư Khi người dùng mượn sách/trả sách gửi yêu cầu lên thủ thư Như với tính quản lý sách phần mềm phải hỗ trợ thủ thư quản lý yêu cầu mượn sách/trả sách từ người dùng Quản lý hỗ trợ tính thêm người dùng khóa người dùng Với người dùng, phần mềm hỗ trợ tìm sách, mượn sách, xem thơng báo, xem thông tin, đổi mật Với thủ thư, phần mềm hỗ trợ thêm, sửa, xóa, tìm sách, xem yêu cầu đọc giả, xem người dùng hạn mượn sách đổi mật Với quản lý, phần mềm hỗ trợ thêm người dùng, xem thông tin người dùng chỉnh sửa (xóa, khóa, mở khóa) Báo cáo Bài tập lớn số 2, mơn Kỹ thuật lập trình Trang 4/16 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 3.1 Thiết kế phần mềm Thiết kế cấu trúc liệu dùng để phát triển phần mềm thư viện Hình 1: Sơ đồ liên hệ nhóm hàm chức struct Đối với struct account, hàm khóa/mở khóa, thêm/xóa, đổi mật thay đổi giá trị Các hàm đăng nhập đọc giá trị s t r u c t Account { string account_ID ; // Ten t a i khoan string a c c o u n t _ P a s s w o r d ; //Mat khau string account_ative ; // Trang t h a i b l o c k string student_ID ; //MSSV }; Đối với struct user, hàm tạo thông tin cho user mới thay đổi giá trị Các hàm đọc thơng tin account đọc thơng tin đên s t r u c t User { string student_ID ; //MSSV string user_name ; // Ten cua u s e r string u s e r _ d a t e _ o f _ b i r t h ; // t h a n g nam s i n h u s e r DD//MM//YY string user_job ; // Cong v i e c cua u s e r string user_mail ; // Dia c h i e m a i l cua u s e r }; Struct book thiết kế hàm thêm/sửa/xóa dành cho thủ thư, mượn dành cho đọc giả tìm kiếm chung cho hai vai trị s t r u c t book // S t r u c t l u u t h o n g t i n s e a r c h s a c h , dung de ho t r o ham t i m s a c h Báo cáo Bài tập lớn số 2, môn Kỹ thuật lập trình Trang 5/16 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính { string string string double name ; author ; content ; r a t i o _ L e v e n s h t e i n ; //Ho t r o s o t r u n g van ban de t i m s a c h }; 3.2 Thiết kế khối chức hệ thống Hình 2: Các chức thư viện hỗ trợ Tổ chức quản lý mã nguồn trình phát triển Header Files ˆ account.h Chứa struct account hàm liên quan đến thêm, sửa, xóa tài khoản, đăng nhập, đổi mật ˆ book.h Gồm struct book hàm thêm, xóa sách, tìm sách ˆ cart.h Tính giỏ hàng, chứa hàm quản lý giỏ hàng (tức gửi/hủy yêu cầu mượn sách) Báo cáo Bài tập lớn số 2, mơn Kỹ thuật lập trình Trang 6/16 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính ˆ stringformat.h Chứa hàm định dạng chuỗi ˆ user.h Gồm struct user hàm giúp lưu thơng tin dạng chuỗi vào ˆ in_menu.h Các hàm in menu lựa chọn console ˆ xuat_thoi_gian.h Các hàm giúp chuyển đổi thời gian dạng số, chuỗi Nhóm sử dụng group kín Facebook để liên lạc gửi source code Thu thập số liệu Dữ liệu sách gồm tên sách, tác giả, nội dung sơ lược sách lấy từ trang web https: //www.theguardian.com/books/2003/oct/12/features.fiction Dữ liệu gồm tài khoản người dùng,thông tin tài khoản người dùng tạo ngẫu nhiên cách tự nhập từ chức đăng kí có chương trình (Các liệu kiểm tra tính đắn hợp lệ chức có chương trình) Kiểm tra phần mềm Một số testcase sử dụng trình thực hiện: ˆ Khi đăng kí việc nhập họ tên, mssv, hay email phải định dạng Sử dụng nhiều test case ngẫu nhiên việc nhập mssv mà khơng đủ số, dư số, có chữ ˆ Nhập email thiếu @example.com ˆ Đăng kí tài khoản trùng ˆ Những đoạn code hiển thị chuỗi,hiển thị kết test số setw số kí tự dịng để có định dạng phù hợp ˆ Lựa chọn chức menu sử dụng cách tạo biến choice cho menu Ban đầu sử dụng biến choice kiểu char gặp phải trường hợp sai: Menu đăng nhập gồm có lựa chọn, biến choice nhận giá trị 1,2,3 Nhưng nhập giá trị 12, giá trị khơng hợp lệ biến choice lại nhận giá trị Vì nhóm sử dụng string cho biến choice để tối ưu hóa khả nhập Mỗi menu có tính chọn số số với định dạng menu báo lỗi cho nhập lại ˆ Đối với hàm search_book, sử dụng hàm LevenshteinDistance để trả “số lần thay đổi chuỗi a để thành chuỗi b”, dĩ nhiên, số lần thay đổi nhiều độ dài chuỗi b Vì lúc lấy số mà hàm LevenshteinDistance chia cho độ dài chuỗi b tỉ lệ sai Dùng liệu tên sách có sẵn thu thập, test nhiều tên sách tìm tỉ lệ Báo cáo Bài tập lớn số 2, mơn Kỹ thuật lập trình Trang 7/16 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Các tài liệu 7.1 Chú thích mã nguồn định dạng Ví dụ trích dẫn hàm edit_string: v o i d edit_string ( string &str ) // h i e n t h i van ban t h e o d i n h dang dang mat khau { system ( " c l s " ) ; cout ) // Neu l e n g t h > t h i moi xoa { cout ) { earase str [ i ] ; i := i − ; // Tra l a i } 13 14 15 16 17 vi s t r i n g da t h a y d o i v i t r i va l e n g t h } // Xoa khoang t r a n g dau va c u o i i f str [ last ] is space earase str [ last ] ; i f str [ first ] is space earase str [ first ] ; 18 19 20 21 22 23 } 24 25 r e t u r n str 26 27 } Báo cáo Bài tập lớn số 2, mơn Kỹ thuật lập trình Trang 15/16 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 7.3 Tài liệu hướng dẫn triển khai 7.4 Tài liệu hướng dẫn sử dụng phần mềm Bảng tự đánh giá 8.1 Theo tiêu chí giảng viên Chương trình hỗ trợ tính hệ thống quản lý thư viện mơ hình thư viện trường học Các điểm đạt chưa đạt được: ˆ Các điểm đạt được: – Phân tích vẽ flowchart số hàm quan trọng – Tổ chức mã nguồn thành file nhỏ, dễ quản lý – Đáp ứng đủ chức cần thiết cần có chương trình quản lý thư viện – Thu thập số liệu ˆ Các điểm chưa đạt được: – Phân chia công việc chưa hiệu – Chưa sử dụng tạo giao diện, chưa biết cách sử dụng Git, GUI, Các thành viên tự cho điểm: Cường Danh Duy Nhật 0.9 0.9 0.9 0.9 Tài liệu [tvtt] Thư viện trung tâm, Đại học Quốc gia Tp.HCM: http://www.vnulib.edu.vn/#1 Truy cập nhật 20/06/2017 Báo cáo Bài tập lớn số 2, môn Kỹ thuật lập trình Trang 16/16

Ngày đăng: 04/04/2023, 10:10

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

TÀI LIỆU LIÊN QUAN

w