Pasta must be cooked al dente! You cannot choose! If it is not al dente is either too soft (overcooked) or too hard...
To cook al dente you must read what is written on the pasta box about the cooking time. Then Put the pasta in aboundant boiling water, in which you will have put some salt (2 or 3 tea spoonful of salt per 3 liter water). Once in a while, stir the pasta while boiling, otherwise you’ll get a perfect pasta glue! this is particularly important 1 minute after you put the pasta in the water.
Then, around 1 minute before the cooking time passes, you should try to see if it is cooked. To do this just bite the pasta and look the cut surface. If it shows some more dry part, it is not cooked yet; if it has a perfectly omogeneous color then is cooked.
Dente means tooth, so al dente means that you will feel it with the teeth.
The most important thing is that when your pasta is cooked your sauce _must be ready_ so that you can mix them together and have a nice warm pasta. If you cook first pasta and then worry about the sauce, no matter how good your sauce is, you will end with and overcooked pasta!