Những khó khăn của Kỹ
Nghệ Phần mềm
Công Nghệ Phần Mềm Nâng Cao
Outline
Liệu có vấn đề trong việc phát triển PM?
Một
số dự án thất bại
Những con số thống kê về các dự án PM
Khủng hoảng PM
Những khó khăn trong phát triển PM
Pham Ngoc Hung, Coltech, VNU, 2009
2
Tài liệu tham khảo
Bài giảng trên lớp
Sommerville, Software Engineering,
Addison-Wesley
Pressman, Software Engineering, McGraw
Hill
Advanced SE course (MIT)
Pham Ngoc Hung, Coltech, VNU, 2009
3
Một số dự án thất bại
AAS (FAA Advanced Automation System) (1989)
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 k đúng)
FBI CIC
IRS Modernization Program
C-17: 20M, cuối 80s ->85 (lần thử đầu tiên 7/1990)
Ariane 5 (June 04, 1996) nổ sau khi phóng (40s)
Gặp nhiều vđề khó về kỹ thuật, quá thời gian và kinh phí
Do lỗi PM điều khiển (chuyển 1 số thực 64bit -> số nguyên 16bit)
Head of AF 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đề của PM và tỉ lệ này đang tăng lên
Pham Ngoc Hung, Coltech, VNU, 2009
4
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ấttrong thế giới hiện đại (Capers Jones)
Những rủi ro dẫn đến hủi 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ủi 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)
Pham Ngoc Hung, Coltech, VNU, 2009
5
Ví dụ về kích thước dự án
Pham Ngoc Hung, Coltech, VNU, 2009
6
Những con số biết nói (cont.)
Sau khi khảo sát 8,000 dự án IT, Standish
Group cho biết khoảng 30% bị hủi trước
khi hoàn thành
Trung bình các dự án ở Mỹ bị hủi 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ủi chiếm khoảng 15% tổng
kinh phí PM của Mỹ ($14 billion in 1993
dollars) (Capers Jones).
Pham Ngoc Hung, Coltech, VNU, 2009
7
Thống kê của Standish Group (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
Pham Ngoc Hung, Coltech, VNU, 2009
8
Những con số biết nói (cont.)
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?]
2/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)
Pham Ngoc Hung, Coltech, VNU, 2009
9
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?
Pham Ngoc Hung, Coltech, VNU, 2009
10
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 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
Khủng hoảng là gì ? [Webster’s Dict.]
Điểm
ngoặt trong tiến trình của bất kỳ cái gì; thời
điểm, giai đoạn hoặc biến cố quyết định hay chủ chốt
Điểm ngoặt trong quá trình diễn biến bệnh khi trở nên
rõ ràng bệnh nhân sẽ sống hay chết
Trong phần mềm: Day dứt kinh niên (chronic
affliation, by Prof. Tiechrow, Geneva, Arp. 1989)
Pham Ngoc Hung, Coltech, VNU, 2009
11
Tại sao tồn tại khủng hoảng PM?
Là sự day dứt kinh niên (kéo dài theo thời gian
hoặc thường tái diễn, liên tục không kết thúc)
gặp phải trong phát triển phần mềm máy tính,
như:
Phải
làm thế nào với việc giảm chất lượng vì những
lỗi tiềm tàng có trong phần mềm ?
Phải xử lý ra sao khi bảo dưỡng phần mềm đã có ?
Phải giải quyết thế nào khi thiếu kỹ thuật viên phần
mềm?
Phả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 ?
Phải xử lý ra sao khi sự cố phần mềm gây ra những
vấn đề xã hội?
Pham Ngoc Hung, Coltech, VNU, 2009
12
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 SW vs. HW
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
… (?)
Pham Ngoc Hung, Coltech, VNU, 2009
13
Những dự án lớn của NASA
(National Aeronautics and Space Administration)
Pham Ngoc Hung, Coltech, VNU, 2009
14
So sánh chi phí cho
Phần cứng và Phần mềm
%
100
80
60
40
20
-
Phần cứng
Phát triển
-
Phần
mềm
Bảo trì
-
0+
1955
+
1970
Pham Ngoc Hung, Coltech, VNU, 2009
+
1985
+
2000
15
Chi phí cho các pha
Pham Ngoc Hung, Coltech, VNU, 2009
16
Chi phí cho các pha (cont.)
Pham Ngoc Hung, Coltech, VNU, 2009
17
Chi phí cho các pha (cont.)
Pham Ngoc Hung, Coltech, VNU, 2009
18
Backlog tại Nhật Bản năm 1985
Pham Ngoc Hung, Coltech, VNU, 2009
19
Chi phí cho các pha
Pham Ngoc Hung, Coltech, VNU, 2009
20
- Xem thêm -