How are the boundaries of a gene determined?
I know of only one naive approach to determining the boundaries of a gene : RACE-PCR. There are two kinds, 3' and 5' RACE, which allow to find the respective extremities.

The rationale is the following :


You perform a reverse transcription of the transcript of interest using a specific primer. At this step you have a specific single stranded cDNA.
Then you add a stretch of identical nucleotides called the homopolymeric tail in 5' of the cDNA.
Finally you perform a PCR using one specific primer and one universal primer that recognizes the homopolymeric tail. You can sequence your amplified cDNA and find where it is located in the genome with a 1 bp resolution. 


For the 3'RACE, the concept is the same but the poly-A tail is used instead of generating it yourself with the terminal transferase.

See this paper for a detailed protocol :

 Sambrook J, Russell DW. 2006. Rapid Amplification of 5’ cDNA Ends (5'-RACE). CSH protocols 2006.

Also, the corresponding wikipedia article gives you more details about what is happening at each step, but beware, there is an error : it is said that for the 5'RACE, the terminal transferase appends the homopolymeric tail in 3' while it appends it in 5'