Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 117 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
117
Dung lượng
2,67 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHƯU QUỐC BẢO Áp dụng mơ hình COCOMO II để ước lượng chi phí dự án phần mềm Chuyên ngành: Hệ thống thông tin quản lý Mã số: 603448 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, Tháng năm 2012 CƠNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG - HCM Cán hướng dẫn khoa học: TS Nguyễn Hải Quân (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: TS Nguyễn Chánh Thành (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: TS Phạm Trần Vũ (Ghi rõ họ tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại Học Bách Khoa, ĐHQG TPHCM ngày 18 tháng năm 2012 Thành phần Hội đồng đánh giá luận văn bao gồm: 1) Nguyễn Đức Cường (CT) 2) TS Nguyễn Chánh Thành (PB1) 3) TS Phạm Trần Vũ (PB2) 4) Trần Văn Hoài (UV) 5) Đinh Đức Anh Vũ (TK) Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA Trang ii ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Khưu Quốc Bảo Ngày, tháng, năm sinh: 16/06/1985 MSHV: 03130029 Nơi sinh : Thành phố Hồ Chí Minh Chun ngành: Hệ Thống Thơng Tin Quản Lý Mã số : 603448 I TÊN ĐỀ TÀI: Áp dụng mơ hình COCOMO II để ước lượng chi phí dự án phần mềm II NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu mơ hình COCOMO II yếu tố điều chỉnh chi phí để ước lượng chi phí dự án phần mềm Thơng qua việc khảo sát công ty phần mềm chọn trước để kiểm tra độ xác mơ hình COCOMO II đồng thời xác định số yếu tố có tầm ảnh hưởng quan trọng đến ước lượng chi phí cho dự án III NGÀY GIAO NHIỆM VỤ : 06/02/2012 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 30/06/2012 V CÁN BỘ HƯỚNG DẪN: TS Nguyễn Hải Quân Tp HCM, ngày tháng CÁN BỘ HƯỚNG DẪN năm 2012 CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) (Họ tên chữ ký) TRƯỞNG KHOA….……… (Họ tên chữ ký) Trang iii LỜI CẢM ƠN Để hồn thành chương trình cao học luận văn này, tơi nhận hướng dẫn, giúp đỡ góp ý nhiệt tình q thầy khoa Hệ Thống Thơng Tin Quản Lý trường Đại học Bách Khoa Thành phố Hồ Chí Minh Tơi xin chân thành cảm ơn q thầy cô trường Đại học Bách Khoa Thành phố Hồ Chí Minh, đặc biệt thầy tận tình dạy bảo cho tơi suốt thời gian học tập trường Tôi xin gửi lời biết ơn sâu sắc đến Tiến sĩ Nguyễn Hải Quân dành nhiều thời gian tâm huyết hướng dẫn nghiên cứu giúp tơi hồn thành luận văn tốt nghiệp Nhân đây, xin chân thành cảm ơn Ban Giám hiệu trường q thầy Khoa Hệ Thống Thơng Tin Quản Lý tạo nhiều điều kiện để học tập hồn thành tốt khóa học Đồng thời, tơi xin cảm ơn q anh, chị ban giám đốc công ty phần mềm Edge-works tạo điều kiện cho tơi điều tra khảo sát để có liệu để viết luận văn Đặc biệt giám đốc điều hành, tiến sĩ Jochen Nessel, người giúp lựa chọn đề tài cho phép sử dụng số liệu dự án công ty để khảo sát Mặc dù tơi có nhiều cố gắng hồn thiện luận văn tất nhiệt tình lực mình, nhiên khơng thể tránh khỏi thiếu sót, mong nhận đóng góp q báu q thầy bạn Trang iv TÓM TẮT NỘI DUNG LUẬN VĂN Trong năm gần ngành công nghiệp phần mềm Việt Nam có bước nhảy vọt đáng kể Từ 2010 Việt nam trở thành ba mươi địa điểm đáng ý cho ngành gia công phần mềm giới Đồng thời, ảnh hưởng suy thoái kinh tế giới, tỷ lệ tăng trưởng năm 2010 ngành công nghiệp phần mềm Việt Nam đạt 20% Theo báo cáo Toàn cảnh thị trường Công Nghệ Thông Tin Truyền Thông năm 2011 Hội Tin học TP.HCM thực hiện, nhóm doanh nghiệp gia cơng – xuất phần mềm tăng trưởng mạnh năm 2010 đầu năm 2011 Đó thành công đáng vui mừng ngành phần mềm Việt Nam, nhiên kèm theo thách thức đáng kể thiếu thốn đội ngũ nhân lực chất lượng cao quan trọng đội ngũ quản lý giỏi có khả quản lý ước lượng xác chi phí, thời gian số lượng nhân lực cần thiết để bảo đảm hoàn thành dự án Mục tiêu nghiên cứu tìm hiểu mơ hình ước lượng chi phí dùng nhiều giới mơ hình COCOMO II sử dụng cơng cụ ước lượng chi phí xác Sử dụng dự án phần mềm công ty Edge-works Software Ltd để thực nghiệm xác phương pháp Từ nghiên cứu đó, tác giả rút yếu tố có tầm ảnh hưởng quan trọng việc ước lượng chi phí Trang v ABSTRACT In recent years the software industry of Vietnam has a significant leap Since 2010 Vietnam has become one of thirty places of interest for the outsourcing industry in the world Also, although the impact of the global economic slowdown, the growth rate in 2010 of the software industry in Vietnam has reached 20% According to market reports Overview of Information Communication Technology in 2011 by Ho Chi Minh City Computer Association (HCA), outsourcing business groups software exports are growing strongly in 2010 and early 2011 That is the happy success of Vietnam's software industry, but it is accompanied by significant challenges such as lack of human resources quality and more importantly good management team is capable management as well as accurate estimates of cost, time and number of staff necessary to ensure completion of the project The objective of this study is to explore a cost estimation model has been used for many of the world is COCOMO II model and use it as a tool to estimate the exact cost Using the software project data from company Edge Software Ltd for the accuracy of the experimental method From that study, the authors draw the key elements are influential in the cost estimate Trang vi LỜI CAM ĐOAN Tơi xin cam đoan tồn nội dung số liệu luận văn tự nghiên cứu, khảo sát thực Những liệu thu thập xử lí cách khách quan trung thực Trang vii MỤC LỤC LỜI CẢM ƠN .iv TÓM TẮT NỘI DUNG LUẬN VĂN v ABSTRACT vi LỜI CAM ĐOAN vii MỤC LỤC viii DANH MỤC HÌNH VÀ BẢNG THUẬT NGỮ CHƯƠNG 1: MỞ ĐẦU 10 1.1 Hình thành vấn đề 10 1.2 Lý chọn đề tài 11 1.3 Những câu hỏi nghiên cứu 13 1.4 Phạm vi nghiên cứu 13 1.4.1 Đối tượng nghiên cứu 13 1.4.2 Không gian thời gian thực 13 1.5 Mục tiêu đề tài 13 1.6 Ý nghĩa đề tài 14 1.7 Tóm tắt chương 15 Chương 2: TỔNG QUAN CỞ SỞ LÝ THUYẾT 16 2.1 Phần mềm 16 2.2 Chi phí dự án phần mềm 16 2.2.1 Chi phí 16 2.2.2 Quản lý chi phí dự án 16 2.2.3 Ước lượng chi phí dự án 16 2.3 Quản lý dự án phần mềm 16 2.4 Quy trình quản lý chi phí dự án 17 2.5 Ước lượng chi phí phần mềm 18 Trang viii 2.6 Các phương pháp ước lượng chi phí phổ biến 18 2.6.1 Phương pháp ước lượng chuyên gia 19 2.6.2 Phương pháp ước lượng từ xuống 20 2.6.3 Phương pháp ước lượng từ lên 21 2.6.4 Phương pháp giá để thắng 21 2.6.5 Phương pháp Parkinson 22 2.6.6 Phương pháp ước lượng tương đương 22 2.6.7 Phương pháp ước lượng công thức 23 2.6.8 Tổng kết ưu khuyết điểm phương pháp 24 2.7 Các bước ước lượng chi phí phần mềm 25 2.8 Số lượng dòng lệnh 28 2.8.1 Các phương pháp đếm số lượng dòng lệnh 28 2.9 Phân tích điểm chức 29 2.9.1 Mục tiêu 30 2.9.2 Lợi ích 30 2.9.3 Quy trình 30 2.9.4 Phân loại 31 2.10 Phương pháp đổi điểm chức thành số lượng dòng lệnh 32 2.11 Khái niệm mơ hình COCOMO II 36 2.11.1 Cơng thức tính số người theo làm việc tháng 39 2.11.2 Các yếu tố định quy mô 40 2.11.3 Các yếu tố điều khiển chi phí 51 2.12 Tóm tắt chương hai 59 CHƯƠNG 3: PHƯƠNG PHÁP NGHIÊN CỨU 61 3.1 Quy trình nghiên cứu 61 3.2 Phương pháp nghiên cứu 61 3.3 Cơng cụ đếm số dịng lệnh 62 3.4 Phần mềm tính tốn cho COCOMO II 63 Trang ix 3.5 Tóm tắt chương ba 64 CHƯƠNG 4: THU THẬP VÀ PHÂN TÍCH DỮ LIỆU 65 4.1 Dự án StarSequel 66 4.1.1 Giới thiệu 66 4.1.2 Thông tin dự án 66 4.1.3 Đánh giá kết ước lượng 68 4.2 Dự án Equator 68 4.2.1 Giới thiệu 68 4.2.2 Thông tin dự án 69 4.2.3 Đánh giá kết ước lượng 71 4.3 Dự án Hawa 71 4.3.1 Giới thiệu 71 4.3.2 Thông tin dự án 71 4.3.3 Đánh giá kết ước lượng 73 4.4 Dự án Plevo 73 4.4.1 Giới thiệu 73 4.4.2 Thông tin dự án 74 4.4.3 Đánh giá kết ước lượng 76 4.5 Dự án Cartridge World 76 4.5.1 Giới thiệu 76 4.5.2 Thông tin dự án 76 4.5.3 Đánh giá kết ước lượng 78 4.6 Dự án GVillage 78 4.6.1 Giới thiệu 78 4.6.2 Thông tin dự án 79 4.6.3 Đánh giá kết ước lượng 81 4.7 Dự án Consultant Platform 81 4.7.1 Giới thiệu 81 Trang x [11] Wikipedia, http://en.wikipedia.org/wiki/Parkinson's_law, xem lần cuối ngày 1/4/2012 [12] QSM, http://www.qsm.com/resources/function-point-languages-table, xem lần cuối ngày 1/4/2012 [13] Wikipedia, http://vi.wikipedia.org/wiki/Phân_phối_chuẩn, xem lần cuối ngày 28/6/2012 [14] Wikipedia, http://en.wikipedia.org/wiki/Normal_distribution, xem lần cuối ngày 15/7/2012 [15] Mountaingoatsoftware, http://mountaingoatsoftware.com/blog/agile- succeeds-three-times-more-often-than-waterfall, xem lần cuối ngày 15/7/2012 [16] Wikipedia, http://en.wikipedia.org/wiki/Function_point, xem lần cuối ngày 15/7/2012 Tài liệu: [17] Boehm, B (1981), Software Engineering Economics, Prentice Hall [18] Boehm, B (2000), COCOMO II Model Definition Manual, University of Southern California [19] Standish Group, The Standish Group Report (1995) [20] Darko Milicic (2005), Applying COCOMO II – A case study [21] Barry Boehm, Bradford Clack, Ellis Horiwtz, Chris Westland, Cost Models for Future Software Life Cycle Processes: COCOMO 2.0, USC Center for Software Engineering [22] Hareton Leung and Zang Fan, Software Cost Estimation, Department of Computing The HongCong Polytechnic University [23] Barry Boehm, Chris Abts, Software Development Cost Estimation Approaches – A Survey, University of Southern California [24] Barry Boehm (1996), Tutorial: Software Cost Estimation with COMOMO 2.0, University of Southern California [25] Karen Lum, Michael Bramble, Jairus Hihn, John Hackney, Mori Khorrami, Erik Monson (2003), Handbook of Software Cost Estimation, Jet Propulsion Laboratory, Pasadena, California [26] Barry Boehm, Ricardo Velerdi, Jo Ann Land and A Winsor Brown, COCOMO Suite Methodology and Evolution, University of Southern California [27] Robert E Park (1996), Software Size Measurement: A Framework for CountingSource Statements [28] Roberto Meli, Luca Santillo, Function Point Estimation Methods: A Comparative Overview [29] William Roetzheim, Estimating Software Costs, Cost Xpert Group, Inc [30] Ali Idri, Alain Abbrain, COCOMO Cost Model Using Fuzzy Logic, Research Lab in Software Engineering [31] Jones, C (1991), Applied Software Measurement – Assuring Productivity and Quality, McGraw-Hill [32] ABE Assocication of Business Executives, Quantitative Methods For Busisness Management (Course Book - Unit 5,12 Part B,13) PHỤ LỤC Phụ lục 1: Bảng câu hỏi khảo sát Phần 1: Thông tin dự án Tên dự án: Mơ tả tính chất đặc điểm dự án: Số lượng người tham gia theo kế hoạch: Thời gian hoàn thành dự án theo kế hoạch: Thời gian hoàn thành dự án thực tế: Số lượng người tham gia thực tế: Số lượng dòng lệnh dự án: Kích thước sở liệu dùng để phát triển kiểm thử: Phần 2: Các câu hỏi khảo sát dự án Câu 1: Mức độ ổn định phần mềm yêu cầu người sử dụng nào? a) Ổn định đáp ứng tốt yêu cầu sử dụng b) Độ ổn định khá, có khả khơi phục nhanh chóng có cố xảy c) Độ ổn định trung bình, có khả khơi phục lại có cố xảy d) Độ ổn định kém, gây thiệt hại sử dụng e) Không thể sử dụng, gây thiêt hại cho người dùng f) Không biết xác định Câu 2: Thời gian hoạt động ổn dịnh phần mềm ngày để không gây thiệt hại cho khách hàng? a) 24 b) Từ 12 đến 24 c) Từ đến 12 d) Dưới e) Không biết không xác định Câu 3: Phần mềm có viết dạng thành phần (component) hay khơng để tái sử dụng? a) Khơng viết dạng thành phần b) Được viết dạng thành phần, sử dụng lại nhiều lần chương trình c) Được viết dạng thành phần, sử dụng lại nhiều lần nhiều chương trình thuộc dự án d) Được viết dạng thành phần, sử dụng lại nhiều lần dự án thuộc dòng sản phẩm (product-line) e) Được viết dạng thành phần, sử dụng lại nhiều lần dự án thuộc nhiều dòng sản phẩm (product-line) f) Không biết không xác định Câu 4: Các thành phần tái sử dụng vào chương trình khác hay khơng? a) Khơng thể tái sử dụng b) Được phải cần nhiều nỗ lực để sử dụng lại c) Được không cần nhiều nỗ lực để sử dụng lại d) Sử dụng lại cách dễ dảng e) Không biết không xác định Câu 5: Số lượng tài liệu cần thiết viết trước phát triển phần mềm? a) Rất ít, khơng có b) Có chưa đầy đủ c) Gần đầy đủ d) Đầy đủ e) Dư thừa f) Không có khơng biết Câu 6: Các tài liệu có đầy đủ, xác yêu cầu ràng buộc phần mềm cần phát triển không? a) Khơng có tài liệu b) Có c) Có vừa đủ d) Có nhiều cần thiết e) Không biết không xác định Câu 7: Mức độ chiếm dụng tài nguyên bắt buộc (dung lượng ổ cứng RAM) chương trình hoạt động? a) Rất thấp không đáng kể b) Bằng 50% tổng tài nguyên sẵn có c) Bằng 70% tổng tài nguyên sẵn có d) Bằng 85% tổng tài nguyên sẵn có e) Bằng 95% tổng tài ngun sẵn có f) Khơng biết không xác định Câu 8: Mức độ thay đổi tảng công nghệ sử dụng phần mềm a) Có thay đổi lớn khoảng 12 tháng lần thay đổi nhỏ tháng lần b) Có thay đổi lớn khoảng tháng lần thay đổi nhỏ tuần lần c) Có thay đổi lớn khoảng tuần lần thay đổi nhỏ ngày lần d) Không biết không xác định Câu 9: Khả hiểu yêu cầu khách hàng thành viên nhóm a) Khơng thể hiểu yêu cầu khách hàng b) Có khả hiểu phần yêu cầu khách hàng c) Có khả hiểu phần lớn yêu cầu khách hàng d) Có khả hiểu hồn tồn xác yêu cầu khách hàng e) Không biết khơng thể xác định Câu 10: Khả phân tích yêu cầu khách hàng thành viên nhóm a) Phân tích 15% yêu cầu khách hàng b) Phân tích 35% yêu cầu khách hàng c) Phân tích 55% yêu cầu khách hàng d) Phân tích 75% yêu cầu khách hàng e) Phân tích 90% yêu cầu khách hàng Câu 11: Kinh nghiệm lập trình thành viên nhóm a) Đáp ứng 15% yêu cầu dự án b) Đáp ứng 35% yêu cầu dự án c) Đáp ứng 55% yêu cầu dự án d) Đáp ứng 75% yêu cầu dự án e) Đáp ứng 90% yêu cầu dự án Câu 12: Thời gian tham gia dự án liên tục năm a) Hơn tháng b) Từ tháng đến tháng c) Từ tháng đến tháng d) Từ tuần đến tháng e) Dưới tuần f) Không biết không xác định Câu 13: Kinh nghiệm hiểu biết đặc thù phần mềm (ví dụ phần mềm chứng khoán, phần mềm kế toán) a) Dưới khỏang tháng b) Khoảng tháng c) Khoảng năm d) Khoảng năm e) Khoảng năm f) Không biết không xác định Câu 14: Kinh nghiệm với tảng công nghệ sử dụng dự án a) Dưới khoảng tháng b) Khoảng tháng c) Khoảng năm d) Khoảng năm e) Khoảng năm f) Không biết không xác định Câu 15: Kinh nghiệm với cơng cụ lập trình sử dụng dự án a) Dưới khoảng tháng b) Khoảng tháng c) Khoảng năm d) Khoảng năm e) Khoảng năm f) Không biết không xác định Câu 16: Khả sử dụng hỗ trợ cộng cụ lập trình sử dụng dự án a) Lập trình, sửa đổi, bẫy lỗi b) Hỗ trợ tầng giao diện, có khả tích hợp c) Hỗ trợ mức bản, có khả tích hợp trung bình d) Độ ổn định cao hỗ trợ e) Độ ổn định tốt, hỗ trợ quy trình tái sử dụng f) Không biết không cần Câu 17: Kinh nghiệm với ngơn ngữ lập trình sử dụng dự án a) Dưới khoảng tháng b) Khoảng tháng c) Khoảng năm d) Khoảng năm e) Khoảng năm f) Không biết không xác định Câu 18: Cách thức để liên hệ với khách hàng có nhu cầu? a) Thư giấy email b) Thư giấy, email, điện thoại liên lạc c) Email, điện thoại, máy fax d) Email, điện thoại, trao đổi có hình ảnh(Microsoft Skype) e) Email, điện thoại, skype, trao đổi có hình ảnh có tính tương tác cao (Team Viewer) f) Không biết không cần Câu 19: Thời gian cần thêm để hoàn thành dự án thời gian ước lượng không đủ để hồn thành? a) 70% thời gian cần có b) 85% thời gian cần có c) 100% thời gian cần có d) 130% thời gian cần có e) 160% thời gian cần có f) Khơng biết khơng cần Phụ lục 2: COCOMO II SLOC Checklist PHẦN LÝ LỊCH TRÍCH NGANG Họ tên: Khưu Quốc Bảo Ngày, tháng, năm sinh: 16/06/1985 Nơi sinh: TP Hồ Chí Minh Địa liên lạc: 332-334 Tùng Thiện Vương P.13 Q.8, TP Hồ Chí Minh Q TRÌNH ĐÀO TẠO 2010 – 2012: Đại học Bách Khoa TP HCM, Hệ thống thông tin quản lý, Thạc sĩ 2003 – 2007: Đại học Nông Lâm TP HCM, Hê thống thông tin địa lý, Kĩ sư Q TRÌNH CƠNG TÁC 10/2011 – Hiện tại: Cơng ty Edge-works Software Ltd, Quản lý dự án 04/2011 – 10/2011: Cơng ty AxonActive VietNam, Bộ phận lập trình 2009 – 04/2011: Cơng ty Edge-works Software Ltd, Bộ phận lập trình 2008 – 2009: Công ty Unicom JSC, Bộ phận lập trình 11/2007 – 12/2007: Cơng ty Global CyberSoft, Bộ phận kiểm thử phần mềm ... án hồn thành giới hạn chi phí dự tính trước 2.2.3 Ước lượng chi phí dự án Là quy trình ước đốn tổng chi phí thực dự án trước dự án bắt đầu thực 2.3 Quản lý dự án phần mềm Quản lý dự án phần mềm. .. dự án cần ước lượng Xác định chi phí ước lượng cách so sánh hai dự án với Lấy chi phí dự án cũ để ước lượng chi phí cho phần giống dự án Ưu điểm: Ước lượng dựa dự liệu thực tế dự án hoàn thành... mềm cách ước lượng chi phí phần dự án sau tính tổng thành phần để chi phí ước lượng cho toàn dự án Ưu điểm: Cho phép ước lượng thành phần nhỏ dự án, làm giảm độ sai lệch ước lượng thành phần nhỏ