ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΤΡΟΠΟΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΟΡΓΑΝΩΤΙΚΩΝ ΚΑΙ ΔΙΟΙΚΗΤΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ ΤΟΥ ΟΡΓΑΝΙΣΜΟΥ  Εκπαιδευτικό Κεφάλαιο 1.1 Τεχνικές δεξιότητες και προσόντα.
Advertisements

ΑΞΙΟΛΟΓΗΣΗ ΕΙΣΑΓΩΓΗ Στη διδακτική διαδικασία ο διδάσκων θέτει στόχους, στη συνέχεια μεριμνά για την επίτευξή τους και τέλος αξιολογεί το έργο του, το υλικό.
7.5.2 Αντικειμενοστραφής προγραμματισμός
ΠΜΣ ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Κατεύθυνση ΤΕΔΑ Τεχνολογίες Διαχείρισης Ασφάλειας Security Management Engineering Τμήμα Πληροφορικής ΠΑΝΕΠΙΣΤΗΜΙΟ.
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΚΕΝΤΡΟ ΠΟΛΙΤΙΣΜΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΝΣΤΙΤΟΥΤΟ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΤΕ 21,23/2/2005Πληροφοριακή σχεδίαση για πολιτισμική τεκμηρίωση και διαλειτουργικότητα1 Τεκμηρίωση.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Σχεδιασμός ηλεκτρονικών υπηρεσιών μεγάλης κλίμακας και πολυπλοκότητας 24/10/2002.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Η ποιότητα της πληροφορίας στο εκπαιδευτικό υλικό που χρησιμοποιείται ή διανέμεται μέσω του Internet Χρήστος Σαβρανίδης Πανεπιστήμιο Ιωαννίνων Τμήμα ΦΠΨ.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Μοντέλο Διδασκαλίας Φυσικών Επιστήμων, για την Υποχρεωτική Εκπαίδευση, στην Κατεύθυνση της Ανάπτυξης Γνώσεων και Ικανοτήτων. Π. Κουμαράς.
Τι είναι Ανάλυση Τι είναι Συστήματα Πληροφορικής
Σύμφωνα με τον ΣΕΒ, αναμένεται να παρουσιάσουν ζήτηση μέχρι το 2020 Πηγή:
Υπηρεσίες δικτύων επικοινωνίας
ΕΚΠΑΙΔΕΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ ΤΗΣ ΕΥΡΥΤΕΡΗΣ ΕΝΝΟΙΑΣ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΔΙΑΦΟΡΕΤΙΚΟ ΛΟΓΙΣΜΙΚΟ ΓΙΑ ΚΑΘΕ ΠΤΥΧΗ ΤΟΥ Κάππας Κων/νος Επιμορφωτής ΤΠΕ -
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΚΕΦΑΛΑΙΟ 3 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ Γ.Σ.Π.. ΟΡΙΣΜΟΙ Ένα σύστημα για τακτικό και συνηθισμένο τρόπο επεξεργασίας δεδομένων και για απάντηση προκαθορισμένων και.
Δεδομένα, Πληροφορίες και Ηλεκτρονικοί Υπολογιστές
19/04/2005Γεώργιος Α Βούρος ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων ΗΜΕΡΙΔΑ ΠΑΡΟΥΣΙΑΣΗΣ - ΑΞΙΟΛΟΓΗΣΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ.
Σχολή Διοίκησης & Οικονομίας Τμήμα Εμπορίας & Διαφήμισης
Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Λογισμικού u Ανάπτυξη λύσης που ικανοποιεί τις απαιτήσεις λογισμικού.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
2009ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Σχεδίαση Λογισμικού Εισαγωγή.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1 HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
2009ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Έλεγχος Συστήματος Μανόλης Γιακουμάκης.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
Μοντέλα και μορφές αξιολόγησης
Αλγόριθμοι 2.1.1,
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
2009ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Συντήρηση Λογισμικού Μανόλης.
Δίνονται το ονοματεπώνυμο κάθε μαθητή μιας τάξης και η βαθμολογία του σε κάθε μάθημά του και θέλουμε να υπολογίσουμε το μέσο όρο της βαθμολογίας όλων των.
Τεχνολογία Επικοινωνιών
Κεφάλαιο 10 – Υποπρογράμματα
Προγραμματισμός Γιατι γραφουμε προγραμματα (προηγ. διαλεξη)
Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Απαιτήσεων u Καθορίζει τι θέλει ο πελάτης από ένα σύστημα λογισμικού.
Μπόλαρη Αγγελικη(1451) Επιβλέπων Βολογιαννίδης Σταύρος ΑΤΕΙ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ Σέρρες 2013.
Ορισμός Έργου Δρ. Α. Ραφαηλίδης Τμ. Διοίκησης Επιχειρήσεων (Πάτρα) ΤΕΙ Δυτ. Ελλάδας.
1 Διαχείριση Έργων Πληροφορικής Διάλεξη 7 η Διαχείριση Πόρων.
Επίσημος ορισμός Ποιότητας (πρότυπο ISO 8402) Σύνολο χαρακτηριστικών μιας οντότητας για την ικανοποίηση εκφρασμένων και συνεπαγόμενων αναγκών. Αντικείμενο.
Τεχνολογία Λογισμικού
Δραματική Τέχνη στην εκπαίδευση: Ερευνητικό Σχέδιο ΙΙ
ΕΠΙΧΕΙΡΗΜΑΤΙΚΟ ΣΧΕΔΙΟ ΙΔΡΥΣΗΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑΣ ΠΡΑΤΗΡΙΟΥ ΥΓΡΩΝ ΚΑΥΣΙΜΩΝ
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Προσομοίωση και Μοντέλα Συστημάτων (Μέρος B)
Αρχές Διοίκησης και Διαχείρισης Έργων
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Στρατηγικές ελέγχου ολοκλήρωσης
Δρ. Αλέξανδρος Αποστολάκης Τηλ.:
ΣΥΣΤΗΜΑ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ (QUALITY SYSTEM)
Η ΕΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ
Μαθησιακοί στόχοι κεφαλαίου
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
Στοιχεία Δομημένου Προγραμματισμού
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων 2ο Κεφάλαιο.
Κάποιες βασικές έννοιες στη μεθοδολογία της ψυχολογίας
Εφαρμογή Μεθοδολογίας ICONIX
ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΒΑΛΛΟΝΤΟΣ
Κλειούσης Ε. Ελευθέριος
Τεχνολογία Β’ Γυμνασίου
Μεθοδολογία Έρευνας Διάλεξη 6η: Δευτερογενή Δεδομένα: Τύποι δευτερογενών δεδομένων Δρ. Αλέξανδρος Αποστολάκης Τηλ.:
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Σκοπός Η συνοπτική παρουσίαση
Μεταγράφημα παρουσίασης:

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Σχεδίαση Λογισμικού Εισαγωγή Μανόλης Γιακουμάκης αναπληρωτής καθηγητής ΟΠΑ 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Σημερινή παρουσίαση Εισαγωγή Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Εισαγωγή (1/2) Η σχεδίαση του λογισμικού απαντά στο ερώτημα πώς θα είναι το λογισμικό που θα ικανοποιεί τις απαιτήσεις που περιγράφονται στο ΕΠΑΛ. Για να δώσει αυτή την απάντηση η σχεδίαση, οι σχεδιαστές λαμβάνουν ένα σύνολο αποφάσεων. Ορισμένες από τις αποφάσεις αυτές είναι σημαντικές και δύσκολα αλλάζουν, άλλες είναι λιγότερο σημαντικές και αλλάζουν εύκολα. Ορισμένες από τις αποφάσεις σχεδίασης δεν είναι ούτε απόλυτα σωστές ούτε απόλυτα λανθασμένες, αλλά είναι δυνατόν να οδηγούν σε λύσεις με μειονεκτήματα ή και πλεονεκτήματα. Τις περισσότερες φορές η σχεδίαση δεν αξιολογείται ως σωστή ή λανθασμένη, αλλά ως καλή ή κακή. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Εισαγωγή (2/2) Η σχεδίαση δεν είναι μηχανική διαδικασία, είναι περισσότερο ευρετική. Η καλή σχεδίαση «αναδύεται» μετά από δοκιμές, αποτυχίες και αναθεωρήσεις. Αν και η σχεδίαση δεν είναι μηχανική διαδικασία, υπάρχουν κριτήρια αξιολόγησης της καλής σχεδίασης. Υπάρχουν επίσης και κανόνες που όταν εφαρμόζονται οδηγούν σε καλή σχεδίαση. Όλες οι αποφάσεις σχεδίασης υπάρχουν στον τελικό κώδικα του λογισμικού. Από μόνος του ο κώδικας όμως δε διευκολύνει στο να έρθουν στην επιφάνεια όλες οι αποφάσεις της σχεδίασης. Για αυτό το λόγο οι σημαντικότερες σχεδιαστικές επιλογές απεικονίζονται σε μοντέλα σχεδίασης. Η δημιουργία των μοντέλων σχεδίασης βοηθά στην κατανόηση, επικοινωνία, διερεύνηση, αξιολόγηση και αναθεώρηση των αποφάσεών μας. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Τι είναι η σχεδίαση λογισμικού (1/2) Το λογισμικό συντίθεται από «κομμάτια» λογισμικού, διαφορετικά θα ήταν αδύνατη η συντήρηση του. Τα κομμάτια αυτά τα ονομάζουμε μονάδες λογισμικού ή μονάδες προγράμματος, ή μονάδες, ή δομικά μέρη, ή οντότητες σχεδίου. Σε έναν πρώτο ορισμό που δόθηκε το 1974 «Μια μονάδα λογισμικού είναι ένα συνεχόμενο σύνολο εντολών που έχουν ένα όνομα με το οποίο άλλα μέρη του συστήματος μπορούν να καλέσουν αυτό το σύνολο εντολών και κατά προτίμηση διαθέτει το δικό του διακριτό σύνολο μεταβλητών». 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Τι είναι η σχεδίαση λογισμικού (2/2) Στη συνέχεια ο ορισμός αυτός υπέστη αναδιατυπώσεις αλλά η βασική έννοια του ορισμού είναι ότι η μονάδα προγράμματος αποτελεί ένα μέρος του συστήματος, το οποίο έχει μία ταυτότητα στο λογισμικό και που μπορεί να «συνεργαστεί» με άλλα μέρη για να παραχθούν τα αποτελέσματα που περιγράφουν οι προδιαγραφές του συστήματος. Η σχεδίαση προσδιορίζει τα μέρη αυτά του συστήματος, τη συμπεριφορά κάθε μέρους, καθώς και τον τρόπο συνεργασίας των μερών μεταξύ τους. Η σχεδίαση απαντά στο ερώτημα «πώς θα είναι το προϊόν;» που θα υλοποιεί τις απαιτήσεις που περιγράφουν οι προδιαγραφές του λογισμικού. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Διαφορά μοντέλου σχεδίασης και μοντέλου ανάλυσης Το μοντέλο σχεδίασης παρέχει λεπτομέρειες σχετικά με την αρχιτεκτονική του συστήματος, τις δομές δεδομένων, τις διεπαφές και τα δομικά μέρη που υλοποιούν το σύστημα. Το μοντέλο ανάλυσης εστιάζεται στα απαιτούμενα δεδομένα, τις λειτουργίες και συμπεριφορές του συστήματος. Η σχεδίαση ασχολείται και με τις μη λειτουργικές απαιτήσεις (απόδοση κλπ) και τα ποιοτικά χαρακτηριστικά του λογισμικού (συντηρησιμότητα κλπ) Η σχεδίαση επομένως επιτρέπει στους μηχανικούς λογισμικού να παράγουν ένα μοντέλο του συστήματος πριν αυτό κατασκευαστεί και αφού το αξιολογήσουν, όσον αφορά την ποιότητα του, να κάνουν όλες τις απαραίτητες τροποποιήσεις, πριν ξεκινήσει η υλοποίησή του. Η σχεδίαση προσφέρει στους μηχανικούς λογισμικού την ευκαιρία να συγκρίνουν εναλλακτικές λύσεις υλοποίησης του λογισμικού και να επιλέξουν την «καλύτερη». 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Σχεδίαση Λογισμικού Υπάρχουν πολλές λύσεις για ένα πρόβλημα. Σχεδίαση: Το σύνολο των αποφάσεων για την επίλυση του προβλήματος που περιγράφουν οι απαιτήσεις. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Έννοιες σχεδίασης Αφαίρεση Τμηματικότητα Απόκρυψη πληροφοριών Σύζευξη Συνεκτικότητα 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Αφαίρεση Ένας τρόπος για την διαχείριση της πολυπλοκότητας του λογισμικού είναι η αφαίρεση (abstraction). Με την αφαίρεση επιχειρούμε να αγνοήσουμε πληροφορίες που προς στιγμήν δε μας ενδιαφέρουν και να εστιάσουμε την προσοχή μας σε εκείνες τις πληροφορίες που προς στιγμή κρίνουμε σημαντικές. Η αφαίρεση χρησιμοποιείται και για την ίδια τη σχεδίαση. Θέλουμε να κατανοήσουμε τη βασική δομή του λογισμικού σε υψηλό επίπεδο. Την υψηλού επιπέδου αφαίρεσή μας την προσφέρει το αρχιτεκτονικό σχέδιο του λογισμικού. Το αρχιτεκτονικό σχέδιο εστιάζεται στα βασικότερα υψηλού επιπέδου δομικά στοιχεία του λογισμικού. Σε χαμηλότερο επίπεδο αφαίρεσης μπορούμε να εξετάσουμε το λογισμικό μέσω του λεπτομερούς σχεδίου. Το λεπτομερές σχέδιο μας προσφέρει περισσότερη λεπτομέρεια για κάθε δομική μονάδα του λογισμικού. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Τμηματικότητα 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Απόκρυψη πληροφοριών 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

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

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Παράγοντες Σύζευξης Οι κλήσεις που γίνονται από μια μονάδα σε άλλη. Για παράδειγμα, η μονάδα Α καλεί τη μονάδα Β. Έτσι η λειτουργία της μονάδας Α εξαρτάται από τη μονάδα Β. Η ποσότητα των δεδομένων, που περνά από μια μονάδα σε άλλη. Για παράδειγμα, η μονάδα Α μπορεί να περνά το περιεχόμενο ενός πίνακα στη μονάδα Β. Έτσι η μονάδα Β εξαρτάται από την Α. Το μέγεθος του ελέγχου που μια μονάδα έχει πάνω σε μια άλλη. Για παράδειγμα η μονάδα Α μπορεί να περνά στη μονάδα Β ένα flag ελέγχου. Η λειτουργία που εκτελείται από τη Β εξαρτάται από την τιμή του flag. Ο βαθμός πολυπλοκότητας στη διεπαφή μιας μονάδας με τις άλλες. Για παράδειγμα, εάν η μονάδα Α περνά ένα flag στη μονάδα Β, αλλά οι μονάδες C και D ανταλλάσσουν τιμές, πριν η D συμπληρώσει τη λειτουργία της, τότε η διάταξη μεταξύ Α και Β είναι λιγότερο πολύπλοκη από ό,τι μεταξύ των C και D. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Τύποι σύζευξης (1/2) περιεχόμενη σύζευξη (content coupling): μια μονάδα επεμβαίνει και τροποποιεί μια άλλη. Η τροποποιημένη μονάδα είναι πλήρως εξαρτημένη από την πρώτη. από κοινού σύζευξη (common coupling): δεδομένα σε μια καθολική (global) ή κοινή (common) περιοχή. Όταν μια μονάδα περνά flags για να ελέγξει τη δραστηριότητα μιας άλλης μονάδας λέμε ότι υπάρχει σύζευξη ελέγχου (control coupling) μεταξύ των δύο μονάδων. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Τύποι σύζευξης (2/2) Εστω ότι περνάμε μια δομή δεδομένων σε μια μονάδα για να περάσουμε πληροφορία από μια μονάδα σε μια άλλη. Αν η μονάδα η οποία λαμβάνει τη δομή δεδομένων χρησιμοποιεί μόνο ένα τμήμα της πληροφορίας της δομής δεδομένων, τότε έχουμε σύζευξη αντιγράφου (stamp coupling) μεταξύ των μονάδων. Η σύζευξη αντιγράφου εμφανίζεται, όταν η πληροφορία που αποστέλλεται μεταξύ των μονάδων δεν είναι η απολύτως απαραίτητη. Όταν δύο μονάδες ανταλλάσουν μόνο τα απαραίτητα δεδομένα, τότε οι μονάδες συνδέονται με σύζευξη δεδομένων (data coupling). 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Η κλίμακα της σύζευξης 5. Σύζευξη δεδομένων Χαλαρή ή χαμηλή (επιθυμητή) 4. Σύζευξη αντιγράφου 3. Σύζευξη ελέγχου 2. Σύζευξη από κοινού 1. Περιεχόμενη Σύζευξη Υψηλή (μη επιθυμητή) 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Συνεκτικότητα Επιθυμούμε μία μονάδα λογισμικού να εμφανίζει υψηλή συνεκτικότητα. Η συνεκτικότητα εστιάζει σε μία μονάδα λογισμικού και στα δομικά της στοιχεία. Υψηλή συνεκτικότητα σημαίνει ότι μία μονάδα λογισμικού εξυπηρετεί ένα και καλά ορισμένο σκοπό. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Επίπεδα συνεκτικότητας (1/2) Συμπτωματική συνεκτικότητα (coincidental cohesion) : τα τμήματα μιας μονάδας είναι εντελώς ασυσχέτιστα. Λογική συνεκτικότητα (logical cohesion): ένας αριθμός λογικά συσχετισμένων λειτουργιών τοποθετούνται στην ίδια μονάδα. Χρονική συνεκτικότητα (temporal cohesion): οι λειτουργίες της μονάδας σχετίζονται μόνο λόγω της χρονικής τους σχέσης. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Επίπεδα συνεκτικότητας (2/2) Διαδικαστικά συνεκτική (procedurally cohesive).: οι λειτουργίες ομαδοποιούνται σε μονάδες ακριβώς για να επιβεβαιώνεται η σειρά εκτέλεσης. Εναλλακτικά μπορούμε να συσχετίσουμε συγκεκριμένες λειτουργίες, είτε επειδή δουλεύουν με, ή παράγουν, τα ίδια δεδομένα. Μερικές φορές αυτή η κατασκευή φαίνεται βολική. Οι μονάδες που κατασκευάζονται με αυτό τον τρόπο είναι επικοινωνιακά συνεκτικές (communicationally cohesive). Εάν η έξοδος από ένα τμήμα μιας μονάδας είναι είσοδος σε ένα επόμενο τμήμα, η μονάδα έχει ακολουθιακή συνεκτικότητα (sequential cohesion). Λειτουργική συνεκτικότητα (functional cohesion) : κάθε στοιχείο επεξεργασίας είναι απαραίτητο για την εκτέλεση μιας λειτουργίας. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Κλίμακα τύπων συνεκτικότητας 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Δραστηριότητες σχεδίασης Ανεξάρτητα από το υπόδειγμα ανάπτυξης που υιοθετείται, η σχεδίαση περιλαμβάνει τις δραστηριότητες : της αρχιτεκτονικής σχεδίασης (architectural design), της λεπτομερούς σχεδίασης (detailed design) και τον έλεγχο του σχεδίου. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Αρχιτεκτονική σχεδίαση Κατά την αρχιτεκτονική σχεδίαση (ή γενική σχεδίαση ή σχεδίαση υψηλού επιπέδου ή σχεδίαση συστήματος) προσδιορίζονται οι μονάδες που συνθέτουν το σύστημα λογισμικού σύμφωνα με τη συγκεκριμένη σχεδιαστική λύση. Οι σχεδιαστές μελετούν διεξοδικά το ΕΠΑΛ και όλα τα έγγραφα του έργου και παράγουν μια δομή μονάδων που εξασφαλίζει την επιθυμητή λειτουργικότητα και ικανοποιεί τις μη λειτουργικές απαιτήσεις. Πέρα από τον προσδιορισμό των μονάδων περιγράφεται και ο τρόπος διασύνδεσής τους. Το αποτέλεσμα είναι ένα μοντέλο του συστήματος που θα πρέπει να έχει τη «σωστή» τμηματικότητα, να κάνει χρήση της απόκρυψης πληροφοριών, να αξιοποιεί την αφαίρεση, να έχει χαλαρή σύζευξη ανά ζεύγος μονάδων και κάθε μονάδα να έχει υψηλή συνεκτικότητα. Επιπρόσθετα στην αρχιτεκτονική σχεδίαση λαμβάνονται υπόψη και τα ποιοτικά χαρακτηριστικά του λογισμικού, όπως η αξιοπιστία, η απόδοση, η ελεγξιμότητα κ.τ.λ. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Λεπτομερής σχεδίαση Η λεπτομερής σχεδίαση (ή σχεδίαση μονάδας ή σχεδίαση χαμηλού επιπέδου) επικεντρώνεται σε μονάδες λογισμικού παράγοντας το σχέδιο κάθε μονάδας. Επιλέγονται συγκεκριμένοι αλγόριθμοι και δομές δεδομένων και περιγράφεται λεπτομερώς η επεξεργασία της κάθε μονάδας. Κάθε λεπτομερής σχεδίαση μπορεί να θεωρηθεί ένα αυτοτελές έργο σχεδίασης, αγνοώντας το γεγονός ότι είναι μέρος ενός όλου. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης Έλεγχος Σχεδίου Ο έλεγχος σχεδίου ακολουθεί τη λεπτομερή σχεδίαση και εξετάζει την ορθότητα της αρχιτεκτονικής λύσης σε συνδυασμό με τα λεπτομερή σχέδια, παρέχοντας την δυνατότητα εντοπισμού τυχόν λαθών στη σχεδίαση, πριν ξεκινήσει η υλοποίηση των σχεδίων. Για τον έλεγχο του σχεδίου εκτελούμε τεχνικές ανασκοπήσεις όπως οι περιηγήσεις και οι επιθεωρήσεις. Ο έλεγχος του σχεδίου απαντά στο ερώτημα εάν χτίζουμε σωστά το λογισμικό, ενώ αντίθετα ο έλεγχος της τεκμηρίωσης των απαιτήσεων απαντά στο ερώτημα εάν χτίζουμε το σωστό λογισμικό. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης

Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού Σχεδίαση προσανατολισμένη στις λειτουργίες. Η έμφαση δίδεται στις λειτουργίες και στην υψηλή συνεκτικότητα των μονάδων. Σχεδίαση προσανατολισμένη στα δεδομένα. Η σχεδίαση ξεκινά με τον προσδιορισμό των δομών δεδομένων και ακολουθεί ο προσδιορισμός μονάδων επεξεργασίας των δεδομένων. Σχεδίαση προσανατολισμένη στα αντικείμενα. Η σχεδίαση αντιμετωπίζει τις λειτουργίες και τα δεδομένα από κοινού, χωρίς να δίδει προτεραιότητα σε ένα εκ των δυο. 2009 ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης