Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα

Σχετικά έγγραφα
Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Προοπτικές. Kεφάλαιο Tρία - Mεγέθους και ιαµελισµού Eνός Συστήµατος σε Συστατικά

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ώδεκα - Kαθορισµός Προτύπων Περιοχών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο εκαέξη - Συναρµολόγηση Συστατικών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ύο - Tι Eίναι και Tι δεν Eίναι Συστατικό

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Κεφάλαιο 10 ο Υποπρογράµµατα

Μελέτες Περιπτώσεων. Επιχειρησιακή Στρατηγική. Αριστοµένης Μακρής

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ιαχείριση Εφοδιαστικής Αλυσίδας

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα

Πρακτικά όλα τα προβλήματα ασφαλείας οφείλονται σε λάθη στον κώδικα

Η συµληρωµατικότητα σηµαίνει ότι οι καταναλωτές σε αυτές τις αγορές αγοράζουν συστήµατα.

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

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

Βιοτεχνολογία και Παραγωγή: Ποια ερωτήµατα πρέπει να απαντηθούν

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

Ως ανάπτυξη προϊόντος ορίζεται όλο το σύνολο των δραστηριοτήτων από την έρευνα αγοράς, µέχρι την παράδοσή του στον πελάτη.

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

Εξέταση Προόδου ΕΡΩΤΗΣΕΙΣ

Σύγχρονο Επιχειρηµατικό Γίγνεσθαι

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

Σχεδιαστής Ιστοσελίδων

ALERTS ή EDA (Event Driven Actions)

Σχεδιαστικά Προγράμματα Επίπλου

ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ Ενότητα 12

«Παρατηρήσεις και προβλήµατα. Παντελής Α. Μπράττης Βιβλιοθηκονόµος Τεχνική Υποστήριξη ΣΚΕΑΒ

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

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

Εταιρείες Πληροφορικής και Τηλεπικοινωνιών

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

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

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

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Tέσσερα - Πρότυπα, Yποδοµές και Aρχιτεκτονικές

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

Ηλεκτρονικό Εμπόριο. Ενότητα 7: Διαχείριση Εφοδιαστικής Αλυσίδας Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009

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

Υπολογιστική Νέφους Cloud computing

ΚΕΦΑΛΑΙΟ 6. Αποδόσεις κλίµακας, Εκτίµηση κόστους και καινοτοµίες

«Περιεχόµενα. 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα. 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΙΟΝΤΩΝ

Διαφορές single-processor αρχιτεκτονικών και SoCs

Ελεύθερο Λογισμικό. Η αρχή της ιστορίας Κιαγιαδάκης Γιώργος (το labάκι)

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

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

ΑΝΑΒΑΘΜΙΖΟΝΤΑΣ ΤΟ ΣΥΣΤΗΜΑ SIEMENS SIMATIC S5 ΣΕ SIMATIC S7

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

Προγραµµατιστικές τεχνικές

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

Κατανοώντας την επιχειρηματική ευκαιρία

Σύστημα Διαχείρισης Εξοπλισμού «PRAXIS»

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Στόχοι

Αλληλεξάρτηση τοπικής και παγκόσµιας αγοράς Οργανωτική

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

ΕΠΙΚΟΙΝΩΝΙΑ ΠΡΟΣΩΠΟ ΜΕ ΠΡΟΣΩΠΟ ΑΠΟ ΚΑΘΕ ΣΗΜΕΙΟ ΤΗΣ ΓΗΣ.

Οδηγίες για τη διδασκαλία µαθηµάτων Πληροφορικής του Ενιαίου Λυκείου

CRM and Sales Force Automation

Πέργαµος: Το Σύστηµα Ψηφιακής Βιβλιοθήκης του Πανεπιστηµίου Αθηνών

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

