фильтрации. Каждый фильтр библиотеки наследуется от него и публикует
свои собственные методы инициализации с параметрами уникальными для
каждого фильтра. Реализация опубликованной функциональности спрята-
на во внутренних пакетах библиотеки, недоступных конечному пользова-
телю. Пакет представления сигнала стоит несколько особняком, так как он
публикует интерфейс сигнала, доступный конечному пользователю. Класс
CLibFIlter служит для внутреннего представления любого фильтра в биб-
лиотеке.
В пакете представления сигнала объявляется интерфейс сигнала, с ко-
торым работает библиотека, а также реализована функциональность для
его обработки, сохранения, загрузки и других подобных операций.
Пакет проектирования фильтров предназначен для построения филь-
тра с конечной импульсной характеристикой с помощью метода синтеза
произвольной частотной характеристики.
Пакет фильтрации реализует процедуру фильтрации. Пакет представлен
одним классом CCalcFiltration. Этот класс объявляет только одну публич-
ную функцию PerformSignalFiltration(), инкапсулируя все аспекты реализа-
ции алгоритма фильтрации и позволяя полностью или частично изменить
используемый алгоритм без переписывания клиентского кода.
При разработке программного обеспечения, как и в любом управляемом
процессе, особое значение придается обеспечению качества конечного то-
вара. Для выявления дефектов программного обеспечения применяется
тестирование, ставящее своей целью проверку соответствия программно-
го обеспечения спецификации. Тест фильтров состоит из трех основных
частей:
пакет входных сигналов;
пакет отображения сигналов;
пакет линковки с библиотекой.
Пакет входных сигналов предназначен для настройки и генерации раз-
личных типов входных сигналов, в том числе: синусоидального, меандра,
сигнала из файла.
Использование библиотеки фильтрации не подразумевает какого-либо
пользовательского интерфейса для настройки параметров фильтра; все воз-
можные действия осуществляются программно. Однако во время тестиро-
вания необходимо иметь возможность управлять параметрами фильтра из
пользовательского интерфейса. Пакет соединения с библиотекой служит
для реализации доступа к фильтрам, а также реализует пользовательский
интерфейс для настройки параметров. Для каждого фильтра, находящего-
208