Xây dựng công cụ ước lượng chi phí phát triển phần mềm dựa trên CBR và thử nghiệm ở Công ty Honda Việt Nam - Pdf 25

XÂY DỰNG CÔNG CỤ ƢỚC LƢỢNG CHI PHÍ
PHÁT TRIỂN PHẦN MỀM DỰA TRÊN CBR VÀ
THỬ NGHIỆM Ở CÔNG TY HONDA VIETNAM LUẬN VĂN THẠC SĨ
HÀ NỘI - 2010



ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LƢƠNG MINH HẢI

2.1. Tổng quan và mục đích ước lượng 4
2.2. Chi tiết quy trình ước lượng 4
2.2.1. Xác định phạm vi và mục tiêu của dự án 6
2.2.2. Xác định phạm vi kĩ thuật và các giả định 6
2.2.3. Thu thập dữ liệu 6
2.2.4. Xác định kích cỡ phần mềm 7
2.2.5. Chuẩn bị đường mức ước lượng 7
2.2.6. Thẩm định và phân tích các rủi ro 9
2.2.7. Kiểm định kết quả ước lượng 9
2.2.8. Xây dựng kế hoạch thực thi dự án 10
2.2.9. Xây dựng tài liệu cho quá trình ước lượng 10
2.2.10. Đánh giá dự án thông qua quá trình phát triển 11
2.3. Một số phương pháp ước lượng chi phí phát triển phần mềm 11
2.3.1. Mô hình COCOMO 11
2.3.2. Mô hình điểm chức năng (Function Point) 15
2.3.3. Phương pháp chuyên gia 16
CHƢƠNG 3 – PHƢƠNG PHÁP LẬP LUẬN DỰA TRÊN KINH NGHIỆM 19
3.1. Giới thiệu chung 19
3.2. Chi tiết phương pháp lập luận dựa trên kinh nghiệm 19
3.2.1. Tìm kiếm dữ liệu tương tự 22
3.2.2. Sử dụng lại kết quả tìm kiếm 24
3.2.3. Bảo trì cơ sở dữ liệu các ca lập luận 27
3.3. Ưu và nhược điểm của phương pháp CBR. 30
3.3.1. Ưu điểm 30
3.3.2. Nhược điểm 30
CHƢƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG PC-PACK-CES 32
4.1. Thiết kế hệ thống 32
4.2. Mô hình triển khai 32
4.3. Phân tích kiến trúc hệ thống 33
4.3.1. Phân tích yêu cầu 33

BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT
Viết tắt
Thuật ngữ


Hình 4 - 22. Biểu đồ phân tích lớp thực thi ca sử dụng ước lượng chi phí 48
Hình 4 - 23. Biểu đồ tuần tự phân tích thực thi ca sử dụng ước lượng chi phí 49
Hình 4 - 24. Biểu đồ hoạt động ca sử dụng ước lượng chi phí 49
Hình 4 - 25. Màn hình ước lượng chi phí phát triển dự án 50
Hình 4 - 26. Quan hệ các bảng dữ liệu 50
Hình 5 - 1. Cơ cấu tổ chức công ty Honda 56
Hình 5 - 2. Kết quả ước lượng bằng phương pháp khoảng cách Euclidean. 63
Hình 5 - 3. Kết quả ước lượng bằng phương pháp tính độ tương tự thuộc tính 63
4.3. DANH MỤC BẢNG Bảng 2 - 1. Bảng hằng số dùng trong tính toán bằng phương pháp COCOMO cơ bản 12
Bảng 2 - 2. Thang điểm đánh giá các đặc trưng của dự án 14
Bảng 2 - 3. Bảng hệ số tính bằng phương pháp COCOMO trung gian 15
Bảng 2 - 4. Bảng quy đổi số dòng lệnh trong một chức năng của các ngôn ngữ lập trình
15
Bảng 5 - 1. Danh sách các hệ thống phần mềm sử dụng tại Honda 57
Bảng 5 - 2. Đặc trưng thuộc tính của các dự án đã thực hiện thành công 59
Bảng 5 - 3. Danh sách các dự án lưu trong CSDL dùng để lập luận 61
Bảng 5 - 4. Dữ liệu đầu vào của dự án cần ước lượng 62
Bảng 5 - 5. Chi phí dự toán của dự án mới 62
Bảng 5 - 6. Bảng kết quả thử nghiệm ước lượng bằng PC-PACK-CES 64

