Chuong 1doc

15 3 0
Chuong 1doc

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thêm vào đó, kiểm tra chất lượng phần mềm lại là một hoạt động khó được chấp nhận đối với việc quản lý vì nó tốn kém, mất thời gian và hiếm khi phát hiện được lỗi. Kết quả là phần lớn cá[r]

(1)

CHƯƠNG 1

TIÊU CHUẨN PHẦN MỀM VÀ ĐỘ TIN CẬY PHẦN MỀM

I TIÊU CHUẨN CỦA SẢN PHẨM PHẦN MỀM

Để đánh giá sản phẩm công nghệ tốt hay xấu, phải nghiên cứu để đưa tiêu chuẩn đánh giá chúng Chất lượng sản phẩm phần mềm bao gồm nhiều yếu tố dựa tiêu chuẩn tổng kết

1 Tính

Một sản phẩm thực gọi thực xác chức đặc tả thỏa mãn mục đích công việc khách hàng

Như vậy, sản phẩm phải so sánh chuẩn đặt để kiểm tra tính điều dẫn đến có nhiều bậc thang tính

Liệt kê theo thang giảm dần, tính phần mềm có thể: + Tuyệt đối đúng,

+ Đúng , + Có lỗi,

+ Có nhiều lỗi,

Ví dụ: Một hệ thống xử lý liệu không chạy file sở liệu rỗng có 104 bảng ghi, hệ thống vi phạm tính đúng.

2 Tính khoa học

(2)

- Khoa học nội dung

- Khoa học hình thức thao tác 3 Tính tin cậy

Tính tin cậy sản phẩm phần mềm thể sản phẩm trông chờ thực chức dự kiến với độ xác yêu cầu

4 Tính kiểm thử được

Phần mềm kiểm thử phần mềm mà có cách dễ dàng để kiểm tra Đảm bảo thực chức dự định

5 Tính hữu hiệu

Tính hữu hiệu phần mềm xác định qua tiêu chuẩn sau:

- Hiệu kinh tế ý nghĩa; giá trị thu áp dụng sản phẩm - Tốc độ xử lý sản phẩm

- Giới hạn tối đa sản phẩm miền xác định chương trình xác định qua khối lượng tối đa đối tượng mà sản phẩm quản lý

6 Tính sáng tạo

Một sản phẩm phần mềm có tính sáng tạo thảo mãn tính chất sau:

- Sản phẩm thiết kế cài đặt

- Sản phẩm phục vụ cho đặc thù riêng

- Sản phẩm có đặc điểm khác mặt nguyên lý so với sản phẩm hành

(3)

7 Tính an tồn

Tính an tồn sản phẩm phần mềm đánh giá thơng qua:

- Có chế bảo mật bảo vệ đối tượng hệ thống phát sinh quản lý

- Bản thân sản phẩm đặt chế bảo mật nhằm chống chép trộm làm biến dạng sản phẩm

8 Tính tồn vẹn

Sản phẩm phần mềm có tính tồn vẹn nó:

- Có chế ngăn ngừa việc thâm nhập bất hợp pháp vào phần mềm hay liệu ngăn ngừa việc phát sinh đối tượng (dữ liệu, đơn thể ) sai quy cách mâu thuẩn với đối tượng sẳn có

- Khơng gây nhập nhằng thao tác Đảm bảo quán cú pháp - Có chế phục hồi lại tồn phần đối tượng thuộc toàn

hoặc phần đối tượng thuộc diện quản lý sản phẩm trường hợp có cố hỏng máy, điện đột ngột

9 Tính đối xứng đầy đủ chức năng

Sản phẩm cung cấp đủ chức cho người sử dụng chức sản phẩm có cặp loại trừ lẫn nhau, ví dụ chức đối xứng thường gặp:

+ Tạo lập - Hủy bỏ,

+ Thêm - Bớt (xem - xóa), + Tăng - Giảm,

(4)

Sản phẩm phần mềm cần đạt số tiêu chuẩn tối thiểu thừa nhận thị trường khoa học, chuyển đổi dạng cấu trúc liệu riêng hệ thống sang chuẩn ngược lại

Tính chuẩn phần mềm thể sản phẩm phù hợp với chuẩn quốc gia quốc tế

Trong xây dựng phần mềm, cần tuân theo nguyên tắc chuẩn hoá sau: + Chỉ thiết kế xây dựng phần mềm sau xác định chuẩn

+ Mọi thành phần phần mềm phải thiết kế cài đặt theo chuẩn (tối tiểu chuẩn phải tương thích nhau)

11 Tính độc lập

Phần mềm cần nên đảm bảo tính độc lập với đối tượng sau: - độc lập với thiết bị,

