Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

Σχετικά έγγραφα
Μηχανολογικό Σχέδιο Ι

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Διδακτική της Πληροφορικής

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στους Αλγορίθμους

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

Εισαγωγή στους Αλγορίθμους

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Δομές Δεδομένων Ενότητα 1

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Μάρκετινγκ Αγροτικών Προϊόντων

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Μηχανολογικό Σχέδιο Ι

Διοικητική Λογιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εισαγωγή στους Αλγορίθμους

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Διδακτική της Πληροφορικής

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

Ιστορία της μετάφρασης

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Εκκλησιαστικό Δίκαιο

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Μηχανολογικό Σχέδιο Ι

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Εκκλησιαστικό Δίκαιο

Κβαντική Επεξεργασία Πληροφορίας

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

Διοίκηση Επιχειρήσεων

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

Βάσεις Περιβαλλοντικών Δεδομένων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

Διδακτική της Περιβαλλοντικής Εκπαίδευσης

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 3

Ψηφιακή Επεξεργασία Εικόνων

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Διδακτική της Πληροφορικής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Μηχανολογικό Σχέδιο Ι

Διοικητική Λογιστική

Ατμοσφαιρική Ρύπανση

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Κβαντική Επεξεργασία Πληροφορίας

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εφαρμογές της Πληροφορικής στην Εκπαίδευση

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Μηχανολογικό Σχέδιο Ι

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

Παιδαγωγική ή Εκπαίδευση ΙΙ

Μάρκετινγκ Αγροτικών Προϊόντων

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Εφηρμοσμένη Θερμοδυναμική

Εισαγωγή στις Επιστήμες της Αγωγής

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

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

Βέλτιστος Έλεγχος Συστημάτων

Παιδαγωγικά. Ενότητα Β: Γενικοί σκοποί της διδασκαλίας και διδακτικοί στόχοι. Ζαχαρούλα Σμυρναίου Σχολή Φιλοσοφίας Τμήμα Παιδαγωγικής και Ψυχολογίας

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό Ενότητα 9: Αρχιτεκτονική Λογισμικού, Όψεις Αρχιτεκτονικής Λογισμικού, Διαγράμματα UML Σταύρος Δημητριάδης

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Λογισμικού, Όψεις Αρχιτεκτονικής Λογισμικού, Διαγράμματα UML