1.1. Đặt vấn đề
Sự thành công hay thất bại của một dự án nói chung và dự án phát triển phần
mềm nói riêng phụ thuộc rất nhiều vào những kết quả của quá trình ước lượng, lập dự
toán chi phí trước thời điểm triển khai dự án vào thực tế. Chủ đề này đã thu hút sự chú
của rất nhiều nhà khoa học trên thế giới và đến nay đã có những công trình nghiên cứu
có chất lượng.
Từ xu hướng đó tác giả đã nghiên cứu một số phương pháp luận thường được
sử dụng để ước lượng chi phí phát triển phần mềm, đặc biệt là những phương pháp mô
phỏng quá trình lập luận của con người. Trong số đó, phương pháp lập luận dựa trên
kinh nghiệm CBR (Case based reasoning) là một trong những phương pháp có nhiều
ưu điểm, có khả năng áp dụng thành công vào công việc ước lượng chi phí. Đã có
nhiều sản phẩm phần mềm thực hiện ước lượng bằng phương pháp này, tuy nhiên
chưa có tiêu chuẩn cụ thể để đánh giá độ tin cậy kết quả mà những sản phẩm này đưa
ra. Vì vậy qua luận văn này tác giả mong muốn:
- Tìm hiểu phương pháp ước lượng dựa trên kinh nghiệm CBR (Case based
reasoning).
- Xây dựng một công cụ ước lượng chi phí phát triển phần mềm sử dụng kiến
thức đã tìm hiểu được.
- Thực nghiệm và đánh giá phương pháp ước lượng chi phí phát triển phần
mềm tại phòng Hệ thống - Công ty Honda Vietnam.
1.2. Tính cấp thiết của đề tài
Trong quá trình phát triển dự án phần mềm thì quản lý chi phí là một công việc
có tầm quan trọng vô cùng lớn, bao gồm những quy trình đảm bảo cho dự án được
hoàn tất trong sự cho phép của ngân sách: lập kế hoạch cho nguồn tài nguyên, ước
lượng chi phí, dự toán chi phí, kiểm soát và điều chính chi phí. Nếu công việc này
không được làm tốt sẽ dẫn tới sự thất bại của dự án và theo số liệu thống kê tại các
doanh nghiệp Mỹ do CHAOS thực hiện thì chi phí trung bình vượt quá dự toán ban
đầu theo nghiên cứu từ năm 1995 là 189% và giảm xuống còn 145% trong năm 2001.
Hậu quả của việc huỷ các dự án Công nghệ thông tin ở Mĩ đã làm tốn trên 81 tỉ đô la

- Phạm vi: bài toán ước lượng chi phí phát triển phần mềm tại phòng Hệ
thống, công ty Honda Vietnam.
1.5. Kết cấu của luận văn
Bố cục của luận văn chia thành 05 chương:
- Chƣơng 1: Giới thiệu.
Nội dung chương: Nêu tính cấp thiết của đề tài, mục tiêu và phạm vi nghiên
cứu của luận văn.
- Chƣơng 2: Quy trình ước lượng chi phí phát triển phần mềm
Nội dung chương: Mô tả chi tiết các bước của quy trình ước lượng chi phí
phát triển phần mềm và một số phương pháp ước lượng thường sử dụng.
- Chƣơng 3: Phương pháp lập luận dựa trên kinh nghiệm.
Nội dung chương: Trình bày các bước thực hiện và đánh giá ưu nhược điểm
của phương pháp lập luận dựa trên kinh nghiệm.
- Chƣơng 4: Phân tích thiết kế hệ thống PC-PACK-CES.
Nội dung chương: Trình bày chi tiết phân tích, thiết kế của hệ thống PC-
PACK-CES (ca sử dụng, biểu đồ tuần tự, thiết kế bảng dữ liệu).
- Chƣơng 5: Đánh giá khả năng áp dụng PC-PACK-CES tại công ty Honda
Vietnam.
Nội dung chương: Trình bày kết quả thử nghiệm và đánh giá khả năng áp
dụng hệ thống PC-PACK-CES tại công ty Honda.

