Student Projects (Greek)

Ανακοινώνονται τα εξής θέματα στην Τεχνολογία Λογισμικού & Αντ/φή Ανάλυση:

( 1 ) Εκμάθηση, δοκιμή και εφαρμογή των εργαλείων της πλατφόρμας OPEN-SME για επαναχρησιμοποίηση κώδικα (N φοιτητές)

Η παρούσα διπλωματική εργασία χωρίζεται σε τρία διακριτά μέρη. Αρχικά, ο φοιτητής καλείται να γνωρίσει τα εργαλεία που πρόκειται να χρησιμοποιήσει, τα οποία αποτελούν μέρος την πλατφόρμας OPEN-SME (http://opensme.eu) και να εκπαιδευτεί στον ορθό τρόπο χρήσης τους. Στη συνέχεια καλείται να εφαρμόσει τα εργαλεία αυτά σε έργα Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού Κώδικα (ΕΛ/ΛΑΚ) που ανήκουν σε συγκεκριμένο πεδίο εφαρμογής (π.χ. Παίγνια, Επιχειρηματικές εφραμογές, Εργαλεία CASE κλπ.) με στόχο την εξαγωγή συστατικών λογισμικού (software components). Τέλος, τα συστατικά λογισμικού που προέκυψαν στο προηγούμενο βήμα θα πρέπει να αντιμετωπισθούν ως ξεχωριστές εφαρμογές και να τεκμηριωθούν ως προς τη λειτουργικότητά τους (component characterization). Κάθε φοιτητής θα επιλέξει το πεδίο εφαρμογών που τον ενδιαφέρει.

Σχόλια – Αποσαφηνίσεις:

Όλα τα εργαλεία που απαιτούνται για την εκπόνηση της πτυχιακής εργασίας είναι ήδη υλοποιημένα και ο φοιτητής καλείται να τα εφαρμόσει σε υπαρκτά έργα λογισμικού. Τα συστατικά λογισμικού εξάγονται από τα εργαλεία της πλατφόρμας του OPEN-SME. Η τεκμηρίωσή τους απαιτεί χρήση κάποιου Integration Development Environment (IDE) και συνδυαστική μελέτη του κώδικα, των UML διαγραμμάτων και της τεκμηρίωσής τους (source code documentation).

( 2 ) Κατασκευή 3Δ παιχνιδιού σε Java βασισμένο σε έτοιμο κώδικα ανοιχτού λογισμικού

Στη συγκεκριμένη πτυχιακή εργασία ο φοιτητής/φοιτήτρια, θα αναλάβει τη κατασκευή ένος 3Δ παιχνιδιού σε java, επαναχρησιμοποιώντας κώδικα ανοιχτού λογισμικού που έχει εξορυχθεί από ήδη υπάρχοντα παιχνίδια ανοιχτού λογισμικού.

( 3 ) Υλοποίηση εργαλείου καταχώρησης και ανάλυσης αντι-προτύπων διοίκησης

Η παρούσα διπλωματική εργασία αφορά την επανα-υλοποίηση με τεχνολογία Java ενός εργαλείου για την καταχώρηση και ανάλυση αντι-προτύπων διοίκησης (http://en.wikipedia.org/wiki/Antipattern#Project_management_anti-patterns), δηλ. κακών πρακτικών διοίκησης. Το υπάρχον εργαλείο θα χρησιμοποιηθεί ως πρωτότυπο και θα επεκταθεί ώστε να είναι δυνατή η πρόσβαση σε αυτό από το Διαδίκτυο.

( 4 ) Ενοποίηση εργαλείου εκτίμησης παραμέτρων ανάπτυξης λογισμικού σε πλατφόρμα ανοιχτού κώδικα που υποστηρίζει την έρευνα σε θέματα τεχνολογίας λογισμικού

Στόχος της  διπλωματικής είναι να ενοποιήσει υπάρχον εργαλείο εκτίμησης λογισμικού σε μια πλατφόρμα ανοιχτού λογισμικού η οποία παρέχει μια διεπαφή την οποία θα κάνει χρήση ο φοιτητής. Το εργαλείο εκτίμησης κόστους λογισμικού χρησιμοποιεί την μέθοδο εκτίμησης με βάση τις αναλογίες για να προβλέψει μετρικές που σχετίζονται με την ανάπτυξη λογισμικού. Η πλατφόρμα ανοιχτού κώδικα για την έρευνα σε θέματα τεχνολογίας λογισμικού αποθηκεύει δεδομένα ανάπτυξης λογισμικού καθώς και τον ίδιο των κώδικα έργων λογισμικού των οποίο αξιοποιεί για να βγάλει κάποια συμπεράσματα για την ανάπτυξη του λογισμικού και την ποιότητα του. Στόχος είναι η ενοποίηση των παραπάνω ώστε το εργαλείο εκτίμησης λογισμικού να χρησιμοποιεί τα δεδομένα τη ερευνητικής πλατφόρμας τεχνολογίας λογισμικού ώστε να εκτιμήσει δεδομένα όπως μετρικές κόστους και ποιότητας  κώδικα.

Τα βήματα τα οποία περιλαμβάνει η διπλωματική είναι τα ακόλουθα: 1) Καταννόηση του εργαλείου εκτίμησης παραμέτρων ανάπτυξης λογισμικού (έχει αναπτυχθεί σε Java και συνοδεύεται από documentation) 2) Καταννόηση της διεπαφής (υλοποιημένη σε Java) που παρέχεται από την πλατφόρμα έρευνας σε τεχνολογία λογισμικού ανοιχτού κώδικα . 3) Ενοποίηση των 2 προαναφερόμενων ώστε η ερευνητική πλατφόρμα τεχνολογίας λογισμικού να μπορεί να εκτελεί εκτιμήσεις με βάση το εργαλείο εκτίμησης παραμέτρων ανάπτυξης λογισμικού. 4) Εφαρμογή των νέων δυνατοτήτων της πλατφόρμας σε έργα λογισμικού με στόχο την εκτίμηση παραμέτρων ανάπτυξης λογισμικού όπως μετρικές κόστους, ποιότητας, κώδικα.

Προαπαιτούμενα για την εκπόνηση πτυχιακής εργασίας:

  • Επιτυχής εξέταση στα μαθήματα:
    • Τεχνολογία Λογισμικού
    • Αντικειμενοστραφής Ανάλυση
  • Καλές γνώσεις προγραμματισμού σε Java
  • Για την εργασία 3: Πολύ καλή γνώση ανάπτυξης διαδικτυακών εφαρμογών