Tải bản đầy đủ (.pdf) (26 trang)

quản lý dự án phầnmềm các nền tảng phát triển phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.93 MB, 26 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

TRƯỜNG ĐẠI HỌC HỌC VĂN LANGKHOA CÔNG NGHỆ THÔNG TIN

QUẢN LÝ DỰ ÁN PHẦNMỀM

PROJECT PLAN

Giảng viên: Bùi Minh PhụngLớp học phần: 223_DIT0260_0202NHÓM: 09

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

MỤ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...

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

I.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 tinhố đơn và điều khoản cần thiết. Người dùng có thể thanh tốn hố đơ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 tinvề 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ẽ tn 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.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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 q 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 tố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: Hồ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í <sup>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</sup>hoạt động ổn định

Các đối tác thanh toán <sup>là các cơng ty cung cấp dịch vụ thanh tốn trực tuyến, bao gồm các ngân</sup>hàng và các ví điện tử.

Khách hàng Người chi trả chi phí cho việc phát triển dự án cũng như yêu cầu từ họ.Đội ngũ phát triễn Là các Developer xây dựng website

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ầuScrum Master <sup>Là người sẽ quản lý quá trình phát triển phần mềm dựa theo quy trình</sup>

- 1 Website đặt vé xe bus online có các chức năng : tìm, đặt vé, thanh tốn, tự độngthơng báo, đặt lịch mua vé và sử dụng mã khuyến mãi.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

- Bản hướng dấn sử dụng Website trên- Bộ kết quả kiểm thử

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

- 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ự độngthơ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é).

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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ợpvớ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 đổithà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ìmkiế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 để hồ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ácthành viên trong nhóm sẽ chia sẻ thơng tin về cơng việc đã hồn thành, cơng việc đangtiế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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

kiế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 đã hồn thành trongsprint. 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 SprintRetrospective để đá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 responsibilitiesProduct 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é, đặtthứ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 q 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.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Tham gia vào các sự kiện Scrum, như Sprint Planning, Daily Scrum, Sprint Review vàSprint Retrospective.

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ếmvà đặt vé.

Security Specialist:

Đảm bảo bảo mật và an tồn cho thơng tin thanh tố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.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

3. Scrum process detail

Stage(giai đoạn)

Roles involved(vai trò tham

Activities(hoạt động)

Artifacts(tài liệu)

Backlog <sup>Product Owner</sup>

- 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.

Product Owner <sup>- Chọn các hạng mục tồn đọng </sup>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ụ.

Sprint 1 <sup>Development</sup>Team

- Thiết kế giao diện tìm kiếm và đặt vé

- Viết API truy xuất dữ liệu vé xevà đặt vé.

- Xây dựng giao diện và chức năng tìm vé và đặt vé.- Kiểm thử chức năng tìm vé và đặt vé và fix lỗi

- Tổ chức các cuộc họp đứng hàng ngày.

SprintBacklog

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Daily up Meeting

- Mỗi thành viên trong nhóm chiasẻ 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.

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.

- 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.

Sprint 2 DevelopmentTeam

- 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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

rẻ 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 up Meeting

- Mỗi thành viên trong nhóm chiasẻ 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.

Product Owner

- Chứng minh cơng việc đã hồ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.

- 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.

Sprint 3 DevelopmentTeam

- Thiết kế giao diện sử dụng mã khuyến mãi và đặt lịch mua vé.- Viết API sử dụng mã khuyến mãi và đặt lịch mua vé.- Xây dựng giao diện và chức

SprintBacklog

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

nă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 up Meeting

- Mỗi thành viên trong nhóm chiasẻ 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.

Product Owner

- Chứng minh cơng việc đã hồ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.

- 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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

4. 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ùngnhau xác định những mục từ backlog sẽ được làm việc trong Sprint sắp tới. Nhómphâ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ốtSprint. Nhóm phát triển (Development Team) tụ tập để chia sẻ tiến độ, thảo luận côngviệ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 bacâu hỏi: Tơi đã hồ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ì hỗ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ảoluậ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ệccả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 đượcsắ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à 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 quanvề 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ênphả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 ProductBacklog và chứa các mục đã được chọn để làm việc trong một Sprint cụ thể. Nó được

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

tạ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ànthành các mục backlog đã chọn. Sprint Backlog là một tài liệu linh hoạt được cập nhậttrong 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ả <sup>Xác</sup>xuất

nhân <sup>Giải pháp</sup>

Thành viên nghỉviệc, rời nhóm,trong q trình làmdự án

Chậm tiến

độ dự án <sup>20%</sup> <sup>1</sup>

Xích míchgiữa cácthành viêntrong nhóm ,hoặc Cơng tykhác có tìnhđào người.

Đư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đề ra .

Có quá nhiều ýtưởng giữa cácthành viên, khôngthống nhất hướngđi, cách làm.

Không phốihợp đượcvới team,thiếu rõràng và gâyhiểu nhầmtrong côngviệc.

50% 3 Các thànhviê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 đổivà thảo luận các ýtưởng. Thông quasự 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

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

những ýtưởng vàquan điểmkhác nhauvề hướng đivà cáchthực hiện.

cùng nhau để tìm racác điểm chung vàthống nhất quanđiểm.

Thiếu sự xác định rõràng và đầy đủ vềyêu cầu của kháchhàng. Điều này cóthể dẫn đến hiểulầm hoặc sự khôngđồng nhất về mongđợi và kết quả cuốicùng.

Hiểu lầmhoặc sựkhông đồngnhất về yêucầu có thểdẫn đến sảnphẩm phầnmềm khôngđáp ứngđược nhucầu thực tếcủa kháchhàng. Điềunày có thểlàm giảmgiá trị và sựhài lòngcủa kháchhàng, tạo rasự mất lòng

20% 1 Việc thiếusự hiểu rõvà xác địnhđúng yêucầu củakhách hàngcó thể dothiếu giaotiếp hiệuquả, khơngcó quy trìnhthu thậpyêu cầu,hoặc thiếusự 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ọpvà 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.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

tin và tiêucực cho dựán.

Thay đổi liên tụctrong quá trình pháttriển, dự án có thểmất đi sự tập trungvà làm tăng nguy cơvề việc khơng hồnthành dự án đúngthời hạn hoặc vượtquá ngân sách.

Sự thay đổinày có thểlàm tăngnguy cơ vềviệc khơnghồn thànhdự án đúngthời hạnhoặc vượtquá ngânsách đãđịnh trướcđó.

20% 2

Thiếu sự xácđịnh rõ ràngvà ổn địnhvề yêu cầuban đầu,khách hàngkhông hiểurõ 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 địnhvà đá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.

Các rủi ro kỹ thuậtcó thể bao gồm hiệunăng khơng đạt ucầu, lỗi phần mềm,vấn đề bảo mật, sựkhông tương thíchgiữa các thành phần,và khả năng mởrộng kém. Nhữngvấn đề này có thể

Các vấn đềkỹ thuậtnhư hiệunăng khôngđạt yêu cầu,lỗi phầnmềm, vấnđề bảo mậtvà sựkhông

60% 2 Các vấn đềkỹ thuật cóthể phát sinhtừ 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 travà thử nghiệm kỹlưỡng, kiểm trachất lượng liên tụcvà tuân thủ quytrình kiểm soát

</div>

×