1 |
Μοντελοποίηση εφαρμογών παγκόσμιου ιστού: αποδοτική αναζήτηση και εφαρμογή σχεδιαστικών λύσεων και προτύπων / Modelling web applications: efficient mining and application of design solutions and patternsΚατσίμπα, Θεοδώρα 16 May 2007 (has links)
Οι εφαρμογές παγκόσμιου ιστού προσφέρουν ολοένα και περισσότερες, με υψηλό βαθμό πολυπλοκότητας υπηρεσίες, σε σχέση με τους πρώτους ιστότοπους που χρησιμοποιούνταν απλά και μόνο για την προβολή πληροφοριών. Λόγω της ολοένα αυξανόμενης πολυπλοκότητας των εφαρμογών αυτών, ο σχεδιασμός, η ανάπτυξη κι η συντηρησιμότητα μιας εφαρμογής παγκόσμιου ιστού προβάλλει ως μία από τις μεγαλύτερες προκλήσεις που καλείται να αντιμετωπίσει ο σχεδιαστής της. Η ερευνητική κοινότητα προκειμένου να αντιμετωπίσει την αυξανόμενη πολυπλοκότητα του σχεδιασμού εφαρμογών παγκόσμιου ιστού έχει προτείνει ένα πλήθος προσεγγίσεων και μεθόδων βασισμένων σε μοντέλα. Η δουλειά του σχεδιαστή εφαρμογών παγκόσμιου ιστού μπορεί να απλοποιηθεί ακόμα περισσότερο με την επαναχρησιμοποίηση της εμπειρίας άλλων σχεδιαστών εφαρμογών παγκόσμιου ιστού. Η επαναχρησιμοποίηση της εμπειρίας αυτής γίνεται με χρήση σχεδιαστικών προτύπων που ορίζονται από πεπειραμένους σχεδιαστές. Αν κατά το σχεδιασμό μιας εφαρμογής χρησιμοποιηθεί κάποια μέθοδος μοντελοποίησης σε συνδυασμό με ένα σύνολο σχεδιαστικών προτύπων, η τελική εφαρμογή θα είναι πιο αποδοτική και ποιοτική. Πολλές φορές όμως, κατά το σχεδιασμό και την ανάπτυξη μιας εφαρμογής παγκόσμιου ιστού δε λαμβάνεται υπόψη κάποια συγκεκριμένη μεθοδολογία μοντελοποίησης και ανάπτυξης. Ένα πλήθος μεθόδων αντίστροφης μηχανίκευσης έχει αναπτυχθεί για την ανάλυση, κατανόηση και μοντελοποίηση των αρχιτεκτονικών τέτοιου είδους εφαρμογών. Στα πλαίσια της παρούσας διπλωματικής εργασίας μελετούνται οι μέθοδοι μοντελοποίησης που έχουν προταθεί από την ερευνητική κοινότητα, τα σχεδιαστικά πρότυπα που έχουν οριστεί καθώς και οι μέθοδοι και οι διαδικασίες αντίστροφης μηχανίκευσης που έχουν αναπτυχθεί. Επιπλέον προτείνεται μία μέθοδος αυτόματου εντοπισμού σχεδιαστικών λύσεων στο εννοιολογικό μοντέλο μιας εφαρμογής και μία μέθοδος αντίστροφης μηχανίκευσης με στόχο τη μοντελοποίηση της εφαρμογής. Αναλυτικά, η παρούσα διπλωματική εργασία είναι δομημένη ως εξής: Στο πρώτο κεφάλαιο παραθέτονται τα οφέλη χρήσης μοντέλων κατά το σχεδιασμό εφαρμογών παγκόσμιου ιστού, καθώς και οι βασικές απαιτήσεις που θα πρέπει να ικανοποιούν οι μέθοδοι μοντελοποίησης για την πληρέστερη μοντελοποίηση των χαρακτηριστικών των εφαρμογών παγκόσμιου ιστού. Επιπλέον, γίνεται επισκόπηση και παρουσίαση των κυριότερων μεθόδων μοντελοποίησης που έχουν προταθεί από την ερευνητική κοινότητα. Ιδιαίτερη βαρύτητα δίνεται στην παρουσίαση της γλώσσας μοντελοποίησης WebML, γιατί αποτελεί την γλώσσα μοντελοποίησης με βάση την οποία αναπτύχθηκαν οι μέθοδοι που προτείνονται στα κεφάλαια 3 και 4. Τέλος, στο κεφάλαιο αυτό γίνεται σύγκριση των προτεινόμενων μεθόδων μοντελοποίησης. Στο δεύτερο κεφάλαιο παρουσιάζονται τα οφέλη χρήσης σχεδιαστικών προτύπων τόσο από άπειρους όσο και από έμπειρους σχεδιαστές και δίνεται ένας επίσημος ορισμός των σχεδιαστικών προτύπων για τον παγκόσμιο ιστό. Επιπλέον, στα πλαίσια του κεφαλαίου αυτού γίνεται παρουσίαση των προτύπων δημοσίευσης και διαχείρισης περιεχομένου που έχουν οριστεί στη WebML. Για το σχεδιασμό πολύπλοκων εφαρμογών παγκόσμιου ιστού, ναι μεν το είδος επαναχρησιμοποίησης που προσφέρουν τα σχεδιαστικά πρότυπα παγκόσμιου ιστού είναι πολύτιμα, εν τούτοις απαιτείται η επαναχρησιμοποίηση όσο το δυνατόν μεγαλύτερων σχεδιαστικών δομών. Για το λόγο αυτό γίνεται αναφορά και παρουσίαση της επαναχρησιμοποίησης που υποστηρίζεται από τη χρήση σχεδιαστικών πλαισίων ανάπτυξης εφαρμογών παγκόσμιου ιστού. Στο τρίτο κεφάλαιο προτείνεται μία μέθοδος ανάκτησης αποδοτικών σχεδιαστικών λύσεων και σχεδιαστικών προτύπων μέσα στο εννοιολογικό σχήμα-μοντέλο μίας ή περισσότερων εφαρμογών παγκόσμιου ιστού. Η συγκεκριμένη μεθοδολογική προσέγγιση, αν εφαρμοστεί σε εννοιολογικά σχήματα πολλών εφαρμογών μίας συγκεκριμένης κατηγορίας, μπορεί να οδηγήσει στον προσδιορισμό πλαισίων ανάπτυξης εφαρμογών για τον αποδοτικό σχεδιασμό εφαρμογών της συγκεκριμένης αυτής κατηγορίας, ή ακόμα και στον αυτόματο εντοπισμό σχεδιαστικών προτύπων. Τέλος, στο τέταρτο κεφάλαιο παρουσιάζονται ο ερευνητικός χώρος της αντίστροφης μηχανίκευσης, τα συστατικά που αποτελούν μία εφαρμογή παγκόσμιου ιστού, καθώς και ο τύπος της πληροφορίας που απαιτείται να εξαχθεί από μία διαδικασία αντίστροφης μηχανίκευσης, έτσι ώστε να γίνει κατανοητή και αντιληπτή η αρχιτεκτονική μιας τέτοιας εφαρμογής. Προτείνεται επίσης μια μέθοδος αντίστροφης μηχανίκευσης εφαρμογών παγκόσμιου ιστού, με στόχο τη μοντελοποίησή τους με χρήση της WebML και παρουσιάζεται το εργαλείο που αναπτύχθηκε στα πλαίσια της διπλωματικής εργασίας, για να υποστηρίξει την προτεινόμενη μέθοδο. Η εφαρμογή του σε μία εφαρμογή προβολής περιεχομένου έδωσε ενθαρρυντικά αποτελέσματα όσον αφορά τη λειτουργικότητα και την αποτελεσματικότητα της μεθόδου. / Web Applications provide many services and they are not used just to display content, as it was the case for the first web sites. Due to the growing complexity, the design, development and maintenance of these aplications 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 modelling 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 degin and development of the web applications. A number of reverse engineering methods and tools have been proposed in order to analyse, comprehend and model the architectures of such applications. In this thesis, we study the various modelling methods that have been proposed, as well as the design paterns that have been defined and the reverse engineering methods that have been developed. Furthermore, we propose a method to automatically detect design solutions at the conceptual schema of a web application and a reverse engineering method in order to model an existing web application. 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 modelling methods, that have been proposed by the research community, are also presented. The Web modelling language (WebML) is extensively presented as it constitutes the model language with which the methods that we suggest in chapters 3 and 4 have been developed. In the end of this chapter, we make a comparison of the proposed modelling methods. In the second chapter we present the benefits gained when using design patterns by non-experienced 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. In the third chapter we propose a methodology for retrieving effective design solutions, or even more design patterns, within the conceptual schema of one or more web applications. This approach, if applied to a large number of applications of the same domain, may lead to the identification of templates for specific domain Web application frameworks and to the discovery of new design patterns. The fourth and last chapter of this thesis focuses on reverse engineering. We present the work that has been done in the domain of reverse engineering, 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. We also suggest a reverse engineering method in order to model an existing web application using WebML. The tool that was implemented in order to support this method is also presented. Applying this method in a content management application gave us good results as far as its functionality and its effectiveness are concerned.
|
Page generated in 0.0848 seconds