Современные технологии разработки и тестирования программного обеспечения (ПО). Ч.1. Коварцев А.Н. - 13 стр.

UptoLike

Составители: 

ввести некоторую оценочную функцию
ϕ
(, )BB
ij
, являющуюся мерой независимости
этих модулей и принимающую значения на [0,1] (0 - в случае полной независимости
модулей и 1 при их совпадении). Оценочная функция
ϕ
(, )BB
ij
играет роль скалярного
произведения.
Принцип ортогонализации, в известной степени, используется при построении
библиотек прикладных программ в современных языках программирования. Так, базис
содержится в множестве функций обработки символьных строк языка С++, в библиотеке
графических программ, в библиотеке математических функций и т.д.
2.4. Типы базовых модулей
Введем понятие типа функции как обобщение понятия типа операции, которое
определим как множество отображений из области определения функции в область
результата. Причем областью определения функции считается декартово произведение
множеств значений нескольких типов данных (типов формальных параметров), областью
результатов - множество значений некоторого одного типа данных. При этом тип
функции изображается
TT T T
np12
,,..., , где TT T
p12
,,...,- типы формальных
параметров и результата вычислений рассматриваемой функции.
С каждым типом функции (подпрограммы) связывают две операции: создания
функции и аппликации функций к своим аргументам. Первая операция в языках
программирования связана с изображением функции в виде: заголовок функции плюс
тело функции. Вторая операция - в виде обращения к функции.
В теории программирования
подпрограммы - одно из фундаментальных средств
абстрагирования и искусственного расширения возможностей языка, однако, правила
реализации первой из перечисленных выше операций - составления тела подпрограммы,
обычно синтаксически неотличимы от правил кодирования основного текста программы.
Последнее достигается за счет введения понятия формальных параметров. В то время как
между основной программой и подпрограммами имеет место существенная
разница. При
разработке основной программы преследуется конкретная практическая цель, например,
произвести расчеты некоторого технического устройства, физического явления,
математических формул и т.д. При этом данным, используемым в программепридается
вполне конкретный смысл (давление, скорость, пропускная способность и т.п.). В
подпрограммах формальные параметры лишены конкретной смысловой нагрузки.
Действительно, в подпрограммах
важен лишь тип параметра и порядок его
использования, аосмысление назначения параметров возникает только после их
аппликации к фактическим параметрам. Например, процедура, реализующая формулу A
= B*C, в одной интерпретации типов данных вычисляет силу F по заданным ускорению
a
и массе m материальной точки (F = a m), в другой - путь S, по заданной скорости V и
времени t (S = V t). Таким образом, подпрограмму можно рассматривать как описание
абстрактного типа вида
B: TT T T
np12
,,..., , в котором в теле подпрограммы
реализуются операции над типами данных. В современных языках программирования
такая интерпретация понятия подпрограммы присутствует незримо, например, в языке
С++ в заголовке подпрограммы необходимо указывать кроме имен формальных
параметров их типы, а в предописании подпрограмм перечисляются только типы
параметров.