Внешнее проектирование модуля

Первый шаг при проектировании модуля состоит в определении его внешних характеристик. Эта информация выражается в виде внешних спе­цификаций модуля,которые содержат все сведения, необходимые вызы­вающим его модулям, и ничего больше. В част­ности, внешние специфика­ции модуля не должны содержать никакой информации о логике модуля или о внутреннем представлении данных. Кроме того, спецификации не должны включать каких бы то ни было ссылок на вызывающие модули или на контексты, в которых этот модуль используется.

Внешние спецификации модуля должны содержать сведения сле­дующих шести типов:

Имя модуля. Указывается имя, применяемое для вызова мо­дуля. Для модуля с несколькими входами это имя определенного входа (для каждого входа имеются отдельные спецификации).

Функция. Дается определение функции или функций, выполня­емых модулем. Этот раздел не должен описывать логику или кон­тексты, в кото­рых модуль применяется.

Список параметров. Определяется число и порядок парамет­ров, пе­редаваемых модулю.

Входные параметры. Дается точное описание всех входных пара­метров. Сюда включается определение формата, размеров, атрибутов, еди­ниц измерения (например, морские мили) и допус­тимых диапазонов зна­чений всех входных параметров.

Выходные параметры. Дается точное описание всех данных, воз­вращаемых модулем. Сюда должно входить определение форма­та, разме­ров, атрибутов, единиц измерения и допустимых диапа­зонов значений всех выходных данных. Должна быть описана фун­кциональная связь между входными и выходными данными, т.е. следует показать, какие выходные данные какими входными порож­даются. Должны быть также определены выходные данные, порож­даемые модулями в случае, когда входные дан­ные не годятся. Для того чтобы можно было считать модуль специфициро­ванным пол­ностью, должно быть определено его поведение при любых входных условиях.

Внешние эффекты. Дается описание всех внешних для прог­раммы или системы событий, происходящих при работе модуля. Примерами внешних эффектов являются печать сообщения, чтение запроса с терми­нала, чтение из файла заказов, вывод сообщения об ошибке. Внешние эф­фекты модуля включают все внешние эффек­ты подчиненных ему модулей. Например, если модуль А вызывает модуль В и В печатает сообщение, этот внешний эффект должен включаться во внешние спецификации как мо­дуля А, так и модуля В.

Важно отделить внешние спецификации модуля от другой доку­мен­тации (например, описания его логики), потому что изменение логики мо­жет никак не повлиять на вызывающие модули, а измене­ние внешних спе­цификаций обычно требует изменить вызывающие модули.

Внешние спецификации модуля физически могут принимать раз­но­образные формы, лишь бы они включали ответы на перечисленные выше шесть вопросов. Лучше всего поместить спецификации в ви­де коммента­рия в начале текста исходной программы модуля (или, в случае модулей с несколькими входами, у каждого из них). Ниже показана специфика­ция модуля программы имитации передачи сообщений по каналу связи для оп­ределения вероятностных и статистических характеристик канала.

{*************************************************************************}

{спецификация имитационной модели смешанной СТИ

функция: имитация передачи отсчетов по каналу связи для определения вероятностных и статистических характеристик

список параметров: номер отсчета,

кратность обнаруживаемых ошибок,

кратность исправляемых ошибок,

вероятность ошибки на символ,

вероятность обнаружения,

вероятность исправления,

вероятность правильной передачи,

вероятность трансформации,

математическое ожидание,

дисперсия,

среднеквадратическое отклонение приведенной погрешности

входные параметры: номер отсчета integer 255=2^m–1>=1

вероятность ошибки на символ real [0;1]

кратность обнаруживаемых ошибок integer

кратность исправляемых ошибок integer

выходные параметры: вероятность правильной передачи real [0;1]

вероятность обнаружения real [0;1]

вероятность исправления real [0;1]

вероятность трансформации real [0;1]

математическое ожидание real

дисперсия real

среднеквадратическое отклонение

приведенной погрешности real

в зависимости от вектора ошибки, учитывая кратность исправляемых и обнаруживае­мых ошибок, подсчитывается количество правильных передач, исправленных и обна­руженных ошибок, погрешность передачи

внешние эффекты: нет }

{**********************************************************************}

Наши рекомендации