Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης

Σχετικά έγγραφα
Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης στην «Επιστήμη και Τεχνολογία Υπολογιστών»

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού: Αποδοτική Αναζήτηση & Εφαρμογή Σχεδιαστικών Λύσεων και Προτύπων»

Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

Διαχείριση Πληροφοριακών Συστημάτων

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού:Κλωνοποίηση σε επίπεδο Μοντέλου, Ανάλυση Ποιότητας & Σχεδιαστικά Πρότυπα»

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ ΑΥΤΟΝΟΜΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΛΟΗΓΗΣΗΣ ΓΙΑ ΤΗΝ ΠΑΡΑΓΩΓΗ ΥΨΗΛΗΣ ΑΝΑΛΥΣΗΣ ΟΡΘΟΦΩΤΟΓΡΑΦΙΩΝ ΓΕΩΡΓΙΚΩΝ ΕΚΤΑΣΕΩΝ

Αρχιτεκτονική Λογισμικού

Εκτεταμένη περίληψη Περίληψη

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΔΙΟΙΚΗΣΗ της ΥΓΕΙΑΣ» ΑΞΙΟΛΟΓΗΣΗ ΑΠΟΔΟΣΗΣ ΠΡΟΣΩΠΙΚΟΥ: ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΙΔΙΩΤΙΚΟΥ ΝΟΣΟΚΟΜΕΙΟΥ ΠΑΡΑΓΙΟΥΔΑΚΗ ΜΑΓΔΑΛΗΝΗ

Test Data Management in Practice

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

ΤΟ ΜΟΝΤΕΛΟ Οι Υποθέσεις Η Απλή Περίπτωση για λi = μi 25 = Η Γενική Περίπτωση για λi μi..35

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΝΑΥΤΙΛΙΑΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΝΑΥΤΙΛΙΑ

Περίληψη (Executive Summary)

ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ. Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο. την απόκτηση του διπλώματος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697


Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

þÿ ½ Á Å, ˆ»µ½± Neapolis University þÿ Á̳Á±¼¼± ¼Ìù±Â ¹ º à Â, Ç» Ÿ¹º ½ ¼¹ºÎ½ À¹ÃÄ ¼Î½ º±¹ ¹ º à  þÿ ±½µÀ¹ÃÄ ¼¹ µ À»¹Â Æ Å

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ

Εισαγωγή στη Δασική Πληροφορική

Περιεχόμενο του μαθήματος

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Βασικές Έννοιες Web Εφαρμογών

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ

Εισαγωγή στη Σχεδίαση Λογισμικού

Ακριβής 3Δ Προσδιορισμός Θέσης των Σημείων του Κεντρικού Τομέα του Δικτύου LVD με τη μέθοδο του Σχετικού Στατικού Εντοπισμού

Αρχές Προγραμματισμού Υπολογιστών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΟΙΚΟΝΟΜΟΤΕΧΝΙΚΗ ΑΝΑΛΥΣΗ ΕΝΟΣ ΕΝΕΡΓΕΙΑΚΑ ΑΥΤΟΝΟΜΟΥ ΝΗΣΙΟΥ ΜΕ Α.Π.Ε

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 8η - Εικονικοί Κόσμοι και Πολιτιστικό Περιεχόμενο

Έξυπνα ενεργειακά δίκτυα

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΕΤΟΙΜΑΣΙΑ ΔΕΛΤΙΟΥ ΠΟΣΟΤΗΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΑΜΕΣΕΣ ΞΕΝΕΣ ΕΠΕΝΔΥΣΕΙΣ ΣΕ ΕΥΡΩΠΑΙΚΕΣ ΧΩΡΕΣ

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ. «ΔΙΟΙΚΗΣΗ της ΥΓΕΙΑΣ» ΑΞΙΟΛΟΓΗΣΗ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΝΟΣΟΚΟΜΕΙΑΚΟΥ ΠΡΟΣΩΠΙΚΟΥ

þÿ ÀÌ Ä º± µä À ¹ ¼ ½

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Πτυχιακή διατριβή. Η επίδραση της τασιενεργής ουσίας Ακεταλδεΰδης στη δημιουργία πυρήνων συμπύκνωσης νεφών (CCN) στην ατμόσφαιρα

Ηλεκτρονικό εμπόριο. HE 8 Εξατομίκευση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ

Τεχνολογία Πολυμέσων. Ενότητα 6: Υπερκείμενο - Υπερμέσα. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή

ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΓΕΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΛΥΣΟΚΙΝΗΣΗΣ ΓΙΑ ΜΕΤΑΦΟΡΑ ΤΡΟΛΕΪ

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή διατριβή. Ονοματεπώνυμο: Αργυρώ Ιωάννου. Επιβλέπων καθηγητής: Δρ. Αντρέας Χαραλάμπους

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή διατριβή

Διαχείριση Πολιτισμικών Δεδομένων

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Context-aware και mhealth

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

AΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ

Επίδραση της Συμβολαιακής Γεωργίας στην Χρηματοοικονομική Διοίκηση των Επιχειρήσεων Τροφίμων. Ιωάννης Γκανάς

Κτίρια nζεβ και προσομοίωση με την χρήση του energy+

ΝΑΥΤΙΛΙΑΚΟΙ ΚΥΚΛΟΙ ΚΑΙ ΧΡΗΜΑΤΟΔΟΤΗΣΗ ΝΑΥΤΙΛΙΑΚΩΝ ΕΠΕΝΔΥΣΕΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι

ΣΤΑΤΙΚΗ ΜΗ ΓΡΑΜΜΙΚΗ ΑΝΑΛΥΣΗ ΚΑΛΩ ΙΩΤΩΝ ΚΑΤΑΣΚΕΥΩΝ

Μεταπτυχιακή διατριβή

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Επιμέλεια: Αδαμαντία Τραϊφόρου (Α.Μ 263) Επίβλεψη: Καθηγητής Μιχαήλ Κονιόρδος

þÿ¼ ½ ±Â : ÁÌ» Â Ä Å ÃÄ ²µ þÿä Å ÃÇ»¹º Í Á³ Å

þÿ P u b l i c M a n a g e m e n t ÃÄ ½ ¼ÌÃ

Μοντελοποίηση Πεδίου

Τμήμα Πολιτικών και Δομικών Έργων

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

υπηρεσίες / services ΜΕΛΕΤΗ - ΣΧΕΔΙΑΣΜΟΣ PLANNING - DESIGN ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ COMMERCIAL PLANNING ΕΠΙΠΛΩΣΗ - ΕΞΟΠΛΙΣΜΟΣ FURNISHING - EQUIPMENT

«ΑΓΡΟΤΟΥΡΙΣΜΟΣ ΚΑΙ ΤΟΠΙΚΗ ΑΝΑΠΤΥΞΗ: Ο ΡΟΛΟΣ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΠΡΟΩΘΗΣΗ ΤΩΝ ΓΥΝΑΙΚΕΙΩΝ ΣΥΝΕΤΑΙΡΙΣΜΩΝ»

Σχεδίαση και Ανάπτυξη Ιστότοπων

2 nd AEGIS Technical Meeting and On-Site Visit in Mytilene, Greece

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Πολιτικών Μηχανικών Τοµέας οµοστατικής ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΣΤΟΧΙΑΣ ΑΠΟ ΛΥΓΙΣΜΟ ΚΑΙ ΠΛΑΣΤΙΚΟΠΟΙΗΣΗ ΣΕ ΜΕΤΑΛΛΙΚΑ ΠΛΑΙΣΙΑ

þÿ ¹µ ½  ±À±³É³ À±¹ ¹Î½ º±Ä þÿ ͼ²±Ã Ä Â ³ Â Ä Å

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Transcript:

Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διπλωματική εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης στην «Επιστήμη & Τεχνολογία Υπολογιστών» Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης Μποβίλας Κωνσταντίνος, Α.Μ. 235 Επιβλέπων Καθηγητής Καθηγητής, κ. Αθανάσιος Τσακαλίδης Τριμελής Εξεταστική Επιτροπή Καθηγητής, κ. Αθανάσιος Τσακαλίδης Αναπληρωτής Καθηγητής, κ. Ιωάννης Χατζηλυγερούδης Επίκουρος Καθηγητής, κ. Ιωάννης Τζήμας Πάτρα, Φεβρουάριος 2014

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

ii

