Everyone above covered it pretty well.
The standard procedure for dog training is figuring out what they're bad at, then creating a CONTROLLED situation where you can correct the bad behavior. GSDs are very smart, but will assume pack leader roles if the humans don't.
The dog is new to the home, new situation for the dog. Therefore, the (wolf) pack order is not set, and she will work to establish her place in the pack. The pack includes adults, kids, and and cats. You need to first establish youself and your wife as Alphas over the dog. This isn't done by violence. It's a matter of eye contact, body posturing, the pecking order of who eats first, who goes through the door first, etc. This is all 'wolf pack speak' and is the only language dogs understand.
My advice is to break it down into manageable segments. Kids get top priority. It sounds like she's acclaimated to kids, but you need to make sure there is no circumstance that will set her off, against the kids or their friends. This includes challenging them for food, being defensive around food, aggressively defending your kids from their friends or other adults (except on command), etc.
Then you can begin the steps detailed by kaiser above. You must be 100% consistent.
Your heart's in the right place by adopting a dog that needed a home. I'd suggest step two is to get some real training, and fast. Cesar Milan's methods work well with an aggressive or strong dog breed. The crazy English lady on Animal Planet's 'It's Me or The Dog" has a more passive approach that also seems to work. The Atlanta area has a number of dog trainers that could be of help.
Stick with it. With consistent training, I bet you can fix this issue in less than two weeks.
Allen