Một số mô hình khác

Một phần của tài liệu khảo sát và đánh giá sản phẩm phần mềm theo các tiêu chuẩn chất lượng (Trang 31 - 76)

* Mô hình MIL-STD-498 của Bộ Quốc phòng Mĩ.

Bộ tiêu chuẩn trong mô hình này có những đánh giá cho sản phẩm phần mềm mang tính đặc thù. Nó bao gồm các tiêu chí sau:

- Các trường hợp kiểm tra, thủ tục, dữ liệu, kết quả kiểm tra phải thích hợp. - Phù hợp và thống nhất với các sản phẩm được chỉ định.

- Chứa đựng tất cả các thông tin có thể dùng được. - Sự bao quát.

- Tính khả thi.

- Phù hợp và thống nhất bên trong sản phẩm. - Thể hiện một định hướng hay.

- Thể hiện bằng chứng là một sản phẩm phần mềm thỏa mãn các điều kiện. - Có thể kiểm tra (testable).

- Có thể hiểu được (Understandable).

Các tiêu chí đánh giá trong mô hình này nhằm mục đích xác định chất lượng theo yêu cầu của người đầu tư. Ngoài ra trong bộ tiêu chuẩn này còn có các tài liệu mô tả độ đo, phương pháp đo và đánh giá cho các loại sản phẩm phần mềm.

* Mô hình tiêu chuẩn của Úc.

Hội đồng tiêu chuẩn Quốc gia của Úc đã lấy các tiêu chuẩn ISO làm cơ sở để xây dựng nên tiêu chuẩn về chất lượng của mình. Các thuộc tính biểu thị chất lượng liên quan đến các đối tượng có cấu trúc c ủa chương trình được chia thành 4 loại được xác định như sau:

a) Tính đúng đắn - Correcness.

- Có thể tính toán - Computable: Các kết quả tuân theo các luật lệ toán học.

- Hoàn chỉnh -Complete: Mọi thành phần đều có cấu trúc.

- Có giá trị - Assigned: Các biến phải được gán giá trị trước khi sử dụng.

- Chính xác - Precise: Sự chính xác trong tính toán.

- Được khởi tạo - Initialized: Phép gán cho các thực thể trước khi sử dụng.

- Tiến triển - Progressive: Các nhánh, phép lặp sẽ làm giảm các chức năng không ổn định.

- Thay đổi - Variant: Vòng lặp theo dõi những ảnh hưởng từ các chức năng hay thay đổi.

- Nhất quán, toàn vẹn - Consistent: Không có ảnh hưởng phụ hay những lần sử dụng sai.

b) Cấu trúc - Structured. - Giải quyết - Resolved. - Đồng nhất - Homogeneous. - Hiệu quả - Effective.

- Không dư thừa - Non-redundant.

- Trực tiếp mô tả vấn đề - Direct Problem. - Có thể điều chỉnh.

- Độc lập về giới hạn-Range-independent:Áp dụng cho biến, kiểu, vòng lặp.

- Sử dụng - Utilized: Để điều khiển tính dư thừa dữ liệu.

c) Tính modun - Modularity.

- Tham số hoá - Parameterized: Mọi dữ liệu đầu vào được truy nhập thông qua danh sách tham số.

- Kết hợp - Loosely coupled: Dữ liệu được kết hợp.

- Đóng gói - Encapsulated: Không sử dụng biến toàn cục.

- Gắn kết - Cohesive: Các mối quan hệ giữa các thành viên được phát huy tối đa.

- Đặc điểm chung - Generic: Tạo ra tính độc lập của từng modun. (adsbygoogle = window.adsbygoogle || []).push({});

- Trừu tượng.

d)Tính mô tả - Descriptive.

- Xác định - Specified: Các điều kiện trước và sau phải được chỉ ra.

- Chú thích - Documented: Các chú thích gắn liền với mọi khối chương trình.

- Tự mô tả - Self-descriptive: Xác định những tên có nghĩa.

Kết luận: Từ một số mô hình đánh giá chất lượng sản phẩm phần mềm đã nêu trên, ta có thể thấy ISO là mô hình chuẩn quốc tế, quy định những yêu cầu cần đạt được nhưng không chỉ ra cách thức để thực hiện. Còn mô hình Tiêu chuẩn của Úc, các phép đo được đưa ra chỉ cho ta các kết quả dạng định tính, thang đánh giá không được lượng hóa thành các con số cụ thể để so sánh các mức khác nhau. Các mô hình đánh giá chất lượng đều có các tiêu chí đánh giá đặc thù nhưng thiếu hẳn yếu tố định lượng, cần có một độ đo các tiêu chí cụ thể hơn.