3
- Kết luận và hƣớng phát triển của đề tài.
Nội dung chương: Trình bày những kết luận của tác giả sau khi nghiên cứu
và triển khai phần mềm áp dụng phương pháp lập luận dựa trên kinh nghiệm
tại công ty Honda. Ngoài ra, tác giả cũng đề xuất hướng nghiên cứu và cải
tiến chương trình của tác giả trong thời gian tới. 


2.1. Tổng quan và mục đích ƣớc lƣợng
Phần mềm là một sản phẩm đặc thù có quan hệ mật thiết với nguồn ngân sách
đầu tư xây dựng hệ thống thông tin của bất kì tổ chức nào. Với tính đa dạng của các
đặc trưng phần mềm và sự xuất hiện ngày càng nhiều của các công nghệ mới đã dẫn
đến sẽ ngày càng khó khăn hơn để ước lượng chính xác chi phí cần thiết để phát triển
dự án phần mềm.
Quá trình ước lượng bao gồm việc xác định và thẩm định những yếu tố có liên
quan đến quá trình xây dựng một sản phẩm phần mềm. Đó có thể là những tiến trình
phát triển dự án, nguồn nhân lực và tài nguyên cần để xây dựng và hoàn thiện dự án.
Đến thời điểm hiện tại, việc ước tính chính xác chi phí cần thiết để hoàn thành một dự
án vẫn là một vấn đề được nhiều nhà nghiên cứu trên thế giới quan tâm.
Mục đích của việc ước lượng chi phí phát triển phần nhằm đáp ứng các yêu cầu
sau:
- Là cơ sở để xem xét và đánh giá tính khả thi của dự án: bất kì tổ chức nào
trước khi quyết định có thực hiện dự án hay không sẽ cần tới kết quả ước lượng chi phí
và nguồn tài nguyên cần để hoàn thành dự án. Dựa trên kết quả ước lượng này các tổ
chức sẽ xem xét và đánh giá khả năng của mình có thể thực hiện dự án hay không để
từ đó đưa ra quyết định cần thiết.
- Là công cụ hỗ trợ quản lý dự án: người quản lý dự án sẽ chịu trách nhiệm lập
kế hoạch và điều hành việc thực thi dự án. Nhờ có sự trợ giúp của các kết quả ước
lượng dự án, công việc này sẽ đơn giản và hiệu quả hơn vì công việc quản lý có thể
dựa trên lịch biểu và nguồn nhân lực đã được ước tính trước đó.
- Các thành viên của đội thực hiện dự án sẽ kết hợp với nhau hiệu quả hơn nếu
hiểu rõ vai trò của mình và toàn bộ các hoạt động trong dự án. Điều này có thể đạt
được nếu kết quả ước lượng được áp dụng để xây dựng bảng phân chia nhiệm vụ cho
các thành viên trong nhóm phát triển phần mềm.
Quá trình ước lượng chi phí có thể được thực hiện nhiều lần trong suốt vòng đời
phát triển dự án. Lý do là vì trong quá trình xây dựng hệ thống sẽ xuất hiện ngày càng
nhiều thông tin hữu ích chưa có tại thời điểm thực hiện ước lượng trước đó và những

