Технологии разработки программного обеспечения


Связность объектов - часть 3


Для нашего примера профиль секций данных приведен в табл. 14.1.

 

Таблица 14.1. Профиль секций данных для метода SumAndProduct

SumN

ProdN

Оператор

 

 

procedure SumAndProduct

1

1

(Niinteger;

1

1

varSumN, ProdNiinteger)

 

 

var

1

1

l:integer;

 

 

begin

2

 

SumN:=0

 

2

ProdN:=1

3

3

for l:=1 to N do begin

3

 

SumN:=SumN+l

 

3

ProdN:=ProdN*l

 

 

end

 

 

end;

Видно, что в столбце переменной для каждой секции указывается количество лексем из i-й строки метода, которые включаются в секцию.

Еще одно базовое понятие методики — секционированная абстракция. Секционированная абстракция — это объединение всех секций данных метода. Например, секционированная абстракция метода SumAndProduct имеет вид

SA(SumAndProduct) = {N1

• SumN1 • I1 • SumN2 • 01 • I2 • I2 • N2

• SumN3 • SumN4 • I3,

N1

• ProdN1 • I1 • ProdN2

• I1 • I2 • I2 • N2

• ProdN3 • ProdN4 • I4}.

Введем главные определения.

Секционированной абстракцией класса (Class Slice Abstraction) CSA(C) называют объединение секций всех экземплярных переменных класса. Полный набор секций составляют путем обработки всех методов класса.

Склеенными лексемами называют те лексемы данных, которые являются элементами более чем одной секции данных.

Сильно склеенными лексемами называют те склеенные лексемы, которые являются элементами всех секций данных.

Сильная связность по данным (StrongData Cohesion) — это метрика, основанная на количестве лексем данных, входящих во все секции данных для класса. Иначе говоря, сильная связность по данным учитывает количество сильно склеенных лексем в классе С, она вычисляется по формуле:

,

где SG(CSA(C)) — объединение сильно склеенных лексем каждого из методов класса С, лексемы(С) — множество всех лексем данных класса С.

Таким образом, класс без сильно склеенных лексем имеет нулевую сильную связность по данным.

Слабая связность по данным (Weak Data Cohesion) — метрика, которая оценивает связность, базируясь на склеенных лексемах.


Начало  Назад  Вперед



Книжный магазин