Nêu các ký hiệu và giải thích các độ đo: s1,s2,s3,s4,s5,s6,s7 và D1=1&0, (D2=1-s2/s1), (D3=1-s3/s1), (D4=1-s5/s4), (D5=1-s6/s4), (D6=1-

Một phần của tài liệu Tài liệu Câu hỏi ôn tập kỹ nghệ phần mềm nâng cao ppt (Trang 27)

s2/s1), (D3=1-s3/s1), (D4=1-s5/s4), (D5=1-s6/s4), (D6=1-s7/s1)?

• Ký hiệu

− S1: tổng số các mô dun được xác định trong kiến trúc chương trình

− S2: số các mô đun mà chức năng đúng đắn của nó phụ thuộc vào nguồn dữ liệu đầu vào hay các thủ tục sinh ra dữ liệu được dùng ở ngoài module

− S3: số các môđun có chức năng phụ thuộc vào xử lý trước đó

− S4: số các khoản mục cơ sở dữ liệu (Bao gồm các đối tượng dữ liệu và tất cả các tính chất xác định các đối tượng đó)

− S5: Tổng số các khoản mục dữ liệu đáng chú ý

− S6: số các các khúc dữ liệu(các bản ghi khác nhau hay các đối tượng riêng lẻ) − S7: số các môđun với lối vào và lối ra duy nhất (xử lý ngoại lệ không được xem

là lối ra bội)

• Độ đo

− D1: Cấu trúc chương trình. =1 Khi thiết kế kiến trúc chỉ dùng một phương pháp nhất định, và D1=0 khi khác

− D2: độ độc lập dữ liệu của môđun D2=1-s2/s1 − D3: độc lập xử lý của modun: D3=1-s3/s1 − D4: Kích cỡ cơ sở dữ liệu D4=1-s5/s4 − D5: Độ phân chia cơ sở dữ liệu D5=1-s6/s4 − D6: Đặc trưng vào/ra của mô dun D6=1-s7/s1

24. Sử dụng công thức ΣwiDi với Σwi = 1 như thế nào và để làm gì?

Công thức tính chỉ số chất lượng cấu trúc thiết kế

DSQI= ΣwiDi với i=1tới 6, wi là trọng số tương đối của tầm quan trọng của từng giá trị trung gian Di và Σwi = 1 (Nếu tất cả các Di có trọng số bằng nhau thì wi=0,167)

Cần ghi lại DSQI của các thiết kế thành công trước đây, tính trung bình của chúng. Và từ đó so sánh giá trị trung bình đó với thiết kế hiện đang phát triển.

Nếu chỉ số DSQI lần này thấp hơn nhiều so với giá trị trung bình đó thì cần phải tiếp tục công việc thiết kế và rà soát.

Tương tự nếu tiến hành một số thay đổi chính với thiết kế hiện có thì có thể tính toán được hiệu quả của những thay đổi này lên DSQI.

25. Giải thích nội dung các thành phần và ý nghĩa độ đo SMI = và cách sử dụng nó? và cách sử dụng nó? M T – F a – F c -F d M

SMI là chỉ số trưởng thành phần mềm (Software Multinity Index). Nó chỉ ra tính ổn định của sản phẩm phần mềm (dựa trên những thay đổi xuất hiện cho từng lần đưa ra sản phẩm) - MT: số các mô đun phát hành lần này

- Fc: số các môdun có thay đổi trong lần phát hành này - Fa: số các môdun được thêm vào trong lần này

- Fd: số các môdun của lần phát hành trước mà bị bỏ đi trong lần phát hành này Khi SMI tiến tới 1 thì sản phẩm bắt đầu ổn định. SMI cũng có thể được dùng: - như độ đo cho các hoạt động bảo trì phần mềm theo kế hoạch

- thời gian trung bình để tạo ra lần phát hành sản phẩm phần mềm - các mô hình kinh nghiệm cho nỗ lực bảo trì có thể được phát triển.

