Đo lường và đánh giá sản phẩm phần mềm trong môi trường hướng đối tượng

MỤC LỤC

Lý thuyết đo – cách tiếp cận

Mặc dù việc đánh giá đó chưa phải là phép đo theo đúng nghĩa của nó nhưng việc đánh giá như thế là cần thiết, dần dần khi đã có sự nhất trí về phân loại các thực thể dựa trên tính chất, có thể dẫn đến một phép đo khách quan. Giả sử tính chất của thuộc tính được biểu diễn bởi tập các quan hệ R, gọi tập các thực thể là C, ta gọi hệ thống quan hệ là ξ = (C,R). Ví dụ : Xét thuộc tính độ nghiêm trọng của sai hỏng phần mềm. Gọi C là tập các sai hỏng phần mềm, ta xem xét 3 hệ thống quan hệ như sau:. 1) Hệ thống quan hệ đơn giản trong đó chỉ có sự phân loại các sai hỏng phần mềm chẳng hạn như: cú pháp, logic, đổ vỡ hệ thống. Giả thiết rằng các sai hỏng phần mềm chỉ thuộc một trong ba loại trên. Trong hệ thống quan hệ này chúng ta chưa có đánh giá về trị số để so sánh tương đối về tính nghiêm trọng giữa các sai hỏng, chúng ta chỉ biết rằng đó là các loại sai hỏng khác nhau. 2) Chúng ta thêm vào quan hệ cũ một quan hệ mới R4 “nghiêm trọng hơn”. Thông thường ta quan niệm: các đổ vỡ hệ thống thì nghiêm trọng hơn sai hỏng cú pháp và logic, các sai hỏng logic thì nghiêm trọng hơn sai hỏng về cú pháp. 3) Nhằm đạt mục tiêu biểu hiện các hiểu biết sâu hơn về tính nghiêm trọng của các sai hỏng phần mềm, chúng ta thêm vào hệ thống quan hệ R’ một quan hệ mới: sự chênh lệch về độ nghiêm trọng giữa sai hỏng cú pháp và sai hỏng logic cũng bằng với sự chênh lệch về độ nghiêm trọng giữa sai hỏng logic và sai hỏng đổ vỡ hệ thống. Hệ thống quan hệ dựa trên trị số (biểu diễn thay thế). Sau khi tìm được hệ thống quan hệ cho thuộc tính, chúng ta cần tìm một ‘hệ thống số, chẳng hạn như tập các số thực ℜ, để thực hiện ánh xạ các thực thể. Nói đúng hơn chúng ta cần hệ thống quan hệ dựa trên trị số gồm có một tập hợp trị số và các quan hệ trên tập đó. Mỗi quan hệ trong hệ thống cũ đều đòi hỏi một quan hệ tương ứng trong hệ thống quan hệ dựa trên số. Đó gọi là điều kiện biểu diễn thay thế cho hệ thống quan hệ. Việc bảo toàn tất cả các quan hệ trong hệ thống số cho phép chúng ta định nghĩa ánh xạ từ tập thực thể vào tập trị số N là một phép đo. M thực hiện ánh xạ một thực thể thuộc C sang một trị số thuộc N, và một quan hệ thuộc R sang một quan hệ thuộc P. Ví dụ: Tiếp tục ví dụ về độ nghiêm trọng sai hỏng phần mềm ở trên. Chúng ta tìm hệ thống quan hệ dựa trên trị số cho thuộc tính sai hỏng phần mềm. 2) Để tìm một biểu diễn thay thế cho R’ chúng ta cần xem xét cẩn thận hơn khi gán các trị số. Trước hết chúng ta cần tìm quan hệ P4 tương ứng với R4. Quan hệ P4 đương nhiên là >. Để hệ thống mới thỏa mãn quan hệ P4 chúng ta cần ánh xạ sai hỏng đổ vỡ hệ thống vào số lớn hơn sai hỏng logic và sai hỏng logic vào số lớn hơn sai hỏng cú pháp. 3) Để tìm biểu diễn thay thế cho R’’, chúng ta cần bảo toàn cả quan hệ R5, nghĩa là sai khác giữa các trị số mà sai hỏng đổ vỡ hệ thống và sai hỏng logic ánh xạ vào bằng sai khác giữa các trị số mà sai hỏng logic và sai hỏng cú pháp ánh xạ vào.

