ĐỘ TIN CẬY CỦA PHẦN MỀM Thời gian trung bình xảy ra sự cố MTTF: Mean Time To Failure Đòi hỏi chính xác cao thường được Đòi hỏi chính xác cao, thường đượcdùng cho các hệ thống tuyệt
Trang 1Chương 2
NHỮNG ĐẶC TRƯNG
CỦA PHẦN MỀM
Trang 2 Phần mềm được mô tả bởi số lượng chất lượng.
Những chất lượng bên ngoài
Những chất lượng bên ngoài
Trang 3NHƯ THẾ NÀO
Những chất lượng bên trong (Internal
qualities) là những yếu tố chất lượng
“trong suốt” đối với người sử dụng.g g g
Những chất lượng bên trong (Internal
qualities) giúp đỡ những người phát
triển đạt được sự cải tiến về chấtạ ợ ựlượng bên ngoài
Tài liệu phân tích yêu cầu.
Tài liệu thiết kế
Tài liệu thiết kế.
Trang 4 Khái niệm độ tin cậy của phần mềm
(software reliability): Độ tin cậy của
phần mềm là một xác suất vận hành
p
phần mềm không gây ra lỗi trong mộtkhoảng thời gian nhất định và trongmột môi trường nhất định
Độ tin cậy của phần mềm là một thuộctính quan trọng của chất lượng phầnq ọ g ợ g pmềm
Trang 52 ĐỘ TIN CẬY CỦA PHẦN MỀM
Thuộc tính khả năng (Capability)
Thuộc tính cài đặt (Installability)
Thuộc tính bảo trì (Maintainability)
Thuộc tính bảo trì (Maintainability)
Thuộc tính tài liệu (Documentation)
Trang 6 Đo độ tin cậy của phần mềm như thế
nào (measure software reliability)?
ĐỘ ĐO
Trang 7TẠI SAO PHẢI ĐO
Tiếp cận định lượng để có cơ sở
phân tích, đánh giá một cách khách quan về một vấn đề hay về một đối
tượng nào đó
Nghi ngờ, đặt giả thuyết, muốn tìmhiểu :
ĐoKết quảPhân tíchKết luận,dự đoán
Mỗi số đo: KHÔNG phản ảnh hết mọikhía cạnh của đối tượng
khía cạnh của đối tượng…
Cần phối hợp nhiều độ đo, Vận dụng
thêm các tiếp cận định tính…
Trang 8 Các độ đo phần mềm: tính toán, ước
lượng được các đại lượng liên quan đến
các đối tượng, các hoạt động thuộc về ợ g ạ ộ g
tiến trình sản xuất phần mềm
Ước lượng giá gia công, phỏng đoán kích thước.
Đánh giá chất lượng phần mềm.
Đánh giá chất lượng quy trình sản xuất.
CẢI TIẾN CHẤT LƯỢNG phần mềm,
tiến trình sản xuất phần mềm
Trang 92 ĐỘ TIN CẬY CỦA PHẦN MỀM
Một chức năng thất bại là gì?
Cách khác đặc trưng độ tin cậy phần
Cách khác đặc trưng độ tin cậy phầnmềm dưới dạng một chức năng thấtbại được đánh giá thực tế
Trang 10 Một mô hình đường số mũ của sự thấtbại được đại diện bởi chức năng thấtbại là một tham số phụ thuộc hệ thốngp g
) 0 (
)
t e
t
Trang 112 ĐỘ TIN CẬY CỦA PHẦN MỀM
Thời gian trung bình xảy ra sự cố
(MTTF: Mean Time To Failure)
Đòi hỏi chính xác cao thường được
Đòi hỏi chính xác cao, thường đượcdùng cho các hệ thống tuyệt đối antoàn
Hệ thống điều khiển máy bay lên
Hệ thống điều khiển máy bay lên xuống
Hệ thống sử dụng trong các trạm nghiên cứu vũ trụ, trong các trung tâm g ụ, g g chế tạo vũ khí.
Ví dụ: Một hệ thống điều khiển máy
bay lên xuống không thể ngưng hoạt
ề động nhiều hơn 3 giây/năm.
Mật độ lỗi (Defect density)
Trang 12 Tính chính xác của phần mềm
Tính chính xác của phần mềm gần liênquan đến sự tin cậy và những thuậtngữ này thường được sử dụng thaythế cho nhau được Sự khác nhauchính là sự lệch nhỏ từ những yêu cầuự ệ g ynghiêm ngặt được xem là một thất bại
và từ đây có nghĩa rằng phần mềmkhông chính xác Tuy nhiên, một hệthố ó thể ò đ h ằ đá
thống có thể còn được cho rằng đángtin cậy nếu chỉ có những sự lệch nhỏ
từ những yêu cầu nhiều kinh nghiệm.Tính chính xác có thể được đo dưới
Trang 13CỦA PHẦN MỀM
Tính dễ sử dụng của phần mềm
Tính khả dụng là một phương pháp đoviệc phần mềm dành cho con người
để sử dụng dễ dàng như thế nào.Tínhkhả dụng của phần mềm tươngđương với sự dễ dàng sử dụng, hayg ự g ụ g ythân thuộc với người sử dụng Nhữngthuộc tính làm một ứng dụng dễ sửdụng đối với những người sử dụng tập
th ờ khá ới hữ ái đ
sự thường khác với những cái đượcmong đợi bởi những người sử dụngchuyên gia hay những người thiết kếphần mềm Sự sử dụng prototyping cóthể tăng tính khả dụng của một hệthống phần mềm bởi vì, chẳng hạn
Trang 14 Tính vận hành của phần mềm
Trang 15CỦA PHẦN MỀM
Tính bảo trì đươc, tiến hóa được và sửa chữa được của phần mềm.
Sự tiên liệu của sự thay đổi là một
Sự tiên liệu của sự thay đổi là mộtnguyên tắc tổng quát cần phải hướngdẫn kỹ sư phần mềm
Một hệ thống phần mềm mà có sự
Một hệ thống phần mềm mà có sự
thay đổi một cách tương đối dễ dàng
có một mức độ bảo trì cao
Về lâu dài thiết kế cho sự thay đổi sẽ
Về lâu dài, thiết kế cho sự thay đổi sẽ thấp hơn những chi phí chu trình cuộc sống phần mềm một cách đáng kể và dẫn tới sự tăng cường tiếng xấu về kỹ ự g g g ỹ
sư phần mềm, sản phẩm phần mềm
và công ty
Trang 16 Tính bảo trì có thể được phân hủy
vào trong hai thuộc tính :
Trang 17CỦA PHẦN MỀM
Tính di động được của phần mềm
Phần mềm có thể di động nếu nó cóthể chạy dễ dàng trong những môitrường khác nhau
Thuật ngữ môi trường tham chiếu tớiphần cứng trên những hệ thống hệđiều hành, hoặc phần mềm khác trong
hệ thống được mong đợi tương tác
Trang 18 Tính kiểm tra được của phần mềm
Một hệ thống phần mềm kiểm trađược nếu những thuộc tính của nó kể
cả tất cả những cái mà trước đó đượcgiới thiệu, có thể được xác minh dễdàng.g
Trang 19CỦA PHẦN MỀM
Tính theo dõi được của phần mềm
Có thể theo dấu được liên quan vớinhững mối quan hệ giữa những yêucầu, những mã nguồn và hệ thốngthiết kế Bất chấp mô hình tiến trình,tài liệu và mã có thể theo dấu được tốiệ ợ
đa Một mức độ cao của có thể theodấu được bảo đảm những yêu cầuphần mềm theo luồng xuyên qua thiết
kế à ã à đó ó thể đ th
kế và mã và sau đó có thể được theovết tại mỗi giai đoạn của tiến trình.Điều này đảm bảo, chẳng hạn, mộtquyết định luật đó có thể được theovết quay trở lại một quyết định thiết kế
để thỏa mãn một yêu cầu tương ứng
Trang 20 Tính theo dõi được của phần mềm
Có thể theo dấu được đặc biệt quantrọng trong những hệ thống nhúng bởi
vì thường việc thiết kế và viết mãnhững quyết định được làm để thỏamãn những sự ràng buộc phần cứngg ự g ộ p g
mà có thể không dễ dàng được hếthợp với một yêu cầu Sự thất bại đểcung cấp một đường dẫn có thể theo
dấ đ từ hữ ết đị h h
dấu được từ những quyết định nhưvậy thông qua những yêu cầu có thểdẫn tới những khó khăn trong việc mởrộng và bảo trì hệ thống
rộng và bảo trì hệ thống
Trang 21CỦA PHẦN MỀM
Tính theo dõi được của phần mềm
Nói chung, có thể theo dấu được cóthể đạt được bằng việc cung cấpnhững mối liên kết giữa tất cả tài liệu
và mã phần mềm Những mối liên kết:
Từ những yêu cầu đến những cổ động
Từ những yêu cầu đến những cổ động
đề nghị những yêu cầu này.
Giữa những yêu cầu phụ thuộc.
Từ những yêu cầu đến thiết kế
Từ những yêu cầu đến thiết kế.
Từ thiết kế đến những đoạn mã liên quan.
Từ những ê cầ đến kế hoạch kiểm
Từ những yêu cầu đến kế hoạch kiểm tra.