Επιτελική Σύνοψη Η αλματώδης ανάπτυξη του Διαδικτύου, ειδικά την τελευταία δεκαετία, έχει επιτρέψει την ανάπτυξη πολυσύνθετων, αλληλεπιδραστικών εφαρμογών παγκόσμιου ιστού με στόχο τη βέλτιστη παροχή υπηρεσιών προς τους χρήστες. Η πολυπλοκότητα των εφαρμογών αυτών, σε σχέση με τους πρώτους ιστότοπους που χρησιμοποιούνταν απλά και μόνο για την προβολή πληροφοριών, έχει αυξηθεί σημαντικά. Επίσης, πολλές φορές οι εταιρίες και οι οργανισμοί που στοχεύουν στην παροχή on-line υπηρεσιών, παραβλέπουν τη χρήση καλών πρακτικών και μεθόδων ανάπτυξης λογισμικού, κυρίως λόγω βιασύνης αλλά και δυσκολίας να τις ενσωματώσουν. Για το λόγο αυτό, ο σχεδιασμός, η ανάπτυξη και, κυρίως, η συντηρησιμότητα μιας εφαρμογής παγκόσμιου ιστού αποτελούν μεγάλες και δυσεπίλυτες προκλήσεις που καλείται να αντιμετωπίσει ο σχεδιαστής της. Η ερευνητική κοινότητα προκειμένου να αντιμετωπίσει την αυξανόμενη πολυπλοκότητα του σχεδιασμού εφαρμογών παγκόσμιου ιστού έχει προτείνει ένα πλήθος προσεγγίσεων και μεθόδων βασισμένων σε μοντέλα. Το έργο του σχεδιαστή εφαρμογών παγκόσμιου ιστού μπορεί να απλοποιηθεί ακόμα περισσότερο με την επαναχρησιμοποίηση της εμπειρίας άλλων σχεδιαστών εφαρμογών παγκόσμιου ιστού. Η επαναχρησιμοποίηση της εμπειρίας αυτής γίνεται με χρήση σχεδιαστικών προτύπων που ορίζονται από πεπειραμένους σχεδιαστές. Αν κατά το σχεδιασμό μιας εφαρμογής χρησιμοποιηθεί κάποια μέθοδος μοντελοποίησης σε συνδυασμό με ένα σύνολο σχεδιαστικών προτύπων, η τελική εφαρμογή θα είναι πιο αποδοτική, ποιοτική και εύκολα συντηρήσιμη και επεκτάσιμη. Όμως, αρκετά συχνά, κατά το σχεδιασμό και την ανάπτυξη μιας εφαρμογής παγκόσμιου ιστού δε λαμβάνεται υπόψη κάποια συγκεκριμένη μεθοδολογία μοντελοποίησης και ανάπτυξης. Για την ανάλυση, κατανόηση και μοντελοποίηση των αρχιτεκτονικών τέτοιου είδους εφαρμογών, έχει αναπτυχθεί ένα πλήθος μεθόδων αντίστροφης μηχανίκευσης. Στόχοι της παρούσας διπλωματικής εργασίας είναι η μελέτη τεχνικών αντίστροφης μηχανίκευσης εφαρμογών παγκόσμιου ιστού και η αξιολόγησή τους, εξάγοντας χρήσιμα συμπεράσματα σχετικά με την τρέχουσα κατάσταση και τις διαμορφούμενες μελλοντικές κατευθύνσεις. Αρχικά, γίνεται επισκόπηση των μεθόδων μοντελοποίησης εφαρμογών παγκόσμιου ιστού που έχουν προταθεί από την ερευνητική κοινότητα και παρουσιάζονται τα σχεδιαστικά πρότυπα που έχουν οριστεί πάνω σε αυτές τις μεθόδους. Κατόπιν, παρουσιάζονται οι βασικές έννοιες της αντίστροφης μηχανίκευσης καθώς και συγκεκριμένες τεχνικές που έχουν αναπτυχθεί για την επίτευξή της. Τελικά, παραθέτουμε χρήσιμα συμπεράσματα που προκύπτουν από τη σύγκριση και αξιολόγηση των προτεινόμενων τεχνικών αντίστροφης μηχανίκευσης. Πιο συγκεκριμένα, η δομή της εργασίας αναλύεται ως εξής: Στο πρώτο κεφάλαιο γίνεται αναφορά στα οφέλη χρήσης μοντέλων κατά το σχεδιασμό εφαρμογών παγκόσμιου ιστού, καθώς και οι βασικές απαιτήσεις που θα πρέπει να ικανοποιούν οι μέθοδοι μοντελοποίησης για την πληρέστερη ικανοποίηση των χαρακτηριστικών των εφαρμογών παγκόσμιου ιστού. Επιπλέον, γίνεται επισκόπηση και παρουσίαση των κυριότερων μεθόδων μοντελοποίησης που έχουν προταθεί από την ερευνητική κοινότητα. Για την πληρέστερη κατανόηση των εννοιών που αφορούν τη iii

μοντελοποίηση, γίνεται μια ευρύτερη παρουσίασή τους με τη βοήθεια της γλώσσας μοντελοποίησης WebML, η οποία τελευταία υιοθετήθηκε ως πρότυπο σχεδίασης εφαρμογών παγκόσμιου ιστού από τον οργανισμό OMG με την ονομασία Interaction Flow Modeling Language (IFML, 2013). Η γλώσσα αυτή επιλέχθηκε διότι επιτρέπει την απλοποιημένη, γραφική αναπαράσταση των βασικών συστατικών μιας εφαρμογής χωρίς να απαιτεί ιδιαίτερες τεχνικές γνώσεις και επομένως τα παραδείγματα μπορούν να γίνουν κατανοητά από περισσότερους αναγνώστες. Τέλος, στο κεφάλαιο αυτό γίνεται σύγκριση των προτεινόμενων μεθόδων μοντελοποίησης. Στο δεύτερο κεφάλαιο παραθέτονται τα οφέλη χρήσης σχεδιαστικών προτύπων τόσο από άπειρους όσο και από έμπειρους σχεδιαστές και δίνεται ένας επίσημος ορισμός των σχεδιαστικών προτύπων για τον παγκόσμιο ιστό. Επιπλέον, παρουσιάζονται παραδείγματα προτύπων δημοσίευσης και διαχείρισης περιεχομένου τα οποία έχουν οριστεί στη WebML. Για το σχεδιασμό πολύπλοκων εφαρμογών παγκόσμιου ιστού, ναι μεν το είδος επαναχρησιμοποίησης που προσφέρουν τα σχεδιαστικά πρότυπα παγκόσμιου ιστού είναι πολύτιμα, εν τούτοις απαιτείται η επαναχρησιμοποίηση όσο το δυνατόν μεγαλύτερων σχεδιαστικών δομών. Για το λόγο αυτό γίνεται αναφορά και παρουσίαση της επαναχρησιμοποίησης που υποστηρίζεται από τη χρήση σχεδιαστικών πλαισίων ανάπτυξης εφαρμογών παγκόσμιου ιστού. Στο τρίτο κεφάλαιο γίνεται εισαγωγή στην έννοια της αντίστροφης μηχανίκευσης. Παρουσιάζονται οι στόχοι της αντίστροφης μηχανίκευσης και τα διάφορα είδη αντίστροφης μηχανίκευσης λογισμικού και δεδομένων. Στη συνέχεια εμβαθύνουμε στην αντίστροφη μηχανίκευση που βασίζεται σε μοντέλα και τη χρησιμότητά της, καθώς και στην αντίστροφη μηχανίκευση εφαρμογών παγκόσμιου ιστού. Παρουσιάζονται τα συστατικά που αποτελούν μία εφαρμογή παγκόσμιου ιστού, καθώς και ο τύπος της πληροφορίας που απαιτείται να εξαχθεί από μία διαδικασία αντίστροφης μηχανίκευσης, έτσι ώστε να γίνει κατανοητή και αντιληπτή η αρχιτεκτονική μιας τέτοιας εφαρμογής. Στο τέταρτο κεφάλαιο γίνεται επισκόπηση διαφόρων τεχνικών και εργαλείων αντίστροφης μηχανίκευσης που έχουν αναπτυχθεί, μέχρι στιγμής, με στόχο την εξαγωγή του αφαιρετικού τους μοντέλου και ταυτόχρονη κατηγοριοποίηση ανάλογα με το μοντέλο που χρησιμοποιούν ή το είδος των εφαρμογών που στοχεύουν. Τέλος, στο πέμπτο κεφάλαιο παραθέτονται τα συμπεράσματα που προκύπτουν από τη συγκριτική μελέτη και αξιολόγηση των τεχνικών αντίστροφης μηχανίκευσης. iv

Executive Summary The fast growth of the Internet, especially in the last decade, allowed the development of complex, interactive and ubiquitous web applications in order to satisfy user needs. Web Applications provide many services and they are not used just to display content, as it was the case for the first web sites. Nowadays, most companies and organizations acknowledge that it is important to have at least a WWW presence. In the rush to obtain such an on-line presence, and subsequently maintain and expand this presence, well established software engineering practices applied to the production of more traditional software system have often been overlooked. This can partly be attributed to difficulties in adapting traditional software engineering practices to WWW software, and partly to the rush to market commercial pressures. Due to the growing complexity, the design, development and maintenance of these applications has become one of the major challenges that the developer has to face. In an attempt to face this growing complexity, the research community has proposed a number of model based approaches and methods. The task of the hypertext architect may be further facilitated by reusing the experience of other hypertext architects. This reuse is achieved by means of design patterns that have been defined by experts. If, we make use of a modeling method in combination with design patterns when designing a web application, the final result will be more efficient and qualitative. Usually, due to the pressing market demands, the modeling methods or techniques are not applied during the design and development of the web applications. A number of reverse engineering methods and tools have been proposed in order to analyze, comprehend and model the architectures of such applications. The main goal of this thesis is to study reverse engineering methods and techniques applied to web applications and to evaluate these methods extracting useful conclusions about the present and the future directions of this research area. At start, we study the various modeling methods that have been proposed, as well as the design patterns that have been defined and the reverse engineering methods that have been developed. Then, we present the basic concepts of reverse engineering and some of the methods that have been developed from the research community. Finally, we state our conclusions extracted from the evaluation of the techniques. Analytically, this master thesis is being structured in the following chapters: The first chapter presents the benefits of using models when designing web applications, as well as the requirements that a web application must satisfy in order to be able to model the features of the web applications. The main modeling methods that have been proposed by the research community are also presented. The Web modeling language (WebML) is mainly used to outline some modeling examples as it is a well elaborated language that can represent most features of a web application with graphical means and almost zero need for technical details. Furthermore, WebML is the base for Interaction Flow Modeling Language which has been adopted as a standard by OMG in March 2013 (IFML, 2013). In the end of this chapter, there is a comparison of the proposed modeling methods. v

In the second chapter we present the benefits gained when using design patterns by nonexperienced as well by experienced developers. Moreover, we present the patterns that have been defined in WebML. Though, the kind of reuse provided by patterns is valuable when designing web applications, complex web applications need a way to maximize reuse of larger design structures. For this reason, we also present the kind of reuse that is provided by using web application frameworks. The third chapter focuses on reverse engineering. We present the work that has been done in the domain of reverse engineering, the basic concepts and the types of software reverse engineering. Then, we move to reverse engineering based on models and after that we examine the details of reverse engineering web applications. Furthermore, the components of a web application and the type of information that should be retrieved by a reverse engineering approach in order to comprehend the architecture of the web application are presented. The fourth chapter of this thesis presents some of the main techniques developed for reverse engineering of web applications in order to retrieve their architectural model. We also try to categorize these techniques based on the model they use or the type of target applications. Finally, in the fifth chapter we present our conclusions. vi