ΔΙΕΚ ΜΥΤΙΛΗΝΗΣ ΤΕΧΝΙΚΟΣ ΜΗΧΑΝΟΓΡΑΦΗΜΕΝΟΥ ΛΟΓΙΣΤΗΡΙΟΥ Γ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΛΟΓΙΣΤΙΚΗ ΚΟΣΤΟΥΣ Ι ΜΑΘΗΜΑ 2 ο

2009 : :00-13:30

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Τεχνολογικό περιβάλλον. Ορισμοί της Τεχνολογίας. Σχέση Τεχνολογίας και Επιστήμης. Επιπτώσεις της Τεχνολογίας. ΕΙΣΑΓΩΓΗ στην ΤΕΧΝΟΛΟΓΙΑ

Το πρόγραμμα που ταιριάζει στο δικό σας περιβάλλον ΟΡΓΑΝΩΣΗ ΛΟΓΙΣΤΗΡΙΟΥ REFLEXIS ERP: ΤΟ ΠΡΟΓΡΑΜΜΑ ΠΟΥ ΣΑΣ ΛΥΝΕΙ ΤΑ ΧΕΡΙΑ

Managing Information. Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business.

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ 3 ΗΣ ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ

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

Προγραμματισμός ΙI (Θ)

συναντήσεις εργασίας εκτέλεση ρόλου διευθυντή σεμινάρια σύνταξη γραπτής εργασίας τελικό σεμινάριο έκθεση αξιολόγηση

ΕΠΙΧΕΙΡΗΜΑΤΙΚΑ ΣΧΕΔΙΑ

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η διαχείριση διάταξης στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Η ΠΟΡΕΙΑ ΤΗΣ ΒΙΟΜΗΧΑΝΙΑΣ ΠΡΟΣ ΤΟ 2020

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Φάση 3: Λεπτομερής Σχεδιασμός

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

2 ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ ΙΟΙΚΗΣΗΣ ΕΡΓΩΝ

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Σχεδιασμός Κατασκευών Ενότητα 2: Βασικές Έννοιες Τεχνικών Συστημάτων & Οργάνωση Ανάπτυξης ενός Προϊόντος

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

Transcript:

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα ΠANEΠIΣTHMIO KYΠPOY

Kεφάλαιο Ένα - Συστατικά και Aγορές 2

1.1 Eισαγωγή 1.1.1 Σύνθεση µε Συστατικά Κύριο χαρακτηριστικό των συστηµάτων που συναρµολογούνται από συστατικά είναι η σύνθεση ή επανασύνθεση µε τα ίδια κοινά συστατικά. Tολογισµικό τους καλείται λογισµικό συστατικών. Εποµένως και οι ιδιότητές των συστατικών πρέπει να είναι στον κατάλληλο βαθµό γενικές ή ειδικές ώστε να επιτρέπουν την χρησιµοποίησή τους σε διαφορετικά πλαίσια. Οι κύριες ιδιότητες είναι η ανεξαρτησία και η δυαδική µορφή. 1.1.2 Eπί Παραγγελία και Kαθιερωµένο Λογοσµικό Στο επί παραγγελία λογισµικό τα συστήµατα αναπτύσσονται µε βάση εργαλεία προγραµµατισµού και βιβλιοθήκες επεξεργασιών. Οι λύσεις που προσφέρει πέρα από την ανάπτυξη τοπικών εφαρµογών είναι λιγότερο από ιδανικές. Tα κυριότερα µειονεκτήµατα είναι η συντήρηση, η εγγραφή στο διαδύκτιο και η διαλειτουργικότητα. Η πιθανότητα το όλο σύστηµα να γίνει παραγωγικό πριν γίνει ξεπερασµένο είναι µικρή. Στο άλλο άκρο καθιερωµένο λογισµικό αγοράζεται και παραµετροποιείται για κατά προσέγγιση λύση. Η ευθύνη της συντήρησης και διαλειτουργικότητας αφήνεται στον πωλητή. H αναλογία χρόνου και χρήµατος είναι πολύ καλύτερη. Τα προβλήµατα αυτού του είδους προγραµµατισµού βρίσκονται στην αναδιοργάνωση των διεργασιών που επιρρεάζονται. Το καθιερωµένο λογισµικό δεν είναι ανταγωνιστικό αφού είναι διαθέσιµο προς όλους. Ο κεντρικός έλεγχός του, δυσχεραίνει την προσαρµοστικότητα σε τοπικό επίπεδο. Ο σπονδυλωτός προγραµµατισµός βρίσκεται στο µέσο των δύο λύσεων. Παρόλο που κάθε συστατικό στην αγορά είναι καθιερωµένο προϊόν, µε όλα τα πλεονεκτήµατά του, η διαδικασία της συναρµολόγησης επιτρέπει και την τυποποίηση. Φαίνεται ότι θα υπάρχουν διαφορετικής ποιότητας συστατικά (επίπεδο εκτέλεσης, αποδοτικότητα πόρων, αυτοδυναµία) σε διαφορετικές τιµές (βλ. σχ. 1.1) Τα συστατικά επίσης θέτουν τέλος στο πρόβληµα της µαζικής περιοδικής αναβάθµισης που υπάρχει στο παραδοσιακό λογισµικό.και αυτό γιατί η ξεχωριστή αναβάθµιση σε επίπεδο συστατικών γίνεται εκτός φάσης και περισσότερο οµαλά. Eισαγωγή 3