Cơ sở lý thuyết về phép đo phần mềm

    Việc bảo toàn tất cả các quan hệ trong hệ thống số cho phép chúng ta định nghĩa ánh xạ từ tập thực thể vào tập trị số N là một phép đo. M thực hiện ánh xạ một thực thể thuộc C sang một trị số thuộc N, và một quan hệ thuộc R sang một quan hệ thuộc P. Ví dụ: Tiếp tục ví dụ về độ nghiêm trọng sai hỏng phần mềm ở trên. Chúng ta tìm hệ thống quan hệ dựa trên trị số cho thuộc tính sai hỏng phần mềm. 2) Để tìm một biểu diễn thay thế cho R’ chúng ta cần xem xét cẩn thận hơn khi gán các trị số. Trước hết chúng ta cần tìm quan hệ P4 tương ứng với R4. Quan hệ P4 đương nhiên là >. Để hệ thống mới thỏa mãn quan hệ P4 chúng ta cần ánh xạ sai hỏng đổ vỡ hệ thống vào số lớn hơn sai hỏng logic và sai hỏng logic vào số lớn hơn sai hỏng cú pháp. 3) Để tìm biểu diễn thay thế cho R’’, chúng ta cần bảo toàn cả quan hệ R5, nghĩa là sai khác giữa các trị số mà sai hỏng đổ vỡ hệ thống và sai hỏng logic ánh xạ vào bằng sai khác giữa các trị số mà sai hỏng logic và sai hỏng cú pháp ánh xạ vào. Một ánh xạ thỏa mãn là:. biết rằng việc bảo dưỡng các hệ thống thông tin chiếm một tỷ lệ tài chính khá lớn trong các dự án. Hệ thống có chất lượng kém cần phải bảo dưỡng nhiều hơn hệ thống có chất lượng tốt. Một hệ thống được xây dựng mới mà không kèm theo sự kiểm soát chất lượng chặt chẽ sẽ dẫn đến những yêu cầu bảo dưỡng tốn kém sau này. Mọi ngành công nghệ như điện, cơ khí, xây dựng không thể phát triển như ngày nay nếu thiếu vai trò của đo đạc. Đối với ngành công nghệ phần mềm cũng vậy, phép đo đóng một vai trò quan trọng. Những thiếu sót mà chúng ta thường mắc phải khi phát triển phần mềm mà không sử dụng phép đo là:. 1) Khi phỏt triển một sản phẩm phần mềm, chỳng ta khụng đặt một mục tiờu rừ ràng có thể đo được. Chúng ta nói rằng sản phẩm có tính “thân thiện người sử dụng”, “tin cậy cao”, “khả năng bảo trỡ tốt” nhưng khụng định nghĩa rừ những thuộc tính này có ý nghĩa như thế nào xét trên khía cạnh đo đạc. Như vậy không thể khẳng định sự thành công của dự án nếu mục tiêu của nó là “mờ”. 2) Chúng ta không thể hiện chất lượng phần mềm dưới dạng lượng. Chúng ta không thể nói với khách hàng rằng phần mềm mà chúng ta sản xuất sẽ chạy trong bao lâu không bị sai hỏng với một độ tin cậy nào đó, hoặc là cần bao nhiêu chi phí nhân lực để chuyển sản phẩm đó sang chạy ở một môi trường khác. 3) Chúng ta hoàn toàn bị thuyết phục bởi việc sử dụng những phương pháp hay công cụ mới được phát triển sẽ nâng cao chất lượng sản phẩm mà chúng ta sản suất. Function Point tính dựa trên trọng số của các thông tin về : số đầu vào, số đầu ra, số yêu cầu của người sử dụng, số file, số giao diện với bên ngoài.Trọng số (weighting factor) này biểu hiện các thực thể trên là thuộc loại đơn giản, trung bình hay phức tạp, lấy giá trị trong khoảng từ 3 đến 15. Các nhân tố, tiêu chuẩn và độ đo được sử dụng như sau : khách hàng và người giám đốc chỉ quan tâm đến mức thuộc tính và mức nhân tố (factor, ví dụ như độ tin cậy), người quản lý và điều hành dự án làm việc với mức tiêu chuẩn (criteria, ví dụ như tính chính xác của kết quả thực thi chương trình), họ phải xem xét những tiêu chuẩn nào ảnh hưởng đến nhân tố nào; ở mức sản xuất phần mềm, nhân viên của dự án phải thu thập các độ đo (metric, ví dụ như số lỗi trong quá trình kiểm tra).

    Bảng 1.1: Phân công nhiệm vụ đo trong một tổ chức phần mềm
    Bảng 1.1: Phân công nhiệm vụ đo trong một tổ chức phần mềm

    Một số vấn đề về đo phần mềm

    Phân biệt các đối tượng đo : sản phẩm, quá trình, nguồn lực

    Đối tượng của phép đo sản phẩm phần mềm bao gồm các thực thể là kết quả của quá trình, đó là kết quả bàn giao cho khách hàng như chương trình, tài liệu sử dụng, hoặc có thể là tài liệu được sản sinh trong vòng đời phần mềm, hoặc có thể là mã nguồn. Các thuộc tính trên đây của sản phẩm phần mềm có liên quan đến môi trường mà nó được phát triển hay tồn tại, các thuộc tính này được gọi là thuộc tính ngoài, được trình bày ở phần 1.3.2. Trong biểu thức trên, năng suất (productivity) được tính từ các thuộc tính sản phẩm (amount of output) và thuộc tính quá trình (effort input), trong đó sản phẩm ra có thể được tính bằng số dòng mã lệnh (LOC – lines of code), chi phí nhân lực (effort) tính bằng số lượng người tham gia dự án theo tháng (person-month).

    Phân biệt thuộc tính trong và thuộc tính ngoài

     Thuộc tính ngoài của một sản phẩm, quá trình, nguồn lực là những thuộc tính chỉ có thể đo đạc trong mối quan hệ với môi trường của sản phẩm, quá trình nguồn lực đó. Người giám đốc dự án có thể quan tâm đến các thuộc tính ngoài như năng lực sản xuất của nhân viên, hiệu quả sử dụng nguồn lực; người sử dụng muốn biết về tính tiện dụng, độ tin cậy, khả năng tương thích của sản phẩm mà họ sắp mua. Các thuộc tính ngoài khó có thể được định nghĩa một cách chính xác và đo đạc khách quan, hơn nữa những khái niệm như chất lượng phần mềm là một khái niệm rộng.