liệu với nội dung thể hiện những mong muốn vào kết quả ước lượng. Nếu tất cả các
thành viên tham gia dự án có thể hiểu rõ phạm vi và mục tiêu của quá trình ước lượng
thì sẽ hình thành đường mức cơ sở và có thể dựa vào đó để đánh giá tác động của
những thay đổi của dự án trong tương lai. Ngoài ra, công việc này còn giúp các thành
viên của dự án có thể thấy được những hiểu lầm và làm sáng tỏ các giả định trái ngược
nhau về những gì được mong đợi của các nhóm tham gia dự án.
Bằng việc lập tài liệu đặc tả ứng dụng bao gồm các chi tiết mang tính kĩ thuật,
các mối phụ thuộc bên ngoài dự án và các yêu cầu nghiệp vụ sẽ cung cấp thông tin đầu
vào có giá trị để ước lượng nguồn tài nguyên cần thiết để hoàn thành dự án. Trong đó,
những đặc tính mang tính chất kĩ thuật nếu càng được mô tả chi tiết sẽ càng có giá trị.
Sau khi các yêu cầu đã được làm rõ thì lúc đó mới có thể xác định chi phí khả thi của
dự án.
Quá trình ước lượng cần được cập nhật thường xuyên trong suốt vòng đời phát
triển dự án. Để đảm bảo tính toàn vẹn của dự án, khi có bất kì sự thay đổi nào của dữ
liệu hoặc sự xuất hiện của những thông tin hữu ích thì cần phải lưu trữ lại và sẽ là một
yếu tố tham gia quá trình ước lượng.
2.2.2. Xác định phạm vi kĩ thuật và các giả định
Chúng ta cần xác định rõ các chức năng có trong quá trình ước lượng để thiếp
lập đường mức kĩ thuật hợp lý. Trong trường hợp không xác định được các yếu tố
chức năng của ước lượng thì các quy luật nền tảng và các giả định cần nêu rõ những gì
có và không có trong quá trình ước lượng. Những vấn đề liên quan đến sử dụng lại và
những giả định khác cũng cần lập tài liệu để theo dõi.
Mặc dù các quy luật nền tảng và các giả định là cơ sở của quá trình ước lượng
nhưng chúng ta phải nhận thức rằng các quy luật và giả định này chưa hoàn thiện và
còn chứa đựng nhiều yếu tố không chắc chắn ở giai đoạn đầu của ước lượng. Do đó,
cùng với việc thường xuyên thực hiện ước lượng lại cũng cần phải tiến hành xem xét
và định nghĩa lại các giả định trong dự án.
2.2.3. Thu thập dữ liệu
Theo định nghĩa thì bất kì quá trình ước lượng nào cũng bao gồm những yếu tố
không chắc chắn nên chúng ta thường biểu diễn những yếu tố đầu vào dưới dạng

diễn ra với hệ thống mới kết hợp với kinh nghiệm của các chuyên gia thuộc
lĩnh vực.
 Hình thức suy luận: là phương pháp so sánh độ tương đồng giữa hai thực
thể dựa trên một số đặc trưng nhất định. Kết quả so sánh ở dạng giá trị xấp
xỉ nên có thể hiệu chỉnh các đặc trưng so sánh với thực thể tương đồng tìm
được để tăng độ chính xác của phương pháp.
 Phương pháp hình thức hoá: là phương pháp thống kê có sử dụng các công
cụ tự động hoặc các thuật toán được xác định trước như hình thức đếm số
lượng các hệ thống con hoặc các lớp con và chuyển đổi thành các điểm chức
năng.
 Phương pháp thống kê định cỡ: là phương pháp cung cấp phạm vi kĩch cỡ
