<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM RESTATED
FINANCIAL DATA SCHEDULE FOR NOVEMBER 30, 1999
</LEGEND>
<RESTATED>
<MULTIPLIER> 1,000
<S> <C>
<PERIOD-TYPE> 12-MOS
<FISCAL-YEAR-END> NOV-30-1999
<PERIOD-START> DEC-01-1998
<PERIOD-END> NOV-30-1999
<CASH> 13,858
<SECURITIES> 18,169
<RECEIVABLES> 12,536
<ALLOWANCES> 4,160
<INVENTORY> 1,610
<CURRENT-ASSETS> 43,259
<PP&E> 22,777
<DEPRECIATION> 15,542
<TOTAL-ASSETS> 52,659
<CURRENT-LIABILITIES> 20,408
<BONDS> 0
0
0
<COMMON> 115
<OTHER-SE> 32,136
<TOTAL-LIABILITY-AND-EQUITY> 52,659
<SALES> 55,977
<TOTAL-REVENUES> 64,832
<CGS> 24,454
<TOTAL-COSTS> 42,395
<OTHER-EXPENSES> 0
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 0
<INCOME-PRETAX> 6,419
<INCOME-TAX> 0
<INCOME-CONTINUING> 6,419
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 6,419
<EPS-BASIC> 0.57
<EPS-DILUTED> 0.54
</TABLE>