Bring salted water to the boil in a large pot. Add the pasta and cook al dente according to the time instructed on the package. Drain and rinse under cold water and drain again. Set aside to cool.
Peel the asparagus with a vegetable peeler from top to bottom, starting below the tips. Remove any woody ends with a knife and cut the asparagus into 4cm pieces. Place the asparagus in a large pot with salted water. Bring to the boil; reduce heat and simmer gently until the asparagus is tender and can be easily pierced with a sharp knife, about 15 minutes. The cooking time varies depending on the thickness of the asparagus spears. Remove the asparagus and drain, let cool. Reserve the cooking liquid.
In a salad bowl, stir the mayonnaise and vinegar together until smooth. Add the cooked asparagus pieces, tomatoes, cooked pasta and ham. Cover and refrigerate for a few hours. If the salad seems dry afterwards because the pasta has absorbed all the liquid, moisten it by adding a few tablespoons of the asparagus cooking liquid.
Wash and dry the rocket; tear the leaves into bite-size pieces. Mix them with the salad just before serving. Season with salt to taste.