Bài giảng Kỹ nghệ phần mềm
Mục lục 1 Phần mềm và kỹ nghệ phần mềm 1 1.1 Tầmquantrọngvàsựtiếnhóacủaphầnmềm . 1 1.1.1 Tiến hóa của phần mềm . . 1 1.1.2 Sự ứng dụng của phần mềm . 2 1.2 Khókhăn,tháchthứcđốivớipháttriểnphầnmềm. 4 1.2.1 Phần mềm và phần mềm tốt. 4 1.2.2 Đặc tr-ngpháttriểnvàvậnhànhphầnmềm . 5 1.2.3 Nhu cầu và độ phức tạp . 6 1.3 Kỹnghệphầnmềm. . 7 1.3.1 Định nghĩa . . . . . . . . . 7 1.3.2 Mô hình vòng đời cổ điển. 8 1.3.3 Mô hình làm bản mẫu . . . . 9 1.3.4 Mô hình xoắn ốc . . . . . . . 10 1.3.5 Kỹ thuật thế hệ thứ t- . 11 1.3.6 Mô hình lập trình cực đoan . . 12 1.3.7 Tổ hợp các mô hình . . . . . 13 1.3.8 Tính khả thị của quá trình kỹ nghệ . . . . . . . . . . . . . . . . 14 1.3.9 Vấnđềgiảmkíchcỡcủaphầnmềm . 14 1.4 Cái nhìn chung về kỹ nghệ phầnmềm . 15 2 Phântíchvàđặc tả yêucầu 18 2.1 Đại c-ơngvềphântíchvàđặc tả . . 18 2.2 Nghiên cứu khả thi . . . . . . . . 19 2.3 Nền tảng của phân tích yêu cầu . . 21 2.3.1 Các nguyên lý phân tích . 21 2.3.2 Mô hình hóa . . . . . . . . . 21 2.3.3 Ng-ờiphântích . . 24 2.4 Xác định và đặc tả yêu cầu . 24 2.4.1 Xác định yêu cầu . . . . . 24 2.4.2 Đặctảyêucầu . 25 2.4.3 Thẩm định yêu cầu . . . . . . 26 2.5 Làm bản mẫu trong quá trình phântích. . 26 2.5.1 Các b-ớclàmbảnmẫu. . 27 2.5.2 Lợi ích và hạn chế của phát triển bản mẫu . . . . . . . . . . . . 27 2.6 Địnhdạngđặc tả yêucầu . . 28 3 Thiết kế phần mềm 32 3.1 Khái niệm về thiết kế phầnmềm . . 32 3.1.1 Kháiniệm . . 32 3.1.2 Tầm quan trọng . . . . . . . 32 3.1.3 Quá trình thiết kế . . . 33 3.1.4 Cơ sở của thiết kế . . . . 34 3.1.5 Môtảthiếtkế . 35 3.1.6 Chất l-ợngthiếtkế. . 36 3.2 Thiết kế h-ớngchứcnăng . . . 39 3.2.1 Cách tiếp cận h-ớng chức năng . . . . . . 39 3.2.2 Biểu đồ luồng dữ liệu . 40 3.2.3 L-ợcđồcấutrúc. 40 3.2.4 Các từ điển dữ liệu . . . 40 3.3 Thiết kế h-ớng đối t-ợng. . 40 3.3.1 Cách tiếp cận h-ớng đối t-ợng . . 40 3.3.2 Ba đặc tr-ng của thiết kế h-ớng đối t-ợng . . 41 3.3.3 Cơ sở của thiết kế h-ớng đối t-ợng. . 41 3.3.4 Các b-ớcthiếtkế. 42 3.3.5 Ưu nh-ợc điểm của thiết kế h-ớng đối t-ợng . 42 3.3.6 Quan hệ giữa thiết kế và lập trình h-ớng đối t-ợng . . 43 3.3.7 Quan hệ giữa thiết kế h-ớng đối t-ợng và h-ớng chức năng . . 43 3.4 Thiết kế giao diện ng-ời sử dụng . . . . . . . . 44 3.4.1 Một số vấn đề thiết kế . 45 3.4.2 Một số h-ớngdẫnthiếtkế. . 46 4Lậptrình 48 4.1 Ngônngữlậptrình . . 48 4.1.1 Đặc tr-ngcủangônngữlậptrình . 48 4.1.2 Lựa chọn ngôn ngữ lập trình . . 49 4.1.3 Ngôn ngữ lập trình và và sự ảnh h-ởng tới kỹ nghệ phần mềm . 50 4.2 Phong cách lập trình . . . . . 50 4.2.1 Tài liệu ch-ơngtrình. . 51 4.2.2 Khai báo dữ liệu . . . . . 51 4.2.3 Xây dựng câu lệnh . . . . 52 4.2.4 Vào/ra. . 52 4.3 Lập trình tránh lỗi . . . . . . 53 4.3.1 Lập trình thứ lỗi . . . . 54 4.3.2 Lập trình phòng thủ . . . 54 4.4 Lập trình h-ớng hiệu quả thực hiện . . . 55 4.4.1 Tính hiệu quả ch-ơngtrình . . 55 4.4.2 Hiệu quả bộ nhớ . . . . . . . 56 4.4.3 Hiệu quả vào/ra . . . . . . 56 5 Xác minh và thẩm định 57 5.1 Đại c-ơng. . 57 5.2 Kháiniệmvềphépthử . . 58 5.3 Thử nghiệm chức năng và thử nghiệm cấu trúc . . . . . . . . . . . . . . 58 5.3.1 Thử nghiệm chức năng . . 58 5.3.2 Thử nghiệm cấu trúc . . . 60 5.4 Quá trình thử nghiệm . . . . 60 5.4.1 Thử nghiệm gây áp lực . . . 61 5.5 Chiến l-ợcthửnghiệm . . 61 5.5.1 Thử nghiệm d-ớilên. . 61 5.5.2 Thử ngiệm trên xuống . . . . 62 6 Quản lý dự án phát triển phần mềm 63 6.1 Đại c-ơng. . 63 6.2 Độđophầnmềm . . 64 6.2.1 Đo kích cỡ phần mềm . . . 64 6.2.2 Độ đo dựa trên thống kê . 65 6.3 Ước l-ợng. . 65 6.4 Quảnlýnhânsự . . . 66 6.5 Quản lý cấu hình . . . . . . . . . 67 6.6 Quảnlýrủiro. . 68
Các file đính kèm theo tài liệu này:
- tai_lieu_cnpm_nguyenvietha_7896.pdf