Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 236 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
236
Dung lượng
5,37 MB
Nội dung
CHƯƠNG 1: Ư TỔNG QUAN VỀ Ổ Ề CÔNG NGHỆ PHẦN MỀM Mục tiêu ục Nội dung Mục tiêu : Cung cấp khái niệm g p ệ công nghệ phần mềm Nội dung : Lược sử Phần mềm ầ ề g g ệp Cơng nghệ phần mềm Các qui trình cơng nghệ 5 Các phương pháp phát triển phần mềm mềm Các công cụ môi trường phát triển phần mềm Các nội dung công nghệ phần mềm ầ ề 1.1 Lược sử Qua giai đoạn : Giai đoạn I : Thời kỳ hệ thứ MTĐT ( Thập niên 50.) hất ủ Thậ iê 50 ) a) b) c) d) Mô tả dựa vào đặc trưng: Quan điểm : Lập trình hoạt động nghệ thuật, dựa cảm tính Ngơn ngữ lập trình : NN máy, bậc thấp Phương pháp lập trình : Tuyến tính ế Năng suất : Thấp 1.1 1 Lược sử (tt) Giai đoạn thứ : Thời kỳ khủng hoảng phần mềm ( Trong thập niên 60 ) Nguyên nhân: N ê hâ - Chi phí phần mềm cao - Các dự án phần mềm khơng có có kết tốt phương pháp xây dựng phần mềm cảm tính, thơ sơ, thủ công… 2 Giải khủng hoảng: ết khủ h ả -Thay đổi quan điểm nghiên cứu , đối tượng nghiên cứu, phương pháp nghiên cứu, p gp p g Các thành quả: - Hệ tiên đề chứng minh tính chương trình (Hoare) - Phương pháp luận lập trình cấu trúc 1.1 1 Lược sử (tt) Giai đoạn thứ : ( Từ năm 70 đến ) : Đặc trưng : - Hệ thông phân bố - nhiều máy tính, máy thực chức tương tranh liên lạc với máy khác - Sự phát triển nhanh máy tính cá nhân Giai đoạn thứ : Đặc trưng Đặ t : - Công nghệ phần mềm hướng đối tượng thay nhiều cách tiếp cận phát triển phần mềm - Phần mềm với kiến trúc tính tốn khác hệ chuyên gia, phần mềm trí tuệ nhân tạo, mạng Nơron chuyển từ thí nghiệm vào ứng dụng thực tế tế 1.2 Phần mềm (Software) Khái niệm Phần mềm hệ thống chương trình thực máy tính nhằm hổ trợ cho nhà chuyên môn lãnh vực ằ ổ chuyên ngành thực tốt thao tác nghiệp vụ Lĩnh vực chuyên ngành : Mọi mặt đời sống xã hội giáo dục, ố hị d quốc phịng, giải t í ki h d h iải trí, kinh doanh, Nhà chuyên môn ( nguời sử dụng) : Người phận tham gia hoạt động vào lĩnh vực tương ứng Thao tác hiệ Th tá nghiệp vụ : Cá công việc t Các ô iệ giới thự đượ iới thực chuyển vào lĩnh vực tương ứng 2 Các đặc trưng phần mềm mềm - Không hỏng, lạc hậu - Làm theo đơn đặt hàng, lắp ráp từ thành phần có sẵn 1.2 Phần mềm (tt) Các thành phần phần mềm a Thành phần giao diện : Tiếp nhận yêu cầu việc sử dụng phần mềm người sử ế ầ ề ầ ề dụng ( chọn cơng việc,nhập liệu nguồn, …) Trình bày kết phần mềm thực Điều khiển phần mềm hoạt động b Thành phần xử lý : - Kiểm tra tính hợp lệ liệu nguồn nguồn - Tra cứu, Tính tốn, biến đổi cho kết c Thành phần liệu: - Tổ chức cấu trúc liệu - Tổ chức lưu trử Cơ sở liệu - Truy xuất (đọc, ghi) liệu (đọc liệu 1.2 Phần mềm (tt) (tt) Phân loại : a Phần mềm hệ thống Được đặc trưng : Tương tác chủ yếu với phần cứng, dùng chung tài nguyên, Là tập chương trình phục vụ cho chương trình khác : trình biên dịch, trình tiện ích xử lý tệp, Hệ điều hành b Phần mềm thời gian thực Có đặc trưng ràng buộc chặt chẽ với thời gian gian Là phần mềm có thành phần : Thu thập liệu Phân tích Kiểm sốt Điều phối phối Chẳng hạn chương trình trị chơi, điều khiển tự động, 3.3.1 Tích hợp từ xuống (Top-Down Integration) Là cách làm tăng tiến để xây dựng kiến trúc chương trình Các Cá modun đ d tích h xuống theo cấu trúc điề khiể í h hợp ố h ấ ú điều khiển Có thể theo chiều sâu (defth first) hay chiều rộng (breadth first) st) Đi theo chiều sâu: nhánh Tại nhánh, modun ghép nối, nhánh chưa ghép nối hay modun thấp thay modun giả lập Sau thực xong nhánh, modun giả lập dần thay đổi mức thấp nhánh khác Đi theo chiều rộng: Tích hợp theo mức Tất các modun mức dần tích hợp Các modun mức thấp thay modun giả lập Q trình tích hợp bao gồm bước: Modun dùng làm điều khiển kiểm thử, modun ợ g , giả lập nối trực tiếp vào modun Tùy vào cách tích hợp, modun giả lập thay modun thật thật Kiểm thử thực với modun thay Khi kết thúc kiểm thử, modun khác lại thay ộ , ộ ợ y modun thật ằ Kiểm thử lại thực nhằm bảo đảm q trình tích hợp modun không làm ảnh hưởng kết kiểm thử cũ Tích hợp từ xuống (theo chiều sâu) M1 M2 M5 M8 M3 M6 M9 M7 M4 3.3.2 Tích hợp từ lên (Bottom-Up Integration) Bắt đầu từ modun mức thấp nhất, sau modun tích hợp dần lên lên Q trình tích hợp gồm bước: Các modun thấp tích hợp thành cụm (cluster) thực odu t ấp t c ợp t cụ (c uste ) t ực phần chức cụ thể PM Một driver viết để kết hợp kiểm thử đầu vào đầu Toàn cụm kiểm tra Các driver bị loại bỏ, cụm kết hợp tiếp lên để hình ị , ụ ợ ợp p thành cấu trúc chương trình ấ Quá trình kiểm thử dễ dàng thực hơn, lại tốn nhiều sức để viết driver Tích hợp từ lên M0 Ma D2 Clus ster D1 Mb Cluster D3 3.3.3 Kiểm thử lại (Regression Testing) Khi modun thêm vào, phần mềm thay đổi.Những đổi Những luồng liệu điều khiển mới, thêm vào thay đổi thực trước Kiểm thử lại hoạt động nhằm đảm bảo thay đổi q trình tích hợp Kiểm thử lại lấy phần kiểm thử trước để thực hiện, chẳng hạn số mẫu chức hệ thống, kiểm thử chức bị thay đổi, 3.3 3 Kiểm thử hợp lệ (chức năng) Kiểm thử chức phần mềm có phù hợp với yêu cầu chức hồ sơ phân tích yêu cầu cầu Áp dụng phương pháp Black-Box Kiểm thử hợp lệ bao gồm: ể p Xem xét lại cấu hình phần mềm Kiểm thử Alpha Kiểm thử Beta Xem xét cấu hình phần mềm Nhằm đảm bảo chức phần mềm phát triển cách đắn phù hợp với đặc tả phân tích, thiết kế phần mềm ầ ề Phần mềm tích hợp Các yêu cầu Kiểm thử hợp h lệ Tư liệu người sử dụng Tư liệu người sử dụng Tư liệu thiết kê Các tư liệu kiểm thử Phê chuẩn quản lý Xét duyệt cấu hình Kiểm thử Alpha Kiểm thử Alpha khách hàng tiến hành quan nhà phát triển phần mềm Phần mềm khách hàng sử dụng qua đặt tự nhiên nhà phát triển, g ụ gq ự p ặ ự p , lỗi phần mềm vấn đề sử dụng ghi lại Kiểm thử Alpha tiến hành môi trường có kiểm sốt Kiểm thử Beta Tiến hành ngồi nơi sản xuất phần mềm Khách hàng g p g thực hay nhiều quan khách hàng nhà phát triển khơng có mặt Do đó, kiểm thử beta việc thực phần mềm ể ầ ề môi trường mà nhà phát triển khơng kiểm sóat Khách hàng ghi lại tất lỗi phần mềm, ấ ỗ ầ ề vấn đề sử dụng chuyển lại cho nhà phát triển giải quyết 3.4 Kiểm thử hệ thống (System testing) Phần mềm yếu tố hệ thống dựa máy tính, tính chảng hạn phần cứng sở liệu tài liệu Cuối cứng, liệu, liệu, Cuối phần mềm tổ hợp với yếu tố hệ thống khác để tạo hệ thống dựa máy tính, nên phải tiến ệ g ự y , p hành kiểm thử hệ thống Ta thường dùng kiểu kiểm thử hệ thống sau: g g g Kiểm tra tính phục hồi liệu (Recovery Testing) Kiểm tra tính bảo mật (Security Testing) Kiểm tra hiệu suất (Performance Testing) ể ấ 4 Gỡ lỗi Gỡ lỗi kiểm thử, xuất hệ kiểm thử thử Tiến trình gỡ lỗi bắt đầu với thực trường hợp kiểm thử thực kỹ thuật kiểm thử chiên lược thử, thử, kiểm thử, cho kết kiểm thử Tiến trình gỡ lỗi có kết logic: Nguyên nhân tìm ra: Sửa chữa loại bỏ lỗi g y Nguyên nhân khơng tìm ra: Người thực đặt giả thiết nguyên nhân, thiết kế trường hợp kiểm thử, tiến hành thực kiểm thử, tiến hành lặp lại bước gỡ lỗi, ể ế Thực trường hợp g ợp kiểm thử Trường hợp kiểm thử Kiểm thử phụ Sửa chữa Nguyên nhân hoài nghi Kết ế Xác định nguyên nhân Gỡ lỗi Bài tập Đề 1: Cho đoan trình: Ch đ ì h if(a||b) x; else y; - Tạo sơ đồ dòng chảy - Thiết lập kiểm thủ cho đươnf độc lập ế ể Đề 2: Cho đoạn trình: Ch đ ì h while (a&&b) x; - Tạo sơ đồ dòng chảy tương ứng - Thiết lập kiểm thử cho đường độc lập ế ể ... Cung cấp khái niệm g p ệ công nghệ phần mềm Nội dung : Lược sử Phần mềm ầ ề g g ệp Công nghệ phần mềm Các qui trình cơng nghệ 5 Các phương pháp phát triển phần mềm mềm Các công cụ môi trường phát... : Cá công việc t Các ô iệ giới thự đượ iới thực chuyển vào lĩnh vực tương ứng 2 Các đặc trưng phần mềm mềm - Không hỏng, lạc hậu - Làm theo đơn đặt hàng, lắp ráp từ thành phần có sẵn 1 .2 Phần... dùng (User ) g g( ) Đối tượng sử dụng phần mềm 1.3 Công nghệ phần mềm (Software Engineering ) Định nghĩa CNPM Công nghệ : Là cách sử dụng công cụ, kỹ thuật việc giải tốn Cơng nghệ phần mềm ngành