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

32 244 1
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Những khó khăn Kỹ Nghệ Phần mềm Công Nghệ Phần Mềm Nâng Cao Outline „ Liệu có vấn đề việc phát triển PM? … Một số dự án thất bại … Những số thống kê dự án PM Khủng hoảng PM „ Những khó khăn phát triển PM „ Pham Ngoc Hung, Coltech, VNU, 2009 Tài liệu tham khảo Bài giảng lớp „ Sommerville, Software Engineering, Addison-Wesley „ Pressman, Software Engineering, McGraw Hill „ Advanced SE course (MIT) „ Pham Ngoc Hung, Coltech, VNU, 2009 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 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ử 7/1990) … „ Ariane (June 04, 1996) nổ sau phóng (40s) … „ „ Gặp nhiều vđề khó kỹ thuật, thời gian kinh phí Do lỗi PM điều khiển (chuyển số thực 64bit -> số nguyên 16bit) Head of AF Systems Command: ‘‘PM nhược điểm việc phát triển vũ khí “ 7/10 chương trình phát triển vũ khí đối mặt với vđề PM tỉ lệ tăng lên Pham Ngoc Hung, Coltech, VNU, 2009 Những số biết nói „ „ Việc phát triển ứng dụng > 5000 function points (~500,000 LOC) nhiệm vụ rủi ro nhấttrong giới đại (Capers Jones) Những rủi ro dẫn đến hủi đình trệ tăng nhanh với việc tăng kích thước ứng dụng (Capers Jones): 65% HT lớn (>1,000,000 LOC) bị hủi trước hoàn thành … 50% HT ước lượng sai kích thước > 1/2 million LOC … 25 % dự án > 100,000 LOC … „ Tỷ lệ thất bại (Failure or cancellation) dự án lớn >20% (Capers Jones) Pham Ngoc Hung, Coltech, VNU, 2009 Ví dụ kích thước dự án Pham Ngoc Hung, Coltech, VNU, 2009 Những số biết nói (cont.) Sau khảo sát 8,000 dự án IT, Standish Group cho biết khoảng 30% bị hủi trước hoàn thành „ Trung bình dự án Mỹ bị hủi sau năm tiến hành 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 Mỹ ($14 billion in 1993 dollars) (Capers Jones) „ Pham Ngoc Hung, Coltech, VNU, 2009 Thống kê Standish Group (2006) „ „ „ „ „ Có tới 50% số dự án phần mềm thất bại Chỉ có 16.2% dự án hoàn thành hạn nằm giới hạn ngân sách, đáp ứng tất tính đặc tính cam kết ban đầu Có 52.7% dự án hoàn thành vào hoạt động không hoàn thành hạn bội chi, thêm không đáp ứng đầy đủ tính đặc tính thiết kế ban đầu Và có 31.1% dự án thất bại trước hoàn thành -> 83.8% dự án thất bại không đáp ứng yêu cầu ban đầu Pham Ngoc Hung, Coltech, VNU, 2009 Những số biết nói (cont.) „ „ „ „ 2/3 dự án hoàn thành vượt thời gian kinh phí dự kiến (Capers Jones) [bad estimates?] 2/3 dự án hoàn thành có độ tin cậy chất lượng thấp năm đầu triển khai (Jones) Tỷ lệ xảy lỗi PM từ 0.5 đến 3.0 /1000 LOC (Bell Labs survey) Civilian software: tối thiểu 100 từ tiếng Anh sinh cho câu lệnh … Military: ~ 400 từ (Capers Jones) Pham Ngoc Hung, Coltech, VNU, 2009 Thảo luận Bạn tham gia dự án mà chưa kết thúc không sử dụng? „ Bạn có ví dụ khác thất bại dự án PM? „ Pham Ngoc Hung, Coltech, VNU, 2009 10 Chi phí cho pha (cont.) Pham Ngoc Hung, Coltech, VNU, 2009 18 Backlog Nhật Bản năm 1985 Pham Ngoc Hung, Coltech, VNU, 2009 19 Chi phí cho 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 trở nên cấu trúc việc bị thay đổi „ Leveson’s Law: … Việc áp dụng CNTT (MTĐT) không làm giảm nhân hay chi phí Pham Ngoc Hung, Coltech, VNU, 2009 21 Liệu có cải thiện? PM cải thiện chậm 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 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 người dùng (khách hàng), sau bàn giao sản phẩm dễ phát sinh trục trặc (troubles) (2) Với phần mềm quy mô lớn, tư liệu đặc tả cố định thời gian dài, khó đáp ứng nhu cầu thay đổi người dùng cách kịp thời thời gian Pham Ngoc Hung, Coltech, VNU, 2009 24 Những khó khăn phát triển PM (cont.) (3) Nếu Phương pháp luận thiết kế quán mà thiết kế theo cách riêng (của công ty, nhóm), dẫn đến suy giảm chất lượng phần mềm (do phụ thuộc nhiều vào người) (4) Nếu chuẩn làm tư liệu quy trình sản xuất phần mềm, đặc tả không rõ ràng làm giảm chất lượng phần mềm Pham Ngoc Hung, Coltech, VNU, 2009 25 Những khó khăn phát triển PM (cont.) (5) Nếu không kiểm thử tính đắn phần mềm giai đoạn mà kiểm giai đoạn cuối phát lỗi, thường bàn giao sản phẩm không hạn (6) Nếu coi trọng việc lập trình khâu thiết kế thường dẫn đến làm giảm chất lượng phần mềm (7) Nếu coi thường việc tái sử dụng phần mềm (software reuse), suất lao động giảm Pham Ngoc Hung, Coltech, VNU, 2009 26 Những khó khăn phát triển PM (cont.) (8) Phần lớn quy trình phát triển phần mềm có nhiều thao tác người thực hiện, suất lao động thường bị giảm (9) Không chứng minh tính đắn phần mềm, độ tin cậy phần mềm giảm (10) Chuẩn phần mềm tốt đo cách định lượng, đánh giá hệ thống đắn hay không Pham Ngoc Hung, Coltech, VNU, 2009 27 Những khó khăn phát triển PM (cont.) (11) Khi đầu tư nhân lực lớn vào bảo trì làm giảm hiệu suất lao động nhân viên (12) Công việc bảo trì kéo dài làm giảm chất lượng tư liệu ảnh hưởng xấu đến việc khác Pham Ngoc Hung, Coltech, VNU, 2009 28 Những khó khăn phát triển PM (cont.) (13) Quản lý dự án lỏng lẻo kéo theo quản lý lịch trình không rõ ràng (14) Không có tiêu chuẩn để ước lượng nhân lực dự toán làm kéo dài thời hạn vượt kinh phí dự án Đây vấn đề phản ánh khía cạnh khủng hoảng phần mềm, tìm cách nỗ lực vượt qua để tạo phần mềm tốt! Pham Ngoc Hung, Coltech, VNU, 2009 29 Tổng kết „ Chúng ta có vấn đề việc phát triển PM … Một số dự án thất bại … Những số thống kê dự án PM Khủng hoảng PM „ Những khó khăn phát triển PM „ … Là động lực cho việc cải tiến qui trình phát triển PM Pham Ngoc Hung, Coltech, VNU, 2009 30 Pham Ngoc Hung, Coltech, VNU, 2009 31 Cách viết tài liệu mô tả toán (Proposal) „ „ „ Thông tin nhóm: Danh sách thành viên, nhóm trưởng Tên sản phẩm Mô tả chức mong muốn sản phẩm Khái quát … Chi tiết chức … Yêu cầu giao diện … „ Yêu cầu phi chức Môi trường phát triển … Môi trường triển khai … Chất lượng … „ Các nhóm trình bày vào buổi sau … Tài liệu mô tả + slide Pham Ngoc Hung, Coltech, VNU, 2009 32 [...]... lượng phần mềm (7) Nếu coi thường việc tái sử dụng phần mềm (software reuse), thì năng suất lao động sẽ giảm Pham Ngoc Hung, Coltech, VNU, 2009 26 Những khó khăn trong phát triển PM (cont.) (8) Phần lớn trong quy trình phát triển phần mềm có nhiều thao tác do con người thực hiện, do vậy năng suất lao động thường bị giảm (9) Không chứng minh được tính đúng đắn của phần mềm, do vậy độ tin cậy của phần mềm. .. 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 Những khó khăn trong phát triển PM (cont.) (5) Nếu không kiểm thử tính đúng đắn của phần mềm ở từng giai đoạn... 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... 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. .. 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... (10) Chuẩn về một phần mềm tốt không thể đo được một cách định lượng, do vậy không thể đánh giá được một hệ thống đúng đắn hay không Pham Ngoc Hung, Coltech, VNU, 2009 27 Những khó khăn trong phát triển PM (cont.) (11) Khi đầu tư nhân lực lớn vào bảo trì sẽ làm giảm hiệu suất lao động của nhân viên (12) Công việc bảo trì kéo dài làm giảm chất lượng của tư liệu và ảnh hưởng xấu đến những việc khác Pham... Ngoc Hung, Coltech, VNU, 2009 28 Những khó khăn trong phát triển PM (cont.) (13) Quản lý dự án lỏng lẻo kéo theo quản lý lịch trình cũng không rõ ràng (14) Không có tiêu chuẩn để ước lượng nhân lực và dự toán sẽ làm kéo dài thời hạn và vượt kinh phí của dự án Đây là những vấn đề phản ánh các khía cạnh khủng hoảng phần mềm, hãy tìm cách nỗ lực vượt qua để tạo ra phần mềm tốt! Pham Ngoc Hung, Coltech,...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... 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... 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 „ … Là động lực cho việc cải tiến qui trình phát triển PM Pham Ngoc Hung, Coltech, VNU, 2009 30 Pham Ngoc Hung, Coltech, VNU, 2009 31 Cách viết tài liệu mô tả bài toán (Proposal) „ „ „ Thông tin nhóm: Danh sách thành viên, nhóm trưởng Tên sản phẩm Mô tả các chức năng mong muốn của sản phẩm Khái ... triển phần mềm máy tính, như: … Phải làm với việc giảm chất lượng lỗi tiềm tàng có phần mềm ? … Phải xử lý bảo dưỡng phần mềm có ? … Phải giải thiếu kỹ thuật viên phần mềm? … Phải chế tác phần mềm. .. (của công ty, nhóm), dẫn đến suy giảm chất lượng phần mềm (do phụ thuộc nhiều vào người) (4) Nếu chuẩn làm tư liệu quy trình sản xuất phần mềm, đặc tả không rõ ràng làm giảm chất lượng phần mềm. .. chất lượng phần mềm (7) Nếu coi thường việc tái sử dụng phần mềm (software reuse), suất lao động giảm Pham Ngoc Hung, Coltech, VNU, 2009 26 Những khó khăn phát triển PM (cont.) (8) Phần lớn quy

Ngày đăng: 02/01/2016, 08:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan