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

Σχετικά έγγραφα
Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 5/12/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

UML: Unified modelling language

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

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

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

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

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

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Μέθοδοι μοντελοποίησης

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

Εισαγωγή στη γλώσσα UML

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

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

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

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

Τι είναι η UML. H UML (Unified Modeling Language) είναι µιά γλώσσα µοντελοποίησης γιά

Εισαγωγή στη UML. Περιεχόμενα. Γενικά χαρακτηριστικά. Στοιχεία μοντέλων. Συσχετίσεις. Διαγράμματα. Παραδείγματα. Γλώσσες Προδιαγραφής 1

Τα διαγράµµατα συστατικών

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec06 (Εργαστήριο) 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

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

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

Εισαγωγή στη UML ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ 1

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

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

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

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

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

Tεχνολογία Λογισµικού II

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού

Τεχνολογία λογισμικού στην πράξη

Το λειτουργικό σύστημα. Προγραμματισμός II 1

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

Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής

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

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

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού

Ανάλυση Περιπτώσεων Χρήσης

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ. Έννοιες-κλειδιά. Σύνοψη

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων. Εισαγωγή στην UML. Βασίλειος Βεσκούκης

Διαγράμματα περιπτώσεων χρήσης

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Ανάλυση Πληροφοριακών Συστημάτων. «Εισαγωγή στην UML» Βασίλειος Καρακόιδας

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

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

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

UML

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

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

Rational Unified Process:

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 28/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Interaction Diagrams Διαγράμματα Αλληλεπίδρασης

Introduction to Object-Oriented Analysis and Design

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Περιεχόμενα και Διάρθρωση. Interaction Diagrams

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Μαλούτα Θεανώ Σελίδα 1

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

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

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Λογισμικό - Προγράμματα

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

Αντικειμενοστρεφής Προγραμματισμός

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ενότητα 1 η : Ανάπτυξη Λογισμικού & Προγραμματισμός

Transcript:

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 3/12/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr

Physical Diagrams Διαγράμματα Υλοποίησης

Διαγράμματα UML Διάγραμμα περιπτώσεων χρήσης (use case diagram) Διάγραμμα κλάσεων (class diagram) Διάγραμμα αντικειμένων (object diagram) Διάγραμμα καταστάσεων (state diagram) Διάγραμμα δραστηριοτήτων (activity diagram) Διαγράμματα αλληλεπίδρασης (interaction diagrams) Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα επικοινωνίας (communication diagram) Διαγράμματα υλοποίησης (physical diagrams) Διάγραμμα συστατικών (component diagram) Διάγραμμα ανάπτυξης (deployment diagram)

Άξονες Μοντελοποίησης Λειτουργικότητα functionality Τι κάνει το σύστημα; Ποιες λειτουργίες υποστηρίζει; Ανάλυση απαιτήσεων Περιγραφές από κείμενο Στατικά διαγράμματα Πώς είναι οργανωμένα τα συστατικά του τμήματα; Δυναμική συμπεριφορά Πώς ανταποκρίνεται και από ποιες καταστάσεις περνάει; Δομή structure Συμπεριφορά behaviour

Κατηγοριοποίηση Διαγραμμάτων UML 2.0

Μέχρι τώρα λογική αρχιτεκτονική... Μελετά κυρίως τη λειτουργικότητα του συστήματος και πώς αυτή αναπτύσσεται Περιέχει τη λογική της εφαρμογής κι όχι τη φυσική διανομή αυτής της λογικής σε διαφορετικές διεργασίες, προγράμματα ή υπολογιστές Τα διαγράμματα της UML που χρησιμοποιούνται για τον προσδιορισμό της λογικής αρχιτεκτονικής είναι τα: διαγράμματα περπτώσεων χρήσης διαγράμματα κλάσης διαγράμματα κατάστασης διαγράμματα δραστηριοτήτων διαγράμματα ακολουθίας και διαγράμματα επικοινωνίας

Βασικές ερωτήσεις Οι υπολογιστικές πλατφόρμες αποτελούνται από υλικό, λογισμικό και δικτύωση Ποια πλατφόρμα είναι πιο κατάλληλη για αυτό το πληροφοριακό σύστημα? Πώς να επιλέξουμε το υλικό (hardware)? Πώς να επιλέξουμε το λογισμικό (software)? Πώς να επιλέξουμε τη δικτύωση (networking)? Πώς να εκφράσουμε τη φυσική αρχιτεκτονική του συστήματος με μια στάνταρτ διαγραμματική μορφή?

Φυσική αρχιτεκτονική Ασχολείται με τη λεπτομερή περιγραφή του συστήματος από άποψη υλικού καί λογισμικού. Περιγράφει: Τη δομή του υλικού (hardware), περιλαμβάνοντας διάφορους κόμβους και πώς αυτοί συνδέονται μεταξύ τους Τη φυσική δομή καί τις εξαρτήσεις του κώδικα που υλοποιεί τις έννοιες που ορίστηκαν στη λογική αρχιτεκτονική Την κατανομή του run-time λογισμικού σε διεργασίες, προγράμματα κι άλλα προϊόντα λογισμικού

Φυσική αρχιτεκτονική Η φυσική αρχιτεκτονική περιγράφει τα συστατικά του υλικού καί του λογισμικού Υπάρχει αντιστοίχιση από τη λογική αρχιτεκτονική στη φυσική αρχιτεκτονική, όπου οι κλάσεις κλπ. αντιστοιχούνται σε συστατικά, processes καί υπολογιστές Έτσι μπορούμε από ένα τμήμα της λογικής αρχιτεκτονικής να μεταβούμε στο αντίστοιχο τμήμα της φυσικής αρχιτεκτονικής και αντίστροφα

Φυσική αρχιτεκτονική Απαντά σε ερωτήματα όπως: σε ποια προγράμματα ή processes βρίσκονται οι κλάσεις καί τα αντικείμενα? σε ποιους υπολογιστές εκτελούνται τα προγράμματα καί οι διαδικασίες? ποιοι υπολογιστές καί τί άλλα περιφερειακά βρίσκονται στο σύστημα καί πώς συνδέονται μεταξύ τους? ποιες είναι οι εξαρτήσεις ανάμεσα σε διαφορετικά αρχεία κώδικα? Αν αλλάξει ένα αρχείο, ποια άλλα αρχεία πρέπει να επαναμεταγλωττιστούν (recompiled)?

Φυσικά Διαγράμματα Η φυσική αρχιτεκτονική μοντελοποιείται με τα Φυσικά Διαγράμματα: Διάγραμμα Συστατικών/Συνιστωσών (Component Diagram) Aναπαριστά σε υψηλό επίπεδο τη δομή του κώδικα. Συστατικό είναι μία φυσική μονάδα υλοποίησης κώδικα (source code and binary code). Επιπλέον αναπαριστώνται οι αλληλοσυνδέσεις μεταξύ συστατικών, συμπεριλαμβανομένου συστατικών κώδικα, συστατικών δυαδικού κώδικα και εκτελέσιμων συστατικών Διάγραμμα Ανάπτυξης (Deployment Diagram) Αναπαριστά τη φυσική/run-time αρχιτεκτονική του υλικού (hardware) και του λογισμικού σε ένα σύστημα. Αναπαριστώνται οι μηχανές και οι υπολογιστές (nodes) που χρησιμοποιούνται από το σύστημα καθώς και οι συνδέσεις τους. Κόμβοι είναι τα φυσικά αντικείμενα που στη γενική περίπτωση έχουν τουλάχιστον μνήμη και δυνατότητα επεξεργασίας.

Υλικό Οι έννοιες του υλικού που χρησιμοποιούνται στη φυσική αρχιτεκτονική είναι οι εξής: Επεξεργαστές: Σε αυτήν την κατηγορία περιλαμβάνονται οι υπολογιστές που εκτελούν το πρόγραμμα (μικροεπεξεργαστές ή ακόμα και υπερυπολογιστές). Περιφερειακές Συσκευές: Υποστηρίζουν το σύστημα (π.χ. εκτυπωτές, δρομολογητές, αναγνώστες καρτών) και είναι συνδεδεμένες σε έναν επεξεργαστή που τις ελέγχει Συνδέσεις: Οι επεξεργαστές συνδέονται με άλλους επεξεργαστές και με περιφερειακές συσκευές. Μια σύνδεση ανάμεσα σε δύο κόμβους περιγράφεται τόσο από το φυσικό μέσο (π.χ. οπτική ίνα), όσο κι από το πρωτόκολλο λογισμικού (π.χ. TCP/IP)

Διάγραμμα Συστατικών Τα διαγράμματα συστατικών περιέχουν συστατικά και εξαρτήσεις: τα συστατικά αναπαριστούν το φυσικό πακετάρισμα μια ομάδας κώδικα οι εξαρτήσεις είναι οι σχέσεις μεταξύ των συστατικών και δείχνουν πώς οι αλλαγές που πραγματοποιούνται σε ένα συστατικό μπορούν να επηρεάσουν τα άλλα συστατικά. Οι εξαρτήσεις αναπαρίστανται με μία διακεκομμένη γραμμή μεταξύ δύο ή περισσοτέρων συστατικών Τα διαγράμματα συστατικών λογισμικού αναπαριστούν επίσης τα συστήματα διεπαφής (interfaces) που χρησιμοποιούνται από τα συστατικά για να επικοινωνήσουν μεταξύ τους

Φυσική άποψη Διαγράμματα συστατικών Τα διαγράμματα συστατικών (component diagrams) αναπαριστούν το φυσικό διαχωρισμό του συστήματος Ένα συστατικό είναι μία φυσική μονάδα υλοποίησης κώδικα (πηγαίο αρχείο, αρχείο επικεφαλίδων, εκτελέσιμο αρχείο, μια βιβλιοθήκη.dll) κ.ο.κ. Το διάγραμμα συστατικών απεικονίζει το δίκτυο των εξαρτήσεων μεταξύ των συστατικών ΣυστατικόΒ Διασύνδεση Β ΣυστατικόΒ ΣυστατικόΑ ΣυστατικόΑ ΣυστατικόC Διασύνδεση C ΣυστατικόC

Διάγραμμα Συστατικών Η κυριότερη διαφορά των διαγραμμάτων συστατικών με τα υπόλοιπα διαγράμματα UML είναι ότι τα διαγράμματα αυτά αναπαριστούν την όψη υλοποίησης (deployment view) του συστήματος. Τα συστατικά : είναι επαναχρησιμοποιήσιμα και μπορούν να αντικατασταθούν πρέπει να παρέχουν μια διεπαφή για να επιτρέπουν σε άλλα συστατικά να αλληλεπιδρούν με αυτά και να χρησιμοποιούν τις υπηρεσίες τους αποτελούνται ή υλοποιούνται από Artifacts τα οποία μπορεί να είναι εκτελέσιμα, βιβλιοθήκες εφαρμογών, συστατικά αρχείων που αναπαριστούν τον πηγαίο κώδικα μιας εφαρμογής

Βασικά στοιχεία Διαγραμμάτων Συστατικών Διεπαφή (interface): συλλογή από λειτουργίες που χρησιμοποιούνται για να καθορίσουν τη λειτουργία μιας κλάσης ή ενός συστατικού. Η σχέση μεταξύ ενός συστατικού (component) και μιας διεπαφής (interface) είναι πολύ σημαντική. Μεταξύ μιας διεπαφής και ενός συστατικού υπάρχουν 2 είδη σχέσεων Μια διεπαφή μπορεί να παρέχεται από ένα συστατικό ώστε τα άλλα συστατικά να επικοινωνούν μαζί του Μια διεπαφή μπορεί να απαιτείται από ένα συστατικό για να επικοινωνήσει με ένα άλλο συστατικό

Συστατικά Αναπαριστά ένα modular, αντικαταστήσιμο τμήμα του συστήματος Σημαντικά τα καλά ορισμένα interfaces: Το απαιτούμενο interface προσδιορίζει τυπικά ποια λειτουργικότητα αναμένει το συσταικό από το περιβάλλον του Το παρεχόμενο interface προσδιορίζει τη λειτουργικότητα που μπορεί να παρέχει το συστατικό (στα άλλα συστατικά) Ιδανικά, τα interfaces συλλαμβάνουν την απαιτούμενη και την παρεχόμενη λειτουργικότητα σε τόσο λεπτομερή τρόπο έτσι ώστε να επιτρέπεται ελεύθερα η ανταλλαγή δύο συστατικών που ακολουθούν τα ίδια interfaces. Συνεπώς, εύκολη η αντικατάσταση ενός (παλιότερου) συστατικού με ένα άλλο (νεώτερο) χωρίς καμία αλλαγή στο υπόλοιπο του συστήματος

Συμβολισμοί

Συμβολισμοί Tα δύο interfaces συνήθως δείχνονται με το συμβολισμό lollipop-socket / ball-socket : Το παρεχόμενο (provided) interface συμβολίζεται με ένα κύκλο ( lollipop ) και το απαιτούμενο (required) interface με ένα ημικύκλιο ( socket ). Provided interface Required interface

Εσωτερική δομή συστατικών Τα συστατικά μπορούν να κτιστούν από άλλα συστατικά και κλάσεις. Τα περιεχόμενα τμήματα είναι μονάδες στην υλοποίηση συστατικών.

Διάγραμμα Συστατικών Scheduler Reservations Planner Update GUI

Διάγραμμα Συστατικών

Διάγραμμα συστατικών κατά τη διάρκεια compile-time

Διάγραμμα συστατικών κατά τη διάρκεια run-time

Δείχνει τους υπολογιστές και τις συσκευές (κόμβους) καθώς και τον τύπο των συνδέσεων. Εκτελέσιμα αντικείμενα φανερώνουν ποιες μονάδες λογισμικού εκτελούνται σε κάθε κόμβο Διάγραμμα Ανάπτυξης Client A: Compaq Pro PC Application Server: Silicon Graphics «Decnet» Database SERVER: VAX Client B: Compaq Pro PC

Διάγραμμα Ανάπτυξης

