From the sound of it, it seems like this dog is working up towards a bite. Really it sounds like this dog has already bitten, the bite just didn't break skin/wasn't serious. It is not getting better, it has gone from reactive barking to lunging and now to making contact.
Yes, counter-conditioning is a good choice for changing the behavior and having your roommate interact with the dog in a training situation may be helpful in building trust, but at this point I would be seeking the help of a local, positive reinforcement trainer/behaviorist for this problem. I would NOT advise her getting down on the dogs level because the dog has already shown an inclination to bite and I would NOT want to put a face in bite-range. If this is a larger dog she is more than capable of really hurting her if she finally does decide to attack, and even if it is a small dog she is more than capable of biting hard enough to need stitches or medical treatment. Once a dog has shown aggressive behavior they can be labeled as a "dangerous dog" and make it harder to find housing, and dogs who bite people will usually be placed in quarantine either in the home or at an animal control facility for a certain amount of time.
When you are not home, I would keep this dog confined to your room. When she is out at the same time as the roommate she is having problems with, I would highly suggest she be leashed at all times, on a long line, or dragging a 6' leash. I would consider muzzle training her as well and having her muzzled when she is around this roommate.
Four months is a long time for this dog to be showing problems with someone and still not warming up to them.
Like I said, counter-conditioning is a helpful tool but it also must be done correctly and in a situation where there is this kind of risk (the dog has made it clear it is building up to a bite and is a danger towards someone it lives with) it really should be done under the eye of a trainer.
Yelling at her/making her leave the room isn't really doing much. She is likely reacting out of a place of fear towards this roommate. By yelling at her you may be reinforcing the fear/anxiety she feels and is expressing in a warning growl or bark. By removing her you are really just removing the scary stimulus (the roommate), which isn't really teaching her anything.
Given your description of her as being covered in scars that look like she fought with other dogs and her being found wandering the street, I ave to ask- does she show any dog aggression? Is she a pit or pit mix? Often strays with marks from fighting with dogs will be dumped or escaped fighting dogs (if pits) or bait dogs (which may be pits or pit mixes but may also be any breed/mutt) used to train aggressive responses in fighting dogs. If she is a pit or pit mix, it makes it that much more important to get a professional involved because if/when she does break skin, the deck is already going to be stacked against her.