Numerical control (NC) refers to the automation of machine tools that are operated by abstractly programmed commands encoded on a storage medium.
A manual machine opposed to Numerically controlled machines are operated using hand-wheels or levers, or mechanically automated by means of pneumatics or gears.
The first NC machines were built in the 1940s and 1950s, based on existing tools that were modified with motors that moved the controls to follow points fed into the system on punched tape. These early servomechanisms were rapidly augmented with analog and digital computers called PLC's. Finally the CNC machine was developed.
In modern CNC systems, end-to-end component design is highly automated using computer-aided design (CAD) programs and computer-aided manufacturing (CAM) programs.
These programs work together but can be separate from one and other, a good CAD program can be "Google Sketchup" or "Solidworks". For the CAM software there is "Mach3" or "MasterCam" just to name a couple of programs. Since any particular component might require the use of a number of different tools-drills, saws, etc., modern machines often combine multiple tools into a single Axis.
In other cases, a number of different machines are used with an external controller and human or robotic operators that move the component from machine to machine. In either case, the complex series of steps needed to produce any part is highly automated and produces a part that closely matches the original CAD design using a .STL file generated by the CAD software.