dưới dạng khoảng giới hạn cận trên và cận dưới.
2.2.5. Chuẩn bị đƣờng mức ƣớc lƣợng
Kết quả của quá trình ước lượng có vai trò quyết định tới độ chính xác của ngân
sách và lịch biểu thời gian phát triển dự án. Do đó, để đảm bảo tính chính xác và hiệu
quả của kết quả ước lượng chúng ta cần xem xét một số yếu tố sau:
- Chỉ các chuyên gia được đào tạo, có kinh nghiệm và tay nghề được giao
nhiệm vụ xác định kích cỡ phần mềm và tham gia vào quá trình ước lượng.
- Những chuyên gia này cần được trang bị công cụ và công nghệ phù hợp.

8
- Người quản lý dự án cần xây dựng và chịu trách nhiệm hiệu chỉnh quy trình
ước lượng thống nhất trong toàn bộ vòng đời phát triển dự án.
Hiện nay, có nhiều phương pháp khác nhau để chuẩn bị đường mức ước lượng
có thể là phương pháp tiếp cận từ dưới lên (Bottom-Up), phương pháp đánh giá của
chuyên gia và mô hình chi phí…
 Phương pháp ước lượng từ dưới lên trên (Bottom-Up): phương pháp này
bao gồm việc phân rã hệ thống tới mức thấp nhất dạng chức năng hay nhiệm
vụ ở nút lá. Chi phí để thực hiện các thực thể ở trên khác nút lá sẽ bằng tổng
chi phí thực hiện của các phần tử nút lá thuộc thực thể này. Quá trình này sẽ

đầu được đưa ra.

9
2.2.6. Thẩm định và phân tích các rủi ro
Chúng ta phải thừa nhận rằng luôn luôn tiềm ẩn những rủi ro không thể lường
trước được trong quá trình thực hiện bất kì dự án nào. Tuy nhiên, vấn đề chúng ta cần
quan tâm là việc phân định rõ thế nào là rủi ro và rủi ro là gì. Với những vấn đề dễ
dàng được nhận diện và xử lý thì không cần đánh giá đó là mối đe doạ cho dự án. Rủi
ro là những vấn đề khiến chúng ta phải dành thời gian, chi phí để xử lý hoặc trầm
trọng hơn là mất sự kiểm soát những gì đang diễn ra.
Thông thường, sự kiện rủi ro có xẩy ra hay không được biểu diễn dưới dạng xác
suất sự kiện. Giá trị này được thể hiện bằng hai giá trị logic sau: 0 – không thể xảy ra
và 1 – chắc chắn sẽ xảy ra. Khi xác suất của rủi ro có giá trị bằng 1 thì rủi ro trở thành
vấn đề cần giải quyết vì nó chắc chắn sẽ xảy ra và sẽ ảnh hưởng tới quá trình phát triển
dự án. Với mỗi rủi ro chúng ta cần xác định những việc cần làm để giảm thiểu hoặc
tránh được ảnh hưởng của chúng. Quản lý rủi ro sẽ bao gồm những hành động cần
thực hiện để hạn chế hoặc loại bỏ rủi ro có thể xảy ra.
Quá trình quản lý rủi ro giúp chúng ta có thể xác định rõ những mối đe doạ có
thể xuất phát từ bên trong hoặc bắt nguồn từ các yếu tố ngoại cảnh tới quá trình thực
hiện dự án. Với những vấn đề có liên quan đến việc xác định kích cỡ và ước lượng
phần mềm sẽ có những ảnh hưởng tiêu cực. Nhiệm vụ của người quản lý dự án là đánh
giá triệt để các mối đe doạ tiềm ẩn để từ đó có thể xây dựng đối sách cần thiết nhằm
giảm thiểu hoặc hạn chế tác động khi vấn đề nảy sinh.
2.2.7. Kiểm định kết quả ƣớc lƣợng
Nếu xét đến vị trí trong quy trình mô tả ở hình 2-1 thì đến bước này kết quả ước
lượng được đảm bảo là chính xác và đáng tin cậy. Tuy nhiên, chúng ta vẫn cần thẩm
định lại phương pháp đã sử dụng và kết quả ước lượng nhằm đảm bảo tính thống nhất
của quá trình ước lượng. Việc làm này sẽ giúp chúng ta tin tưởng hơn vào độ chính
xác của dữ liệu ước lượng, khẳng định tính hiệu quả của phương pháp và quan trọng
hơn là chúng ta đã đi đúng lộ trình.