1.1.3 Το Aναπόφευκτο των Συστατικών Η ανάπτυξη συστατικών υψηλής τεχνολογίας δεν είναι αρκετή για να καθιερωθούν αυτά στην αγορά. Εδώ εισάγεται ο όρος κρίσιµη µάζα που πρέπει να έχει το συστατικό για την εµπορική του επιτυχία και συνίσταται από: Ικανοποιητική ποικιλία και ποιότητα. Αν υπάρχη ώφελος από την χρήση του συστατικού. Αν υποστηρίζεται από δυνατούς πόρους ή αρκετούς δευτερεύοντες πόρους. Αφού αποκτειθεί αυτή η κρίσιµη µάζα σε ένα τοµέα της αγοράς, τότε η χρήση των συστατικών σ αυτό το τοµέα θα είναι αναπόφευκτη. Τότε µία δείνη θα σχηµατισθεί που θα τραβήξει παραδοσιακές λύσεις στην κατανάλωση. Η κατασκευή δικών µας λύσεων δικαιολογείται µόνο όταν είναι πολύ ανώτερες από τα υπάρχοντα συστατικά. Επίσης τα συστατικά στην αγορά βελτιώνονται ταχύτερα από τις χειροποίητες λύσεις.καθώς τα συστατικά ενεργούν σαν πολλαπλασιαστές στην αγορά, η αύξηση µπορεί να γίνει εκθετική. Η εισαγωγή στην αγορά συστατικών απαιτεί προετοιµασία δηλ. επιλογή προσέγγισης µηχανικής λογισµικού φιλικής προς την δηµιουργία συστατικών (υποστήριξη διαµόρφωσης απαιτήσεων, αρχιτεκτονικής, σχεδιασµού και εφαρµογής). Εποµένως υποχρεωτικά χρησιµοποιείται καλύτερη προσέγγιση µηχανικής λογισµικού. Ο πρώτος οργανισµός που δηµιουργεί ένα αξιόλογο σύνολο συστατικών για ένα τοµέα της αγοράς µπορεί να καθορίσει κανονισµούς και µορφές ανάπτυξης της αγοράς στο δικό του όφελος. Ελαστικότητα, ευκινησία, ανταγωνιστικότητα. Αποδοτικότητα κόστους 0 100 %αγορά Σχ. 1.1 Φάσµα µεταξύ παραγωγής και αγοράς. Eισαγωγή 4

