If the thought of reupholstering a sofa gives you the case of the yips, you might want to consider making a sofa wrap instead. They don't involve any complicated sewing and fitting like a slipcover either. Basically, they consist of two parts: An outer layer and an under layer, which is optional.
To determine the amount of fabric you'd need, Threads Magazine says,
For top piece:
1. To determine body length, measure sofa from front to back starting at floor in front of sofa and ending at floor in back, and add 12 in. tuck-in allowance and twice hem allowance.
2. To determine body width, measure across sofa seat from arm to arm and add twice hem allowance.
3. To determine arm/side length, measure from where seat meets arm, over arm to floor, and add 12 in. tuck-in allowance, plus hem allowance.
4. To determine arm width, measure sofa arm from front to where arm meets back, and add twice hem allowance.
For underlayer (as shown below):
Length = step 1 above.
Width = step 2 plus twice step 3, minus twice hem allowances.