• Tidak ada hasil yang ditemukan

Mô Hình Phát Triển Phần Mềm

N/A
N/A
Juwita54T44

Academic year: 2024

Membagikan "Mô Hình Phát Triển Phần Mềm"

Copied!
28
0
0

Teks penuh

(1)

WAY TO ENTERPRISE

Lesson 2

Mô hình phát triển phần mềm

(2)

Agenda

I. Mô hình phát triển phần mềm II. Agile Mindset

III. Mô hình Scrum

(3)

I. Mô hình phát triển phần mềm

Yêu cầu khách

hàng

Ứng dụng/Hệ

thống Quy trình phát triển phần mềm

Mô hình phát triển phần mềm

(4)

I.I Mô hình thác nước – Waterfall model

(5)

I.I Mô hình thác nước – Waterfall model

- Mô hình phát triển phần mềm đầu tiên được sử dụng.

- Mô hình sẽ áp dụng tuần tự các giai đoạn của phát triển phần mềm, đầu ra của giai đoạn này là đầu vào của giai đoạn sau.

- Không quay lại giai đoạn trước để xử lý các yêu cầu khi muốn thay đổi.

Ứng dụng:

- Dự án nhỏ, ngắn hạn

- Dự án ít thay đổi và yêu cầu phải rõ ràng

(6)

I.I Mô hình thác nước – Waterfall model

Ưu điểm:

- Dễ sử dụng, dễ tiếp cận, dễ quản lý.

- Các giai đoạn phát triển được xác định rõ ràng

- Xác nhận ở từng giai đoạn, đảm bảo phát hiện lỗi sớm

Nhược điểm:

- Ít linh hoạt

- Không phù hợp với dự án dài, phức tạp, có nhiều thay đổi - Khó quay lại giai đoạn trước khi nó đã kết thúc.

- Giai đoạn test chỉ được triển khai sau khi đã code xong => phát hiện lỗi muộn

(7)

I.II Mô hình chữ V – V model

(8)

I.II Mô hình chữ V – V model

- Mở rộng của mô hình thác nước và được dựa trên sự kết hợp của một giai đoạn thử nghiệm cho từng giai đoạn phát triển tương ứng.

- Đối với mỗi giai đoạn trong chu kỳ phát triển, có một giai đoạn thử nghiệm liên quan trực tiếp. Đây là một mô hình có tính kỷ luật cao và giai đoạn tiếp theo chỉ bắt đầu sau khi hoàn thành giai đoạn trước.

- Công việc test được tham gia ngay từ đầu Có 4 mức độ kiểm thử:

- Kiểm thử thành phần (Component testing) - Kiểm thử tích hợp (Integration testing) - Kiểm thử hệ thống (System testing)

- Kiểm thử chấp nhận (Acceptance testing)

(9)

I.II Mô hình chữ V – V model

Nhược điểm:

- Không phù hợp cho các dự án dài, đang diễn ra và phức tạp

- Không phù hợp cho các dự án có nguy cơ thay đổi yêu cầu trung bình đến cao - Khi ứng dụng đang ở giai đoạn thử nghiệm, rất khó quay lại và thay đổi chức năng Ưu điểm:

- Mô hình có tính kỷ luật cao, các giai đoạn hoàn thành cùng 1 lúc - Hoạt động cho các dự án nhỏ, khi các yêu cầu được hiểu rõ - Đơn giản, dễ hiểu và dễ sử dụng

- Dễ quản lý

(10)

II. Agile mindset

Agile là một phương pháp phát triển phần mềm linh hoạt để làm sao đưa sản phẩm đến tay người dùng càng nhanh càng tốt, càng sớm càng tốt.

(11)

II.I Tuyên ngôn Agile

Cá nhân và sự tương tác hơn là quy trình và công cụ Phần mềm chạy tốt hơn là tài liệu đầy đủ

Cộng tác với khách hàng hơn là đàm phán hợp đồng Phản hồi với các thay đổi hơn là bám sát kế hoạch

(12)

II.II Nguyên lý Agile

1. Ưu tiên cao nhất của chúng tôi là thỏa mãn khách hàng thông qua việc chuyển giao sớm và liên tục các phần mềm có giá trị.

