Τεχνολογία Λογισμικού

Τα υποχρεωτικά μαθήματα του 3ου έτους
Post Reply
User avatar
chrisagelou
Administrator
Posts: 107
Joined: Tue Sep 16, 2014 9:08 pm
Academic status: N>4
Gender:

Τεχνολογία Λογισμικού

Post by chrisagelou » Thu Mar 12, 2020 12:51 pm

Το παρόν thread προορίζεται για το μάθημα "Τεχνολογία Λογισμικού". Εδώ μπορείτε να συζητάτε για ό,τι σχετίζεται με το συγκεκριμένο μάθημα. Υπενθυμίζουμε ότι με βάση τους κανονισμούς λειτουργίας του forum απαγορεύονται τα greeklish, double posts και τα κεφαλαία. Για προηγούμενες συζητήσεις μπορείτε να ανατρέξετε εδώ.

Καλή αρχή! :D
User avatar
kampou.theo
Buffer underflow exception
Buffer underflow exception
Posts: 2
Joined: Tue Jan 27, 2015 4:02 pm
Academic status: N>4
Gender:

Θέματα Ιούνιου - Ακαδημαϊκού Έτους 2019-2020

Post by kampou.theo » Thu Jun 25, 2020 11:37 am

Ιούνιος 2020

Θέμα 1
Είχε ένα κειμενάκι για ένα σύστημα που αφορούσε αιτήματα φοιτητών για οικονομικό βοήθημα από το πανεσπιστήμιο, όπου οι φοιτητές θα έκαναν μία αίτηση και ο υπάλληλος της γραμματείας με την βοήθεια του συστήματος θα έκανε διαλογή των αιτήσεων και θα παρήγαγε κάποιες αναφορές με τους δικαιούχους. (Το κείμενο ήταν μεγάλο περίπου μισή σελίδα (12pt) αλλά ήταν γραμμενο ώστε να βοηθήσει να βγει η άσκηση σε χρόνο εξέτασης.)

Tip: Το τρικ κατά την γνώμη μου ήταν η αναφορά σε ένα άλλο σύστημα σύστημα του ίδιου του πανεπιστημίου το οποίο συμβουλευόταν το σύστημα που περιγραφόταν στην άσκηση για να κάνει μια αυτοματοποιημένη διαλογή των φοιτητών σε πρώτο στάδιο ώστε να έρθει ο υπάλληλος γραμματείας να δει εάν πληρούνται τα υπόλοιπα κριτήρια κτλ. Στην ουσία για το ΑΛΛΟ ΣΥΣΤΗΜΑ, ήθελε να δει εάν θα το βάλουμε σαν ACTOR του συτήματος.

Θέμα 2
To ερώτημα αφορούσε domain model diagram. Είχε ένα μικρό κειμενάκι, 8 γραμμές μόνο, που ζητούσε να κατασκευάσουμε το domain model diagram του περιγραφόμενου συστήματος. Η υπόθεση αφορούσε μια αλυσίδα σουπερ μαρκετ που ήθελε να ελεγχει την τιμή πολλών προϊόντων για διαφορετικά καταστήματα. Επίσης, σε κάθε κατάστημα επικρατούσε διαφοριτική πολιτική έκτπωσης (enumeration). Ήταν συνδιαστικό παράδειγμα μέσα από τις αντίστοιχες διαφάνειες του μαθήματος, domain model, σχετικά με την μοντελοποίηση συγκεκριμένων περιπτώσεων. Ήθελε να δει περισσότερο την πληθυκότητα των συσχετίσεων. Τρεις κλάσεις (Σουπερ Μαρκετ, Προίον, Τιμή) και ένας απαριθμητής (enumerator) για data type ένός πεδίου της κλάσης σουπερ μαρκετ που αφορούσε την πολιτική εκπτωσης.

Θέμα 3
Κώδικας JAVA που υλοποιούσε το πρότυπο σχεδίασης ΣΤΡΑΤΙΓΙΚΗ και ΣΥΝΘΕΤΟ (ίδια παραδείγματα έχει μέσα στις διαλεξεις) απλά συνδίασε δύο πρότυπα σχεδίασης (tricky). Είχε μία κλάση Abstract που την κληρονομούσαν άλλες δύο κλάσεις και υλοποιούσαν την αφηρημένη μέθοδο της (αυτό το κομμάτι ήταν η ΣΤΡΑΤΙΓΙΚΗ). Αυτή η ιεραρχία κλάσεων όριζε μία πολιτική τιμολόγησης, δηλαδή οι κλάσεις που υλοποιούσαν την αφηρημένη μέθοδο της γονικής υπολόγιζαν μια τιμή ενός προϊόντος. Επειτα μία κλάση Product που αποτελούσε ένα προϊόν και μία κλάση Sale που είχε ένα σύνολο προϊώντων μέσα της (HashSet<Products>). Αυτό το κομμάτι ήταν το πρότυπο σχεδίασης ΣΥΝΘΕΤΟ. Και ζητούσε:΅
α. UML class diagram
β. Sequence diagram μια συγκεκριμένης μεθόδου της κλάσης που είχε μέσα loop και if και συνδιαζε τρία αντικείμενα, για ανταλλαγή μηνυμάτων μεταξύ αυτών.
γ. Ηθελε να περιγράψουμε πιο πρότυπο σχεδίασης ακολουθείται στον κώδικα που μας έδωσε.

Θέμα 4
Ήταν σχετικό με JUnit. Έδινε ένα UML class diagram που είχε μια κλάση για έναν Message Manager που στέλνει email μηνύματα. Ζητούσε να τροποιηθεί κατάλληλα το διάγραμμα ώστε να είναι πιο εύκολο να γίνεται ο έλεγχος με δύο τρόπους. Στην πρώτη περίπτωση όταν η εφαρμογή θα εκτελούνταν για ελέγχους θα έστελενε τα email μόνο στο email του προγραμματιστή. Στην δεύτερη περίπτωση όταν θα γινόταν demonstration προς τους χρήστες θα έστελνε στο πουθένα. Στην ουσία η λύση, είναι η διαδικασία με την κλάση stub (στελεχος) που περιγράφει στις αντίστοιχες διαλέξεις με το JUnit, απλά ήθελε να κάνεις δύο stub κλάσεις μία για τον έλεγχους του προγραμματιστή και μία για το demonstration προς τους χρήστες, με τέτοιο τρόπο ώστε να είναι επεκτάσιμος ο κωδικα (χαμηλή σύζευξη). Ένα interface και οι κλάσεις stub να κληρονομούν το interface.

Σημείωση:
Τα θέματα ήταν 4 μονο, ένταντι των 5 θεμάτων από άλλες χρονιές, διότι γράφαμε μόνο 1 ώρα και 40 λεπτά λόγω COVID-19.
Post Reply

Return to “3ο έτος”