Professional Documents
Culture Documents
PLH24 2ERG ΕΚΦΩΝΗΣΗ 2022-2023 V.1.0
PLH24 2ERG ΕΚΦΩΝΗΣΗ 2022-2023 V.1.0
Ονοματεπώνυμο Φοιτητή/Φοιτήτριας:
Αριθμός Μητρώου:
Κωδικός Τμήματος:
Ονοματεπώνυμο Καθηγητή:
Υπεύθυνη Δήλωση Φοιτητή/Φοιτήτριας: Βεβαιώνω ότι είμαι συγγραφέας αυτής της εργασίας και ότι κάθε
βοήθεια την οποία είχα για την προετοιμασία αυτής της εργασίας, είναι πλήρως αναγνωρισμένη και αναφέρεται,
είτε στο σημείο «Σχόλια προς καθηγητή», είτε μέσα στην εργασία. Επίσης, έχω αναφέρει τις όποιες πηγές από τις
οποίες έκανα χρήση δεδομένων, ιδεών ή λέξεων, είτε αυτές αναφέρονται ακριβώς, είτε παραφρασμένες. Επίσης,
βεβαιώνω ότι αυτή η εργασία προετοιμάστηκε από εμένα προσωπικά ειδικά για τη συγκεκριμένη Θεματική
Ενότητα.
Δε συμφωνώ και δεν αποδέχομαι την ανωτέρω δήλωση (στην περίπτωση αυτή, ο Κ-Σ έχει δικαίωμα
να μην αξιολογήσει την εργασία του φοιτητή/της φοιτήτριας)
Αναλυτική Αξιολόγηση:
Άσκηση Περιγραφή Ποσοστό % Βαθμός
Σύνολο: 100
Χριστουγεννιάτικου δέντρου.
Ροή Γεγονότων
Βασική Ροή:
1 Ο χρήστης επιλέγει στην Αρχική Οθόνη τη «Διακόσμηση Χριστουγεννιάτικου Δέντρου».
2 Το σύστημα δείχνει τη λίστα με τα διαθέσιμα (αγορασμένα) Χριστουγεννιάτικα στολίδια.
[Εναλλακτική Ροή Α]
3 Ο χρήστης επιλέγει ένα στολίδι από τη λίστα και το τοποθετεί πάνω στο εικονικό δέντρο.
4 Το σύστημα αποθηκεύει τη θέση του στολιδιού στον 3-Διαστάσεων χώρο του εικονικού δέντρου.
[Εναλλακτική Ροή Β]
5 Ο χρήστης επιλέγει να δει μια προεπισκόπηση του εικονικού Χριστουγεννιάτικου δέντρου.
6 Το σύστημα “σαρώνει” τη λίστα με τα στολίδια που έχουν τοποθετηθεί στο δέντρο και εκτελεί την
οπτική τους αναπαράσταση (rendering), ανάλογα με τον τύπο τους (διαφορετική για κάθε στολίδι).
(Τα βήματα 3 έως 6 επαναλαμβάνονται για όλα τα Χριστουγεννιάτικα στολίδια της λίστας)
Εναλλακτικές Ροές
Εναλλακτική Ροή Α:
2α1 Ο χρήστης θέλει να αγοράσει επιπλέον στολίδια.
2α2 Το σύστημα καλεί την Π.Χ.-2 «Αγορά Στολιδιών».
Εναλλακτική Ροή Β:
4α1 Η επιλεγμένη θέση βρίσκεται εκτός του 3Δ χώρου που καταλαμβάνει το δέντρο.
4α2 Το σύστημα δείχνει μήνυμα λάθους και επιστρέφει στο βήμα 3 της βασικής ροής.
Προϋποθέσεις: - Ο χρήστης έχει κάνει (επιτυχημένη) είσοδο στο σύστημα.
Μετασυνθήκες: - Κλήση της Π.Χ.-2 «Αγορά Στολιδιών».
- Το δέντρο είναι αποθηκευμένο και έτοιμο για ενεργοποίηση.
Μαθησιακά Αποτελέσματα
Στην Άσκηση 1.A. θα σας δοθεί η δυνατότητα να κατανοήσετε την κατασκευή του «Διαγράμματος
Ακολουθίας». Πιο συγκεκριμένα θα μπορέσετε:
να περιγράψετε το Διάγραμμα Ακολουθίας,
Εάν δεν έχετε δώσει απάντηση γράψτε με κεφαλαία γράμματα, ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ.
Εάν εν γνώση σας δίνετε ελλιπή απάντηση γράψτε με κεφαλαία γράμματα, ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ.
Εξηγήστε σε ποιο σημείο θεωρείτε την απάντηση ελλιπή και γιατί.
Διάγραμμα Ακολουθίας:
Τεκμηρίωση Επιλογών:
Μαθησιακά Αποτελέσματα
Στην Άσκηση 1.B θα σας δοθεί η δυνατότητα να κατανοήσετε την κατασκευή του «Διαγράμματος Κλάσεων».
Εάν δεν έχετε δώσει απάντηση γράψτε με κεφαλαία γράμματα, ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ.
Εάν εν γνώση σας δίνετε ελλιπή απάντηση γράψτε με κεφαλαία γράμματα, ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ.
Εξηγήστε σε ποιο σημείο θεωρείτε την απάντηση ελλιπή και γιατί.
Διάγραμμα Κλάσεων:
Τεκμηρίωση Επιλογών:
Pattern», προς αποφυγή δημιουργίας πολλαπλών αντικειμένων αυτής. Επισημαίνεται ότι το εν λόγω πρότυπο
μπορεί να υλοποιηθεί με περισσότερους του ενός, σωστούς, τρόπους.
Κλάση BetOrganization
Είναι η “κεντρική” κλάση της εταιρείας στοιχημάτων. Διαθέτει τη λίστα των διαθέσιμων στοιχημάτων, καθώς και
τη λίστα των διαθέσιμων παιχτών (πελατών). Βασικές λειτουργίες της είναι ο υπολογισμός κερδών των παιχτών
(μέθοδος calculateGainsPerCustomer) και η εκτύπωση των αποτελεσμάτων στην οθόνη (μέθοδος
showCustomersResults) και σε αρχείο (μέθοδος printCustomersResultsToTextFile). Η συγκεκριμένη κλάση
εφαρμόζει το πρότυπο σχεδίασης «Singleton Design Pattern», προς αποφυγή δημιουργίας πολλαπλών
αντικειμένων αυτής. Επισημαίνεται ότι το εν λόγω πρότυπο μπορεί να υλοποιηθεί με περισσότερους του ενός,
σωστούς, τρόπους.
Κλάση BetMain
Η κλάση εκτέλεσης/προσομοίωσης του προγράμματος. Κατά την προσομοίωση:
1. Προστίθενται τα στοιχήματα ποδοσφαίρου και μπάσκετ στο σύστημα (BetOrganization).
2. Δημιουργούνται οι διαθέσιμοι παίχτες.
3. Τοποθετούνται τα στοιχήματα των παιχτών.
4. Προστίθενται οι παίχτες στο σύστημα (BetOrganization).
5. Εκκινείται η διαδικασία προσομοίωσης αγώνων (τυχαία παραγωγή των αποτελεσμάτων αγώνων από την
κλάση GameEmulator).
6. Ενεργοποιούνται οι λειτουργίες προβολής/εκτύπωσης των αποτελεσμάτων των στοιχημάτων από το
σύστημα (BetOrganization).
Διεπαφή IGiveBetList.
Η συγκεκριμένη διεπαφή χρησιμοποιείται ώστε να “επιβάλει” σε κλάσεις τη χρήση της μεθόδου
getCustomerBetList, η οποία επιστρέφει τη λίστα με τα διαθέσιμα στοιχήματα των παιχτών.
------------------Results-------------------
####################################
Customer name: Tony di Naples
Customer money paid: 130
Customer gains: 55.00000000000001
####################################
Customer name: Babis Sougias
Customer money paid: 2050
Customer gains: 710.0
--------------End-of-Results----------------
Η παραπάνω εκτύπωση οθόνης, είναι και αυτή που καταγράφεται στο αρχείο καταγραφής αποτελεσμάτων
(λειτουργία της κλάσης BetOrganization).
Πριν ξεκινήσετε την ανάγνωση των ερωτημάτων της εργασίας, ανοίξτε στον editor της επιλογής σας το δοθέν
Java Project και μελετήστε τον κώδικα που περιέχει, λαμβάνοντας υπόψη και τα σχόλια που βρίσκονται μέσα
στον κώδικα.
Μαθησιακά Αποτελέσματα
Στην Άσκηση 2.Α. θα μπορέσετε:
● να ορίσετε με ακρίβεια την έννοια της κλάσης,
● να κατανοήσετε τα βασικά δομικά στοιχεία μιας κλάσης,
● να κατανοήσετε τους κατασκευαστές των κλάσεων,
● να υποσκελίσετε μεθόδους και
● να υλοποιήσετε κληρονομικότητα κλάσεων και υλοποίηση διεπαφών.
Εάν δεν έχετε δώσει απάντηση γράψτε με κεφαλαία γράμματα, ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ.
Εάν εν γνώση σας δίνετε ελλιπή απάντηση γράψτε με κεφαλαία γράμματα, ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ.
Εξηγήστε σε ποιο σημείο θεωρείτε την απάντηση ελλιπή και γιατί.
Μαθησιακά Αποτελέσματα
Στην Άσκηση 2.Β. θα μπορέσετε:
● να υλοποιήσετε σύνθετες μεθόδους,
● να χειριστείτε λίστες,
● να δημιουργείτε και να χειρίζεστε τυχαίους αριθμούς και
● να υλοποιείτε απλούς αλγορίθμους.
Εάν δεν έχετε δώσει απάντηση γράψτε με κεφαλαία γράμματα, ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ.
Εάν εν γνώση σας δίνετε ελλιπή απάντηση γράψτε με κεφαλαία γράμματα, ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ.
Εξηγήστε σε ποιο σημείο θεωρείτε την απάντηση ελλιπή και γιατί.
(Σύνολο: 10 μονάδες)
Μαθησιακά Αποτελέσματα
Στην Άσκηση 2.Γ. θα μάθετε:
● να γράφετε δεδομένα σε αρχεία,
● να υλοποιείτε χειρισμό εξαιρέσεων και
● να υλοποιείτε τροποποιημένους κατασκευαστές.
Εάν δεν έχετε δώσει απάντηση γράψτε με κεφαλαία γράμματα, ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ.
Εάν εν γνώση σας δίνετε ελλιπή απάντηση γράψτε με κεφαλαία γράμματα, ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ.
Εξηγήστε σε ποιο σημείο θεωρείτε την απάντηση ελλιπή και γιατί.
Μαθησιακά Αποτελέσματα
Στην Άσκηση 2.Δ. θα μάθετε:
● να δημιουργείτε σύνθετα αντικείμενα,
● να προσθέτετε σύνθετες παραμέτρους σε αντικείμενα,
● να προσθέτετε αντικείμενα σε λίστες,
● να εκτελείτε μεθόδους αντικειμένων και
● να καλείτε/χρησιμοποιείτε αντικείμενα δημιουργημένα με το πρότυπο Singleton.
Εάν δεν έχετε δώσει απάντηση γράψτε με κεφαλαία γράμματα, ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ.
Εάν εν γνώση σας δίνετε ελλιπή απάντηση γράψτε με κεφαλαία γράμματα, ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ.
Εξηγήστε σε ποιο σημείο θεωρείτε την απάντηση ελλιπή και γιατί.
Μαθησιακά Αποτελέσματα
Στην Άσκηση 2.Ε θα μπορέσετε:
● να παραθέσετε τα κύρια μέλη που περιλαμβάνει ένα διάγραμμα κλάσεων (κλάσεις-διεπαφές),
● να παραθέσετε τα είδη των σχέσεων μεταξύ των κλάσεων και
● να αντιστοιχίσετε το κάθε είδος σχέσης με το σύμβολο που την απεικονίζει.
Εάν δεν έχετε δώσει απάντηση γράψτε με κεφαλαία γράμματα, ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ.
Εάν εν γνώση σας δίνετε ελλιπή απάντηση γράψτε με κεφαλαία γράμματα, ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ.
Εξηγήστε σε ποιο σημείο θεωρείτε την απάντηση ελλιπή και γιατί.
1) Για την απάντηση της εργασίας θα πρέπει να χρησιμοποιηθεί το κείμενο της εκφώνησης της
εργασίας. Στο κείμενο αυτό:
- Συμπληρώστε, στο χώρο των απαντήσεων, όλα τα στοιχεία με κίτρινο χρώμα.
- Μην ξεχάσετε να δηλώσετε εάν η εργασία αποτελεί προϊόν αποκλειστικά δικής σας εργασίας.
- Ενσωματώστε τις απαντήσεις (διαγράμματα ή/και κώδικα) στην κατάλληλη θέση. Δεν θα
πρέπει να κάνετε παραπομπές της μορφής «βλέπε αρχείο…».
- Αν δεν έχετε απαντήσει σε ένα ερώτημα γράψτε «ΔΕΝ ΑΠΑΝΤΗΘΗΚΕ».
- Αν απαντήσατε με ελλείψεις σε ένα ερώτημα γράψτε «ΕΛΛΙΠΗΣ ΑΠΑΝΤΗΣΗ».
2) Η συνεργασία στην ανάλυση της εργασίας επιτρέπεται, αλλά καλό είναι να αναφερθεί στον ειδικό
χώρο στην πρώτη σελίδα της εργασίας. Η συνεργασία δεν πρέπει να οδηγεί σε από κοινού επίλυση
και συγγραφή της εργασίας. Η υποβολή κοινών απαντήσεων από διαφορετικούς φοιτητές που
συνεργάστηκαν δεν επιτρέπεται και θεωρείται ως ΑΝΤΙΓΡΑΦΗ. Οι απαντήσεις ελέγχονται, τόσο
μεταξύ των φοιτητών του ιδίου τμήματος, όσο και μεταξύ φοιτητών διαφορετικών τμημάτων. Η
αντιγραφή έχει ως αποτέλεσμα το ΜΗΔΕΝΙΣΜΟ ΤΗΣ ΕΡΓΑΣΙΑΣ ΣΥΝΟΛΙΚΑ και την παραπομπή των
παραβατών στην Κοσμητεία της Σχολής Θετικών Επιστημών & Τεχνολογίας, σύμφωνα με τον
εσωτερικό κανονισμό του ΕΑΠ.
3) Η εκπόνηση της εργασίας θα πρέπει να γίνει αποκλειστικά και υποχρεωτικά με το εργαλείο Visual
Paradigm για τη UML και NetΒeans / IntelliJ για τη Java.
4) Η εργασία θα υποβληθεί στο σύστημα υποβολή εργασιών του study.eap.gr.
5) Ο φοιτητής θα πρέπει να υποβάλει την εργασία του σε δύο αρχεία:
- Το 1ο αρχείο θα έχει όνομα PLH24_2ERG_EPITHETO_ONOMA.doc και είναι το κείμενο της
εκφώνησης της εργασίας με συμπληρωμένες τις απαντήσεις.
- Το 2ο αρχείο είναι ένα συμπιεσμένο αρχείου zip ή rar με όνομα
PLH24_2ERG_EPITHETO_ONOMA.<rar|zip>. Το συμπιεσμένο αρχείο θα πρέπει να
αποτελείται από:
i. Το αρχείο Visual Paradigm με το project που θα περιέχει τα διαγράμματα των
ασκήσεων.
ii. Τον κατάλογο με τον κώδικα Java που θα πρέπει να περιλαμβάνει το project
όπως αυτό δημιουργείται από το εργαλείο NetΒeans / IntelliJ και το οποίο θα
πρέπει να μπορεί να εκτελείται χωρίς αλλαγές/επέμβαση από τον καθηγητή.
iii. Να γίνει χρήση λατινικών χαρακτήρων ΑΠΟΚΛΕΙΣΤΙΚΑ για την αποφυγή
προβλημάτων με το moodle.
H εφαρμογή των παραπάνω κανόνων είναι ΥΠΟΧΡΕΩΤΙΚΗ και βαθμολογείται σύμφωνα με το αντίστοιχο
κριτήριο αξιολόγησης. Η μη εφαρμογή του πρώτου κανόνα μπορεί να οδηγήσει σε συνολική απόρριψη της
εργασίας.
ΚΑΛΗ ΕΠΙΤΥΧΙΑ!