A.3.1 Структура процедурного программного обеспечения

Setextaddr

Setintaddr

- Назначение - задает внутренний адрес

- Метод использования - Setintaddr <address>

- Параметры - адрес

- Описание параметров - первые три поля IP-адреса (как определено в RFC 791). Например: 123.123.123

- действия - изменяет внутреннее значение переменной, определяющей внутреннюю сеть, значение которой используются для выявления попытки фальсификации.

- Сообщения об ошибках - "адрес занят": указывает, что определенная внутренняя сеть совпадает с внешней сетью.

- Назначение - задает внешний адрес

- Метод использования - Setextaddr <address>

- Параметры - адрес

- Описание параметров - первые три поля IP-адреса (как определено в RFC 791). Например: 123.123.123

- действия - изменяет значение внутренней переменной, определяющей внешнюю сеть.

- Сообщения об ошибках - "адрес занят": указывает, что определенная внешняя сеть совпадает с внутренней сетью.

A.3 ADV_INT: Дополнительный материал по внутреннему устройству ФБО

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

Данное приложение содержит дополнительные материалы по оценке структуры и сложности процедурно-ориентированных частей программного обеспечения ФБО. Этот материал основан на информации, доступной в литературе по программной инженерии. Для других видов внутреннего устройства (например, аппаратных средств, не процедурно-ориентированных программных средств, таких как объектно-ориентированный код, и т.д.) следует обратиться к соответствующей литературе по применяемой на практике приемам.

Структура процедурного программного обеспечения обычно оценивается в соответствии с его модульностью. Программное обеспечение, написанное по модульному проекту, способствует достижению его понимания, уточняя зависимости между модулями (связанность) и включая в модули только те задачи, которые тесно связаны друг с другом (сцепление). Использование модульной конструкции снижает взаимозависимость между элементами ФБО и таким образом уменьшает риск того, что изменения или ошибки в одном модуле вызовут последствия для всего ОО. Его использование повышает четкость проекта и обеспечивает увеличение доверия к тому, что не возникнут неожиданные результаты. Дополнительными и желательными свойствами модульной декомпозиции является уменьшение объема избыточного или ненужного кода.

Минимизация количества функциональных возможностей ФБО позволяет оценщикам, а также разработчикам сосредоточиться только на функциональных возможностях, которые необходимы для обеспечения выполнения ФТБ, способствуя большему пониманию и дальнейшему снижению вероятности появления ошибок проектирования или реализации.

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