24/05/2018, 17:03
Các đặc điểm của dự án CNTT
Xu thế Trước đây Ngày nay Dữ liệu thuần nhất Thông tin không thuần nhất (multimedia) ...
Xu thế
Trước đây | Ngày nay |
Dữ liệu thuần nhất | Thông tin không thuần nhất (multimedia) |
Mainframes | Mạng (cục bộ, diện rộng) |
Lập trình tuần tự | Lập trình phân tán, lập trình hướng đối tượng, lập trình song hành |
Xây dựng các hệ thống thụ động | Xây dựng các hệ thống chủ động |
- 10 000 đến 100 000 dòng lệnh (SLOC - Source Line Of Code, hoặc KSLOC = 1000 SLOC)
- Nhiều thành viên tham gia
- Những chươg trình không được phép sai (ví dụ: điều khiển máy bay, quản lý các giao dịch ngân hàng, tính hoá đơn bán hàng ...)
Phân loại dự án
Phân loại | Lập trình viên | Thời gian | Số dòng lệnh (SLOC) |
Rất nhỏ | 1 | 1 tháng | 500 |
Nhỏ | 1 | 1-6 tháng | 1-2 K |
Vừa | 2-5 | 1-2 năm | 5-50K |
Lớn | dưới 100 | 2-3 năm | 50-100K |
Rất lớn | dưới 500 | 4-5 năm | 1000 K |
Cực lớn | trên 500 | 5-10 năm | trên 1000 K |
Dự án càng lớn => khả năng thành công càng ít.
- Phần mềm nhiều lỗi
- Chạy không ổn định
- Trễ hạn
- Vượt quá kinh phí dự kiến
- Khó bảo trì
- Phần cứng ngày càng rẻ => Nhu cầu làm phần mềm ngày càng tăng
Sự khủng hoảng đó vẫn còn dư âm đến tận ngày nay
- Theo Kiểm tra kế toán Mỹ (1979)
- 50% dự án phần mềm vượt quá ngân sách
- 60% dự án phần mềm bị trễ hạn
- 45% phần mềm giao nộp nhưng không dùng được ngay
- 22% phần mềm phi thiết kế lại
- 29% phần mềm không bao giờ giao nộp
- Theo một số nguồn khác
- Tom De Marco (1982) : 25% Hệ mềm lớn thất bại
- Copers Jones (1991) : trung bình các hệ thông tin qun lý bị trễ 1 năm và vượt ngân sách 100%
- Một vài ví dụ
- Cơ quan “Internal Revenue System” của Mỹ đã phi hủy bỏ dự án “hiện đại hóa hệ thống thuế”, sau khi đã chi phí 4 tỉ USD
- Bang California đã chi 1 tỉ USD cho hệ thống c sở dữ liệu phúc lợi xã hội mà không dùng được
- Dự án “xây dựng hệ thống kiểm soát không lưu” của Anh với kinh phí 339 triệu £ đã bị trễ 2 năm
- Dự án tin học hóa Cục xuất nhập cảnh, Vương quốc Anh, đã trễ hạn 9 tháng
- Uỷ ban “Public Account” của Anh đã thông báo về hệ thống tin học cài đặt tại Bộ Nông nghiệp (để quản lý các trang trại) có quá nhiều lỗi phần mềm, sau khi kết thúc 1 dự án 12 triệu £
- Dự án CNTT tại Cục Thuế thu nhập Thái Lan: vay ngân hàng thế giới 41 triệu USD (phần cứng) + 11 triệu USD (phần mềm) + 1,2 triệu USD (đào tạo) + 2 triệu USD (truyền thông, điện, nước,...). Bị đánh giá là thất bại, ngân hàng thế giới đã không đồng ý để Chính phủ Thái Lan kéo dài dự án!
- Dự án "Hệ thống Điện tử xử lý thông tin tại SeaGames 22 của VN": kinh phí dự kiến 15 tỷ VND, đến tháng 6/2003 đã chi tới 90 tỷ VND (tạp chí PC Word B, 7/2003).
- Khó khăn về phía người làm phần mềm
- Ước lượng dự án không chính xác
- Thiếu chuẩn và độ đo, không nhìn được tiến độ công việc
- Không làm tài liệu tốt
- Khó khăn về phía khách hàng
- Không hiểu rõ CNTT
- Nghĩ rằng thay đổi yêu cầu là dễ dàng
- Xu thế tiến bộ
- Các hệ mềm ngày càng lớn, có thể lên đến vài triệu dòng lệnh, và chất lượng ngày càng cao
- Năng suất lập trình (tính theo dòng lệnh) tăng khong 6% / năm
- Những ngôn ngữ lập trình ngày càng mạnh
- Phong cách làm việc theo Công nghệ phần mềm phát huy tác dụng
- Phương pháp luận quản lý dự án phát huy tác dụng
- Không nhìn thấy được (invisibility)
- Không xác định rõ thế nào là "xong" (conformity)
- Độ phức tạp lớn (complexity)
- Dễ (bị) thay đổi (flexibility)
- Là những gì có thể định lượng hoá, nhằm đánh giá tiến độ, độ ổn định và chất lượng của việc phát triển phần mềm.
- Số liệu khách quan: số lượng giờ làm việc của các thành viên trong nhóm, SLOC, số lỗi mắc phải
- Số liệu chủ quan: phụ thuộc vào đánh giá chủ quan, ví dụ: mức độ khó khăn của bài toán, độ rõ ràng của các yêu cầu,...
- Các thông tin về khách quan và chủ quan là bổ sung cho nhau.
- Các số liệu chủ quan là cơ sở để giải thích cho các số liệu khách quan
- Các số liệu khách quan là chỗ dựa để người phụ trách xem lại xem sự đánh giá của mình, sự hiểu của mình về bài toán đã chính xác chưa
- Những thông tin khách quan phản ánh tiến độ hoặc tình trạng dự án. Ví dụ: số các module đã lập trình xong, số lượng các kiểm thử đã thực hiện. Những con số này sẽ cho thấy tiến độ đến đâu.
Kiểu độ đo | Ví dụ | Nguồn lấy độ đo | Thời gian lấy độ đo | Mục đích |
Khối lượng | - Total SLOC (new, modified, reused)- Total modules/units- Total effort | Người quản lý | Hàng tháng | - Xem độ ổn định của sự tiến triển dự án |
Lao động | - Số giờ làm việc- Số giờ máy tính | - Lập trình viên- Có thể thông qua phần mềm chuyên dụng | Hàng tuần | - Độ ổn định của dự án- Căn cứ để lập kế hoạch lại |
Trạng thái | - Yêu cầu hệ thống (Số lượng các yêu cầu chung, yêu cầu chưa rõ)- Các Modules/Units đã thiết kế, đã lập trình, đã kiểm thử- SLOC- Số lượng các kiểm thử | - Người quản lý- Lập trình viên- Lập trình viên | 2 tuần | - Tiến độ dự án- Độ ổn định của các yêu cầu |
Lỗi/sửa đổi | - Số lỗi- Số các thay đổi | - Lập trình viên | Hàng tuần | Chất lượng công việc |