Περιεχόμενα ενότητας 1. Αρχιτεκτονική Λογισμικού (Software Architecture 2. Όψεις Αρχιτεκτονικής Λογισμικού (Software Architecture Views) 3. Διαγράμματα UML (UML Diagrams) - Διαγράμματα Περίπτωσης Χρήσης (Use Case Diagrams) 5

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική λογισμικού Software architecture Η αρχιτεκτονική λογισμικού είναι η οργάνωση και περιγραφή της δομής ενός λογισμικού σε υψηλότερο επίπεδο αφαίρεσης, τονίζοντας: Δομή: τα επιμέρους στοιχεία λογισμικού από τα οποία αποτελείται το σύστημα Επικοινωνία: τις μεταξύ τους αλληλεπιδράσεις (πχ. ροή δεδομένων, αποφάσεις, κλπ.) Χαρακτηριστικά: καθώς και πρότυπα και περιορισμούς που αφορούν τα στοιχεία αυτά. 7

Γιατί σχεδιάζουμε την Αρχιτεκτονική ενός λογισμικού; Αναπαριστούμε τα σημαντικά στοιχεία του λογισμικού σε υψηλό επίπεδο αφαίρεσης χωρίς να ανησυχούμε για λεπτομέρειες Τονίζουμε την επικοινωνία των στοιχείων μεταξύ τους (είσοδος, έξοδος, κλπ.) Κατανοούμε τη γενική λειτουργία του λογισμικού και τις υπηρεσίες που προσφέρει Τονίζουμε τις βασικές αποφάσεις που παίρνουν οι δημιουργοί του λογισμικού κατά τη σχεδίασή του 8

Τι σχεδιάζουμε όταν σχεδιάζουμε την αρχιτεκτονική ενός λογισμικού; Συνηθισμένη πρακτική είναι να σχεδιάζουμε άτυπα (informally): Blocks: που δηλώνουν κάποιες «οντότητες» του λογισμικού όπως Τμήματα (components) λογισμικού, Κλάσεις (classes), κλπ. Συνδέσεις (connectors): που δηλώνουν επικοινωνία (μεταφορά δεδομένων) και γενικά σχέσεις αλληλεπίδρασης μεταξύ των στοιχείων του λογισμικού Εικόνα 1 9

Τι σχεδιάζουμε όταν σχεδιάζουμε την αρχιτεκτονική ενός λογισμικού; Μπορεί να χρησιμοποιούμε Επίπεδα Χρώμα Εικονίδια Βέλη, Γραμμές.. Εικόνα 2 10

Ή απλά με το χέρι Εικόνα 3 11

Μπορεί να σχεδιάζουμε απλά αναπαριστώντας λίγα στοιχεία Εφόσον απεικονίζουμε στοιχεία υλικού ή συνδυάζουμε υλικό και λογισμικό που συναποτελούν ένα τεχνολογικό σύστημα, μιλάμε γενικότερα για αρχιτεκτονική συστήματος (system architecture) Memory Von Neumann Machine Control unit Processor Arithmentic logic unit Accumulator Input Output 12

Η μπορεί να σχεδιάζουμε σύνθετα περιλαμβάνοντας πλήθος στοιχείων Εικόνα 4 13

Άτυπη σχεδίαση Η αρχιτεκτονική ενός συστήματος μπορεί να σχεδιαστεί άτυπα, δηλ. χωρίς τη χρήση κάποιου τυπικού (formal) τρόπου («γλώσσας») αναπαράστασης Κόμβοι (blocks): συνήθως αναφέρονται σε τμήματα (components) του λογισμικού ή επίπεδα (layers) της αρχιτεκτονικής Σύνδεσμοι (βέλη): δηλώνουν ροή δεδομένων μεταξύ των κόμβων/επιπέδων που συνδέουν Μπορεί ακόμη να χρησιμοποιούνται διάφορα εικονίδια για να δηλωθούν χρήστες, βάση δεδομένων, κλπ. 14

Άτυπη σχεδίαση Presentation Layer Business Logic Layer Data Access Layer Data Source 15

Άτυπη σχεδίαση Εικόνα 5 16

Άτυπη σχεδίαση Εικόνα 6 17

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Όψεις Αρχιτεκτονικής Λογισμικού

Τυπική αναπαράσταση αρχιτεκτονικής - Περιλαμβάνει: (α) Γλώσσα τυπικής μοντελοποίησης, δηλ. αναπαράστασης της αρχιτεκτονικής ώστε να χρησιμοποιούμε και να κατανοούμε μια κοινή γλώσσα UML, Unified Modeling Language (β) Ένα μοντέλο σχετικά με τις διάφορες όψεις της αρχιτεκτονικής ενός συστήματος ώστε να έχουμε μια κοινή κατανόηση για τις διαφορετικές όψεις (views) αρχιτεκτονικής ενός συστήματος που μπορούμε να σχεδιάσουμε Πχ. λογική αρχιτεκτονική, φυσική αρχιτεκτονική, κλπ. Μοντέλο 4+1 19

Τι είναι η UML (1/2) UML: Unified Modeling Language Ενοποιημένη Γλώσσα Σχεδιασμού /Μοντελοποίησης Είναι μια γραφική γλώσσα για την οπτική παράσταση, τη διαμόρφωση προδιαγραφών και την τεκμηρίωση συστημάτων που βασίζονται σε λογισμικό. Η UML στοχεύει στο σχεδιασμό αντικειμενοστρεφών συστημάτων. Το σχέδιο είναι μια απλοποιημένη παράσταση της πραγματικότητας. Σχεδιάζουμε για να μπορέσουμε να καταλάβουμε το σύστημα που αναπτύσσουμε. 20

Τι είναι η UML (2/2) Δημιουργώντας ένα σχέδιo επιτυγχάνουμε τέσσερις στόχους: 1. παριστάνουμε οπτικά το σύστημα που έχουμε ή θέλουμε να κατασκευάσουμε, 2. προσδιορίζουμε τη δομή και τη συμπεριφορά του συστήματος, 3. δημιουργούμε ένα πρότυπο για να βασίσουμε την κατασκευή του συστήματος, 4. τεκμηριώνουμε τις αποφάσεις που λάβαμε. Η UML περιλαμβάνει τρία βασικά στοιχεία: Οντότητες (, δηλ. στοιχεία που περιλαμβάνει το σύστημά μας) Σχέσεις (μεταξύ των οντοτήτων του συστήματος) Διαγράμματα (που αναπαριστούν οντότητες & τις σχέσεις τους) 21

Όψεις αρχιτεκτονικής: το μοντέλο 4+1 Υπάρχουν διάφοροι τρόποι (όψεις) να αναπαρασταθεί η αρχιτεκτονική ενός συστήματος λογισμικού Κάθε όψη (view) παρουσιάζει και τονίζει στοιχεία της αρχιτεκτονικής από διαφορετική οπτική εξυπηρετώντας διαφορετικές ανάγκες αναπαράστασης Εικόνα 7 Σχεδίασης ή Λογική Design or Logical Υλοποίησης Implementation Διεργασιών Process Ανάπτυξης ή Φυσική Deployment or Physical +1 Use Cases (Περιπτώσεις Χρήσης) 22

Σχεδίασης ή Λογική όψη Σχεδίασης ή Λογική όψη (Design or Logical view) Αποτυπώνει τις λειτουργίες που το σύστημα προσφέρει στον τελικό χρήστη Διαγράμματα UML που χρησιμοποιούνται για τη λογική όψη: Class diagram, Communication diagram, Sequence diagram 23

Παράδειγμα Διάγραμμα UML κλάσεων για την αναπαράσταση μιας Λογικής όψης της αρχιτεκτονικής ενός συστήματος Απεικονίζει τις κλάσεις του λογισμικού Εικόνα 8 24

Ανάπτυξης ή Φυσική όψη Ανάπτυξης ή Φυσική όψη (Deployment or Physical view) Αποτυπώνει το σύστημα από την πλευρά του μηχανικού (system engineer). Αναπαριστά την τοπολογία των τμημάτων λογισμικού σε φυσικό επίπεδο και τις μεταξύ τους συνδέσεις UML διαγράμματα: Deployment diagram 25

Παράδειγμα Διάγραμμα UML ανάπτυξης (deployment) Για την αναπαράσταση της φυσικής όψης της αρχιτεκτονικής ενός συστήματος Εικόνα 9 26

Όψη διεργασιών Όψη διεργασιών (Process view) Αφορά τη δυναμική συμπεριφορά του συστήματος (δηλ. συμπεριφορά κατά την ώρα λειτουργίας του) (runtime behavior) Αναπαριστά τις διεργασίες (processes) του συστήματος και την μεταξύ τους επικοινωνία UML διαγράμματα: Activity diagram 27

Παράδειγμα Εικόνα 10 28

Όψη Υλοποίησης Παρουσιάζει το σύστημα από την οπτική του προγραμματιστή και εστιάζει στη διαχείριση (management) του λογισμικού Συνηθισμένος τρόπος παρουσιάσης με χρήση UML διαγράμματος Τμημάτων (Component diagram) για την παρουσίαση των τμημάτων του συστήματος 29

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Διαγράμματα UML Διαγράμματα Περιπτώσεων Χρήσης Use case Diagrams

UML 2.x Διαγράμματα Εικόνα 10 31

Γενικές κατηγορίες UML διαγραμμάτων Διαγράμματα δομής (Structure diagrams) Παρουσιάζουν τα σημαντικά στοιχεία της δομής του λογισμικού (ή γενικότερα του τεχνολογικού συστήματος). Χρησιμοποιούνται συχνότατα για την αναπαράσταση της αρχιτεκτονικής ενός λογισμικού. Διαγράμματα συμπεριφοράς (Behavior diagrams) Τονίζουν το τι πρέπει να συμβαίνει στο λογισμικό (τεχνολογικό σύστημα) κατά τη διάρκεια της λειτουργίας του. Χρησιμοποιούνται συνηθέστατα για την περιγραφή των λειτουργιών ενός συστήματος 32

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Διαγράμματα Περιπτώσεων Χρήσης Use case Diagrams

Διαγράμματα Περιπτώσεων Χρήσης (Use Case Diagrams) Τα διαγράμματα περιπτώσεων χρήσης αναπαριστούν τι υπηρεσίες προσφέρει το σύστημα σε κάποιον χρήστη του συστήματος (δηλ. τι κάνει το σύστημα και όχι το πώς το κάνει). Περίπτωση Χρήσης: Μια Περίπτωση Χρήσης (Use Case) είναι μια αλληλουχία ενεργειών που εκτελεί το λογισμικό αλληλεπιδρώντας με το χρήστη ή με εξωτερικά συστήματα, προκειμένου να ικανοποιήσει μία λειτουργική απαίτηση Ένα διάγραμμα περίπτωσης χρήσης προκύπτει αναλύοντας σενάρια χρήσης του συστήματος, δηλ. αναλύοντας περιπτώσεις για το πώς χρησιμοποιείται το σύστημα από τους πιθανούς χρήστες. 34

Παράδειγμα-1: Διάγραμμα Περιπτώσεων Χρήσης για ένα σύστημα διαχείρισης συναντήσεων σε κλινική Σενάριο: Ένας ασθενής ζητά ένα ραντεβού για εξετάσεις σε μια κλινική. Ο χειριστής του συστήματος βρίσκει την πλησιέστερη διαθέσιμη ημερομηνία και προγραμματίζει την επίσκεψη Αναπαράσταση σε διάγραμμα περιπτώσεων χρήσης: Τι περιλαμβάνει το διάγραμμα: communication actor Make Appointment Patient use case Actor (δράστης, χειριστής, χρήστης): ο χρήστης του συστήματος Σχέση επικοινωνίας (communication): δηλώνει τη διάδραση χρήστη-συστήματος Περίπτωση χρήσης (Use case): δηλώνει τη λειτουργία που προσφέρει το σύστημα στον χρήστη 35

Παράδειγμα-2: Διάγραμμα Περιπτώσεων Χρήσης ΤΕΧΝΟΛΟΓΙΚΟ ΣΥΣΤΗΜΑ Cancel Appointment Scheduler Make Appointment Patient Request Medication Doctor Pay Bill Clerk Ποιοι είναι οι χρήστες; Ποιες είναι οι περιπτώσεις χρήσης για τον κάθε χρήστη; 36

Παράδειγμα-3: Διάγραμμα Περιπτώσεων Χρήσης Ποιοι είναι οι χρήστες; Ποιες είναι οι περιπτώσεις χρήσης για τον κάθε χρήστη; 37

Παράδειγμα-4: Διάγραμμα Περιπτώσεων Χρήσης ΑΤΜ Ποιοι είναι οι χρήστες; Ποιες είναι οι περιπτώσεις χρήσης για τον κάθε χρήστη; Εικόνα 11 38

Παράδειγμα-5: Διάγραμμα Περιπτώσεων Χρήσης Online Βιβλιοθήκης Ποιοι είναι οι χρήστες; Ποιες είναι οι περιπτώσεις χρήσης για τον κάθε χρήστη; Εικόνα 12 39

Παράδειγμα-6: Διάγραμμα Περιπτώσεων Χρήσης CMS (Content Management System) Ποιοι είναι οι χρήστες; Ποιες είναι οι περιπτώσεις χρήσης για τον κάθε χρήστη; Εικόνα 13 40

Πρόσθετες σχέσεις σε Διάγραμμα Περιπτώσεων Χρήσης Εικόνα 14 41

Γενίκευση - Generalization Generalization (γενίκευση): δηλώνει ότι κάποια περίπτωση χρήσης (ο «κόμβοςπαιδί») είναι απλά ειδική περίπτωση μιας γενικότερης (του «κόμβου-γονέα») Δήλωση με: συνεχή γραμμή με λευκό τριγωνικό βέλος προς το κόμβο-γονέα Εικόνα 14 Εξηγείστε τη σχέση γενίκευσης στο παραπάνω διάγραμμα 42

Συμπερίληψη - Include Include (συμπερίληψη): δηλώνει ότι μια περίπτωση χρήσης περιλαμβάνεται μέσα σε μια άλλη (και επομένως εκτελείται πάντα όταν εκτελείται η δεύτερη) Δήλωση με: διακεκομμένη γραμμή βέλους που δείχνει στην περίπτωση χρήσης που περιλαμβάνεται Χρησιμοποιείται η λέξη-ένδειξη <<include>> στα ελληνικά <<περιλαμβάνεται>> Εικόνα 14 Εξηγείστε τη σχέση συμπερίληψης στο παραπάνω διάγραμμα 43

Επέκταση - Extend Extend (επέκταση): δηλώνει ότι μια περίπτωση χρήσης είναι διαφορετική εκδοχή μιας άλλης (και μπορεί να υλοποιηθεί στη θέση της άλλης, δηλ. επεκτείνει την άλλη) Δήλωση: με τη λέξη <<extend>> Το διακεκομμένο βέλος δείχνει από την περίπτωση επέκτασης προς την βασική περίπτωση Μέσα στη βασική περίπτωση γράφουμε πότε γίνεται η αντικατάσταση με την περίπτωση επέκτασης Εικόνα 14 Εξηγείστε τη σχέση επέκτασης στο παραπάνω διάγραμμα 44

Παράδειγμα-7: Πρόσθετες σχέσεις σε Διάγραμμα Περιπτώσεων Χρήσης Ποιες είναι οι πρόσθετες περιπτώσεις χρήσης και σχέσεις στο διάγραμμα αυτό; Τι δηλώνουν; Εικόνα 15 45

Παράδειγμα-8: Πρόσθετες σχέσεις σε Διάγραμμα Περιπτώσεων Χρήσης Ποιες είναι οι πρόσθετες περιπτώσεις χρήσης και σχέσεις στο διάγραμμα αυτό; Τι δηλώνουν; Εικόνα 16 46

Άσκηση-1 Δημιουργήστε διαγράμματα περιπτώσεων χρήσης (σκεφθείτε και σχεδιάστε και πρόσθετες σχέσεις) για το λογισμικό με τις παρακάτω λειτουργίες: Λογισμικό εξάσκησης με ερωτήσεις πολλαπλών επιλογών Μαθητής: Επιλέγει την ενότητα που τον ενδιαφέρει Απαντά στο ερωτηματολόγιο Βλέπει τα αποτελέσματά του (σκορ) Δάσκαλος: Εισάγει στη ΒΔ τις ερωτήσεις Επιλέγει κάποιες από αυτές και τις οργανώνει σε ερωτηματολόγιο Βλέπει τα αποτελέσματα (σκορ) των μαθητών 47

Άσκηση-2 Δημιουργήστε διαγράμματα περιπτώσεων χρήσης (σκεφθείτε και σχεδιάστε και πρόσθετες σχέσεις) για το λογισμικό με τις παρακάτω λειτουργίες: Εκπαιδευτικό λογισμικό πολυμέσων Μαθητής: Επιλέγει την ενότητα που θα παρακολουθήσει Διαδρά με το σύστημα απαντώντας σε ερωτηματολόγια ελέγχου γνώσης Τυπώνει σελίδες Αποθηκεύει εικόνες ή άλλο υλικό κλπ. Δάσκαλος: Επιλέγει ενότητα Οργανώνει ερωτηματολόγια Δημιουργεί δικούς του κόμβους προσθέτοντας υλικό στη ΒΔ 48

Περιεχόμενα Διαλέξεων Αρχιτεκτονική Λογισμικού (Software Architecture Όψεις Αρχιτεκτονικής Λογισμικού (Software Architecture Views) Διαγράμματα UML (UML Diagrams) - Διαγράμματα Περίπτωσης Χρήσης (Use Case Diagrams) 49

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες Εικόνα 1. Software Architecture: Execution View - Coronet, http://coronet.iicm.tugraz.at/sa/s5/sa_execution.html Εικόνα 2. What is a Software Architecture Document and how would you build it?, https://aspguy.wordpress.com/ Εικόνα 3. How to Prepare for (and Ace) the Technical Interview, http://www.cio.com/article/2383000/careers-staffing/howto-prepare-for--and-ace--the-technical-interview.html Εικόνα 4. An architecture diagram for the proposed system, http://www.20thcpaint.org/activities.jsp?menu=5&subpage=team4 Εικόνα 5. Di Bitonto, P. (2010). Multi-agent architecture for retrieving and tailoring LOs in SCORM compliant distance learning environments. Εικόνα 6. De Bra, P., Aroyo, L., & Chepegin, V. (2006). The next big thing: Adaptive web-based systems. Journal of Digital Information, 5(1). Εικόνα 7. P. Kruchten (1995). The 4+1 View Model of Architecture. In IEEE Software, vol. 12, no. 6, November 1995, pp. 42-50, IEEE. Εικόνα 8. Introduction to UML, http://www.openloop.com/softwareengineering/uml/overview/ Εικόνα 9. Deployment diagram, https://en.wikipedia.org/wiki/deployment_diagram Εικόνα 10. Activity diagram, https://en.wikipedia.org/wiki/activity_diagram Εικόνα 11. Hierarchy of UML 2.2 Diagrams, shown as a class diagram, https://en.wikipedia.org/wiki/unified_modeling_language Εικόνα 12. UML Use Case Diagram Examples, http://www.uml-diagrams.org/use-case-diagrams-examples.html Εικόνα 13. UML Use Case Diagram Examples, http://www.uml-diagrams.org/use-case-diagrams-examples.html Εικόνα 14. Mengenal Use Case Diagram, http://nickizoner.blogspot.gr/2013/06/mengenal-use-case-diagram.html Εικόνα 15. UML Use Case Diagram Examples, http://www.uml-diagrams.org/use-case-diagrams-examples.html Εικόνα 16. Use Case Diagram, https://en.wikibooks.org/wiki/introduction_to_software_engineering/uml/introduction

Σημείωμα Αναφοράς Copyright, Σταύρος Δημητριάδης. «Θεωρίες Μάθησης. Βασικές Έννοιες & Ορισμοί». Έκδοση: 1.0. Θεσσαλονίκη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: http://eclass.auth.gr/courses/ocrs416/

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά - Μη Εμπορική Χρήση - Όχι Παράγωγα Έργα 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο [1] http://creativecommons.org/licenses/by-nc-nd/4.0/

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Τέλος ενότητας Επεξεργασία: <Τέγος Στέργιος> Θεσσαλονίκη, <Εαρινό εξάμηνο 2014-2015>

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σημειώματα

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.