the first thing to decide is how much you expect it to switch , (say if 80ma ) , then select a trans that can pass more then that current, here your 3904 can handle 100ma (200ma Max) , now look at datasheet to check what will be the hfe at that current because it will decide the base current, you can see that it is 30 , so design the base ckt as per this , now at 100ma ,and max vce(sat) is 0.3v , so the max continous power dissipation u expect 30mW , require a heatsink ? u deside ?. remember during switching , before reaching saturation the transistor is going through the active region where the power dissipation will be very high . so go for max switching speed(ref: switching char: ), and minimum switching