1.5. Các độ đo chất lƣợng phần mềm - Metrics (ISO/IEC 9126-2)

đo đạc và phương pháp xác định chất lượng sản phẩm phần mềm dựa trên một mô hình chất lượng mà được xác định trước đó . Cụ thể hơn có thể chia ra thành hai lĩnh vực: Độ đo trong và độ đo ngoài. Hai lĩnh vực đo này được áp dụng trong suốt thời gian của chu trình sản xuất phần mềm (software life-cycle).

1.5.1. Độ đo trong

Các độ đo trong được đo trong quá trình thiết kế và viết code lệnh chương trình (trong giai đoạn đầu của quá trình phát triển). Độ đo trong thường sử dụng để:

- Mô tả chất lượng sản phẩm phần mềm, bao gồm các đặc điểm cụ thể đã được định nghĩa trong ISO/IEC 9126-1 khi kiểm thử hay vận hành.

- Khẳng định rằng một phần mềm đạt được các yêu cầu chất lượng bên trong. Ngoài ra còn để đánh giá số các thuộc tính của một sản phẩm quyết định khả năng của nó có thoả mãn các yêu cầu đã đặt ra và các yêu cầu có liên quan hay không khi được sử dụng dưới những điều kiện đã xác định.

Độ đo trong có thể được sử dụng để đo đạc các thuộc tính bên trong, hay chỉ ra các thuộc tính bên ngoài theo quan điểm của người thiết kế. Quan điểm này là không thay đổi trong phần mềm trung gian hay các sản phẩm có thể thực hiện được. Các số đo của độ đo trong sử dụng số lần hay tần số của các thành phần tạo nên phần mềm mà chúng xuất hiện trên văn bản mã nguồn, trên sự biểu diễn đồ thị hay bảng các điều khiển, luồng dữ liệu, hay cấu trúc chuyển đổi trạng thái hay trên văn bản của chính sản phẩm và chúng có thể được đo đạc không cần hoạt động.

Mặc dù được chỉ ra riêng rẽ, nhưng độ đo trong và độ đo ngoài có mối quan hệ gần gũi với nhau. Khi đã xác định được các yêu cầu chất lượng sản phẩm phần mềm, mỗi đặc điểm cụ thể về chất lượng được lên danh sách, những yếu tố đó được coi là cần thiết cho sự hoạt động của phần mềm hay hệ thống chứa phần mềm đó và người dùng. Khi đó, các độ đo ngoài tương ứng cùng với mức độ đáp ứng được xác định rõ ràng để lượng hoá các yêu cầu chất lượng và để sử dụng cho việc xác nhận phần mềm thoả mãn các yêu cầu sử dụng cụ thể trong khi phần mềm đang hoạt động.

Mặt khác, các thuộc tính chất lượng bên trong của sản phẩm phần mềm được xác định rõ ràng để hình thành kế hoạch xác định các thuộc tính chất lượng bên ngoài và sau đó đưa chúng vào trong các sản phẩm trung gian trong quá trình phát triển.

Từ đó, các độ đo trong tương ứng và mức độ đáp ứng được chỉ rõ để xác định số lượng các thuộc tính chất lượng phần mềm bên trong và để sử dụng trong việc xác định các phần mềm trung gian phù hợp với sự đặc tả chất lượng bên trong trong thời gian phát triển phần mềm.

Người ta cho rằng, độ đo trong nên được thiết kế càng phù hợp với mục đích của độ đo ngoài (nếu có thể) càng tốt, để tạo ra tính hợp lý của sự dự đoán các giá trị đã đo đạc của độ đo ngoài. Tuy nhiên, nhìn chung là khó có thể thiết kế một mô hình lý thuyết chặt chẽ mà mô hình đó có các độ đo trong quan hệ chặt với mục đích độ đo ngoài. Vì vậy, một mô hình lý thuyết không rõ ràng có thể được tạo ra và mức độ của mối quan hệ có thể được xây dựng qua thống kê trong thời gian sử dụng độ đo.

1.5.2. Độ đo ngoài

Các độ đo ngoài thích hợp với sản phẩm phần mềm đã được đánh giá và thường trong giai đoạn sau của quá trình phát triển hoặc sau khi đi vào quá trình vận hành. Độ đo ngoài đem lại nhiều lợi ích cho người sử dụng, người đánh giá, người kiểm tra hay người phát triển trong việc đánh giá chất lượng sản phẩm phần mềm và đưa ra sự trình diễn trong thời gian kiểm tra hoặc vận hành. Độ đo ngoài thường được sử dụng để:

+ Mô tả chất lượng sản phẩm phần mềm trong quá trình kiểm tra hay vận hành, bao gồm các đặc điểm cụ thể về tiêu chí chất lượng phần mềm đã định nghĩa trong ISO/IEC 9126-1.

