<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
<S> <C>
<PERIOD-TYPE> YEAR
<FISCAL-YEAR-END> JUL-31-2000
<PERIOD-START> AUG-01-1999
<PERIOD-END> JUL-31-2000
<CASH> 2,473
<SECURITIES> 16,337
<RECEIVABLES> 13,491
<ALLOWANCES> 1,110
<INVENTORY> 11,453
<CURRENT-ASSETS> 45,777
<PP&E> 4,741
<DEPRECIATION> 2,325
<TOTAL-ASSETS> 59,892
<CURRENT-LIABILITIES> 9,938
<BONDS> 0
0
0
<COMMON> 12
<OTHER-SE> 49,942
<TOTAL-LIABILITY-AND-EQUITY> 59,892
<SALES> 50,438
<TOTAL-REVENUES> 50,438
<CGS> 29,173
<TOTAL-COSTS> 29,173
<OTHER-EXPENSES> 24,771
<LOSS-PROVISION> 648
<INTEREST-EXPENSE> 278
<INCOME-PRETAX> (3,975)
<INCOME-TAX> (1,163)
<INCOME-CONTINUING> (2,812)
<DISCONTINUED> 0
<EXTRAORDINARY> (187)
<CHANGES> 0
<NET-INCOME> (2,999)
<EPS-BASIC> (0.30)
<EPS-DILUTED> (0.30)
</TABLE>