I've started several breeding programs over several fortresses, albeit with very little experimentation. Still, the way I do it is to set up two rooms near my butcher/tanner room: one leads to the "breeding pen" and the other to a refuse stockpile (with two rows of adjacent doors to keep miasma from leaking out). I make about 4-6 chains (usually out of plant fiber, as I can get pig tail faster than I can usually get metal bars) or bring them on embark, and tie up ONE male of each species I'm breeding (usually a dog and a bull), and fill the rest with female versions of same. Cage the new births as soon as they arrive, or tie up more females to increase production (not that I've ever REALLY needed that much meat). Caging works better than pitting, I think, because it's just as easy to get them into the cage as it is to get them out, and the only thing you can't seem to do to a caged animal is train it - you'll have to manually free your prospective war/hunting dogs before they'll be considered for training.
I use cows just because you can see which is male when you tie them up, but they do seem to take a bit to get started.
In a year or two, you'll have more calves and puppies than you'll know what to do with, and you'll be fighting to trade away all your *Dog Meat Roasts* and *Cow Meet Roasts*. Remember, you don't get THAT much more meat and bones from an adult animal than from a young animal, so you might as well eat puppies and calves if you're worried about short-term speed.