Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο 2006-2007 (Ε') - Κωδ. Μαθήματος:

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο 2006-2007 (Ε') - Κωδ. Μαθήματος:"— Μεταγράφημα παρουσίασης:

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος: Διδάσκων: Κων/νος Κώτης

2 Δομή μαθήματος

3 Σύγχρονο Λογισμικό Βρίσκεται παντού (εφαρμογές σε κάθε συσκευή της καθημερινότητάς μας) Είναι ανεξάρτητο από το υλικό («τρέχει» σχεδόν παντού) Είναι πολύπλοκο (πολύπλοκες απαιτήσεις) Είναι απλό στη χρήση (κοντά στον άνθρωπο) Λειτουργεί σε δίκτυο (τοπικό ή διαδίκτυο) Γίνεται απαραίτητο (στην επικοινωνία, εκπαίδευση, συγκοινωνίες, ιατρική, κ.α.)

4 Σύγχρονο Λογισμικό Εξελίξεις που έπαιξαν ρόλο στην θεμελίωση της ανάγκης νέων προσεγγίσεων (Ο-Ο) στην ανάπτυξη λογισμικού: –Αναποτελεσματική η προσήλωση των Κατασκευαστών σε αυστηρές διαδικασίες και πρότυπα –Σύγχρονο υλικό  νέα εργαλεία και δυνατότητες αξιοποίησής τους σε νέες περιοχές εφαρμογών –Η ανάδειξη του Διαδικτύου  νέα πλατφόρμα εφαρμογών –Η σύγκλιση των επικρατέστερων από τις νέες αντικειμενοστραφείς προσεγγίσεις ανάπτυξης λογισμικού

5 Σύγχρονο Λογισμικό Σε αυτό το πλαίσιο εντάσσονται νέες τάσεις στην ανάπτυξη του λογισμικού: –Ευέλικτα και παραμετρικά μοντέλα κύκλου ζωής λογισμικού, προσαρμοζόμενα στα χαρακτηριστικά κάθε συγκεκριμένου περιβάλλοντος-εφαρμογής –Μη αυστηρά πρότυπα δομής της τεκμηρίωσης (προϊόντα περιγραφής) του λογισμικού –Τα περιβάλλοντα ανάπτυξης (γλώσσες, βιβλιοθήκες, εργαλεία) έχουν γίνει ιδιαίτερα σύνθετα και ολοκληρωμένα –Τα εργαλεία CASE πλέον συνεργάζονται με τα περιβάλλοντα ανάπτυξης λογισμικού, υποστηρίζουν την τεκμηρίωση (και επικαιροποίηση) του λογισμικού από τα πρώτα στάδια ανάπτυξης, αυτοματοποιούν ένα μέρος της παραγωγής πηγαίου κώδικα, υποστηρίζουν γενικότερα τον κατασκευαστή.

6 Δομημένη προσέγγιση Ανάπτυξης

7 Αδυναμίες της Δομημένης προσέγγισης Ανεξαρτησία δεδομένων από τις λειτουργικές μονάδες –Δεν ισχύει στο επίπεδο του πραγματικού κόσμου, όπου διαχείριση δεδομένων και λειτουργικές μονάδες που επιδρούν σε αυτά είναι άμεσα συνδεδεμένα Απεικόνιση οντοτήτων του πραγματικού κόσμου σε συστατικά λογισμικού –Δεν μοντελοποιεί εύκολα και φυσικά την επιχειρησιακή λογική Πολυπλοκότητα –Το νέο λογισμικό είναι πολύπλοκο και δεν μπορεί κανείς εύκολα να το σχεδιάσει με το δομημένο τρόπο –Τα δεδομένα που διαχειρίζονται τα σύγχρονα λογισμικά είναι πλέον αρκετά πολύπλοκα για να απεικονιστούν με το δομημένο τρόπο

8 Αδυναμίες της Δομημένης προσέγγισης –Σε πρακτικό επίπεδο: Δυσκολία στον προσδιορισμό των απαιτήσεων: ακριβής περιγραφή πολλών, πολύπλοκων, και αλληλοσυσχετιζόμενων απαιτήσεων με χρήση μετασχηματισμών και ανεξάρτητων δεδομένων Δυσκολία στην παρακολούθηση και ενημέρωση μεταβολών στις προδιαγραφές απαιτήσεων Δυσκολία στη διαχείριση των μοντέλων, λόγω πλήθους, πολυπλοκότητας, συσχετίσεων, μεταβολών στο χρόνο Δυσκολία στη συντήρηση του λογισμικού Δεν ενθαρρύνεται η επαναχρησιμοποίηση συστατικών λογισμικού, λόγω μη επιτρεπτής γενίκευσης

9 Αδυναμίες της Δομημένης προσέγγισης Παρόλα αυτά, δεν είναι μια άχρηστη ή εσφαλμένη προσέγγιση Η αντικειμενοστραφής προσέγγιση δεν έχει τη λύση σε όλα τα προβλήματα Πολλά από τα προβλήματα θα συνεχίζουν να υπάρχουν, ίσως σε μικρότερο βαθμό Η αντικειμενοστραφής Τεχνολογία είναι ένα καλύτερο εργαλείο για τους Κατασκευαστές

10 Αντικειμενοστραφής Τεχνολογία Ιστορική αναδρομή Πρώτη ιδέα στην δεκαετία του ’60 Πρώτη γλώσσα Simula-67 ADA, Smalltalk, κ.α. Πολλές θεωρητικές αναλύσεις με παρεμφερή ορολογία Αναφορές στις πρακτικές πλευρές της προσέγγισης, στον προγραμματισμό Πρόσφατο μεγάλο ενδιαφέρον

11 Αντικειμενοστραφής Τεχνολογία Ορισμοί Object-oriented = Αντικειμενοστραφής –«…προσανατολισμένος σε αντικείμενα» –Ανάπτυξη λογισμικού κατά την οποία τα «αντικείμενα» είναι οι βασικές δομικές μονάδες Αντικείμενο (object) –Δομικό συστατικό ενός λογισμικού. Έχει Κατάσταση (περιγραφή στατικών ιδιοτήτων του αντικειμένου), Συμπεριφορά (τρόπος απόκρισης σε κλήσεις από το περιβάλλον), Ταυτότητα (μοναδική διάκριση του αντικειμένου από τα ομοειδή αντικείμενα).

12 Αντικειμενοστραφής Τεχνολογία Ορισμοί Αντικείμενο (object) από τεχνική άποψη –…είναι η συγχώνευση των εννοιών «εγγραφή» και της «διαδικασίας ή συνάρτησης» –Άρα, Δεδομένα + Λειτουργικές μονάδες –Το σύνολο των τιμών των μεταβλητών μιας Εγγραφής αποτελεί την Κατάσταση αυτής. –Θυμίζουμε: Εγγραφή είναι συλλογή μεταβλητών μνήμης, που αποτελούν τη δομή της, και παίρνουν συγκεκριμένη τιμή κάθε χρονική στιγμή.

13 Αντικειμενοστραφής Τεχνολογία Ορισμοί Κλάση (class): …είναι το σύνολο των αντικειμένων που έχουν την ίδια δομή και την ίδια συμπεριφορά –Συμπεριφορά της Κλάσης: Τρόπος απόκρισης σε εξωτερικά ερεθίσματα –Δομή της Κλάσης: Ποιες και τι τύπου μεταβλητές περιγράφουν τις ιδιότητες του αντικειμένου –Κατάσταση της Κλάσης: Σύνολο συγκεκριμένων τιμών που παίρνουν οι μεταβλητές αυτές Η Κλάση είναι αφηρημένη έννοια, δεν υπάρχει την ώρα εκτέλεσης του λογισμικού. Αυτό που υπάρχει είναι οι μεταβλητές μνήμης και οι τιμές που παίρνουν.

14 Αντικειμενοστραφής Τεχνολογία Ορισμοί Στιγμιότυπο (instance): –Κάθε αντικείμενο αποτελεί ένα Στιγμιότυπο (ή αλλιώς Εκδοχή) της Κλάσης στην οποία ανήκει Πεδίο (field): –…είναι κάθε μεταβλητή που παριστάνει ένα χαρακτηριστικό γνώρισμα του Αντικειμένου. –Το σύνολο των τιμών όλων των Πεδίων ενός αντικειμένου αποτελεί την Κατάσταση αυτού.

15 Αντικειμενοστραφής Τεχνολογία Ορισμοί Μέθοδος (method): –Κάθε ενεργό συστατικό λογισμικού (διαδικασία ή συνάρτηση) που υλοποιεί ένα στοιχείο συμπεριφοράς ενός Αντικειμένου. –Το σύνολο των μεθόδων ενός Αντικειμένου καθορίζει τη Συμπεριφορά του. Κελυφοποίηση, απόκρυψη πληροφοριών –Είναι η απόκρυψη λεπτομερειών υλοποίησης ενός Αντικειμένου από το περιβάλλον του, μέσω της ελεγχόμενης ορατότητας των πεδίων και των μεθόδων αυτού από άλλα Αντικείμενα

16 Αντικειμενοστραφής Τεχνολογία – Μελέτη Περίπτωσης «Επίκουρος» Κλάσεις Στιγμιότυπα Κλάση Πεδία (Δομή) Μέθοδοι Κατάσταση

17 Αντικειμενοστραφής Τεχνολογία Ορισμοί Σχέσεις –Αναγνωρίζονται στο επίπεδο των Κλάσεων –Υλοποιούνται στο επίπεδο των Αντικειμένων Τύποι Σχέσεων: –Συσχέτιση (association) –Κληρονομικότητα (inheritance) –Συναρμολόγηση (aggregation)

18 Αντικειμενοστραφής Τεχνολογία Σχέσεις -Συσχέτιση (association) –Η πιο γενική σχέση μεταξύ 2 κλάσεων –Χαρακτηρίζεται από: Ένα όνομα Την πολλαπλότητα (επιτρεπτός αριθμός μελών κάθε μέρους της σχέσης): 1:1, 1:Ν, Ν:Μ Το όνομα του Ρόλου που παίζει κάθε μέρος στη συσχέτιση

19 Αντικειμενοστραφής Τεχνολογία Σχέσεις - Κληρονομικότητα (inheritance) –Μία κλάση αποδίδει (κληροδοτεί) στην άλλη τα χαρακτηριστικά της (πέρα από τα δικά της) –Κλάση Γονέας  Κλάση Παιδί –Κληρονομεί Πεδία και Μεθόδους –Ένας Γονέας μπορεί να κληροδοτεί πολλά Παιδιά –Γενικό στο ειδικό (Κληρονομικότητα) vs. Ειδικό στο Γενικό (Γενίκευση) => Μηχανισμός Ταξινόμησης Οντοτήτων Τύποι Κληρονομικότητας: –Απλή (single inheritance): Ένας Γονέας κληροδοτεί μία Κλάση –Πολλαπλή (Multiple): Περισσότεροι Γονείς κληροδοτούν μία Κλάση

20 Αντικειμενοστραφής Τεχνολογία Σχέσεις - Κληρονομικότητα (inheritance) –Γενικό στο ειδικό (Κληρονομικότητα) vs. Ειδικό στο Γενικό (Γενίκευση) => Μηχανισμός Ταξινόμησης Οντοτήτων –Απλή (single inheritance): Ένας Γονέας κληροδοτεί μία Κλάση Γενίκευση Κληρονομικότητα

21 Αντικειμενοστραφής Τεχνολογία Σχέσεις - Συναρμολόγηση (aggregation) –Εκφράζει τη σύνθεση συνόλων από απλούστερα μέρη –Δεν είναι Κληρονομικότητα –Είναι ειδική συσχέτιση («αποτελείται_από»)

22 Συμπεράσματα Νέα προσέγγιση, Νέοι Όροι, Νέα συμβολισμοί Διαφορετική μοντελοποίηση ενός προβλήματος Αντιμετώπιση αδυναμιών της Δομημένης προσέγγισης:

23 Συμπεράσματα Αντιμετώπιση αδυναμιών της Δομημένης προσέγγισης: –Η ομαδοποίηση δεδομένων και λειτουργιών με την μορφή Κλάσεων, επιτρέπουν την ευκολότερη αντιστοίχησή τους με τις οντότητες-έννοιες του πραγματικού κόσμου. –Κάθε οντότητα του πραγματικού κόσμου έχει Κατάσταση και Συμπεριφορά, άρα είναι περισσότερο κατανοητό να την παραστήσουμε με ένα σύνθετο και ενιαίο τρόπο (Κλάση) παρά με πολλά ανεξάρτητα μεταξύ τους (δομημένος τρόπος).

24 Συμπεράσματα Αντιμετώπιση αδυναμιών της Δομημένης προσέγγισης: –Πλούτος Σχέσεων στην Αντικειμενοστραφούς φιλοσοφία –Ανάλυση του προβλήματος σε διαφορετικά συστατικά στην Αντικ. –Τα δεδομένα γίνονται τα κυρίαρχα στοιχεία της αναλυτικής σκέψης

25 Συμπεράσματα

26 Αντικειμενοστραφής Ανάπτυξη Ενοποιημένη Προσέγγιση ανάπτυξης λογισμικού –Προϊόν σύγκλισης 3 επικρατέστερων προσεγγίσεων ανάπτυξης λογισμικού με την Αντικειμενοστραφή τεχνολογία Unified Process ή Unified Software Development Methodology Unified Model Language

27 Γενικό Πλαίσιο Αντικ. Αναπτ. Λογισμ. Unified Process –Χρησιμοποιεί την UML για την παράσταση των μοντέλων λογισμικού –Αντιμετωπίζει το λογισμικό ως σύνολο συστατικών που ικανοποιούν απαιτήσεις χρηστών, βάση των οποίων πραγματοποιεί τις ενέργειες ανάπτυξης –Αντιμετωπίζει την αρχιτεκτονική του λογισμικού ως κεντρική έννοια στην ανάπτυξη, η οποία είναι δυναμικά αλληλοεξαρτώμενη από τις απαιτήσεις των χρηστών (καθορίζεται από αυτές και τις επηρεάζει) –Είναι μια επαναληπτική προσέγγιση. Το τελικό προϊόν είναι ένα συσσωρευτικό αποτέλεσμα επαναλήψεων ενεργειών ανάπτυξης λογισμικού

28 Μοντέλο Κύκλου Ζωής της Ενοποιημένης Προσέγγισης

29 Κύκλος Ανάπτυξης: –Σύλληψη της ιδέας –Επεξεργασία της Λύσης –Κατασκευή Πηγαίος κώδικα –Μετάβαση Δοκιμαστική λειτουργία Επαλήθευση ικανοποίησης απαιτήσεων Διορθώσεις Τελικό προϊόν του κύκλου είναι μια εκδοχή (release) του λογισμικού Σύνολο από κείμενα και μοντέλα παράστασης λογισμικού

30 Μοντέλο Κύκλου Ζωής της Ενοποιημένης Προσέγγισης Δεν εκτελούνται όλες οι εργασίες σε κάθε φάση –Σχηματική Αναλογία (ποιοτική) εργασιών ανάπτυξης σε κάθε φάση

31 Βασικές Έννοιες

32 Συμβολισμοί

33 Σημασία των Περιπτώσεων Χρήσης

34

35

36

37

38

39

40

41

42

43

44

45


Κατέβασμα ppt "ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο 2006-2007 (Ε') - Κωδ. Μαθήματος:"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google