2. Chào đón việc thay đổi yêu cầu, thậm chí rất muộn trong quá trình phát triển. Các quy trình linh hoạt tận dụng sự thay đổi cho các lợi thế cạnh tranh của khách hàng.

3. Thường xuyên chuyển giao phần mềm chạy tốt tới khách hàng. Từ vài tuần đến vài tháng, ưu tiên cho các khoảng thời gian ngắn hơn.

4. Nhà kinh doanh và nhà phát triển phải làm việc cùng nhau hàng ngày trong suốt dự án.

5. Xây dựng các dự án xung quanh những cá nhân có động lực. Cung cấp cho họ môi trường và sự hỗ trợ cần thiết, và tin tưởng họ để hoàn thành công việc.

6. Phương pháp hiệu quả nhất để truyền đạt thông tin tới nhóm phát triển và trong nội bộ nhóm phát triển là hội thoại trực tiếp.

(13)

II.II Nguyên lý Agile

7. Phần mềm chạy tốt là thước đo chính của tiến độ.

8. Các quy trình linh hoạt thúc đẩy phát triển bền vững. Các nhà tài trợ, nhà phát triển, và người dùng có thể duy trì một nhịp độ liên tục không giới hạn.

9. Liên tục quan tâm đến các kĩ thuật và thiết kế tốt để gia tăng sự linh hoạt.

10. Sự đơn giản – nghệ thuật tối đa hóa lượng công việc chưa xong – là căn bản.

11. Các kiến trúc tốt nhất, yêu cầu tốt nhất, và thiết kế tốt nhất sẽ được làm ra bởi các nhóm tự tổ chức.

12. Đội sản xuất sẽ thường xuyên suy nghĩ về việc làm sao để trở nên hiệu quả hơn. Sau đó họ sẽ điều chỉnh và thay đổi các hành vi của mình cho phù hợp.

(14)

II.II Nguyên lý Agile

(15)

II.III Áp dụng Agile

“Being” Agile vs “Doing Agile”

(16)

III Mô hình Scrum

Scrum là một quy trình phát triển phần mềm theo phương pháp Agile. Chính vì thế, Scrum tuân thủ các nguyên tắc của Agile

(17)

III.I Vai trò trong Scrum

(18)

III.I Vai trò trong Scrum

Product Owner (chủ sản phẩm): Là người chịu trách nhiệm về sự thành công của dự án, người định nghĩa các yêu cầu và đánh giá cuối cùng đầu ra của các nhà phát triển phần mềm. Là người tạo ra các Product Backlog và đưa backlog vào từng Sprint

(19)

III.I Vai trò trong Scrum

Scrum Master: Là người có hiểu biết sâu sắc về Scrum và đảm bảo nhóm có thể làm việc hiệu quả với Scrum.

(20)

III.I Vai trò trong Scrum

Development Team (Đội sản xuất, hay Nhóm phát triển): Một nhóm liên chức năng (cross-functional) tự quản lý để tiến hành chuyển đổi các yêu cầu được tổ chức trong Product Backlog thành chức năng của hệ thống.

(21)

III.II Quy trình Scrum

(22)

III.II Sprint planning (Họp kế hoạch Sprint)

Mọi thành viên trong team sẽ tham gia và thảo luận về việc sẽ bàn giao những gì trong sprint này.

Hoạt động:

– Product owner trình bày bản product backlog mới nhất.

– Product owner và Team thảo luận để đảm bảo họ có thể chia sẻ những gì mà họ hiểu biết.

– Team dự tính những gì có thể bàn giao trong sprint.

– Team đưa ra mục tiêu.

– Team kên kế hoạch để đạt được mục tiêu đề ra

(23)

III.II Daily Scrum (Họp Scrum hàng ngày)

Chỉ được diễn ra đúng 15 phút Cập nhật nhanh chóng:

– Cùng 1 thời gian – Cùng địa điểm

– Cùng những người đó – Cùng câu hỏi

Câu hỏi:

– Bạn đã làm gì ngày hôm qua?

– Bạn sẽ làm gì ngày hôm nay?

