Đo cấu trúc
Việc đo lường các đặc tính cấu trúc của một phần mềm rất quan trọng để ước tính nỗ lực phát triển cũng như bảo trì sản phẩm. Cấu trúc của các yêu cầu, thiết kế và mã giúp hiểu được khó khăn nảy sinh trong việc chuyển đổi sản phẩm này sang sản phẩm khác, trong việc thử nghiệm sản phẩm hoặc trong việc dự đoán các thuộc tính phần mềm bên ngoài từ các biện pháp ban đầu của sản phẩm nội bộ.
Các loại biện pháp kết cấu
Cấu trúc của phần mềm có ba phần. Họ là -
Control-flow structure - Là trình tự thực hiện các lệnh trong một chương trình.
Data-flow structure - Đó là hành vi của dữ liệu khi nó tương tác với chương trình.
Data structure - Là sự tổ chức của các phần tử dữ liệu dưới dạng danh sách, hàng đợi, ngăn xếp hoặc các cấu trúc được xác định rõ khác cùng với thuật toán tạo, sửa đổi hoặc xóa chúng.
Kiểm soát đo lường-Cấu trúc dòng chảy
Các thước đo luồng điều khiển thường được mô hình hóa bằng đồ thị có hướng, trong đó mỗi nút hoặc điểm tương ứng với các câu lệnh của chương trình và mỗi cung hoặc cạnh có hướng chỉ ra luồng điều khiển từ câu lệnh này sang câu lệnh khác. Đồ thị của luận án được gọi là đồ thị luồng điều khiển hoặc đồ thị có hướng.
Nếu ‘m’ là một biện pháp cấu trúc được xác định theo mô hình biểu đồ luồng và nếu chương trình A có cấu trúc phức tạp hơn chương trình B, sau đó là biện pháp m(A) phải lớn hơn m(B).
Đo lường cấu trúc luồng dữ liệu
Luồng dữ liệu hoặc luồng thông tin có thể là liên mô-đun (luồng thông tin trong các mô-đun) hoặc nội mô-đun (luồng thông tin giữa các mô-đun riêng lẻ và phần còn lại của hệ thống).
Theo cách thức mà dữ liệu đang di chuyển qua hệ thống, nó có thể được phân loại thành các loại sau:
Local direct flow - Nếu một mô-đun gọi mô-đun thứ hai và chuyển thông tin cho nó hoặc mô-đun được gọi trả về một kết quả cho người gọi.
Local indirect flow - Nếu mô-đun được gọi trả về thông tin sau đó được chuyển đến mô-đun được gọi thứ hai.
Global flow - Nếu thông tin chuyển từ mô-đun này sang mô-đun khác thông qua cấu trúc dữ liệu toàn cục.
Theo Henry và Kafura, độ phức tạp của luồng thông tin có thể được thể hiện như,
Information flow complexity (M) = length (M) × fan-in (M) × (fan-out (M))2
Ở đâu,
Fan-in (M) - Số luồng cục bộ kết thúc tại M + số cấu trúc dữ liệu mà từ đó M lấy thông tin.
Fan–out (M) - Số lượng luồng cục bộ sinh ra từ M + số lượng cấu trúc dữ liệu được M cập nhật.
Đo lường cấu trúc dữ liệu
Cấu trúc dữ liệu có thể là cả hai local và global.
Locally, số lượng cấu trúc trong mỗi mục dữ liệu sẽ được đo lường. Phương pháp tiếp cận lý thuyết đồ thị có thể được sử dụng để phân tích và đo lường các thuộc tính của các cấu trúc dữ liệu riêng lẻ. Trong đó, các kiểu dữ liệu đơn giản như số nguyên, ký tự và Boolean được xem là số nguyên tố và các phép toán khác nhau cho phép chúng ta xây dựng các cấu trúc dữ liệu phức tạp hơn được xem xét. Sau đó, các thước đo cấu trúc dữ liệu có thể được xác định theo thứ bậc về giá trị cho các số nguyên tố và giá trị liên quan đến các phép toán khác nhau.
Globally, tổng số biến do người dùng xác định sẽ được đo lường.