Xem mẫu

  1. KHÓ KHĂN TRONG XÂY DỰNG PHẦN MỀM Giảng viên : ThS. Phạm Đào Minh Vũ Email : phamdaominhvu@yahoo.com 1
  2. 0. Nội dung chính  Liệu có vấn đề trong việc phát triển phần mềm ?  Một số dự án thất bại  Những con số thống kê về dự án phần mềm  Khủng hoảng phần mềm  Những khó khăn trong phát triển phần mềm 2
  3. 0.1. Một số dự án thất bại  AAS (FAA Advanced Automation System) (1989): Hệ thống điều khiển không lưu, tiêu tốn 2,6 tỷ usd  … IBM phát triển (2.3 triệu dòng lệnh bằng Ada)  1994: xây dựng lại từ đầu (vì đặc tả yêu cầu không đúng)  … Ariane 5 (June 04, 1996) nổ sau khi phóng (40s)  Do lỗi PM điều khiển (chuyển 1 số thực 64bit -> số nguyên 16bit)  …Automated customer information and billing system [2002] của Sydney Water Corp (Úc): hủy bỏ giữa chừng sau khi chi 61 triệu AUD (33,2 triệu USD)  Head of AF (Air Force) Systems Command: „„PM là nhược điểm của việc phát triển vũ khí“. 7/10 chương trình phát triển vũ khí đang đối mặt với các vấn đề của PM và tỉ lệ này đang tăng lên 3
  4. 0.1. Một số dự án thất bại (tt)  Năm 2000, nhà bán lẻ Kmart Corp, Michigan, đã phát động một nỗ lực hiện đại hóa CNTT $ 14 triệu nhằm để cạnh tranh tốt hơn với các đối thủ của Wal-Mart. Tuy nhiên, 18 tháng sau đó , Kmart ngưng dự án hiện đại hóa này, với việc đầu tư khoảng 130 triệu USD vào CNTT . 4 tháng sau, Kmart Corp tuyên bố phá sản.  1992, Một hệ thống đặt phòng du lịch, Khách sạn Hilton , Marriott và AMR , công ty mẹ của American Airlines, tiêu tốn 165 triệu USD. 3 năm dự án bị hủy với 2 lý do chính: một lịch trình phát triển quá lạc quan và đánh giá thấp những khó khăn kỹ thuật có liên quan.  Năm 1997, sau khi chi tiêu $ 40 triệu, tiểu bang Washington hủy một dự án CNTT về xử lý giấy phép lái xe và đăng ký xe. 4
  5. 0.2. Những con số biết nói  Việc phát triển các ứng dụng > 5000 function points (~500,000 LOC) là một trong những nhiệm vụ rủi ro nhất trong thế giới hiện đại (Capers Jones)  …Những rủi ro dẫn đến hủy hoặc đình trệ tăng nhanh cùng với việc tăng của kích thước các ứng dụng (Capers Jones):  65% các HT lớn (>1,000,000 LOC) bị hủy trước khi hoàn thành  50% các HT ước lượng sai kích thước > 1/2 million LOC  25 % các dự án > 100,000 LOC  …Tỷ lệ thất bại (Failure or cancellation) của các dự án lớn là >20% (Capers Jones) 5
  6. 0.2. Những con số biết nói Ví dụ về kích thƣớc dự án Window Vista 50 Window 7 40 Window 8 50 Window 10 60 6
  7. 0.2. Những con số biết nói (tt) Sau khi khảo sát 8,000 dự án IT, Standish Group cho biết khoảng 30% bị hủy trước khi hoàn thành Trung bình các dự án ở Mỹ bị hủy sau 1 năm tiến … hành và tiêu tốn 200% kinh phí dự kiến (Capers Jones). Các dự án bị hủy chiếm khoảng 15% tổng kinh … phí PM của Mỹ ($14 billion in 1993 dollars) (Capers Jones). Trong năm 2004, chính phủ Mỹ đã chi 6 tỷ usd trên phần mềm ( không kể các phần mềm nhúng trong hệ thống vũ khí ), với tỷ lệ thất bại 5%, có nghĩa $300 triệu. 7
  8. 0.2. Những con số biết nói (tt) Thống kê của Standish Group năm 2006  Có tới 50% trong số các dự án phần mềm thất bại … Chỉ có 16.2% dự án là hoàn thành đúng hạn và nằm trong giới hạn ngân sách, đáp ứng tất cả tính năng và đặc tính như cam kết ban đầu … Có 52.7% dự án được hoàn thành và đi vào hoạt động nhưng không hoàn thành đúng hạn và bội chi, thêm nữa không đáp ứng đầy đủ tính năng và đặc tính như thiết kế ban đầu … Và có 31.1% dự án thất bại trước khi được hoàn thành -> hơn 83.8% dự án thất bại hoặc không đáp ứng những yêu cầu ban đầu 8
  9. 0.2. Những con số biết nói (tt) 2/3 dự án được hoàn thành vượt quá thời gian và kinh phí dự kiến (Capers Jones) [bad estimates?] 1/3 dự án được hoàn thành là có độ tin cậy và … chất lượng thấp trong một năm đầu triển khai (Jones). Tỷ lệ xảy ra lỗi của PM từ 0.5 đến 3.0 /1000 LOC … (Bell Labs survey). Civilian software: tối thiểu 100 từ tiếng Anh được … sinh ra cho mọi câu lệnh. Military: ~ 400 từ(Capers Jones) … 9
  10. 0.3. Thảo luận Bạn đã từng tham gia một dự án mà nó chưa bao giờ kết thúc hoặc không được sử dụng? Bạn có những ví dụ nào khác về thất bại … của các dự án PM? 10
  11. 0.4. Khủng hoảng phần mềm  10/1968 tại Hội nghị của NATO các chuyên gia phần mềm đưa ra thuật ngữ “Khủng hoảng phần mềm” (Software crisis). … Qua hàng chục năm, thuật ngữ này vẫn được dùng và ngày càng mang tính cấp bách, với những trăn trở :  Phải làm thế nào với phần mềm kém chất lượng vì những lỗi tiềm tàng có trong đó?  … Phải xử lý ra sao khi bảo dưỡng phần mềm?  … Phải giải quyết thế nào khi thiếu kỹ thuật viên phần mềm?  P …hải chế tác phần mềm ra sao khi có yêu cầu phát triển theo qui cách mới xuất hiện?  … Làm sao để phần mềm đạt chất lượng tốt nhất? 11
  12. 0.4. Khủng hoảng phần mềm Một số yếu tố ảnh hƣởng đến khủng hoảng  Phần mềm càng lớn sẽ kéo theo phức tạp hóa và tăng chi phí phát triển … Đổi vai trò giá thành giữa Phần mềm và Phần cứng … Công sức cho bảo trì càng tăng thì chi phí cho Backlog càng lớn … Nhân lực chưa đáp ứng được nhu cầu phần mềm … Những phiền hà của phần mềm gây ra những vấn đề xã hội … …(?) 12
  13. 0.5. Một số dự án lớn của NASA 13
  14. 0.6. So sánh chi phí Phần cứng và Phần mềm 14
  15. 0.6. Chi phí các pha 15
  16. 0.6. Chi phí các pha Bảo trì phần mềm (maintainance)  20% là sửa lỗi  20% thay đổi thích ứng  60% thay đổi hoàn thiện Hầu hết các lỗi trong phần mềm đều bắt nguồn từ công đoạn thu thập yêu cầu, không phải lập trình 16
  17. 0.6. Chi phí các pha 17
  18. 0.6. Backlog tại Nhật Bản 1995 18
  19. 0.6. Tiến hóa phần mềm (maintenance) Belady and Lehman’s Laws: PM tiếp tục thay đổi với tốc độ nhanh … PM sẽ trở nên không có cấu trúc như việc nó … bị thay đổi Leveson’s Law: … Việc áp dụng CNTT (MTĐT) sẽ không làm … giảm nhân sự hay chi phí 19
  20. 0.6. Liệu đã có những cải thiện? PM đang được cải thiện chậm hơn phần cứng? "Software expands to fill the available memory" … (Parkinson) "…Software is getting slower more rapidly than hardware becomes faster" (Reiser) „ Expectations are changing 20
nguon tai.lieu . vn