I owned two dogs from puppies that I now realise were "easy". Current DDog, same breed and also owned from puppy, is frigging hard work. I get where you're coming from. But the effort will be worth it 
Identifying the cause of snapping will be your first step.
Our dog (we have children aged 3-13) is possessive and snaps if she has something (child's toy, sock, that kind of thing) and you go to take it from her.
Once you've identified the cause of snapping, stop the children doing it! Our children know they must never, ever attempt to get something off the dog themself and should instead always call a parent to do it. The children are also told off for leaving socks around for the dog to pick up.
How we dealt with it was trial and error really. We tried several different approaches. The one we found that works is to ignore (she won't chew things up, just collects them) and she soon gets bored guarding an item and abandons it. Or if the item is needed straight away, offer a better alternate to the dog. Either in the form of dog treats if she follows the drop and leave commands, or simply with cuddles and belly rubs.
The answer for us came from understanding the dog and being kind, rather than being angry or aggressive.