26.Số đo độ phức tạp của McCabedựa trên cái gì và những đại lượng cụ thể nào?

- Số đo dựa trên độ phức tạp chu trình trong đồ thị chương trình của một modun+ Số chu trình có chu trình lồng nhau + Số chu trình có chu trình lồng nhau

+ Số chu trình trong một chu trình

- Người ta cũng dùng các miền phẳng của đồ thị phẳng để biểu diễn đồ thị chương trình

27.đảm bảo chất lượng phần mềm dựa trên thống kê nghĩa là gì?Nó gồm những công việc gì? Kể ít nhất năm nguyên nhân của những khuyết điểm trong phần mềm?

Là bảo đảm chất lượng thống kê phản ánh một xu thế ngày càng tăng trong công nghiệp.

Công việc bao gồm:

- Thu thập và phân loại thông tin khiếm khuyết phần mềm.- Cố gắng lần vết để tìm ra nguyên nhân - Cố gắng lần vết để tìm ra nguyên nhân

- Dùng nguyên lý Pare cô lập 20% khiếm khuyết

- Sau khi tìm được nguyên nhân sẽ chỉnh sửa các nguyên nhân của khiếm khuyếtCác nguyên nhân gây ra khiếm khuyết có thể là: Các nguyên nhân gây ra khiếm khuyết có thể là:

- Đặc tả không đầy đủ hoặc sai sót (IES)

- Hiểu nhầm khi giao tiếp với khách hàng (MCC)- Lệch hướng dự định khi đặc tả (IDS) - Lệch hướng dự định khi đặc tả (IDS)

- Vi phạm các chuẩn lập trình (VPS)- Sai trong biểu diễn dữ liệu (EDR) - Sai trong biểu diễn dữ liệu (EDR)

- Không phù hợp với giao diện modun (IMI)- Sai trong logic thiết kế (EDL) - Sai trong logic thiết kế (EDL)

- Thử nghiệm sai hoặc không đầy đủ (IET). . .

28. Nêu công thức khiếm khuyết của một sản phẩm ở một pha phát triển? và công thức tính khiếm khuyết của sản phẩm cuối cùng? Giải thích ý nghĩa của nó? thức tính khiếm khuyết của sản phẩm cuối cùng? Giải thích ý nghĩa của nó?

- Người phát triển cần phải tính chỉ số khiếm khuyết cho mỗi bước chính phát triển phần mềm phần mềm

- Các thông tin để tính mức độ khiếm khuyết+ Di= tổng số các khiếm khuyết + Di= tổng số các khiếm khuyết

+ Si= số các khiếm khuyết nghiêm trọng + Mi= Số các khiếm khuyết vừa phải + Ti =số các khiếm khuyết nhỏ

- Với mỗi bước chính trong phát triển phần mềm cần tính chỉ số pha PIi:PIi=w1(Si/Di) + w2(Mi/Di) + w3(Ti/Di) PIi=w1(Si/Di) + w2(Mi/Di) + w3(Ti/Di)

Trong đó w1, w2, w3 là trọng số tương ứng với các khiếm khuyết nghiêm trọng, vừa phải và nhỏ.

- Chỉ số khiếm khuyết DI được tính như sau:DI= (PI1 + 2PI2 +. . .+iPIi)/PS DI= (PI1 + 2PI2 +. . .+iPIi)/PS

Trong đó PS là kích cỡ của sản phẩm (là LOC = số dòng mã, hoặc số tuyên bố thiết kế, hoặc số trang tài liệu) tuỳ theo từng bước.

Theo công thức: các khiếm khuyết càng về sau càng về sau càng nhân với hệ số lớn

29. Tiếp cận hình thức cho SQA nghĩa là gì? Quá trình phòng sạch là gì? Phương châm của kỹ thuật này là gì? châm của kỹ thuật này là gì?