Περιεχόμενα 1. Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού... 1 1.1. Εισαγωγή... 1 1.2. Πλεονεκτήματα Χρήσης Σχεδιαστικών Μοντέλων... 3 1.3. Απαιτήσεις Μεθόδων Μοντελοποίησης... 4 1.3.1. Επίπεδα - Levels... 5 1.3.2. Όψεις - Aspects... 6 1.3.3. Φάσεις - Phases... 7 1.3.4. Εξατομίκευση - Customization... 7 1.4. Μέθοδοι και Τεχνικές Μοντελοποίησης... 10 1.4.1. Data-oriented μέθοδοι... 13 1.4.2. Hypertext-oriented μέθοδοι... 16 1.4.3. Object-oriented μέθοδοι... 22 1.4.4. Software-oriented μέθοδοι... 34 1.4.5. Άλλες Μέθοδοι... 35 1.4.6. WebML... 36 1.5. Σύγκριση Μεθοδολογιών... 44 1.6. Συμπεράσματα... 47 2. Πρότυπα Σχεδίασης Web Εφαρμογών... 49 2.1. Εισαγωγή... 49 2.2. Προέλευση σχεδιαστικών προτύπων... 51 2.3. Παράδειγμα χρήσης σχεδιαστικών προτύπων παγκόσμιου ιστού... 52 2.4. Οφέλη και Προβλήματα της χρήσης προτύπων... 54 2.5. Ορισμός σχεδιαστικών προτύπων... 55 2.6. Ταξινόμηση Σχεδιαστικών Προτύπων... 56 2.7. Πρότυπα στη WebML... 57 2.7.1. Πρότυπα Δημοσίευσης Περιεχομένου... 58 2.7.2. Πρότυπα Διαχείρισης Περιεχομένου... 64 2.8. Σχεδιαστικά Πλαίσια Ανάπτυξης... 69 2.9. Αναγνώριση Βασικών Εννοιών Πληροφορίας... 70 2.10. Αναγνώριση Σκελετών Δόμησης Δεδομένων και Σχημάτων Υπερκειμένου... 72 2.11. Συμπεράσματα... 79 3. Μοντελοποίηση Εφαρμογών με χρήση Αντίστροφης Μηχανίκευσης... 81 3.1. Εισαγωγή... 81 3.2. Αντίστροφη μηχανίκευση... 84 3.2.1. Αντίστροφη μηχανίκευση λογισμικού... 84 3.2.2. Δυσκολίες εφαρμογής της αντίστροφης μηχανίκευσης... 85 vii

3.2.3. Προσεγγίσεις αυτοματοποίησης της αντίστροφης μηχανίκευσης... 86 3.2.4. Αντίστροφη μηχανίκευση και πνευματικά δικαιώματα... 87 3.2.5. Εργαλεία αντίστροφης μηχανίκευσης... 88 3.2.6. Αξιολόγηση εργαλείων αντίστροφης μηχανίκευσης... 91 3.3. Είδη αντίστροφης μηχανίκευσης λογισμικού... 93 3.3.1. Αντίστροφη μηχανίκευση κώδικα... 93 3.3.2. Αντίστροφη μηχανίκευση δεδομένων... 96 3.4. Αντίστροφη μηχανίκευση βασισμένη σε μοντέλα... 98 3.4.1. Εισαγωγή... 98 3.4.2. Επαρκής αντίστροφη μηχανίκευση... 99 3.4.3. «Αντίστροφη» αντίστροφη μηχανίκευση... 100 3.4.4. Μοντέλα υποστήριξης της αντίστροφης μηχανίκευσης... 100 3.5. Αντίστροφη μηχανίκευση Web Εφαρμογών... 102 3.5.1. Στατική ανάλυση... 104 3.5.2. Δυναμική ανάλυση... 104 3.5.3. Ανάλυση συμπεριφοράς... 106 3.6. Εννοιολογικό μοντέλο web εφαρμογών... 106 3.7. Συμπεράσματα... 107 4. Τεχνικές & Εργαλεία Αντίστροφης Μηχανίκευσης Web Εφαρμογών... 109 4.1. Εισαγωγή... 109 4.2. Κατηγοριοποίηση των εφαρμογών παγκόσμιου ιστού... 111 4.3. Στόχοι της αντίστροφης μηχανίκευσης εφαρμογών παγκόσμιου ιστού... 112 4.4. Αναπαράσταση εφαρμογών παγκόσμιου ιστού... 113 4.5. Εργαλεία και μεθοδολογίες αντίστροφης μηχανίκευσης... 113 4.5.1. Μεθοδολογίες βασισμένες σε UML... 114 4.5.2. Μεθοδολογίες για ASP.NET εφαρμογές... 116 4.5.3. Αντίστροφη μηχανίκευση βασισμένη σε οντολογίες... 123 4.5.4. Μεθοδολογίες για Web 2.0 εφαρμογές... 124 4.5.5. Άλλες μεθοδολογίες και εργαλεία... 134 5. Συμπεράσματα... 137 5.1. Αντίστροφη μηχανίκευση web εφαρμογών... 137 5.2. Αντίστροφη μηχανίκευση εφαρμογών λογισμικού... 138 6. Βιβλιογραφία... 143 viii

Κατάλογος Σχημάτων Σχήμα 1 Διαστάσεις Μοντελοποίησης Παραδοσιακών Εφαρμογών... 4 Σχήμα 2 Διαστάσεις Μοντελοποίησης Web Εφαρμογών... 5 Σχήμα 3 Σχεδιαστικός Χώρος Εξατομίκευσης... 8 Σχήμα 4 Ιστορικό ανάπτυξης μεθόδων μοντελοποίησης... 11 Σχήμα 5 Hera: (a) Conceptual Model, (b) Application Model... 15 Σχήμα 6 Hera: Presentation Model... 16 Σχήμα 7 WSDM: The Booking Task CTT... 19 Σχήμα 8 WSDM: Object Chunks at Content Level... 20 Σχήμα 9 WSDM: Μοντέλο πλοήγησης και Ίχνος Πλοήγησης Χρήστη... 20 Σχήμα 10 W2000: Το σχεδιαστικό πλαίσιο... 21 Σχήμα 11 UWE: Μοντέλο χωρικής πλοήγησης μιας απλής εφαρμογής... 26 Σχήμα 12 UWE: Μοντέλο παρουσίασης... 26 Σχήμα 13 UWE: Μοντέλο αλληλεπίδρασης... 27 Σχήμα 14 OO-H: Conceptual Model και Context Model... 28 Σχήμα 15 OO-H: Navigation Access Diagram... 29 Σχήμα 16 OOWS: Το δομικό μοντέλο... 31 Σχήμα 17 OOWS: (a) Activity diagram, (b) Navigation Context diagram... 31 Σχήμα 18 Η Model-Driven Development προσέγγιση... 32 Σχήμα 19 Ανάπτυξη εφαρμογής με την MDA... 32 Σχήμα 20 Διαδικασία ανάπτυξης της WebSA... 33 Σχήμα 21 Παράδειγμα Σύνθεσης Site view με περιοχές και σελίδες... 38 Σχήμα 22 Παράδειγμα Σύνθεσης Σελίδων και Πλοήγησης με και χωρίς περιεχόμενο... 41 Σχήμα 23 Γενικό Παράδειγμα Επαναχρησιμοποίησης με χρήση Σχεδιαστικών Προτύπων... 50 Σχήμα 24 Cascaded Index Πρότυπο... 58 Σχήμα 25 Filtered Index Πρότυπο... 59 Σχήμα 26 Filtered Scrolled Index Πρότυπο... 60 Σχήμα 27 Guided Tour πρότυπο... 60 Σχήμα 28 Indexed Guided Tour Πρότυπο... 61 Σχήμα 29 Object Viewpoint... 61 Σχήμα 30 Nested Data Object... 62 Σχήμα 31 Hierarchical Index with Alternative Sub-Pages... 63 Σχήμα 32 Επαναχρησιμοποιήσιμες Δομικές Μονάδες... 63 Σχήμα 33 Πρότυπο Δημιουργίας Αντικειμένου... 64 Σχήμα 34 Πρότυπο Διαγραφής Αντικειμένου... 65 Σχήμα 35 Πρότυπο Τροποποίησης Αντικειμένου... 66 Σχήμα 36 Πρότυπο Δημιουργίας Σχέσης... 67 Σχήμα 37 Πρότυπο Διαγραφής Σχέσης... 68 Σχήμα 38 Create-Connect Πρότυπο... 68 Σχήμα 39 Cascaded Delete Πρότυπο... 69 Σχήμα 40 Δομημένο διάγραμμα οντοτήτων συσχετίσεων με υποσχήματα... 72 Σχήμα 41 (a) Σχήμα Δεδομένων και (b) Σχήμα Υπερκειμένου για το Βασικό Σκελετό... 74 Σχήμα 42 (a) Σχήμα Δεδομένων και (b) Σχήμα Υπερκειμένου για το Σκελετό Προσπέλασης. 75 Σχήμα 43 (a) Σχήμα Δεδομένων και (b) Σχήμα Υπερκειμένου για το Σκελετό Σύνδεσης... 76 Σχήμα 44 Διάγραμμα Υπερκειμένου για Διαχείριση Περιεχομένου ενός Βασικού Αντικειμένου... 77 Σχήμα 45 Αναπαράσταση Χρήστη και Ομάδας στο Σχήμα Δεδομένων... 78 Σχήμα 46 Υπερκείμενο Δημιουργίας Προφίλ Χρήστη... 78 Σχήμα 47 Forward Engineering, Reverse Engineering και παράγωγα... 82 Σχήμα 48 Αντίστροφη Μηχανίκευση... 83 ix

