Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
81,79 KB
Nội dung
Trường Đại Học Bách Khoa Tp. Hồ Chí Minh Khoa CôngNghệ Thông Tin Chương 1 GIỚITHIỆUVỀCÔNGNGHỆPHẦNMỀM ✦ ✦✦ ✦ Một số khái niệm ✦ ✦✦ ✦ Các mô hình phát triển phầnmềm -Trang 6- Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM NỘI DUNG 1.1. Một số khái niệm 1.1.1. Khủng hoảng phầnmề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ôngnghệphầnmềm 1.1.5. Mô hình CMM 1.2. Các mô hình phát triển phầnmề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ôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM KHỦNG HOẢNG PHẦNMỀM Phầnmề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ầnmềm không đáp ứng kòp yêu cầu của người sử dụng -Trang 8- Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM KHỦNG HOẢNG PHẦNMỀ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ôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM KHỦNG HOẢNG PHẦNMỀM (t.t) Nguyên nhân Phát triển phầnmề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ầnmề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ầnmề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ầnmềm Làm việc nhóm không đúng kỷ luật gây ra các lỗi -Trang 10- Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM KHỦNG HOẢNG PHẦNMỀM (t.t) Hướng tới côngnghệ sản xuất phầnmềm chuyên nghiệp craft production commercialization science professional engineering -Trang 11- Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM ĐỊNH NGHĨA Đònh nghóa cổ điển (của Fritz Bauer) CôngNghệPhầnMề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ầnmềm một cách kinh tế mà các phầnmềm đó hoạt động hiệu quả và tin cậy trên các máy tính. -Trang 12- Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM ĐỊNH NGHĨA (t.t) Đònh nghóa khác: CôngNghệPhầnMề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ầnmề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ôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM 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ôngnghệphần mềm. -Trang 14- Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM 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 . -Trang 15- Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM [...]... 1) - Trang 18 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM CÁC MÔ HÌNH PHÁT TRIỂN PHẦNMỀM Mô hình tuần tự tuyến tính: cổ điển Mô hình prototyping: prototype Mô hình xoắn ốc: đánh giá rủi ro Mô hình tăng dần: các bước lặp Mô hình RAD: thời gian phát triển ngắn - Trang 19 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH TUẦN... của đề án - Trang 23 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH TĂNG DẦN Phân tích yêu cầu Thiết kế kiến trúc 1 Phát triển module Tích hợp 2 3 4 Kiểm tra hệ thống - Trang 24 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH TĂNG DẦN (t.t) Các bước (iteration) đầu tập trung vào yêu cầu của phầnmềm và thiết lập một kiến... Design Coding Test Maintenance Mô hình phát triển phầnmề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… - Trang 20 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH TUẦN TỰ TUYẾN TÍNH (t.t) Bộc lộ một số khuyết điểm Bản chất của phát triển phầnmềm là quá trình lặp đi lặp lại chứ không phải... cầu (requirement analysis) Giai đoạn phát triển: Thiết kế phầnmềm (software design), sinh mã (code generation), kiểm tra phầnmề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) - Trang 17 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH CMM Optimized (Level 5) Managed Risk (Level...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) - Trang 16 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MỘT CÁCH NHÌN TỔNG QUAN VỀ CNPM Gồm 3 giai đoạn lớn Giai đoạn đònh nghóa: Phân... Application Development là mô hình tuần tự tuyến 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 - Trang 26 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM ... 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 tăng dần và dựa trên phương pháp kiểm tra hồi quy - Trang 25 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH RAD Business modeling Data modeling Process modeling Application generation... khuyết điểm Khách hàng hối thúc nhà phát triển hoàn thành sản phẩm một khi thấy được các prototype đầu tiên Các prototype thường không hoạt động hiệu quả - Trang 22 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH XOẮN ỐC R Đánh giá rủi ro Đònh nghóa quy trình Hoạch đònh đề tài R Phát triển sản phẩm ở lần lặp tiếp theo R Được thực hiện theo một chuỗi lặp kiểu xoắn... xác và đầy đủ ngay từ ban đầu Khách hàng thường phải chờ đợi rất lâu để thấy được phiên bản đầu tiên của sản phẩm Tồn tại “delay” trong nhóm làm việc - Trang 21 Khoa CôngNghệ Thông Tin - Môn CôngNghệPhầnMềm - Chương 1: Giớithiệuvề CNPM MÔ HÌNH PROTOTYPING Xây dựng prototype Thảo luận với khách hàng Đánh giá của khách hàng Prototype như là một cơ chế để nhận diện chính xác yêu cầu của khách hàng . 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. 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