Người ta nhận thấy cần phải dùng một cách tiếp cận hình thức hơn trong việc bảo đảm chất lượng phần mềm, cách tiếp cận này sẽ bổ sung cho các hoạt động mô tả ở trên

Tiếp cận hình thức hoá: đặc tả hình thức cho phép chứng minh tính đúng đắn, kiểm tra lỗi, chuyển tự động thành chương trình . . . làm tăng chất lượng.

- Kiểm chứng chương trình một cách hình thức (chứng minh tính đúng đắn) và bảo đảm chất lượng phần mềm thống kê hợp lại với nhau cho ta ta một kỹ thuật cải đảm chất lượng phần mềm thống kê hợp lại với nhau cho ta ta một kỹ thuật cải thiện chất lượng sản phẩm, được gọi là quá trình phòng sạch.

- Phương châm của kỹ thuật này là: Phòng khiếm khuyết hơn là trừ khiếm khuyết

2.2. Các độ đo về sự tin cậy và an toàn

30. Độ tin cậy của phần mềm là cái gì? Đo độ tin cậy dựa trên những dữ liệu nào?

- Độ tin cậy của phần mềm là một yếu tố quan trọng trong chất lượng phần mềm.

- Độ tin cậy phần mềm được định nghĩa theo thuật ngữ thống kê: “xác suất thao tác không thất bại của chương trình máy tính trong một môi trường đặt biệt với một thời gian đã định rõ”.

- Độ tin cậy của phần mềm được đo trực tiếp và được đánh giá qua các dữ liệu phát triển và các dữ liệu lịch sử.

31. Thế nào là thất bại của phần mềm? Có mấy thang bậc? là những thang bậc nào?

Khi nói đến độ tin cậy phần mềm thì nảy sinh câu hỏi “thất bại” nghĩa là gì? Thất bại là việc không thi hành đúng các yêu cầu phần mềm.

• Có các thang bậc:

- Mức độ: Thất bại có thể đơn thuần chỉ là sự phiền phức, có khi thất bại là cả một thảm họa.

- Thời gian: Để laọi trừ thất bại có khi chỉ mất vài giây, có khi mất cả tuần, cả tháng. - Hậu quả: Khi loại bớt thất bại thì có thể lại sinh ra các lỗi khác và kéo theo thất bại

khác.

32. Nêu chỉ tiêu để tính độ tin cậy? Nêu công thức tính độ sẵn sàng? Giải thích ý nghĩa của nó? thích ý nghĩa của nó?

- Với các hệ thống dựa trên máy tính thì một số đo đơn giản về độ tin cậy chính là thời gian trung bình giữa hai lần thất bại kế tiếp (MTBF- Mean Time Between Failure):

MTBF = MTTF + MTTR

- MTTF (Mean Time To Failure) là thời gian hoạt động liên tục trung bình - MTTR (Mean Time To Repair) là thời gian sửa xong lỗi trung bình • Ý nghĩa:

MTBF là cách đo hữu ích hơn nhiều so với tỷ số “số khiếm khuyết”/KLOC (LOC-Line Of Code) vì người dùng cuối cùng quan tâm tới những thất bại chứ không quan tâm đếm lỗi (nhà nghiên cứu).

Do các lỗi trong chương trình không có cùng mức độ (nặng, nhẹ khác nhau) nên số các lỗi chỉ cho ta một chỉ số nhỏ về độ tin cậy của hệ thống.

VD: Khi đưa 1 chương trình vào vận hành trong 14 tháng , trong các lỗi chưa được phát hiện có lỗi chỉ được phát hiện sau dăm chục năm, các lỗi còn lại với MTBF khoảng 18-24 tháng

- Độ sẵn sàng phần mềm là xác suất để chương trình vận hành đúng với yêu cầu ở các thời điểm đã định và được tính như sau:

MTTF/(MTTF + MTTR) x100% Ý nghĩa

Thể hiện tỷ lệ thời gian làm việc trung bình trong tổng thời gian vận hành

