Put the eggs in a saucepan and cover with water. Cover the pan and bring the eggs to a full rolling boil. Remove from the heat and let stand for 15 minutes.
Meanwhile, prepare the asparagus. Trim the asparagus by cutting or snapping off tough and woody stems.
Arrange the asparagus in a large skillet or saucepan and cover with water. Add about 1 teaspoon of salt to the water. Bring to a simmer; cover the pan and continue to cook for about 4 to 6 minutes, or until just crisp-tender.
Alternatively, you may roast the asparagus. Heat the oven to 450 F and spread the spears out on a foil-lined rimmed baking sheet; drizzle with 2 tablespoons of olive oil. Sprinkle lightly with salt and pepper. Roast for 8 to 10 minutes, or until the asparagus is lightly browned and tender.
Peel the eggs and slice thinly; set aside.
In a medium saucepan, melt the butter over medium-low heat. When butter stops foaming, add the ham and green onions. Cook, stirring, until the onions are tender. Add the flour and dry mustard. Cook, stirring constantly, for about 1 1/2 minutes. Gradually stir in the milk. Continue cooking, stirring constantly, until thickened and bubbly. Add salt and pepper, to taste.
Arrange hot cooked asparagus on plates with slices of hard-cooked eggs. Spoon the ham and green onion sauce over the asparagus spears.