NDVI is defined for any two bands with near-infrared and infrared data (it is an empirical remote sensing index). As such, you can calculate it straight from the DNs. This is mostly OK if you are only classifying or analyzing vegetation on a single image without significant atmospheric effects (cirrus clouds...)
However, if you are performing change detection (and therefore analysing two or more images), you will need to cope with two steps:
- Radiometric calibration converts the DNs to radiance using sensor-specific calibration equations. For Landsat, these can be found on the project website or built in most of the good software packages.
- Atmospheric correction tries to convert the radiance to reflectance (a dimensionless number describing the ratio of reflected radiation on the incoming radiation in the specific part of the spectrum). For this, atmosphere models are used such as QUAC or FLAASH.
This answer may provide some suggestions which software to use.