Là độ đo gián tiếp về khả năng bảo trì được (số này càng gần 100 là đã bảo trì tốt)

33. Có những mô hình độ tin cậy nào? Nó dựa trên tham biến nào và trên giả thiết nào? Mô hình độ tin cậy gieo hạt dựa trên ý tưởng nào? Mục tiêu để làm gì Mô hình độ tin cậy gieo hạt dựa trên ý tưởng nào? Mục tiêu để làm gì

• Có hai mô hình độ tin cậy phần mềm:

- Mô hình tiên đoán độ tin cậy như là một hàm của thời gian lịch

- Mô hình tiên đoán độ tin cậy như là một hàm của thời gian xử lý đã trôi qua (thời gian vận hành của CPU). Loại này được coi là tốt hơn.

• Các mô hình độ tin cậy phần mềm dựa trên các giả thiết:

- Thời gian gỡ lỗi giữa các xuất hiện sai có phân phối mũ với nhịp độ xuất hiện sai, nhịp độ này tỷ lệ thuận với số các lỗi còn lại

- Mỗi lỗi bị phát hiện sẽ được loại trừ ngay lập tức và số lỗi còn lại giảm đi 1 - Nhịp độ thất bại giữa các lỗi là không thay đổi

• Các giả thiết này còn phải bàn: vì một lỗi được loại trừ thì có thể nhiều lỗi khác lại được sinh ra.

• Một lớp các mô hình độ tin cậy phần mềm dựa vào các đặc trưng tồn tại của một chương trình và tính toán số dự đoán các sai tồn tại trong phần mềm

• Các mô hình này dựa trên các quan hệ định lưwngj như một hàm của độ đo tính phức tạp, chúng liên kết thiết kế đặc chủng hoặc các thuộc tính hướng mã của chương trình với “một ước định số khải phát các lỗi được tin rằng có trong chương trình đã cho”

Mô hình độ tin cậy gieo hạt dựa trên ý tưởng nào? Mục tiêu để làm gì?

• Ý tưởng: Một chương trình được gieo một cách ngẫu nhiên một số các lỗi(k) hiệu chuẩn (calibration) vào một chương trình; sau đó đem kiểm thử (bằng một số ca thử nghiệm); tính xác suất tìm được j lỗi trong tập J lỗixem như tương ứng với xác suất tìm được k

lỗi đã gieo trong K lỗi đã nhúng vào chương trình. j/J=k/K • Mục đích:

- dùng như một chỉ báo của độ tin cậy phần mềm;

- hoặc một cách thực tiễn hơn như một độ đo “năng lực phát hiện sai” của một tập hợp các ca thử nghiệm.

34 Độ an toàn phần mềm là cái gì?Có những phương pháp nào để phân tích độ an toàn? toàn?

• An toàn phần mềm là một hoạt động bảo đảm chất lượng phần mềm tập trung vào việc minh định và đánh giá các mối nguy hiểm tiềm ẩn có thể gây ảnh hưởng phản tác dụng thậm chí là gây ra thất bại của toàn hệ thống.

• Độ an toàn phần mềm xem xét lại cách thức lỗi nảy sinh trong một điều kiện nào đó có thể dẫn tới rủi ro. Nghĩa là lỗi không được xem xét trong chân không mà được đánh giá trong hoàn cảnh của toàn bộ hệ thống dựa trên máy tính.

Có các phương pháp như: • Phân tích cây lỗi:

 dựng lên một mô hình đồ thị các tổ hợp tuần tự và song song các sự kiện dẫn đến một sự kiện hay một trạng thái hệ thống mạo hiểm.

 Dùng một cây lỗi phát triển tốt có thể quan sát được hậu quả của một dãy các thất bại liên kết với nhau, xuất hiện trong các thành phần khác nhau của hệ thống.