và có thể xây dựng kế hoạch hoạt động của dự án nhằm đạt tới mục tiêu hoàn thành dự
án đúng tiến độ, với nguồn chi phí cho trước.
2.2.9. Xây dựng tài liệu cho quá trình ƣớc lƣợng
Ở thời điểm kết thúc quá trình phát triển dự án phần mềm, chúng ta nên lập tài
liệu nhằm lưu lại những thông tin quan trọng tạo nên quá trình ước lượng cũng như
những bài học rút ra được từ việc thực hiện ước lượng chi phí phần mềm. Việc làm
này sẽ là căn cứ chứng minh rằng những hạng mục công việc chúng ta thực hiện là
hợp lệ, kết quả của quá trình ước lượng là đáng tin cậy. Nội dung của tài liệu này là
những quyết định quan trọng được đưa ra trong quá trình xây dựng quy trình ước
lượng, kết quả và những tác động của những hoạt động đã được thực hiện. Tài liệu này
cũng nên đề cập tới những thông tin còn thiếu, những rủi ro, những vấn đề phức tạp đã
nảy sinh trong quá trình ước lượng. Cuối cùng, trong tài liệu này cũng không thể thiếu
thông tin mô tả quá trình kết hợp của các thành viên trong đội ước lượng, quá trình
trao đổi với khách hàng, sự đánh đổi mà chúng ta đã thực hiện để làm rõ các vấn đề
phát sinh trong quá trình ước tính chi phí dự án.
Thời điểm thích hợp nhất để đánh giá, tổng kết để rút ra những bài học kinh
nghiệm từ dự án là ngay khi quá trình phát triển dự án kết thúc vì khi đó các thành
viên tham gia vẫn còn có thể nhớ chi tiết các vấn đề đã diễn ra. Quá trình họp đánh giá
có thể chỉ là tiến hành ở mức nhỏ chỉ có ít nhất hai thành viên phát triển dự án tham
gia cho đến mức cao hơn là những buổi họp có sự tham gia của các thành viên tham
gia trả lời phiếu điều tra, khảo sát nhằm tiến tới thống nhất những vấn đề chính yếu có
ảnh hưởng tới quy trình ước lượng chi phí phát triển dự án phần mềm. Dự án phát triển
phần mềm được xem như là cơ hội tốt để tổ chức cải tiến quy trình ước lượng chi phí
và là cơ sở để chuẩn bị tốt hơn nữa cho những dự án tiếp theo.

11
2.2.10. Đánh giá dự án thông qua quá trình phát triển
Những thông tin liên quan đến quá trình phát triển dự án cần được tập hợp lại
làm cơ sở để so sánh với kế hoạch ban đầu. Chúng ta cần xem xét lại toàn bộ quy trình
ước lượng trong trường hợp chi phí thực tế cần để hoàn thành dự án khác xa so với kế

tìm ra các dự án tương tự làm cơ sở để ước lượng chi phí cần thiết hoàn
thành dự án mới.
2.3.1. Mô hình COCOMO
COCOMO là mô hình do Barry Boehm thiết kế nhằm ước tính công sức, thời
gian và số người-tháng (man-month) cần thiết để phát triển dự án dựa trên kích cỡ

