Xem mẫu

ðẠI HỌC KỸ THUẬT CÔNG NGHỆ Khoa Công nghệ Thông tin BÀI GIẢNG MÔN HỌC CÔNG NGHỆ PHẦN MỀM Biên soạn: Nguyễn Chánh Thành THÁNG 08 NĂM 2008 MỤC LỤC MỤC LỤC .............................................................................................................I CHƯƠNG 1. PHẦN MỀM VÀ CÔNG NGHỆ PHẦN MỀM..............................1 1.1. Tổng quan về khái niệm Phần mềm (software)............................................................................1 1.2. ðặc ñiểm của phần mềm ................................................................................................................1 1.3. Phân loại phần mềm .......................................................................................................................2 1.3.1. Theo phương thức hoạt ñộng........................................................................................................2 1.3.2. Theo khả năng ứng dụng..............................................................................................................2 1.4. Tầm quan trọng và sự tiến hóa của phần mềm............................................................................3 1.4.1. Tiến hóa của phần mềm ...............................................................................................................3 1.4.2. Sự ứng dụng của phần mềm.........................................................................................................4 1.5. Sơ lược về quá trình tạo phần mềm...............................................................................................6 1.5.1. Về mặt thiết kế .............................................................................................................................6 1.5.2. Sản xuất và phát triển...................................................................................................................6 1.6. Khó khăn, thách thức ñối với phát triển phần mềm....................................................................6 1.6.1. Phần mềm và phần mềm tốt.........................................................................................................7 1.6.2. ðặc trưng phát triển và vận hành phần mềm................................................................................8 1.6.3. Nhu cầu và ñộ phức tạp................................................................................................................9 1.7. Công nghệ phần mềm...................................................................................................................10 1.7.1. ðịnh nghĩa..................................................................................................................................10 1.8. Các mô hình phát triển sản phẩm phần mềm.............................................................................11 1.8.1. Mô hình vòng ñời cổ ñiển ..........................................................................................................11 1.8.2. Mô hình làm bản mẫu.................................................................................................................13 1.8.3. Mô hình xoắn ốc.........................................................................................................................15 1.8.4. Kỹ thuật thế hệ thứ tư.................................................................................................................16 1.8.5. Mô hình lập trình linh hoạt.........................................................................................................17 1.8.6. Tổ hợp các mô hình....................................................................................................................19 1.8.7. Tính khả thị của quá trình công nghệ.........................................................................................19 1.8.8. Vấn ñề giảm kích cỡ của phần mềm...........................................................................................20 1.9. Cái nhìn chung về công nghệ phần mềm.....................................................................................21 1.10. Hướng tương lai của công nghệ phần mềm................................................................................22 1.11. Tổng kết .........................................................................................................................................23 CHƯƠNG 2. PHÂN TÍCH VÀ ðẶC TẢ YÊU CẦU.........................................24 2.1. ðại cương về phân tích và ñặc tả.................................................................................................24 2.2. Nghiên cứu khả thi........................................................................................................................25 i 2.2.1. Khả thi về kinh tế.......................................................................................................................26 2.2.2. Khả thi về kỹ thuật.....................................................................................................................26 2.2.3. Khả thi về pháp lý......................................................................................................................27 2.2.4. Tính khả thi về hoạt ñộng...........................................................................................................27 2.3. Nền tảng của phân tích yêu cầu...................................................................................................27 2.3.1. Các nguyên lý phân tích.............................................................................................................27 2.3.2. Mô hình hóa ...............................................................................................................................28 2.3.3. Người phân tích..........................................................................................................................31 2.4. Xác ñịnh và ñặc tả yêu cầu...........................................................................................................31 2.4.1. Xác ñịnh yêu cầu........................................................................................................................31 2.4.2. ðặc tả yêu cầu............................................................................................................................32 2.4.3. Thẩm ñịnh yêu cầu.....................................................................................................................33 2.5. Làm bản mẫu trong quá trình phân tích ....................................................................................34 2.5.1. Các bước làm bản mẫu...............................................................................................................34 2.6. ðịnh dạng ñặc tả yêu cầu .............................................................................................................36 2.7. Tổng kết .........................................................................................................................................38 CHƯƠNG 3. THIẾT KẾ PHẦN MỀM............................................................39 3.1. Khái niệm về thiết kế phần mềm.................................................................................................39 3.1.1. Khái niệm...................................................................................................................................39 3.1.2. Tầm quan trọng..........................................................................................................................39 3.1.3. Quá trình thiết kế........................................................................................................................40 3.1.4. Cơ sở của thiết kế.......................................................................................................................41 3.1.5. Mô tả thiết kế .............................................................................................................................42 3.1.6. Chất lượng thiết kế.....................................................................................................................44 3.2. Thiết kế hướng chức năng............................................................................................................46 3.2.1. Cách tiếp cận hướng chức năng .................................................................................................46 3.2.2. Biểu ñồ luồng dữ liệu.................................................................................................................47 3.2.3. Lược ñồ cấu trúc.........................................................................................................................47 3.2.4. Các từ ñiển dữ liệu.....................................................................................................................47 3.3. Thiết kế hướng ñối tượng.............................................................................................................48 3.3.1. Cách tiếp cận hướng ñối tượng ..................................................................................................48 3.3.2. Ba ñặc trưng của thiết kế hướng ñối tượng ................................................................................48 3.3.3. Cơ sở của thiết kế hướng ñối tượng ...........................................................................................48 3.3.4. Các bước thiết kế........................................................................................................................49 3.3.5. Ưu nhược ñiểm của thiết kế hướng ñối tượng............................................................................50 3.3.6. Quan hệ giữa thiết kế và lập trình hướng ñối tượng...................................................................50 3.3.7. Quan hệ giữa thiết kế hướng ñối tượng và hướng chức năng.....................................................51 3.4. Thiết kế giao diện người sử dụng.................................................................................................51 3.4.1. Một số vấn ñề thiết kế................................................................................................................53 3.4.2. Một số hướng dẫn thiết kế..........................................................................................................54 3.5. Tổng kết .........................................................................................................................................54 CHƯƠNG 4. LẬP TRÌNH...............................................................................56 ii 4.1. Ngôn ngữ lập trình........................................................................................................................56 4.1.1. ðặc trưng của ngôn ngữ lập trình...............................................................................................56 4.1.2. Lựa chọn ngôn ngữ lập trình......................................................................................................57 4.1.3. Ngôn ngữ lập trình và và sự ảnh hưởng tới công nghệ phần mềm.............................................58 4.2. Phong cách lập trình.....................................................................................................................59 4.2.1. Tài liệu chương trình..................................................................................................................59 4.2.2. Khai báo dữ liệu.........................................................................................................................59 4.2.3. Xây dựng câu lệnh......................................................................................................................60 4.2.4. Nhập/xuất...................................................................................................................................60 4.3. Lập trình tránh lỗi ........................................................................................................................61 4.3.1. Lập trình thứ lỗi..........................................................................................................................62 4.3.2. Lập trình phòng thủ....................................................................................................................62 4.4. Lập trình hướng hiệu quả thực hiện ...........................................................................................63 4.4.1. Tính hiệu quả chương trình........................................................................................................63 4.4.2. Hiệu quả bộ nhớ.........................................................................................................................64 4.4.3. Hiệu quả nhập/xuất.....................................................................................................................64 4.5. Tổng kết .........................................................................................................................................65 4.6. Mẫu thực tế (Case Study).................................................................Error! Bookmark not defined. CHƯƠNG 5. XÁC MINH VÀ THẨM ðỊNH ...................................................66 5.1. Giới thiệu .......................................................................................................................................66 5.2. Khái niệm về phép thử..................................................................................................................67 5.2.1. Thử nghiệm chức năng và thử nghiệm cấu trúc .........................................................................67 5.2.2. Thử nghiệm chức năng...............................................................................................................67 5.2.3. Thử nghiệm cấu trúc...................................................................................................................68 5.3. Quá trình thử nghiệm...................................................................................................................69 5.3.1. Thử nghiệm gây áp lực...............................................................................................................70 5.4. Chiến lược thử nghiệm .................................................................................................................70 5.4.1. Thử nghiệm dưới lên..................................................................................................................70 5.4.2. Thử ngiệm trên xuống................................................................................................................71 5.5. Bảo trì phần mềm..........................................................................................................................71 CHƯƠNG 6. QUẢN LÝ DỰ ÁN PHÁT TRIỂN PHẦN MỀM..........................73 6.1. Khái niệm dự án............................................................................................................................73 6.2. Các vấn ñề thường xảy ra ñối với một dự án phần mềm...........................................................73 6.3. ðại cương về quản lý dự án..........................................................................................................73 6.4. Các hoạt ñộng của quản lý dự án.................................................................................................75 6.4.1. Xác ñịnh dự án phần mềm cần thực hiện ...................................................................................75 6.4.2. Lập kế hoạch thực hiện dự án.....................................................................................................76 6.4.3. Tổ chức thực hiện dự án.............................................................................................................77 iii 6.4.4. Quản lý quá trình thực hiện dự án..............................................................................................77 6.4.5. Kết thúc dự án............................................................................................................................77 6.5. ðộ ño phần mềm ...........................................................................................................................77 6.5.1. ðo kích cỡ phần mềm ................................................................................................................77 6.5.2. ðộ ño dựa trên thống kê.............................................................................................................78 6.6. Các tác vụ cần thiết.......................................................................................................................78 6.6.1. Ước lượng ..................................................................................................................................78 6.6.2. Quản lý nhân sự..........................................................................................................................79 6.6.3. Quản lý cấu hình ........................................................................................................................80 6.6.4. Quản lý rủi ro.............................................................................................................................81 CHƯƠNG 7. QUY TRÌNH PHÁT TRIỂN PHẦN MỀM..................................83 7.1. Giới thiệu .......................................................................................................................................83 7.2. Qui trình là gì?..............................................................................................................................83 7.3. Một số quy trình mẫu SEP, ISO, CMM/CMMI.........................................................................84 CHƯƠNG 8. CASE STUDY BÀI TOÁN ðĂNG KÝ HỌC PHẦN...................87 8.1. Phát biểu bài toán (Vision)...........................................................................................................87 8.1.1. Bảng chú giải..............................................................................................................................88 8.1.1.1. Giới thiệu...............................................................................................................................88 8.1.1.2. Các ñịnh nghĩa.......................................................................................................................88 8.2. Business Vision..............................................................................................................................89 8.2.1. Introduction................................................................................................................................89 8.2.2. Positioning..................................................................................................................................89 8.2.3. Stakeholder and User Descriptions ............................................................................................90 8.2.4. Product Overview.......................................................................................................................94 8.2.5. Constraints..................................................................................................................................96 8.2.6. Quality Ranges...........................................................................................................................97 8.2.7. Precedence and Priority..............................................................................................................97 8.2.8. Other Product Requirements......................................................................................................97 8.2.9. Documentation Requirements....................................................................................................98 8.3. Business Glossary..........................................................................................................................99 8.3.1. Introduction................................................................................................................................99 8.3.2. Definitions..................................................................................................................................99 8.4. ðặc tả bổ sung (Supplementary Specification).........................................................................100 8.4.1. Mục tiêu ...................................................................................................................................100 8.4.2. Phạm vi.....................................................................................................................................101 8.4.3. Tài liệu tham khảo....................................................................................................................101 8.4.4. Chức năng ................................................................................................................................101 8.4.5. Tính khả dụng ..........................................................................................................................101 8.4.6. Tính ổn ñịnh.............................................................................................................................101 8.4.7. Hiệu suất...................................................................................................................................101 8.4.8. Sự hỗ trợ...................................................................................................................................101 8.4.9. Tính bảo mật ............................................................................................................................101 8.4.10. Các ràng buộc thiết kế.........................................................................................................102 iv ... - tailieumienphi.vn
nguon tai.lieu . vn