Powiedzmy, że mam podmiot o nazwie Oprogramowanie i dwa podtypy FreeSoftware i NonFreeSoftware. Jednostka NonFreeSoftware ma atrybuty takie jak data zakupu, dostawca itp. Jednostka FreeSoftware ma atrybuty takie jak licencja, adres URL kodu źródłowego itp.
Więc jeśli chcę modelować inny byt, OperatingSystem, jak mam to zrobić? Istnieje „związek” z oprogramowaniem, ale „albo / lub” związek z FreeSoftware i NonFreeSoftware.
Myślę, że coś pomijam w sposobie, w jaki analizuję tę hierarchię.