Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ αΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ 1η Διάλεξη
2
Σκοπός Διάλεξης η παράθεση βασικών εννοιών & ορισμών της επιστήμης & τεχνολογίας της Πληροφορικής, της Αλγοριθμικής, του Προγραμματισμού Η/Υ
3
Εισαγωγή στις ΤΠΕ
4
Ιστορική Αναδρομή & Εξέλιξη
Άβακας Μηχανισμός Αντικυθήρων
5
Ιστορική Αναδρομή & Εξέλιξη
B. Pascal G. Leibnitz
6
Ιστορική Αναδρομή & Εξέλιξη
Babbage Lady Lovelace (Ada)
7
Ιστορική Αναδρομή & Εξέλιξη
Υπολγιστές πρώτης γενιάς ( ) Turing Colossus Enigma Von Neuman ENIAC
8
Αρχιτεκτονική Η/Υ (κλασσική προσέγγιση)
Αρχιτεκτονική Η/Υ (κλασσική προσέγγιση) ARXITEKTONIKH Von Neumann
9
Ιστορική Αναδρομή & Εξέλιξη
Υπολογιστές δεύτερης γενιάς
10
Ιστορική Αναδρομή & Εξέλιξη
Υπολογιστές τρίτης γενιάς ( ) Υπολογιστές τέταρτης γενιάς (1971-σήμερα)
11
Ιστορική Αναδρομή & Εξέλιξη
Υπολογιστές πέμπτης γενιάς: Επικοινωνία ανθρώπου – μηχανής
12
Ιστορική Αναδρομή & Εξέλιξη
Συστήματα τεχνητής νοημοσύνης
13
Ιστορική Αναδρομή & Εξέλιξη
Βιοϋπολογιστές
14
Ιστορική Αναδρομή & Εξέλιξη
Βιοπληροφορική
15
Ιστορική Αναδρομή & Εξέλιξη
Γλωσσική τεχνολογία
16
Ιστορική Αναδρομή & Εξέλιξη
Κβαντικοί υπολογιστές
17
Ιστορική Αναδρομή & Εξέλιξη
Διαδίκτυο
18
Εφαρμογές Υπολογιστικών Συστημάτων
Εφαρμογές Υπολογιστικών Συστημάτων Εξομοιώσεις (simulation) Βιομηχανική παραγωγή Ιατρική διάγνωση Διάστημα Ρομποτική Στρατιωτικές εφαρμογές Business applications ………………………
19
Κατηγοριοποίηση Υπολογιστικών Συστημάτων
Ανάλογα µε τον τρόπο παράστασης πληροφοριών Aνάλογα µε τη χρήση τους Aνάλογα µε το είδος εφαρµογών Aνάλογα µε τα κριτήρια προδιαγραφών κατηγοριοποίησης, που αναφέρονται σε παράγοντες όπως: τρόπος εργασίας και τυπικές προδιαγραφές (floating.point, specs κτλ.), κεντρική µνήµη, «ρυθµο.απόδοση» (throughput)
20
Έννοιες προσωπικοί υπολογιστές [Personal Computers (PC)] είναι µικρού µεγέθους οικονοµικά µικροϋπολογιστικά συστήµατα διαθέσιµα για κάθε εργαζόµενο, που µπορεί να πάρει πληροφορίες από µεγαλύτερα συστήµατα και να αυξήσει σηµαντικά την προσωπική του παραγωγικότητα
21
Έννοιες «εξυπηρετητής» (server) είναι ένας ειδικός υπολογιστής που συντονίζει και προωθεί προγράµµατα ή δεδοµένα σε άλλους υπολογιστές µέλη (κόµβους) ενός δικτύου υπολογιστών σταθµοί εργασίας (workstations) είναι µικροϋπολογιστές µεγάλης υπολογιστικής ισχύος, που χρησιµοποιούνται συχνά είτε αυτόνοµα για παραγωγή γραφικών ή ως «εξυπηρετητές» σε ένα µικρό δίκτυο υπολογιστών
22
Χαρακτηριστικά Υπολογιστικών Συστημάτων
Η ταχύτητα: Η υψηλή ταχύτητα επεξεργασίας του υπολογιστή είναι ο κύριος παράγων που οδήγησε στη λύση πολύπλοκων επιστηµονικών προβληµάτων που ήταν αδύνατον να επιλυθούν στο παρελθόν. Η ικανότητα λήψης απαντήσεων αρκετά γρήγορα από τον υπολογιστή, έτσι ώστε ο χρήστης να έχει τον απαιτούµενο χρόνο για να ενεργήσει κατάλληλα, επιτρέπει τους υπολογισµούς σε «πραγµατικό χρόνο» (real time) Οι ηλεκτρικοί παλµοί ταξιδεύουν µε µεγάλες ταχύτητες και, επειδή οι υπολογιστές είναι ηλεκτρονικοί , η εσωτερική ταχύτητά τους αναφέρεται σε χρόνους της τάξης των microsecond, και 1 nanosecond και τελευταία picosecond
23
Χαρακτηριστικά Υπολογιστικών Συστημάτων
Μνήµη: Στους υπολογιστές η εσωτερική µνήµη της CPU είναι αρκετά µεγάλη, ώστε να χωρέσει ένα ορισµένο ποσό πληροφοριών, δηλαδή έχει καθορισµένα όρια Όλα τα υπόλοιπα απαιτούµενα δεδοµένα αποθηκεύονται σε βοηθητικές ή δευτερεύουσες µονάδες µνήµης (auxiliary or secondary storage devices) Μικρά τµήµατα από το σύνολο των δεδοµένων µπορούν να µεταφερθούν στην κύρια εσωτερική µνήµη, όπως και όταν απαιτηθεί για την επεξεργασία Η εσωτερική µνήµη (στην CPU) είναι εγκατεστηµένη σε ορισμένο αριθμό δοµηµένων µονάδων µνήµης.
24
Χαρακτηριστικά Υπολογιστικών Συστημάτων
Ακρίβεια: Σφάλµατα στους υπολογιστές είναι δυνατόν να συµβούν, αλλά λόγω της αυξανόµενης αποδοτικότητας στις τεχνικές που ανιχνεύουν σφάλµατα, αυτά σπάνια οδηγούν σε λανθασµένα αποτελέσµατα Τα σφάλµατα στους υπολογισµούς σε πολύ µεγάλο ποσοστό οφείλονται σε ανθρώπινες παρά τεχνολογικές αδυναµίες (ανακριβής λογική στον προγραµµατισµό, λανθασμένα δεδοµένα, ακατάλληλα σχεδιασµένα συστήµατα)
25
Χαρακτηριστικά Υπολογιστικών Συστημάτων
Λειτουργικότητα: Οι υπολογιστές µπορούν να εκτελέσουν κάθε είδους υπολογισμούς, µε την προϋπόθεση ότι η εργασία αυτή µπορεί να εκφραστεί με µία σειρά από πεπερασμένα λογικά βήµατα
26
Λειτουργίες Υπολογιστικών Συστημάτων
Ο υπολογιστής έχει σχετικά περιορισµένη λειτουργική ικανότητα και στην ουσία εκτελεί µόνον τέσσερις βασικές λειτουργίες: ανταλλάσσει πληροφορίες µε τον εξωτερικό χώρο µέσω των συσκευών εισόδου/εξόδου µετακινεί δεδοµένα εσωτερικά στη CPU εκτελεί βασικές αριθµητικές λειτουργίες εκτελεί λειτουργίες σύγκρισης
27
Λειτουργίες Υπολογιστικών Συστημάτων
28
Πληροφορική Ο όρος πληροφορική αναφέρεται στην επιστήµη και τις τεχνολογικές της εφαρμογές, η οποία πραγματεύεται την συλλογή, αποθήκευση, επεξεργασία και διανοµή δεδομένων µε την χρήση υπολογιστικών συστηµάτων
29
Πληροφορική Η Πληροφορική σήμερα: Εξελίσσεται ραγδαία
Βρίσκει εφαρμογές σχεδόν σε όλους τους τομείς Προσφέρει μεγάλη ποικιλία εξειδίκευσης Προσφέρει πολλές ευκαιρίες σταδιοδρομίας
30
Πληροφορική Η επιστήµη υπολογιστών θεωρείται από πολλούς ως η επιστήµη που ασχολείται µε διεργασίες δεδομένων, µε δοµές και διαδικασίες πληροφοριών που παριστάνουν τις προηγούµενες διεργασίες, και µε αντίστοιχες υλοποιήσεις σε συστήµατα επεξεργασίας πληροφοριών
31
Πληροφορική Το διαρκώς αυξανόµενο ενδιαφέρον για την επεξεργασία πληροφοριών οδήγησε στην ταχύτατη ανάπτυξη του ευρύτατου διεπιστηµονικού ερευνητικού πεδίου της πληροφορικής, που ενίοτε αναφέρεται και ως επιστήµη των πληροφοριών, και περιλαµβάνει διάφορους τοµείς.
32
Πληροφορική Η Πληροφορική απορρέει από (και σχετίζεται µε) Μαθηµατικά, Λογική, Επιχειρησιακή Έρευνα, Τεχνολογία Υπολογιστών, Γλωσσολογία, Ψυχολογία, Διαχείριση, Επικοινωνίες, Γραφικές Τέχνες και άλλους κλάδους»
33
Πληροφορική Τα βασικά ερευνητικά θέµατα πληροφορικής έχουν επικεντρωθεί στις ακόλουθες γενικές κατηγορίες προβληµάτων: αναζήτηση γενικευµένων και χρήσιµων προσδιορισµών και περιγραφή της φύσης των πληροφοριών µελέτη διεργασιών δηµιουργίας, µετάδοσης, µετασχηµατισµών, αποθήκευσης πληροφοριών κτλ. καθιέρωση κανόνων, θεωριών και γενικών αρχών που εξηγούν και επιτρέπουν την πρόγνωση πληροφοριακών φαινοµένων.
34
Γλώσσες Προγραμματισμού
Άλλες κατηγορίες γλωσσών υψηλού επιπέδου είναι: Αντικειμενοστραφείς γλώσσες (object -oriented languages) Συναρτησιακές γλώσσες (functional languages) π.χ. LISP Μη διαδικασιακές γλώσσες (non procedural languages) π.χ. PROLOG. Χαρακτηρίζονται επίσης και ως γλώσσες πολύ υψηλού επιπέδου. Γλώσσες ερωταπαντήσεων (query languages) π.χ. SQL.
35
Γλώσσες Προγραμματισμού
Γλώσσες προγραμματισμού συστημάτων (system programming languages) π.χ. C/C++. Γλώσσες τεχνητής νοημοσύνης (artificial intelligence languages) π.χ. LISP, PROLOG. Γλώσσες ειδικής χρήσης. Πρόκειται για γλώσσες που χρησιμοποιούνται σε ειδικές περιοχές εφαρμογών όπως π.χ. στα γραφικά με υπολογιστή, στη ρομποτική, στη σχεδίαση ολοκληρωμένων κυκλωμάτων, στα Συστήματα Διοίκησης Βάσεων Δεδομένων, στην εκπαίδευση μέσω υπολογιστή κ.α.
36
Συνιστώσες Υπολογιστικού Συστήματος
37
Aλγοριθμική-Προγραμματισμός Η/Υ
38
Υπολογιστικά προβλήματα
Υπολογιστικό πρόβλημα είναι κάθε πρόβλημα στο οποίο μας δίνονται κάποια δεδομένα και ζητείται να υπολογιστούν κάποια αποτελέσματα Μορφή υπολογιστικού προβλήματος: Δίνεται Να υπολογισθεί/βρεθεί/ελεγχθεί
39
Υπολογιστικά προβλήματα
Αριθμητικά παραδείγματα Παράδειγμα 1 Δίνεται ο ακέραιος αριθμός Χ Να υπολογισθεί η παράσταση Χ+2*Χ Παράδειγμα 2 Δίνονται οι ακέραιοι αριθμοί Χ,Υ Να υπολογισθεί η παράσταση Χ+2*Υ
40
Υπολογιστικά προβλήματα
Μη Αριθμητικά παραδείγματα Παράδειγμα 1 Δίνονται γράμματα Γ1 και Γ2 Να βρεθεί λέξη από Γ1 που να τελειώνει σε Γ2 Παράδειγμα 2 Δίνονται χάρτης Ζ και δύο σημεία του Χ,Υ Να βρεθεί διαδρομή στον Ζ από το Χ στο Υ
41
Αλγόριθμοι Ως συστηματική λύση ενός υπολογιστικού προβλήματος θεωρούμε κάθε ακολουθία σαφών βημάτων που μας οδηγεί από τα δεδομένα (όποιες τιμές και αν έχουν) στα αποτελέσματα που αντιστοιχούν σωστά στα δεδομένα.
42
Αλγόριθμοι Αλγόριθμος είναι η περιγραφή των βημάτων μιας διαδικασίας για την επίλυση ενός προβλήματος
43
Αλγόριθμοι Κάθε πρόβλημα επιδέχεται σχεδόν πάντα περισσότερες από μία λύσεις Κάθε λύση μπορεί να γραφεί στη μορφή πολλών διαφορετικών προγραμμάτων (π.χ. PYTHON, C++) Κάθε αλγόριθμος πρέπει ναέχει αρχή και τέλος σε πεπερασμένο αριθμό βημάτων
44
Αλγόριθμοι Κάθε αλγόριθμος πρέπει να χαρακτηρίζεται από ορθότητα δηλ. να δίνει σωστό αποτέλεσμα σε κάθε περίπτωση Κάθε ορθός αλγόριθμος χαρακτηρίζεται από την πολυπλοκότητα (βαθμό απλότητας) της λύσης που υλοποιεί
45
Αλγόριθμοι Πρόβλημα: ταξινόμηση 3 ακέραιων αριθμών Α1,Α2,Α3
Λύση 1: Σύγκριση συνεχώς των αριθμών ανά δύο και αντμετάθεση αν ε΄ναι σε αύξουσα σειρά Λύση 2:Βρες κάθε φορά τον μικρότερο αριθμό και τοποθέτησε τον 1ο στη σειρά των αριθμών που δεν έχουμε δει , μέχρι τέλους
46
Αλγόριθμοι Αλγόριθμος για την Λύση 1
(α) Σύγκρινε τον Α1 με τον Α2 και να δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους (β) Έπειτα, σύγκρινε τον Α2 με τον Α3 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους (γ) σύγκρινε τον Α1 με τον Α2 και αν δεν είναι σε αύξουσα σειρά αντιμετάθεσε τους
47
Αλγόριθμοι Αλγόριθμος για την Λύση 2
(α) Βρες τον μικρότερο από τους Α1, Α2 & Α3 και τοποθέτησε τον στη θέση του Α1, αλλάζοντας τη θέση του με αυτόν (β) Έπειτα, τον μικρότερο από τους Α2,Α3 και βάλε τον στη θέση του Α2 αλλάζοντας τη θέση του με αυτόν
48
Αλγόριθμοι Πρόγραμμα: αναπαράσταση αλγόριθμου σε γλώσσα κατανοητή από τον Η/Υ Μορφές περιγραφής κατανοητές από ανθρώπους - ψευδοκώδικας: αυστηρά δομημένη και συνεπής φυσική γλώσσα (υποσύνολο ελληνικής γλώσσας- λεξιλόγιο,συντακτκό, PASCAL-BNF-ALGOL,ονόματα μεταβλητών (με μικρούς λατινικούς χαρακτήρες)
49
Αλγόριθμοι Διάγραμμα ροής (flow chart): αυστηρά ορισμένο διάγραμμα με σχήματα και ενώσεις που ακολουθούν συγκεκριμένους κανόνες και σημαίνουν τα ίδιο πράγμα κάθε φορά
50
Σύμβολα Διαγράμματος Ροής
Αλγόριθμοι Σύμβολα Διαγράμματος Ροής
51
Αλγόριθμοι Παράδειγμα Διαγράμματος Ροής Υπολογισμός N! = (1*2*3…*N)
Αναπαράσταση ΕΑΝ..ΤΟΤΕ(ΑΛΛΙΩΣ)…. σε ψευδοκώδικα
52
Αλγόριθμοι Βασικοί κανόνες σύνταξης: ψευδοκώδικας-1ο μέρος
53
Αλγόριθμοι Βασικοί κανόνες σύνταξης: ψευδοκώδικας – 2ο μέρος
54
Αλγόριθμοι Ταξινόμηση 3 ακεραίων αριθμών (Λύση 1) σε ψευδοκώδικα
55
Αλγόριθμοι Χαρακτηριστικά Αλγόριθμου
56
Αλγόριθμοι Ανάλυση Αλγορίθμων
57
Αλγόριθμοι Παράδειγμα:
n:μέγεθος προβλήματος (που εξαρτάται από το πρόβλημα) Ταξινόμηση k αριθμών Μέγεθος προβλήματος k n=k
58
Δεδομένα Ένας αλγόριθμος λαμβάνει κάποια δεδομένα από την είσοδο, τα επεξεργάζεται μέσα από μια σειρά βημάτων και δίνει ως έξοδο τα αποτελέσματα Η θεωρία αλγορίθμων, μελετά τα δεδομένα κυρίως από τις σκοπιές του υλικού και των γλωσσών προγραμματισμού
59
Δεδομένα Στις γλώσσες προγραμματισμού, κάθε γλώσσα μπορεί να υποστηρίζει τη χρήση διαφόρων τύπων δεδομένων Κάθε γλώσσα έχει συγκεκριμένους τύπους δεδομένων, ενώ μπορούν να δημιουργηθούν νέοι τύποι ορισμένοι από το χρήστη
60
Δεδομένα
61
Προγραμματισμός Προγραμματισμός:διαδικασία επινόησης του αλγόριθμου και η σύνταξη του προγράμματος Πρόγραμμα: αλγόριθμος σε τυπική μορφή (δηλ. μορφή έτοιμη να μεταφραστεί σε μορφή κατανοητή από τον Η/Υ) Μετάφραση: compilation Εκτελέσιμο αρχείο: αλγόριθμος σε μορφή κατανοητή από τον Η/Υ
62
Προγραμματισμός
63
Προγραμματισμός Το σύνολο των γραμματικών & συντακτικών κανόνων που ακολουθούμε κατά τη συγγραφή ενός προγράμματος λέγεται γλώσσα προγραμματισμού (programming language) Η μετατροπή του προγράμαμτος σε εκτελέσιμο αρχείο λέγεται μετάφραση (compilation) Το ειδικό λογισμικό που επιτελεί την μετάφραση λέγεται μεταφραστής (compilation)
64
«προγραμματισμός + μετάφραση»
Προγραμματισμός Γενικά, η πορεία μέχρι το εκτελέσιμο αρχείο είναι πιο σύνθετη από την απλή ακολουθία «προγραμματισμός + μετάφραση» Είναι μια διαδικασία που αποτελείται από πολλά στάδια και ενδέχεται να μην τερματίσει ποτέ Η διαδικασία αυτή ονομάζεται κύκλος ανάπτυξης προγράμματος (program development cycle)
65
Προγραμματισμός Κύκλος ζωής λογισμικού
66
Case study-1
67
Case study-2 Μια ιδιωτική εταιρεία αποφάσισε να εφαρμόσει ενιαία πολιτική στη μισθοδοσία του προσωπικού της. Έτσι, ο βασικός μισθός είναι 1200 €. Για τους αποφοίτους ΑΕΙ/ΤΕΙ υπάρχει επίδομα 20% ενώ αν κάποιος διαθέτει μεταπτυχιακό τίτλο τότε το επίδομα σπουδών γίνεται 29%. Επιπρόσθετα, κάθε υπάλληλος λαμβάνει χρονοεπίδομα 15% επί του βασικού μισθού αν βρίσκεται μέχρι και 5 χρόνια στην εταιρεία, 25% αν βρίσκεται μέχρι και 15 χρόνια ενώ 35% αν εργάζεται περισσότερα από 15 χρόνια στην εταιρεία. Να αναπτύξετε αλγόριθμο που θα διαβάζει το όνομα του μισθωτού, το επίπεδο σπουδών (1. βασική εκπαίδευση, 2. ΑΕΙ/ΤΕΙ και 3. Μεταπτυχιακές σπουδές) καθώς και τα έτη υπηρεσίας και στη συνέχεια να υπολογίζει και να εκτυπώνει τις μηνιαίες αποδοχές του
68
UML Μοντελοποίηση
69
Εισαγωγή στην UML UML = Unified Modeling Language
Ενοποιημένη Γλώσσα Μοντελοποίησης Μοντέλο: Μια αφαίρεση (απλούστευση) της πραγματικότητας – εστιάζει στα σημαντικά, κρύβει τις άσχετες πλευρές και τις δευτερεύουσας σημασίας λεπτομέρειες Γιατί μοντελοποιούμε; – Ένα μοντέλο μας επιτρέπει την καλύτερη κατανόηση ενός συστήματος – Συνήθως φτιάχνουμε μοντέλα σύνθετων συστημάτων τα οποία δεν μπορούμε να κατανοήσουμε στην πληρότητα τους (ένεκα των περιορισμένων μας αντιληπτικών και διανοητικών ικανοτήτων) – Μοντελοποιώντας περιορίζουμε το πρόβλημα εστιάζοντας σε επιμέρους πλευρές του συστήματος (διαίρει και βασίλευε) και κλίμακες αφαίρεσης.
70
Εισαγωγή στην UML Η επιλογή του τύπου μοντέλου καθορίζει τον τρόπο μελέτης του συστήματος και τη μορφή της λύσης που θα επιτευχθεί • Κάθε μοντέλο μπορεί να παρασταθεί σε διαφορετικά επίπεδα ακρίβειας Καλά μοντέλα είναι εκείνα που συνδέονται με την πραγματικότητα Κανένα μοντέλο από μόνο του δεν είναι επαρκές. Κάθε μη τετριμμένο σύστημα προσεγγίζεται καλύτερα από ένα (σχετικά μικρό) σύνολο ανεξάρτητων μοντέλων από διαφορετικές σκοπιές
71
Εισαγωγή στην UML Υψηλού επιπέδου
Επιχειρηματικές ανάγκες Αναλυτική καταγραφή συγκεκριμένων απαιτήσεων Καθορισμός απαιτήσεων Επόμενο βήμα Μοντελοποίηση συστήματος Λειτουργκή/δομική/ συμπεριφοράς
72
Εισαγωγή στην UML Διάδοχος των μεθόδων αντικειμενοστρεφούς ανάλυσης και σχεδίασης (object-oriented analysis and design) Ενοποιεί τις μεθόδους του – Booch – Rumbaugh (OMT) – Jacobson Πλέον είναι πρότυμο OMG (Object Management Group standard)
73
Εισαγωγή στην UML 1980 C++ Jim Rumbaugh and G. Booch => Rational Software 1996: The 3 amigos (James Rumbaugh, Grady Booch, Ivar Jacobson) UML Version 1.1 Became OMG standard UML 2.0 UML 3.0
74
Εισαγωγή στην UML Σκοπός UML
75
Εισαγωγή στην UML
76
Εισαγωγή στην UML
77
Εισαγωγή στην UML Άλλα προβλήματα των τυπικών μεθόδων:
Συχνά η ουσία «χάνετε» εν μέσω δευτερεύουσας σημασίας (για το πρόβλημα που μελετάμε) λεπτομέρειες. Οι περιγραφές που προκύπτουν κατανοούνται δύσκολα και η διαχείριση τους είναι εξίσου δύσκολη
78
Εισαγωγή στην UML
79
Εισαγωγή στην UML Η ανάπτυξη λογισμικού έχει ως στόχο την παραγωγή εκτελέσιμου κώδικα Γιατί να χρησιμοποιήσουμε UML; Οι 3 κυριότεροι λόγοι - Επικοινωνία - Εκμάθηση Αντικειμενοστρεφισμού - Επικοινωνία με τους ειδικούς του πεδίου εφαρμογής
80
Εισαγωγή στην UML Θεμελιώδης λόγος για χρήση της UML
Η καλή επικοινωνία μεταξύ των εμπλεκομένων σε ένα έργο αποτελεί καθοριστικό παράγοντα για την έκβαση του Η UML υπερτερεί στο θέμα αυτό από άλλες εναλλακτικές – Φυσική Γλώσσα (ασάφειες), Κώδικας (υπερβολικά λεπτομερής, δεν προσφέρει εποπτική εικόνα), Τυπικές Μέθοδοι (δυσχρηστες)
81
Εισαγωγή στην UML Η UML 2.0 ορίζει 14 διαγραμματικές τεχνικές για τη μοντελοποίηση ενός συστήματος. Λειτουργική – Περιπτώσεων Χρήσης (Use Case), Δραστηριοτήτων (Activity), Δομή – Κλάσεων (Class) , Αντικειμένων (Object), Πακέτων (Package), Παράταξης (Deployment) , Εξαρτημάτων (Component) , Σύνθετης Δομής (Composite Structure) Συμπεριφορά – Sequence (Αλληλουχίας), Επικοινωνίας (Communication), Χρονισμού(Timing), Καταστάσεων (State), Interaction Overview, Protocol State Machine
82
Εισαγωγή στην UML UML 2.0 Περιγράφουν τη δυναμική δομή του συστήματος
Διάγραμμα Περιπτώσεων Χρήσης (Use case diagram) Διάγραμμα Δραστηριοτήτων (Activity diagram) Διάγραμμα Ακολουθίας (Sequence diagram) Διάγραμμα Συνεργασίας (Collaboration diagram) Διάγραμμα Καταστάσεων (Statechart diagram)
83
Εισαγωγή στην UML Ένα διάγραμμα κλάσεων δείχνει την στατική δομή των κλάσεων του συστήματος και των σχέσεων μεταξύ τους Ένα διάγραμμα κλάσεων συνήθως αποτελείται από: Κλάσεις (classes) Διαπροσωπίες (interfaces) Συνεργασίες (collaborations) Συσχετίσεις (relationships)
84
Εισαγωγή στην UML Τα διαγράμματα αντικειμένων περιγράφουν ένα σύνολο αντικειμένων καθώς και την σχέσεις τους μια δεδομένη χρονική στιγμή Ένα διάγραμμα αντικειμένων συνήθως περιέχει Αντικείμενα (objects) και Συνδέσμους (Links) Τα διαγράμματα αντικειμένων χρησιμοποιούνται για να καταγράψουν στατικές δομές αντικειμένων είναι ένα στιγμιότυπο του διαγράμματος κλάσεων Η στατική όψη ενός διαγράμματος συνεργασίας
85
Εισαγωγή στην UML Οι περιπτώσεις χρήσης περιγράφουν την δυναμική συμπεριφορά του συστήματος Δείχνουν το πως οι χειριστές χρησιμοποιούνε το σύστημα Αποτελούνε το σημείο αναφοράς μια και χρησιμοποιούνται για να καθοδηγήσουν την ανάπτυξη του συστήματος σε όλες τις φάσεις ανάπτυξης Τα διαγράμματα περιπτώσεων χρήσης περιέχουν Περιπτώσεις χρήσης (use cases) Χειριστές (actors) και Συσχετίσεις Είναι το βασικότερο είδος διαγράμματος της UML
86
Εισαγωγή στην UML Ποια διαγράμματα να χρησιμοποιήσω…
H UML είναι γλώσσα και μπορείς να περιγράψεις ένα σύστημα με πολλούς τρόπους Η UML δεν ορίζει πια διαδικασία να ακολουθήσουμε Μερικά από τα διαγράμματα είναι ισοδύναμα Τα διαγράμματα περιγράφουν το σύστημα από διαφορετικές οπτικές γωνίες (views) Η γλώσσα είναι δυναμική και σου επιτρέπει να χρησιμοποιήσεις – φτιάξεις την δική σου διάλεκτο
87
Εισαγωγή στην UML
88
Εισαγωγή στην UML Σκοπός της UML δεν είναι να φτιάξουμεόμορφα διαγράμματα αλλά να προδιαγράψουμε το σύστημα Σκοπός μας είναι να κατασκευάσουμε το σύστημα και όχι τα διαγράμματα Δεν είναι σημαντικό ποιο είδος διαγραμμάτων θα χρησιμοποιήσουμε Μερικά διαγράμματα χρησιμοποιούνται κατά τη διάρκεια της ανάπτυξης του συστήματος και όχι ως τελικά παραδοτέα
89
Εισαγωγή στην UML Η UML έχει εννιά διαφορετικά είδη διαγραμμάτων το καθένα εκ των οποίων περιγράφει μια διαφορετική συμπληρωματική όψη του συστήματος Η στατική δομή περιγράφεται με τα διαγράμματα κλάσεων, αντικειμένων, στοιχείων, διάταξης Η δυναμική δομή περιγράφεται με τα διαγράμματα περιπτώσεων χρήσης, δραστηριοτήτων,ακολουθίας, συνεργασίας, καταστάσεων Τα πιο βασικά και συχνά χρησιμοποιούμενα διαγράμματα στην UML είναι τα παρακάτω: τα διαγράμματα κλάσεων τα διαγράμματα περιπτώσεων χρήσης τα διαγράμματα συνεργασίας
90
Εισαγωγή στην UML Print HelloWorld 1. O χρήστης ξεκινά έναν πλοηγητή του ιστού 2. Πληκτρίζει τη διεύθυνση 3. Ο πλοηγητής εμφανίζει στην οθόνη τη φράση “HelloWorld!
91
Διάγραμμα Περιπτώσεων Χρήσης
Εισαγωγή στην UML Διάγραμμα Περιπτώσεων Χρήσης Σχέσεις ανάμεσα σε περιπτώσεις χρήσης
92
Εισαγωγή στην UML Σχέσεις μεταξύ actors
93
Σας ευχαριστώ για την προσοχή σας…
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.