6. Kết quả nghiên cứu, đóng góp khoa học của luận án
2.1.1.2. Quy trình đánh giá độ tin cậy
Như đã trình bày ở trên, mô hình của L. Cheung [51] gồm 3 giai đoạn để tính toán độ tin cậy của hệ thống phần mềm. Tuy nhiên, cách tiếp cận của Cheung phân tách một hệ thống phần mềm thành các thành phần nhỏ, từ đó sử dụng cấu trúc của hệ thống để xây dựng mô hình hành vi động của hệ thống. Vấn đề đặt ra là nếu hệ thống không phải thể phân tách, phân tách không tường minh hoặc chúng ta không có được thiết kế cấu trúc chi tiết các thành phần của hệ thống thì cách tiếp cận này khó khả thi. Do đó chúng tôi đề xuất quy trình nhằm kết hợp các kỹ thuật của L. Singh [55] và mô hình của L.Cheung cho phép mô hình quá trình hoạt động bình thường của phần mềm bằng tiến trình Markov với là tập hợp trạng thái, là ma trận xác suất chuyển của module . Quy trình đánh giá được thực hiện theo kịch bản 3 bước như sau:
Bƣớc 1.Mô hình hóa hệ thống. Bao gồm các thao tác xác định tập các trạng thái của hệ thống và xác định các phép chuyển đổi trạng thái dựa trên phân tích dữ liệu hoạt động thực tế.
Bƣớc 2.Xây dựng tiến trình Markov. Để xây dựng tiến trình Markov, chúng ta cần xác định được ma trận trạng thái ban đầu và ma trận xác suất chuyển. Tiến trình được đề xuất cần phải đảm bảo:
- Xác định được các xác suất ban đầu của các trạng thái:
- Tổng xác suất ban đầu của các trạng thái là 1.
- Các xác suất chuyển đổi trạng thái, lưu trong ma trận . - Tổng các xác suất từ một trạng thái luôn là 1.
Bƣớc 3. Tính toán mô hình. Ở Bước 2 đã có ma trận xác suất ban đầu
và ma trận xác suất chuyển . Bước tiếp theo chúng ta sẽ xác định ma trận trận xác suất các trạng thái ở thời điểm : .
- Sau 1 đơn vị thời gian, ta có ma trận trạng thái:
38
- Sau 2 đơn vị thời gian, ta có ma trận trạng thái:
(2.2) …
- Sau đơn vị thời gian, ta có ma trận trạng thái:
(2.3) Trong trường hợp tổng quát, theo (2.3) ta có:
(2.4) Xác suất module ở trạng thái tại thời điểm là:
(2.5)
là giá trị của trạng thái trong ma trận trạng thái ở thời điểm (ma trận ). Khi đó, độ tin cậy của module là:
∑ (2.6) Như vậy chúng ta không chỉ tính được độ tin cậy của module mà còn tính được xác suất tồn tại của các trạng thái còn lại trong mô hình tại thời điểm cuối, tức các
.