<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1000
<S> <C>
<PERIOD-TYPE> YEAR
<FISCAL-YEAR-END> MAY-31-2000
<PERIOD-START> JUN-01-1999
<PERIOD-END> MAY-31-2000
<CASH> 26,912
<SECURITIES> 44,698
<RECEIVABLES> 50,934
<ALLOWANCES> 7,425
<INVENTORY> 714
<CURRENT-ASSETS> 131,394
<PP&E> 72,893
<DEPRECIATION> 25,995
<TOTAL-ASSETS> 347,806
<CURRENT-LIABILITIES> 87,814
<BONDS> 3,007
0
0
<COMMON> 174
<OTHER-SE> 256,811
<TOTAL-LIABILITY-AND-EQUITY> 347,806
<SALES> 106,275
<TOTAL-REVENUES> 194,852
<CGS> 25,694
<TOTAL-COSTS> 60,993
<OTHER-EXPENSES> 129,102
<LOSS-PROVISION> 879
<INTEREST-EXPENSE> 230
<INCOME-PRETAX> 10,259
<INCOME-TAX> 4,850
<INCOME-CONTINUING> 5,409
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 5,409
<EPS-BASIC> 0.34
<EPS-DILUTED> 0.32
</TABLE>