1.1.4 H Φύση του Λογισµικού και οι Aναπτυσσόµενες Oντότητες Η φύση του λογισµικού διαφέρει από άλλα προϊόντα του τοµέα της µηχανικής στο ότι κάθε παραγωγή του είναι αντίγραφο προϊόντος. Οι υπολογιστές θεωρούνται σαν µηχανές που δέχονται και ενεργοποιούν αυτά τα αντίγραφα όσες φορές χρειαστεί. Έτσι το λογισµικό πρέπει να θεωρείται σαν µεταπροϊόν. Το ίδιο ισχύει για τα συστατικά λογισµικού. Έχει υπάρξει σύγχυση σε σχέση µε τις αφηρηµένες έννοιες και τις περιπτώσεις (instances), αφότου δηµιουργήθηκε το πρότυπο συσχέτισης οντοτήτων (entityrelationship modeling).κανονικά θα έπρεπε εξ αρχής να εχρησιµοποιούντο οι εκφράσεις συµβάν οντότητας (entity occurence) και ορισµός οντότητας (entity definition). Στην τεχνολογία των αντικειµένων (οbjects) η διάκριση µεταξύ τάξης και αντικειµένου συχνά παραλείπεται. Aνκαι υπάρχει διαύγεια σχετική µε όρους όπως περίπτωση αντικειµένου ή τάξη αντικειµένου,στην καθιερωµένη πρακτική υπερτερεί η µη διάκριση µεταξύ τάξης και αντικειµένου. Η τεχνική προτύπου αντικειµένου (οbject modeling technique, OMT) περιγράφει τις στατικές σχέσεις των τάξεων, αλλά όταν γίνεται αναφορά στις επισηµειώσεις για αριθµούς συνεταίρων σε µία σχέση, τότε εννοούνται περιπτώσεις τάξεων (αντικείµενα). Η ενεργοποίηση αυτών των αντικειµένων δηµιουργεί περιπτώσεις αντικειµένων. ηλαδή οι τάξεις από µόνες τους θεωρούνται αντικείµενα που οι εφαρµογές τους (αφού οι τάξεις πάρουν κάποιες παραµέτρους) είναι και αυτές αντικείµενα, έτοιµα να δηµιουργήσουν περιπτώσεις µε κάθε ενεργοποίησή τους. Συµπερασµατικά, τα συστατικά δεν είναι αναντικατάστατα και η υπεροχή τους βρίσκεται σε θέµατα επαναχρησιµοποίησης, προθεσµίας στην αγορά, ποιότητας και βιωσιµότητας. Eισαγωγή 5

1.1.5 TαΣυστατικά Eίναι Mονάδες Aνάπτυξης Σαν µονάδα ανάπτυξης το συστατικό συνίσταται σε υποδοµή µίας η περισσοτέρων τάξεων. Η δηµιουργία αντικειµένων βασίζεται σ αυτές τις τάξεις. Έτσι ένα συστατικό σπάνια ενεργοποιείται ολόκληρο. Όταν αποτελείται από συλλογή τάξεων,καλείται διαµόρφωµα (module).ωστόσο έναι συστατικό µπορεί να περιέχει και άλλα είδη τεχνολογίας όπως συναρτήσεις ή γλώσσα assembly. Οι λόγοι που υπάρχουν τάξεις στα συστατικά και όχι απ ευθείας αντικείµενα: Ο ορισµός των αντικειµένων είναι περισσότερο τεχνικός, δηλαδή τα αντικείµενα περιέχουν κατάσταση και συµπεριφορά, πολυµορφισµό και διαδοχή. Η τεχνολογία των αντικειµένων αγνοεί τις προοπτικές οικονοµίας και αγοράς και τις τεχνικές τους επιπτώσεις. Η αποτυχία των αγορών αντικειµένων έγκειται και στην αδιαφορία των τεχνολόγων που ασχολούνται περισσότερο µε τεχνολογικά προβλήµατα. Ένα συστατικό τάξεων έχει περισσότερες χρήσεις και εποµένως χρήστες και έτσι είναι βιωσιµότερο. Αυτή είναι η βασική ιδέα πίσω από την έννοια της επαναχρησιµοποίησης. Πλεονεκτήµατά του µπορεί να είναι η τεχνολογική ανωτερότητα, η πρώτη λύση σε γνωστό πρόβληµα, ή η πλατειά υποστήριξη. Eισαγωγή 6