Σχήμα 49 Επαναληπτική εφαρμογή συγχρονισμένης εκλέπτυνσης... 87 Σχήμα 50 Τεχνική Clean Room Design... 88 Σχήμα 51 Αντίστροφη μηχανίκευση web εφαρμογής... 102 Σχήμα 52 Υψηλού επιπέδου αναπαράσταση διαδικασίας αντίστροφης μηχανίκευσης... 103 Σχήμα 53 Τα στάδια της μεθόδου WARE... 116 Σχήμα 54 Αρχιτεκτονική προτεινόμενου Συστήματος... 117 Σχήμα 55 Asp-tag tree... 119 Σχήμα 56 Δενδρική αναπαράσταση εφαρμογής ειδήσεων... 121 Σχήμα 57 Αποτέλεσμα ανάλυσης (αριστερά) & Αρχικό WebML σχήμα (δεξιά)... 122 Σχήμα 58 Η προσέγγιση του OntoWer... 124 Σχήμα 59 Η μηχανή πεπερασμένων καταστάσεων (FSM) για την εφαρμογή CartEvol... 132 x

Κατάλογος Πινάκων Πίνακας 1 RMDM Δομοστοιχεία... 13 Πίνακας 2 Βασικές Μονάδες Περιεχομένου της WebML... 39 Πίνακας 3 Παραλλαγές της Δομικής Μονάδας Ευρετηρίου... 40 Πίνακας 4 Δομοστοιχεία Παραμέτρων Περιεχομένου... 42 Πίνακας 5 Δομικές Μονάδες Λειτουργιών... 43 Πίνακας 6 Λειτουργίες Σύνδεσης και Αποσύνδεσης από το σύστημα... 44 Πίνακας 7 Σύγκριση Μεθοδολογιών... 45 Πίνακας 8 Πίνακας αντιστοίχησης html-asp tags σε WebML Units... 120 Πίνακας 9 Ιχνηλατήσεις για την εφαρμογή CartEvol (μόνο γεγονότα)... 130 Πίνακας 10 Τμήμα της συνάρτησης αφαίρεσης καταστάσεων (πάνω) και η αφαίρεση ειδικά για το CartEvol (κάτω)... 131 Πίνακας 11 Καταστάσεις της εφαρμογής CartEvol... 132 Κατάλογος Εικόνων Εικόνα 1 Κώδικας.aspx σελίδας... 119 xi

1 - Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού 1. Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού 1.1. Εισαγωγή Κατά την εμφάνιση του Παγκόσμιου Ιστού (World Wide Web), η δημιουργία ιστοτόπων (websites) αφορούσε κυρίως την παραγωγή στατικών σελίδων οι οποίες δεν παρείχαν σχεδόν καμία μορφή επικοινωνίας μεταξύ των ιδιοκτητών του ιστοτόπου και των χρηστών. Στη διάρκεια, όμως, της δεκαετίας του 90, οι εξυπηρετητές παγκόσμιου ιστού (web servers) τροποποιήθηκαν έτσι ώστε να παρέχουν δυνατότητες επικοινωνίας και αλληλεπίδρασης με αποτέλεσμα τη γέννηση των αποκαλούμενων Εφαρμογών Παγκόσμιου Ιστού (web applications). Η κοινότητα του λογισμικού, για να μπορέσει να ικανοποιήσει τις αυξημένες απαιτήσεις δημιουργίας των εφαρμογών παγκόσμιου ιστού, προχώρησε στην ενοποίηση των αρχικών συστημάτων υπερμέσων (hypermedia systems) με τα παραδοσιακά πληροφοριακά συστήματα (information systems), δύο τύπους συστημάτων που αρχικά προορίζονταν για εντελώς διαφορετικούς σκοπούς. Μέχρι σήμερα, έχουν κάνει την εμφάνισή τους πληθώρα αλληλεπιδραστικών εφαρμογών για κάθε τομέα της ανθρώπινης δραστηριότητας (π.χ. τραπεζικές συναλλαγές, εμπόριο, εκπαίδευση, ιατρική κ.ά.). Στον, δυναμικά, μεταβαλλόμενο χώρο του διαδικτύου, η διαρκής τεχνολογική πρόοδος παράγει, συνεχώς, ολόκληρες γενιές εφαρμογών παγκόσμιου ιστού οι οποίες παρέχουν περισσότερες δυνατότητες από τις προηγούμενες. Βασικά χαρακτηριστικά που, συνήθως, ενσωματώνουν οι σύγχρονες εφαρμογές παγκόσμιου ιστού, και οι οποίες τις διαφοροποιούν από τους απλούς ιστοτόπους στατικής παρουσίασης περιεχομένου, είναι τα ακόλουθα: Δυνατότητα ενεργοποίησης λειτουργιών και συναλλαγών από τους χρήστες. Δυνατότητα μεταβολής της δομής του περιεχομένου από τους χρήστες. Αποδοτική διαχείριση και παρουσίαση πολύ μεγάλου όγκου δεδομένων. Παρουσίαση διαφορετικών όψεων της ίδιας πληροφορίας και ενεργοποίηση διαφορετικών λειτουργιών για διαφορετικούς χρήστες ή ομάδες χρηστών. Πλήρη προσαρμοστικότητα σχετικά με το πότε/που/τι πρέπει να προβληθεί (Ubiquitous Web Applications UWAs). Χαρακτηριστικό παράδειγμα εφαρμογής παγκόσμιου ιστού που παρέχει τέτοιου είδους δυνατότητες αποτελεί μια εφαρμογή ηλεκτρονικού εμπορίου. Οι χρήστες έχουν τη δυνατότητα να πλοηγούνται στην εφαρμογή, να βλέπουν τον κατάλογο των προϊόντων, να σημαδεύουν (bookmark) τα προϊόντα που τους ενδιαφέρουν, να τα τοποθετούν στο καλάθι αγορών τους, να ελέγχουν το ποσό και τέλος να δίνουν εντολή πληρωμής, έτσι ώστε να ολοκληρώνεται η συναλλαγή. Επίσης, ειδική μέριμνα λαμβάνεται στην εξατομικευμένη αντιμετώπιση κάθε πελάτη τόσο από πλευράς συνηθισμένων συναλλαγών που αυτός εκτελεί όσο και από την πλευρά του τρόπου σύνδεσης (π.χ. pc, 1

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης» mobile, tablet κτ.λ.), του χρόνου σύνδεσης (π.χ. ώρες εργασίας, ώρες απογευματινές κτ.λ.) και του τόπου σύνδεσης (π.χ. χώρος εργασίας, οικία κτ.λ.). Ουσιαστικά, λοιπόν, οι χρήστες μπορούν να προσπελαύνουν και να μεταβάλλουν την πληροφορία που υπάρχει αποθηκευμένη στο σύστημα, εφόσον έχουν την κατάλληλη άδεια πρόσβασης. Επίσης, ένα πλήθος διαφορετικών ομάδων χρηστών με διαφορετικές απαιτήσεις πλοήγησης και λειτουργικότητας μπορούν να προσπελαύνουν την ίδια εφαρμογή. Για το λόγο αυτό στις διάφορες κατηγορίες χρηστών παρέχονται διαφορετικές διεπαφές χρήστη όσον αφορά το περιεχόμενο, την πλοήγηση και τη λειτουργικότητα (Baresi et al., 2001). Τα παραπάνω φανερώνουν ότι ο σχεδιασμός εφαρμογών παγκόσμιου ιστού είναι μία πολύπλοκη διαδικασία που απαιτεί πολύ κόπο και χρόνο, ακόμα και από έμπειρους προγραμματιστές. Απαιτεί τη δυνατότητα οργάνωσης μεγάλης ποσότητας δεδομένων, με ένα μη γραμμικό τρόπο και τον καθορισμό πολλαπλών μονοπατιών πλοήγησης πάνω στα δεδομένα αυτά, καθώς και τη δυνατότητα ορισμού λειτουργικών και εξελικτικών όψεων της εφαρμογής. Έως σήμερα, έχουν προταθεί μια σειρά από τεχνολογίες ανάπτυξης (π.χ. ASP - Active Server Pages, JSP - Java Server Pages κτ.λ.) για τη δημιουργία εφαρμογών παγκόσμιου ιστού. Οι τεχνολογίες αυτές παρέχουν πλήρεις και περιεκτικές λύσεις για την εξαγωγή και το χειρισμό δυναμικού περιεχομένου από υποκείμενες βάσεις δεδομένων. Όμως, οι γρήγορες, χωρίς ευρύτερο σχεδιασμό (ad-hoc), προσεγγίσεις προτυποποίησης που προέρχονται από τις τεχνολογίες αυτές και υιοθετούνται στην πράξη (Murugesan et al., 1999), αρκετά συχνά οδηγούν σε μη ικανοποιητικά και ανεπαρκή αποτελέσματα. Έτσι οι εφαρμογές που παράγονται, χαρακτηρίζονται συνήθως από χαμηλή συντηρησιμότητα και επεκτασιμότητα (Koch, 1999), (Ceri et al., 2000). Ένα πλήθος προσεγγίσεων που βασίζονται σε μοντέλα, έχει προταθεί από την ερευνητική κοινότητα προκειμένου να αντιμετωπιστεί το πρόβλημα αποτελεσματικού σχεδιασμού και ανάπτυξης εφαρμογών παγκόσμιου ιστού. Ένα σχεδιαστικό μοντέλο είναι ουσιαστικά ένα σύνολο δομοστοιχείων το οποίο επιτρέπει στους σχεδιαστές να περιγράψουν τα χαρακτηριστικά μιας εφαρμογής σε ένα εννοιολογικό επίπεδο χωρίς να λαμβάνονται υπόψη λεπτομέρειες που αφορούν την υλοποίηση. Οι προσεγγίσεις αυτές έχουν ως στόχο την απλοποίηση της διαδικασίας σχεδιασμού και ανάπτυξης εφαρμογών παγκόσμιου ιστού επιτρέποντας το σχεδιασμό τους σε ένα υψηλό επίπεδο αφαίρεσης και κάνοντας εφικτή την αυτόματη ή ημιαυτόματη παραγωγή υλοποιήσεων από υψηλού επιπέδου προδιαγραφές (Fraternali, 1999), (Koch, 1999), (Retschitzegger & Schwinger, 2000), (Costagliola et al., 2002). Στο παρών κεφάλαιο παρατίθενται τα οφέλη χρήσης σχεδιαστικών μοντέλων και οι βασικές απαιτήσεις που θα πρέπει να ικανοποιούν οι μέθοδοι μοντελοποίησης για την πληρέστερη μοντελοποίηση των χαρακτηριστικών των εφαρμογών παγκόσμιου ιστού. Επιπλέον, γίνεται μία γρήγορη επισκόπηση και παρουσίαση των κυριότερων μεθόδων μοντελοποίησης που έχουν προταθεί από την ερευνητική κοινότητα. Τέλος, γίνεται σύγκριση των προτεινόμενων μεθόδων μοντελοποίησης. 2