– Bạn có gặp trở ngại gì không?

(24)

III.II Sprint review (Họp sơ kết Sprint)

Cùng với Product owner xác nhận xem phần nào đã Hoàn thành trong Sprint.

Những phần chưa Hoàn thành có thể trao đổi để sang Sprint tiếp theo.

Team sẽ nhận những Feedback đóng góp từ Product owner về sản phẩm bàn giao.

Xác định những điều sẽ làm để tối ưu hóa sản phẩm

(25)

III.II Sprint Retrospective

Là cuộc họp cởi mở, trung thực mục đích để cải thiện chất lượng chứ không phải để đổ lỗi cho ai.

Mỗi cá nhân sẽ đưa ra những suy nghĩ của bản thân về dự án:

- Keep: Những phần nào tốt, cần giữ lại

- Problem: Những vấn đề nào chưa tốt, gây lỗi

- Try: Cần làm gì để cải thiện Sau buổi Retrospective, ”Try” sẽ

(26)

III.III Các công cụ trong Scrum

Product backlog: Đây là danh sách ưu tiên các tính năng (feature) hoặc đầu ra khác của dự án. Có thể hiểu như là danh sách yêu cầu (requirement) của dự án.

Product Owner chịu trách nhiệm sắp xếp độ ưu tiên cho từng hạng mục (Product Backlog Item) trong Product Backlog dựa trên các giá trị do Product Owner định nghĩa

Sprint backlog: Đây là bản kế hoạch cho một Sprint; là kết quả của buổi họp lập kế hoạch (Sprint Planning).

(27)

III.III Các công cụ trong Scrum

Burn Down Chart:

- Đây là biểu đồ hiển thị xu hướng của dự án dựa trên lượng thời gian cần thiết còn lại để hoàn tất công việc.

- Burndown Chart có thể được dùng để theo dõi tiến độ của Sprint (được gọi là Sprint Burndown Chart) hoặc của cả dự án (Project Burndown Chart).

(28)

Q & A

Referensi

Dokumen terkait

Một ví dụ cụ thể trong lớp học Tư duy thiết kế, các nhiệm vụ, dự án cho sinh viên thực hiện thường mang tính thách thức cao và thường gắn với yêu cầu thực tiễn, do đó thúc đẩy khả năng

xác và thiếu hợp lý; Bổ sung quy định cụ thể về các cơ quan nhà nước thực hiện trách nhiệm của Nhà nước với vai trò đại diện chủ sở hữu đất đai trong Luật đất đai năm 2013; Quy định chi

Các lý thuyết vềTCVM chứng minh i TCVM có vai trò quan trọng cho giảm nghèo và phát triển kinh tế, nhưng không là lời giải duy nhất và tối ưu; ii có ba cách tiếp cận lý thuyết về

Ưu điểm và nhược điểm của mô hình Lớp học đảo ngược - Ưu điểm: + GV đóng vai trò hướng dẫn, chỉ đạo hoạt động học tập của HS nên có nhiều thời gian để theo dõi quan sát hoạt động của

Trên cơ sở đó, dự án đã tiến hành nghiên cứu ảnh hưởng của phương pháp khử trùng mẫu và đối tượng làm mẫu đỉnh sinh trưởng, thân, rễ, lá… để tạo mẫu vật liệu vô trùng; ảnh hưởng của một

Theo nghiên cứu của tác giả Đặng Trung Thành [4], tóm tắt vai trò của mô phỏng quá trình đối với hoạt động xây dựng hầm nhƣ sau: * Học viện kỹ thuật quân sự 236 Hoàng Quốc Việt,

Như vậy, vai trò chính của sổ tay học tập là thể hiện sự tiến bộ của học sinh trong một giai đoạn học tập cung cấp cho học sinh cơ hội ghi chép, phản ánh, thể hiện sản phẩm sau khi

Khẳng định quyền bình đẳng, tự do giữa các TPKT, tại Đại hội XII, Đảng chỉ rõ nhiệm vụ, chức năng, vai trò cũng như phạm vi và phương thức hoạt động của khu vực doanh nghiệp nhà nước