Mô hình tiến hóa
Mô hình tiến hóa
(Evolutionary Development
(Evolutionary Development
)
)
Giáo viên hướng dẫn: Ngô Huy Biên.
Giáo viên hướng dẫn: Ngô Huy Biên.
Nhóm 9.
Nhóm 9.
Nội dung
Nội dung
•
1. Giới thiệu.
1. Giới thiệu.
•
2. Mô hình.
2. Mô hình.
•
3. Phân loại.
3. Phân loại.
•
4. Ưu điểm.
4. Ưu điểm.
•
5. Khuyết điểm.
5. Khuyết điểm.
•
6. Ứng dụng.
6. Ứng dụng.
1. Giới thiệu
1. Giới thiệu
Mô hình tiến hóa được đưa ra nhằm giải quyết
Mô hình tiến hóa được đưa ra nhằm giải quyết
những khó khăn gây ra do yêu cầu của khách
những khó khăn gây ra do yêu cầu của khách
hàng không rõ ràng hoặc hay thay đổi. Ý tưởng
hàng không rõ ràng hoặc hay thay đổi. Ý tưởng
của mô hình này là phát triển phẩn mềm qua
của mô hình này là phát triển phẩn mềm qua
nhiều phiên bản, mỗi phiên bản được đưa ra lấy ý
nhiều phiên bản, mỗi phiên bản được đưa ra lấy ý
kiến khách hàng, được sửa chữa, làm mịn cho đến
kiến khách hàng, được sửa chữa, làm mịn cho đến
khi đạt được phiên bản hoàn chỉnh.
khi đạt được phiên bản hoàn chỉnh.
2. Mô hình
2. Mô hình
3. Phân loại
3. Phân loại
•
Hai kiểu mô hình tiến hóa cơ bản là:
Hai kiểu mô hình tiến hóa cơ bản là:
•
- Khám phá và phát triển (exploratory development):
- Khám phá và phát triển (exploratory development):
Đội
Đội
dự án sẽ làm việc cùng khách hàng để khám phá các yêu
dự án sẽ làm việc cùng khách hàng để khám phá các yêu
cầu của họ. Dự án sẽ bắt đầu trước tiên với những yêu cầu
cầu của họ. Dự án sẽ bắt đầu trước tiên với những yêu cầu
đã rõ ràng. Các đặc tính khác sẽ được thêm vào dần dần
đã rõ ràng. Các đặc tính khác sẽ được thêm vào dần dần
dựa trên đề nghị của khách hàng.
dựa trên đề nghị của khách hàng.
•
- Làm bản mẫu (throwaway prototyping):
- Làm bản mẫu (throwaway prototyping):
Mô hình này được
Mô hình này được
áp dụng cho giai đoạn phân tích yêu cầu. Theo đó, đội dự án
áp dụng cho giai đoạn phân tích yêu cầu. Theo đó, đội dự án
sẽ làm các bản mẫu (prototype) để lấy ý kiến khách hàng
sẽ làm các bản mẫu (prototype) để lấy ý kiến khách hàng
nhằm kiểm chứng và làm rõ các yêu cầu chưa rõ ràng. Khi
nhằm kiểm chứng và làm rõ các yêu cầu chưa rõ ràng. Khi
đã có một bản yêu cầu hoàn chỉnh, giai đoạn phát triển tiếp
đã có một bản yêu cầu hoàn chỉnh, giai đoạn phát triển tiếp
theo có thể sử dụng mô hình thác nước.
theo có thể sử dụng mô hình thác nước.
4. Ưu điểm.
4. Ưu điểm.
•
Mô hình tiến hóa
Mô hình tiến hóa
Ưu điểm:
Ưu điểm:
•
Chú trọng việc tái sử dụng mẫu. Một phần
Chú trọng việc tái sử dụng mẫu. Một phần
của hệ thống có thể được phát triển ngay
của hệ thống có thể được phát triển ngay
trong các giai đoạn phân tích phát triển
trong các giai đoạn phân tích phát triển
yêu cầu và thiết kế.
yêu cầu và thiết kế.
•
Cho phép thay đổi yêu cầu và khuyến khích
Cho phép thay đổi yêu cầu và khuyến khích
người sử dụng tham gia trong suốt chu kỳ
người sử dụng tham gia trong suốt chu kỳ
của dự án.
của dự án.
5. Khuyết điểm.
5. Khuyết điểm.
Mô hình tiến hóa cho phép khách hàng tham gia sâu hơn vào
Mô hình tiến hóa cho phép khách hàng tham gia sâu hơn vào
quá trình phát triển, nhờ đó sản phẩm cuối cùng thường phản
quá trình phát triển, nhờ đó sản phẩm cuối cùng thường phản
ánh chính xác mong muốn của khách hàng. Tuy nhiên, mô hình
ánh chính xác mong muốn của khách hàng. Tuy nhiên, mô hình
này cũng có các nhược điểm là:
này cũng có các nhược điểm là:
- Khó khăn trong việc thiết kế: Việc phát triển qua nhiều phiên
- Khó khăn trong việc thiết kế: Việc phát triển qua nhiều phiên
bản có thể phá vỡ kiến trúc tổng thể của phần mềm.
bản có thể phá vỡ kiến trúc tổng thể của phần mềm.
- Khó khăn trong việc quản lí: Các nhà quản lí thích nhìn thấy
- Khó khăn trong việc quản lí: Các nhà quản lí thích nhìn thấy
sản phẩm làm ra trong từng gian đoạn để tiện cho việc quản lí
sản phẩm làm ra trong từng gian đoạn để tiện cho việc quản lí
tiến độ. Ngoài ra, các tài liệu mô tả cho từng phiên bản thường
tiến độ. Ngoài ra, các tài liệu mô tả cho từng phiên bản thường
không được lập đầy đủ.
không được lập đầy đủ.
- Khó khăn do khách hàng gây ra: Khách hàng có thể nhầm
- Khó khăn do khách hàng gây ra: Khách hàng có thể nhầm
tưởng rằng một bản mẫu có thể tốt gần như sản phẩm thật.
tưởng rằng một bản mẫu có thể tốt gần như sản phẩm thật.
Trong thực tế từ bản mẫu đến sản phẩm cuối cùng là một
Trong thực tế từ bản mẫu đến sản phẩm cuối cùng là một
khảng cách xa. Ngoài ra khách hàng có xu hướng đưa thêm vào
khảng cách xa. Ngoài ra khách hàng có xu hướng đưa thêm vào
những yêu cầu không cần thiết.
những yêu cầu không cần thiết.
Thường thì với mô hình này, tính chặt chẽ, minh bạch của qui
Thường thì với mô hình này, tính chặt chẽ, minh bạch của qui
trình kém.
trình kém.
6. Ứng dụng.
6. Ứng dụng.
•
Mô hình này thích hợp với:
Mô hình này thích hợp với:
–
Phát triển các loại phần mềm tương đối nhỏ (dưới 500
Phát triển các loại phần mềm tương đối nhỏ (dưới 500
000 dòng code).
000 dòng code).
–
Phát triển các loại phần mềm có đời sống tương đối
Phát triển các loại phần mềm có đời sống tương đối
ngắn
ngắn
–
Đội ngũ phát triển không quen thuộc với lĩnh vực của
Đội ngũ phát triển không quen thuộc với lĩnh vực của
dự án.
dự án.
•
Các dự án lớn và phức tạp nên sử dựng một mô
Các dự án lớn và phức tạp nên sử dựng một mô
hình kết hợp giữa mô hình thác nước và tiến hóa.
hình kết hợp giữa mô hình thác nước và tiến hóa.
Trong đó, các bản mẫu được dùng để làm rõ các yêu
Trong đó, các bản mẫu được dùng để làm rõ các yêu
cầu của khách hàng. Các yêu cầu đã rõ ràng được
cầu của khách hàng. Các yêu cầu đã rõ ràng được
tiếp tục phát triển theo mô hình thác nước. Các yêu
tiếp tục phát triển theo mô hình thác nước. Các yêu
cầu chưa rõ ràng có thể sử dụng mô hình khám phá
cầu chưa rõ ràng có thể sử dụng mô hình khám phá
và phát triển.
và phát triển.