I think it all depends on how you define segment.
-----
first option :-
I define segment as 1 take off and landing. So, if I take a flight from
A->B->C (round trip) by changing flights at B, then I consider that I will have 4 segments (2 for each trip). But if I don't change flights at B, then I will have only 2 segments(1 for each segment). By assuming in this way, I don't have to change the BDOM.
And if I change one of my segment (A->B) to A->D, I still consider B->C as valid because the customer may have some other way to reach from D to C (by bus or train). And the price itinerary takes each segment of the itinerary to calculate the price.
-----------------
Second option:-
The second option is to consider A->B->C as one segment and the return trip as another segment. So altogether only 2 segments (instead of 4 as mentioned above). This will work out very easily , because now I can change any of my segment(either forward or backward journey) without affecting the other. But now the problem is, we have to change the BDOM (segment-flight relationship).
So both option has got a catch in it ...
I don't think the assignment mentions that the segments should be connected each other. If so, then why don't we go with the first option.
(By the way, I don't know how you have defined a segment)