Trường Đại Học Bách Khoa Tp. Hồ Chí Minh
Khoa Công Nghệ Thông Tin
Chương 1
GIỚI THIỆU VỀ
CÔNG NGHỆ PHẦN MỀM
✦
✦✦
✦ Một số khái niệm
✦
✦✦
✦ Các mô hình phát triển phần mềm
-Trang 6-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM
NỘI DUNG
1.1. Một số khái niệm
1.1.1. Khủng hoảng phần mềm
1.1.2. Đònh nghóa
1.1.3. Chu trình (process), phương pháp (method), công cụ (tool)
1.1.4. Một cách nhìn tổng quan về công nghệ phần mềm
1.1.5. Mô hình CMM
1.2. Các mô hình phát triển phần mềm
1.2.1. Mô hình tuần tự tuyến tính
1.2.2. Mô hình prototype
1.2.3. Mô hình xoắn ốc
1.2.4. Mô hình tăng dần
1.2.3. Mô hình RAD
-Trang 7-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM
KHỦNG HOẢNG PHẦN MỀM
Phần mềm được viết ngay từ khi
xuất hiện các hệ máy tính và ngôn
ngữ lậïp trình đầu tiên
Trên thực tế sản xuất phần mềm
không đáp ứng kòp yêu cầu của
người sử dụng
-Trang 8-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM
KHỦNG HOẢNG PHẦN MỀM (t.t)
Các dữ liệu quan sát được
Cứ 6 đề án triển khai thì có 2 bò huỷ bỏ
Trung bình thời gian thực hiện thực tế bò kéo dài 50 % (cá biệt 200-
300%)
Các đề án lớn dễ thất bại
3/4 các hệ thống lớn có lỗi khi thực thi
Quá trình phân tích yêu cầu (5 % công sức): để lại 55 % lỗi, có 18 %
phát hiện được
Quá trình thiết kế (25 % công sức): để lại 30 % lỗi, có 10 % phát hiện
được
Quá trình mã hoá, kiểm tra và bảo trì: để lại 15 % lỗi, có 72 % phát hiện
được
-Trang 9-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM
KHỦNG HOẢNG PHẦN MỀM (t.t)
Nguyên nhân
Phát triển phần mềm giống như một nghệ thuật, chưa được xem như một
ngành khoa học
Quá trình phát triển phần mềm chưa được thống nhất
Phải viết lại s/w mỗi khi có sự thay đổi về ngôn ngữ, h/w hoặc o/s
Chưa đạt được 1 chuẩn cho việc đo lường hiệu suất và sản phẩm
Độ phức tạp của phần mềm quá cao đối với 1 “kiến trúc sư”
Kỹ thuật đặc tả để lại sự nhập nhằng trong các yêu cầu phần mềm
Làm việc nhóm không đúng kỷ luật gây ra các lỗi
-Trang 10-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM
KHỦNG HOẢNG PHẦN MỀM (t.t)
Hướng tới công nghệ sản xuất phần mềm chuyên nghiệp
craft
production
commercialization
science
professional
engineering
-Trang 11-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM
ĐỊNH NGHĨA
Đònh nghóa cổ điển (của Fritz Bauer)
Công Nghệ Phần Mềm là sự thiết lập và sử dụng các nguyên tắc
khoa học nhằm mục đích tạo ra các phần mềm một cách kinh tế mà
các phần mềm đó hoạt động hiệu quả và tin cậy trên các máy tính.
-Trang 12-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM
ĐỊNH NGHĨA (t.t)
Đònh nghóa khác:
Công Nghệ Phần Mềm
Là các quy trình đúng kỷ luật và có đònh lượng được áp dụng
cho sự phát triển, thực thi và bảo trì các hệ thống thiên về phần
mềm
Tập trung vào quy trình, sự đo lường, sản phẩm, tính đúng
thời gian và chất lượng
-Trang 13-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM