1. Trang chủ
  2. » Công Nghệ Thông Tin

Độ tin cậy của phần mềm

8 1.1K 5

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Độ tin cậy phần mềm Độ tin cậy phần mềm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Chất lượng phần mềm việc đảm bảo chất lượng phần mềm Kiểm tra chất lượng phần mềm hoạt động khó khăn để chấp nhận mặt ý thức cân nhắc công việc đồng nghiệp để tìm lỗi Sau trình làm việc nhóm trở thành thành viên, ngại tìm lỗi không phát chúng thông qua kiểm tra Khi người tiến hành kiểm tra lại thành viên dự án, ví dụ chuyên gia kiểm tra, họ nhìn nhận kẻ thù Thêm vào đó, kiểm tra chất lượng phần mềm lại hoạt động khó chấp nhận việc quản lý tốn kém, thời gian phát lỗi Kết phần lớn ứng dụng không kiểm tra đầy đủ phát hành với lỗi tiềm ẩn Tuy vậy, chất lượng phần mềm cao mục tiêu quan trọng nhóm phát triển phần mềm Do vậy, cần phải đảm bảo tiêu chuẩn phần mềm đề cập chương Đảm bảo chất lượng phần mềm hoạt động có hệ thống kế hoạch Nó bao gồm nhiều nhiệm vụ liên kết với hoạt động sau: + Áp dụng phương pháp kỹ thuật, + Tiến hành xét duyệt kỹ thuật thức, + Kiểm thử phần mềm, + Buộc tôn trọng chuẩn, + Kiểm soat thay đổi, + Đo chất lượng, + Báo cáo, lưu giữ kết 1/8 Độ tin cậy phần mềm Theo chuẩn ANSI/IEEE, kế hoạch đảm bảo chất lượng phần mềm sau: I Mục đích kế hoạch II Tham khảo III Quản lý A Tổ chức B Nhiệm vụ C Trách nhiệm IV Tài liệu A Mục đích B Tài liệu công nghệ phần mềm cần thiết C Các tài liệu khác V Chuẩn, thực hành quy ước A Mục đích B Quy ước VI Xét duyệt kiểm toán A Mục đích B Các yêu cầu xét duyệt Xét duyệt yêu cầu phần mềm Xét duyệt thiết kế Kiểm chứng phần mềm xét duyệt hợp lệ Kiểm toán chức Kiểm toán vật lý Kiểm toán tiến trình 2/8 Độ tin cậy phần mềm Xét duyệt quản lý VII Quản lý cấu hình phần mềm VIII Báo cáo vấn đề cách sửa chữa IX Công cụ, kỹ thuật phương pháp luận X Kiểm soát mã XI Kiểm soát phương tiện XII Kiểm soát người cung cấp XIII Thu thập bảo trì ghi nhớ báo cáo Việc đảm bảo chất lượng phần mềm hoạt động chất cho nhóm phát triển phần mềm sản xuất phần mềm cho người sử dụng Độ tin cậy phần mềm Các lỗi thường gặp Khi phân tích chất lượng, phần mềm thường gặp số lỗi như: + Lỗi chiến lược: ý đồ thiết kế sai + Phân tích yêu cầu không đầy đủ lệch lạc + Hiểu sai chức + Vi phạm nguyên lý đối tượng + Lỗi thủ tục chịu tải, lỗi nặng + Lỗi lây lan: lỗi truyền từ chương trình sang chương trình khác + Lỗi cú pháp: viết sai quy định ngôn ngữ + Hiệu ứng phụ: lỗi xảy đơn vị chương trình làm thay đổi giá trị biến ý kiến lập trình viên Các lỗi phần mềm tuân theo nguyên lý mức độ lỗi: a) Mức chịu tải tăng theo chiều xuống: lỗi phát mức xem nặng mức 3/8 Độ tin cậy phần mềm b) Lỗi nặng nằm mức cao (ý đồ thiết kế ) mức thấp (thủ tục chịu tải lớn nhất) Do vậy, phát triển phần mềm, cần đảm bảo nguyên lý an toàn là: Mọi lỗi dù nhỏ lớn phải phát bước chương trình, trước lỗi hoành hành Độ tin cậy phần mềm Độ tin cậy hệ phần mềm độ đo mức độ tốt dịch vụ mà hệ cung cấp cho máy tính Cần ý người dùng không xét dịch vụ quạn trọng nhau: chẳng hạn hệ điều khiển máy bay rất, thất bại, chúng có thất bại gây tai nạn máy bay người bị nạn thân nhân người bị nạn xem hệ đáng tin Độ tin cậy đặc trưng động hệ thống, hàm số thất bại phần mềm Một thất bại phần mềm kiện thi hành mà phần mềm hành xử không người ta mong đợi Chú ý thất bại phần mềm khác nột hư hỏng phần mềm Hư hỏng phần mềm đặc trưng tĩnh, gây thất bại phần mềm mà mã lỗi thi hành với tập hợp đặc biệt thông tin vào Các hư hỏng luôn xuất đầu lộ diện, đọ tin cậy phụ thuộc vào việc sử dụng hệ thống Không thể đưa phát biểu đơn giản khái quát độ tin cậy phần mềm Các hư hỏng phần mềm khuyết tật chương trình Một hành xử bất ngờ xảy mà phần mềm phù hợp với yêu cầu nó, mà yếu tố lại không đầy đủ Các sai sót tư liệu phần mềm dẫn đến hành vi bất ngờ phần mềm khiếm khuyết Có công trình nghiên cứu rút bỏ 60% khiếm khuyết mà cải tạo 3% độ tin cậy Cũng có người ý nhiều khiếm khuyết sản phẩm kết hàng trăm hàng nghìn tháng sử dụng Một số đánh giá độ tin cậy Đặc tả độ tin cậy phần mềm: gồm bước + Phân tích hệ thất bại + Chia thất bại thành nhóm khác + Thiết lập yêu cầu độ tin cậy cách sử dụng độ đo thích hợp cho loại 4/8 Độ tin cậy phần mềm Đođộ tin cậy: theo vài cách đo sau + Xác suất thất bại tính theo đòi hỏi + Tỷ lệ xuất thất bại + Thời gian trung bình hai thất bại + Độ đo mức sẵn sàng hoạt động hệ Thử ngh i ệm tĩnh Mục tiêu chủ yếu thử nghiệm tĩnh xác định độ tin cậy phần mềm xác định hư hỏng phần mềm Quá trình thử nghiệm tĩnh liên quan đến bước sau: i) Xác định độ đo thao tác phần mềm Độ đo thao tác mẫu sử dụng phần mềm xác định mẫu liên quan đến việc phát lớp thông tin vào chương trình ước tính xác suất chúng ii) Chọn sinh tập liệu thử tương ứng với độ đo iii) Áp dụng trường hợp thử chương trình, ghi lại độ dài thời gian thi hành cặp thất bại quan sát Thích hợp dùng thời gian thô, với đơn vị thời gian thích hợp cho độ đo mức tin cậy iv) Tính toán độ đo mức tin cậy sau số đáng kể (về mặt thống kê) thất bại quan sát An toàn phần m ềm Có hệ thống mà thất bại gây mối đe dọa tính mạng người Thí dụ hệ thống an toàn sinh mệnh hệ thống điều khiển máy bay Có hai lớp phần mềm an toàn sinh mệnh i) Các phần mềm an toàn sinh mệnh sơ cấp: phần mềm lồng nhúng hệ phần cứng dùng để điều khiển trình khác mà làm việc sai sót trực tiếp gây thương vong phá hủy môi trường sống người ii) Các phần mềm an toàn sinh mệnh thứ cấp: phần mềm gián tiếp gây thương vong Thí dụ hệ thống phần mềm trợ giúp thiết kế kỹ thuật, hệ thống sở liệu y tế liên quan đến chất độc bảng A 5/8 Độ tin cậy phần mềm Thử ngh i ệm khiếm khuyết Thử nghiệm chương trình có hai mục đích: thứ hệ thống phù hợp với đặc tả nó, thứ hai thực hành hệ thống theo cách cho khuyêt tật phơi Các thử nghiệm với mục đích thứ thẩm định, thử nghiệm để chấp nhận Các thử nghiệm cho mục đích thứ hai lại khác hẳn: thử nghiệm thành công thử nghiệm phơi nhiều khuyết tật Các thử nghiệm phát triển song song với việc thiết kế thực người không dính dáng tới việc thiết kế Lập trình độ tin cậy Lập trình một công đoạn phụ thuộc nhiều vào kỹ xảo cá nhân, ý đến chi tiết kiến thức việc làm để sử dụng công cụ sẵn có theo cách thức tốt Nhu cầu hệ thống đáng tin tăng lên cần có kỹ thuật chuyên biệt nhằm đạt hệ thống tin cậy Hiện nay, có hai kỹ thuật để tăng độ tin cậy phần mềm viết chương trình ứng dụng là: tránh lỗi tha thứ lỗi Tránh lỗi Tất kỹ sư phần mềm hẳn muốn sản phần mềm lỗi Một trình phát triển dựa vào việc phát lỗi trừ khử lỗi tránh lỗi trình cõi lỗi thời Phần mềm lỗi phần mềm tuân theo đặc tả Nói chung, có lỗi đặc tả không phản ánh nhu cầu người sử dụng phần mềm lỗi không thiết phần mềm luôn hành xử người dùng dự đoán Việc phát triển phần mềm lỗi việc đắt đỏ, mà số lỗi tháo khỏi chương trình giá cho việc tìm tháo lỗi lại có xu hướng tăng theo hàm số mũ Do tổ chức định chấp nhận vài lỗi lưu lại Tính mặt giá chịu tiền chi trả cho thất bại hệ thống lỗi gây phát tháo gỡ lỗi trước phân phối Tránh lỗi phát triển phần mềm vô lỗi dựa trên: + Sản phẩm đặc tả hệ thống xác + Chấp nhận cách tiếp cận thiết kế phần mềm dựa việc che dấu thông tin bao gói thông tin Thứ lỗi 6/8 Độ tin cậy phần mềm Ngay với hệ vô lỗi cần tiện ích thứ lỗi: có lỗi đặc tả Một tiện ích thứ lỗi cần thiết cho hệ thống đáng tin cậy Có bốn hoạt động cần phải tiến hành hệ thống phải thứ lỗi: + Phát lỗi + Định mức độ thiệt hại + Hồi phục sau gặp lỗi Hệ thống phải hồi phục trạng thái mà biết an toàn Cũng chỉnh lý trạng thái bị hủy hoại (hồi phục tiến), lui trạng thái trước mà an toàn (hồi phục lùi) + Chữa lỗi Cải tiến hệ thống lỗi không xuất Trong nhiều trường hợp thất bại phần mềm tàng hình gây tổ hợp đặc biệt thông tin vào Xử lý bất thường Một sai loại cố bất ngờ xuất ta gọi chúng bất thường Các bất thường phần cứng phần mềm Khi mà bất thường không dự đoán điều khiển chuyển cho chế xử lý bất thường hệ thống Nếu bất thường dự đoán mã phải bao gồm việc phát việc xử lý bất thường Hầu hết ngôn ngữ lập trình tiện ích để phát xử lý bất thường Các bất thường ghi lại cách dùng biến Logic nhằm có bất thường xuất Lập trình phòng thủ Lập trình phòng thủ cách phát triển chương trình mà người lập trình giả định mâu thuẫn lỗi chưa phát tồn chương trình Mã có phần kiểm tra trạng thái hệ thống sau biến đổi phải đảm bảo biến đổi trạng thái kiên định phát mâu thuẫn việc biến đổi trạng thái phải rút lại trạng thái phải trở trạng thái đắn trước Lập trình phòng thủ cách thứ lỗi, mà tiến hành không cần điều khiển thứ lỗi Về trình là: phát lỗi, đánh giá lỗi, phục hồi sau lỗi Nói chung lỗi gây sụp đổ trạng thái: biến trạng thái gắn trị không hợp luật Ngôn ngữ lập trình Ada cho phép phát lỗi thời gian biên dịch Tuy nhiên việc kiểm tra biên dịch hạn chế cho giá trị tĩnh vài phép kiểm tra thời gian thực tránh 7/8 Độ tin cậy phần mềm Một cách để phát lỗi chương trình Ada dùng chế xử lý bất thường kết hợp với đặc tả miền trị Hồi phục lỗi trình cải biên không gian trạng thái hệ thống cho hiệu ứng lỗi nhỏ hệ thống tiếp tục vận hành, có lẽ mức suy giảm Hồi phục tiến liên quan đến việc cố gắng chỉnh lại trạng thái hệ thống Hồi phục lùi liên quan đến việc lưu trạng thái hệ thống trạng thái biết Hồi phục tiến thường chuyên biệt ứng dụng, mà kiến thức miền sử dụng để tính chỉnh lý Tuy nhiên có hai tình chung mà hồi phục tiến thành công: 1) Khi liệu mã bị sụp Việc sử dụng mã hóa thích hợp cách thêm liệu dư thừa vào liệu cho phép sửa sai phát lỗi 2) Khi cấu trúc nối bị sụp Nếu trỏ tiến lùi có cấu trúc liệu cấu trúc tái tạo đủ trỏ chưa bị sụp Kỹ thuật thường dùng cho việc sửa chữa hệ thống tệp sở liệu Hồi phục lùi kỹ thuật đơn giản liên quan đến việc trì chi tiết trạng thái an toàn cất giữ trạng thái mà sai bị phát Hầu hết hệ quản trị sở liệu có phục hồi lỗi Cơ sở liệu cập nhật liệu giao dịch hoàn tất không phát vấn đề Nếu giao dịch thất bại sở liệu không cập nhật Một kỹ thuật khác thiết lập điểm kiểm tra thường kỳ mà chúng trạng thái hệ thống Khi mà lỗi phát trạng thái an toàn tái lưu kho từ điểm kiểm tra gần Không may hệ thống dính líu tới nhiều trình hợp tác dãy thao tác điểm kiểm tra trình không đồng để phục hồi trình phải lần trở lại trạng thái ban đầu 8/8 ... giá độ tin cậy Đặc tả độ tin cậy phần mềm: gồm bước + Phân tích hệ thất bại + Chia thất bại thành nhóm khác + Thiết lập yêu cầu độ tin cậy cách sử dụng độ đo thích hợp cho loại 4/8 Độ tin cậy phần. .. vậy, phát triển phần mềm, cần đảm bảo nguyên lý an toàn là: Mọi lỗi dù nhỏ lớn phải phát bước chương trình, trước lỗi hoành hành Độ tin cậy phần mềm Độ tin cậy hệ phần mềm độ đo mức độ tốt dịch vụ... đáng tin Độ tin cậy đặc trưng động hệ thống, hàm số thất bại phần mềm Một thất bại phần mềm kiện thi hành mà phần mềm hành xử không người ta mong đợi Chú ý thất bại phần mềm khác nột hư hỏng phần

Ngày đăng: 01/01/2016, 08:51

Xem thêm: Độ tin cậy của phần mềm

Mục lục

    Độ tin cậy của phần mềm

    Chất lượng phần mềm và việc đảm bảo chất lượng phần mềm

    Độ tin cậy của phần mềm

    Các lỗi thường gặp

    Độ tin cậy của phần mềm

    Một số đánh giá vì độ tin cậy

    Lập trình vì độ tin cậy

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w