Διασφάλιση Ποιότητας Συστημάτων Βασισμένων σε Συστατικά Λογισμικού

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Διασφάλιση Ποιότητας Συστημάτων Βασισμένων σε Συστατικά Λογισμικού"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΚΑΡΟΝΤΖΑΣ ΓΕΩΡΓΙΟΣ Διασφάλιση Ποιότητας Συστημάτων Βασισμένων σε Συστατικά Λογισμικού ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ ΘΕΣΣΑΛΟΝΙΚΗ 2012

2 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΚΑΡΟΝΤΖΑΣ ΓΕΩΡΓΙΟΣ Διασφάλιση Ποιότητας Συστημάτων Βασισμένων σε Συστατικά Λογισμικού ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Υποβλήθηκε στο Τμήμα Πληροφορικής Ημερομηνία Προφορικής Εξέτασης: 15/11/2012 Εξεταστική Επιτροπή: Καθηγητής Ι. Βλαχάβας, Εξεταστής Καθηγητής Κ. Μαργαρίτης, Εξεταστής Αναπλ. Καθηγήτρια Α. Βακάλη, Εξεταστής Αναπλ. Καθηγητής Ν. Βασιλειάδης, Εξεταστής Αναπλ. Καθηγητής Ι. Σταμέλος, Επιβλέπων Αναπλ. Καθηγητής Α. Χατζηγεωργίου, Εξεταστής Επικ. Καθηγητής Π. Κατσαρός, Εξεταστής 1

3 Κακαρόντζας Γεώργιος ΑΠΘ, 2012 «Η έγκριση της παρούσης Διδακτορικής Διατριβής από το Τμήμα Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης δεν υποδηλώνει αποδοχή των γνωμών του συγγραφέα» (Ν. 5343/1932, άρθρο 202, παρ.2) 2

4 3

5 Προό λογος Η κατασκευή πληροφοριακών συστημάτων ολοένα αυξανόμενης πολυπλοκότητας εγείρει σοβαρά ζητήματα σε σχέση με την ποιότητα των συστημάτων αυτών. Μία λύση είναι η δημιουργία αυτών των συστημάτων από συστατικά λογισμικού (software components) τα οποία μπορούν να οδηγήσουν σε μειωμένους χρόνους ανάπτυξης με ταυτόχρονη μείωση του κόστους και βελτίωση της ποιότητας. Παρόλα αυτά μέχρι σήμερα δεν υπάρχει κάποια συστηματική τεχνική για την κατασκευή συστημάτων λογισμικού με συστατικά λογισμικού και ταυτόχρονα μία συμπληρωματική συστηματική μέθοδος για την κατασκευή συστατικών λογισμικού με διακρίνουσα την ποιότητα που θα μπορούσαν να επαναχρησιμοποιηθούν για την κατασκευή τέτοιων συστημάτων. Επιπλέον η κατασκευή συστημάτων από συστατικά λογισμικού δίνει την δυνατότητα για την επαναχρησιμοποίηση συστατικών λογισμικού ανοιχτού κώδικα. Παρόλα αυτά τα περισσότερα συστήματα ανοιχτού λογισμικού δεν είναι βασισμένα σε συστατικά λογισμικού με αποτέλεσμα ο κώδικάς τους να μην είναι εφικτό να χρησιμοποιηθεί για την κατασκευή τέτοιων συστημάτων παρά μόνο με την μέθοδο της ευκαιριακής επαναχρησιμοποίησης κατά την οποία οι προγραμματιστές απλά εντοπίζουν ενδιαφέροντα τμήματα κώδικα για τις εφαρμογές τους και τα επαναχρησιμοποιούν με αντιγραφή του κώδικα και προσαρμογή του στις δικές τους ανάγκες. Η διαδικασία αυτή είναι χρονοβόρα και επιρρεπής σε λάθη. Σε σχέση με τα προαναφερθέντα προβλήματα οι συνεισφορές αυτής της διδακτορικής διατριβής είναι οι ακόλουθες: 1. Δημιουργία Συστατικών Λογισμικού: Μία μεθοδολογία με βάση αρχιτεκτονικές τακτικές για την κατασκευή συστημάτων λογισμικού με συστατικά λογισμικού τα οποία εκλεπτύνονται σε σχέση με τις ποιοτικές προδιαγραφές του συστήματος με την χρήση των κατάλληλων αρχιτεκτονικών τακτικών. Η μεθοδολογία βασίζεται σε εκτελέσιμα μοντέλα του συστήματος και των συστατικών τα οποία επιτρέπουν την προσομοίωση των ποιοτικών χαρακτηριστικών που ενδιαφέρουν. 2. Εξαγωγή Συστατικών Λογισμικού: Μία ημι-αυτοματοποιημένη διαδικασία αναγνώρισης και εξαγωγής συστατικών λογισμικού από έργα ανοιχτού λογισμικού τα οποία χρησιμοποιούνται για τον εμπλουτισμό αποθετηρίων συστατικών λογισμικού ανοιχτού κώδικα. Η εξαγωγή συστατικών βασίζεται σε μετρικές της 4

6 εσωτερικής ποιότητας του λογισμικού (όπως οι μετρικές πολυπλοκότητας σχεδίασης αντικειμενοστραφούς λογισμικού). Παρότι η μεθοδολογία και τα εργαλεία της προτεινόμενης προσέγγισης δοκιμάστηκαν σε έργα ανοιχτού λογισμικού η εφαρμογή τους είναι γενικότερη και αφορά οποιοδήποτε έργο λογισμικού. 3. Γενίκευση Συστατικών Λογισμικού: Μία μεθοδολογία για την κατασκευή συστατικών λογισμικού ανεξάρτητα από οποιοδήποτε σύστημα λογισμικού. Λόγω της αδυναμίας προσδιορισμού των λειτουργικών και ποιοτικών χαρακτηριστικών του συστήματος στο οποίο θα επαναχρησιμοποιηθούν καθίσταται αναγκαία η κατασκευή μιας ιεραρχίας τέτοιων συστατικών για κάθε βασική λειτουργία. Η ιεραρχία αυτή ονομάζεται ελαστική ιεραρχία συστατικών λογισμικού. Τα ελαστικά συστατικά λογισμικού διακρίνονται με βάση τις λειτουργικές και ποιοτικές τους διαφοροποιήσεις ώστε να είναι εφικτή η επαναχρησιμοποίησή τους σε πολλά διαφορετικά συστήματα. Σε κάθε επίπεδο της ιεραρχίας ενός συστατικού λογισμικού χρησιμοποιούνται έλεγχοι λογισμικού για την επιβεβαίωση των λειτουργικών και ποιοτικών διαφοροποιήσεων. Τα ελαστικά συστατικά λογισμικού διερευνήθηκαν σε βάθος και πέρα από την μεθοδολογία κατασκευής τους προτείνονται τα εξής: i. Η μεταβλητότητα των γραμμών προϊόντων λογισμικού με ελαστικά συστατικά λογισμικού και ανάπτυξη λογισμικού υπό την καθοδήγηση ελέγχων. ii. Μία ευέλικτη μεθοδολογία ανάπτυξης που αποσκοπεί στην παράλληλη κατασκευή ενός αποθετηρίου ελαστικών συστατικών λογισμικού. iii. Η εφαρμογή των ευέλικτων συστατικών λογισμικού στο πεδίο των υπολογιστικών πλεγμάτων. iv. Μία προσέγγιση για την επιλογή ελαστικών συστατικών λογισμικού από ένα αποθετήριο συστατικών με χρήση ασαφούς λογικής. 5

7 Abstract The development of increasingly complex information systems raises some serious issues regarding the quality of these systems. One solution is the creation of these systems from software components, an approach which can lead to reduced development times and at the same time cost reduction and quality improvement. Nevertheless, a systematic approach for system development based on software components and a complementary systematic approach for the development of software components based on quality differentiation that could be used for the development of component-based systems is still lacking. Furthermore, system development from software components creates the opportunity of Open Source Software (OSS) component reuse. However most OSS systems are not component-based and as a result their code is not feasible to be reused as-is for the construction of component-based systems. Programmers very often reuse OSS code opportunistically, by locating interesting code segments for their applications which are then reused by copying and adaptation to the new applications needs. This process is time consuming and error prone. In relation to these aforementioned problems the contributions of this thesis are the following: 1. Software Component Development: An architectural tactics based process for the creation of software systems based on software components. Components are iteratively refined in relation to the quality requirements of the systems with the use of appropriate architectural tactics. The process is based on executable models of the systems and their components. Models allow the simulation of the different quality characteristics of interest. 2. Software Component Extraction: A semi-automated process for the identification and extraction of software components from OSS projects. These components are subsequently placed in OSS component repositories. Software component extraction is based on internal quality metrics (such as metrics of software design complexity). Although the process and the respective tools of the proposed approach in this work were tested on OSS projects their application is more general and they can be applied to any software system. 6

8 3. Software Component Generalization: A process for software component development which are independent from specific systems. Given the inability to determine the functional and quality characteristics of the system on which the components will be reused, makes necessary to develop a hierarchy of such components for each basic function. This hierarchy is called elastic components hierarchy. Elastic components are discriminated based on their functional and quality differences and it is therefore possible to be reused in many different systems. At every hierarchical level of a software component we use tests to confirm the functional and quality differences among the different hierarchical levels. In addition to the aforementioned elastic component development process we also examined: i. Software Product Line variability with elastic components and Test-Driven Development. ii. An agile system development process with the additional goal of creating a repository of elastic components. iii. The application of elastic components in the area of computational grids, and iv. An approach for software component selection from an elastic component repository based on (intuitionistic) fuzzy logic. 7