1 - Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού 1.2. Πλεονεκτήματα Χρήσης Σχεδιαστικών Μοντέλων Ένα σχεδιαστικό μοντέλο, όπως αναφέρθηκε και στην εισαγωγή, είναι ένα σύνολο δομοστοιχείων τα οποία επιτρέπουν στους σχεδιαστές την περιγραφή των χαρακτηριστικών μιας εφαρμογής παγκόσμιου ιστού σε εννοιολογικό επίπεδο χωρίς να λαμβάνονται υπόψη λεπτομέρειες που αφορούν την υλοποίηση. Η χρήση σχεδιαστικών μοντέλων για το σχεδιασμό εφαρμογών παγκόσμιου ιστού παρέχει ένα πλήθος πλεονεκτημάτων. Ορισμένα από τα πλεονεκτήματα αυτά είναι τα ακόλουθα (Garzotto et al., 1993): Βελτίωση Επικοινωνίας: Ένα σχεδιαστικό μοντέλο παρέχει μία γλώσσα. Ο αναλυτής της εφαρμογής χρησιμοποιώντας αυτή τη γλώσσα μπορεί να καθορίσει την προς ανάπτυξη εφαρμογή. Μ αυτό τον τρόπο, διευκολύνεται η επικοινωνία μεταξύ του αναλυτή και του τελικού χρήστη, του αναλυτή και του διαχειριστή συστήματος και μεταξύ του διαχειριστή συστήματος και του προγραμματιστή. Διαχείριση Πολυπλοκότητας: Οι εφαρμογές παγκόσμιου ιστού μπορεί να γίνουν πολύ πολύπλοκες, ανάλογα με τη λειτουργικότητα και τις υπηρεσίες που παρέχουν. Με τη χρήση μοντέλων, τα συστατικά μιας δεδομένης εφαρμογής μπορούν να αναπαρασταθούν από διαφορετικά μεν, αλλά συνεπή μοντέλα. Ανάπτυξη σχεδιαστικών μεθοδολογιών: Οι δημιουργοί των εφαρμογών υπερκειμένου μπορούν να χρησιμοποιήσουν το πλαίσιο ανάπτυξης που παρέχουν τα σχεδιαστικά μοντέλα, προκειμένου να αναπτύξουν, να αναλύσουν και να συγκρίνουν μεθοδολογίες σε ένα υψηλό επίπεδο αφαίρεσης, χωρίς να δίνουν σημασία στα λεπτομερή χαρακτηριστικά των δομοστοιχείων πληροφορίας ή στους διάφορους τρόπους παρουσίασης τους. Καλύτερη κατανόηση της αρχιτεκτονικής: Μοντελοποιώντας την εφαρμογή, οι προγραμματιστές έχουν τη δυνατότητα να χωρίσουν το σχεδιασμό της σε διακριτά και ανεξάρτητα επίπεδα. Με τον τρόπο αυτό, οι προγραμματιστές έχουν μια ξεκάθαρη εικόνα για τα δομοστοιχεία που απαρτίζουν την εφαρμογή. Επαναχρησιμοποίηση: Σε περίπτωση που οι σχεδιαστές μιας εφαρμογής παγκόσμιου ιστού έχουν στη διάθεσή τους αναπτυγμένες εφαρμογές με χρήση μοντέλων, μπορούν να επαναχρησιμοποιήσουν το βασικό σκελετό της εφαρμογής, εφόσον η σημασιολογία των δύο εφαρμογών είναι παρόμοια. Παροχή συνεπών και προβλέψιμων περιβαλλόντων: Τα εργαλεία καθορισμού δομών υπερκειμένου βοηθούν τους προγραμματιστές να αποφύγουν ασυνέπειες και λάθη (Brown, 1990). Οι εφαρμογές παγκόσμιου ιστού που έχουν αναπτυχθεί με βάση κάποιο μοντέλο αναπαρίστανται από πολύ συνεπείς και αναμενόμενες δομές αναπαράστασης. Με τον τρόπο αυτό, και τα περιβάλλοντα πλοήγησης που έχουν αναπτυχθεί με χρήση μοντέλων θα είναι αναμενόμενα, επιτρέποντας στους τελικούς χρήστες να πλοηγούνται ευκολότερα στην εφαρμογή και να μην αποπροσανατολίζονται (Nielsen, 1990), (Parunak, 1987), (Utting & Yankelovich, 1989). 3

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης» Χρήση Από Σχεδιαστικά Εργαλεία: Τα σχεδιαστικά μοντέλα είναι η βάση για την ανάπτυξη Σχεδιαστικών Εργαλείων (Design Tools) (Walker, 1988). Τα σχεδιαστικά εργαλεία υποστηρίζουν μία συστηματική και δομημένη διαδικασία ανάπτυξης. Επιπλέον, επιτρέπουν στο χρήστη να εργάζεται στο επίπεδο αφαίρεσης που είναι πιο κοντά στο πεδίο της εφαρμογής και παρέχουν συστηματική διαδικασία μετάφρασης στο επίπεδο υλοποίησης. Βελτίωση Συντηρησιμότητας και Ορθότητας του συστήματος: Η συντηρησιμότητα μιας εφαρμογής παγκόσμιου ιστού είναι ευκολότερη, όταν ο προγραμματιστής γνωρίζει τα δομοστοιχεία από τα οποία αποτελείται η δεδομένη εφαρμογή. Επίσης, η συνέπεια μεταξύ του μοντέλου και της τελικής εφαρμογής είναι δεδομένη. Οπότε το τελικό σύστημα δε θα έχει ασυνέπειες και λάθη. 1.3. Απαιτήσεις Μεθόδων Μοντελοποίησης Η επιστήμη των υπολογιστών χρησιμοποιεί μοντέλα σχεδίασης για την ανάπτυξη λογισμικού αρκετά πριν την εμφάνιση των web εφαρμογών. Στο Σχήμα 1 παρατίθενται οι τρεις ορθογώνιες διαστάσεις στις οποίες εκτίνονται οι απαιτήσεις ανάπτυξης των παραδοσιακών εφαρμογών. Σχήμα 1 Διαστάσεις Μοντελοποίησης Παραδοσιακών Εφαρμογών Η διάσταση των επιπέδων (Levels) περιλαμβάνει τα επίπεδα λογικής της εφαρμογής (application logic level) και διασύνδεσης χρήστη (user interface level), στοχεύοντας στον προσδιορισμό του «τι» και «πως» μιας εφαρμογής. Η διάσταση των όψεων (Aspects), περιλαμβάνει τη δομή (structure) (π.χ., τα αντικείμενα, οι ιδιότητές τους και οι σχέσεις τους με τα άλλα αντικείμενα) και τη συμπεριφορά (behavior) (π.χ., λειτουργίες και διεργασίες), και για τα δύο επίπεδα της πρώτης διάστασης. Επειδή μια εφαρμογή δεν μπορεί να αναπτυχθεί μονομιάς αλλά απαιτείται σταδιακή εκλέπτυνση και επέκταση κατά τη διαδικασία ανάπτυξης, η τρίτη διάσταση είναι αυτή των φάσεων (Phases) ανάπτυξης. Μέσα από διαδοχικές εκλεπτύνσεις οι απαιτήσεις που προσδιορίστηκαν στην ανάλυση απαιτήσεων (requirements analysis) μετασχηματίζονται, αρχικά, σε μοντέλα ανάλυσης (analysis models) και μετά σε μοντέλα σχεδίασης (design models) πάνω στα οποία θα βασιστεί η υλοποίηση. Στο πεδίο των Web εφαρμογών, οι παραδοσιακές μέθοδοι μοντελοποίησης αδυνατούν να εκφράσουν όλα τα χαρακτηριστικά τους. Για παράδειγμα, οι παραδοσιακές μέθοδοι όπως η UML, δεν έχει τα απαραίτητα εργαλεία για να καθορίσει τις υπερσυνδέσεις. Έτσι, τα τελευταία χρόνια, εμφανίστηκαν αρκετές μέθοδοι μοντελοποίησης ειδικά για τη 4

