The model of my laptop is Dell studio 1555 (ATI graphic card and A06 BIOS). I am using dual boot (Vista and Ubuntu). There aren't any problems related to heat and fan while using Vista. However with Ubuntu, the laptop overheats and the fans make noise. I tried to solve this problem with cpu scaling but that doesn't work. Should I update the BIOS?
Yes, your first option would be to update the BIOS. Dell produces updates quite often and they solve issues such as powersaving related ones.
The most common reason why a computer overheats in Linux is that the DSDT tables of the BIOS are buggy for Linux. Some users have gone the extent of fixing the DSDT tables themselves, such as at HOWTO Fix A Buggy DSDT File
However, I recommend to apply the latest official BIOS update and check again.
I had this same problem, on the same laptop model.
The issue is with the opensource driver. When I replaced the default opensource driver with the FLGRX driver my idle temperature dropped by about 30 degrees. The fan is coming on because the laptop is so hot, With FLGRX driver the laptop will run much cooler and so the fan will spend a lot more time off or at low speed.
The opensource driver is probably doing permanent damage to your hardware by causing it to overheat.
There is a launchpad bug for this. Please login and mark this bug as effecting you because at the moment it is being ignored.