9 Δημοσιευμεένες Εργασιίες Στο πλαίσιο της έρευνας που παρουσιάζεται σε αυτή την διατριβή δημοσιεύθηκαν οι ακόλουθες εργασίες σε συνέδρια και περιοδικά με κρίση: Περιοδικά: 1. George Kakarontzas, Eleni Constantinou, Apostolos Ampatzoglou, Ioannis Stamelos: Layer assessment of object-oriented software: A metric facilitating white-box reuse, Journal of Systems and Software, Available online 29 August 2012 ( 2. George Kakarontzas, Ilias K. Savvas and Ioannis Stamelos: Agents, clusters and components: A synergistic approach to the GSP, Future Generation Computer Systems, Volume 27, Issue 8, pp , Elsevier, October 2011 ( Συνέδρια 3. George Kakarontzas, Ioannis Stamelos, Stefanos Skalistis and Athanasios Naskos: Extracting Components from Open Source: The Component Adaptation Environment (COPE) Approach, in proc. of the 38th Euromicro conference on Software Engineering and Advanced Applications - Model-Based Development, Components and Services (MOCS) track, pp , IEEE, 2012 ( 4. George Kakarontzas, Vassilis C. Gerogiannis and Ioannis Stamelos: Elastic Component Characterization with respect to Quality Properties: An intuitionistic fuzzy-based approach, in proceedings of the 15th Panhellenic Conference on Informatics, pp , IEEE, 2011 (Best paper award for PCI 2011) ( 5. George Kakarontzas, Panagiotis Katsaros and Ioannis Stamelos: Component Certification as a Prerequisite for Widespread OSS Reuse, Electronic Communications of the EASST, Volume 33, 2010 ( 8

10 6. George Kakarontzas, Ioannis Stamelos: Component Recycling for Agile Methods, QUATIC 2010, pp , IEEE, 2010 ( 7. George Kakarontzas, Ioannis Stamelos and Panagiotis Katsaros: Product Line Variability with Elastic Components and Test-Driven Development, CIMCA/IAWTIC/ISE 2008, pp , IEEE, 2008 ( 8. George Kakarontzas, Panagiotis Katsaros and Ioannis Stamelos: Elastic Components: Addressing Variance of Quality Properties in Components, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007),, pp.31-38, IEEE, 2007 ( 9. George Kakarontzas and Ioannis Stamelos: A Tactic-Driven Process for Developing Reusable Components, 9th International Conference on Software Reuse (ICSR), LNCS Volume 4039, pp , Springer, 2006 ( Επιπλέον δημοσιεύθηκε ένας αριθμός εργασιών στις οποίες συμμετείχε ερευνητικά ο συγγραφέας αυτής της διατριβής και ήταν περιφερειακές εργασίες του βασικού θέματος της διατριβής. Οι εργασίες αυτές είναι οι εξής: Περιοδικά 10. Apostolos Ampatzoglou, Apostolos Kritikos, George Kakarontzas and Ioannis Stamelos: "An Empirical Investigation on the Reusability of Design Patterns and Software Packages", Journal of Systems and Software, vol. 84, no. 12, pp , December 2011 ( 11. Anakreon Mentis, Panagiotis Katsaros, Lefteris Angelis and George Kakarontzas: Quantification of interacting runtime qualities in software architectures: insights from transaction processing in client-server architectures, Information and Software Technology, Volume 52, Issue 12, Pages , December 2010 ( 9

11 Συνέδρια 12. Fotios Kokkoras, Konstantinos Ntonas, Apostolos Kritikos, George Kakarontzas and Ioannis Stamelos: Federated Search for Open Source Software Reuse, in proc. of the 38th Euromicro conference on Software Engineering and Advanced Applications - Model-Based Development, Components and Services (MOCS) track, pp , IEEE, 2012 ( 13. Eleni Constantinou, George Kakarontzas and Ioannis Stamelos: Towards Open Source Software System Architecture Recovery Using Design Metrics, in proceedings of the 15th Panhellenic Conference on Informatics, pp , IEEE, 2011 ( 14. Eleni Constantinou, George Kakarontzas, Ioannis Stamelos: Open source software: How can design metrics facilitate architecture recovery?, 4th Workshop on Intelligent Techniques in Software Engineering, 5 September 2011 at the European Conference on Machine Learning and Principles and Practices of Knowledge Discovery in Databases (ECML-PKDD) ( 15. Apostolos Kritikos, George Kakarontzas and Ioannis Stamelos: A semi-automated process for open source code reuse, Proceedings of the 5th International Conference on Evaluation of Novel Approaches in Software Engineering (ENASE '10), pp July Vassilis C. Gerogiannis, George Kakarontzas and Ioannis Stamelos: A Unified Approach for Software Process Representation and Analysis, ICSOFT, vol. 2, pp , 2006 Κεφάλαια Βιβλίων 17. Ioannis Stamelos and George Kakarontzas: AKM in Open Source Communities, Chapter 11 in Ali Babar, M.; Dingsøyr, T. Lago, P. Vliet, H. van (Eds.) Software Architecture Knowledge Management: Theory and Practice, Springer, 2009 ( 10

12 Ευχαριστιίες Θα ήθελα να ευχαριστήσω τον αναπληρωτή καθηγητή του τμήματος πληροφορικής του ΑΠΘ Δρ. Σταμέλο Ιωάννη για την καθοδήγηση του και την αμέριστη συμπαράστασή του. Επίσης θα ήθελα να ευχαριστήσω τους Απόστολο Αμπατζόγλου, Ελένη Κωνσταντίνου, Αθανάσιο Νάσκο, Στέφανο Σκαλιστή, Αποστόλη Κρητικό, Αντώνη Γκορτζή και Γιώργο Μεδίτσκο για την συμμετοχή τους στο ευρωπαϊκό ερευνητικό έργο OPEN-SME και την καλή μας συνεργασία σε αυτό. Θα ήθελα ακόμη να ευχαριστήσω τους Παναγιώτη Κατσαρό, Βασίλη Γερογιάννη και Ηλία Σάββα για την καλή μας συνεργασία σε δημοσιεύσεις και για τις συζητήσεις ιδεών. Τέλος θα ήθελα να ευχαριστήσω την οικογένειά μου για την συμπαράσταση και κατανόησή της κατά τη διαδικασία αυτή. Τμήμα της παρούσας διατριβής χρηματοδοτήθηκε από την Ευρωπαϊκή Επιτροπή στο πλαίσιο του έργου OPEN-SME Open-Source Software Reuse Service for SMEs, υπό την συμφωνία αρ. FP7-SME / Τμήμα επίσης της διατριβής χρηματοδοτήθηκε από το Επιχειρησιακό Πρόγραμμα «Εκπαίδευση και Δια Βίου Μάθηση» το οποίο συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους, μέσω του «ΑΡΧΙΜΗΔΗΣ ΙΙI: Ενίσχυση ερευνητικών ομάδων στα ΤΕΙ» και του έργου SPRINT-SMEs. 11

13 12

14 Περιεχόμενα 1 Εισαγωγή Συνοπτική επισκόπηση ερευνητικής περιοχής Συνεισφορά διατριβής Μεθοδολογία με βάση αρχιτεκτονικές τακτικές Ημι-αυτοματοποιημένη διαδικασία αναγνώρισης και εξαγωγής συστατικών λογισμικού από έργα ανοιχτού λογισμικού Μεθοδολογία γενίκευσης συστατικών λογισμικού Δομή της διατριβής Κεφάλαιο 2: Μεθοδολογία κατασκευής συστατικών λογισμικού με βάση αρχιτεκτονικές τακτικές Εισαγωγή Μεθοδολογία με βάση αρχιτεκτονικές τακτικές Αρχιτεκτονικές τακτικές Προγράμματα-μοντέλα Περιγραφή της μεθοδολογίας με βάση αρχιτεκτονικές τακτικές Ένα παράδειγμα εφαρμογής της διαδικασίας Δημιουργία ενός τυπικού μοντέλου Δημιουργία των σεναρίων ελέγχου και εκτέλεσή τους Παραγωγή της τεκμηρίωσης Κεφάλαιο 3: Ημι-αυτοματοποιημένη διαδικασία αναγνώρισης και εξαγωγής συστατικών λογισμικού από έργα ανοιχτού λογισμικού και σχετικά εργαλεία Το εργαλείο COPE (Component Adaptation Environment) Η σχεδίαση του COPE Εμπειρικά αποτελέσματα από την χρήση του COPE

15 3.2 Μετρική Επαναχρησιμοποίησης Αντικειμενοστραφούς Λογισμικού Εισαγωγή Διευκόλυνση της αποτίμησης επαναχρησιμοποίησης με βάση μετρικές πολυπλοκότητας σχεδίασης Συγκριτική αποτίμηση της προτεινόμενης μετρικής Ανάλυση ανά έργο και γύρω από μεγάλες κατηγορίες έργων Απειλές για την εγκυρότητα Συζήτηση Κεφάλαιο 4: Μεθοδολογία γενίκευσης συστατικών λογισμικού με τα ελαστικά συστατικά λογισμικού Εισαγωγή Ελαστικά Συστατικά Λογισμικού Εισαγωγή Το πρόβλημα της ποιοτικής αναντιστοιχίας και η έννοια των ελαστικών συστατικών λογισμικού Σχεδίαση και υλοποίηση ελαστικών συστατικών λογισμικού Παράδειγμα ελαστικού συστατικού λογισμικού από το πεδίο ελέγχου συστημάτων πραγματικού χρόνου Μεταβλητότητα Γραμμών Προϊόντων λογισμικού με ελαστικά συστατικά λογισμικού και ανάπτυξη καθοδηγούμενη από ελέγχους Εισαγωγή Ειδίκευση των ελαστικών συστατικών λογισμικού για γραμμές προϊόντων λογισμικού Δημιουργία ελαστικών συστατικών με ανάπτυξη καθοδηγούμενη από ελέγχους Πρόσθετες ερευνητικές κατευθύνσεις σε σχέση με τα ελαστικά συστατικά λογισμικού

16 4.4.1 Ανακύκλωση συστατικών για ευέλικτες μεθοδολογίες ανάπτυξης Χρήση των ελαστικών συστατικών για την εκτέλεση εργασιών σε δυναμικά υπολογιστικά πλέγματα Χαρακτηρισμός των ελαστικών συστατικών με αναφορά ποιοτικά χαρακτηριστικά: μία προσέγγιση με βάση διαισθητικά ασαφή σύνολα (intuitionistic fuzzy sets) Κεφάλαιο 5: Συμπεράσματα και μελλοντικές επεκτάσεις Γενική Σύνοψη και Συμπεράσματα Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη μεθοδολογία κατασκευής συστατικών λογισμικού με βάση αρχιτεκτονικές τακτικές Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη ημι-αυτοματοποιημένη διαδικασία αναγνώρισης και εξαγωγής συστατικών λογισμικού από έργα ανοιχτού λογισμικού Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη μετρική επαναχρησιμοποίησης αντικειμενοστραφούς λογισμικού Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη μεθοδολογία γενίκευσης συστατικών λογισμικού με τα ελαστικά συστατικά λογισμικού Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη μεταβλητότητα Γραμμών Προϊόντων λογισμικού με ελαστικά συστατικά λογισμικού και ανάπτυξη καθοδηγούμενη από ελέγχους Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη ανακύκλωση συστατικών για ευέλικτες μεθοδολογίες ανάπτυξης Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη χρήση των ελαστικών συστατικών για την εκτέλεση εργασιών σε δυναμικά υπολογιστικά πλέγματα

17 5.9 Συμπεράσματα και μελλοντικές ερευνητικές κατευθύνσεις σχετικές με την προτεινόμενη προσέγγιση χαρακτηρισμού των ελαστικών συστατικών λογισμικού με βάση διαισθητικά ασαφή σύνολα (intuitionistic fuzzy sets) Αναφορές

18 Καταά λογος Εικοό νων Εικόνα 1: Δομή της διατριβής Εικόνα 2: Μοντέλο Ποιότητας κατά ISO/IEC [69] Εικόνα 3: Διάγραμμα δραστηριοτήτων της μεθοδολογίας με βάση αρχιτεκτονικές τακτικές51 Εικόνα 4: Το παράδειγμα του εξυπηρετητή Εικόνα 5: Αρχιτεκτονικές τακτικές απόδοσης [19, 11] Εικόνα 6: Διάγραμμα Οντοτήτων Συσχετίσεων για την ΒΔ του COPE Εικόνα 7: Τα επίπεδα του COPE Εικόνα 8: Διάλογος σύστασης συστοιχιών κλάσεων Εικόνα 9: Πλαίσιο διαλόγου του Dependency Component Maker Εικόνα 10: Δομή του πακέτου των συστατικών λογισμικού Εικόνα 11: Η γραφική διασύνδεση του Knowledge Manager Εικόνα 12: Δημιουργία του DAG από το Classycle Εικόνα 13: Η γραφική διασύνδεση του COPE Εικόνα 14: Boxplots των WMC, DIT και NOC πριν και μετά την εξάλειψη των ακραίων τιμών Εικόνα 15: Boxplots των CBO, RFC και LCOM πριν και μετά την εξάλειψη των ακραίων τιμών Εικόνα 16: Διάμεσος του CDS για κάθε D-Layer Εικόνα 17: Ποσοστά αρνητικών συσχετίσεων του CDS με τις μετρικές ανά επίπεδο και έργο Εικόνα 18: Ποσοστά θετικών συσχετίσεων του CDS με τις μετρικές ανά επίπεδο και έργο Εικόνα 19: Ποιοτικά αντισταθμίσματα και η σχέση τους με τις απαιτήσεις του συστήματος Εικόνα 20: Ελαστικά συστατικά ως παραδοτέο μιας επιλεκτικής διαδικασίας Εικόνα 21: Διάγραμμα κλάσεων για την σχεδίαση ελαστικών συστατικών Εικόνα 22: Το μοντέλο του βασικού βρόχου εργασίας ελέγχου Εικόνα 23: Ελαστικό συστατικό για έναν EDF χρονοπρογραμματιστή Εικόνα 24: Αρχιτεκτονική χρονοπρογραμματισμού με έλεγχο ανάδρασης Εικόνα 25: Η διαδικασία υλοποίησης παραλλαγών Εικόνα 26: Ελαστικές ιεραρχίες συστατικών με βάση ελέγχους

19 Εικόνα 27: Σχέση διαδικασίας ανάπτυξης εφαρμογών με τη διαδικασία ανάπτυξης πεδίου εφαρμογών Εικόνα 28: Υποσύνολο των κλάσεων της μελέτης περίπτωσης Εικόνα 29: Ιεραρχίες Συστατικών με βάση ελέγχους και χαρακτηριστικά Εικόνα 30: Οι τρεις φάσεις της GSP Εικόνα 31: Προτεινόμενη φυσική αρχιτεκτονική δυναμικών υπολογιστικών πλεγμάτων

20 Καταά λογος Πιναά κων Πίνακας 1: Συστατικά του έργου CentraView Πίνακας 2: Συστατικά του έργου ROSJava Πίνακας 3: Έργα ανοιχτού λογισμικού που χρησιμοποιήθηκαν με τα μεγέθη τους και τα πεδία εφαρμογής Πίνακας 4: Οι μετρικές των Chidamber & Kemerer [34] Πίνακας 5: Συσχέτιση D-Layer και CDS (Spearman ρ - p < 0.01) Πίνακας 6: Αποτελέσματα της παλινδρόμησης Πίνακας 7: Περιγραφικά στατιστικά στοιχεία για τις μετρικές CK & FWBR (N = classes) Πίνακας 8: Spearman ρ για την συσχέτιση των μετρικών επαναχρησιμοποίησης με το CDS Πίνακας 9: Spearman ρ για την συσχέτιση των μετρικών επαναχρησιμοποίησης με τις διαμερίσεις επιπέδων Πίνακας 10: Aglets: CDS Spearman ρ Πίνακας 11: JabRef: CDS Spearman ρ Πίνακας 12: Ποσοστά αρνητικών συσχετίσεων του CDS με τις μετρικές ανά επίπεδο και έργο 109 Πίνακας 13: Ποσοστά θετικών συσχετίσεων του CDS με τις μετρικές ανά επίπεδο και έργο Πίνακας 14: Spearman ρ για την συσχέτιση μετρικών με το CDS ανά έργο Πίνακας 15: Spearman ρ για την συσχέτιση των μετρικών επαναχρησιμοποίησης με διαφορετικές διαμερίσεις επιπέδων ανά έργο Πίνακας 16: Αποτελέσματα ανάλυσης παλινδρόμησης ανά κατηγορία έργων Πίνακας 17: Γλωσσικοί όροι που χρησιμοποιούνται κατά τις αξιολογήσεις Πίνακας 18: Τιμές των μετρήσιμων χαρακτηριστικών των συστατικών ανά συστατικό Πίνακας 19: Τιμές της επίδρασης των μετρήσιμων χαρακτηριστικών στις ποιοτικές ιδιότητες Πίνακας 20: Αποστάσεις Hamming κάθε συστατικού από τις ποιοτικές ιδιότητες Πίνακας 21: Ευκλείδεια απόσταση κάθε συστατικού από τις ποιοτικές ιδιότητες

21 1 Εισαγωγή Σε αυτή την ενότητα θα κάνουμε μία συνοπτική επισκόπηση της ερευνητικής περιοχής (Ενότητα 1.1) και στην συνέχεια θα αναφέρουμε συνοπτικά τις τρεις βασικές συνεισφορές της διατριβής (Ενότητα 1.2). 1.1 Συνοπτική επισκόπηση ερευνητικής περιοχής Η διδακτορική διατριβή συνεισφέρει: 1. Στην κατασκευή συστατικών με μία μεθοδολογία που υπό την καθοδήγηση αρχιτεκτονικών τακτικών και την εφαρμογής τους σε εκτελέσιμα μοντέλα-προγράμματα έχει ως στόχο την διαπίστωση και επίλυση ποιοτικών προβλημάτων (Κεφάλαιο 2). 2. Στην εξαγωγή συστατικών με μία ημι-αυτοματοποιημένη διαδικασία εξαγωγής συστατικών λογισμικού με την υποβοήθηση εργαλείων και μετρικών επαναχρησιμοποίησης που αναπτύχθηκαν στο πλαίσιο αυτής της ερευνητικής εργασίας (Κεφάλαιο 3), και 3. Στην γενίκευση των συστατικών, μέσω της μεθοδολογίας των ελαστικών συστατικών λογισμικού (Κεφάλαιο 4). Η γενίκευση είναι μία απαραίτητη διαδικασία αφού είτε εξαχθεί ένα συστατικό (π.χ. με την προτεινόμενη μεθοδολογία στο (2)) είτε αναπτυχθεί (π.χ. με την προτεινόμενη μεθοδολογία στο (1)) θα πρέπει πιθανώς να προσαρμοσθεί για την χρήση του σε ένα νέο σύστημα, ιδιαίτερα σε ότι αφορά τις ποιοτικές του ιδιότητες. Σε ότι αφορά την διαδικασία κατασκευής συστατικών λογισμικού που προτείνεται στο Κεφάλαιο 2, είναι καθοδηγούμενη από την ποιότητα και εφαρμόζει αρχιτεκτονικές τακτικές για την επίτευξη ποιοτικών στόχων. Η ποιότητα έχει απασχολήσει σε μεγάλο βαθμό την κοινότητα των συστατικών λογισμικού αφού είναι το πιο σημαντικό θέμα σε σχέση με την επιτυχή επαναχρησιμοποίηση συστατικών λογισμικού. Κάποιες σχετικές εργασίες με το θέμα αυτό αναφέρονται στην συνέχεια. Κάποιες εργασίες επικεντρώνονται σε συγκεκριμένα ποιοτικά χαρακτηριστικά ή/και στην μοντελοποίηση συγκεκριμένων περιβαλλόντων εκτέλεσης. Στις εργασίες [92] και [93], για παράδειγμα, χρησιμοποιούνται λεπτομερή μοντέλα της θεωρίας ουρών, τα οποία μπορούν να χρησιμοποιηθούν για την πρόβλεψη της απόδοσης των εφαρμογών Java 2 Enterprise 20

22 Edition (J2EE). Τα μοντέλα αποτυπώνουν με λεπτομέρειες τους σημαντικούς παράγοντες καθυστέρησης σε ένα εξυπηρετητή J2EE εφαρμογών και μπορούν να χρησιμοποιηθούν για την καθοδήγηση στην σχεδίαση εφαρμογών με αυτή τη τεχνολογία. Τέτοια λεπτομερή μοντέλα μπορούν να χρησιμοποιηθούν για την περιγραφή ρεαλιστικών περιβαλλόντων εκτέλεσης των συστατικών λογισμικού με την χρήση της προτεινόμενης μεθοδολογίας στο Κεφάλαιο 2. Παρόλα αυτά θα πρέπει να τονιστεί πως τα μοντέλα τα οποία είναι συγκεκριμένα για κάποια τεχνολογία έχουν την αξία τους αλλά είναι περιορισμένα από το χρόνο και απαιτείται η διαρκής ενημέρωσή τους. Για παράδειγμα η Java Enterprise Edition έχει αναθεωρηθεί δύο φορές από την δημοσίευση των προαναφερόμενων ερευνητικών εργασιών (Java Enterprise Edition 5 & 6). Επίσης αν περιορισθεί κανείς στην αποτίμηση ενός και μόνο ποιοτικού χαρακτηριστικού, μπορεί να χρησιμοποιήσει πιο εξειδικευμένες μορφές μοντέλων, αλλά χάνει την δυνατότητα πειραματισμού με πολλές ποιοτικές ιδιότητες ταυτόχρονα, πράγμα που κρίνεται απαραίτητο για αρχιτεκτονικά σχέδια γενικών πληροφοριακών συστημάτων, ιδιαίτερα αν λάβει κανείς υπόψη το γεγονός πως αρκετά ποιοτικά χαρακτηριστικά είναι μεταξύ τους αντικρουόμενα και ως εκ τούτου η βελτίωση του ενός μπορεί να οδηγήσει στην επιδείνωση άλλων. Για παράδειγμα οι συγγραφείς στο [19] αναφέρουν «Η επίτευξη του ενός (ποιοτικού χαρακτηριστικού) θα έχει μία επίδραση, κάποιες φορές θετική και κάποιες άλλες αρνητική, στην επίτευξη των άλλων». Η προτεινόμενη μεθοδολογία στο Κεφάλαιο 2 αποσκοπεί στην ταυτόχρονη εκτίμηση διαφορετικών ποιοτικών χαρακτηριστικών και γι αυτό χρησιμοποιεί αρχιτεκτονικές τακτικές και μία τυπική γλώσσα που δεν είναι εξειδικευμένη για ένα μόνο ποιοτικό χαρακτηριστικό. Οι αρχιτεκτονικές τακτικές δεν περιορίζονται μόνο στην απόδοση αλλά καλύπτουν ένα ευρύτερο φάσμα ποιοτικών χαρακτηριστικών μερικά από τα οποία είναι και λιγότερο κατανοητά από τα άλλα. Για παράδειγμα στο [17] αναφέρεται μία λίστα τακτικών για την ευχρηστία (usability) καθώς και τα πλεονεκτήματα από την χρήση των τακτικών αυτών για την ευχρηστία των συστημάτων, ενώ στο [19] αναφέρονται αρκετές τακτικές για άλλα ποιοτικά χαρακτηριστικά όπως η διαθεσιμότητα (availability), η δυνατότητα τροποποιήσεων (modifiability), η ασφάλεια (security), η δυνατότητα ελέγχων (testability), αλλά και η απόδοση και ευχρηστία. Στον αντίποδα των μεθόδων που προσπαθούν να αποτιμήσουν με ακρίβεια μία ποιοτική ιδιότητα, υπάρχουν απόπειρες τυπικής μοντελοποίησης όλων των πιθανών ποιοτικών 21

23 ιδιοτήτων κάτω από ένα κοινό τυπικό πλαίσιο. Για παράδειγμα στο [120] περιγράφεται η τεχνολογία PECT (Prediction Enabled Component Technology). Η PECT αποτελείται από ένα πλαίσιο υλοποίησης ενός ή περισσοτέρων πλαισίων λογισμού (reasoning frameworks) τα οποία χρησιμοποιούνται για την διερμήνευση του PECT. Το πλαίσιο υλοποίησης αποτελείται από την Abstract Component Technology (ACT) καθώς και εργαλεία (συντάκτες, ελεγκτές περιορισμών, αποθετήρια κλπ.). Το PECT είναι ένα πολύ φιλόδοξο έργο που προσπαθεί να αντιμετωπίσει πολλά διαρκή θέματα σε σχέση με την ποιότητα των συλλογών συστατικών λογισμικού (component assemblies). Ένα ιδιαίτερα δύσκολο σημείο με το PECT είναι πως απαιτείται η χρήση πολλαπλών πλαισίων λογισμού. Θέματα όπως η δυνατότητα αντικατάστασης καθώς και η συμβατότητα των πλαισίων λογισμικού μεταξύ τους είναι δύσκολα θέματα. Οι Abstract State Machines που χρησιμοποιούμε στο Κεφάλαιο 2 προτείνονται ως μία ενδιάμεση λύση, ανάμεσα στις εξειδικευμένες τυπικές γλώσσες για ένα μόνο ποιοτικό χαρακτηριστικό που εξαιτίας της αλληλεπίδρασης των ποιοτικών χαρακτηριστικών [19] θεωρούνται περιοριστικές και στη χρήση ενός εκτεταμένου τυπικού πλαισίου η οποία προϋποθέτει την ύπαρξη ενός πλαισίου λογισμού για κάθε ποιοτικό χαρακτηριστικό υπό διερεύνηση. Οι Abstract State Machines (ASMs) έχουν χρησιμοποιηθεί ευρύτατα για την μοντελοποίηση πολύπλοκων συστημάτων. Πολλές ενδιαφέρουσες εφαρμογές αναφέρονται στον δικτυακό τόπο των ASM [1]. Ενδεικτικά, στο [14] η AsmL χρησιμοποιήθηκε για τον έλεγχο συμφωνίας (conformance) της προδιαγραφής ενός συστατικού λογισμικού σε σχέση με την πραγματική υλοποίησή του. Ο έλεγχος συμφωνίας είναι ένα σημαντικό επόμενο βήμα της διεργασίας που θα περιγράψουμε στο Κεφάλαιο 2 αφού μπορεί να αποδείξει τον ισχυρισμό πως ένα συστατικό λογισμικού συμφωνεί με μία δοθείσα προδιαγραφή. Ένα άλλο σημαντικό θέμα είναι η εμβέλεια μιας μεθοδολογίας επαλήθευσης των ποιοτικών χαρακτηριστικών. Η Attribute-Driven Design μέθοδος (ADD) [18, 19] είναι μία μέθοδος για την σχεδίαση αρχιτεκτονικών λογισμικού που χρησιμοποιεί αρχιτεκτονικές τακτικές ως οδηγούς. Ενώ η ADD αποσκοπεί στην σχεδίαση αρχιτεκτονικών λογισμικού και είναι ουσιαστικά μία προσέγγιση από πάνω-προς-τα-κάτω (top-down), η προτεινόμενη μέθοδος εδώ υποθέτει ένα περιβάλλον (π.χ. ένα πλαίσιο συστατικών λογισμικού ή μία γραμμή προϊόντων λογισμικού) και αποσκοπεί στην σχεδίαση συστατικών λογισμικού που 22

24 ταιριάζουν με αυτό το περιβάλλον και ικανοποιούν τους ποιοτικούς στόχους που έχουν τεθεί γι αυτά. Η κατασκευή συστατικών λογισμικού με μία μεθοδολογία όπως η προτεινόμενη στο Κεφάλαιο 2 και ιδιαίτερα η γενίκευσή τους με τη δημιουργία πολλών παραλλαγών τους με μία μεθοδολογία όπως η προτεινόμενη στο Κεφάλαιο 4 είναι ενδεχομένως δαπανηρή. Η εξαγωγή συστατικών λογισμικού από έργα ανοιχτού λογισμικού ή/και κλειστού λογισμικού (δηλ. από προϋπάρχοντα συστήματα λογισμικού) είναι μία ιδιαίτερα αποτελεσματική μέθοδος για τη μείωση του κόστους δημιουργίας ενός αποθετηρίου συστατικών λογισμικού. Στην Ενότητα 3.1 περιγράφουμε την αρχιτεκτονική και την προσέγγιση του εργαλείου COPE (Component Adaptation Environment) στην εξαγωγή συστατικών λογισμικού. Εδώ θα αναφέρουμε σχετικές εργασίες και άλλα εργαλεία τα οποία μπορούν να χρησιμοποιηθούν για εξαγωγή συστατικών ή άλλες παρεμφερείς εργασίες (π.χ. κατανόηση κώδικα). Σε ότι αφορά τα παρεμφερή εργαλεία η πιο κοντινή εργασία στο προτεινόμενο εργαλείο COPE περιγράφεται στο [122]. Οι συγγραφείς στο [122] περιγράφουν μία αναδόμηση (refactoring) [100] για προγράμματα Java που ονομάζεται «Εξαγωγή Συστατικού». Η συγκεκριμένη αναδόμηση τροποποιεί μία ομάδα κλάσεων της Java με βάση τις εξαρτήσεις σε ένα Java Bean συστατικό και χρησιμοποιεί τις κλάσεις που χρησιμοποιούν το Java Bean στο σύστημα προέλευσης του συστατικού ως παραδείγματα χρήσης του. Ο αλγόριθμος ομαδοποίησης (clustering) κλάσεων που χρησιμοποιείται στο [122] είναι μόνο ένας από τους πιθανούς αλγορίθμους και προσεγγίσεις που μπορούν να χρησιμοποιηθούν με το COPE το οποίο όπως θα δούμε στην Ενότητα 3.1 διαχωρίζει την σύσταση από την εξαγωγή συστατικών και έχει πολλούς μηχανισμούς σύστασης. Επιπλέον το COPE παρέχει χαρακτηριστικά για τον έλεγχο/επικύρωση του συστατικού και την κατάταξή του σε ένα πεδίο εφαρμογών (domain classification). Σε σχέση με την μεθοδολογία αναγνώρισης των συστατικών το COPE είναι ανοιχτό στην επέκτασή του με νέους μηχανισμούς σύστασης ενώ προς το παρόν υποστηρίζει τρεις τέτοιους μηχανισμούς (οι οποίοι συζητούνται αναλυτικά στην Ενότητα ) και βασίζονται σε στατική ανάλυση του κώδικα. Η τρέχουσα έκδοση του COPE δεν χρησιμοποιεί δυναμική ανάλυση για την ταυτοποίηση και εξαγωγή συστατικών, γιατί μία 23

25 από τις βασικές απαιτήσεις του COPE είναι πως αφορά συστήματα τα οποία είναι άγνωστα στον μηχανικό λογισμικού που το χρησιμοποιεί διότι το COPE σχεδιάστηκε ώστε να μπορεί να χρησιμοποιηθεί για την εξαγωγή συστατικών λογισμικού από οποιοδήποτε σύστημα ανοιχτού λογισμικού. Εξαιτίας αυτής της απαίτησης δεν μπορούμε να υποθέσουμε πως ο μηχανικός λογισμικού έχει την απαιτούμενη γνώση για την δημιουργία επαρκών ελέγχων στο επίπεδο του συστήματος, που είναι αναγκαίες για την δυναμική ανάλυση. Παρόλα αυτά η δυναμική ανάλυση είναι μία ενδιαφέρουσα κατεύθυνση για το COPE αν μπορεί αν συνδυαστεί με μία επαναληπτική προσέγγιση στην κατανόηση του συστήματος. Η τρέχουσα έκδοση του COPE χρησιμοποιεί δυναμική ανάλυση αφού εξαχθούν συστατικά, για την κατανόηση και την διασφάλιση ποιότητας των εξαγόμενων συστατικών λογισμικού. Σε σχέση με τεχνικές δυναμικής ανάλυσης. μπορούμε να αναφέρουμε τις ακόλουθες. Ο Allier και συνεργάτες στο [3], χρησιμοποιούν δυναμική ανάλυση για την αναγνώριση συστατικών. Η προσέγγισή τους υποθέτει πως υπάρχει τεκμηρίωση που αφορά στις περιπτώσεις χρήσης του συστήματος. Επίσης για την κατασκευή του δυναμικού γράφου κλήσεων μεταξύ των κλάσεων του προγράμματος, είναι απαραίτητη η ύπαρξη καλών δεδομένων ελέγχου. Από την εμπειρία μας αυτά τα δύο συνήθως δεν είναι διαθέσιμα σε προγράμματα ανοιχτού λογισμικού. Επιπλέον η καταμέριση του συστήματος που προτείνεται απαιτεί μία κλάση να ανήκει σε ένα και μόνο συστατικό. Παρόλα αυτά (α) οι κλάσεις που είναι χαμηλά στον ακυκλικό γράφο του έργου είναι συνήθως κλάσεις γενικού σκοπού με μεγάλο αριθμό κλήσεων (high fan-in) και (β) αυτές οι κλάσεις δεν καλούνται απευθείας από καμία περίπτωση χρήσης γιατί καλύπτουν απαιτήσεις υποδομής (δηλ. τεχνικές απαιτήσεις). Εξαιτίας του (β) δεν μπορούν να αναγνωριστούν ως αυτόνομα συστατικά από την δυναμική ανάλυση με βάση περιπτώσεις χρήσης και εξαιτίας του (α) είναι υπερβολικά περιοριστικό να επιβάλλουμε την συμπερίληψή τους σε κάποιο συγκεκριμένο συστατικό. Τα παραπάνω υποδεικνύουν πως η μέθοδος αυτή θα ήταν πιθανότητα πιο επιτυχημένη αν εφαρμόζονταν στο επίπεδο της επιχειρηματικής λογικής μιας εφαρμογής. Σε μία άλλη ερευνητική κατεύθυνση σχετική με την δυναμική ανάλυση για την κατανόηση προγραμμάτων, ο Cornelissen και άλλοι [41] παρουσιάζουν μία επισκόπηση της βιβλιογραφίας σχετικά με την έρευνα στο πεδίο της κατανόησης προγραμμάτων με τη χρήση δυναμικής ανάλυσης. Η κατανόηση των προγραμμάτων θα μπορούσε να χρησιμοποιηθεί μεταξύ άλλων και για την εξαγωγή συστατικών. Οι συγγραφείς στο [41] 24

26 παρέχουν μία πολύπλευρη κατάταξη των δημοσιευμένων εργασιών της ερευνητικής περιοχής. Οι πλευρές (facets) περιλαμβάνουν την δραστηριότητα (π.χ. εντοπισμός χαρακτηριστικών feature location), τον στόχο (π.χ. Αντικειμενοστραφές λογισμικό), την μέθοδο (π.χ. τεμαχισμός slicing) και την προσέγγιση αξιολόγησης αποτελεσμάτων (π.χ. μελέτη περίπτωσης). Ένα παράδειγμα μιας προσέγγισης για την κατανόηση προγραμμάτων με την χρήση δυναμικής ανάλυσης είναι αυτήν που αναλύεται στο [48] που χρησιμοποιεί ομαδοποίηση κλάσεων (clustering) με βάση την συμμετοχή τους σε τμήματα που παράγονται χρησιμοποιώντας ανάλυση ιχνών (trace analysis). Προτείνεται μία αρχιτεκτονική άποψη του συστήματος που απεικονίζει τις διάφορες ομάδες κλάσεων και τις κλάσεις που ενώ ανήκουν στις ίδιες ομάδες ανήκουν ταυτόχρονα σε διαφορετικά πακέτα. Αυτό είναι αναμενόμενο αφού ένα ίχνος επίσης διαπερνά την δομή των πακέτων. Οι ομάδες είναι λειτουργικές και επομένως είναι πιθανώς κατάλληλες ενότητες για δημιουργία συστατικών και επαναχρησιμοποίηση, αν και αυτή είναι κατεύθυνση που δεν διερευνάται στο [48]. Εκτός από την στατική παράταξη των ομάδων κλάσεων πάνω από την δομή των πακέτων, η προτεινόμενη αρχιτεκτονική όψη επίσης παρέχει διαγράμματα ακολουθίας της UML (sequence diagrams) που δείχνουν τις αλληλεπιδράσεις μεταξύ κλάσεων που ανήκουν σε διαφορετικές ομάδες. Αυτές οι αλληλεπιδράσεις περιέχουν πολύ λιγότερα συμβάντα από το τεράστιο πλήθος συμβάντων που θα απεικονίζονταν στο αρχικό ίχνος (με όλες τις κλάσεις) και επομένως είναι πιο εύκολο να απεικονισθούν και να κατανοηθούν. Οι συγγραφείς επίσης επαληθεύουν την προσέγγισή τους δείχνοντας πως τα διαγράμματα ακολουθίας καθώς και η παραγόμενη ομαδοποίηση είναι συναφείς με αυτές που θα παρήγαγε ένας μηχανικός λογισμικού χωρίς την βοήθεια εργαλείων. Η κατανόηση προγραμμάτων μπορεί να χρησιμοποιηθεί πέρα από την εξαγωγή συστατικών και για άλλους σκοπούς όπως η κατανόηση της αρχιτεκτονικής. Ένα χαρακτηριστικό παράδειγμα αυτής της κατεύθυνσης είναι η εργασία στο [30] που περιγράφει μία ημιαυτόματη προσέγγιση στην αναγνώριση εννοιών στον πηγαίο κώδικα (concept identification). Οι συγγραφείς χρησιμοποιούν μετρικές για την υπόδειξη σημαντικών εννοιών σε ένα πεδίο ανάπτυξης. Οι μετρικές που συλλέγονται είναι αυτές που παράγονται από το Eclipse metrics framework. Αφού συλλεχθούν οι μετρικές χρησιμοποιείται ένας αλγόριθμος μηχανικής μάθησης (supervised learning) και συγκεκριμένα ο Support Vector Machines, για την κατάταξη των αποτελεσμάτων. Έχουν εφαρμόσει την μέθοδό τους σε δύο 25

27 έργα και έδειξαν πως η προσέγγιση παρέχει μία καλή ένδειξη των κλάσεων στον πηγαίο κώδικα που αναπαριστούν έννοιες στο πεδίο της εφαρμογής. Το συμπέρασμα είναι πως οι κλάσεις που αποτελούν έννοιες του πεδίου εφαρμογής (domain classes) έχουν διανύσματα μετρικών που το μέγεθος και η πολυπλοκότητά τους είναι αισθητά διαφορετικά από τα αντίστοιχα διανύσματα των κλάσεων που δεν αναπαριστούν έννοιες του πεδίου εφαρμογής. Και οι τιμές της δικής μας προτεινόμενης μετρικής επαναχρησιμοποίησης, που θα συζητήσουμε διεξοδικά στην Ενότητα 3.2 διαφέρουν στατιστικά για τις κλάσεις του πεδίου εφαρμογής (domain classes), για τις κλάσεις υποδομής (infrastructure classes) και για τις κλάσεις της γραφικής διασύνδεσης χρηστών (UI classes). Η αποτίμηση της επαναχρησιμοποίησης με μετρικές είναι μία από τις μεθόδους που χρησιμοποιούνται στο COPE για την αναγνώριση πιθανώς ενδιαφερόντων κλάσεων ως σημεία εκκίνησης για την εξαγωγή συστατικών. Παρόλα αυτά έχουμε διαπιστώσει πως αν και χρήσιμη ένδειξη οι μετρικές μόνο δεν είναι επαρκείς για την ανάκτηση της αρχιτεκτονικής ενός συστήματος (Software Architecture Recovery). Μία από τις βασικές μεθόδους εξαγωγής συστατικών του COPE βασίζεται σε μία προτεινόμενη μετρική διευκόλυνσης επαναχρησιμοποίησης λευκού κουτιού (Facilitating Metric for White-Box Reuse FWBR) που αναλύεται διεξοδικά στην Ενότητα 3.2. H FWBR παράγεται από τις μετρικές των Chidamber-Kemerer [34]. Εκτός από τις εργασίες που θα εξετάσουμε λεπτομερώς και συγκριτικά στην Ενότητα [12, 68, 104] εδώ θα εξετάζουμε ένα πλήθος σχετικών εργασιών που χρησιμοποίησαν υποσύνολα ή τροποποιημένες εκδόσεις των μετρικών που αναφέρονται στο [34] για να εκτιμήσουν την δυνατότητα επαναχρησιμοποίησης των κλάσεων ή ευρύτερων μονάδων λογισμικού (π.χ. συστατικά, βιβλιοθήκες κλπ.). Επίσης εξετάζουμε κάποιες εργασίες που χρησιμοποίησαν τις δικές τους μετρικές τις οποίες ανέπτυξαν από μηδενική βάση. Για κάθε εργασία που εξετάζουμε αναφέρουμε και την σχέση της με την προτεινόμενη από εμάς προσέγγιση. Στο [13] προτείνεται μία μετρική επαναχρησιμοποίησης αντικειμενοστραφούς λογισμικού με βάση άλλες μετρικές ή παράγοντες που συνήθως σχετίζονται με την επαναχρησιμοποίηση. Η εργασία αυτή περιγράφει δύο πειράματα: ένα γρήγορο πείραμα στο οποίο δύο προγραμματιστές ανέπτυξαν ένα πολύ επαναχρησιμοποιήσιμο και ένα πολύ συγκεκριμένο για μία εφαρμογή συστατικό αντίστοιχα και τα αποτελέσματά τους συγκρίθηκαν με την λίστα των μετρικών. Το δεύτερο πείραμα εφάρμοσε τις μετρικές σε 26

28 γνωστές αντικειμενοστραφείς βιβλιοθήκες από αρκετές αντικειμενοστραφείς γλώσσες (οι οποίες θεωρούνται πολύ επαναχρησιμοποιήσιμες). Τα πειράματα κατέδειξαν πως κάποιοι παράγοντες που συχνά αναφέρονται ως σημαντικοί για την επαναχρησιμοποίηση, στη πραγματικότητα δεν επηρεάζουν την επαναχρησιμοποίηση ενός συστατικού: «Για παράδειγμα, αποδείχθηκε πως το μέγεθος (γραμμές κώδικα), το πλήθος των μεθόδων και το πλήθος των ιδιοτήτων δεν φαίνεται να έχουν επίδραση στο πόσο επαναχρησιμοποιήσιμη είναι μία κλάση». Αντιθέτως μετρικές που έχουν σχέση με τη διασύνδεση της κλάσης όπως η σύζευξη μιας κλάσης με άλλες κλάσεις, η τεκμηρίωση, η ορθότητα και οι επιλογές ονομάτων είναι πολύ σημαντικές μετρικές που επηρεάζουν έντονα την επαναχρησιμοποίηση. Αυτό υποδεικνύει πως μία άποψη μαύρου κουτιού για την επαναχρησιμοποίηση των συστατικών είναι πιο σημαντική και δίνει λιγότερη βαρύτητα σε εσωτερικούς παράγοντες. Η συγγραφέας στη συνέχεια παρουσιάζει τις μετρικές με τη μεγαλύτερη επίδραση για την επαναχρησιμοποίηση των κλάσεων και τις συνδυάζει σε μία μετρική που ονομάζεται «Επαναχρησιμοποίηση για μια κλάση Rc. Η μετρική αυτή μπορεί να χρησιμοποιηθεί ως πρόβλεψη κατά την διαδικασία εξέτασης της συμπερίληψης μιας κλάσης σε ένα αποθετήριο επαναχρησιμοποίησης. Μία μη επαναχρησιμοποιήσιμη κλάση έχει τιμή Rc μικρότερη από 5, ενώ μια επαναχρησιμοποιήσιμη κλάση έχει τιμή Rc μεγαλύτερη από 10. Σε σύγκριση με την δική μας εργασία, αυτή η εργασία επικεντρώνεται περισσότερο στην επαναχρησιμοποίηση μαύρου κουτιού αφού συμπεριλαμβάνει απόψεις όπως η τεκμηρίωση. Παρόλα αυτά αφού τα συστατικά που εξετάσθηκαν ήταν κλάσεις, η σύζευξη θεωρείται επίσης ένας πολύ σημαντικός παράγοντας. Στο [108] ο συγγραφέας χρησιμοποιεί μία εμπειρική μελέτη επαναχρησιμοποίησης λογισμικού στη NASA για τον καθορισμό των παραγόντων που χαρακτηρίζουν την επιτυχημένη επαναχρησιμοποίηση σε μεγάλα συστήματα. Η μελέτη ακολουθεί την προσέγγιση στόχου-ερωτήματος-μετρικής (Goal-Question-Metric) για να χαρακτηρίσει την επαναχρησιμοποίηση λογισμικού στο επίπεδο του έργου, στο επίπεδο της σχεδίασης ενοτήτων, στο επίπεδο της υλοποίησης ενοτήτων, καθώς και σφάλματα ενοτήτων και αλλαγές σε σχέση με την επαναχρησιμοποίηση. Οι ενότητες λογισμικού που εξετάσθηκαν ήταν υπό-ρουτίνες, συναρτήσεις γενικού σκοπού, κύρια προγράμματα, μακροεντολές και ομαδοποιημένα δεδομένα. Η ερμηνεία των στατιστικών αναλύσεων έδειξε πως οι ενότητες που επαναχρησιμοποιήθηκαν χωρίς αλλαγές ήταν κυρίως μικρές, καλά τεκμηριωμένες, με 27

29 απλές διασυνδέσεις και λίγες επεξεργασίες εισόδου-εξόδου. Επιπλέον ήταν χαμηλά στην ιεραρχία των κλήσεων («τερματικοί κόμβοι») χαρακτηριστικό που είχε ως αποτέλεσμα τις λίγες αλληλεπιδράσεις με άλλες ενότητες και μεγάλο αριθμό αλληλεπιδράσεων με ενότητες γενικής χρήσης χαμηλού επιπέδου (utility modules). Επίσης τα σφάλματα σε επαναχρησιμοποιούμενες ενότητες χωρίς αναθεωρήσεις ήταν λίγα και επομένως η προσπάθεια επιδιόρθωσης λαθών ήταν μικρή. Τα αποτελέσματά μας σε μεγάλο βαθμό συμπίπτουν με τα εμπειρικά ευρήματα του [108] με την διαφορά πως η δική μας εργασία αφορά το αντικειμενοστραφές λογισμικό. Στο [4] οι συγγραφείς εξετάζουν την επαναχρησιμοποίηση των αντικειμενοστραφών βιβλιοθηκών της Java και της Eiffel. Για τον καθορισμό της ευκολίας επαναχρησιμοποίησής τους εξετάζουν τον αριθμό των δημοσίων μεθόδων μιας κλάσης (μια τροποποιημένη έκδοση της μετρικής WMC με πολυπλοκότητα μεθόδου ίση με 1). Ο λόγος της συμπερίληψης των δημοσίων μεθόδων είναι πως κατά την επαναχρησιμοποίηση μαύρου κουτιού (black box reuse) το μόνο που έχει σημασία είναι η διασύνδεση. Ένας μεγάλος αριθμός μεθόδων, σύμφωνα με τους συγγραφείς, υποδεικνύει μία περισσότερο συγκεκριμένη για μία εφαρμογή και επομένως λιγότερο επαναχρησιμοποιήσιμη κλάση. Παρόλα αυτά υψηλές τιμές του WMC μπορούν επίσης να θεωρηθούν ωφέλιμες κατά την επαναχρησιμοποίηση διότι δείχνουν πως τα συστατικά λογισμικού παρέχουν περισσότερες υπηρεσίες. Η μετρική Depth of Inheritance Tree (DIT) χρησιμοποιείται επίσης. Μεγάλες τιμές δείχνουν πως ο χρήστης θα χρειαστεί να εξετάσει ένα μεγάλο πλήθος προγονικών κλάσεων για να επαναχρησιμοποιήσει επιτυχώς μια κλάση. Επίσης μεγάλες τιμές του DIT δείχνουν περισσότερη εξειδίκευση και λιγότερη γενίκευση. Η εργασία αυτή διαφέρει από τη δική μας αφού εξετάζει επαναχρησιμοποιήσιμες βιβλιοθήκες που είναι ήδη διαμορφωμένα συστατικά λογισμικού ή πλαίσια. Είναι επομένως περισσότερο σχετική με την επαναχρησιμοποίηση μαύρου κουτιού. Στο [28] επίσης οι συγγραφείς εξετάζουν την επαναχρησιμοποίηση αντικειμενοστραφούς λογισμικού με βάση μετρικές. Χρησιμοποιούν τις μετρικές που προτάθηκαν στο [96]. Η εργασία αυτή εξετάζει την επαναχρησιμοποίηση φακέλων (folders) σε αποθετήρια ανοιχτού λογισμικού. Υπολογίζει την αστάθεια ενός φακέλου ως I = 28 C e (C e +C a ), όπου C e είναι η εισερχόμενη σύζευξη (efferent coupling), δηλ. φάκελοι που εξαρτώνται άμεσα από έναν φάκελο και C a είναι η εξερχόμενη σύζευξη (δηλ. φάκελοι τους οποίους χρησιμοποιεί αυτός

30 ο φάκελος). Η σταθερότητα είναι το συμπλήρωμα της αστάθειας (S = 1 I). Στην εργασία περιέχεται επίσης και μία μελέτη περίπτωσης της προσέγγισής τους που αφορά το σύστημα XMMS. Η εργασία αυτή διαφέρει από τη δική μας στο ότι εξετάζει πακέτα και επομένως ασχολείται με περισσότερο έτοιμες για επαναχρησιμοποίηση λύσεις. Στο [123] οι συγγραφείς περιγράφουν μία σουίτα μετρικών για συστατικά λογισμικού που είναι μαύρα κουτιά. Η προταθείσα σουίτα μετρικών μπορεί να χρησιμοποιηθεί για την εκτίμηση της επαναχρησιμοποίησης ενός συστατικού λογισμικού ελλείψει του κώδικά του. Η μη διαθεσιμότητα του πηγαίου κώδικα καθιστά αδύνατη τη χρήση άλλων δημοφιλών μετρικών, όπως αυτές που προτείνονται στο [34], καθώς αυτές οι μετρικές υπολογίζονται με ανάλυση του πηγαίου κώδικα. Η προτεινόμενη σουίτα μετρικών διερευνάται με εφαρμογή στο μοντέλο συστατικών λογισμικού Java Beans, αν και η χρήση είναι επίσης εφαρμόσιμη και σε άλλες τεχνολογίες συστατικών. Η προσέγγιση των Washizaki κ.α. ασχολείται περισσότερο με την επαναχρησιμοποίηση μαύρου κουτιού μιας συγκεκριμένης τεχνολογίας (Java Beans) και επομένως δεν είναι και τόσο συγκρίσιμη με την δική μας εργασία. Στο [2] προτείνονται δύο μετρικές σε σχέση με πρότυπα (templates) τα οποία χρησιμοποιούνται σε ένα αντικειμενοστραφές σύστημα. Η πρώτη μετρική είναι η Function Template Factor (FTF) και η δεύτερη η Class Template Factor (CTF). Αυτές οι μετρικές μπορούν να χρησιμοποιηθούν με αντικειμενοστραφείς γλώσσες προγραμματισμού που παρέχουν πρότυπα (templates ή generics) για συναρτήσεις και κλάσεις όπως η C++ και πιο πρόσφατα η C# και η Java. Η μετρική FTF είναι ο λόγος των συναρτήσεων-πρότυπα προς το συνολικό πλήθος των συναρτήσεων σε ένα σύστημα. Παρομοίως, η μετρική CTF είναι ο λόγος των κλάσεων-πρότυπα προς το συνολικό πλήθος κλάσεων σε ένα σύστημα. Σε σχέση με την δική μας εργασία, αυτή η εργασία εξετάζει συναρτήσεις-πρότυπα και κλάσειςπρότυπα αλλά δεν συμπεριλαμβάνει άλλα χαρακτηριστικά των κλάσεων. Ένα πλήθος Ευρωπαϊκών ερευνητικών προγραμμάτων, παρεμφερή με το OPEN-SME, που είναι το πλαίσιο της εργασίας στην Ενότητα 3.2, διερεύνησε το ερώτημα της ποιότητας του αντικειμενοστραφούς λογισμικού γενικά και ειδικότερα την επαναχρησιμοποίησή του, συμπεριλαμβανομένων των SQO-OSS [107] και QualiPSo [45]. Η διαφορά του OPEN-SME από αυτά τα έργα είναι πως είναι έχει στενότερη εμβέλεια μια και η υπηρεσία 29

31 επαναχρησιμοποίησης παρέχεται για συγκεκριμένα πεδία εφαρμογής, αλλά και βαθύτερη ταυτόχρονα εμβέλεια μια και προσπαθεί να παρέχει πιο προχωρημένες υπηρεσίες επαναχρησιμοποίησης σ αυτά τα πεδία εφαρμογής, συμπεριλαμβανομένων της εξαγωγής συστατικών λογισμικού καθώς και της πιστοποίησής τους. Η υποβοήθηση της εκτίμησης ετοιμότητας για επαναχρησιμοποίηση που περιγράφεται στην Ενότητα 3.2 είναι μια από τις βασικές απαιτήσεις μιας τέτοιας προσέγγισης σε υπηρεσίες επαναχρησιμοποίησης. Η παραγωγή από το μηδέν συστατικών με συγκεκριμένα ποιοτικά χαρακτηριστικά (Κεφάλαιο 2) καθώς και η εξαγωγή τους από υπάρχοντα έργα λογισμικού (Κεφάλαιο 3) δεν εξασφαλίζει πως τα παραγόμενα ή εξαγόμενα συστατικά είναι κατάλληλα προς επαναχρησιμοποίηση σε όλα τα μελλοντικά συστήματα. Πολύ συχνά απαιτείται η προσαρμογή των συστατικών για την χρήση τους σε ένα άλλο σύστημα. Στο Κεφάλαιο 4 συζητάμε μία μεθοδολογία γενίκευσης συστατικών λογισμικού: τα Ελαστικά Συστατικά Λογισμικού. Τα ελαστικά συστατικά λογισμικού είναι μία μέθοδος που εφαρμόζεται κατά τον χρόνο σχεδίασης και υλοποίησης των συστατικών λογισμικού. Έχουν προταθεί στην βιβλιογραφία άλλες μέθοδοι που είναι σχετικές με την προσαρμογή συστημάτων κατά τον χρόνο εκτέλεσης. Για παράδειγμα στο [64] τα συστατικά συνοδεύονται επίσης από συμβόλαια τα οποία εκφράζονται στην CQML+. Η προσέγγιση βασίζεται στο ότι το περιβάλλον εκτέλεσης των συστατικών πραγματικού χρόνου (container) ConQoS RT επιβάλλει τα συμβόλαια ποιότητας των συστατικών κατά το χρόνο εκτέλεσης και υποστηρίζει τη δυναμική προσαρμογή με τη χρήση διαφορετικών εκδόσεων των συστατικών. Τα συστατικά μπορεί να είναι σύνθετα συστατικά (composite components) [58], που είναι συστατικά τα οποία τροποποιούν την εσωτερική τους δομή για να υποστηρίξουν διαφορετικές απαιτήσεις. Ένα σύνθετο συστατικό υποστηρίζει την παραλλαγή του κατά το χρόνο εκτέλεσης με την αλλαγή της ρύθμισης της εσωτερικής του δομής. Εσωτερικά, χρησιμοποιούνται τελεστές απόψεων (aspect operators) και κώδικας συγκόλλησης (glue code) για την τροποποίηση της δομής του συστατικού με συστατικά που προέρχονται από ένα αποθετήριο συστατικών. Τα σύνθετα συστατικά είναι παρόμοια με τα προτεινόμενα ελαστικά συστατικά στην Ενότητα 4.2, με την βασική διαφορά να είναι ότι δεν τροποποιούμε την εσωτερική δομή των συστατικών κατά το χρόνο εκτέλεσης, αλλά αντί αυτού παρέχουμε ευελιξία μέσω μίας διεργασίας που καθοδηγείται από αρχιτεκτονικές τακτικές (και η οποία απαιτεί και την 30

32 ανθρώπινη διαίσθηση) κατά το χρόνο σχεδίασης και υλοποίησης. Αυτό δεν σημαίνει όμως πως τα ελαστικά συστατικά που προτείνονται δεν μπορούν να χρησιμοποιηθούν για προσαρμογή κατά το χρόνο εκτέλεσης: διαφορετικές παραλλαγές θα μπορούσαν να φορτωθούν σε ένα περιβάλλον εκτέλεσης συστατικών το οποίο ταιριάζει τις απαιτήσεις των εφαρμογών με τις κατάλληλες παραλλαγές συστατικών όπως το ConQoS RT. Θεωρούμε αυτές τις δύο προσεγγίσεις, της εσωτερικής αλλαγής ρύθμισης κατά το χρόνο εκτέλεσης και της παραλλαγής με βάση τακτικές κατά το χρόνο σχεδίασης, ως δύο συμπληρωματικές ερευνητικές κατευθύνσεις. Την ιδέα αυτή της χρήσης ελαστικών συστατικών κατά τον χρόνο εκτέλεσης την διερευνούμε στην Ενότητα όπου εξετάζουμε τον τρόπο χρήσης των ελαστικών συστατικών λογισμικού σε υπολογιστικά πλέγματα ως μέσο προ-ρύθμισης μιας εφαρμογής πριν την εκτέλεσή της σε μία συστοιχία υπολογιστών. Η προτεινόμενη ρύθμιση της εφαρμογής λαμβάνει χώρα πριν την φάση της εκτέλεσης της Διαδικασίας Χρονοπρογραμματισμού Πλέγματος (Grid Scheduling Process GSP). Οι προσεγγίσεις με βάση συστατικά λογισμικού για υπολογιστικά πλέγματα είναι ένα από τα περισσότερο υποσχόμενα παραδείγματα προγραμματισμού το οποίο μπορεί να επιφέρει σημαντικές θετικές επιδράσεις στην ανάπτυξη εφαρμογών για υπολογιστικά πλέγματα. Τα μοντέλα συστατικών για υπολογιστικά πλέγματα όπως το GCM [40] και το CCA (Common Component Architecture) [56] υπόσχονται την απλοποίηση της ανάπτυξης εφαρμογών για υπολογιστικά πλέγματα. Παρόλα αυτά τα μοντέλα συστατικών για υπολογιστικά πλέγματα θεωρούμε πως δεν είναι η πλήρης απάντηση. Θεωρούμε πως όπως και στα μοντέλα συστατικών για επιχειρηματικές εφαρμογές (enterprise computing component models) στα οποία σχεδιαστικά ιδιώματα και καλές πρακτικές δημοσιεύονται συνεχώς, τα μοντέλα συστατικών για υπολογιστικά πλέγματα χρειάζονται επίσης την προσθήκη εξειδικευμένων σχεδιαστικών προτύπων για υπολογιστικά πλέγματα. Η εφαρμογή αυτών των προτύπων μπορεί να χρησιμοποιηθεί στο πλαίσιο της κατασκευής ελαστικών συστατικών λογισμικού για υπολογιστικά πλέγματα. Η προσέγγιση των ελαστικών συστατικών λογισμικού επιτρέπει την ανάπτυξη παραλλαγών συστατικών για την πιο αποδοτική εκμετάλλευση του επιλεγμένου συνόλου πόρων στο πλαίσιο της GSP. Η προσέγγιση των ελαστικών συστατικών δεν είναι εξαρτημένη με κάποιο συγκεκριμένο μοντέλο συστατικών αλλά είναι 31

Βαζίιεο Βιάρνο Καζεγεηήο Δθαξκνγώλ. Αλδξέαο ηαπξηλίδεο Δπί πηπρίω θνηηεηήο - Τπεύζπλνο ζηνηρεηνζέηεζεο

Βαζίιεο Βιάρνο Καζεγεηήο Δθαξκνγώλ. Αλδξέαο ηαπξηλίδεο Δπί πηπρίω θνηηεηήο - Τπεύζπλνο ζηνηρεηνζέηεζεο 2011-2012 ηα ρέξηα ζαο θξαηάηε ην ηξίην ηεχρνο ησλ Νέσλ ηνπ Σκήκαηνο Σερλ. Πιεξνθνξηθήο θαη Σειεπηθνηλσληψλ. ηφρνο ηνπ πεξηνδηθνχ καο είλαη θφληξα ζην γεληθφηεξν θιίκα απνγνήηεπζεο θαη απαμίσζεο πνιιψλ

Διαβάστε περισσότερα

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE) EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

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

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» M. Σπανάκης, Μ. Τσικνάκης Εαρινό Εξάμηνο 2014 Μάθημα 1 Παρουσίαση Εργασίας και Εισαγωγή στην ανάλυση απαιτήσεων Εισαγωγή Αρχική συζήτηση αναφορικά με την ανάλυση

Διαβάστε περισσότερα

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

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας 1 Ατζέντα Εισαγωγή Εργαλεία Ανοιχτού Λογισμικού για Μηχανικούς Λογισμικού Χρήση και

Διαβάστε περισσότερα

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

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ ΤΜ. ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ 2018-2019 Επιβλέπουσα: Μπίμπη Ματίνα Ανάλυση της πλατφόρμας ανοιχτού κώδικα Home Assistant Το Home Assistant είναι μία πλατφόρμα ανοιχτού

Διαβάστε περισσότερα

Κεφάλαιο 7: Τεχνολογία Λογισμικού

Κεφάλαιο 7: Τεχνολογία Λογισμικού Κεφάλαιο 7: Τεχνολογία Λογισμικού Η Επιστήμη των Υπολογιστών: Μια Ολοκληρωμένη Παρουσίαση (δέκατη αμερικανική έκδοση) J. Glenn Brookshear Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

Διαβάστε περισσότερα

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης Μάρα Νικολαϊδου Μοντελοποίηση Συστήµατος Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης είναι µια τεχνική

Διαβάστε περισσότερα

Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) συνοπτικά

Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) συνοπτικά Δρ. Οδυσσέας Ι. Πυροβολακης Πρόεδρος ΔΣ ΕΜηΠΕΕ Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) συνοπτικά Ιδρύθηκε το 1987, ως Πανελλήνιος Σύλλογος ιπλωματούχων Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1 Ενότητα 2 Πηγές Λογισμικού Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1 Μαθησιακοί στόχοι Εξοικείωση με εναλλακτικές πηγές λογισμικού Κατανόηση του τρόπου αξιολόγησης έτοιμου λογισμικού

Διαβάστε περισσότερα

Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας

Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας περιεχόμενα παρουσίασης Έλεγχος συνένωσης Συνένωση και οικοδόμηση Ημερήσια οικοδόμηση Συνεχής συνένωση Σχετικές επιδόσεις μεθόδων διασφάλισης ποιότητας Μετρικές

Διαβάστε περισσότερα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 2 2 Agenda Ποιότητα Λογισµικού Εσωτερικές Μετρικές Εξωτερικές Μετρικές

Διαβάστε περισσότερα

Μεθοδολογίες Παραγωγής Λογισµικού

Μεθοδολογίες Παραγωγής Λογισµικού Μεθοδολογίες Παραγωγής Λογισµικού Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary

Διαβάστε περισσότερα

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

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εμπειρική Μελέτη της Εξέλιξης της Ποιότητας του Κώδικα Ανοιχτού Λογισμικού Τριανταφυλλίδου Νόνα ΑΜ:05/2777

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σχεδίαση Λογισμικού. Σημείωση Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

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

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

Διαβάστε περισσότερα

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

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018 Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ Σχολή Μηχανικής και Τεχνολογίας Πτυχιακή εργασία ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ Ηλίας Κωνσταντίνου Λεμεσός,

Διαβάστε περισσότερα

«Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής»

«Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής» Σχολή Επιστημών Υγείας Τμήμα Αποκατάστασης ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής» Χρυσάνθη Μοδέστου Λεμεσός, Μάιος,

Διαβάστε περισσότερα

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο 09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

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

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα & Περιβάλλον

Πληροφοριακά Συστήματα & Περιβάλλον ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πληροφοριακά Συστήματα & Περιβάλλον Ενότητα 9: Έμπειρα Συστήματα Παναγιώτης Λεφάκης Δασολογίας & Φυσικού Περιβάλλοντος Άδειες Χρήσης Το

Διαβάστε περισσότερα

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής περιεχόμενα παρουσίασης Διαγράμματα πακέτων Διαγράμματα συστατικών Διαγράμματα παράταξης Το μοντέλο των 4+1 όψεων τεκμηρίωση αρχιτεκτονικής και UML

Διαβάστε περισσότερα

Έργα Πληροφορικής Δημόσιου Τομέα - Από την απορροφητικότητα στην παραγωγική λειτουργία

Έργα Πληροφορικής Δημόσιου Τομέα - Από την απορροφητικότητα στην παραγωγική λειτουργία Έργα Πληροφορικής Δημόσιου Τομέα - Από την απορροφητικότητα στην παραγωγική λειτουργία Παναγιώτης Κρανιδιώτης panagiotis.kranidiotis@gmail.com 11 Ιουλίου 2011 Περίληψη - Γ ΚΠΣ Ο σχεδιασμός Υλοποίηση Παρακολούθηση

Διαβάστε περισσότερα

ΕΡΓΟ: Συγκριτική Μελέτη Λογισμικού Βιβλιοθηκών, Λογισμικού Εφαρμογών Ανοικτού Κώδικα και Βιομηχανικού Λογισμικού MIS:

ΕΡΓΟ: Συγκριτική Μελέτη Λογισμικού Βιβλιοθηκών, Λογισμικού Εφαρμογών Ανοικτού Κώδικα και Βιομηχανικού Λογισμικού MIS: ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΕΙΔΙΚΗ ΥΠΗΡΕΣΙΑ ΔΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΕΚΠΑΙΔΕΥΣΗ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΕΚΠΑΙΔΕΥΣΗ ΚΑΙ

Διαβάστε περισσότερα

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

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Η Πληροφορική ως γνώση και εργαλείο για τον σύγχρονο μηχανικό. Νικόλαος Μήτρου Καθηγητής, ΕΜΠ

Η Πληροφορική ως γνώση και εργαλείο για τον σύγχρονο μηχανικό. Νικόλαος Μήτρου Καθηγητής, ΕΜΠ Η Πληροφορική ως γνώση και εργαλείο για τον σύγχρονο μηχανικό Νικόλαος Μήτρου (mitrou@softlab.ntua.gr) Καθηγητής, ΕΜΠ ΗΜΕΡΙΔΑ Η ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΤΟΥ ΜΗΧΑΝΙΚΟΥ 8 Ιουλίου 2008 Περιεχόμενα Ο ρόλος

Διαβάστε περισσότερα

Το Open Eclass ως Σύστημα Διαχείρισης Μάθησης

Το Open Eclass ως Σύστημα Διαχείρισης Μάθησης Θερινό Σχολείο, 14 20 Ιουλίου 2014 Το Open Eclass ως Σύστημα Διαχείρισης Μάθησης Βάλια Τριπερίνα Γιώργος Φουρτούνης Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας Περιγραφή 2 Συστήματα διαχείρισης μάθησης Open eclass

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Πτυχιακή Εργασία ηµιουργία Εκπαιδευτικού Παιχνιδιού σε Tablets Καλλιγάς ηµήτρης Παναγιώτης Α.Μ.: 1195 Επιβλέπων καθηγητής: ρ. Συρµακέσης Σπύρος ΑΝΤΙΡΡΙΟ 2015 Ευχαριστίες Σ αυτό το σηµείο θα ήθελα να

Διαβάστε περισσότερα

Comparative Study of API vs. Open-Source Software ZAPROUDI A. PASCHALIA. Supervisor: CHATZHGEORGIOU ALEXANDROS

Comparative Study of API vs. Open-Source Software ZAPROUDI A. PASCHALIA. Supervisor: CHATZHGEORGIOU ALEXANDROS Comparative Study of API vs. Open-Source Software ZAPROUDI A. PASCHALIA Supervisor: CHATZHGEORGIOU ALEXANDROS ΕΙΣΑΓΩΓΗ «Κάθε στοιχείο σε μία βιβλιοθήκη γράφεται για να διατηρηθεί στον χρόνο» J. Tulach.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «ΕΝΑΛΛΑΚΤΙΚΗ ΔΙAΧΕIΡΙΣΗ ΑΣΤΙΚΩΝ ΑΠΟΡΡΙΜΜΑΤΩΝ» Του φοιτητή Κασαπιάν Αρτίν Αρ. Μητρώου: 2000.05.0042 Επιβλέπων Καθηγητής Παλαιολόγος Ευάγγελος

Διαβάστε περισσότερα

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems Multiple User Interfaces MobileSoft'16, Multi-User Experience (MUX) S1: Insourcing S2: Outsourcing S3: Responsive design

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια Περιεχόμενα Πρόλογος... 11 Κεφάλαιο 1ο. Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο...13 1.2 Πως αναπτύχθηκε η UML...14 1.3 Κατανοώντας την UML...15 1.4 Αναγνωρίζοντας τα επί μέρους τμήματα

Διαβάστε περισσότερα

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

ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΑΙΤΙΩΝ ΚΑΘΥΣΤΕΡΗΣΗΣ ΣΤΑ ΚΑΤΑΣΚΕΥΑΣΤΙΚΑ ΕΡΓΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΠΕΔΟ ΚΑΙ ΣΤΗΝ ΚΥΠΡΟ Σχολή Μηχανικής και Τεχνολογίας Πτυχιακή εργασία ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΑΙΤΙΩΝ ΚΑΘΥΣΤΕΡΗΣΗΣ ΣΤΑ ΚΑΤΑΣΚΕΥΑΣΤΙΚΑ ΕΡΓΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΠΕΔΟ ΚΑΙ ΣΤΗΝ ΚΥΠΡΟ Ιωάννα Λύρα Λεμεσός, Μάϊος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Διαβάστε περισσότερα

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

υπηρεσίες / services ΜΕΛΕΤΗ - ΣΧΕΔΙΑΣΜΟΣ PLANNING - DESIGN ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ COMMERCIAL PLANNING ΕΠΙΠΛΩΣΗ - ΕΞΟΠΛΙΣΜΟΣ FURNISHING - EQUIPMENT Αρχιτεκτονικές και διακοσμητικές μελέτες, με λειτουργικό και σύγχρονο σχέδιασμό, βασισμένες στην μοναδικότητα του πελάτη. ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ Ανάλυση των χαρακτηριστικών των προϊόντων και ένταξη του τρόπου

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων Μέθοδοι και Τεχνικές για τον Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων (SISP) Στρατηγική και Διοίκηση Πληροφοριακών Συστηµάτων Μάθηµα 2 No 1 Δοµή της Παρουσίασης l 1. Εισαγωγή l 2. Μεθοδολογία SISP

Διαβάστε περισσότερα

Σχεδιασμός και Διαχείριση Λογισμικού

Σχεδιασμός και Διαχείριση Λογισμικού Σχεδιασμός και Διαχείριση Λογισμικού Μαρία Ρήγκου Δρ Πανεπιστημίου Πατρών Δημήτριος Σταυρινούδης Δρ Πανεπιστημίου Πατρών Τόμος Β Διαχείριση και Ποιότητα Λογισμικού Το έργο υλοποιείται στο πλαίσιο του

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΕΤΟΙΜΑΣΙΑ ΔΕΛΤΙΟΥ ΠΟΣΟΤΗΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΕΤΟΙΜΑΣΙΑ ΔΕΛΤΙΟΥ ΠΟΣΟΤΗΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ Χρύσω Κωνσταντίνου Λεμεσός 2016 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Διαβάστε περισσότερα

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία Ελληνική ημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία Ενότητα 12 : Θέματα διασφάλισης της πληροφορίας στον αγροτικό τομέα (3/3) Μελετίου Γεράσιμος 1 Ανοιχτά

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές

Διαβάστε περισσότερα

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ Ενότητα: Αναγνώριση Διεργασίας - Προσαρμοστικός Έλεγχος (Process Identification) Αλαφοδήμος Κωνσταντίνος

Διαβάστε περισσότερα

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

ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ ΑΥΤΟΝΟΜΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΛΟΗΓΗΣΗΣ ΓΙΑ ΤΗΝ ΠΑΡΑΓΩΓΗ ΥΨΗΛΗΣ ΑΝΑΛΥΣΗΣ ΟΡΘΟΦΩΤΟΓΡΑΦΙΩΝ ΓΕΩΡΓΙΚΩΝ ΕΚΤΑΣΕΩΝ Σχολή Μηχανικής & Τεχνολογίας Τμήμα Πολιτικών & Μηχανικών Γεωπληροφορικής Μεταπτυχιακή διατριβή ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ ΑΥΤΟΝΟΜΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΛΟΗΓΗΣΗΣ ΓΙΑ ΤΗΝ ΠΑΡΑΓΩΓΗ ΥΨΗΛΗΣ ΑΝΑΛΥΣΗΣ ΟΡΘΟΦΩΤΟΓΡΑΦΙΩΝ ΓΕΩΡΓΙΚΩΝ

Διαβάστε περισσότερα

Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας

Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας A. Montgomery Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας Καρολίνα Δουλουγέρη, ΜSc Υποψ. Διαδάκτωρ Σήμερα Αναζήτηση βιβλιογραφίας Επιλογή μεθοδολογίας Ερευνητικός σχεδιασμός Εγκυρότητα και αξιοπιστία

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8) ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ

Διαβάστε περισσότερα

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός 06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αφαίρεση Abstraction "Η εννοιολογική

Διαβάστε περισσότερα

Στόχοι της Πτυχιακής

Στόχοι της Πτυχιακής Αξιολόγηση της επίδρασης της χρήσης προτύπων σχεδίασης στις τιμές των μετρικών αντικειμενοστρεφούς σχεδίασης. Εφαρμογή σε εργαλείο σχεδίασης λογισμικού Βούλγαρης Μιχάλης Στόχοι της Πτυχιακής Επίδραση των

Διαβάστε περισσότερα

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

Πτυχιακή διατριβή. Η επίδραση της τασιενεργής ουσίας Ακεταλδεΰδης στη δημιουργία πυρήνων συμπύκνωσης νεφών (CCN) στην ατμόσφαιρα ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Πτυχιακή διατριβή Η επίδραση της τασιενεργής ουσίας Ακεταλδεΰδης στη δημιουργία πυρήνων συμπύκνωσης νεφών (CCN)

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49 Περιεχόμενα Πρόλογος 5 Μέρος 1 Επισκόπηση 27 Κεφάλαιο 1 Εισαγωγή 29 1.1 Συχνές ερωτήσεις για την τεχνολογία λογισμικού 31 1.2 Επαγγελματική και ηθική ευθύνη 41 Κύρια σημεία 46 Πρόσθετες πηγές 46 Ασκήσεις

Διαβάστε περισσότερα

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ 1 Λειτουργικές απαιτήσεις Το σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών στοχεύει στο να επιτρέπει την πλήρως ηλεκτρονική υποβολή αιτήσεων από υποψήφιους

Διαβάστε περισσότερα

Απαιτήσεις Λογισμικού

Απαιτήσεις Λογισμικού Απαιτήσεις Λογισμικού περιεχόμενα παρουσίασης Τι είναι οι απαιτήσεις Δραστηριότητες προσδιορισμού απαιτήσεων Η εξαγωγή απαιτήσεων τι είναι οι απαιτήσεις Πριν βρούμε τη λύση πρέπει να καταλάβουμε το πρόβλημα.

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Τεχνολογία Λογισμικού-Software Engineering Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών Σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Παραδοτέο Π.1 (Π.1.1) Εκθέσεις για προµήθεια εκπαιδευτικού υλικού

Παραδοτέο Π.1 (Π.1.1) Εκθέσεις για προµήθεια εκπαιδευτικού υλικού 1 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΕΠΕΑΕΚ ΙΙ Μέτρο 2.2 Αναµόρφωση Προγραµµάτων Προπτυχιακών Σπουδών ιεύρυνση Τριτοβάθµιας Κατ. Πράξης 2.2.2.α Αναµόρφωση Προγραµµάτων

Διαβάστε περισσότερα

Γενικό πλαίσιο. Software Evolution Monitor Requirements. Απόστολος Ζάρρας http://www.cs.uoi.gr/~zarras/se.htm

Γενικό πλαίσιο. Software Evolution Monitor Requirements. Απόστολος Ζάρρας http://www.cs.uoi.gr/~zarras/se.htm Software Evolution Monitor Requirements Απόστολος Ζάρρας http://www.cs.uoi.gr/~zarras/se.htm Γενικό πλαίσιο Γενικά, οι αποφάσεις που λαμβάνουμε και ο προγραμματισμός της όλης διαδικασίας συντήρησης ενός

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams

Διαβάστε περισσότερα

Software Evolution Monitor. Software Evolution Monitor (Requirements Definition) Έκδοση <1.0>

Software Evolution Monitor. Software Evolution Monitor (Requirements Definition) Έκδοση <1.0> Software Evolution Monitor Software Evolution Monitor (Requirements Definition) Έκδοση Version: Ιστορικό Προηγούμενων Εκδόσεων Ημερομηνία Έκδοση Περιγραφή Συγγραφέας 1 η

Διαβάστε περισσότερα

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

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας) Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016 Γεωργία Καπιτσάκη (Λέκτορας) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα συλλογής

Διαβάστε περισσότερα

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης

Διαβάστε περισσότερα

Οικονομικός Προγραμματισμός & Διαχείριση Εφαρμογών Πολυμέσων. Δημητριάδης Χρήστος ΕΑΠ / ΓΤΠ 61

Οικονομικός Προγραμματισμός & Διαχείριση Εφαρμογών Πολυμέσων. Δημητριάδης Χρήστος ΕΑΠ / ΓΤΠ 61 Οικονομικός Προγραμματισμός & Διαχείριση Εφαρμογών Πολυμέσων Δημητριάδης Χρήστος ΕΑΠ / ΓΤΠ 61 Εισαγωγή Ο οικονομικός προγραμματισμός μιας πολυμεσικής εφαρμογής μπορεί να χαρακτηρισθεί ως μία μορφή τέχνης,

Διαβάστε περισσότερα

DECO DECoration Ontology

DECO DECoration Ontology Πράξη: «Αρχιμήδης ΙΙI Ενίσχυση Ερευνητικών Ομάδων στο ΤΕΙ Κρήτης» Υποέργο 32 DECO DECoration Ontology Οντολογία και εφαρμογές σημασιολογικής αναζήτησης και υποστήριξης στον αρχιτεκτονικό σχεδιασμό εσωτερικού

Διαβάστε περισσότερα

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

ΚΑΤΑΛΟΓΟΣ ΕΚΠΑΙΔΕΥΣΗΣ

ΚΑΤΑΛΟΓΟΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΤΑΛΟΓΟΣ ΕΚΠΑΙΔΕΥΣΗΣ www.witside.com Υπηρεσίες Εκπαίδευσης QlikView Οι Υπηρεσίες Εκπαίδευσης QlikView παρέχουν κατάρτιση σχετικά με την ανάπτυξη εφαρμογών QlikView. Τα μαθήματα είναι διαθέσιμα σε μια

Διαβάστε περισσότερα

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

ΜΕΘΟΔΟΛΟΓΙΑ ΕΡΕΥΝΑΣ. 1 η ΠΑΡΟΥΣΙΑΣΗ. Ι. Δημόπουλος Τμήμα Διοίκησης Επιχειρήσεων και Οργανισμών. ΤΕΙ Πελοποννήσου

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

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΣΙΚΗ ΕΡΓΑΙΑ. του φοιτητή του Σμήματοσ Ηλεκτρολόγων Μηχανικών και. Σεχνολογίασ Τπολογιςτών τησ Πολυτεχνικήσ χολήσ του. Πανεπιςτημίου Πατρών

ΔΙΠΛΩΜΑΣΙΚΗ ΕΡΓΑΙΑ. του φοιτητή του Σμήματοσ Ηλεκτρολόγων Μηχανικών και. Σεχνολογίασ Τπολογιςτών τησ Πολυτεχνικήσ χολήσ του. Πανεπιςτημίου Πατρών ΠΑΝΕΠΙΣΗΜΙΟ ΠΑΣΡΩΝ ΣΜΗΜΑ ΗΛΕΚΣΡΟΛΟΓΩΝ ΜΗΦΑΝΙΚΩΝ ΚΑΙ ΣΕΦΝΟΛΟΓΙΑ ΤΠΟΛΟΓΙΣΩΝ ΣΟΜΕΑ: ΗΛΕΚΣΡΟΝΙΚΗ ΚΑΙ ΤΠΟΛΟΓΙΣΩΝ ΕΡΓΑΣΗΡΙΟ ΗΛΕΚΣΡΟΝΙΚΩΝ ΤΠΟΛΟΓΙΣΩΝ ΔΙΠΛΩΜΑΣΙΚΗ ΕΡΓΑΙΑ του φοιτητή του Σμήματοσ Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Λογιστική Θεωρία και Έρευνα

Λογιστική Θεωρία και Έρευνα Μεταπτυχιακό Πρόγραμμα στη Λογιστική & Χρηματοοικονομική Master of Science (MSc) in Accounting and Finance ΤΕΙ ΠΕΙΡΑΙΑ Λογιστική Θεωρία και Έρευνα Εισαγωγή στη Λογιστική Έρευνα Η αναζήτηση της αλήθειας

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης

Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης Πλεονεκτήματα 1. Σε περιπτώσεις που είναι αδύνατον να αναπαρασταθούν τα συστήματα με μαθηματικά μοντέλα είναι αναγκαστική καταφυγή η χρήση προσομοίωσης.

Διαβάστε περισσότερα

Συστήματα Πληροφοριών Διοίκησης

Συστήματα Πληροφοριών Διοίκησης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Συστήματα Πληροφοριών Διοίκησης Ενότητα 2: Γενική θεώρηση και κατάταξη συστημάτων πληροφοριών διοίκησης Διονύσιος Γιαννακόπουλος, Καθηγητής Τμήμα

Διαβάστε περισσότερα

Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ

Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. Χρυσάνθη Στυλιανού Λεμεσός 2014 ΤΕΧΝΟΛΟΓΙΚΟ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στη Δασική Πληροφορική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Εισαγωγή στη Δασική Πληροφορική Ενότητα 3: Θεωρία, Ανάλυση και Σχεδιασμός Πληροφοριακών Συστημάτων Ζαχαρούλα Ανδρεοπούλου Δασολογίας &

Διαβάστε περισσότερα

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις Μοντέλα Δεδομένων Μοντέλο: αφαιρετική αναπαράσταση του πραγματικού κόσμου. Μοντέλα βασισμένα σε εγγραφές (record based models)

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) 1.1 Κωνσταντίνος Ταραμπάνης Καθηγητής Τμήμα Οργάνωσης και Διοίκησης Επιχειρήσεων Πανεπιστήμιο Μακεδονίας Γρ. 307 2310-891-578 kat@uom.gr

Διαβάστε περισσότερα

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

þÿ¼ ½ ±Â : ÁÌ» Â Ä Å ÃÄ ²µ þÿä Å ÃÇ»¹º Í Á³ Å Neapolis University HEPHAESTUS Repository School of Economic Sciences and Business http://hephaestus.nup.ac.cy Master Degree Thesis 2015 þÿ ½»Åà Äɽ µ½½ ¹Î½ Ä Â þÿ±¾¹»ì³ à  º±¹ Ä Â þÿ±à ĵ»µÃ¼±Ä¹ºÌÄ Ä±Â

Διαβάστε περισσότερα

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

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 8η - Εικονικοί Κόσμοι και Πολιτιστικό Περιεχόμενο Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 8η - Εικονικοί Κόσμοι και Πολιτιστικό Περιεχόμενο Ιόνιο Πανεπιστήμιο, Τμήμα Πληροφορικής, 2015 Κωνσταντίνος Οικονόμου, Επίκουρος Καθηγητής

Διαβάστε περισσότερα