12
phần mềm. Mô hình này rất phù hợp để ước tính cho các phần mềm kích cỡ lớn. Mô
hình này dựa trên kết quả khảo sát 60 dự án tại các công ty TRW, Northrop Grumman
từ năm 2002[7]. Kết quả nghiên cứu đã được xây dựng thành chương trình viết bằng
ngôn ngữ PL/I và bao gồm hơn 100,000 dòng lệnh.
Mô hình COCOMO gồm có 3 dạng sau:
 COCOMO cơ bản: mô hình cho giá trị đơn, chi phí được tính dựa trên số
lượng dòng lệnh tạo nên phần mềm.
 COCOMO trung gian: chi phí được tính theo độ lớn phần mềm theo số
dòng lệnh và cộng thêm đánh giá sản phẩm, phần cứng, nguồn nhân lực và
các thuộc tính của dự án.
 COCOMO chi tiết: tích hợp mọi đặc trưng của mô hình COCOMO trung
gian nhưng có bổ sung thêm đánh giá của chi phí ảnh hưởng trong mỗi giai
đoạn của quy trình công nghệ phần mềm.
2.3.1.1. COCOMO cơ bản
Mô hình có thể áp dụng cho ba lớp dự án phần mềm
 Dự án với quy mô nhỏ: dự án phần mềm đơn giản và có cấu trúc rõ ràng,
đội ngũ tham gia phát triển nhỏ, có kinh nghiệm phát triển ứng dụng cùng
loại và làm việc trên môi trường với những yêu cầu không quá khắt khe.
 Dự án phần mềm nửa gắn kết: đội ngũ tham gia phát triển có kinh nghiệm
về nhiều lĩnh vực khác nhau và làm viêc trên môi trường với những yêu cầu
không quá khắt khe.
 Dự án nhúng: được triển khai trong điều kiện chặt chẽ về phần cứng, phần
mềm và có cả những ràng buộc về điều kiện vận hành.

b

c
b

d
b

Quy mô nhỏ
2.4
1.05
2.5
0.38
Nửa gắn kết
3.0
1.12
2.5
0.35
Nhúng
3.6
1.20
2.5
0.32
Bảng 2 - 1. Bảng hằng số dùng trong tính toán bằng phương pháp COCOMO cơ bản

13

Mô hình COCOMO cơ bản rất phù hợp cho ước tính thô vì dễ dàng và thực
hiện nhanh. Tuy nhiên, kết quả tính toán có độ chính xác không cao vì thiếu một số
nhân tố, chưa kể đến sự khác nhau trong ràng buộc về phần cứng, kinh nghiệm và khả


Rất
chậm
Chậm
Bình
thƣờng
Cao
Rất
cao
Quá
cao
Đặc trưng của phần mềm
Yêu cầu về độ tin cậy của phần
mềm
0.75
0.88
1.00
1.15
1.40 14
Độ lớn CSDL của ứng dụng

0.94
1.00
1.08
1.16

Độ phức tạp của phần mềm

0.87
1.00
1.07
1.15 Đặc trưng về chuyên gia
Khả năng phân tích vấn đề
1.46
1.19
1.00
0.86
0.71

Khả năng kĩ nghệ phần mềm
1.29
1.13
1.00
0.91
0.82

Kinh nghiệm phát triển ứng dụng
1.42
1.17
1.00
0.86
0.70

Kinh nghiệm về máy ảo
1.21

án
1.23
1.08
1.00
1.04
1.10

Bảng 2 - 2. Thang điểm đánh giá các đặc trưng của dự án