+ Xác nhận phần mềm đáp ứng được các yêu cầu chất lượng bên ngoài. Các yêu cầu đã đặt ra và các yêu cầu có liên quan khi được sử dụng dưới những điều kiện xác định.

+ Dự đoán chất lượng thực tế đang sử dụng, nếu độ đo được sử dụng khi kiểm thử.

+ Đánh giá và lấy thông tin phản hồi từ người dùng về mức độ đáp ứng các yêu cầu đặt ra và các yêu cầu có liên quan khi họ thực tế sử dụng.

Vì vậy, các độ đo ngoài được thiết kế để đo đạc một sản phẩm phần mềm dựa trên những sự đo đạc hoạt động của các thành phần trong hệ thống, bằng cách

kiểm tra, vận hành và quan sát hệ thống hay phần mềm thực hiện. Các phép đo dưới đây được coi là thích hợp cho các độ đo ngoài (measurement).

- Các phép đo hoạt động phần mềm khi kiểm thử, vận hành và trong việc kết hợp với phần mềm, phần cứng hay hệ thống khác.

- Các phép đo hoạt động người dùng hay hiệu quả công việc của người dùng. - Các phép đo về các yếu tố khác như các vấn đề của cuộc sống và sức khoẻ con người, các tài nguyên môi trường tự nhiên, sự phá huỷ dữ liệu, tính không nhất quán hay sự sai lệch thông tin, sự mất an toàn, sự giảm sút dịch vụ, giảm sút các mặt thuận lợi hay sự giảm sút lợi nhuận trên thị trường, vấn đề tăng trưởng hay thiệt hại về kinh tế...

Lưu ý: Các độ đo ngoài có thể sử dụng để chỉ ra các thuộc tính bên trong, các thuộc tính đó là các tính chất của chính sản phẩm phần mềm. Ví dụ, mật độ các lỗi tìm thấy trong khi thực hiện việc kiểm tra có thể được sử dụng để dự báo và chỉ ra mật độ các lỗi còn lại có thể có trong phần mềm. Bên cạnh đó, các số đo của các phép đo trong có thể được sử dụng để tính toán các phép đo ngoài. Ví dụ, kích thước của chương trình hay kích thước của chức năng có thể sử dụng để chuẩn hoá phép đo ngoài.

Kết luận: Dựa vào những cách thức trên, các độ đo cần có chi tiết đo đạc cụ thể mang yếu tố định lượng cho từng tiêu chí đã được nêu trong ISO 9126-1. Chẳng hạn như Sử dụng phép đo gì; Công thức tính; Phạm vi phần tử dữ liệu...

Chƣơng 2 (adsbygoogle = window.adsbygoogle || []).push({});

PHƢƠNG PHÁP ĐÁNH GIÁ SẢN PHẨM PHẦN MỀM THEO TIÊU CHUẨN CHẤT LƢỢNG

2.1. Phân loại phần mềm

2.1.1. Phân loại theo phương thức hoạt động

Dựa vào phương thức hoạt động có thể chia phần mềm thành ba loại chính: * Phần mềm hệ thống: Là phần mềm giúp đỡ hệ thống máy tính hoạt động. Nhiệm vụ chính là tích hợp, điều khiển và quản lý các phần cứng riêng biệt của hệ thống máy tính.

- Phần mềm hệ thống thực hiện các chức năng như chuyển dữ liệu từ bộ nhớ vào đĩa, xuất văn bản ra màn hình. Các phần mềm hệ thống đặc biệt gồm: Hệ điều hành, chương trình điều khiển thiết bị hay trình vận hành (driver), công cụ lập trình, chương trình dịch, chương trình kết nối và chương trình tiện ích.

- Thư viện phần mềm cung cấp các chức năng tổng quát cũng được xem là phần mềm hệ thống, như thư viện chuẩn C.

- Phần mềm hệ thống được lưu trên các loại bộ nhớ không thay đổi được, như lên chíp, được gọi là phần sụn.

* Phần mềm ứng dụng: Có khả năng làm cho máy tính thực hiện trực tiếp một công việc nào đó theo yêu cầu của người dùng. Một số phần mềm riêng biệt thường có giao diện và tính năng tương tự, làm người dùng dễ dàng học và sử dụng. Các phần mềm thường tương tác được với nhau để đem lại lợi ích cho người dùng. Phần mềm ứng dụng được chia thành nhiều loại khác nhau:

+ Phần mềm văn phòng (Offices): Microsoft Office, Vietkey, Unikey, Adobe Reader, Solid Converter…

