Với những kiến thức vô cùng quan trọng đó cùng với sự hỗ trợnhiệt tình của Ts.Vũ Đình Minh - giảng viên hướng dẫn bộ môn Nhập mônCông nghệ phần mềm, nhóm chúng em đã có thể thực hiện và
lOMoARcPSD|39475011 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== BÁO CÁO BTL THUỘC HỌC PHẦẦN: HỌC PHẦẦN NHẬP MÔN CÔNG NGHỆ PHẦẦN MỀẦM Nghiên cứu mô hình quy trình phát triển phần mềm tiếp cận lặp và áp dụng trong dự án phát triển website bán đồ dùng và đồ chơi trẻ em của chuỗi của hàng Funnyland GVHD: Ths Vũ Đình Minh Nhóm - Lớp: 10 - 20222IT6082004 Thành viên: Đàm Quang Tú - 2021604778 Phùng Quang Trung - 2021 Hà Thị Mai Linh - 2021 Phan Đình Đạt - 2021 Nguyễn Văn Tuấn - 2021 Hà Nội, Năm 2022 1 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* LỜI NÓI ĐẦU Để chuẩn bị cho hành trang kiến thức trước khi tốt nghiệp, mỗi sinh viên cần phải có đầy đủ những kiến thức cần thiết với chuyên ngành của mình Đối với một sinh viên Công nghệ thông tin, kiến thức về học phần Nhập môn Công nghệ phần mềm là không thể thiếu với bất kì ai, vì học phần sẽ cung cấp những kiến thức cơ bản về quy trình phát triển sản phẩm phần mềm, các quy trình và các mô hình quy trình phát triển phần mềm, Từ đó, sinh viên sau khi hoàn thành học phần có thể hiểu được thế nào là công nghệ phần mềm và những ứng dụng thực tế trong quá trình tạo nên một sản phẩm phần mềm Với những kiến thức vô cùng quan trọng đó cùng với sự hỗ trợ nhiệt tình của Ts.Vũ Đình Minh - giảng viên hướng dẫn bộ môn Nhập môn Công nghệ phần mềm, nhóm chúng em đã có thể thực hiện và hoàn thành được đề tài nghiên cứu: Nghiên cứu mô hình quy trình phát triển phần mềm tiếp cận lặp và áp dụng trong dự án phát triển website bán đồ dung và đồ chơi trẻ em của chuỗi cửa hàng Funnyland Trong quá trình thực hiện, các thành viên trong nhóm đã cố gắng làm việc nhóm, tuy nhiên đôi khi không tránh khỏi những sai sót trong quá trình thực hiện, mong thầy giáo góp ý và nhận xét để nhóm chúng em có thể thực hiện tốt đề tài được giao Chúng em xin chân thành cảm ơn! 2 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* MỤC LỤC LỜI NÓI ĐẦUẦ MỤC LỤC MỞ ĐẦU 1 CHƯƠNG 1 Giới thiệu về dự án phần mềm 1 1.1 Giới thiệu chung 1 1.2 Tổng quan dự án phần mềm 1 1.3 Giới thiệu về mô hình quy trình tiếp cận lặp và công nghệ áp dụng trong phát triển website Funnyland 2 1.3.1 Mô hình tiếp cận lặp 2 1.3.2 Công cụ ứng dụng trong phát triển 5 1.3.3 Phương pháp phân tích và thiết kế phần mềm 6 CHƯƠNG 2 Phân tích và đặc tả yêu cầu phần mềm 7 2.1 Quy trình kỹ thuật yêu cầu 7 2.1.1 Giới thiệu về quy trình kỹ thuật yêu cầu 7 2.1.2 Các hoạt động trong quy trình kỹ thuật yêu cầu 7 2.2 Các tác nhân tham gia vào quy trình kỹ thuật yêu cầu 8 2.2.1 Giới thiệu về các tác nhân tham gia quy trình kỹ thuật yêu cầu 8 2.2.2 Quản trị viên dự án 8 2.2.3 Khách hàng 10 2.2.4 Người sử dụng hệ thống 10 2.2.5 Người phát triển hệ thống 11 2.2.6 Người kiểm thử 11 2.2.7 Các bên liên quan 12 2.3 Đặc tả yêu cầu phần mềm website https://www.funnyland.vn/ 12 2.3.1 Giới thiệu 12 2.3.2 Yêu cầu chức năng 13 2.3.3 Yêu cầu phi chức năng 39 Kết luận chương 2: 40 CHƯƠNG 3 Đặc tả thiết kế phần mềm 41 3.1 Tổng quan về thiết kế phần mềm 41 3.1.1 Vai trò và các nhiệm vụ trong hoạt động thiết kế phần phần 41 3.1.2 Chiến lược thiết kế phần mềm 42 3.1.3 Công cụ hỗ trợ thiết kế phần mềm 42 3.2 Tài liệu thiết kế phần mềm 43 3.2.1 Giới thiệu 43 3 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* 3.2.2 Tổng quan về phần mềm 43 3.2.3 Thiết kế kiến trúc phần mềm 44 3.2.4 Thiết kế dữ liệu 51 3.2.5 Thiết kế các thành phần phần mềm 55 3.2.6 Thiết kế giao diện người sử dụng 63 Kết luận chương 3: 68 4 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* 2 MỞ ĐẦU Trong học phần Nhập môn công nghệ phần mềm, chúng em được học 4 mô hình quy trình phát triển phần mềm, đó là: mô hình thác nước(Waterfall model), mô hình tiếp cận lặp(Iteractive model), mô hình bản mẫu(Protype model), mô hình xoắc ốc(Spiral model) Mỗi mô hình quy trình lại có các pha, ưu và nhược điểm khác nhau để thích hợp với từng quy mô, độ phức tạp và điều kiện thực hiện của từng dự án Sau những buổi họp và bàn luận, nhóm 1 chúng em quyết định chọn ra mô hình tiếp cận lặp để thực hiện bài tập lớn với đề tài: Nghiên cứu mô hình quy trình phát triển phần mềm tiếp cận lặp và áp dụng trong dự án phát triển website bán đồ dùng và đồ chơi trẻ em của chuỗi của hàng Funnyland Mục tiêu nghiên cứu bài tập lớn: - Giải thích thế nào là Công nghệ phần mềm, quy trình công nghệ phần mềm Trình bày được các hoạt động trong quy trình công nghệ phần mềm và mô hình quy trình công nghệ phần mềm phát triển/sửa chữa sản phẩm phần mềm - Trình bày được nội dung cơ bản của quy trình phát triển phần mềm tiếp cận lặp - Giải thích các pha và thứ tự thực hiện của các pha đó trong mô hình tiếp cận lặp - Vẽ mô hình quy trình phát triển website Funnyland theo mô hình tiếp cận lặp - Ứng dụng quy trình phát triển phần mềm lặp và quy trình phát triển website Funnyland 5 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* CHƯƠNG 1 Giới thiệu về dự án phần mềm Trong chương 1, chúng ta sẽ tìm hiểu sơ lược về mô hình quy trình tiếp cận lặp, những ưu, nhược điểm của mô hình quy trình tiếp cận lặp 1.1.Giới thiệu chung - Đề tài “Nghiên cứu mô hình quy trình phát trỉển phần mềm tiếp cận lặp và áp dụng trong dự án phát triển website bán đồ dùng và đồ chơi trẻ em của chuỗi cửa hàng Funnyland.” - Đối tượng sử dụng trang web là các khách hàng cụ thể là các bậc phụ huynh có nhu cầu mua sắm các dụng cụ, đồ chơi để đáp ứng nhu cầu của trẻ 1.2.Tổng quan dự án phần mềm Website Funnyland.vn là website chuyên cung cấp các mặt hàng đồ dùng và đồ chơi cho trẻ em với các sản phẩm như: cặp sách, đồ chơi, Hệ thống có nhiều chức năng để phục vụ quá trình tìm kiếm và mua hàng của khách hàng cũng như để người quản trị có thể dễ dàng quản lí các chức năng đó Chức năng chính: Quản lý người dùng: Hệ thống cho phép người quản trị tham gia các hoạt động nghiệp vụ đối với từng khách hàng, cụ thể là quản lí tài khoản khách hàng + Mỗi người dùng trong hệ thống đều phải có 1 một tài khoản bao gồm Username và Password để đăng nhập vào hệ thống Quản lí đơn hàng: cho phép người quản trị tham gia các hoạt động nghiệp vụ trong quá trình mua hàng của khách hàng + Giúp giám sát và quản lý hoạt động bán hàng trên hệ thống một các hiệu quả + Hệ thống sẽ cung cấp toàn bộ thông tin về các hoạt động bán hàng bao gồm: sản phẩm bán chạy, chương trình khuyến mãi, tổng hợp các đơn hàng,… 6 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* Quản lý sản phẩm: Giúp quản trị viên thực hiện các thao tác nghiệp vụ với các sản phẩm được bán trên website + Người quản trị có thể thêm, xoá, sửa thông tin các sản phẩm một cách dễ dàng + Hệ thống sẽ cung cấp toàn bộ thông tin về sản phẩm bao gồm: số lượng trong kho, số lượng bán ra, … 1.3.Giới thiệu về mô hình quy trình tiếp cận lặp và công nghệ áp dụng trong phát triển website Funnyland 1.3.1 Mô hình tiếp cận lặp 1.1.1.1 Giới thiệu mô hình Mô hình tiếp cận lặp (Iterative model hay Iterative and Incremental model) được đề xuất dựa trên ý tưởng thay vì phải xây dựng và chuyển giao hệ thống một lần thì sẽ được chia thành nhiều vòng, tăng dần Trong mô hình Iterative, quy trình lặp lại bắt đầu bằng việc triển khai đơn giản một tập hợp nhỏ các yêu cầu phần mềm và cải tiến lặp đi lặp lại các phiên bản đang phát triển cho đến khi hệ thống hoàn chỉnh được triển khai và sẵn sàng được triển khai Một mô hình vòng đời lặp đi lặp lại không cố gắng bắt đầu với đặc điểm kỹ thuật đầy đủ của các yêu cầu Thay vào đó, quá trình phát triển bắt đầu bằng cách chỉ định và triển khai chỉ một phần của phần mềm, sau đó sẽ được xem xét để xác định các yêu cầu tiếp theo Quá trình này sau đó được lặp lại, tạo ra một phiên bản mới của phần mềm vào cuối mỗi lần lặp lại của mô hình Ý tưởng cơ bản đằng sau phương pháp này là phát triển một hệ thống thông qua các chu kỳ lặp đi lặp lại (Iterative) và theo các phần nhỏ hơn tại một thời điểm (Incremental) 1.1.1.2 Các pha trong mô hình Các pha (các vùng làm việc) được phân chia thành các cung Mỗi một biến thể của mô hình tiếp cận lặp có thể có từ 3 đến 6 vùng 7 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* Hình 1 Các pha trong mô hình Iterative Hình 1 minh họa về các pha trong mô hình tiếp cận lặp với 3 vùng làm việc: • Requirement: Phân tích và định nghĩa yêu cầu phần mềm • Build 1: Triển khai đơn giản với một tập nhỏ các yêu cầu • Build i: Cải tiến phiên bản trước đó bằng cách bổ sung thêm các yêu cầu để tạo ra một phiên bản mới • Build n: Giai đoạn cuối xây dựng được một phiên bản phần mềm hoàn thiện với đầy đủ các yêu cầu phần mềm Ý tưởng cơ bản đằng sau phương pháp này là phát triển một hệ thống thông qua các chu kỳ lặp đi lặp lại và theo các phần nhỏ hơn tại một thời điểm (tăng dần) Quá trình lặp đi lặp lại bắt đầu với việc triển khai đơn giản một tập hợp con các yêu cầu phần mềm và cải tiến lặp đi lặp lại các phiên bản đang phát triển cho đến khi triển khai toàn bộ hệ thống Ở mỗi lần lặp lại, các sửa đổi thiết kế được thực hiện và các khả năng chức năng mới được thêm vào Từ đó, chúng ta có thể thấy rõ một số ưu điểm của mô hình phát triển tăng vòng: 8 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* - Sau mỗi lần tăng vòng thì có thể chuyển giao kết quả thực hiện được cho khách hành nên các chức năng của hệ thống có thể nhìn thấy sớm hơn - Các vòng trước đóng vai trò là mẫu thử để giúp tìm hiểu thêm các yêu cầu ở những vòng tiếp theo Những chức năng của hệ thống có thứ tự ưu tiên càng cao thì sẽ được kiểm thử càng kỹ 1.1.1.3 Đánh giá Trong quá trình phát triển phần mềm, các lần lặp lại chu trình phát triển phần mềm có thể cùng diễn ra Quá trình này có thể được mô tả như là một cách tiếp cận "tiếp thu tiến hoá" hoặc "xây dựng gia tăng" Trong mô hình gia tăng này, toàn bộ yêu cầu được chia thành nhiều bản dựng khác nhau Trong mỗi lần lặp lại, mô-đun phát triển trải qua các giai đoạn yêu cầu, thiết kế, triển khai và thử nghiệm Mỗi bản phát hành tiếp theo của mô-đun bổ sung chức năng cho bản phát hành trước đó Quá trình tiếp tục cho đến khi hệ thống hoàn chỉnh đã sẵn sàng theo yêu cầu Chìa khoá để sử dụng thành công mô hình Iterative là xác nhận nghiêm ngặt các yêu cầu, xác minh & kiểm tra từng phiên bản của phần mềm so với các yêu cầu đó trong mỗi chu kỳ của mô hình Mô hình Iterative thích hợp với dự án phần mềm có: - Các yêu cầu của hệ thống được xác định hoàn chỉnh và rõ ràng - Các yêu cầu chính phải được xác định trước khi thực hiện các giai đoạn lặp; tuy nhiên, một số chức năng hoặc các cải tiến được yêu cầu có thể phát triển theo thời gian Ưu điểm: - Một số chức năng phần mềm có thể được phát triển nhanh chóng và sớm được đưa vào sử dụng trong vòng đời; 9 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 PAGE \* - Kết quả thu được sớm và theo định kỳ; - Có thể lập kế hoạch phát triển song song; - Ít tốn kém hơn để thay đổi phạm vi/yêu cầu, hỗ trợ thay đổi yêu cầu; - Dễ dàng kiểm tra và gỡ lỗi trong quá trình lặp lại nhỏ hơn; Nhược điểm: - Cần nhiều tài nguyên hơn - Các vấn đề về kiến trúc hoặc thiết kế hệ thống có thể phát sinh; - Không thích hợp cho các dự án nhỏ; - Sự phức tạp trong quản lý là nhiều hơn; - Cần có nguồn lực có kỹ năng cao để phân tích rủi ro; - Tiến độ dự án phụ thuộc nhiều vào giai đoạn phân tích rủi ro 1.3.2 Công cụ ứng dụng trong phát triển Sử dụng công cụ Visual Studio và Adobe DreamWeaver trong phát triển website Funnyland (Visual Studio Code là một trình biên tập mã được phát triển bởi Microsoft dành cho Windows, Linux và macOS Nó hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nó cũng cho phép tuỳ chỉnh, do đó, người dùng có thể thay đổi theme, phím tắt, và các tuỳ chọn khác Nó miễn phí và là phần mềm mã nguồn mở theo giấy phép MIT, mặc dù bản phát hành của Microsoft là theo giấy phép phần mềm miễn phí.) 1.3.3 Phương pháp phân tích và thiết kế phần mềm Hướng chức năng: +) Đăng nhập +) Đăng ký +) Tìm kiếm sản phẩm theo danh mục +) Giỏ hàng 10 Downloaded by bong bong (bongbong1@gmail.com)