Ans will be D all of the above
Refinement is surely a Top-Down approach as we are extracting a particular type Like from Person entity to S/w engineer
RefinementProcess of elaboration. Start with the statement of function defined at the abstract level, decompose the statement of function in a step wise fashion until programming language statements are reached.