While the dog may tend to gravitate toward your son if you want the dog to really be his dog, you HAVE to make him be the one to feed the dog and take it out the majority of the time. My big dog is supposedly my youngest son's, the blue heeler is my middle son's and the little mutt is supposed to be both boys but the dogs are really mine because they know that if it weren't for me, they would all starve to death and need to learn to use the toilet.
You will probably get a lot of info here on breeds but I would google. Labs, shepherds, boxers are all very good breeds with children, i.e. would not bite the child but would go through a window to protect them. Call your vet also to ask about breeds, they want to pair people with the right dogs and can steer you in the right direction.
The cat I would consider whether your dog is going to be jazzed about that and with the puppy, is your dog okay around other dogs? My older dog pitched a fit and constantly snapped at the puppy and actually got into fights with her. The first couple of times, the puppy was just trying to defend herself, the last two fights had both dogs with puncture wounds, etc.
The older dog was having physical problems, arthritis and continence issues. I did not trust her around the children anymore and was worried one of the kids would get hurt when the dogs fought so we made the difficult decision to put her down. How old is your older dog and are you prepared to get rid of one or the other if they don't get along? If your dog hasn't been around other dogs I would get together with someone and see how he does. Otherwise, depending on how old the dog is, you may wind up living in a doggie armed camp until the older one dies or is put down because of old-age medical issues.
The puppy is now 110 lbs and is a mixed breed, German Shepherd, Rottweiller and Grand Pyrennes. My 9-year-old has for years laid all over her, she tolerates so much b.s. from that kid. Read up on crate training, it is the easiest way to deal with the puppy issues and if you keep the crate in your son's room, the puppy will think of that as his room, your son part of his pack, and might reduce any potential problems with the older dog.
While adopting from a shelter is a good thing, if you go that route be careful. One of the benefits of a breeder is that you can tell them it is a dog for a child and they can choose a pup from a litter of parents that are both laid back, gentle, etc. My friend got an English bull about a year ago, nicest dog on the planet and very timid when they brought him home, also good with kids.