Ngoài các phương pháp được nêu ở trên, trong công tác ước lượng chi phí phần mềm còn có thể sử dụng các phương pháp khác như ước lượng động, kỹ thuật ước lượng hồi quy hoặc Bayesian (trong phạm vi luận văn này sẽ không đề cập đến), các phương pháp trên đều có các ưu điểm và nhược điểm. Dưới đây là các đánh giá ưu nhược điểm của từng phương pháp.
Với mỗi một mảng kỹ thuật, tôi sẽ lấy ra một vài phương pháp tiêu biểu để đưa vào đánh giá và so sánh ưu nhược điểm dựa trên những đặc điểm chung của các kỹ thuật và riêng của phương pháp được đánh giá.
Kỹ thuật ước lượng cơ bản - SLIM
- Checkpoint - PRICE-S - ESTIMACS - SEER-SEM - COCOMO
Kỹ thuật ước lượng cải tiến - DELPHI
- Work Breakdown Structure _ WBS Ước lượng với hệ chuyên gia
- Case Based Reasoning _CBR - Neural Network
Bảng 6 Bảng so sánh các phương pháp ước lượng chi phí
TT Phương
pháp Ƣu điểm Nhƣợc điểm
1. COCOMO - Đơn giản trong quá trình thực - Đầu vào yêu cầu chính xác vì vậy
hiện ước lượng
- Khả năng tự động hóa cao
chỉ áp dụng được sau khi có phân tích thiết kế chi tiết
- Chỉ áp dụng cho một số dạng dự án, không thể áp dụng với dự án có lĩnh vực mới.
- Không có khả năng học và suy luận
2. WBS
- Áp dụng được ở giai đoạn đầu của dự án
- Yêu cầu đầu vào ban đầu dự án không cần chính xác và chi tiết.
- Sử dụng được thông tin cho quá trình kiểm soát tiến độ và đánh giá báo cáo cho các giai đoạn sau.
- Phụ thuộc vào kiến thức của chuyên gia
- Mỗi chuyên gia chỉ chuyên trong một số lĩnh vực vì vậy khi gặp 1 lĩnh vực mới hoàn toàn sẽ gặp khó khăn trong quá trình ước lượng - Mang tính chủ quan và không có
căn cứ thống nhất
- Khả năng tự động hóa khó thực hiện
3. Case Based Reasoning
- Thông tin đầu vào linh hoạt - Áp dụng được ở giai đoạn đầu
của dự án
- Áp dụng theo đúng cách suy diễn và lập luận của con người căn cứ trên một tập các dự án thực tế đã thực hiện có hiệu chỉnh kết quả theo các tập luật phù hợp với thực tế.
- Khách quan và thống nhất - Khả năng học và suy luận cao
- Cần có CSDL dự án đủ lớn và bao phủ để làm đầu vào cho quá trình tìm kiếm và hiệu chỉnh
- Phụ thuộc vào miền dự án được đưa vào CSDL làm căn cứ cho quá trình tìm kiếm và ước lượng.
- Khả năng tự động hóa khó thực hiện
4. Neural Network
- Thông tin đầu vào linh hoạt - Không cần quan tâm tới quá
trình xử lý bên trong. Mạng neural căn cứ trên các trọng số tối ưu của quá trình huấn luyện mạng để ước lượng chi phí cho dự án.
- Khách quan và thống nhất - Khả năng học và suy luận cao
- Yêu cầu về tập mẫu huấn luyện cao nhằm đạt được mục tiêu của quá trình học tuy nhiên các dự án phần mềm rất đa dạng khi đưa vào huấn luyện tất cả các dạng dự án dễ gây nên hiện tượng loãng và kết quả không hội tụ. Nếu tập mẫu quá nhiều cho 1 dạng dự án cũng dễ gây nên hiện tượng quá khớp.
- Khả năng tự động hóa khó thực hiện
Do đặc thù của các dự án phần mềm thay đổi và có phạm vi lớn vì vậy việc ước lượng chi phí phần mềm với phương pháp chuyên gia vẫn còn hạn chế. Các phương pháp được đưa ra cũng chỉ phù hợp trong một môi trường cụ thể hoặc với một số dự án cụ thể nào đó. Vì vậy quá trình ước lượng căn cứ trên tập CSDL các dự án đã thực hiện trước đó với phương pháp Case Based Reasoning - CBR có tính khả thi cao hơn các phương pháp khác đang.
Luận văn này sẽ đưa ra những lý thuyết về phương pháp CBR và mô hình áp dụng thực tế của mô hình vào công ty Cổ phần công nghệ Tinh Vân áp dụng cho các loại dự án như sau :
- Dự án đóng gói Thư viện điện tử : là dự án hoàn thiện áp dụng triển khai cài đặt và đào tạo khách hàng.
- Dự án Quản lý đại học : dự án đóng gói thực hiện triển khai cài đặt và đào tạo khách hàng tuy nhiên sản phẩm chưa hoàn thiện đối với mỗi trường đại học cần phải có thời gian hỗ trợ chỉnh sửa theo nghiệp vụ quản lý của đơn vị khách hàng.
- Dự án TVIS : là cổng thông tin điện tử xây dựng trên nền Open Source Zope (ngôn ngữ lập trình Phython)
- Dự án Oracle : là cổng thông tin điện tử xây dựng trên nền Oracle Portal, sản phẩm và CSDL bản quyền của Oracle (ngôn ngữ lập trình PLSQL và Java_
đối với các Java Portlet).
- Dự án Giải pháp : là dự án xây dựng ứng dụng cho các sản phẩm nghiệp vụ đặc thù và là sản phẩm phát triển mới.