Tìm kiếm vé không ảnh hưởngđến quá trình đặt vé.Bảo mật thanh toán: Hệ thống phải đảm bảo bảo mật thông tin thanh toán củakhách hàng.- Phạm vi không gian: Phần mềm chỉ được sử dụng trong
Trang 1TRƯỜNG ĐẠI HỌC HỌC VĂN LANG KHOA CÔNG NGHỆ THÔNG TIN
Trang 2MỤC LỤC
I TỔNG QUAN VỀ DỰ ÁN (OVERVIEW)
II PHẠM VI (SCOPE)
III CÁC BÊN LIÊN QUAN
IV CÁC CHUYỂN GIAO CHÍNH
V WORK BREAKDOWN STRUCTURE (TOP-DOWN)
VI CÁC CỘT MỐC CHÍNH
VII SCUM PROCESS
1 Scrum process description
2 Roles and responsibilities
3 Scrum process detail
4 Scrum meeting
5 The main of artifacts
VIII QUẢN LÝ RỦI RO
IX QUẢN LÝ GIAO TIẾP
X GITFLOW
XIV AZURE DEVOPS
Trang 3I TỔNG QUAN VỀ DỰ ÁN (OVERVIEW)
Hệ thống đặt vé xe bus online cho phép người dùng có thể tìm kiếm vé, đặt vé,đặt thức ăn/uống, huỷ vé, thay đổi ngày đặt và đảm bảo 1000 TPS, bảo mật thanhtoán cho người dùng
- Phạm vi chức năng:
Tìm kiếm vé: Người dùng có thể tìm kiếm vé bằng cách nhập thông tin nơi đi,nơi đến và có khứ hồi hay không Hệ thống hiển thị các nhà xe và chuyến xephù hợp với yêu cầu người dùng
Giỏ hàng: Người dùng có thể thêm vé và ghế vào giỏ hàng để giữ chỗ Giỏ hàngtồn tại trong vòng 2 giờ và tự động huỷ bỏ nếu không được mua
Đặt vé: Khi người dùng chọn vé và thức ăn/uống, hệ thống hiển thị thông tinhoá đơn và điều khoản cần thiết Người dùng có thể thanh toán hoá đơn bằng víđiện tử, thẻ ngân hàng liên kết hoặc các phương thức thanh toán khác
Hiển thị giá rẻ nhất trên calendar: Hệ thống tự động hiển thị giá rẻ nhất trên lịchtrình trong khoảng 1 tháng theo tuyến mà người dùng chọn Cập nhật giá rẻnhất được thực hiện tự động theo deadline và khi người dùng tìm kiếm
Promo: Người dùng có thể nhập mã giảm giá để được khuyến mãi trên hoá đơn
Price alert: Người dùng có thể đặt lịch hoặc mua vé với giá rẻ trong thời gianmong muốn
- Phạm vi kỹ thuật:
Ngôn ngữ lập trình: Hệ thống sẽ được phát triển bằng ngôn ngữ lập trình Java
Cơ sở dữ liệu: Hệ thống sẽ sử dụng cơ sở dữ liệu MySQL để lưu trữ thông tin
về vé, chuyến xe, người dùng và các giao dịch thanh toán
Kiến trúc hệ thống: Hệ thống sẽ tuân theo kiến trúc dựa trên mô hình 3 lớp(Presentation Layer, Business Layer, Data Layer) để tách biệt giao diện ngườidùng, logic kinh doanh và cơ sở dữ liệu
Trang 4- Phạm vi chất lượng:
Yêu cầu về hiệu suất: Hệ thống cần hỗ trợ 1000 TPS (transaction per second) đểđáp ứng nhu cầu của số lượng lớn khách hàng Tìm kiếm vé không ảnh hưởngđến quá trình đặt vé
Bảo mật thanh toán: Hệ thống phải đảm bảo bảo mật thông tin thanh toán củakhách hàng
- Phạm vi không gian: Phần mềm chỉ được sử dụng trong nước Việt Nam
- Phạm vi thời gian: Hoàn thành trong vòng 20 tuần kể từ ngày 1/7/2023
VAI TRÒ MÔ TẢNhà xe là doanh nghiệp cung cấp dịch vụ vận tải cho khách hàng
Bộ phận quản lí là các nhân viên của công ty quản lý hệ thống đặt vé, đảm bảo hệ thống
Product Owner Là người sẽ kết khách hàng với đội ngũ phát triển qua các yêu cầu
Scrum Master Là người sẽ quản lý quá trình phát triển phần mềm dựa theo quy trình
Scrum
- 1 Website đặt vé xe bus online có các chức năng : tìm, đặt vé, thanh toán, tự động
thông báo, đặt lịch mua vé và sử dụng mã khuyến mãi
Trang 5- Bản hướng dấn sử dụng Website trên
- Bộ kết quả kiểm thử
Trang 6VI CÁC CỘT MỐC CHÍNH
Key milestone 1: Ngày cuối cùng của tuần 1 (7/7/2023)
- Xác định được tất cả các bên liên quan
- Xác định được Business Requirements
- Hoàn thành product vision
- Xác định được các User groups/ Personas/ User empathy map
- Hoàn thành các user map, user stories
- Hoàn thành danh sách các chức năng và phi chức năng
- Hoàn thành Product Backlog
Key milestone 2: Ngày cuối cùng của tuần 2(14/7/2023)
- Hoàn thành project charter
- Hoàn thành project plan
- Hoàn thành WBS và sơ đồ Grant
Key milestone 3: Ngày cuối cùng của tuần 5 (4/8/2023)
- Hoàn thành chức năng của sprint_1 (tìm kiếm và đặt vé)
- Hoàn thành kiểm thử và sửa lỗi
- Demo cho khách hàng
- Cập nhật lại yêu cầu (nếu có)
Key milestone 4: Ngày cuối cùng của tuần 8 (25/8/2023)
- Hoàn thành chức năng của sprint_2 (đề xuất vé rẻ nhất trong vòng 1 tháng và tự động
thông báo)
- Hoàn thành kiểm thử và sửa lỗi
- Demo cho khách hàng
- Cập nhật lại yêu cầu (nếu có)
Key milestone 5: Ngày cuối cùng của tuần 11 (15/9/2023)
- Hoàn thành chức năng của sprint_3 (sử dụng mã khuyến mãi và đặt lịch mua vé)
Trang 7- Hoàn thành kiểm thử và sửa lỗi.
- Demo cho khách hàng
- Cập nhật lại yêu cầu (nếu có)
Key milestone 6: Ngày cuối cùng của tuần 14 (6/10/2023)
- Bàn giao và kết thúc dự án
Chú ý: Milestones và thời gian ước lượng chỉ mang tính chất tham khảo và có thể thay
đổi tùy thuộc vào phạm vi và phức tạp của dự án cũng như tài nguyên có sẵn
1 Scrum process description
Scrum là một phương pháp quản lý dự án linh hoạt và tập trung vào việc tạo ra giá trị
liên tục cho khách hàng Dự án hệ thống đặt vé xe online có thể được triển khai sử
dụng Scrum để quản lý quá trình phát triển Dưới đây là mô tả Scrum process kết hợp
với dự án này:
Product Backlog: Đầu tiên, xây dựng Product Backlog, danh sách các yêu cầu và
chức năng của hệ thống đặt vé User stories đã được cung cấp có thể được chuyển đổi
thành các mục trong Product Backlog
Sprint Planning: Ở đầu mỗi sprint, nhóm Scrum sẽ chọn một số user stories từ
Product Backlog để thực hiện trong sprint đó Ví dụ, một số user stories như "US tìm
kiếm vé" và "US đặt vé" có thể được chọn cho một sprint cụ thể
Execution (Thực thi Sprint):
Trong giai đoạn này, nhóm Scrum thực hiện công việc để hoàn thành các user story
được chọn cho Sprint
Các công việc được phân chia và thực hiện dựa trên ưu tiên và khả năng của nhóm
Daily Scrum: Hằng ngày, nhóm Scrum sẽ họp để cập nhật tiến độ công việc Các
thành viên trong nhóm sẽ chia sẻ thông tin về công việc đã hoàn thành, công việc đang
tiến hành và các trở ngại gặp phải Ví dụ, trong quá trình phát triển chức năng "US tìm
Trang 8kiếm vé", các thành viên có thể bàn luận về tiến độ triển khai và phát hiện các vấn đề
cần giải quyết
Sprint Review: Ở cuối mỗi sprint, nhóm Scrum sẽ tổ chức một buổi Sprint Review
Trong buổi này, họ sẽ xem lại và đánh giá kết quả công việc đã hoàn thành trong
sprint Ví dụ, trong Sprint Review, nhóm sẽ kiểm tra chức năng "US tìm kiếm vé" và
đảm bảo rằng nó hoạt động đúng và đáp ứng yêu cầu của người dùng
Sprint Retrospective: Sau buổi Sprint Review, nhóm Scrum tổ chức một buổi Sprint
Retrospective để đánh giá quá trình làm việc và tìm cách cải thiện Ví dụ, nhóm có thể
đề xuất cải tiến trong việc xử lý tối ưu hóa hiệu suất hệ thống để đạt được yêu cầu về
1000 TPS
2 Roles and responsibilities
Product Owner:
Xác định yêu cầu và ưu tiên các user story trong Product Backlog
Lập kế hoạch, theo dõi và kiểm tra tiến độ của dự án
Đảm bảo rằng sản phẩm đáp ứng được yêu cầu và mang lại giá trị cho khách hàng
Scrum Master:
Đảm bảo việc triển khai quy trình Scrum và tuân thủ các nguyên tắc của nó
Hỗ trợ và lãnh đạo nhóm Scrum trong việc hiểu và áp dụng Scrum
Loại bỏ các rào cản và giúp nhóm giải quyết các vấn đề trong quá trình phát triển
Quản lý tiến độ và đảm bảo sự tuân thủ kế hoạch Scrum
Development Team:
Thực hiện tất cả các nhiệm vụ phát triển phần mềm, bao gồm tìm kiếm vé, đặt vé, đặt
thức ăn/uống, huỷ vé và thay đổi ngày đặt
Tự quản lý và tổ chức công việc của mình trong quá trình Sprint
Cùng nhau làm việc để triển khai các user story và tạo ra sản phẩm hoàn thiện
Trang 9Tham gia vào các sự kiện Scrum, như Sprint Planning, Daily Scrum, Sprint Review và
Sprint Retrospective
Stakeholders:
Cung cấp thông tin phản hồi và yêu cầu cho Product Owner
Đánh giá và chấp thuận các phiên bản phần mềm
Ngoài ra, để đảm bảo hiệu suất và bảo mật của hệ thống, có các vai trò và trách nhiệm
bổ sung như sau
Software Architect/Engineer:
Thiết kế và phát triển kiến trúc hệ thống và cơ sở dữ liệu
Đảm bảo rằng hệ thống có khả năng xử lý 1000 TPS và đáp ứng yêu cầu về tìm kiếm
và đặt vé
Security Specialist:
Đảm bảo bảo mật và an toàn cho thông tin thanh toán của khách hàng
Thực hiện các biện pháp bảo vệ dữ liệu và phòng ngừa các mối đe dọa an ninh
Quality Assurance (QA) Team:
Thực hiện kiểm thử và đảm bảo chất lượng của sản phẩm
Kiểm tra tính năng, hiệu suất và khả năng tương thích của hệ thống
UX/UI Designer:
Thiết kế giao diện người dùng thân thiện và dễ sử dụng
Đảm bảo trải nghiệm người dùng tốt và giao diện hấp dẫn
Trang 103 Scrum process detail
Stage(giai đoạn)
Roles involved(vai trò thamgia)
Activities(hoạt động)
Artifacts(tài liệu)
ProductBacklog Product Owner
- Tạo và duy trì danh sách ưu tiêncác user stories, sửa lỗi và cải tiến
- Ước tính và mô tả các hạng mụctồn đọng
ProductBacklog
SprintPlanning
Meeting
Product Owner - Chọn các hạng mục tồn đọng
cho Sprint
- Phân chia các mục tồn đọng thành các nhiệm vụ nhỏ hơn
- Ước tính effort cho các nhiệm vụ
SelectedBacklogItemsSprintBacklog
DevelopmentTeam
- Tổ chức các cuộc họp đứng hàng ngày
SprintBacklog
Trang 11Daily
Stand-up Meeting
DevelopmentTeam
- Mỗi thành viên trong nhóm chia
sẻ tiến độ kể từ cuộc họp lần đầu
- Thảo luận về công việc sắp tới
- Xác định bất kỳ trở ngại
None
SprintReviewMeeting
Product Owner
- Chứng minh công việc đã hoàn thành cho product owner và các bên liên quan
- Thu thập thông tin phản hồi
- Thảo luận về những thay đổi đối với product backlog
CompletedWorkDevelopment
Team
SprintRetrospective
Meeting
DevelopmentTeam
- Phản ánh về Sprint và thảo luận
về những gì đã diễn ra tốt đẹp và những gì có thể được cải thiện
- Xác định các bước có thể hành động để cải tiến
RetrospectiveNotes
Sprint 2 Development
Team
- Thiết kế giao diện đề xuất vé rẻ nhất trong vòng 1 tháng và tự động thông báo
- Viết API đề xuất vé rẻ nhất trong vòng 1 tháng và tự động thông báo
- Xây dựng giao diện và chức năng đề xuất vé rẻ nhất trong vòng 1 tháng và tự động thông báo
- Kiểm thử chức năng đề xuất vé
SprintBacklog
Trang 12rẻ nhất trong vòng 1 tháng và tự động thông báo và fix lỗi.
- Tổ chức các cuộc họp đứng hàng ngày
Daily
Stand-up Meeting
DevelopmentTeam
- Mỗi thành viên trong nhóm chia
sẻ tiến độ kể từ cuộc họp lần trước
- Thảo luận về công việc sắp tới
- Xác định bất kỳ trở ngại
None
SprintReviewMeeting
Product Owner
- Chứng minh công việc đã hoàn thành cho product owner và các bên liên quan
- Thu thập thông tin phản hồi
- Thảo luận về những thay đổi đối với product backlog
CompletedWork
SprintRetrospective
Meeting
DevelopmentTeam
- Phản ánh về Sprint và thảo luận
về những gì đã diễn ra tốt đẹp và những gì có thể được cải thiện
- Xác định các bước có thể hành động để cải tiến
RetrospectiveNotes
Trang 13năng sử dụng mã khuyến mãi và đặt lịch mua vé.
- Kiểm thử chức năng sử dụng
mã khuyến mãi và đặt lịch mua
vé và fix lỗi
- Tổ chức các cuộc họp đứng hàng ngày
Daily
Stand-up Meeting
DevelopmentTeam
- Mỗi thành viên trong nhóm chia
sẻ tiến độ kể từ cuộc họp lần trước
- Thảo luận về công việc sắp tới
- Xác định bất kỳ trở ngại
None
SprintReviewMeeting
Product Owner
- Chứng minh công việc đã hoàn thành cho product owner và các bên liên quan
- Thu thập thông tin phản hồi
- Thảo luận về những thay đổi đối với product backlog
CompletedWork
SprintRetrospective
Meeting
DevelopmentTeam
- Phản ánh về Sprint và thảo luận
về những gì đã diễn ra tốt đẹp và những gì có thể được cải thiện
- Xác định các bước có thể hành động để cải tiến
RetrospectiveNotes
Trang 144 Scrum meeting
Họp lập kế hoạch Sprint (Sprint planning): Cuộc họp này diễn ra ở đầu mỗi Sprint
Chủ sở hữu sản phẩm (Product Owner) và nhóm phát triển (Development Team) cùng
nhau xác định những mục từ backlog sẽ được làm việc trong Sprint sắp tới Nhóm
phân rã các mục từ thành các nhiệm vụ nhỏ hơn và ước tính công sức cần thiết
Họp hằng ngày (Daily Stand-up): Đây là cuộc họp ngắn diễn ra hàng ngày trong suốt
Sprint Nhóm phát triển (Development Team) tụ tập để chia sẻ tiến độ, thảo luận công
việc sắp tới và xác định các rào cản gây trở ngại Mỗi thành viên trong nhóm trả lời ba
câu hỏi: Tôi đã hoàn thành gì kể từ cuộc họp trước đây? Tôi sẽ làm gì tiếp theo? Có
bất kỳ trở ngại nào làm trì hoãn tiến độ không?
Họp đánh giá Sprint (Sprint Review): Vào cuối mỗi Sprint, nhóm phát triển
(Development Team) thể hiện công việc đã hoàn thành cho chủ sở hữu sản phẩm
(Product Owner), các bên liên quan (stakeholders) Phản hồi được thu thập và thảo
luận về bất kỳ thay đổi nào trong backlog sản phẩm Trọng tâm chính là kiểm tra và
điều chỉnh sản phẩm dựa trên đánh giá của các bên liên quan
Họp tổng kết Sprint (Sprint Retrospective): Sau cuộc họp đánh giá Sprint, nhóm tổ
chức cuộc họp tổng kết Họ phản ánh về Sprint như là một toàn bộ và thảo luận về
những điểm tốt và những điểm cần cải thiện, đồng thời xác định các bước hành động
để cải thiện hiệu suất của mình trong Sprint tiếp theo Cuộc tổng kết khuyến khích việc
cải tiến và học hỏi liên tục
5 The main of artifacts
Product Backlog (Bảng backlog sản phẩm): Product Backlog là một danh sách được
sắp xếp của tất cả các tính năng sản phẩm, cải tiến, sửa lỗi và yêu cầu khác Nó là
nguồn thông tin duy nhất cho nhóm Scrum, chủ sở hữu sản phẩm và các bên liên quan
về công việc cần thực hiện Product Backlog được liên tục làm rõ và ưu tiên dựa trên
phản hồi từ khách hàng, nhu cầu thị trường và giá trị kinh doanh
Sprint Backlog (Bảng backlog Sprint): Sprint Backlog là một phần con của Product
Backlog và chứa các mục đã được chọn để làm việc trong một Sprint cụ thể Nó được
Trang 15tạo ra trong cuộc họp lập kế hoạch Sprint và bao gồm các nhiệm vụ cần thiết để hoàn
thành các mục backlog đã chọn Sprint Backlog là một tài liệu linh hoạt được cập nhật
trong suốt Sprint khi các nhiệm vụ hoàn thành hoặc xuất hiện nhiệm vụ mới
VIII QUẢN LÝ RỦI RO
Mô tả rủi ro Hậu quả Xác
xuất
Mứcđộảnhhưởng
Nguyênnhân Giải pháp
Đưa ra cam kếttrước lúc chạy dự
án cho các thànhviên trong team kýkết , nếu vi phạmcam kết phải đền bùtheo đúng hợp đồng
50% 3 Các thành
viên có thể
có kiếnthức, kinhnghiệm vàquan điểmkhác nhau
Điều nàydẫn đếnviệc đưa ra
Tổ chức một cuộchọp hoặc buổi gặpmặt để các thànhviên có thể trao đổi
và thảo luận các ýtưởng Thông qua
sự trao đổi trực tiếp,các thành viên cóthể hiểu rõ hơn vềnhau và làm việc
Trang 16những ýtưởng vàquan điểmkhác nhau
về hướng đi
và cáchthực hiện
cùng nhau để tìm racác điểm chung vàthống nhất quanđiểm
sự mất lòng
20% 1 Việc thiếu
sự hiểu rõ
và xác địnhđúng yêucầu củakhách hàng
có thể dothiếu giaotiếp hiệuquả, không
có quy trìnhthu thậpyêu cầu,hoặc thiếu
sự tươngtác vớikhách hàng
Đảm bảo rằng quytrình thu thập yêucầu được thực hiệnđầy đủ và chínhxác Giao tiếp chặtchẽ với khách hàng,tiến hành cuộc họp
và phản hồi liên tục
để đảm bảo hiểu rõmong đợi và yêucầu của khách hàng
Trang 17tin và tiêucực cho dựán.
Thay đổi liên tục
trong quá trình phát
triển, dự án có thể
mất đi sự tập trung
và làm tăng nguy cơ
về việc không hoàn
thành dự án đúng
thời hạn hoặc vượt
quá ngân sách
Sự thay đổinày có thểlàm tăngnguy cơ vềviệc khônghoàn thành
dự án đúngthời hạnhoặc vượtquá ngânsách đãđịnh trướcđó
20% 2
Thiếu sự xácđịnh rõ ràng
và ổn định
về yêu cầuban đầu,khách hàngkhông hiểu
rõ nhu cầucủa mìnhhoặc khôngquyết địnhđược
Thiết lập quy trìnhkiểm soát thay đổiyêu cầu Xác định
và đánh giá mụctiêu và ưu tiên thayđổi yêu cầu Thiếtlập quy trình phêduyệt và triển khaithay đổi yêu cầumột cách cân nhắc
đề bảo mật
và sựkhông
60% 2 Các vấn đề
kỹ thuật cóthể phát sinh
từ khônghiểu rõ côngnghệ, thiếukiểm tra vàthử nghiệmđầy đủ, hoặckhông đảm
Đảm bảo rằng độingũ phát triển có
đủ kiến thức và kỹnăng cần thiết.Thực hiện kiểm tra
và thử nghiệm kỹlưỡng, kiểm trachất lượng liên tục
và tuân thủ quytrình kiểm soát