I am working in a purchasing system where we take calls:
public class Call
{
public List<CallItem> CallItems { get; set; }
}
The calls can be turned into quotes, where call items become quote lines:
public class Quote
{
public List<QuoteSegment> QuoteSegments { get; set; }
}
public class QuoteSegment
{
public List<QuoteLine> QuoteLines { get; set; }
}
And quotes can be accepted and turned into orders, where the quote lines become order lines:
public class Order
{
public List<OrderSegment> OrderSegments { get; set; }
}
public class OrderSegment
{
public List<OrderLine> OrderLines { get; set; }
}
There are many transitions like this in our system, where one item can become another. The relationships between their attributes is not always obvious. It becomes time-consuming to read the code and try to trace through the flow of information.
Is there a suitable type of diagram, UML or otherwise, that can be used to show the in-depth relationships between two classes? So that I can show exactly which Call attributes map to which Quote attributes, which Quote attributes map to which Order attributes, and so on?