1 - Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού σχεδίαση εφαρμογών παγκόσμιου ιστού. Και αυτές ικανοποιούν μια σειρά απαιτήσεων, όπως περιγράφεται σε διάφορες εργασίες π.χ. (Kappel et al., 2000), (Retschitzegger & Schwinger, 2000), (Kappel et al., 2001), (Hofer et al., 2001) που προέρχονται κατά κύριο λόγο από συνδυασμό των απαιτήσεων που ορίζονται στα (Koch, 1999), (Ceri et al., 1999), (Christodoulou et al., 1998) και (Fraternali, 1999). Στο Σχήμα 2 δίνονται oi διαστάσεις μοντελοποίησης μιας εφαρμογής έτσι όπως αυτές διαμορφώνονται από τις ιδιαιτερότητες του Web (Schwinger, 1997). 1.3.1. Επίπεδα - Levels Σχήμα 2 Διαστάσεις Μοντελοποίησης Web Εφαρμογών Η πρώτη διάσταση μοντελοποίησης εφαρμογών παγκόσμιου ιστού αποτελείται από τρία διαφορετικά επίπεδα: το επίπεδο περιεχομένου, το επίπεδο υπερκειμένου και το επίπεδο παρουσίασης (Florescu et al., 1998). Το επίπεδο περιεχομένου αναφέρεται στα δεδομένα που χρησιμοποιούνται από την εφαρμογή παγκόσμιου ιστού. Συνήθως η διαχείριση των δεδομένων γίνεται με χρήση συστημάτων βάσεων δεδομένων. Το επίπεδο υπερκειμένου, το οποίο αποτελείται από το επίπεδο σύνθεσης και το επίπεδο πλοήγησης, ασχολείται με τη λογική σύνθεση των ιστοσελίδων και τη δομή της πλοήγησης. Τέλος, το επίπεδο παρουσίασης ασχολείται με την απεικόνιση του επιπέδου υπερκειμένου, όπως την εμφάνιση (layout) των σελίδων και την αλληλεπίδραση με το χρήστη (Fernandez et al., 1997). Οι απαιτήσεις μιας εφαρμογής παγκόσμιου ιστού σε σχέση με τη συγκεκριμένη διάσταση είναι οι εξής: Διαχωρισμός μεταξύ επιπέδων και Σαφής Αντιστοίχηση. Μια κύρια απαίτηση για τη μοντελοποίηση εφαρμογών παγκόσμιου ιστού είναι ο ξεκάθαρος διαχωρισμός μεταξύ των τριών επιπέδων, κάθε ένα από τα οποία εξετάζει διαφορετική όψη των εφαρμογών παγκόσμιου ιστού. Αυτό επιτυγχάνεται δηλώνοντας ρητά τις αλληλεξαρτήσεις, όπως για παράδειγμα την ξεκάθαρη αντιστοίχηση μεταξύ των επιπέδων. Με αυτό τον τρόπο, διευκολύνεται η ανάπτυξη του μοντέλου και η επαναχρησιμοποίηση του, μειώνεται η πολυπλοκότητα και βελτιώνεται η ευελιξία (Florescu et al., 1998), (Rossi et al., 1999). Για παράδειγμα, για το ίδιο επίπεδο υπερκειμένου, ανάλογα με τα χαρακτηριστικά του φυλλομετρητή ή με τον τύπο του χρήστη, καθίσταται δυνατή η παροχή διαφορετικών αναπαραστάσεων. Ευέλικτες Δυνατότητες Μοντελοποίησης. Οι δυνατότητες αντιστοίχησης πρέπει να είναι όσο το δυνατόν πιο ευέλικτες, προκειμένου να ικανοποιηθούν οι διάφοροι 5

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης» στόχοι που έχουν τεθεί κατά το σχεδιασμό καθενός από τα επίπεδα. Για παράδειγμα, προκειμένου το browsing να γίνει πιο αποδοτικό, η ίδια πληροφορία μπορεί να εμφανίζεται σε περισσότερα του ενός έγγραφα έτσι ώστε ο χρήστης να μπορεί να πλοηγείται σε αυτήν με χρήση διαφορετικών μονοπατιών προσπέλασης. Η ύπαρξη της ίδιας πληροφορίας σε πολλά έγγραφα οδηγεί σε καταστάσεις πλεονασμού (redundancy) και επανάληψης. Στο επίπεδο περιεχομένου ο πλεονασμός εξαλείφεται με τη χρήση τεχνικών κανονικοποίησης (normalization techniques) για την αποφυγή ασυνεπειών και προβλημάτων στην ενημέρωση της πληροφορίας. Η ύπαρξη ευέλικτων δυνατοτήτων μοντελοποίησης εξασφαλίζει την παραγωγή του ενός επιπέδου από το άλλο παρά τις διαφορές αυτές. Καλό θα είναι επίσης, η μέθοδος μοντελοποίησης να υποστηρίζει κάποιο είδος προκαθορισμένης αντιστοίχησης, η οποία θα μπορεί να διαμορφωθεί και να ρυθμιστεί από το σχεδιαστή. Bottom-Up and Top-Down Σχεδιασμός. Συνήθως οι σχεδιαστές κατά τη μοντελοποίηση μιας εφαρμογής παγκόσμιου ιστού ξεκινούν να μοντελοποιούν πρώτα το επίπεδο περιεχομένου και στη συνέχεια παράγουν τα υπόλοιπα επίπεδα ανάλογα. Αυτού του είδους η μοντελοποίηση ονομάζεται από-κάτω- προς-τα-πάνω. Καλό θα είναι η μοντελοποίηση να μην πρέπει αναγκαστικά και μόνο να ακολουθεί από κάτω προς τα πάνω σχεδιασμό. Η μέθοδος μοντελοποίησης θα πρέπει να επιτρέπει στους σχεδιαστές να μοντελοποιήσουν το σχεδιασμό της εφαρμογής και από-πάνω-προς-τα-κάτω, δηλαδή το επίπεδο περιεχομένου να μπορεί να παραχθεί από τα άλλα επίπεδα (Fraternali & Paolini, 1998). Ο από-κάτω- προς-τα-πάνω σχεδιασμός απαιτείται όταν για παράδειγμα η ήδη υπάρχουσα πληροφορία μιας βάσης δεδομένων πρέπει να μεταφερθεί στον παγκόσμιο ιστό, ενώ ο από-πάνωπρος-τα-κάτω σχεδιασμός είναι χρήσιμος στην περίπτωση που το περιεχόμενο υπαρχουσών ιστοσελίδων πρέπει να αποθηκευτεί σε μία βάση δεδομένων. 1.3.2. Όψεις - Aspects Η δεύτερη διάσταση αποτελείται από τις όψεις της δομής και της συμπεριφοράς. Οι όψεις αυτές είναι ορθογώνιες στα τρία επίπεδα της πρώτης διάστασης. Όσον αφορά στο επίπεδο περιεχομένου, το πεδίο της εφαρμογής πρέπει να δομηθεί με χρήση πρότυπων μηχανισμών αφαίρεσης, όπως η ταξινόμηση, η ομαδοποίηση και η γενίκευση. Εκτός από τη δόμηση του πεδίου, πρέπει επίσης να μοντελοποιηθεί και η όψη της συμπεριφοράς λαμβάνοντας υπόψη τη λογική του πεδίου της εφαρμογής. Όμοια, στο επίπεδο υπερκειμένου, πρέπει να μοντελοποιηθεί η δομή που αφορά τη σύνθεση των σελίδων καθώς και τις σχέσεις πλοήγησης ανάμεσά τους, όπως επίσης πρέπει να μοντελοποιηθεί και η συμπεριφορά της εφαρμογής, για παράδειγμα να υπολογιστεί και να βρεθεί το άκρο ενός συγκεκριμένου συνδέσμου κατά το χρόνο εκτέλεσης. Όσον αφορά στην όψη της δομής, στο επίπεδο παρουσίασης πρέπει να μοντελοποιηθούν τα αντικείμενα της διεπαφής χρήστη και η ιεραρχική σύνθεσή τους. Η όψη της συμπεριφοράς εμπεριέχει τη μοντελοποίηση των ενεργειών που θα εκτελεστούν κατά την εισαγωγή δεδομένων από το χρήστη. Για παράδειγμα πρέπει να μοντελοποιηθεί το τι θα συμβεί κατά το πάτημα ενός κουμπιού ή πως θα αλληλεπιδρούν και θα συγχρονίζονται τα αντικείμενα της 6

