<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
<S> <C>
<PERIOD-TYPE> 12-MOS
<FISCAL-YEAR-END> OCT-31-1999
<PERIOD-END> OCT-31-1999
<CASH> 5,691
<SECURITIES> 0
<RECEIVABLES> 11,182
<ALLOWANCES> 167
<INVENTORY> 4,525
<CURRENT-ASSETS> 21,835
<PP&E> 7,661
<DEPRECIATION> 3,869
<TOTAL-ASSETS> 46,628
<CURRENT-LIABILITIES> 9,322
<BONDS> 0
0
0
<COMMON> 29,870
<OTHER-SE> 151
<TOTAL-LIABILITY-AND-EQUITY> 46,628
<SALES> 33,736
<TOTAL-REVENUES> 0
<CGS> 14,403
<TOTAL-COSTS> 14,403
<OTHER-EXPENSES> 22,090
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 0
<INCOME-PRETAX> 65
<INCOME-TAX> 1,682
<INCOME-CONTINUING> 0
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> (1,617)
<EPS-BASIC> (0.16)
<EPS-DILUTED> (0.16)
</TABLE>