• Logic thời gian thực: xây dựng mô hình hệ thống bằng các đặc tả các sự kiện và các hành động tương ứng. Mô hình sự kiện – hành động có thể được phân tích bằng cách dùng các toán tử logic để thử nghiệm các quyết đoán an toàn đối với các thành phần của hệ thống và định thời cho chúng

• Mô hình lưới petry: dùng để xác định xem lỗi nào là nghiêm trọng nhất

35. Khảo sát nhu cầu SQA gồm những nội dung gì? nhằm trả lời các câu hỏi gì?nếu có nhu cầu thì mình làm gì? nhu cầu thì mình làm gì?

- Gồm ba nội dung nhằm trả lời ba câu hỏi

+ Kiểm kê các chính sách SQA: chính sách, thủ tục, chuẩn nào đã có trong các pha phát triển?

+ Đánh giá vai trò của kỹ nghệ phần mềm, bảo đảm chất lượng trong tổ chức hiện tại có quyền lực đến đâu?

+ Đánh giá mối quan hệ SQA: Giao diện chức năng giữa SQA với các đơn vị khác như thế nào? với các người thực hiện rà soát kỹ thuật chính thức, quản lý cấu hình và thử nghiệm

- Nếu có nhu cầu thì cần phải tiến hành đánh giá cẩn thận bằng quy tắc bỏ phiếu.

36. Có những vấn đề gì đạt ra khi triển khai SQA? Lợi íchcủa SQA là gì? Nguyên tắc chi phí hiệu quả của SQA là gì? chi phí hiệu quả của SQA là gì?

- SQA có những vấn đề sau đây

+ Khó thiết lập trong một tổ chức nhỏ: khó có nguồn lực để thực hiện các hoạt động cần thiết mà hiện chưa có.

+ Nó biểu thị một thay đổi có tính văn hoá: nên chẳng bao giờ dễ dàng thực hiện + Nó đòi hỏi tiêu tốn không ít tiền

- SQA có những lợi ích sau đây:

+ Phần mềm có ít các khiếm khuyết tiềm ẩn hơn và do đó mất ít công sức và thời gian kiểm thử và bảo trì.

+ Độ tin cậy cao hơn và do đó khách hàng thoả mãn hơn + Giảm phí tổn bảo trì

+ Giảm phí tổn tổng thể toàn bộ vòng đời của phần mềm

- Nguyên tắc chi phí: Ở mức cơ bản SQA được xem là hiệu quả về chi phí nếu C3>C1 + C2

Ở đây:

+ C3 là chi phí từ các sai do không có SQA + C1 là chi phí cho SQA của chương trình

+ C2 là chi phí do các sai không tìm thấy khi chương trình đã có SQA

3. Kiểm thử phần mềm

3.1. Khái niệm về kiểm thử

37. Tại sao phải kiểm thử phần mềm? Mục tiêu kiểm thử là gì? Từ đó có quan niệm già sai về kiểm thử phần mềm? già sai về kiểm thử phần mềm?

Kiểm thử phần mềm là yếu tố quyết định của SQA và khâu điển hình của rá soát đặc tả thiết kế và lập mã

•Lý do cần kiểm thử phần mềm:

muốn nhìn thấy phần mềm như là một phần tử của hệ thống hoạt động

Hạn chế chi phí phải trả cho các thất bại do lỗi gây ra sau này

có kế hoạch tốt cho suốt quá trình phát triển

o Tầm quan trọng. Kiểm thử chiếm: - 40% tổng công sức phát triển - >=30% tổng thời gian phát triển

Với phần mềm ảnh hưởng tới sinh mạng chi phí có thể gấp từ 3 dến 4 lần tổng chi phí khác cộng lại

•Mục tiêu kiểm thử (Glen Myers): Kiểm thử là một quá trình vận hành chương trình để

Một phần của tài liệu Tài liệu Câu hỏi ôn tập kỹ nghệ phần mềm nâng cao ppt (Trang 27)

Tải bản đầy đủ (DOC)

(60 trang)
w