1. Trang chủ
  2. » Giáo án - Bài giảng

Bai giang CNPM NC 2015

231 0 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 231
Dung lượng 3,28 MB

Nội dung

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 Nội dung  Liệu có vấn đề việc phát triển phần mềm ?  Một số dự án thất bại  Những số thống kê dự án phần mềm  Khủng hoảng phần mềm  Những khó khăn phát triển phần mềm 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 Ada)  1994: xây dựng lại từ đầu (vì đặc tả u cầu khơng đúng)  … Ariane (June 04, 1996) nổ sau phóng (40s)  Do lỗi PM điều khiển (chuyển số thực 64bit -> số nguyên 16bit)  …Automated customer information and billing system [2002] Sydney Water Corp (Úc): hủy bỏ chừng sau chi 61 triệu AUD (33,2 triệu USD)  Head of AF (Air Force) 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ấn đề PM tỉ lệ tăng lên 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 nỗ lực đại hóa CNTT $ 14 triệu nhằm để cạnh tranh tốt với đối thủ Wal-Mart Tuy nhiên, 18 tháng sau , Kmart ngưng dự án đại hóa này, với việc đầu tư khoảng 130 triệu USD vào CNTT 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 AMR , công ty mẹ American Airlines, tiêu tốn 165 triệu USD năm dự án bị hủy với lý chính: lịch trình phát triển lạc quan đánh giá thấp khó khăn kỹ thuật có liên quan  Năm 1997, sau chi tiêu $ 40 triệu, tiểu bang Washington hủy dự án CNTT xử lý giấy phép lái xe đăng ký xe 0.2 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 giới đại (Capers Jones)  …Những rủi ro dẫn đến hủy đì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ủy 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) 0.2 Những số biết nói Ví dụ kích thƣớc dự án Window Vista 50 Window 40 Window 50 Window 10 60 0.2 Những số biết nói (tt) Sau khảo sát 8,000 dự án IT, Standish Group cho biết khoảng 30% bị hủy trước hồn thành … Trung bình dự án Mỹ bị hủy 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ủy chiếm khoảng 15% tổng kinh phí PM Mỹ ($14 billion in 1993 dollars) (Capers Jones) Trong năm 2004, phủ Mỹ chi tỷ usd phần mềm ( không kể phần mềm nhúng hệ thống vũ khí ), với tỷ lệ thất bại 5%, có nghĩa $300 triệu 0.2 Những số biết nói (tt) Thống kê Standish Group năm 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 hồ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 0.2 Những số biết nói (tt) 2/3 dự án hồn thành vượt thời gian kinh phí dự kiến (Capers Jones) [bad estimates?] … 1/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) 0.3 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? 10 Khái niệm Quản lý phiên tiến trình định nghĩa, theo dõi kiểm soát phiên khác hệ thống phần mềm Phiên (version): thể phần mềm mà có thay đổi so với thể khác phần mềm  Thay đổi bao gồm: chức mới, cải tiến hiệu năng, sửa đổi lỗi phiên cũ… Một số phiên tương đương hồn tồn mặt chức thiết kế để hoạt động cho cấu hình phần mềm hay phần cứng khác 217 Khái niệm (tt)  Phiên phát hành (release): phiên phân phối đến khách hàng Số lượng phiên hệ thống phần mềm nhiều số lượng phiên phát hành hệ thống  Cấu trúc tổng quát phiên phát hành bao gồm:  Các chương trình thực thi hay tập hợp chương trình  Các tập tin cấu hình để xác định cách thức, nghi thức cài đặt cho môi trường cụ thể  Các tập tin liệu cần cho hoạt động hệ thống  Một chương trình cài đặt dùng để cài đặt hệ thống phần mềm  Các tài liệu (giấy/văn điện tử) liên quan đến hệ thống phần mềm 218 Khái niệm (tt) Khi phiên phát hành sản xuất, tổ chức sản xuất phần mềm cần phải:  Ghi nhận lại thông tin công cụ môi trường cần thiết để xây dựng phần mềm, chẳng hạn thông tin hệ điều hành, trình biên dịch, cơng cụ hỗ trợ,…  Để xây dựng lại phiên này, cần tái lập lại xác mơi trường cấu hình Trong số trường hợp, hệ thống quản lý phiên chép lưu trữ phần mềm sở công cụ trợ giúp dùng để phát triển phiên 219 Xác định định danh phiên Có phương pháp chính:  Sơ đồ tuyến tính  Sơ đồ định danh theo dạng mạng  Sơ đồ định danh theo tên 220 Sơ đồ tuyến tính Sơ đồ giả sử tiến hóa hệ thống phần mềm diễn tuần tự, phiên sau tương thích với phiên trước:  Phiên 1.0  Các phiên sở 1.0, 2.0, 3.0,…  Các phiên khác bắt nguồn từ phiên sở, như: 2.1, 2.1.1, 3.0.1,…  Khó khăn:  Nếu nhiều phiên bắt nguồn từ phiên cha đánh số phiên ?  Nếu nhiều phiên hệ thống tạo phân phối đến nhiều khách hàng khác nhau, khách hàng có 221 phiên định danh nào? Sơ đồ định danh theo dạng mạng V 1.0 V 1.1b V 1.1 V 1.1.1 V 1.2 V 2.0 V 2.1 V 2.2 V 1.1a  Phiên 1.0 phát triển theo hướng khác để thành 1.1 1.1a Sau đó, 1.1 phát triển thành 1.2 1.1b  Phiên 2.0 không phát triển từ 1.2 mà trực tiếp từ 1.1a Phiên 2.2 không phát triển từ 2.0 mà từ 1.2 222 Sơ đồ định danh theo tên  Là việc sử dụng tên ký hiệu để định danh cho phiên Ví dụ: V1/VMS/DBServer  phiên DB server chạy hệ điều hành VMS Lƣu ý chung việc định danh phiên bản: Các phương pháp định danh phiên không phản ánh hết thuộc tính liên quan đến phiên phần mềm Các thuộc tính nên lưu CSDL quản lý cấu hình bao gồm thông tin sau:       Khách hàng Ngơn ngữ dùng để phát triển Tình trạng phát triển Cấu hình phần cứng Hệ điệu hành Ngày tạo phiên 223 Quản lý phiên phát hành Các hoạt động liên quan đến quản lý phiên phát hành cho đời phiên mới:  Bổ xung thêm mã nguồn  Xây dựng lại hệ thống  Chuẩn bị tập tin cấu hình  Soạn tài liệu  Đóng gói phân phối đến khách hàng Các thay đổi dẫn đến phát hành phiên mới:  Để khắc phục lỗi  Để hoàn thiện phần mềm  Để phù hợp với môi trường 224 Quản lý phiên phát hành (tt) Chú ý:  Không nên thực đồng thời nhiều dạng thay đổi cho phiên  Ưu tiên cho việc khắc phục lỗi trầm trọng  Có thể thực chiến lược luân phiên để cải tiến phiên phát hành Phiên cải tiến Phiên khắc phục lỗi Phiên khắc phục lỗi khác Phiên cải tiến 225 Công cụ trợ giúp quản lý phiên  Một số công cụ thông dụng: Visual Source Safe Microsoft, ClearCase Rational, CVS (nguồn mở)  Các chức chính: Định danh phiên bản: định danh tự động định nghĩa thuộc tính cho phiên Kiểm soát thay đổi: ghi nhận tường minh thành tố bị thay đổi, người thực thay đổi, lưu phiên cũ trước Quản lý khơng gian lưu trữ: tiết kiệm kích thước khơng gian lưu trữ Ghi nhận “vết”, lịch sử việc thay đổi phiên 226 Công cụ trợ giúp quản lý phiên (tt) Để tiết kiệm không gian lưu trữ, số hệ thống thực sau: Ghi nhận lại phiên Ghi nhận lại thay đổi phiên (gọi Delta, kích thước Delta nên nhỏ nhiều so với kích thước phiên bản) V 1.0 V 1.1 D1 V 1.2 D2 V 1.3 D3 227 Khái niệm Là tiến trình tổ hợp thành tố hệ thống thành chương trình thực mơi trường có cấu hình cụ thể Đối với hệ thống lớn, tiến trình đóng vai trị quan trọng quản lý cấu hình Các yếu tố phải xem xét: a) Đã xác định đầy đủ thành tố cần để tích hợp hệ thống hay chưa? b) Đã có phiên thích hợp thành tố hay chưa? c) Các tập tin liệu cần thiết có sẵn hay chưa? 228 Khái niệm d) Vấn đề trùng tên tập tin tập tin hệ thống phát triển tập tin có sẵn mơi trường mà hệ thống hoạt động e) Đã có sẵn phiên trình biên dịch cơng cụ cần thiết chưa? Sự tương thích trình biên dịch công cụ với thành tố hệ thống tích hợp  Thời gian dịch nối kết: Với hệ thống lớn, thời gian dịch nối kết kéo dài hàng giờ, hàng ngày cho thị dịch nối kết Để cải tiến thời gian thông thường người ta thực hiện: d) Ghi nhận thành tố dịch hoàn tất biết sửa đổi không ảnh hưởng đến chúng e) Cung cấp ngôn ngữ để mơ tả việc tích hợp thành tố, việc 229 mô tả phải hàm ý thành tố không cần xây dựng lại Ví dụ: lệnh MAKE UNIX dựa mô tả phụ thuộc để không cần dịch lại thành tố biên dịch Mô tả thành tố phụ thuộc thành tố Các tập tin chứa thành tố MAKE Hệ thống tích hợp Các chương trình dịch nối kết 230 Công cụ hỗ trợ Các công cụ hỗ trợ việc tích hợp hệ thống:  Trên PC có sẵn mơi trường tích hợp hệ thống phát triển với chức tiện dụng dễ dàng sử dụng cho người phát triển phần mềm  Tuy nhiên chưa giải việc quản lý phiên cho thành tố chưa theo dõi vết thay đổi thành tố 231 ... Khủng hoảng phần mềm  Những khó khăn phát triển phần mềm 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... CNTT xử lý giấy phép lái xe đăng ký xe 0.2 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 giới đại (Capers Jones)  …Những rủi ro dẫn đến hủy... 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) 0.2 Những số biết nói Ví dụ kích thƣớc dự án Window Vista

Ngày đăng: 08/11/2022, 16:03

w