Φυσική άποψη Διαγράμματα ανάπτυξης Τα διαγράμματα ανάπτυξης (deployment diagrams) αναπαριστούν την αντιστοίχιση του λογισμικού σε επεξεργαστικές μονάδες κόμβους. Μπορούν να χρησιμοποιηθούν για να δείξουν ποια συστατικά τρέχουν σε ποιους κόμβους Ένας κόμβους (node) είναι ένα φυσικό αντικείμενο που στη γενική περίπτωση έχει τουλάχιστον μνήμη και δυνατότητα επεξεργασίας FlightServer download_nightly Backup Web Server Ethernet Database Server TCP/IP DBMS software Client RS-232 Internet Browser Printer

Διάγραμμα ανάπτυξης Ένα διάγραμμα ανάπτυξης δείχνει Τη φυσική υλοποίηση του λογισμικού (artifacts) Ποια τμήματα του software τρέχουν σε ποια τμήματα του hardware (nodes) Πώς μπορούν να επικοινωνούν οι κόμβοι

Διάγραμμα ανάπτυξης

Παράδειγμα

Παράδειγμα

Κόμβοι περιλαμβάνουν υπολογιστές με επεξεργαστές καθώς κι άλλες συσκευές όπως εκτυπωτές, αναγνώστες καρτών, συσκευές επικοινωνίας. Τύπος κόμβου : περιγράφει τα χαρακτηριστικά του επεξεργαστή ή του τύπου της συσκευής. Στιγμιότυπο κόμβου : περιγράφει ένα συγκεκριμένο μηχάνημα αυτού του τύπου.παίζει το ρόλο του αντικειμένου και είναι πάντα υπογραμμισμένο. Τύπος κόμβου Στιγμιότυπο κόμβου Dell Pentium 466 MMX Bill s Machine: Dell Pentium 466 MMX

Διάγραμμα ανάπτυξης AdminServer:HostMachine :Scheduler «database» meetingsdb reservations Joe smachine:pc :Planner

Διάγραμμα ανάπτυξης Node1 «cluster» x y «database» w z «become» Node2 «cluster» x y

Είδη artifacts Η UML2.0 έχει 4 pre-defined τύπους artifacts (αλλά και άλλοι τύποι μπορούν πολύ εύκολα να οριστούν μέσω των μηχανισμών επέκτασης της UML, όπως τα stereotypes) executable μπορεί να εκτελεστεί σε ένα κόμβο library σταική ή δυναμική βιβλιοθήκη αντικειμένων file έγγραφο που περιέχει source code ή δεδομένα document documentation, configuration,

Διάγραμμα ανάπτυξης

Συνδιάζοντας τα δύο φυσικά διαγράμματα Τοποθέτηση του διαγράμματος συστατικών πάνω από το διάγραμμα ανάπτυξης Ποια συστατικά τρέχουν σε ποιους κόμβους? Ενημερώτητα του συστήματος για τα συστατικά Λεπτομέρειες της επικοινωνίας component Interface

Συνδιάζοντας τα δύο φυσικά διαγράμματα

Διάγραμμα ανάπτυξης χωρίς το software

Διάγραμμα ανάπτυξης με το software

Συνδιάζοντας τα δύο φυσικά διαγράμματα

Λιγότερο τυπικός τρόπος αναπαράστασης διαγραμμάτων ανάπτυξης

Πηγές Ε. Κιουντούζης, Μεθοδολογίες Ανάλυσης και Σχεδιασμού Πληροφοριακών Συστημάτων,Εκδόσεις Α.Σταμούλη, Αθήνα 2002 Γιάννης Τζίτζικας. Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων, Πανεπιστήμιο Κρήτης Shari Lawrence Pfleeger. Τεχνολογία Λογισμικού: Θεωρία και Πράξη, τόμος 1, Κλειδάριθμος, Αθήνα, 2003 Leszek A. Maciaszek, Requirements Analysis and System Design (2nd edition), Addison Wesley, 2005 A.Dennis, B. Haley Wixom, D. Tegarden, Systems Analysis and Design with UML Version 2.0 (2nd edition) Wiley, 2005 Booch G., Rumbaugh J., Jacobson I. Unified Modeling Language User Guide. Addison- Wesley Professional 2 Edition, ISBN 0321267974. Pascal Roques, UML in Practice, John Wiley, 2004 UML Fundamentals & OOAD UML 2.0, www.acm.org Αφροδίτη Τσαλγατίδου. Εισαγωγή στη UML, Καποδιστριακό Πανεπιστήμιο Αθηνών Αντικειμενοστρεφής Ανάπτυξη Λογισμικού με τη UML, επιμέλεια Π. Φιτσιλής, Κλειδάριθμος 2006 Ιωάννης Γαβιώτης. Πληροφοριακά Συστήματα Μοντελοποίηση με UML, Πανεπιστήμιο Αιγαίου http://www.ibm.com/developerworks/rational/library/content/rationaledge