Tải bản đầy đủ (.pdf) (32 trang)

Bài giảng công nghệ phần mềm nâng cao những khó khăn của kỹ nghệ phần mềm Phạm Ngọc Hùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (239.07 KB, 32 trang )

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


Software Evolution (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í

Pham Ngoc Hung, Coltech, VNU, 2009

21


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

Pham Ngoc Hung, Coltech, VNU, 2009


22


Thảo luận
Is software engineering more difficult than
hardware engineering?
„ Why or why not?
„

Pham Ngoc Hung, Coltech, VNU, 2009

23


Những khó khăn trong phát triển PM
(1) Không có phương pháp mô tả rõ ràng định
nghĩa yêu cầu của người dùng (khách hàng),
sau khi bàn giao sản phẩm dễ phát sinh những
trục trặc (troubles)
(2) Với những phần mềm quy mô lớn, tư liệu đặc
tả đã cố định thời gian dài, do vậy khó đáp
ứng nhu cầu thay đổi của người dùng một
cách kịp thời trong thời gian đó

Pham Ngoc Hung, Coltech, VNU, 2009

24



Những khó khăn trong phát triển PM
(cont.)
(3) Nếu không có Phương pháp luận thiết kế nhất
quán mà thiết kế theo cách riêng (của công ty,
nhóm), thì sẽ dẫn đến suy giảm chất lượng
phần mềm (do phụ thuộc quá nhiều vào con
người)
(4) Nếu không có chuẩn về làm tư liệu quy trình
sản xuất phần mềm, thì những đặc tả không rõ
ràng sẽ làm giảm chất lượng phần mềm

Pham Ngoc Hung, Coltech, VNU, 2009

25


×