bằng các biểu đồ nhưDFD, Use-case,...- Thiết kế UI- Xây dựng phần mềm- Kiểm thửMục tiêu của bản thân khi học Nhập môn công nghệ phầnmềm:- Hiểu rõ về cấu trúc và các thành phần của phần m
1 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO BÀI TẬP LỚN Môn học: Nhập môn công nghệ phần mềm Đề tài: Nghiên cứu mơ hình quy trình phát triển phần mềm Thác nước áp dụng phát triển phần mềm nhà sách Cá Chép Giảng viên hướng dẫn : TS.Vũ Đình Minh Nhóm-Lớp Sinh Viên : 10 - 20222IT6082007 : Dương Mạnh Đạt - 2021601363 Phạm Thanh Bình - 2021600392 Nguyễn Hữu Bắc - 2021600159 Vũ Minh Kha - 2021608283 Hà Nội, 2023 MỤC LỤC MỤC LỤC LỜI CẢM ƠN DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU MỞ ĐẦU Lý chọn chủ đề/đề tài Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu Kết mong muốn đạt đề tài 10 Cấu trúc báo cáo 10 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 11 1.1 Giới thiệu chung đề tài 11 1.2 Giới thiệu dự án phần mềm 11 1.3 Công cụ, kỹ thuật phương pháp phát triển phần mềm 13 1.3.1 Mơ hình quy trình ứng dụng để phát triển dự án phần mềm 13 1.3.2 Công cụ, kỹ thuật phương pháp 17 CHƯƠNG 2: PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU PHẦN MỀM 19 2.1 Quy trình yêu cầu kỹ thuật phần mềm 19 2.1.1 Giới thiệu quy trình kỹ thuật yêu cầu 19 2.1.2 Các hoạt động quy trình kỹ thuật yêu cầu 19 2.2 Các tác nhân tham gia vào quy trình kỹ thuật yêu cầu 19 2.2.1 Giới thiệu tác nhân tham gia quy trình kỹ thuật yêu cầu 19 2.2.2 Tác nhân chức tương ứng 20 2.3 Đặc tả yêu cầu phần mềm 20 2.3.1 Giới thiệu 20 2.3.2 Yêu cầu chức 21 2.3.3 Biểu đồ lớp hệ thống 42 2.3.4 Xây dựng bảng sở liệu 43 2.3.5 Yêu cầu phi chức 44 CHƯƠNG 3: THIẾT KẾ PHẦN MỀM 46 3.1 Tổng quan thiết kế phần mềm 46 3.1.1 Vai trò nhiệm vụ hoạt động thiết kế phần mềm 46 3.1.2 Chiến lược thiết kế phần mềm 47 3.1.3 Công cụ hỗ trợ thiết kế phần mềm 48 3.2 Tài liệu thiết kế phần mềm 49 3.2.1 Giới thiệu 49 3.2.2 Tổng quan phần mềm 50 3.2.3 Thiết kế kiến trúc phần mềm 50 3.2.4 Thiết kế liệu 56 3.2.5 Thiết kế thành phần phần mềm 60 3.2.6 Thiết kế giao diện người sử dụng 65 LỜI CẢM ƠN Bài tập lớn trình đánh giá khả làm việc theo nhóm sinh viên, tạo cho sinh viên tạo cho sinh viên tính tự lập đánh dấu trưởng thành sinh viên, khả làm việc dựa vào hướng dẫn giáo viên, tạo điều kiện cho sinh viên nghiên cứu Khóa luận tốt nghiệp Kỹ sư sau chuyển tiếp trình phấn đấu, học tập rèn luyện sinh viên để trở thành Kỹ sư Công nghệ thông tin Quá trình làm tập lớn, trình học tập, tích lũy kiểm tra lại kiến thức học đem kiến thức áp dụng vào thực tế Nhóm em xin chân thành cảm ơn thầy Vũ Đình Minh Thầy trực tiếp hướng dẫn nhóm em làm Bài Tập Lớn Trong trình thực Bài Tập Lớn, thầy tận tình định hướng, hướng dẫn giúp đỡ nhóm em giải khó khăn trình thực tập lớn Lời cuối cùng, nhóm 10 chúng em xin chân thành cảm ơn thầy Chúc thầy tồn thể gia đình sức khỏe dồi đạt nhiều thành công sống DANH MỤC HÌNH VẼ Hình CHƯƠNG Mơ hình thác nước 14 Hình Hình CHƯƠNG Hình Sơ đồ Use Case tổng quan 21 Hình 2 Sơ đồ use case chức “Đăng ký” 22 Hình Sơ đồ hoạt động chức “Đăng ký” 22 Hình Biểu đồ trình tự chức "Đăng ký" 25 Hình Biểu đồ VOPC chức "Đăng ký" 26 nhập” Sơ đồ Use Case đăng nhập 26 Hình Sơ đồ hoạt động chức “Đăng Hình Hình 27 Hình Biểu đồ trình tự chức "Đăng nhập" 31 sách” Biểu đồ VOPC chức "Đăng nhập" 32 Hình 10 Sơ đồ Use Case “Tìm kiếm sách” 32 sách" 11 Sơ đồ hoạt động chức “Tìm kiếm Hình sách" 33 Hình 12 Biểu đồ trình tự chức năng"Tìm kiếm tốn” Hình 36 tốn” 13 Biểu đồ VOPC chức "Tìm kiếm Hình Hình 37 Hình 14 Sơ đồ use case chức “Thanh Hình 38 Hình 15 Sơ đồ hoạt động chức “Thanh Hình Hình 38 16 Biểu đồ trình tự chức "Thanh tốn" 41 17 Biểu đồ VOPC chức "Thanh toán" 42 18 Biểu đồ lớp hệ thống 42 CHƯƠNG Kiến trúc hướng đối tượng 49 Kiến trúc MVC 51 Biểu đồ lớp thực thể đầy đủ 53 Biểu đồ thực thể liên kết mức vật lý 54 Hình Giao diện đăng ký 63 Hình Giao diện đăng nhập 63 Hình Giao diện tốn 64 Hình Giao diện tìm kiếm 64 DANH MỤC BẢNG BIỂU CHƯƠNG Bảng Tác nhân chức tương ứng 20 Bảng 2 Đặc tả chức “Đăng ký” 24 Bảng Mô tả chức “Đăng ký” 25 Bảng Đặc tả chức "Đăng nhập" 30 Bảng Mô tả chức "Đăng nhập" 31 Bảng Đặc tả chức "Tìm kiếm sách" 35 Bảng Mơ tả chức “Tìm kiếm sách” 35 Bảng Đặc tả chức “Thanh Tốn” 40 Bảng Mơ tả chức Thanh Toán 41 Bảng 10 Bảng Quản lý 43 Bảng 11 Bảng Khách hàng 43 Bảng 12 Bảng Nhà xuất 43 Bảng 13 Bảng Loại sách 44 Bảng 14 Bảng Sản phNm 44 Bảng 15 Bảng Đơn đặt hàng 44 CHƯƠNG Bảng Bảng Danh mục 56 Bảng Bảng Thể Loại Sách 57 Bảng 3 Bảng Sách 57 Bảng Bảng Đơn hàng – Sản PhNm 58 Bảng Bảng Đơn Hàng 58 Bảng Bảng Khách Hàng 58 Bảng Bảng Sản PhNm – KM 59 Bảng Bảng Khuyến Mại 59 MỞ ĐẦU Lý chọn chủ đề/đề tài Lý chọn đề tài ”Tìm hiểu mơ hình thác nước viết tài liệu phân tích đặc tả yêu cầu trang web nhà sách cá chép” để nghiên cứu chủ đề thú vị áp dụng thực tế Việc nghiên cứu mơ hình thác nước giúp nhóm hiểu rõ cách thiết kế phát triển trang web Bên cạnh đó, việc viết tài liệu phân tích đặc tả yêu cầu giúp nhóm có nhìn tổng quan yêu cầu khách hàng muốn tạo trang web nhà sách Bản thân cá nhân mong muốn học cách áp dụng kiến thức vào thực tế phát triển kỹ phân tích thiết kế hệ thống Chúng ta học quy trình đầy đủ để tạo phần mềm gồm nhiều bước khơng riêng bước xây dựng phần mềm ngôn ngữ lập trình, phải: - Đặc tả yêu cầu, phân tích yêu cầu, thương lượng với khách hàng - Đặc tả chức năng, trạng thái, biểu đồ DFD, Use-case, - Thiết kế UI - Xây dựng phần mềm - Kiểm thử Mục tiêu thân học Nhập môn công nghệ phần mềm: - Hiểu rõ cấu trúc thành phần phần mềm - Nắm kỹ thuật phân tích thiết kế phần mềm - Có khả sử dụng cơng cụ phát triển phần mềm - Hiểu nguyên tắc quản lý dự án phần mềm có kỹ quản lý dự án Mục tiêu nghiên cứu Mục tiêu sau thực tập lớn: - Giải thích, hoạt động, thứ tự ưu tiên giai đoạn mô hình thác nước; - Giải thích, ưu điểm nhược điểm mơ hình thác nước; - Giải thích, nên khơng nên sử dụng mơ hình thác nước; - Vận dụng lựa chọn mơ hình quy trình cụ thể dự án phát triển phần mềm trang web nhà sách “Cá Chép” Đối tượng phạm vi nghiên cứu Mơ hình quy trình thác nước: mơ hình phát triển phần mềm truyền thống, với giai đoạn rõ ràng theo thứ tự Các giai đoạn bao gồm phân tích yêu cầu, thiết kế hệ thống, phát triển, kiểm thử triển khai Các phương pháp công cụ phát triển phần mềm: Rational Rose, Studio Case để vẽ biểu đồ, VSCode lập trình xây dựng giao diện Các ngơn ngữ lập trình cơng nghệ: ngơn ngữ lập trình cơng nghệ phát triển phần mềm sử dụng để phát triển phần mềm bán sách điện tử, chẳng hạn Java, Python, ReactJS, v.v Lý thuyết phát triển phần mềm: lý thuyết nguyên lý quản lý dự án phần mềm, quản lý chất lượng phần mềm, kiểm thử phần mềm, v.v xem xét đề tài Phạm vi nghiên cứu cụ thể đề tài tìm hiểu mơ hình quy trình thác nước áp dụng vào phát triển phần mềm website bán sách điện tử nhà sách Cá chép Thời gian nghiên cứu tập trung vào khứ gần đây, không giới hạn thời gian cụ thể Không gian nghiên cứu tập trung vào dự án phát triển phần mềm bán sách điện tử, công ty phần mềm doanh nghiệp liên quan Lĩnh vực nghiên cứu phát triển phần mềm bán sách điện tử Kết mong muốn đạt đề tài Tối ưu hóa quy trình bán hàng cung cấp trải nghiệm mua sắm trực tuyến tốt cho khách hàng thơng qua việc áp dụng mơ hình quy trình thác nước phát triển phần mềm website bán sách điện tử nhà sách Cá chép Cấu trúc báo cáo Ngoài phần Mở đầu phần Kết thúc, nội dung BTL gồm chương sau: - Nội dung chương Chương 1: Trình bày kiến thức sở học phần Nhập môn công nghệ phần mềm - Nôi dung Chương 2: Trình bày phân tích đặc tả yêu cầu phần mềm - Nội dung Chương 3: Trình bày thiết kế phần mềm CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu chung đề tài Phần mềm website bán sách điện tử sản phNm phần mềm phát triển rộng rãi thời đại công nghệ số Đề tài thực để xây dựng website bán sách điện tử cho nhà sách Cá Chép với mục đích giúp khách hàng dễ dàng tìm kiếm mua sách trực tuyến cách thuận tiện nhanh chóng Nội dung cần thực bao gồm thiết kế phát triển giao diện website, tạo sở liệu để quản lý thông tin sách thông tin khách hàng, kết nối với cổng toán trực tuyến để thuận tiện cho khách hàng toán, cung cấp tính tìm kiếm, đánh giá sách, giỏ hàng đặt hàng trực tuyến Phần mềm chủ đầu tư nhà sách Cá Chép - nhà sách uy tín tiếng Việt Nam Người sử dụng phần mềm nhân viên nhà sách để quản lý thông tin sản phNm đơn hàng khách hàng, với khách hàng nhà sách Cá Chép để truy cập mua sách trực tuyến Phần mềm áp dụng lĩnh vực kinh doanh sách điện tử nhà sách Cá Chép, mở rộng thị trường bán sách nhà sách từ truyền thống sang trực tuyến, đáp ứng nhu cầu ngày tăng khách hàng việc mua sắm học tập trực tuyến Địa áp dụng phần mềm website nhà sách Cá Chép, cung cấp địa trực tuyến cho khách hàng để truy cập mua sách cách dễ dàng 1.2 Giới thiệu dự án phần mềm Dự án phần mềm Website Nhà Sách Cá Chép giải pháp kinh doanh trực tuyến cho nhà sách độc lập doanh nghiệp nhỏ với mục tiêu tăng doanh số bán hàng nâng cao trải nghiệm mua sắm cho khách hàng Với giao diện trực quan thân thiện, khách hàng dễ dàng tìm kiếm mua sản phNm sách nhất, phổ biến đáng ý danh mục nhà sách Dự án bao gồm số tính hệ thống đăng ký tài khoản, giỏ hàng, toán trực tuyến, hỗ trợ khách hàng, quản lý đơn hàng cập nhật hàng hóa Với tính này, khách hàng dễ dàng lưu trữ thơng tin tốn, giám sát đơn hàng thơng báo chương trình khuyến mãi, giảm giá hay kiện đặc biệt Dự án sử dụng công nghệ phần mềm tiên tiến HTML, CSS, JavaScript PHP để tạo giao diện đẹp dễ sử dụng, đồng thời tích hợp hệ thống quản lý sở liệu để lưu trữ thông tin khách hàng đơn hàng Với dự án phần mềm Website Nhà Sách Cá Chép, nhà sách tiết kiệm chi phí cửa hàng tiếp cận nhiều khách hàng thông qua kênh bán hàng trực tuyến Các khách hàng tận hưởng trải nghiệm mua sắm trực tuyến đơn giản thuận tiện với tính tìm kiếm nâng cao tốn an tồn Tóm lại, dự án phần mềm Website Nhà Sách Cá Chép giải pháp kinh doanh trực tuyến chuyên nghiệp hiệu cho nhà sách độc lập doanh nghiệp nhỏ, đồng thời nâng cao trải nghiệm mua sắm khách hàng Mô tả kỹ thuật dự án phần mềm: ● Dữ liệu vào: - Thông tin sản phNm: Mã sản phNm, tên sản phNm, giá tiền, số lượng, ảnh sản phNm, mô tả sản phNm - Thông tin người dùng: Họ tên, địa email, mật khNu, địa nhận hàng, số điện thoại, thơng tin tốn ● Dữ liệu ra: - Giỏ hàng khách hàng với danh sách sản phNm, giá tiền số lượng sản phNm - Đơn hàng khách hàng với danh sách sản phNm, giá tiền, số lượng sản phNm thông tin giao hàng - Thông tin chi tiết sản phNm khách hàng xem sản phNm trang web ● Tiến trình xử lý: - Đăng ký đăng nhập tài khoản người dùng - Xem thông tin sản phNm chọn mua sản phNm - Thêm sản phNm vào giỏ hàng, cập nhật giỏ hàng xóa sản phNm khỏi giỏ hàng - Thanh toán đơn hàng cập nhật trạng thái đơn hàng - Quản lý thông tin người dùng đơn hàng ● Ràng buộc: - Sản phNm phải liệt kê với đầy đủ thông tin bao gồm ảnh, giá tiền, mơ tả, số lượng cịn lại - Khách hàng phải đăng nhập đăng ký tài khoản thêm sản phNm vào giỏ hàng - Khách hàng phải nhập thông tin giao hàng toán số tiền để đơn hàng xác nhận giao hàng địa - Quản lý thông tin người dùng đơn hàng phải bảo mật truy cập người dùng có đặc quyền 1.3 Cơng cụ, kỹ thuật phương pháp phát triển phần mềm 1.3.1 Mơ hình quy trình ứng dụng để phát triển dự án phần mềm 1.2.1.1 Giới thiệu mơ hình Mơ hình thác nước (Waterfall model) Mơ hình Quy trình giới thiệu Nó gọi mơ hình vịng đời tuyến tính Nó đơn giản để hiểu sử dụng Trong mơ hình thác nước, giai đoạn phải hoàn thành trước giai đoạn bắt đầu khơng có chồng chéo giai đoạn Waterfall mô hình quy trình tiếng giới thiệu, với cách tiếp cận Vòng đời phát triển hệ thống (SDLC) lâu đời nhất, sử dụng để phát triển phần mềm Mơ hình thác nước minh họa q trình phát triển phần mềm theo dịng tuyến tính Điều có nghĩa giai đoạn trình phát triển bắt đầu giai đoạn trước hồn thành Trong mơ hình thác nước, pha khơng chồng lên 1.3.1.2 Các giai đoạn mơ hình thác nước Hình minh họa sau thể giai đoạn khác Mơ hình thác nước: Hình 1 Mơ hình thác nước ● Thu thập phân tích yêu cầu (Requirement Analysis): Tất yêu cầu có hệ thống phát triển ghi lại giai đoạn ghi lại tài liệu đặc tả yêu cầu để phục vụ cho giai đoạn sau ● Thiết kế hệ thống (System Design): Các thông số kỹ thuật yêu cầu từ giai đoạn đầu nghiên cứu giai đoạn thiết kế hệ thống chuNn bị Thiết kế hệ thống giúp xác định yêu cầu phần cứng hệ thống giúp xác định kiến trúc hệ thống tổng thể ● Thực (Implementation): Với đầu vào từ thiết kế hệ thống, hệ thống phát triển chương trình nhỏ gọi đơn vị, tích hợp giai đoạn Mỗi đơn vị phát triển kiểm tra chức (hay cịn gọi Kiểm thử đơn vị) ● Tích hợp Kiểm thử (Integration and Testing): Tất đơn vị phát triển giai đoạn triển khai tích hợp vào hệ thống sau thử nghiệm đơn vị Sau tích hợp, tồn hệ thống kiểm tra xem có lỗi hỏng hóc khơng (giai đoạn cịn gọi kiểm thử tích hợp) ● Triển khai hệ thống (Deployment of system): Sau kiểm tra chức phi chức thực hiện; sản phNm triển khai môi trường khách hàng hayđược tung thị trường ● Bảo trì (Maintenance): Có số vấn đề xảy môi trường khách hàng Để khắc phục vấn đề đó, vá lỗi phát hành Ngoài để nâng cao sản phNm số phiên tốt phát hành Bảo trì thực để mang lại thay đổi môi trường khách hàng 1.3.1.1 Đánh giá Khi nên sử dụng mơ hình thác nước: - Khi dự án có quy mơ lớn - Khi việc đánh giá (phân tích) chi phí rủi ro quan trọng - Bất lúc có u cầu thay đổi từ phía khách hàng - Khi dự án yêu cầu release thường xuyên - Khi yêu cầu không rõ ràng phức tạp - Đối với dự án có độ rủi ro từ trung bình đến cao - Những người sử dụng không chắn nhu cầu họ - Các yêu cầu phần mềm phức tạp lớn - Cần phát triển dòng sản phNm - Khi có thay đổi quan trọng Ưu điểm Mơ hình thác nước cho phép thiết lập lịch trình với thời hạn cho giai đoạn phát triển sản phNm, tiến hành giai đoạn mơ hình quy trình phát triển Sự phát triển di chuyển từ ý tưởng, thông qua thiết kế, thực hiện, thử nghiệm, cài đặt, khắc phục cố kết thúc vận hành bảo trì Mỗi giai đoạn phát triển diễn theo thứ tự nghiêm ngặt Một số ưu điểm mơ hình thác nước sau: - Đơn giản, dễ hiểu sử dụng - Dễ dàng quản lý độ cứng mơ hình - Mỗi giai đoạn có phân phối cụ thể quy trình xem xét - Các giai đoạn xử lý hoàn thành lúc - Hoạt động tốt cho dự án nhỏ hơn, nơi yêu cầu hiểu rõ - Các giai đoạn xác định rõ ràng - Các mốc quan trọng hiểu rõ - Dễ dàng xếp cơng việc - Q trình kết ghi chép đầy đủ Nhược điểm Mơ hình thác nước không cho phép phản ánh sửa đổi nhiều Một ứng dụng giai đoạn thử nghiệm, khó để quay lại thay đổi khơng ghi chép đầy đủ nghĩ đến giai đoạn khái niệm Những nhược điểm Mơ hình thác nước sau: - Khơng có phần mềm hoạt động sản xuất cuối vòng đời - Lượng rủi ro cao không chắn - Không phải mơ hình tốt cho dự án phức tạp