Công thức tính toán của mô hình COCOMO trung gian có dạng
xEAFKLOCaE
i
b
i
)(

Trong đó:
E – ước tính người/tháng.
KLOC – ước tính số dòng lệnh (đơn vị = 1000 dòng lệnh) của sản phẩm
dự án phần mềm.
EAF (Effort Adjustment Factor) – được tính theo bảng trên.
Hệ số a
i
và b
i
được cho bởi bảng sau:



Ngôn ngữ lập trình
LOC/FP
Hợp ngữ
320
Ngôn ngữ C
128
COBOL
106
FORTRAN
106
Pascal
90
Ngôn ngữ C++
64
Ada95
53
Visual Basic
32
SmallTalk
22
PowerBuilder
16
SQL
12
Bảng 2 - 4. Bảng quy đổi số dòng lệnh trong một chức năng của các ngôn ngữ lập trình

Mô hình điểm chức năng gồm những bước sau:
Bước 1: tính điểm chức năng của 5 loại tiêu biểu.


- Việc nhập, xuất và truy vấn dữ liệu có phức tạp không?
- Logic nghiệp vụ bên trong có phức tạp không?
- Có dùng lại được mã lệnh thiết kế chương trình không?
- Sự chuyển đổi và cài đặt có bao gồm trong thiết kế hay không?
- Hệ thống có cho phép tạo nhiều bộ cài đặt cho các tổ chức khác nhau không?
- Thiết kế của hệ thống có dễ sử dụng, dễ sửa đổi không?
Sau đó, mỗi câu trả lời cho những câu hỏi trên sẽ được cho điểm từ 0 (N/A) đến 5
(Absolutely Essential). Cuối cùng, thực hiện tính tổng giá trị điều chỉnh

i
F
.
Bước 4: tính điểm chức năng theo công thức sau
FPs = Tổng điểm * (0.65 + 0.01*

i
F
)
Trong đó: 0.65 và 0.01 là hệ số theo kinh nghiệm.
2.3.3. Phƣơng pháp chuyên gia
Dự báo có vai trò rất quan trọng trong quá trình ra quyết định quản lý với bất kì
lĩnh vực nào, ngành nào trong nền kinh tế quốc dân trong đó có ngành Công nghệ
thông tin. Với những bài toán không thể thu thập được các số liệu lịch sử, việc sử dụng
các phương pháp dự báo dựa trên các công cụ chính xác của toán học không giải quyết
được và khi đó phương pháp chuyên gia được các nhà dự báo tập trung nghiên cứu và
coi như con đường đúng đắn để có thể đi đến mục tiêu. Phương pháp chuyên gia là

17
phương pháp dự báo sẽ đưa ra những dự báo khách quan về tương lai phát triển của
lĩnh vực hẹp của khoa học kĩ thuật hoặc sản xuất dựa trên việc xử lý các đánh giá của

2.4. Tóm tắt chƣơng
Phần mềm máy tính đóng vai trò vô cùng quan trọng đối với hệ thống máy tình
và ngày càng trở nên đắt đỏ so với phần cứng. Chúng ta cũng đã thấy các phần mềm
máy tính là rất đa dạng và phong phú, chúng thuộc rất nhiều lĩnh vực khác nhau và hầu
như thâm nhập vào mọi hoạt động của đời sống xã hội loài người. Tuy đã đạt được
những thành tựu đáng kể nhưng rất nhiều dự án phần mềm lớn vẫn bị chậm và vượt
quá dự toán ngân sách ban đầu. Do nhu cầu của thực tiễn, ngành công nghiệp phần
mềm đang đứng trước thách thức vô cùng to lớn, đó là làm sao xây dựng được các

18
phần mềm tốt theo một lịch trình và kinh phí định trước, đáp ứng được yêu cầu thực
tiễn sự tiến hóa của phần cứng và những đòi hỏi đa dạng của người dùng. Để làm được
điều này, mỗi doanh nghiệp phần mềm cần xây dựng cho mình một quy trình tiêu
chuẩn nhằm thực hiện ước tính chi phí phát triển phần mềm và cần tuyệt đối tuân thủ
trong suốt quá trình thực hiện dự án. Các doanh nghiệp có thể lựa chọn cho mình
phương pháp hỗ trợ cho công việc ước lượng tùy theo năng lực và kinh nghiệm của
mình. Những dữ liệu có liên quan đến quy trình ước lượng cũng cần được lưu giữ lại
làm tài liệu tham khảo hữu ích cho những dự án tiếp theo.



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status