Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 277 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
277
Dung lượng
3,24 MB
Nội dung
CÔNG NGHỆ PHẦN MỀM Chương 1: Giới thiệu về Công nghệ phần mềm 2 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 3 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 4 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 5 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 6 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 7 ĐỊ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. 8 ĐỊNH NGHĨA (tt) Đị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 9 CHU TRÌNH Chu trình (process) định nghĩa một bộ khung các tiêu chuẩn phải được thiết lập để triển khai công nghệ phần mềm. 10 PHƯƠNG PHÁP Phương pháp (method) chỉ ra cách thực hiện những công việc cụ thể ("how to"): phân tích yêu cầu thiết kế xây dựng chương trình kiểm tra sửa lỗi [...]... tính có thời gian phát triển rất ngắn Sử dụng các thành phần có sẵn càng nhiều càng tốt Sử dụng công cụ lập trình ở dạng tự động sinh mã chứ không phải các ngôn ngữ truyền thống 21 CÔNG NGHỆ PHẦN MỀM Chương 2: Phân tích yêu cầu theo phương pháp cổ điển Giới thiệu Khách hàng và nhà phát triển gặp nhau để thảo luận về yêu cầu của hệ thống phần mềm cần xây dựng Nhà phát triển kiểm chứng lại (validate)... management), Phân tích yêu cầu (requirement analysis) Giai đoạn phát triển: Thiết kế phần mềm (software design), sinh mã (code generation), kiểm tra phần mềm (software testing) Giai đoạn bảo trì: Sửa lỗi (correction), thay đổi môi trường thực thi (adaptation), tăng cường (enhancement) 12 MÔ HÌNH CMM 13 CÁC MÔ HÌNH PHÁT TRIỂN PHẦN MỀM Mô hình tuần tự tuyến tính: cổ điển Mô hình prototyping: prototype... hình RAD: thời gian phát triển ngắn 14 MÔ HÌNH TUẦN TỰ TUYẾN TÍNH Mô hình phát triển phần mềm đầu tiên Các công việc tiếp nối nhau một cách tuần tự Đặt nền móng cho các phương pháp phân tích, thiết kế, kiểm tra… 15 MÔ HÌNH TUẦN TỰ TUYẾN TÍNH (tt) Bộc lộ một số khuyết điểm Bản chất của phát triển phần mềm là quá trình lặp đi lặp lại chứ không phải tuần tự Bắt buộc khách hàng đặc tả tất cả... hành vi phần mềm 2.4 Kỹ thuật phân tích yêu cầu 2.4.1 Xây dựng DFD 2.4.2 Viết PSPEC 2.5 Từ điển dữ liệu 24 CÁC YẾU TỐ CĂN BẢN CỦA MÔ HÌNH PHÂN TÍCH Mô hình chức năng và dòng thông tin: DFD, PSPEC Mô hình dữ liệu: ERD, đặc tả đối tượng dữ liệu Mô hình hành vi: STD, CSPEC 25 MÔ HÌNH CHỨC NĂNG VÀ DÒNG THÔNG TIN Mô tả dòng thông tin di chuyển (flow) xuyên qua các hệ thống thiên về phần mềm Thông... giao tiếp của chức năng xử lý 35 TỪ ĐIỂN DỮ LIỆU Nhiều phần tử được tạo ra trong mô hình phân tích: dữ liệu, chức năng, điều khiển… Phải có một cách thức quản lý các phần tử đó sao cho hiệu quả: từ điển dữ liệu Định nghĩa: Từ điển dữ liệu là một danh sách có tổ chức của tất cả các phần tử dữ liệu cần thiết cho hệ thống Các phần tử được định nghĩa chính xác và chặt chẽ sao cho cả phân tích... HÌNH TĂNG DẦN 19 MÔ HÌNH TĂNG DẦN (tt) Các bước (iteration) đầu tập trung vào yêu cầu của phần mềm và thiết lập một kiến trúc ổn định cho hệ thống (ít phải thay đổi sau này) Các bước sau tập trung vào việc xây dựng sản phẩm để cuối cùng chuyển sang giai đoạn kiểm tra hệ thống Mỗi bước hiện thực một phần cụ thể trong toàn bộ yêu cầu của hệ thống Quá trình xây dựng và chiến thuật kiểm tra theo kiểu...CÔNG CỤ Công cụ (tool) cung cấp các hỗ trợ tự động hay bán tự động đối với chu trình và phương pháp Các công cụ được tích hợp tạo thành CASE (Computer Aided Software Engineering) 11 MỘT CÁCH NHÌN TỔNG QUAN VỀ CNPM Gồm 3 giai đoạn lớn Giai đoạn... cho hệ thống Các phần tử được định nghĩa chính xác và chặt chẽ sao cho cả phân tích viên và khách hàng cùng chia sẻ một suy nghĩ về chúng Từ điển dữ liệu thường được hiện thực như là một phần của công cụ CASE Mỗi phần tử bao gồm những thông tin: tên, bí danh, được dùng ở đâu/như thế nào, đặc tả nội dung và thông tin phụ trợ 36 ... (t.t) DFD được xây dựng qua nhiều mức khác nhau: mức 0, 1, 2… DFD mức sau chi tiết hơn mức trước Process Specification (PSPEC) bổ sung cho DFD Tính liên tục của dòng dữ liệu 29 MÔ HÌNH HÀNH VI PHẦN MỀM Lược đồ dịch chuyển trạng thái (STD) thể hiện Các trạng thái khác nhau của hệ thống Sự dịch chuyển giữa các trạng thái đó Ví dụ: miêu tả hoạt động của máy photocopy 30 KỸ THUẬT PHÂN TÍCH... 0) Phân hoạch DFD vào các mức cao hơn Sử dụng phương pháp duyệt văn phạm Luôn luôn tuân theo tính liên tục của dòng dữ liệu Viết PSPEC cho các chức năng của DFD mức cao nhất 31 XÂY DỰNG DFD Phần mềm SafeHome: Thiết lập đoạn văn miêu tả xử lý DFD mức ngữ cảnh: nhận diện các thực thể và dữ liệu input, output 32 XÂY DỰNG DFD (tt) 33 XÂY DỰNG DFD (t.t) DFD mức 2: tinh chế chức năng "Theo dõi . CÔNG NGHỆ PHẦN MỀM Chương 1: Giới thiệu về Công nghệ phần mềm 2 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. 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 7 ĐỊ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. 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. 8 ĐỊNH NGHĨA (tt) Định nghĩa khác: Công Nghệ Phần Mềm Là các quy trình