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
Trang 1Xâ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
Lương Minh Hải
Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Công nghệ phần mềm; Mã số: 60 48 10
Người hướng dẫn: TS Trương Anh Hoàng
Năm bảo vệ: 2010
Abstract: Chương 1: Giới thiệu Chương 2: Quy trình ước lượng chi phí phát triển
phần mềm: 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: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 Chương 4: Phân tích thiết kế hệ thống CES: 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: 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
Keywords: Công cụ ước lượng chi phí; Phát triển phần mềm; Phương pháp ước
lượng; Công nghệ phần mềm
Content
GIỚI THIỆU
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:
Trang 2- 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 (số liệu thống kê năm 1995 do CHAOS thực hiện)[5] Vì vậy, việc ước lượng chính xác chi phí cần thiết để xây dựng các phần mềm là một vấn đề đang được quan tâm hiện nay
Xuất phát từ nhu cầu trên, tính từ năm 1960 cho đến nay đã có nhiều nhà khoa học đã tiến hành những công trình nghiên cứu nhằm tìm ra phương pháp luận chính xác nhất để ước lượng chi phí phát triển phần mềm như: mô hình ước lượng bằng tham số của Frank Freiman (1970)[7], phương pháp ước tính dựa trên các thông số COCOMO (1977) và COCOMO II (1990) của Barry W Boehm[7], phương pháp ước tính bằng điểm chức năng của Capres Jones (1980)[7] Tuy nhiên, những phương pháp này còn tồn tại nhiều hạn chế như yêu cầu phải có đủ số thông tin đầu vào để tính toán chính xác, dựa trên một mô hình tính toán được xác định rõ nên khó áp dụng được ở những giai đoạn đầu của quá trình phát triển dự án Để khắc phục những khó khăn đó, Roger Schank và các đồng nghiệp tại đại học Yale đề xuất ước lượng chi phí bằng phương pháp lập luận dựa trên kinh nghiệm CBR (Case base reasoning) năm 1977[4] Ưu điểm nổi trội của phương pháp này là mô phỏng quá trình lập luận của con người nên dễ hiểu và có thể làm công cụ giải trình hiệu quả cho các thành viên tham gia phát triển dự án phần mềm Ngoài ra, phương pháp cho phép thực hiện ước lượng với tập nhỏ dữ liệu ban đầu, dữ liệu trong tập kinh nghiệm sẽ được cập nhật ở những lần thực hiện ước lượng tiếp theo nên độ chính xác của kết quả ước lượng sẽ tỉ lệ thuận với số lượng
dự án được lưu trữ trong cơ sở dữ liệu
1.3 Mục tiêu của đề tài
Mục tiêu của luận văn này nhằm tập trung nghiên cứu về phương pháp ước lượng dựa trên kinh nghiệm qua đó xây dựng một công cụ áp dụng kiến thức đã tìm hiểu được và đánh giá khả năng áp dụng sản phẩm tại phòng Hệ thống – Công ty Honda Vietnam
1.4 Đối tượng và phạm vi nghiên cứu
- Đối tượng: các dự án phần mềm được phát triển tại công ty Honda Vietnam từ năm 2006 đến nay
- 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
Trang 31.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
- 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
References
[1] C.M.Vong (2002), “Case-Based Reasoning and Adaptation in Hdraulic production
machine disgn”, University of Macau
[2] Evangelos Simoudis, James Miller (1990), “Validated retrieval in CBR”, Digital
Equipment Corpor
[3] Heemsta (1992), “Software cost estimation”, Information and Software Technology
megazine
[4] Janet L.Kolodner (1992), “An introduction to Case-based reasoning”, pp 3-34, College of
Computing, Atlanta, USA
[5] Karen Lum, Micheal Bramble, Jairus Hihn (2003), “Handbook for Software Cost
Estimate”, Jet Propulsion Laboratory.tion Cambridge Research Lab
[6] Pradipta Biswas (2006), “Introduction to Case Based Reasoning”, Indian Institute of
Technology Kharagpur, India
[7] Sankar K.Pal, Simo C.K.Shiu (2004), “Foundation of Soft Case based reasoning”, Wiley
series on Intelligent Systems
Trang 4[8] Sarah Jane Delany, Padraig Cunningham (2000), “The Application of Case-Based
Reasoning to early software project cost estimation and risk assessment”, Trinity College
Dublin
[9] Wolfgang Wilke (1998), “The limits of CBR in software project estimation”, Presented at
1998 German Workshop on Case-Based Reasoning
[10] Đỗ Văn Chiểu, Phạm Ngọc Hùng, Nguyễn Việt Hà (2005), “Tối ưu trọng số cho hàm
tính độ tương tự giữa các ca lập luận trong Case-Based Reasoning”, Một số vấn đề chọn lọc
của Công nghệ thông tin, Hải Phòng 25 – 27 tháng 8 năm 2005
[11] Nguyễn Việt Hà, Phạm Ngọc Hùng (2005), “Thu hẹp không gian tìm kiếm lời giải trong
các hệ lập luận dựa trên luật sử dụng phương pháp lập luận theo tình huống”, Đại học Công
nghệ, Đại học Quốc gia Hà nội
[12] Nguyễn Văn Vỵ (2008), Bài giảng môn quản lý dự án phần mềm, Đại học Công nghệ,
Đại học Quốc gia Hà nội