1 - Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού διεπαφής χρήστη. Οι απαιτήσεις μιας εφαρμογής παγκόσμιου ιστού σε σχέση με τη συγκεκριμένη διάσταση είναι οι εξής: Φορμαλισμός Μοντελοποίησης (modeling formalism) για τη Δομή και τη Συμπεριφορά. Απαιτείται η δημιουργία ενός φορμαλισμού μοντελοποίησης που θα λαμβάνει υπόψη του τις ιδιαιτερότητες τόσο της δομής όσο και της συμπεριφοράς και των τριών επιπέδων. Προκειμένου να υπάρχει μία ομοιόμορφη αντιστοίχηση μεταξύ των επιπέδων, καλό είναι η δομή και η συμπεριφορά τους να αναπαρασταθούν με βάση ένα μόνο ομοιόμορφο βασικό φορμαλισμό μοντελοποίησης και να μην επιλεγούν διαφορετικοί φορμαλισμοί μοντελοποίησης για κάθε ένα από αυτά. Ο βασικός αυτός φορμαλισμός μοντελοποίησης θα προσαρμόζεται ανάλογα με τις ιδιαιτερότητες κάθε επιπέδου. Για τη μοντελοποίηση τόσο της δομής όσο και της συμπεριφοράς καθενός από τα τρία επίπεδα καλό είναι να χρησιμοποιηθεί μία αντικειμενοστραφής τεχνική μοντελοποίησης (Gellersen & Gaedke, 1999). Σχεδιαστικά Πρότυπα (Design Patterns). Μία επίσης σημαντική απαίτηση είναι η μέθοδος μοντελοποίησης να υποστηρίζει σχεδιαστικά πρότυπα σε όλα τα επίπεδα. Με τον τρόπο αυτό διευκολύνεται η επαναχρησιμοποίηση τμημάτων της δομής και της συμπεριφοράς των εφαρμογών παγκόσμιου ιστού. Στο (German & Cowan, 2000) περιγράφονται πάνω από 50 σχεδιαστικά πρότυπα, τα περισσότερα από τα οποία αφορούν την πλοήγηση στο επίπεδο υπερκειμένου. Παραδείγματα σχεδιαστικών προτύπων πλοήγησης για τη μεταφορά δεδομένων είναι οι κατευθυνόμενες περιηγήσεις, μέσω των οποίων υποστηρίζεται η γραμμική πλοήγηση μεταξύ των σελίδων και τα ευρετήρια, τα οποία επιτρέπουν την πλοήγηση από το γενικό ευρετήριο στα επιμέρους μέλη του και αντίστροφα (Ceri et al., 1999). 1.3.3. Φάσεις - Phases Η τρίτη διάσταση μοντελοποίησης εφαρμογών παγκόσμιου ιστού ορίζει τις διάφορες φάσεις του κύκλου ζωής ενός συστήματος (Ανάλυση, Σχεδιασμός και Υλοποίηση). Η διάσταση αυτή είναι ορθογώνια ως προς τις δύο προηγούμενες. H δομή και η συμπεριφορά του περιεχομένου, η πλοήγηση και η παρουσίαση πρέπει να εξετάζονται σε κάθε φάση της διαδικασίας ανάπτυξης. Γενικά, η ερευνητική κοινότητα δεν έχει προτείνει ένα συγκεκριμένο και ομόφωνα αποδεκτό γενικό μοντέλο για τον κύκλο ζωής ανάπτυξης μιας εφαρμογής παγκόσμιου ιστού (Lowe & Webby, 1998). Οι γρήγορες τεχνολογικές αλλαγές απαιτούν ο κύκλος ζωής μιας εφαρμογής παγκόσμιου ιστού να αποτελείται από περισσότερες και μικρότερης διάρκειας επαναλήψεις (iterations) από ότι τα συστήματα λογισμικού άλλων πεδίων. Η ανάγκη, λοιπόν, για προτυποποίηση και ο εντατικός έλεγχος μιας εφαρμογής παγκόσμιου ιστού είναι απαραίτητη. 1.3.4. Εξατομίκευση - Customization Μία άλλη διάσταση που πρέπει να ληφθεί υπόψη για τη μοντελοποίηση εφαρμογών παγκόσμιου ιστού είναι η διάσταση της εξατομίκευσης. Προκειμένου να οριστεί ο σχεδιαστικός χώρος της εξατομίκευσης είναι χρήσιμο να γίνει μία ιστορική αναδρομή 7

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης» (Kappel et al., 2000). Ο σχεδιασμός της εξατομίκευσης μιας εφαρμογής παγκόσμιου ιστού άρχισε να προβληματίζει τους σχεδιαστές από τότε που ο τελικός χρήστης έγινε το επίκεντρο στο σχεδιασμό εφαρμογών παγκόσμιου ιστού. Η ερευνητική κοινότητα των διεπαφών χρήστη (user interface community) εξετάζει αρκετό καιρό θέματα που αφορούν την εξατομίκευση. Καρπός των ερευνών της κοινότητας αυτής είναι οι προσαρμοστικές διεπαφές χρήστη (adaptive user interfaces) (Good et al., 1984). Οι προσαρμοστικές διεπαφές χρήστη σχεδιάζονται προκειμένου να διαμορφώνουν την αλληλεπιδραστική συμπεριφορά ενός συστήματος λαμβάνοντας υπόψη τους τόσο τις ατομικές ανάγκες των χρηστών όσο και τις μεταβαλλόμενες συνθήκες ενός περιβάλλοντος εφαρμογής. Η πιο γνωστή προσέγγιση διεπαφών χρήστη που περιέχει κατά το μεγαλύτερο ποσοστό προσαρμοστικά χαρακτηριστικά είναι οι έξυπνες ή συμβουλευτικές διεπαφές χρήστη (intelligent or advisory user interfaces) (Carroll & Aaronson, 1998). Μία άλλη περιοχή που ασχολείται με την εξατομίκευση, δίνοντας όμως μεγαλύτερη έμφαση στην προσαρμογή του περιεχομένου της εφαρμογής, είναι τα συστήματα φιλτραρίσματος πληροφορίας και παροχής συστάσεων (information filtering and recommender system) (Avery & Zeckhauser, 1997), (Loeb & Terry, 1992). Στόχος των συστημάτων αυτών είναι η εξέταση και ανάλυση ενός μεγάλου πλήθους δυναμικά παραγόμενης πληροφορίας κειμένου και η παρουσίαση στο χρήστη της πληροφορίας εκείνης που πιθανόν να ικανοποιεί τις απαιτήσεις του. Σχήμα 3 Σχεδιαστικός Χώρος Εξατομίκευσης Η εμφάνιση του υπερκειμένου (Conklin, 1987) δημιούργησε την ανάγκη ύπαρξης εναλλακτικών μονοπατιών πρόσβασης στην πληροφορία, όπως για παράδειγμα διαφορετικών δομών πλοήγησης. Η ανάγκη αυτή οδήγησε σε μια άλλη κατεύθυνση έρευνας, το προσαρμοστικό υπερκείμενο και τα υπερμέσα (adaptive hypertext and hypermedia) (Beck & McGinnis, 1999). Τέλος, με τη διάδοση των φορητών υπολογιστών και εφαρμογών παγκόσμιου ιστού για κινητές συσκευές (mobile computing and mobile web applications), κατά τη σχεδίαση εφαρμογών παγκόσμιου ιστού, πρέπει να λαμβάνονται υπ όψη όχι μόνο οι προτιμήσεις του χρήστη, αλλά και το περιβάλλον της κινητής συσκευής, για παράδειγμα το μέρος και η τοποθεσία που βρίσκεται η κινητή 8

