Best derivation for time dilation formula I've seen is through the use of the light clock.
It is depicted in the following picture:
A flash shines lines and starts a counter at the same time. The light ray reflects off of a miror and is detected in a detector. Neglecting the horizontal distance between the emission and reception point and assuming the distance to the mirror is L_{0}, we deduce that the light signal travels a total distance 2 L_{0} during this round trip. Because the speed of light is equal to c, the time interval that between emission and reception is:
<br />
\Delta t_{0} = \frac{2 L_{0}}{c}<br />
Next, consider the same situation according to an observer with respect to whom the clock is moving with a velocity v in the direction perpendicular to the axis of the clock (the direction FD - M). The three important instants of the new situation are depicted on the following picture:
There are 2 important things:
1) Distances in the direction perpendicular to the relative velocity do not change (this can be proven by a thought experiment involving a solid body with a piece cut from it and by considering what happens when the cut out piece is moving relative to the rest of the body). Therefore the distance from the flash/detector (F/D) to the mirror (M) is still L_{0}.
2) Once emitted, a light pulse travels independently of the source as a spherical front with the same speed c (in vacuum) according to all observers.
The events of emission, reflection and detection at a particular physical spot on the clock, however, are an objective reality independent of what frame of reference we use to describe the situation. Thus the signal must be emitted at the (instantaneous) position of F, reflected at M and detected at D. That is why the light signal's path is actually the dashed inverted V-line on the picture. The times t_{1} and t_{2} indicate the times necessary for light to travel from F to M and from M to D, respectively.
The displacements of the clock in the horizontal direction are also denoted. Using Pythagoras' theorem, we have:
<br />
\left\{\begin{array}{l}<br />
(c \, t_{1})^{2} = L^{2}_{0} + (v \, t_{1})^{2} \\<br />
<br />
(c \, t_{2})^{2} = L^{2}_{0} + (v \, t_{2})^{2}<br />
\end{array}\right. \Rightarrow t_{1} = t_{2} = \frac{L_{0}}{\sqrt{c^{2} - v^{2}}}<br />
The total round-trip time for the signal is:
<br />
\Delta t = t_{1} + t_{2} = \frac{2 L_{0}}{\sqrt{c^{2} - v^{2}}}<br />
Expressing 2 L_{0} = c \, \Delta t_{0} from the discussion of the first situation and doing some algebra, one arrives at:
<br />
\Delta t = \frac{\Delta t_{0}}{\sqrt{1 - v^{2}/c^{2}}}<br />
This is the
time dilatation formula. It shows that the same clock shows different time intervals relative to different observers (reference frames). The shortest time interval is measured by the observer relative to which the clock is stationary. This time interval is called
proper time and, according to our discussion it is actually \Delta t_{0}. According to all other observers, the time interval between the
same events is
longer (dilated) because:
<br />
1 - \frac{v^{2}}{c^{2}} < 1 \Rightarrow \gamma \equiv \frac{1}{\sqrt{1 - v^{2}/c^{2}}} > 1<br />
Similarly, you can deduce the formula for length contraction. Just impart a velocity to the light clock in the direction of its axis and consider the situation according to observers where the clock is stationary and where it is moving with velocity v.
You can also derive the velocity addition formulas by using a modified apparatus where a stream of particles is used in one stage of the round trip and a light is flashed as soon as a particle is detected on the return trip. The details of these derivations may be found in University level textbooks.