SỰ CẦN THIẾT CỦA ĐỀ TÀI Trong bối cảnh công nghệ phần mềm phát triển nhanh chóng, nhu cầu về các sản phẩm phần mềm đáp ứng được yêu cầu của người dùng ngày càng cao.. Đềtài “Ứng dụng ph
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM
Trang 2PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 3LỜI CẢM ƠN
Trước tiên, em xin gửi lời cảm ơn chân thành nhất đến ThS Nguyễn Thanh Tuấn - người đã hướng dẫn và hỗ trợ em trong suốt quá trình học tập và thực hiện đề tài Sự tận tâm, nhiệt tình và những góp ý quý báu của thầy đã giúp em hoàn thành tốt quá trình thực tập và có được những kiến thức, kinh nghiệm thực tế vô cùng quý giá Trong quá trình thực hiện báo cáo này, mặc dù đã cố gắng hết sức, nhưng do kiến thức và kinh nghiệm thực tế còn hạn chế, chắc chắn không thể tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và những góp ý của các thầy/cô để em có thể hoàn thiện hơn trong tương lai
Cuối cùng, em xin chúc thầy/cô dồi dào sức khỏe, luôn thành công trong sự nghiệp giáo dục và tiếp tục truyền đạt những kiến thức quý báu đến các thế hệ sinh viên sau
3
Trang 4PHẦN MỞ ĐẦU
1 SỰ CẦN THIẾT CỦA ĐỀ TÀI
Trong bối cảnh công nghệ phần mềm phát triển nhanh chóng, nhu cầu về các sản phẩm phần mềm đáp ứng được yêu cầu của người dùng ngày càng cao Một trong những phương pháp phát triển phần mềm hiệu quả hiện nay là Agile, đặc biệt là phương pháp Scrum Scrum giúp tối ưu hóa quy trình phát triển phần mềm, tăng cường khả năng thích ứng và phản ứng nhanh chóng với thay đổi Đềtài “Ứng dụng phương pháp Agile trong phát triển ứng dụng mua bán quần áo” được lựa chọn nhằm nghiên cứu cách thức áp dụng Scrum để phát triển một phần mềm , từ đó nâng cao chất lượng sản phẩm và cải thiện quy trình làm việc của nhóm phát triển
2 MỤC ĐÍCH NGHIÊN CỨU
Mục đích của nghiên cứu này là áp dụng phương pháp Scrum trong việc phát triển ứng dụng bán quần áo, từ việc lên kế hoạch ban đầu, xác định các yêu cầu sản phẩm, đến việc phát triển prototype với các tính năng cơ bản Nghiên cứu sẽ tập trung vào việc quản lý các yêu cầu, phân chia công việc qua các sprint, và theo dõi tiến độ qua công cụ quản lý Scrum như Jira Kết quả của nghiên cứu sẽ
là một sản phẩm prototype đáp ứng được các yêu cầu cơ bản của người dùng
3 PHƯƠNG PHÁP NGHIÊN CỨU
Phương pháp nghiên cứu chủ yếu được sử dụng trong bài báo cáo này là nghiên cứu ứng dụng Qua việc áp dụng thực tế phương pháp Scrum vào quá trình phát triển phần mềm, các vấn đề và thách thức trong việc quản lý dự án phần mềm sẽ được phân tích Phương pháp nghiên cứu chủ yếu bao gồm việc tạo và quản lý Product Backlog, lập kế hoạch các Sprint, và phát triển prototype của phần mềm Các cuộc họp Scrum như Sprint Planning, Daily Standup, Sprint Review, và Sprint Retrospective sẽ được tổ chức để đánh giá và điều chỉnh tiến
độ dự án
4 PHẠM VI NGHIÊN CỨU
Phạm vi nghiên cứu tập trung vào quá trình phát triển website mua bán quần
áo trực tuyến, ứng dụng phương pháp Scrum và sử dụng công cụ quản lý Scrum (Jira) để quản lý tiến độ và tài nguyên Nghiên cứu này không bao gồm việc xây
Trang 5dựng một sản phẩm hoàn chỉnh mà chỉ tập trung vào phát triển prototype với cáctính năng cơ bản Các nhiệm vụ trong nghiên cứu bao gồm việc xác định yêu cầu sản phẩm, tạo và theo dõi backlog, thực hiện các sprint và cuối cùng là trình bày kết quả của từng sprint.
5 NGUỒN SỐ LIỆU VÀ DỮ LIỆU
Các nguồn tài liệu nghiên cứu chủ yếu trong báo cáo này bao gồm các tài liệu
về phương pháp Scrum, các nghiên cứu và bài viết về việc áp dụng Agile, cũng như các tài liệu hướng dẫn sử dụng công cụ quản lý Scrum như Jira, Asana, và Trello Dữ liệu sẽ được thu thập từ quá trình thực hiện các sprint, các cuộc họp Scrum, và kết quả phát triển prototype của phần mềm
6 NỘI DUNG NGHIÊN CỨU
Nội dung nghiên cứu sẽ được trình bày theo các bước sau:
● Phân tích và xây dựng yêu cầu sản phẩm phần ứng dụng mua bán quần áo
● Xây dựng Product Backlog và Sprint Backlog với các User Stories
● Phân công vai trò trong nhóm Scrum và thiết lập kế hoạch các sprint
● Sử dụng công cụ quản lý Scrum để theo dõi tiến độ và cập nhật nhiệm vụ
● Phát triển prototype phần mềm với các tính năng cơ bản
● Trình bày kết quả của từng sprint và tổng kết dự án
Scrum MasterDeveloperDeveloperProduct OwnerDeveloper
5
Trang 6MỤC LỤC
Trang 7CHƯƠNG 1: GIỚI THIỆU VỀ DỰ ÁN1.1 Tên dự án
Ứng dụng phương pháp Agile trong phát triển ứng dụng mua bán áo quần
1.2 Mục tiêu dự án
Mục tiêu của dự án "Ứng dụng phương pháp Agile trong phát triển ứng dụng mua bán quần áo" là xây dựng một website mua bán quần áo trực tuyến thông qua việc áp dụng phương pháp phát triển Agile, cụ thể là Scrum, nhằm đảm bảo quy trình phát triển nhanh chóng, linh hoạt và hiệu quả Cụ thể, mục tiêu của dự án bao gồm:
● Phát triển website mua bán quần áo:
o Xây dựng một sản phẩm website cho phép người dùng có thể mua bán trực tuyến trên sàn thương mại điên tử
o Đảm bảo phần mềm có các tính năng cơ bản như đăng ký, đăng nhập, mua hàng, thanh toán,…
● Áp dụng phương pháp Scrum:
o Quản lý dự án phần mềm bằng phương pháp Scrum, chia nhỏ dự án thành các Sprint ngắn hạn với mục tiêu rõ ràng và có thể điều chỉnh khi cần thiết
o Cải thiện hiệu quả công việc nhóm, tăng cường sự tương tác giữa các thành viên và tăng tính linh hoạt trong quá trình phát triển
● Phát triển một prototype hoạt động cơ bản:
o Xây dựng một prototype với các tính năng cốt lõi của website, đáp ứng yêu cầu cơ bản của người dùng và có thể triển khai trong các Sprint tiếp theo
o Prototype này sẽ được sử dụng để kiểm tra tính khả thi và phản hồi của người dùng
● Quản lý và theo dõi tiến độ dự án:
o Sử dụng công cụ quản lý Scrum (như Jira) để theo dõi tiến độ dự án, đảm bảo các nhiệm vụ được hoàn thành đúng thời gian và chất lượng
o Đảm bảo việc phản hồi nhanh chóng về những vấn đề phát sinh trong quá trình phát triển, điều chỉnh kế hoạch phù hợp khi có thay đổi
● Đảm bảo chất lượng và cải tiến liên tục:
Trang 8o Thực hiện các cuộc họp Sprint Review và Sprint Retrospective để đánh giá tiến độ và cải tiến quy trình làm việc.
o Liên tục cải tiến sản phẩm qua từng Sprint, đưa ra các tính năng và cải tiến dựa trên phản hồi từ người dùng và các thành viên trong nhóm.Thông qua những mục tiêu trên, dự án sẽ phát triển được một phần mềm cờ vua trực tuyến chất lượng, đồng thời áp dụng phương pháp Scrum để tối ưu hóa quy trình phát triển và nâng cao hiệu quả công việc nhóm
Trang 9CHƯƠNG 2: THU THẬP YÊU CẦU2.1 Tính năng đăng nhập, đăng ký
- Người được hỏi: Người dùng
- Thời gian: 14h00
- Địa điểm: Phòng học K.A110
- Mô tả phỏng vấn:
Mục đích của bạn khi đăng nhập hoặc
đăng ký tài khoản trên wesite là gì?
“Tôi muốn đăng nhập nhanh chóng để có thể truy cập vào tất cả các tính năng của website, và đăng ký tài khoản để bảo mật thông tin."
Bạn có muốn tính năng xác thực hai
lớp để tăng cường bảo mật không?
"Có, tôi muốn thêm tính năng xác thực hai lớp để bảo vệ tài khoản khỏi những truy cậptrái phép."
Bạn có mong muốn hỗ trợ đăng nhập
qua các nền tảng khác như Google
hoặc Facebook không?
Có, vì đăng nhập qua Google hoặc Facebook sẽ giúp tôi tiết kiệm thời gian."
Thông tin cá nhân nào bạn muốn cung
cấp hoặc bảo mật trong quá trình đăng
ký?
"Tôi muốn cung cấp email và tên người dùng, nhưng bảo mật các thông tin nhạy cảm như mật khẩu và email."
Bạn thường xuyên mua sắm quần áo
online không?
“Có, tôi rất hay mua sắm online vì giá cả phải chăng, sản phẩm chất lượng, đẹp.”Những vấn đề bạn gặp phải khi mua
quần áo online là gì?
“Sản phẩm đôi khi vẫn không giống mih hoạ 100%”
Trang 102.3 Tính năng thông báo
- Người được hỏi: Người dùng
- Thời gian: 15h20
- Địa điểm: Phòng học V.A303
- Mô tả phỏng vấn:
Bạn muốn nhận thông báo về những
khuyến mãi hoặc hoạt động nào trên
website không?
"Tôi muốn nhận thông báo khi có những đợt giảm giá và thống báo về quá trình giao hàng."
Bạn có muốn tùy chọn bật/tắt thông
báo cho từng loại thông báo không?
"Có, vì đôi khi tôi không muốn nhận thông báo liên tục mà chỉ những thông báo quan trọng."
Bạn muốn thông báo được hiển thị qua
email hay qua ứng dụng?
"Tôi muốn thông báo chính được hiển thị qua ứng dụng, nhưng các sự kiện đặc biệt nên có thông báo qua email."
2.4 Tính năng thanh toán
- Người được hỏi: người dùng
- Thời gian: 9h00
- Địa điểm: Phòng học K.C106
- Mô tả phỏng vấn:
Bạn có thường thanh toán trực tuyến
ngay khi mua hàng không?
"Có, tôi thường lựa chọn thanh toán trực tuyến để có thể nhận hàng nhanh chóng nếutrong những trường hợp tôi không thể trực tiếp nhận hàng."
2.6 Tính năng quản lý thông tin cá nhân
- Người được hỏi: người dùng
- Thời gian: 8h50
- Địa điểm: Phòng học K.A112
- Mô tả phỏng vấn:
Trang 11Câu hỏi Trả lời
Bạn muốn bảo mật tài khoản qua
hình thức nào (mật khẩu, OTP, câu
hỏi bảo mật)?
"Tôi muốn sử dụng mật khẩu và OTP để đảm bảo an toàn cho tài khoản."
Bạn có mong muốn kiểm tra lịch sử
mua hàng hoặc các hoạt động gần
đây trên tài khoản không?
"Có, tôi muốn có lịch sử mua hàng để có thể xem lại các đơn hàng đã và đang giao của mình, cũng như có thêm tính năng tìm kiếm
và lọc lịch sử theo thời gian hoặc đối thủ để
dễ dàng tra cứu.”
11
Trang 12CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG3.1 Mô tả
Dự án "Ứng dụng phương pháp Agile/Scrum trong phát triển website bán quần áo" nhằm xây dựng một nền tảng mua sắm trực tuyến cho khách hàng có nhu
cầu mua quần áo Website sẽ kết hợp các tính năng cơ bản của một cửa hàng bán hàng online (tìm kiếm, giỏ hàng, thanh toán, giao hàng), đồng thời ứng dụng phương pháp quản lý dự án Agile/Scrum để phát triển sản phẩm theo các giai đoạn ngắn, linh hoạt
và đáp ứng kịp thời yêu cầu thay đổi của người dùng và thị trường
3.2 Yêu cầu chức năng
3.2.1 Yêu cầu chức năng
Yêu cầu chức năng định nghĩa các tính năng phần mềm của sản phẩm từ quan điểm của hệ thống mà nhà phát triển cần xây dựng để giúp người dùng hoàn thành nhiệm vụ của mình theo yêu cầu
Yêu cầu chức năng được chia thành ba loại người dùng dưới đây:
● Khách:
○ Hệ thống cho phép người chơi khách tạo tài khoản mới
● User:
○ Hệ thống cho phép người dùng đã đăng ký đăng nhập vào hệ thống
○ Người dùng đã đăng ký có thể chọn xem, thêm và mua sản phẩm từ trang web
○ Người dùng quản lý giỏ hàng, đơn hàng và thông tin cá nhân
○ Người dùng đăng xuất khỏi hệ thống
● Admin:
○ Hệ thống cho phép quản trị viên đăng nhập vào hệ thống
○ Hệ thống cho phép quản trị viên quản lý sản phẩm
○ Hệ thống cho phép quản trị viên quản lý hồ sơ người dùng
○ Hệ thống cho phép quản trị viên đăng xuất khỏi hệ thống
3.2.2 Yêu cầu phi chức năng
● Giao diện người dùng phải dễ nhìn và thao tác, tương thích trên máy tính hoặc điện thoại di động
● Thời gian tải trang của website phải được tối ưu hóa để không vượt quá 2-3 giây đối với mỗi trang
● Cần có hệ thống xác thực người dùng mạnh mẽ (ví dụ: xác thực hai yếu tố, đăng nhập qua mạng xã hội) và phân quyền truy cập rõ ràng đối với các phần quản lý của website
Trang 13● Website cần được thiết kế để dễ dàng mở rộng khi lượng truy cập tăng lên hoặc khi có thêm tính năng mới Điều này bao gồm khả năng mở rộng về cơ sở hạ tầng (máy chủ, cơ sở dữ liệu) và khả năng xử lý lượng truy cập lớn.
● Website cần tích hợp các công cụ phân tích (ví dụ: Google Analytics, Hotjar) đểtheo dõi hành vi người dùng, từ đó cải thiện trải nghiệm người dùng và tối ưu hóa các chiến dịch marketing
3.3 Biểu đồ Use case
3.3.1 Biểu đồ Use case chính
Hình 1: Biểu đồ Use case chính
3.3.2 Biểu đồ Use case quản lý sản phẩm
Hình 2: Biểu đồ Use case quản lý sản phẩm
13
Trang 143.3.3 Biểu đồ Use case quản lý danh mục sản phẩm
Hình 3: Biểu đồ Use case quản lý danh mục sản phẩm
3.3.4 Biểu đồ Use case quản lý người dùng
Hình 4: Biểu đồ Use case quản lý người dùng
Trang 153.3.5 Biểu đồ Use case trình duyệt sản phẩm
Hình 5: Biểu đồ Use case trình duyệt sản phẩm
3.3.6 Biểu đồ Use case quản lý đơn hàng
15
Trang 16Hình 6: Biểu đồ Use case quản lý đơn hàng
3.3.7 Biểu đồ Use case đặt hàng
Hình 7: Biểu đồ Use case đặt hàng
3.4 Biểu đồ Lớp
Hình 8: Biểu đồ Lớp
Trang 173.5 Biểu đồ hoạt động
3.5.1 Biểu đồ hoạt động User
Đăng ký, đăng nhập
Hình 9: Biểu đồ hoạt động đăng ký, đăng nhập
Xem thông tin chi tiết sản phẩm
Hình 10: Biểu đồ hoạt động xem thông tin chi tiết sản phẩm
17
Trang 18Tìm kiếm sản phẩm
Hình 11: Biểu đồ hoạt động tìm kiếm sản phẩm
Xem chi tiết giỏ hàng
Hình 12: Biểu đồ hoạt động xem chi tiết giỏ hàng
Trang 19Xoá khỏi giỏ hàng
Hình 13: Biểu đồ hoạt động xoá khỏi giỏ hàng
Cập nhật số lượng sản phẩm
Hình 14: Biểu đồ hoạt động cập nhật số lượng sản phẩm
19
Trang 233.6 Biểu đồ tuần tự
3.6.1 User
Đăng ký, đăng nhập
Hình 21: Biểu đồ tuần tự đăng ký, đăng nhập
Xem chi tiết sản phẩm
Hình 22: Biểu đồ tuần tự xem chi tiết sản phẩm
23
Trang 25Xoá sản phẩm khỏi giỏ hàng
Hình 25: Biểu đồ tuần tự xoá sản phẩmĐặt hàng
Hình 26: Biểu đồ tuần tự đặt hàng
25
Trang 28CHƯƠNG 4: PRODUCT BACKLOG VÀ SPRINT BACKLOG4.1 Product Backlog
4.1.1 Giao diện người dùng (UX/UI)
Critical Sprint 1
Thiết kế trang sản
phẩm
Tạo trang chi tiết sản phẩm với hình ảnh,
mô tả, giá, kích thước và các lựa chọn Critical Sprint 1Thiết kế trang giỏ
hàng
Hiển thị danh sách sản phẩm trong giỏ hàng, tổng giá trị đơn hàng, khả năng chỉnh sửa sản phẩm trong giỏ hàng
Critical Sprint 2
Thiết kế responsive
(mobile)
Đảm bảo giao diện hoạt động tốt trên các
Thiết kế trang thanh
toán
Tạo giao diện thanh toán, chọn phương thức thanh toán và nhập địa chỉ giao hàng High Sprint 3
Trang 29Critical Sprint 1
Quản lý tài khoản
Cho phép người dùng xem và chỉnh sửa thông tin tài khoản, mật khẩu, địa chỉ giao hàng
High Sprint 2
Tính năng tìm kiếm
Cung cấp thanh tìm kiếm theo từ khóa, lọcsản phẩm theo loại, giá, kích thước, màu sắc
High Sprint 2
Quản lý giỏ hàng Cho phép người dùng thêm, bớt, chỉnh sửa
số lượng sản phẩm trong giỏ hàng Critical Sprint 2Thêm sản phẩm yêu
thích
Cho phép người dùng lưu lại các sản phẩm yêu thích vào danh sách cá nhân Medium Sprint 3
29
Trang 304.1.3 Tính năng giỏ hàng và thanh toán
Critical Sprint 2
Thanh toán online Cung cấp phương thức thanh toán qua thẻ
tín dụng, ví điện tử (PayPal, Zalo Pay, ) Critical Sprint 3
Thanh toán COD Cung cấp phương thức thanh toán khi nhận hàng (COD) High Sprint 3
Xác nhận đơn hàng Gửi email xác nhận đơn hàng cho khách
hàng sau khi thanh toán thành công High Sprint 3
Trang 314.1.4 Tính năng quản lý sản phẩm của Admin
Medium Sprint 3
Quản lý kho hàng Cập nhật số lượng tồn kho sản phẩm, cảnh
báo khi sản phẩm hết hàng Medium Sprint 3
31
Trang 324.1.5 Tính năng quản lý đơn hàng của Admin
Báo cáo doanh thu Tạo báo cáo doanh thu theo ngày, tuần, tháng, sản phẩm bán chạy. Medium Sprint 4
4.2 Product Backlog được phân theo các Sprint
- Sprint 1 (1 tuần):
Thiết kế giao diện trang chủ, trang sản phẩm
Đăng ký và đăng nhập người dùng
- Sprint 2 (1 tuần):
Thiết kế trang giỏ hàng và thanh toán cơ bản
Quản lý sản phẩm cho Admin (Thêm, sửa, xóa sản phẩm)
Tìm kiếm và lọc sản phẩm
Đăng nhập, quản lý tài khoản người dùng
- Sprint 3 (1 tuần):
Tính năng thanh toán online và COD
Quản lý đơn hàng cho Admin
Hỗ trợ khách hàng qua chat trực tuyến
Cải thiện bảo mật (Xác thực hai yếu tố)
- Sprint 4 (1 tuần):
Tạo báo cáo doanh thu
Hoàn thiện tất cả các tính năng và kiểm thử toàn bộ hệ thống
Phản hồi và báo lỗi hệ thống
Gửi sitemap cho công cụ tìm kiếm
Trang 33CHƯƠNG 5: CHI TIẾT SẢN PHẨM PROTOTYPE5.1 Link figma sản phẩm
Link sản phẩm: https://www.figma.com/design
5.2 Mô tả sản phẩm Prototype
5.2.1 Giới thiệu sản phẩm
Prototype (mô hình thử nghiệm) là một phiên bản sơ khai của sản phẩm, được
xây dựng để thử nghiệm và đánh giá tính năng, giao diện và trải nghiệm người dùng
của sản phẩm trước khi tiến hành phát triển hoàn chỉnh Đối với một website bán quần áo, prototype sẽ giúp mô phỏng giao diện và các tính năng cơ bản mà người
dùng sẽ tương tác, giúp đội ngũ phát triển hiểu rõ hơn về yêu cầu của khách hàng và đảm bảo rằng sản phẩm cuối cùng đáp ứng được mong đợi
5.2.2 Các tính năng chính
a Giao diện trang chủ
Thanh điều hướng (Navigation Bar): Liên kết đến các trang chính như
“Home”, "Shop”, “Contact us”, “Order”
Các danh mục sản phẩm: Hiển thị các danh mục như "Men", "Women",
c Trang chi tiết sản phẩm
Hình ảnh chi tiết: Hình ảnh sản phẩm lớn và rõ nét, cho phép người dùng phóng to
Mô tả sản phẩm: Chi tiết về chất liệu, kích thước, màu sắc, hướng dẫn sử dụng, và chăm sóc sản phẩm
Chọn kích thước và màu sắc: Các lựa chọn cho người dùng chọn sản phẩm theo kích thước và màu sắc phù hợp
Đánh giá sản phẩm: Hiển thị các đánh giá từ người mua trước
d Giỏ hàng