1.1.6 ιδάγµατα Παραδείγµατα επιτυχηµένων συστατικών. Microsoft Visual Basic. Όλα τα σύγχρονα λειτουργικά συστήµατα. Οι εφαρµογές είναι χονδρά-διαµελισµένα συστατικά που εκτελούν στο περιβάλλον κάποιου λετουργικού. Η διαλειτουργικότητα τέτοιων συστατικών, είναι τόσο παλιά όσο το µοίρασµα του συστήµατος αρχείων και το κοινό σχήµα (format) αρχείων, ή την χρήση σωλήνα µεταφοράς στοιχείων (pipe) και η σύνθεση διηθητήρα (filter). M ηχανές συσχέτισης βάσης δεδοµένων. Οθόνες επεξεργασίας κινήσεων - µεταβολών. Αρχιτεκτονικές βύσµατος (plug -in).εφαρµόστηκαν µε λεπτότερου διαµελισµού συστατικά και διαδόθηκαν µε την εισαγωγή των παρατηρητών του Netscape Navigator Web. Apple s QuickTime για Mac OS. Εφαρµογές TSR (terminate and stay resident) για DOS. Πολλά συστατικά από διαφορετικές πηγές µπορούν να συνυπάρχουν στην ίδια εγκατάσταση αν και οι αυθαίρετοι συνδυασµοί δεν είναι οι καλύτεροι. Σε όλα τα πετυχηµένα συστατικά υπάρχει απ ευθείας εµφάνιση της λειτουργικότητας τους στον πελάτη. Αυτό δεν συµβαίνει µε τα αντικείµενα, βιβλιοθήκες τάξεων και τις υποδοµές, γι αυτό και η σύνθεση των συστατικών γίνεται από ειδικούς προγραµµατιστές. Στις µέρες µας υπάρχει και η τάση για δηµιουργία αντικειµένων που µπορούν να συναρµολογήσουν και οι µη ειδικοί. Η ρύθµιση και ολοκλήρωση ενός αντικειµένου σε ένα σύστηµα δεν είναι εύκολη υπόθεση και έτσι δεν πωλούνται ανεξάρτητα. Όταν πρέπει να συνδυασθούν υποδοµές τα πράγµατα είναι ακόµα πιο δύσκολα.ένα τέτοιο αποτυχηµένο σύστηµα είναι το Com monpoint.εκτός της πολυπλοκότητας ένας άλλος λόγος αποτυχίας του είναι η χρησιµοποίηση της C++ για στήριξη ενός πλαισίου συστατικών µε πολλαπλές ιεραρχίες διαδοχής. Ο διαµελισµός των συστατικών και οι αµοιβαίες εξαρτήσεις πρέπει να ελέγχονται από εξωτερικό επίπεδο. Σηµαντικό ρόλο στην σύνθεση συστατικών παίζει και η τεχνολογία των αντικειµένων. Eισαγωγή 7

1.2 Aγορά και Tεχνολογία 1.2.1 ηµιουργία Aγοράς Ένα νέο προϊόν µπορεί να δηµιουργήσει αγορά αν η άφιξή του αναµένεται. Ο διακριτικός τρόπος για αποφυγή δηµιουργίας νέας αγοράς είναι ηεπέκταση υφιστάµενης. Αυτό χρειάζεται δύο στάδια: Σε περιβάλλον ανταγωνισµού πρέπει να βελτιώνονται οι προσφορές για διατήρηση της υπάρχουσας αγοράς. Η υπάρχουσα βάση πελατών βοηθά στην έλξη νέων πελατών για το εξεληγµένο προϊόν. Οι χειριστές της VisualBasic Extensions (VB X) γενικεύτηκαν σε χειριστές Object Linking and Embedding (OLE) και ακολούθως µετασχηµατίσθηκαν σε χειριστές ActiveX που επίσης δουλεύει µε εφαρµογές του διαδικτύου (Internet), επεκτείνοντας έτσι την αγορά. Η παραγωγή συστατικών πρέπει να στοιχίζει λιγότερο από την παραγωγή ολοκληρωµένων λύσεων. Eισαγωγή 8