1 - Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού συσκευή προκειμένου να προσαρμοστεί η εφαρμογή ανάλογα (Oppermann & Specht, 1999). Στις παραπάνω προσεγγίσεις η έννοια της εξατομίκευσης χρησιμοποιείται αποκλειστικά και μόνο με ένα προσανατολισμένο στην υλοποίηση (implementation oriented) τρόπο. Αναπαριστούν όμως μια ορθή βάση για την παραγωγή του σχεδιαστικού χώρου της εξατομίκευσης στο επίπεδο μοντελοποίησης. Ο σχεδιαστικός χώρος της εξατομίκευσης μπορεί να χαρακτηριστεί από τρεις ορθογώνιες διαστάσεις: το είδος του πλαισίου εφαρμογής (Kind Of Context), το μέγεθος της προσαρμοστικότητας (Granularity of Adaptation) και το βαθμό εξατομίκευσης (Degree of Customization) (Σχήμα 3). 1.3.4.1. Είδος Πλαισίου Εφαρμογής Η πρώτη διάσταση της εξατομίκευσης καλύπτει το είδος του πλαισίου της εφαρμογής (Kind Of Context) παγκόσμιου ιστού που πρόκειται να μοντελοποιηθεί. Συγκεκριμένα το είδος του πλαισίου εκφράζει το περιβάλλον της εφαρμογής. Η πλειοψηφία των προσεγγίσεων, όπως οι (Ceri et al., 2000), (Cotter & Smyth, 2000), (De Bra, 1999), (Fink et al., 1997), (Hicks et al., 1999), (McIlhagga et al., 1998), (Mobasher et al., 1999) και (Kappel et al., 2000) εξετάζουν το θέμα της εξατομίκευσης (personalization) από την άποψη του πλαισίου χρήστη (user context). Σε αυτή την περίπτωση εξετάζονται τα χαρακτηριστικά και οι προτιμήσεις σχετικών μεταξύ τους χρηστών και γίνονται υποθέσεις και προτάσεις για την επιλογή εξατομικευμένων υπηρεσιών (Cingil et al., 2000), (Ozen et al., 2001). Ένας επίσης σημαντικός αριθμός προσεγγίσεων λαμβάνει υπόψη τις ιδιότητες των συσκευών και του δικτύου χρησιμοποιώντας το πλαίσιο συσκευής (device context) και το πλαίσιο δικτύου (network context) (McIlhagga et al., 1998), (Mohan et al., 1999). Συνήθως, το πλαίσιο δικτύου και το πλαίσιο συσκευής λαμβάνονται υπόψη σε συνδυασμό και όχι ξεχωριστά. Αυτό είναι λογικό αν αναλογιστεί κανείς ότι και οι κινητές συσκευές χρησιμοποιούν ασύρματες συνδέσεις, οι οποίες εμπεριέχουν ορισμένους από τους περιορισμούς του δικτύου. Στο (Fox et al., 1996) για παράδειγμα γίνεται διαχωρισμός μεταξύ τριών όψεων των παραλλαγών χρήστη (client variation). Οι παραλλαγές αυτές είναι οι εξής: παραλλαγές δικτύου, όπως είναι το εύρος ζώνης και η λανθάνουσα καθυστέρηση (latency), παραλλαγές υλικού, όπως το μέγεθος της οθόνης, και τέλος παραλλαγές μνήμης και λογισμικού, οι οποίες περιλαμβάνουν και τους τύπους δεδομένων που μπορεί να μεταχειριστεί ο πελάτης. Στο (Kunz & Black, 1999) εισάγεται επιπλέον η έννοια του πλαισίου τοποθεσίας (location context), το οποίο περιλαμβάνει τις φυσικές και λογικές τοποθεσίες (π.χ. στο σπίτι σε αντίθεση με το γραφείο). Εντούτοις, μόνο ένα μικρό μέρος των προσεγγίσεων που εξετάστηκαν ασχολούνται ρητά με το πλαίσιο τοποθεσίας (Oppermann & Specht, 1999). Αυτό συμβαίνει τόσο εξαιτίας τεχνικών ελλείψεων όσο και εξαιτίας έλλειψης νόμιμων ρυθμίσεων και κανονισμών. Όμοια, στη βιβλιογραφία σπάνια λαμβάνεται υπόψη το πλαίσιο χρόνου (time context), μέσω του οποίου γίνεται εξατομίκευση με βάση το χρόνο προσπέλασης μιας συγκεκριμένης υπηρεσίας. Ανεξάρτητα από το είδος του, το πλαίσιο της εφαρμογής μπορεί να διαχωριστεί σε ένα αμετάβλητο μέρος, το οποίο διαμορφώνεται ελέγχοντας το περιβάλλον της εφαρμογής (π.χ. τον τύπο της συσκευής που χρησιμοποιείται ή ένα αναγνωριστικό του κελιού το οποίο φανερώνει την τρέχουσα τοποθεσία της συσκευής 9

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης» κατά την προσπέλαση της εφαρμογής) και ένα μεταβλητό μέρος το οποίο μπορεί να εισαχθεί από ένα χρήστη (π.χ. οι προτιμήσεις του), ένα πωλητή συσκευών (π.χ. τα χαρακτηριστικά μιας συσκευής) ή ένα σχεδιαστή (π.χ. χάρτες δρόμων). Το μεταβλητό μέρος ονομάζεται επίσης και τρέχον πλαίσιο της εφαρμογής, και το αμετάβλητο μέρος, σύμφωνα με τη βιβλιογραφία, καλείται προφίλ (W3C, 2000). 1.3.4.2. Μέγεθος Προσαρμοστικότητας Η δεύτερη διάσταση υποδηλώνει το μέγεθος της προσαρμοστικότητας (granularity of adaptation), η οποία κυμαίνεται από μικροπροσαρμοστικότητα έως μακροπροσαρμοστικότητα. Η μικροπροσαρμοστικότητα εξετάζει τις πολύ μικρές προσαρμογές, όπως είναι για παράδειγμα η απενεργοποίηση ενός συνδέσμου μιας σελίδας, ή ο καθορισμός της ιδιότητας μέλους ενός αντικείμενου σε μία κλάση. Η μακροπροσαρμοστικότητα δηλώνει ότι ανάλογα με το πλαίσιο της εφαρμογής μπορούν να προσαρμοστούν σχετικά μεγάλα τμήματα της εφαρμογής (π.χ. να χρησιμοποιηθεί μία απλή bullet list, αντί για ένα indexed guided tour). Αντικείμενο προσαρμοστικότητας μπορεί να αποτελέσει κάθε ένα από τα επίπεδα μιας εφαρμογής παγκόσμιου ιστού, που ορίστηκαν προηγουμένως. Πρέπει να σημειωθεί ότι δεν υπάρχει σαφής διαχωρισμός των ορίων της μικροπροσαρμοστικότητας και της μακροπροσαρμοστικότητας. Στην πιο ακραία περίπτωση, η μακροπροσαρμοστικότητα, ανάλογα με το πλαίσιο της εφαρμογής, περιλαμβάνει την αντικατάσταση μιας ολόκληρης εφαρμογής που υλοποιεί μία συγκεκριμένη υπηρεσία με μία άλλη. Η ακραία αυτή περίπτωση μακροεξατομίκευσης συναντάται συνήθως σε συνδυασμό με το στατικό πλαίσιο εφαρμογής και τη στατική προσαρμογή (ο ορισμός τους δίνεται παρακάτω). 1.3.4.3. Βαθμός Εξατομίκευσης Η τρίτη διάσταση, ο βαθμός εξατομίκευσης, εκφράζει το γεγονός ότι τόσο το πλαίσιο της εφαρμογής παγκόσμιου ιστού όσο και η προσαρμοστικότητα μπορούν να είναι είτε στατικά, δηλαδή προκαθορισμένα, είτε δυναμικά, να καθορίζονται δηλαδή κατά τη διάρκεια του χρόνου εκτέλεσης. Παράδειγμα στατικού πλαισίου εφαρμογής και στατικής προσαρμοστικότητας είναι η επιλογή μιας προκαθορισμένης έκδοσης μιας εφαρμογής ανάλογα με τη συσκευή που χρησιμοποιείται για την προσπέλασή της. να υπάρχει δηλαδή διαφορετική έκδοση της εφαρμογής σε περίπτωση που προσπελαύνεται από μία κινητή συσκευή και διαφορετική έκδοση σε περίπτωση που η εφαρμογή προσπελαύνεται από ένα προσωπικό υπολογιστή. Παράδειγμα πλήρους δυναμικής περίπτωσης είναι η προσαρμογή της ανάλυσης μιας εικόνας κατά το χρόνο εκτέλεσης, εξ αιτίας κάποιας αλλαγής στο εύρος ζώνης. Οι εφαρμογές που υποστηρίζουν μόνο στατικά πλαίσια εφαρμογής ή και στατική προσαρμοστικότητα συνήθως ονομάζονται προσαρμόσιμες, ενώ οι εφαρμογές που υποστηρίζουν και δυναμικά πλαίσια εφαρμογής και δυναμική προσαρμοστικότητα θεωρούνται προσαρμοστικές (Mobasher (W3C, 1999). 1.4. Μέθοδοι και Τεχνικές Μοντελοποίησης Με βάση τις απαιτήσεις μοντελοποίησης που προαναφέρθηκαν έχει αναπτυχθεί και προταθεί από την ερευνητική κοινότητα ένα πλήθος μεθόδων, μεθοδολογιών και 10

1 - Μοντέλα Σχεδίασης Εφαρμογών Παγκόσμιου Ιστού τεχνικών μοντελοποίησης των εφαρμογών παγκόσμιου ιστού. Οι εννοιολογικές προσεγγίσεις μοντελοποίησης του παγκόσμιου ιστού παρέχουν ένα υψηλό βαθμό αφαίρεσης στη διαδικασία του σχεδιασμού και την ανάπτυξης των εφαρμογών παγκόσμιου ιστού. Οι μεθοδολογικές προσεγγίσεις συνήθως: παρέχουν ένα σύνολο στοιχείων μοντελοποίησης για την εξυπηρέτηση των απαιτήσεων των εφαρμογών παγκόσμιου ιστού (Retschitzegger & Schwinger, 2000) τμηματοποιούν το σχεδιασμό των εφαρμογών σε διαφορετικές διαστάσεις, οργανώνουν τις δραστηριότητες ανάπτυξης σε μία δομημένη διαδικασία και παρέχουν εργαλεία μεταβλητού επιπέδου αυτοματοποίησης της παραγωγής των εφαρμογών (Fraternali, 1999). Συνήθως, οι μέθοδοι μοντελοποίησης βασίζονται σε παραδοσιακές μεθόδους, π.χ. ER, ή αποτελούν προεκτάσεις κάποιας αντικειμενοστραφούς γλώσσας μοντελοποίησης, π.χ. UML. Σε πολλές περιπτώσεις γίνεται ανάμιξη στοιχείων από διάφορες μεθόδους. Επίσης, οι νεότερες μέθοδοι βασίζονται στα πλεονεκτήματα παλαιότερων μεθόδων. Στο Σχήμα 4 δίνεται, παραστατικά, η ιστορική εξέλιξη των γνωστότερων μεθόδων που έχουν αναπτυχθεί τα τελευταία χρόνια (Escalona, 2004). Σχήμα 4 Ιστορικό ανάπτυξης μεθόδων μοντελοποίησης 11

«Μοντελοποίηση Εφαρμογών Παγκόσμιου Ιστού μέσω Τεχνικών Αντίστροφης Μηχανίκευσης» Οι μέθοδοι μοντελοποίησης ακολουθούν διαφορετικές προσεγγίσεις (paradigms), ανάλογα με την πρότερη μέθοδο που υιοθετούν και το πεδίο στο οποίο εστιάζουν: Data-oriented μέθοδοι: προέρχονται από το πεδίο των βάσεων δεδομένων. Στηρίζονται, κυρίως, στο ER μοντέλο το οποίο επεκτείνουν με διάφορα εννοιολογικά στοιχεία για να ανταποκριθούν στη μοντελοποίηση του επιπέδου υπερκειμένου (hypertext level). Βασικός στόχος τους είναι η μοντελοποίηση εφαρμογών παγκόσμιου ιστού που υποστηρίζονται από βάσεις δεδομένων. Παραδείγματα τέτοιων μεθόδων είναι η Relationship Management Methodology (RMM) (Isakowitz et al., 1998), η Hera (Houben et al., 2003) και η Web Modeling Language (WebML) (Ceri et al., 2003), (Brambilla et al., 2005). Hypertext-oriented μέθοδοι: επικεντρώνουν στον υπερμεσικό χαρακτήρα των εφαρμογών παγκόσμιου ιστού και προέρχονται, κυρίως, από το πεδίο των συστημάτων υπερκειμένου (Lowe & Hall, 1999). Ενσωματώνουν, επίσης, στοιχεία από το ER μοντέλο του πεδίου των βάσεων δεδομένων. Στους εκπροσώπους αυτής της ομάδας ανήκουν η Hypertext Design Model (HDM) (Garzotto et al., 1995), η οποία επεκτάθηκε στις W2000 (Baresi et al., 2001) και HDM-lite (Fraternali & Paolini, 1998), και η Web Site Design Method (WSDM) (De Troyer & Decruyenaere, 2000), (Plessers et al., 2005). Object-oriented μέθοδοι: βασίζονται είτε στην Object Modeling Technique (OMT) (αρχικές μέθοδοι) (Rumbaugh et al., 1990) είτε στην UML. Η κατηγορία αυτή περιλαμβάνει τις ακόλουθες μεθόδους: Object-Oriented Hypermedia Design Method (OOHDM) (Schwabe & Rossi, 1998), UML-based Web Engineering (UWE) (Koch & Kraus, 2002), (Koch & Kraus, 2003), Object-Oriented Web Solutions (OOWS) (Pastor et al., 2006) και Object-Oriented Hypermedia (OO-H) (Gomez & Cachero, 2003). Εδώ ανήκει και η μέθοδος Web Software Architecture (WebSA) (Melia & Cachero, 2004), (Melia et al., 2005) η οποία αποτελεί χαρακτηριστικό εκπρόσωπο των μεθόδων που συμμορφώνονται με την προσέγγιση της βασισμένης σε μοντέλα ανάπτυξης web εφαρμογών (Model-Driven Development MDD). Software-oriented μέθοδοι: αντιμετωπίζουν τις εφαρμογές παγκόσμιου ιστού, κυρίως, από την πλευρά της παραδοσιακής παραγωγής λογισμικού, χρησιμοποιώντας τεχνικές οι οποίες υπακούουν στους κανόνες του κλασσικού Software Engineering. Ουσιαστικά, αποτελούν επεκτάσεις της γλώσσας UML και κύριοι εκπρόσωποι είναι η Web Application Extension (WAE) (Conallen, 1999), καθώς και η βελτιωμένη έκδοσή του WAE2 (Conallen, 2003). Άλλες μέθοδοι: μέθοδοι ή εργαλεία μοντελοποίησης που δεν μπορούν εύκολα να καταταγούν στις παραπάνω κατηγορίες, όπως η Araneus (Atzeni et al., 1998) και το Strudel (Fernandez et al., 1998). Στη συνέχεια γίνεται συνοπτική παρουσίαση των πιο αντιπροσωπευτικών μεθόδων μοντελοποίησης εφαρμογών παγκόσμιου ιστού. Εκτενέστερη παρουσίαση σε ξεχωριστή παράγραφο (1.4.6.) γίνεται στην WebML, η οποία χρησιμοποιείται για την παρουσίαση των περισσοτέρων παραδειγμάτων στα επόμενα κεφάλαια. 12