+ Phần mềm đa phương tiện (Multimedia): Window Media, KMPlayer, Gom, các chương trình convert…

+ Phần mềm đồ họa (Graphics): Photoshop, Corel, AutoCad…

+ Phần mềm tiện ích Internet: Internet Explorer, FireFox, Yahoo Messenger, Skype, các chương trình hỗ trợ dowload, tăng tốc truy cập internet…

+ Phần mềm bảo mật (Security): Các chương trình về Antivirus, Firewall, Deepfreez…

+ Phần mềm trò chơi (Game): Tất cả các games.

+ Phần mềm giáo dục: Lecture Maker, Violet, Adobe Presenter, FlashPlayer… + Phần mềm cơ sở dữ liệu: SQL server, Access, Foxpro…

* Phần mềm chuyển dịch mã: Bao gồm trình biên dịch và trình thông dịch. Loại chương trình này sẽ đọc các câu lệnh từ mã nguồn được viết bởi các lập trình viên bằng một ngôn ngữ lập trình và dịch nó sang dạng ngôn ngữ máy. Cũng có thể dịch sang một dạng khác như là tập tin đối tượng (object file) và các tập tin thư viện (library file) mà các phần mềm khác (như hệ điều hành chẳng hạn) có thể hiểu để vận hành máy tính thực thi các lệnh.

2.1.2. Phân loại theo khả năng ứng dụng

Dựa vào khả năng ứng dụng có thể chia phần mềm thành hai loại chính: * Những phần mềm không phụ thuộc: Bất kỳ khách hàng nào cũng có thể mua để sử dụng. Ví dụ, phần mềm về cơ sở dữ liệu như Oracle, đồ họa như Photoshop, soạn thảo và xử lý văn bản…

* Những phần mềm được viết theo đơn đặt hàng hay hợp đồng của một khách hàng cụ thể nào đó (công ty, bệnh viện, trường học…). Ví dụ, phần mềm điều khiển, phần mềm hỗ trợ bán hàng, quản lý nhân viên…

2.1.3. Phân loại theo nhu cầu của người dùng

Dựa vào nhu cầu của người dùng, chia phần mềm làm bẩy nhóm chính: * Nhóm các hệ điều hành: Các chương trình quản lý ổ đĩa, chương trình quản lý các tệp, quản lý thư viện, quản trị mạng, quản lý các chương trình dịch.

* Nhóm chương trình dịch: Mỗi ngôn ngữ có một chương trình dịch riêng. * Nhóm các chương trình ứng dụng: Gồm có những chương trình soạn thảo văn bản, chương trình xử lý bảng tính điện tử, các chương trình đồ họa, chương trình tạo giao diện thân thiện giữa người dùng và hệ điều hành, các chương trình mở rộng các chức năng tệp.

* Nhóm các tiện ích và trò chơi: Chương trình tìm và diệt virus, các trò chơi (games).

* Nhóm các hệ quản trị cơ sở dữ liệu.

* Nhóm các chương trình ứng dụng có tính hệ thống.

* Nhóm các chương trình xử lý dữ liệu đa năng: Chương trình phục vụ tính toán cấp cơ sở, hệ chuyên gia, hệ tương tự, hệ mô phỏng, hệ tự động thiết kế, dạy học và tự học. Chương trình xử lý, nhận dạng, phân tích, tổng hợp tiếng nói, hình ảnh. Tất cả những chương trình điều khiển quy trình công nghiệp.

2.2. Độ đo ngoài cho sản phẩm phần mềm

Theo cách thức và phương pháp đã nêu ở chương 1, dưới đây tham khảo ví dụ minh họa của Nguyễn Thiện Luận trong “Giáo trình đo lường phần mềm” [2],

minh họa về độ đo ngoài cho các tiêu chí đánh giá sản phẩm phần mềm khi đã ở giai đoạn kết thúc và đưa vào vận hành dựa trên mô hình ISO 9126-2. Các độ đo này được trình bày như vi ệc đề xuất ví dụ tham khảo đ ể minh họa cho mô hình chất lượng ISO 9126 đã nêu trên.

Tiêu chuẩn 1: Tính chức năng. - Các độ đo về tính phù hợp. Các luật ngoài Phép đo, công thức và các phạm vi phần tử dữ liệu Thể hiện Kiểu tỷ lệ Kiểu đơn vị đo Mức độ thực hiện chức năng (adsbygoogle = window.adsbygoogle || []).push({});

Tỷ lệ thực hiện chức năng trong quá trình kiểm thử: X = (A / B)

A=Số chức năng đã thực hiện được

Một phần của tài liệu khảo sát và đánh giá sản phẩm phần mềm theo các tiêu chuẩn chất lượng (Trang 31 - 76)