1.2.2 Θεµελιώδεις Iδιότητες Tεχνολογίας Συστατικών Η ύπαρξη αγοράς συστατικών βασίζεται στο εφικτόν της τεχνολογίας. Όταν συστατικά από ανεξάρτητες πηγές λογισµικού ολοκληρώνονται από τρίτους, τότε προκαλούνται τα περισσότερα τεχνικά προβλήµατα. Έτσι ένα σύστηµα συστατικών είναι τόσο δυνατό όσο το πιο αδύνατό του συστατικό. Η λύση είναι η αποµόνωση λαθών σε κάθε συστατικό ξεχωριστά. Τον ατοµικό έλεγχο πρεπει να ακολουθεί ο έλεγχος ολόκληρου του συστηµατος. Tα υπόλοιπα των λαθών ωφείλονται στο συνδυασµό των συστατικών. Η ολοκλήρωση από τρίτους είναι ακόµη πιο δύσκολη. Η καθυστερηµένη ολοκλήρωση, όπως συµβαίνει µε τα Java applets έχει αρνητική δοκιµή ολοκλήρωσης, αφού µέχρι να αποκτηθούν τα applets τα συστατικά έχουν αποκτηθεί και αναπτυχθεί. Ο έλεγχος έκδοσης είναι χρήσιµος σε τέτοιες περιπτώσεις. Έτσι το θέµα της καθυστερηµένης (και συνεχούς) εισαγωγής και ανάπτυξης συστατικών σε ένα σύστηµα εµποδίζει τον κανονικό του έλεγχο. Το καλύτερο που µπορεί να γίνει είναι οι τµηµατικές δοκιµές (modularchecking) αντί της τελικής ολοκληρωµένης. Έτσι γίνεται ανάλυση των ιδιοτήτων ενός συστατικού και των διασυνδέσεων πάνω στις οποίες κτίζει. Οι ιδιότητες των συστατικών πρέπει να είναι τέτοιες ώστε ακόµα και αν το συστατικό αποτύχει δεν παραβιάζει κανόνες του συστήµατος. Μία από τις κρίσιµες αποφάσεις είναι η κατάλληλη εκλογή γλώσσας προγραµµατισµού και εργαλείων, έτσι ώστε µέρος από το βάρος της ασφάλειας των ιδιοτήτων να φεύγει από τους προγραµµατιστές των συστατικών. ιεργασίες ανάπτυξης λογισµικού, που δεν εξαρτώνται από δοκιµές όπως το Cleanroom φυσικά αποκτούν σηµασία. Μετά τη διαπίστωση των ιδιοτήτων ασφάλειας ακολουθούν οι δοκιµές λειτουργικότητας και απόδοσης. Αυτό µπορεί να γίνει µε το ταίριασµα διαφόρων υπηρεσιών αντικειµένων για διαπίστωση της διαλειτουργικότητάς τους. Η απόδοση του συστήµατος επιρρεάζεται κυρίως από τη σύνθεσή του. Eισαγωγή 9

