Professional Documents
Culture Documents
Telos Ergasia
Telos Ergasia
end ArtCollector
end ArtObject
from: ArtCollector
to: ArtObject
in S_Class
end collects
end PaintingCollector
end Painting
from: PaintingCollector
to: Painting
end collects
b)
Η δήλωση του γνωρίσματος collects from PaintingCollector σαν γνωρίσμα collects from
ArtCollector στην προηγούμενη δήλωση δεν εξασφαλίζει ότι κάθε συλλέκτης συλλέγει μόνο
Painting, γιατί δεν περιορίζει τον τύπο των αντικειμένων που μπορεί να συλλέξει ο κάθε
συλλέκτης.
Για να εξασφαλιστεί ότι κάθε PaintingCollector συλλέγει μόνο Painting, μπορούμε να
εισαγάγουμε ένα νέο γνώρισμα collectsPaintings, το οποίο θα περιγράφει αυτήν τη
συγκεκριμένη σχέση. Επίσης, θα πρέπει να αντικαταστήσουμε το υπάρχον γνώρισμα collects
με δύο διαφορετικά γνωρίσματα collectsArtObjects και collectsPaintings, προκειμένου να
διαχωρίσουμε τις δύο διαφορετικές συλλογές.
Μια τροποποίηση είναι η παρακάτω:
TELL Attribute collectsArtObjects
from: ArtCollector
to: ArtObject
in S_Class
end collectsArtObjects
Άσκηση 2
α) Με βάση το σχήμα που μας δόθηκε έχουμε τον παρακάτω κώδικα σε Telos:
β)
Αλλάζοντας την οντότητα Πώληση σε χαρακτηριστικό και το χαρακτηριστικό «κατέχει» σε
οντότητα έχουμε το παρακάτω σε Telos
Όπως βλέπουμε για να γίνει η αλλαγή ορίστηκε μια οντότητα Κατέχει όπου στέλνει δύο νέα
γνωρίσματα το δόθηκε και ανήκε στις οντότητες Αυτοκίνητο και Πρόσωπο αντίστοιχα.
Για την αλλαγή της οντότητας Πώληση ορίστηκε σαν όρισμα και καταργήθηκαν τα ορίσματα
πωλούμενο είδος και πωλητής
γ)
Η λύση σε κώδικα Telos του ζητούμενου είναι :
Για να διασφαλίσουμε τη διάκριση των ειδών κωδικών και να εξασφαλίσουμε ότι όλοι οι
κωδικοί λαμβάνουν υποχρεωτικά μία και μόνο τιμή, εισαγάγουμε μια νέα κλάση Κωδικός η
οποία θα αντιπροσωπεύει τους διάφορους κωδικούς και επεκτείνουμε την κλάση Αντικείμενο
με ένα γνώρισμα κωδικός το οποίο θα συνδέεται με την κλάση Κωδικός.
Με αυτήν παραπάνω επέκταση, δημιουργήσαμε μια νέα κλάση Κωδικός που αντιπροσωπεύει
τους διάφορους κωδικούς, καθώς και τις κλάσεις Αντικείμενο, Αυτοκίνητο, Κινητήρας και
Πρόσωπο που συνδέονται με αυτόν τον τρόπο. Επίσης, τα γνωρίσματα αριθμόςΚινητήρα,
αριθμόςΠλαισίου και αριθμόςΤαυτότητας μπορούν να προκύψουν ως εξειδικεύσεις του
γνωρίσματος κωδικός της κλάσης Αντικείμενο. Τέλος, επεκτείναμε το μοντέλο με τη δήλωση
ότι όλοι οι κωδικοί λαμβάνουν υποχρεωτικά μία και μόνο τιμή.
Άσκηση 3