Great Question.
First of all: Visual Studio (VS) Class Designer is not a CASE Tools (like Enterprise Architect and etc.).
It is only a class representation of the source codes. Meaning that classes in class designer are always synchronized with the classes in the source code. If you delete some attributes or methods in source code, it synchronized with class designer and vise versa.
Secondly: The answer of this question hides in mapping Association and Aggregation (and Composition) to source code.
To map Associations, Aggregation and Composition to source code see: Reference 1 and Reference 2.
Detecting Association or Aggregation or Composition relationships between classes from the Source Code is impossible in some cases.
For example, what type of relationship is between Customer
and Car
in below code?
public class Customer {
private String name;
private String address;
private String contactNumber;
private Car car;
}
public class Car {
private String modelNumber;
private Customer owner;
}
It can be Association or Aggregation.
Finally, because of first and second reasons as described above, Visual Studio Class Diagram do not have Aggregation and Composition.