1.3. Kριτήρια 1.3.1 H Ύψιστη Σηµασία των Kριτηρίων Οι ανάγκες ενός πετυχηµένου συστατικού πρέπει να υποστηρίζονται από ευρύ φάσµα συστηµάτων, οι δε υπηρεσίες του να είναι αναγκαίες σε πολλούς. Εν συντοµία το κοµµάτι της αγοράς που θα πάρει το συστατικό θα πρέπει να του παρέχει οικονοµική βιωσιµότητα. Αν το τµήµα αυτό της αγοράς περιέχει λίγους πελάτες τότε ο πωλητής εύκολα κατανοεί τις ανάγκες το καθενός και τα περιβάλλοντα ανάπτυξης. Μπορεί να υπάρξει και η ακραία περίπτωση της διαµόρφωσης ενός συστατικού για ένα µόνο πελάτη. Αυτό καλείται κατασκευή διαµορφωτή. Tελικά µε την αύξηση των χρήσεων και των πελατών, ο συνδυασµός περιβάλλον ανάπτυξης - ανάγκες πελάτη γίνεται ολοένα και πιο δύσκολο να ικανοποιηθεί. Έτσι συχνά τα κριτήρια ανάπτυξης είναι προσεγγίσεις καινοτόµων, δηλαδή των πρώτων πωλητών σε κάθε τµήµα της αγοράς. Οι πελάτες αυξάνονται παράλληλα µε τους πωλητές και οι αρχικά ιδιωτικές προσεγγίσεις γίνονται βιοµηχανικά κριτήρια. Tα κριτήρια πρέπει να δίνουν ικανοποιητικές πληροφορίες για τις διασυνδέσεις ενός συστατικού, ώστε να µπορούν αρκετοί πελάτες και πωλητές να συνεργάζονται. Υπάρχουν δύο προσεγγίσεις δηµιουργίας των συστατικών λογισµικού και των κριτηρίων αγοράς. Η µία βασίζεται πρώτα στη δηµιουργία αγοράς και ακολούθως στη δηµιουργία κριτηρίων. Αυτή είναι η προσέγγιση της Microsoftκαι της Sun Microsystems. Εδώ προηγείται η δηµιουργία λειτουργικών προϊόντων πριν από τα κριτήρια και έτσι µπορεί να έχουµε τεχνολογική ανεπάρκεια. Η µετεξέλιξη των προϊόντων πρέπει να γίνει προσεκτικά ώστε να µην χαθεί ηδηµιουργηθείσα βάση των πελατών. H δεύτερη δηµιουργεί πρώτα τα κριτήρια και έπειτα τις αγορές.tέτοιο παράδειγµα είναι η βιοµηχανική κοινοπραξία Object Management Group (O M G) που καθορίζει τα κριτήρια της στο ObjectManagement Architecture (O M A). Eισαγωγή 10

1.3.2 Κριτήρια σύνδεσης συστατικών Συµβατότητα εισόδων και εξόδων ή και χρησιµοποίηση τεχνολογίας γεφύρωσης των διαφορών. Στο πρότυπο όπου πρώτα δηµιουργούνται τα κριτήρια (όπως OMG),αυτά πρώτα θα ασχοληθούν µε το επίπεδο των διασυνδέσεων των συστατικών. Έτσι η OMG πρώτα ασχολήθηκε µε την αρχιτεκτονική µεσάζωντα CORBA, που επιτρέπει την επικοινωνία µεταξύ αντικειµένων που γράφτηκαν µε διαφορετικές γλώσσες και υποστηρίζονται από διαφορετικά λειτουργικά συστήµατα. Αντιθέτως η Microsoft είχε πρώτα τα προϊόντα OLE και Visual Basic, που αποτελούν επιτυχηµένες τεχνολογίες υψηλού επιπέδου και αργότερα διεύρυνε τις επιλογές της µε COM, generic OLE, ActiveX, Visual Basic for Applications και άλλα. Mόνο τότε άρχισε να εκδίδει κάποια κριτήρια ενθαρρύνωντας και άλλους πωλητές να ακολουθήσουν. Αυτά συντηρούνται απο την Active Group που είναι µέλος της Open Group. Στις περιοχές εφαρµογών των συστατικών (όπως σύνθετου κειµένου) τα κριτήρια υλοποιούνται µε συστατικά κώδικα και δεν έχουν αναπτυχθεί πολύ. Eισαγωγή 11