CHƯƠNG 1: QUY TRÌNH VÀ MÔ HÌNH PHÁT TRIỂN PHẦN MỀM 1.1 Quy trình và phát triển phần mềm Quy trình phát triển phần mềm là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất ra một sản phẩm phần mềm. Giai đoạn 1: Thu thập yêu cầu: Giai đoạn này tập trung vào việc hiểu và thu thập yêu cầu từ người dùng cuối và các bên liên quan khác. Điều này đảm bảo rằng các chức năng, tính năng và mục tiêu của phần mềm được xác định rõ ràng. Giai đoạn 2: Phân tích yêu cầu: Trong giai đoạn này, yêu cầu được phân tích, kiểm tra tính khả thi và xác định các phần tử chính của hệ thống.
Kết quả của giai đoạn này thường là một tài liệu yêu cầu chi tiết. Giai đoạn 3: Thiết kế: Giai đoạn thiết kế tập trung vào xây dựng kiến trúc tổng thể của hệ thống, định nghĩa các thành phần và giao diện, và xác định cách triển khai công nghệ và cơ sở dữ liệu. Giai đoạn 4: Lập trình và kiểm thử: Giai đoạn này bao gồm việc viết mã, xây dựng các thành phần phần mềm và thực hiện các ca kiểm thử để đảm bảo tính đúng đắn và chất lượng của phần mềm. Giai đoạn 5: Triển khai và triển khai: Sau khi phần mềm đã được phát triển và kiểm thử, nó được triển khai vào môi trường thực tế.
Quá trình triển khai bao gồm cài đặt, cấu hình và triển khai phần mềm trên hạ tầng sản phẩm. Giai đoạn 6: Bảo trì và hỗ trợ: Giai đoạn này liên quan đến việc duy trì và hỗ trợ phần mềm đã triển khai. Nó bao gồm sửa lỗi, cải tiến tính năng, cập nhật và hỗ trợ người dùng.2 Các mô hình phát triển phẩn mềm 1.1 Mô hình thác nước (mô hình vòng đời truyền thống) Mô hình thác nước tuân theo một quy trình tuần tự tuyến tính, trong đó mỗi giai đoạn được hoàn thành trước khi chuyển sang giai đoạn tiếp theo. Thường được áp dụng cho các dự án không thường xuyên bị thay đổi về yêu cầu.
Đặc điểm Ưu điểm: Dễ sử dụng, dễ tiếp cận Các giai đoạn và hoạt động được xác định rõ ràng Xác nhận ở từng giai đoạn, đảm bảo phát hiện sớm các lỗi Nhược điểm: Rất khó để quay lại giai đoạn nào khi nó đã kết thúc Ít tính linh hoạt và phạm vi điều chỉnh của nó khá là khó khăn, tốn kém.2 Mô hình chữ V 7 Đây là mô hình mở rộng từ mô hình thác nước. Thay vì di chuyển xuống theo tuần tự các bước thì quy trình sẽ đi theo hình chữ V Áp dụng Yêu cầu phần mềm phải xác định rõ ràng Công nghệ phần mềm và các công cụ phải được tìm hiểu kĩ Đặc điểm Ưu điểm: Đơn giản dễ sử dụng Phấn phối cụ thể theo mỗi giai đoạn Thực hiện verification và validation sớm trong mỗi giai đoạn phát triển Nhược điểm: Phạm vi điều chỉnh khá là khó khăn và tốn kém.3 Mô hình Agile Agile là phương pháp phát triển phần mềm linh hoạt dể làm sao đưa sản phẩm đến tay khách hàng càng nhanh càng tốt, là mô ‰t hướng tiếp câ ‰n cụ thể cho viê ‰c quản lý dự án phần mềm. Phương pháp Agile tập trung vào việc chia nhỏ dự án thành các vòng lặp ngắn (sprints) và tạo ra các phiên bản phần mềm có khả năng hoạt động. Các phương pháp Agile phổ biến bao gồm Scrum và Kanban, trong đó Scrum sử dụng các sprint và các cuộc họp ngắn hàng ngày để theo dõi tiến độ, trong khi Kanban sử dụng các bảng công việc để quản lý quy trình phát triển.4 Công nghệ sử dụng 1.1 Tổng quan về ngôn ngữ lập trình PHP 1.2 Tổng quan về ngôn ngữ lập trình Javascript 1.3 Tổng quan về HTML 1.4 Tổng quan về CSS 1.5 Môi trường lập trình và công cụ hỗ trợ Visual Studio Code MySQL XAMPP STAR UML Draw.io 10 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Mô tả bài toán Cửa hàng cần xây dựng 1 hệ thống để quản lý giới thiệu và bán sản phẩm.
Hoạt động của hệ thống được xây dựng đảm bảo các yêu cầu sau: Website sẽ hiển thị danh sách sản phẩm với thông tin chi tiết như hình ảnh, mô tả, giá cả, và thông tin khác liên quan. Đối tượng là Khách hàng: Khách hàng có thể tìm kiếm sản phẩm bằng cách nhập từ khóa hoặc sử dụng bộ lọc để thu hẹp kết quả tìm kiếm. Sau khi tìm thấy sản phẩm, khách hàng có thể xem thông tin chi tiết thành phần và giá sản phẩm. Sau đó có thể thêm sản phẩm vào giỏ hàng, chỉnh sửa số lượng và xóa sản phẩm khỏi giỏ hàng.
Khi mua sản phẩm khách hàng có thể chọn phương thức thanh toán và cung cấp thông tin thanh toán để hoàn tất quá trình mua hàng. Đối tượng Admin: Admin có thể đăng nhập vào hệ thống bằng tài khoản và mật khẩu riêng, sau đó có thể làm các nghiệp vụ của cửa hàng. Khi đăng nhập tài khoản, admin có thể thực hiện các nghiệp vụ như: Quản lý bài viết, quản lý sản phẩm, quản lý danh mục, quản lý thương hiệu, quản lý tài khoản khách hàng, quản lý tài khoản quản trị viên với các chức năng cơ bản: thêm, sửa, xóa, tìm kiếm. Với quản lý đơn hàng: Admin có thể xem và quản lý các đơn hàng từ khách hàng, bao gồm xác nhận đơn hàng.2 Phân tích yêu cầu Chương trình phải đáp ứng được các mục tiêu sau: Chức năng dành cho khách hàng - Đăng nhập/Đăng kí: Khi muốn sử dụng phần mềm, khách hàng cần đăng nhập bằng tài khoản có sẵn hoặc có thể đăng ký, từ đó có thể sử dụng các chức năng khác của phần mềm.
- Tìm kiếm sản phẩm - Quản lý giỏ hàng: Thêm sản phẩm vào giỏ hàng và đặt hàng. Chức năng dành cho admin - Đăng nhập: Khi muốn sử dụng phần mềm, admin và cần đăng nhập bằng tài khoản có sẵn, từ đó có thể sử dụng các chức năng khác của phần mềm. - Quản lý bài viết: Chức năng cho phép admin thêm mới, sửa, xóa bài viết của 11 trang web. - Quản lý sản phẩm: Chức năng cho phép admin thêm mới, sửa, xóa thông tin sản phẩm.
- Quản lý danh mục: Chức năng cho phép admin thêm mới, sửa, xóa danh mục sản phẩm. - Quản lý thương hiệu: Chức năng cho phép admin thêm mới, sửa, xóa thương hiệu sản phẩm. - Quản lý đơn đặt hàng: Chức năng này cho phép admin có thể xem và quản lý các đơn hàng từ khách hàng, bao gồm xác nhận đơn hàng. - Quản lý thông tin khách hàng: Phần mềm cho phép admin thêm, sửa, xóa thông tin tài khoản khách hàng.
Thông tin tài khoản bao gồm: Họ tên, email, số điện thoại, địa chỉ. - Quản lý thông tin quản trị viên: Phần mềm cho phép admin cập nhật, đổi mật khẩu tài khoản của quản trị viên. Thông tin quản trị viên bao gồm: Họ tên, Email, chức vụ, địa chỉ.3 Biểu đồ Use case 2.1 Use case tổng quát Hình 2.1 Biểu đồ Use case tổng quát 12 • Mô tả: Quản trị viên có thể đăng nhập vào hệ thống và sẽ có tất cả các quyền quản lý chức năng hệ thống này. Khách hàng có thể đăng nhập bằng tài khoản có sẵn hoặc có thể đăng ký, từ đó có thể sử dụng các chức năng khác của phần mềm.
• Xác định các tác nhân (Actor) STT Actor Diễn giải 1 Admin Là người chịu trách nhiệm chính của hệ thống, duy trì và điều hành hệ thống và có tất cả các quyền quản trị 2 Khách hàng Khách hàng là những cá nhân sử dụng phần mềm với mục đích tham khảo, mua điện thoại trên trang web 2.2 Use case phân rã 2.1 Use case quản lý giỏ hàng Hình 2.2 Biểu đồ Use case phân rã chức năng quản lý giỏ hàng Bảng 2.1: Mô tả Use case quản lý giỏ hàng STT Tên Use case Mô tả hoạt động 1 Đăng nhập Use case này giúp khách hàng sử dụng các chức năng của hệ thống cần đến quyền truy cập Thêm sản phẩm vào 2 Use case này giúp khách hàng có thể thêm nhiều điện giỏ hàng thoại vào giỏ hàng khi mua sắm 3 Đặt hàng Sau khi thêm điện thoại vào giỏ hàng thì khách hàng có thể đặt mua thông qua usecase này 13 2.2 Use case quản lý bài viết Hình 2. Biểu đồ Use case phân rã chức năng quản lý bài viết Bảng 2.3 : Mô tả Use case quản lý bài viết ST Tên Use case Mô tả hoạt động T 1 Đăng nhập Use case này giúp admin sử dụng các chức năng của hệ thống cần đến quyền truy cập 2 Thêm bài viết Admin có thể thêm bài viết mới nếu chưa tồn tại bài viết đó. 3 Sửa bài viết Admin sửa thông tin bài viết nếu bài viết đó cần chỉnh sửa và đã được lưu trữ rồi. 4 Xóa bài viết Admin có thể xoá bài viết khi cửa hàng không cần thông tin đó nữa hoặc bị lỗi.3 Use case quản lý sản phẩm Hình 2.5 Biểu đồ Use case phân rã chức năng quản lý tên điện thoại 14 Bảng 2.4 : Mô tả Use case quản lý tên điện thoại STT Tên Use case Mô tả hoạt động 1 Đăng nhập Use case này giúp admin sử dụng các chức năng của hệ thống cần đến quyền truy cập 2 Thêm sản phẩm Admin có thể thêm điện thoại mới nếu chưa tồn tại độc giả đó.
3 Sửa sản phẩm Admin sửa thông tin điện thoại nếu tên điện thoại đó cần chỉnh sửa và đã được lưu trữ rồi. 4 Xóa sản phẩm Admin có thể xoá điện thoại khi cửa hàng không nhập điện thoại đó nữa hoặc bị lỗi.4 Use case quản lý danh mục Hình 2.6 Biểu đồ Use case phân rã chức năng quản lý danh mục Bảng 2.5: Mô tả Use case quản lý danh mục STT Tên Use case Mô tả hoạt động 1 Đăng nhập Use case này giúp admin sử dụng các chức năng của hệ thống cần đến quyền truy cập. 2 Thêm danh mục Admin có thể thêm danh mục nếu chưa tồn tại danh mục đó. 3 Sửa danh mục Use case này giúp admin sửa danh mục nếu danh mục đó cần chỉnh sửa và đã được lưu trữ rồi.
4 Xóa danh mục Xóa danh mục khi danh mục đó trong cửa hàng hết 15 hàng hoặc bị lỗi danh mục.5 Use case quản lý thương hiệu Hình 2.7 Biểu đồ Use case phân rã chức năng quản lý thương hiệu Bảng 2.