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
Bạn đang xem 20 trang mẫu của tài liệu "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", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_cong_nghe_phan_mem_nang_cao_nhung_kho_khan_cua_ki.pdf
Nội dung text: 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
- Những khó khăncủaKỹ Nghệ Phầnmềm Công Nghệ PhầnMềm Nâng Cao
- Outline Liệucóvấn đề trong việc phát triểnPM? Mộtsố dự án thấtbạ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ểnPM 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ộtsố dự án thấtbạ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ạitừđầu(vìđặctả yêu cầuk đúng) FBI CIC IRS Modernization Program C-17: 20M, cuối 80s ->85 (lầnthửđầu tiên 7/1990) Gặpnhiềuvđề khó về kỹ thuật, quá thời gian và kinh phí Ariane 5 (June 04, 1996) nổ sau khi phóng (40s) Do lỗiPM điềukhiển(chuyển1 số thực 64bit -> số nguyên 16bit) Head of AF Systems Command: ‘‘PM là nhược điểmcủa việc phát triểnvũ khí “ 7/10 chương trình phát triểnvũ khí đang đốimặtvớicá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ếtnói Việc phát triểncácứng dụng > 5000 function points (~500,000 LOC) là một trong những nhiệmvụ rủiro nhấttrong thế giớihiện đại (Capers Jones) Những rủirodẫn đếnhủihoặc đình trệ tăng nhanh cùng vớiviệctăng củakíchthướccácứng dụng (Capers Jones): 65% các HT lớn (>1,000,000 LOC) bị hủitrước khi hoàn thành 50% các HT ướclượng sai kích thước > 1/2 million LOC 25 % các dự án > 100,000 LOC Tỷ lệ thấtbại (Failure or cancellation) củacácdự án lớn là >20% (Capers Jones) Pham Ngoc Hung, Coltech, VNU, 2009 5
- Ví dụ về kích thướcdự á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ếtkhoảng 30% bị hủitrước khi hoàn thành Trungbìnhcácdự án ở Mỹ bị hủi sau 1 nămtiến hành và tiêu tốn 200% kinh phí dự kiến (Capers Jones). Các dự án bị hủichiếmkhoảng 15% tổng kinh phí PM củaMỹ ($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ầnmềmthấtbại Chỉ có 16.2% dự án là hoàn thành đúng hạnvànằm trong giớihạn ngân sách, đáp ứng tấtcả tính năng và đặctínhnhư cam kếtban đầ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ạnvàbộichi, thêm nữa không đáp ứng đầy đủ tính năng và đặc tính như thiếtkế ban đầu Và có 31.1% dự án thấtbạitrướckhiđược hoàn thành -> hơn 83.8% dự án thấtbạihoặ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ượtquáthờigian và kinh phí dự kiến (Capers Jones) [bad estimates?] 2/3 dự án được hoàn thành là có độ tin cậyvà chấtlượng thấp trong mộtnăm đầutriểnkhai (Jones). Tỷ lệ xảyralỗicủa PM từ 0.5 đến 3.0 /1000 LOC (Bell Labs survey). Civilian software: tốithiểu 100 từ tiếng Anh đượcsinhrachomọicâulệnh. Military: ~ 400 từ (Capers Jones) Pham Ngoc Hung, Coltech, VNU, 2009 9
- Thảoluận Bạn đãtừng tham gia mộtdự án mà nó chưa bao giờ kết thúc hoặc không được sử dụng? Bạncónhững ví dụ nào khác về thấtbại củacácdự án PM? Pham Ngoc Hung, Coltech, VNU, 2009 10
- Khủng hoảng phầnmềm 10/1968 tạiHộinghị của NATO các chuyên gia phầnmềm đưararathuậtngữ “Khủng hoảng phầnmềm” (Software crisis). Qua hàng chụcnăm, thuậtngữ 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ểmngoặttrongtiếntrìnhcủabấtkỳ cái gì; thời điểm, giai đoạnhoặcbiếncố quyết định hay chủ chốt Điểmngoặt trong quá trình diễnbiếnbệnh khi trở nên rõ ràng bệnh nhân sẽ sống hay chết Trong phầnmềm: Day dứtkinhniên(chronic affliation, by Prof. Tiechrow, Geneva, Arp. 1989) Pham Ngoc Hung, Coltech, VNU, 2009 11
- Tạisaotồntạikhủng hoảng PM? Là sự day dứt kinh niên (kéo dài theo thờigian hoặcthường tái diễn, liên tục không kết thúc) gặpphải trong phát triểnphầnmềm máy tính, như: Phảilàmthế nào vớiviệcgiảmchấtlượng vì những lỗitiềm tàng có trong phầnmềm? Phảixử lý ra sao khi bảodưỡng phầnmềm đãcó? Phảigiảiquyếtthế nào khi thiếukỹ thuậtviênphần mềm? Phảichế tác phầnmềm ra sao khi có yêu cầu phát triển theo qui cách mớixuấthiện? Phảixử lý ra sao khi sự cố phầnmềmgâyranhững vấn đề xã hội? Pham Ngoc Hung, Coltech, VNU, 2009 12
- Mộtsố yếutốảnh hưởng đếnkhủng hoảng Phầnmềm càng lớnsẽ kéotheophứctạp hóa và tăng chi phí phát triển Đổi vai trò giá thành SW vs. HW Công sứcchobảo trì càng tăng thì chi phí cho Backlog càng lớn Nhân lựcchưa đáp ứng được nhu cầuphần mềm Những phiềnhàcủaphầnmềm gây ra những vấn đề xã hội (?) Pham Ngoc Hung, Coltech, VNU, 2009 13
- Những dự án lớncủa NASA (National Aeronautics and Space Administration) Pham Ngoc Hung, Coltech, VNU, 2009 14
- So sánh chi phí cho Phầncứng và Phầnmềm % 100 80 - Phầncứng Phát triển 60 - Phần 40 - mềm Bảotrì 20 - 0 + + + + 1955 1970 1985 2000 Pham Ngoc Hung, Coltech, VNU, 2009 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ạiNhậtBảnnă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ếptục thay đổivớitốc độ nhanh PM sẽ trở nên không có cấutrúcnhư việcnó bị thay đổi Leveson’s Law: Việcápdụ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 đượccảithiệnchậmhơnphầ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ảoluậ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ểnPM (1) Không có phương pháp mô tả rõ ràng định nghĩayêucầucủangười dùng (khách hàng), sau khi bàn giao sảnphẩmdễ phát sinh những trụctrặc (troubles) (2) Vớinhững phầnmềm quy mô lớn, tư liệu đặc tảđãcốđịnh thời gian dài, do vậykhóđáp ứng nhu cầu thay đổicủangười dùng một cách kịpthờitrongthờigianđó Pham Ngoc Hung, Coltech, VNU, 2009 24
- Những khó khăn trong phát triểnPM (cont.) (3) Nếu không có Phương pháp luậnthiếtkế nhất quán mà thiếtkế theo cách riêng (củacôngty, nhóm), thì sẽ dẫn đếnsuygiảmchấtlượng phầnmềm (do phụ thuộc quá nhiềuvàocon người) (4) Nếu không có chuẩnvề làm tư liệu quy trình sảnxuấtphầnmềm, thì những đặctả không rõ ràng sẽ làm giảmchấtlượng phầnmềm Pham Ngoc Hung, Coltech, VNU, 2009 25
- Những khó khăn trong phát triểnPM (cont.) (5) Nếu không kiểmthử tính đúng đắncủaphầnmềm ở từng giai đoạnmàchỉ kiểm ở giai đoạncuốivà phát hiệnralỗi, thì thường bàn giao sảnphẩm không đúng hạn (6) Nếucoitrọng việclậptrìnhhơn khâu thiếtkế thì thường dẫn đếnlàmgiảmchấtlượng phầnmềm (7) Nếucoithường việctáisử dụng phầnmềm (software reuse), thì năng suấtlaođộng sẽ giảm Pham Ngoc Hung, Coltech, VNU, 2009 26
- Những khó khăn trong phát triểnPM (cont.) (8) Phầnlớn trong quy trình phát triểnphầnmềmcó nhiều thao tác do con ngườithựchiện, do vậy năng suấtlaođộng thường bị giảm (9) Không chứng minh được tính đúng đắncủaphần mềm, do vậy độ tin cậycủaphầnmềmsẽ giảm (10) Chuẩnvề mộtphầnmềmtốt không thểđo được mộtcáchđịnh lượng, do vậy không thểđánh giá đượcmộthệ thống đúng đắn hay không Pham Ngoc Hung, Coltech, VNU, 2009 27
- Những khó khăn trong phát triểnPM (cont.) (11) Khi đầutư nhân lựclớnvàobảotrìsẽ làm giảmhiệusuất lao động của nhân viên (12) Công việcbảo trì kéo dài làm giảm chấtlượng củatư liệuvàảnh hưởng xấu đếnnhững việckhác Pham Ngoc Hung, Coltech, VNU, 2009 28
- Những khó khăn trong phát triểnPM (cont.) (13) Quảnlýdự án lỏng lẻo kéo theo quảnlý lịch trình cũng không rõ ràng (14) Khôngcótiêuchuẩn để ướclượng nhân lực và dự toán sẽ làm kéo dài thờihạnvàvượt kinh phí củadự án Đây là những vấn đề phản ánh các khía cạnh khủng hoảng phầnmềm, hãy tìm cách nỗ lựcvượt qua để tạoraphầnmềmtốt! Pham Ngoc Hung, Coltech, VNU, 2009 29
- Tổng kết Chúng ta có vấn đề trong việc phát triển PM Mộtsố dự án thấtbạ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ểnPM Là động lựcchoviệccảitiến qui trình phát triểnPM Pham Ngoc Hung, Coltech, VNU, 2009 30
- Pham Ngoc Hung, Coltech, VNU, 2009 31
- Cách viếttàiliệumô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ảnphẩm Mô tả các chứcnăng mong muốncủasảnphẩm Khái quát Chi tiếttừng chứcnăng Yêu cầuvề giao diện Yêu cầu phi chứcnăng Môi trường phát triển Môi trường triển khai Chấtlượng Các nhóm trình bày vào buổisau Tài liệumôtả + slide Pham Ngoc Hung, Coltech, VNU, 2009 32