- độc lập với cấu trúc đối tượng mà sản phẩm quản lý, - độc lập với nội dung đối tượng mà sản phẩm quản lý 12 Tính dễ phát triển, hồn thiện

Thể phần mềm mở rộng cho phương án khác mở rộng, tăng cường mặt chức cách rõ ràng

13 Hồ sơ sản phẩm phần mềm

Bao gồm thành phần liệt kê sau: nhiên theo yêu cầu quản lý quyền tác giả phần mềm bỏ bớt hay bổ sung thêm số thành phần cần thiết:

Đặc tả hệ thống

(5)

Bản mẫu thực hay "trên giấy" Tài liệu người dùng sơ

Đặc tả thiết kế

Mô tả thiết kế liệu Mô tả thiết kế kiến trúc Mô tả thiết kế module Mô tả thiết kế giao diện

Mô tả vật (nếu kỹ thuật hướng vật dùng) Bản in chương trình gốc

Chương trình nguồn

Bản in chương trình nguồn (listing)

Bản mơ tả thuật tốn tương ứng với chương trình nguồn Kế hoạch thủ tục kiểm thử

Các trường hợp kiểm thử kết ghi lại Tài liệu vận hành cài đặt

Bản liệt kê lỗi cách xử lý

Bản liệt kê thông số đặc trưng hệ thống Chương trình thực

Các module mã - thực Các module móc nối

Chương trình đích lưu trữ vật mang tin Mơ tả sở liệu

Sơ đồ cấu trúc tệp Nội dung ban đầu

Tài liệu người sử dụng xây dựng Bản hướng dẫn sử dụng chi tiết Bản tóm tắt hướng dẫn sử dụng

Các chương trình trợ giúp có liên quan Tài liệu bảo trì

(6)

Yêu cầu bảo trì

Trình tự thay đổi kỹ nghệ

Các chuẩn thủ tục cho kỹ thuật phần mềm

Các tư liệu khác: hợp đồng, phiên bản, tài liệu pháp lý, 14 Một số tính chất khác

Ngồi tính chất trên, tuỳ theo cơng dụng mà sản phẩm phần mềm cần phải bổ sung tính chất sau:

1 Tính phổ dụng: áp dụng cho nhiều lĩnh vực theo nhiều chế độ làm việc khác

2 Tính đơn giản: mang yếu tố tâm lý: dễ thao tác, dễ học, dễ hoàn thiện kỹ khai thác sản phẩm, sáng, dễ hiểu, dễ nhớ

3 Tính liên tác: tính chất cần có để gắn hệ thống với hệ thống khác Tính súc tích: độ gọn chương trình tính theo số mã dịng lệnh

5 Tính dung thứ sai lầm: tức hỏng hóc xuất chương trình gặp phải lỗi chấp nhận

6 Tính module: độc lập chức thành phần chương trình Tính theo dõi được, tính dễ vận hành,

II ĐỘ TIN CẬY CỦA PHẦN MỀM

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

(7)

khơng phả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

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

(8)

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

1 Xét duyệt yêu cầu phần mềm Xét duyệt thiết kế

3 Kiểm chứng phần mềm xét duyệt hợp lệ Kiểm toán chức

5 Kiểm toán vật lý

6 Kiểm toán tiến trình 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

2 Độ tin cậy phần mềm

2.1 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

(9)

+ 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 ngồi ý 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

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 hồnh hành

2.2 Độ 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 khơng thể xem hệ đáng tin

(10)

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 khơng phải 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 khơng có 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

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

1 Đặ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

2 Đ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ệ

(11)

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 tốn độ đo mức tin cậy sau số đáng kể (về mặt thống kê) thất bại quan sát

4 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

(12)

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ế

.2.4 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

1 Tránh lỗi

Tất kỹ sư phần mềm hẳn muốn sản phần mềm khơng có 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 khơng có 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 khơng có lỗi khơng thiết phần mềm luôn hành xử người dùng dự đoán

(13)

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

+ Tăng cường việc duyệt lại trình phát triển thẩm định hệ phần mềm + Chấp nhận triết lý chất lượng tổ chức: chất lượng bánh lái trình phát triển phần mềm

+ Việc lập kế hoạch cẩn thận cho việc thử nghiệm hệ thống để trưng lỗi mà lỗi chưa phát trình duyệt lại để định lượng độ tin cậy hệ thống

2 Thứ lỗi

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 tồ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

3 Xử lý bất thường

(14)

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 khơng có 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

4 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

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ị

(15)

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 tồ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 hồ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 tồn tái lưu kho từ điểm kiểm tra gần

Ngày đăng: 25/05/2021, 22:27

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan