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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

2 Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Σχεδίαση Συστήματος Λογισμικού Μέρος ΙΙ

3 Εισαγωγή Από τη φάση προδιαγραφής των απαιτήσεων γνωρίζουμε τι θα κάνει το λογισμικό και ποια είναι τα χαρακτηριστικά του ιδιώματα Έγγραφο προσδιορισμού απαιτήσεων από το λογισμικό + Μοντέλα παράστασης λογισμικού (ΔΡΔ, ΔΟΣ, ΔΜΚ) + Λεξικό Δεδομένων: είσοδος στη φάση σχεδίασης! Στη φάση της σχεδίασης αντιμετωπίζουμε το πρόβλημα πώς θα το κάνει πώς θα επιτύχουμε την επιθυμητή συμπεριφορά Διαδικασία σχεδίασης Δύσκολη, δεν αυτοματοποείται εύκολα πολλές επιλογές, πλήθος τεχνικά και μη κριτήρια (κόστος, χρόνος υλοποίησης) για την αναζήτηση του καλύτερου δημιουργική και ενδιαφέρουσα

4 Τι είναι η σχεδίαση Διεργασία μετατροπής του προβλήματος σε λύση Από το Τί στο Πώς Σχέδιο: Λεπτομερής περιγραφή της λύσης Λύση: Ικανοποιεί όλες τις απαιτήσεις της προδιαγραφής Είναι δυνατόν να υπάρχουν πολλαπλές λύσεις Πιθανόν να μην υπάρχει μοναδική «βέλτιστη» Αλλαγές (και πάλι )

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

6 Σχεδίαση Λογισμικού Οι προδιαγραφές ορίζουν το πρόβλημα Κάτι αποτελεί λύση αν ικανοποιεί όλες τις απαιτήσεις των προδιαγραφών ΕΠΟΜΕΝΩΣ μεγάλος αριθμός λύσεων Σύνθετο πρόβλημα η μετάβαση από τις προδιαγραφές στη σχεδίαση! Σημαντικές πλευρές: Με ποια στρατηγική πρέπει να αντιμετωπίσουμε τη μετάβαση από τις προδιαγραφές στη σχεδίαση ώστε η εργασία να είναι αποτελεσματική? Ποιος είναι ο καλύτερος τρόπος μετάβασης από τις προδιαγραφές στη σχεδίαση και πώς τεκμηριώνεται αυτό? Πώς δεσμεύεται η σχεδίαση από το περιβάλλον (γλώσσα προγραμματισμού, λειτουργικό σύστημα) στο οποίο θα γίνει η υλοποίηση? Ποια είναι η περισσότερο επαρκής/κατάλληλη περιγραφή σχεδίου λογισμικού? Πώς διασφαλίζεται η ποιότητα του λογισμικού?

7 Καλύτερη λύση? Κριτήρια ποιότητας Καλύτερη δυνατή στις εκάστοτε συνθήκες/συγκεκριμένο περιβάλλον κατασκευής λογισμικού. Κριτήρια ποιότητας σχεδίου λογισμικού: Το σχέδιο πρέπει να ικανοποιεί όλες τις προδιαγραφές των απαιτήσεων από το λογισμικό (λειτουργικές και μη) Το σχέδιο πρέπει να περιγράφει πλήρως όλες τις πλευρές του λογισμικού δεδομένα, λειτουργίες και συμπεριφορά, όπως αυτές θεωρούνται από την πλευρά του κατασκευαστή Το σχέδιο πρέπει να είναι εύκολα κατανοητό από αυτούς που θα κληθούν να συγγράψουν τον πηγαίο κώδικα (προγραμματιστές) Το σχέδιο δεν πρέπει να περιέχει σφάλματα Η Τεχνολογία Λογισμικού παρέχει μεθοδολογίες σχεδίασης που αποτελούν κατευθυντήριες γραμμές για το σχεδιαστή.

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

9 Εννοιολογικό Σχέδιο Conceptual Design Απευθύνεται στον πελάτη Περιγράφει στον πελάτη τι θα κάνει το σύστημα σε σχέση με τις διάφορες πλευρές του (όρια, οντότητες, χαρακτηριστικά, σχέσεις τους) Απαντά σε ερωτήματα όπως: Από πού προέρχονται τα δεδομένα Τι θα συμβεί στα δεδομένα μέσα στο σύστημα Πώς θα δείχνει το σύστημα στους χρήστες Τι επιλογές θα προσφέρονται στους χρήστες Ποιος θα είναι ο χρονισμός των γεγονότων που αφορούν το σύστημα Πώς θα δείχνουν οι αναφορές και οι οθόνες

10 Εννοιολογικό Σχέδιο Conceptual Design Χαρακτηριστικά καλού εννοιολογικού σχεδίου Να είναι γραμμένο στη γλώσσα του πελάτη Να μην περιέχει τεχνικούς όρους (αργκό) Να περιγράφει τις λειτουργίες του συστήματος Να είναι ανεξάρτητο από την κωδικοποίηση/υλοποίηση Να προκύπτει από το έγγραφο απαιτήσεων λογισμικού Να έχει αναφορές στο έγγραφο απαιτήσεων λογισμικού Να ενσωματώνει όλες τις απαιτήσεις με κατάλληλο βαθμό λεπτομέρειας

11 Τεχνικό Σχέδιο Technical Design Λεπτομερέστερο, πιο τεχνικό Απευθύνεται στους προγραμματιστές και περιλαμβάνει: Περιγραφή της μορφής που θα πάρει το σύστημα Αρχιτεκτονική του συστήματος: Περιγραφή των διαφόρων τμημάτων Διάταξη υλικού Ανάγκες σε λογισμικό Δομή του λογισμικού: Ιεραρχία και λειτουργία των συστατικών του λογισμικού Δεδομένα: Περιγραφή της δομής των δεδομένων και της ροής τους Ανάγκες επικοινωνίας Ι/Ο format

12 Εννοιολογικό και Τεχνικό Σχέδιο Παλινδρόμηση μεταξύ εννοιολογικού και τεχνικού σχεδίου ΕΝΝΟΙΟΛΟΓΙΚΟ ΣΧΕΔΙΟ ΤΕΧΝΙΚΟ ΣΧΕΔΙΟ Ο χρήστης θα έχει τη δυνατότητα να στέλνει μηνύματα σε οποιοδήποτε άλλο χρήστη βρίσκεται συνδεδεμένος στο δίκτυο Τοπολογία δικτύου Πρωτόκολλο Ρυθμός σε bps

13 Προσεγγίσεις σχεδίασης Δομημένη σχεδίαση (function oriented) προσανατολισμένη στις διαδικασίες βασίζεται και στις διαδικασίες και στα δεδομένα Αντικειμενοστρεφής σχεδίαση (object oriented) προσανατολισμένη στα αντικείμενα

14 Δομημένη Σχεδίαση Βασίζεται στις διαδικασίες και τα δεδομένα Προτείνει τρόπους αποσύνθεσης από πάνω προς τα κάτω (top-down) σε μια ιεραρχία (διαδικασιών, συναρτήσεων κτλ) Κατεβαίνοντας στην ιεραρχία => μεγαλύτερη λεπτομέρεια =>απλές δομικές μονάδες (π.χ. εντολές γλώσσας προγραμματισμού) Αυτή η ιεραρχία διαδικασιών, συναρτήσεων και άλλων ενεργών μονάδων λογισμικού επιδρά σε ανεξάρτητο σύνολο δεδομένων. Επικέντρωση προσοχής πρώτα στις διαδικασίες και μετά στα δεδομένα

15 Αντικειμενοστρεφής Σχεδίαση Συλλογή οντοτήτων όπου δεν διαχωρίζουν τις διαδικασίες από τα δεδομένα αλλά τα ενσωματώνουν κάτω από το ίδιο «κέλυφος» = κλάση Οι οντότητες αυτές ονομάζονται αντικείμενα Κάθε αντικείμενο παρέχει στο περιβάλλον του ένα σύνολο υπηρεσιών της ευθύνης του. Η συνεργασία του συνόλου των αντικειµένων του πεδίου µιας εφαρµογής λογισµικού παράγει το επιθυµητό αποτέλεσµα. Γνωστές προσεγγίσεις - Meyer (1988), Booch (1994), Jacobson (1993), Rumbaugh (1992) Τα τελευταία χρόνια εµφάνιση «συγχωνευµένων» µεθοδολογιών και ενοποιηµένων συµβολισµών

16 Αποσύνθεση Αποσύνθεση: Από απεικόνιση υψηλού επιπέδου σε λεπτομερέστερες απεικονίσεις χαμηλότερων επιπέδων Αποσαφήνιση του τρόπου ταιριάσματος χαρακτηριστικών και λειτουργιών των τμημάτων του συστήματος

17 Επίπεδα αποσύνθεσης Ανεξάρτητα από προσέγγιση σχεδίασης, κάθε είδος αποσύνθεσης διαχωρίζει το σχέδιο σε μονάδες (modules) ή συστατικά στοιχεία (components) Αρθρωτό (modular) σύστημα: όταν κάθε δραστηριότητα εκτελείται ακριβώς από ένα συστατικό και όταν οι είσοδοι και οι έξοδοι κάθε συστατικού ορίζονται με έγκυρο τρόπο Σωστά ορισμένο (well-defined) συστατικό: όλες οι είσοδοι απαραίτητες και όλες οι έξοδοι αποτέλεσμα μίας ενέργειάς του

18 Χαρακτηριστικά σχεδίου Τμηματικότητα (Modularity): Κάθε δραστηριότητα του συστήματος (απλή ή σύνθετη) εκτελείται από μία μονάδα και οι είσοδοι έξοδοι κάθε μονάδας είναι καλά ορισμένες Μονάδες υψηλού επιπέδου: Βλέπουμε συνολικά το πρόβλημα Δεν εμπλεκόμαστε στις λεπτομέρειες Απομονώνουμε μέρη που είναι πιο δύσκολα Μονάδες χαμηλού επιπέδου: Απομονώνουν συγκεκριμένες λεπτομέρειες

19 Χαρακτηριστικά σχεδίου

20 Χαρακτηριστικά σχεδίου Αφαιρετικότητα: Η κάθοδος σε χαμηλότερο επίπεδο παρέχει μεγαλύτερη λεπτομέρεια Τα υψηλότερα επίπεδα είναι περισσότερο αφαιρετικά, αποκρύπτουν πληροφορία (information hiding) για την ευκολότερη αντιμετώπιση του προβλήματος (αντίστοιχα με OO) Μπορεί να αλλάξει το σχέδιο μιας μονάδας χωρίς να επηρεαστεί ο σχεδιασμός των υπολοίπων

21 Χαρακτηριστικά σχεδίου Ποιότητα σχεδίου ~ βαθμός ανεξαρτησίας μεταξύ των μονάδων - ανεξάρτητα μεταξύ τους συστατικά (δομικές μονάδες) Ευκολότερος έλεγχος, κατανόηση, τροποποίηση Βαθμός ανεξαρτησίας Σύζευξη (coupling) - Συσχέτιση μεταξύ διαφορετικών δομικών μονάδων Συνεκτικότητα (cohesion) - Εσωτερική συνοχή κάθε δομικής μονάδας Στόχος: Χαμηλή σύζευξη & υψηλή συνεκτικότητα

22 Σύζευξη Η σύζευξη αποτελεί ένα μέτρο του κατά πόσο οι μονάδες εξαρτώνται μεταξύ τους Η σύζευξη εξαρτάται από: Κλήσεις από μία μονάδα σε άλλη Ποσότητα δεδομένων που διακινείται από μία μονάδα σε άλλη Το μέγεθος του ελέγχου που έχει μία μονάδα πάνω σε μία άλλη Βαθμός πολυπλοκότητας στη διεπαφή μιας μονάδας με άλλες Υψηλή σύζευξη (High coupling): Αλλαγές σε ένα υποσύστημα προκαλούν αλλαγές σε κάποιο άλλο υποσύστημα (ανάγκη για αλλαγή στην παρουσίαση των δεδομένων, νέα συμβολομετάφραση) Χαμηλή σύζευξη (Low coupling): Αλλαγές σε ένα υποσύστημα δεν προκαλούν αλλαγές σε άλλα υποσυστήματα

23 Σύζευξη

24 Επίπεδα σύζευξης Σύζευξη: κλίμακα εξάρτησης Υψηλή σύζευξη Σύζευξη περιεχομένου Κοινή σύζευξη Χαλαρή σύζευξη Σύζευξη ελέγχου Σύζευξη αποτύπωσης Σύζευξη δεδομένων Μη Σύζευξη

25 Επίπεδα σύζευξης Περιεχομένου: Άμεση τροποποίηση στοιχείων του ενός συστατικού από το άλλο Άμεση χρήση (π.χ. με διακλάδωση) στοιχείων του ενός συστατικού από το άλλο Κοινών δεδομένων: Στην περίπτωση που τα συστατικά προσπελαύνουν κοινά, κεντρικά διαθέσιμα δεδομένα. Ελέγχου: Καθοδηγητής / Καθοδηγούμενος Αποτύπωσης /α ντιγράφου: Δεδομένα (raw) από το ένα συστατικό στο άλλο. Πρέπει να ταιριάζουν οι τύποι, η τιμή, η οργάνωση Δεδομένων Δομές δεδομένων από το ένα συστατικό στο άλλο

26 Σύζευξη περιεχομένου Δύο μονάδες έχουν σύζευξη περιεχομένου (content coupling) εάν κώδικας στη μία μονάδα επηρεάζει και τροποποιεί άμεσα κώδικα στην άλλη μονάδα

27 Κοινή σύζευξη Δύο μονάδες έχουν κοινή σύζευξη (common coupling) εάν κώδικας στη μία μονάδα έχει προσπέλαση (read AND write) σε κοινές μεταβλητές με την άλλη μονάδα Ένα τυπικό παράδειγμα είναι όταν δύο μονάδες διαβάσουν και ενημερώνουν κοινές γενικές μεταβλητές (global variables) Είναι αποδεκτό όμως μία μονάδα να ενημερώνει μια κοινή (γενική) μεταβλητή και οι άλλες μονάδες να διαβάζουν μόνο αυτή τη μεταβλητή Η κοινή σύζευξη δημιουργεί αρκετά προβλήματα κατά τη συντήρηση και αναβάθμιση συστημάτων λογισμικού (δύσκολος να κατανοηθεί κώδικας, μικρές δυνατότητες επαναχρησιμοποίησης, πιθανά προβλήματα σχετικά με την ασφάλεια του συστήματος)

28 Κοινή σύζευξη Μπορούμε να μειώσουμε τη σύζευξη τοποθετώντας δεδομένα σε κοινή περιοχή (π.χ. καθολικές μεταβλητές) Aλλαγές στις καθολικές μεταβλητές επηρεάζουν όλες τις μονάδες που έχουν πρόσβαση σε αυτές Δυσκολία εξακρίβωσης ποια μονάδα άλλαξε μια μεταβλητή

29 Σύζευξη ελέγχου Δύο μονάδες έχουν σύζευξη ελέγχου (control coupling) εάν κώδικας στη μία μονάδα μπορεί να μεταβάλλει (π.χ. με την τιμή μιας μεταβλητής) τη ροή ελέγχου στην άλλη μονάδα. Τυπικά παραδείγματα περιλαμβάνουν όταν μία μονάδα περνάει στην άλλη μονάδα μια παράμετρο που χρησιμοποιείται από κάποια έκφραση συνθήκης που επηρεάζει τη ροή ελέγχου στη δεύτερη μονάδα όταν μονάδα (Α) επιστρέφει στην άλλη μονάδα (Β) ένα αποτέλεσμα που χρησιμοποιείται όχι μόνο για να δηλώσει το αποτέλεσμα ενός υπολογισμού του (Α) αλλά και να ορίσει ποια δράση θα πρέπει η δεύτερη μονάδα (Β) πρέπει να καλέσει (π.χ. να τυπώσει ένα μήνυμα λάθους στο χρήστη)

30 Σύζευξη αποτύπωσης Δύο μονάδες έχουν σύζευξη αποτύπωσης (stamp coupling) εάν η μία μονάδα περνάει σαν παραμέτρους στην άλλη μονάδα περισσότερα δεδομένα απ ότι χρειάζεται. Τυπικό παράδειγμα είναι όταν περνάμε μια κλάση ή μια δομή σαν παράμετρο, αλλά μόνο τα συγκεκριμένα στοιχεία της κλάσης/δομής που χρειάζονται Ουσιαστικά θα πρέπει να προσέχουμε να μην έχουμε τον κώδικα πελάτη να εξαρτάται από ονόματα πεδίων έτσι ώστε να μπορούμε να επαναχρησιμοποιήσουμε αυτόν τον κώδικα Η γενική ιδέα είναι να μεταφέρουμε από μία μονάδα μόνο τα απαραίτητα δεδομένα και τίποτε περισσότερο

31 Σύζευξη δεδομένων Δύο μονάδες έχουν σύζευξη δεδομένων (data coupling) εάν η μία μονάδα περνάει σαν παραμέτρους στην άλλη μονάδα είτε απλούς τύπους δεδομένων είτε τιμές από συγκεκριμένα πεδία κλάσεων / δομών που είναι απολύτως απαραίτητα για τη λειτουργία της δεύτερης μονάδας Μια μονάδα μπορεί να τροποποιήσει τα ίδια τα δεδομένα μιας άλλης μονάδος (κλήση κατ αναφορά) ή να δράσει επάνω σε αντίγραφα των δεδομένων μιας άλλης μονάδος (κλήση κατ αξία)

32 Επιθυμητή σύζευξη Γενικά είναι επιθυμητή η ελαχιστοποίηση της σύζευξης: Ευκολότερη σχεδίαση (δυνατότητα καταμερισμού εργασιών) Ευκολότερος εντοπισμός σφαλμάτων συστήματος Ευκολότερο debugging Ευκολότερος έλεγχος εύκολη απομόνωση ελαττωματικής μονάδας Σε περίπτωσης αλλαγής απαιτήσεων για αντικατάσταση μιας λειτουργίας, η χαμηλή σύζευξη => απευθείας αντικατάσταση μιας μονάδας από άλλη

33 Συνεκτικότητα Αναφέρεται στην εσωτερική συνοχή κάθε μονάδας Αν μία μονάδα είναι συνεκτική (cohesive) => όλα τα τμήματά της προορίζονται και είναι απαραίτητα για την εκτέλεση της ίδιας λειτουργίας Στόχος: η μεγαλύτερη δυνατή συνεκτικότητα κάθε μονάδος Υψηλή συνεκτικότητα (High cohesion): Τα τμήματα σε μια μονάδα προσφέρουν συναφείς υπηρεσίες και, έχουν σχέσεις εταιρικότητας Χαμηλή συνεκτικότητα (Low cohesion): Τα τμήματα σε μια μονάδα προσφέρουν άσχετες μεταξύ τους υπηρεσίες και δεν έχουν σχέσεις εταιρικότητας

34 Επίπεδα συνεκτικότητας Λιγότερο επιθυμητή Τυχαία Συνεκτικότητα (Coincidental Cohesion) Λογική Συνεκτικότητα (Logical cohesion) Χρονική Συνεκτικότητα (Temporal cohesion) Διαδικαστική Συνεκτικότητα (Procedural cohesion) Επικοινωνιακή Συνεκτικότητα (Communicational cohesion) Ακολουθιακή Συνεκτικότητα (Sequential cohesion) Λειτουργική Συνεκτικότητα (Functional cohesion) Περισσότερο επιθυμητή

35 Τυχαία συνεκτικότητα Έχουμε τυχαία συνεκτικότητα όταν τα τμήματα μιας μονάδας είναι εντελώς ασυσχέτιστα, έχουν τυχαίο τρόπο συγκρότησης, έχουν δομηθεί με τρόπο που δεν ακολουθεί κανόνες και αρχές της τεχνολογίας λογισμικού, αλλά άλλους «τυχαίους» κανόνες Η τυχαία συνεκτικότητα είναι η χειρότερη μορφή συνεκτικότητας και σχεδιαστικής δομής

36 Λογική συνεκτικότητα Μία μονάδα έχει λογική συνεκτικότητα εάν οι λειτουργίες της μονάδας είναι λειτουργικά συσχετιζόμενες και έχουν μια γενικά κοινή ροή ελέγχου. Οι διαφορές σε κάθε λειτουργία είναι αποτέλεσμα παραμετροποίησης. Η «λογική» έχει να κάνει με τη γενικά κοινή ροή ελέγχου σε κάθε λειτουργία της μονάδας Οι μονάδες που έχουν λογική συνεκτικότητα έχουν σαν αποτέλεσμα μονάδες που είναι δύσκολο να κατανοηθούν και έχουν υψηλή σύζευξη Η λύση είναι να αναλύσουμε και να μετατρέψουμε τις μονάδες που έχουν λογική συνεκτικότητα σε νέες μονάδες ανάλογα με τις συγκεκριμένες λειτουργίες της κάθε μονάδας και όχι σε σχέση με κάποια κοινά στοιχεία ελέγχου που μπορεί να μοιράζονται λειτουργίες

37 Χρονική συνεκτικότητα Μία μονάδα έχει χρονική συνεκτικότητα όταν στην ίδια μονάδα υπάρχουν τμήματα που υλοποιούν λειτουργίες οι οποίες εκτελούνται γειτονικά στο χρόνο (π.χ. διαδοχικά) Για παράδειγμα εάν θεωρήσουμε μια εφαρμογή να έχει τα παρακάτω βήματα: Τοποθέτηση αρχικών τιμών, εισαγωγή στοιχείων από το χρήστη, επεξεργασία στοιχείων, παραγωγή αποτελεσμάτων, έξοδος στοιχείων Τότε, εάν η μονάδα δομηθεί με κριτήριο τη χρονική συνεκτικότητα τότε θα έχει πέντε υπομονάδες/λειτουργίες. Κάθε υπομονάδα θα έχει οργανωθεί με λειτουργίες με βάση το γεγονός ότι αυτές συμβαίνουν στην ίδια χρονική στιγμή. Ένα σύστημα που έχει δομηθεί με κριτήριο τη χρονική συνεκτικότητα πιθανόν να έχει αρκετά πανομοιότυπα τμήματα πηγαίου κώδικα

38 Διαδικαστική συνεκτικότητα Μία μονάδα έχει διαδικαστική συνεκτικότητα εάν έχει δομηθεί με το κριτήριο ότι οι λειτουργίες της μονάδας σχετίζονται με κάποια ακολουθία βημάτων που θα πρέπει να ακολουθηθούν για την εκτέλεση κάποιας εργασίας Για παράδειγμα, εάν μία μονάδα έχει δομηθεί έτσι ώστε οι λειτουργίες να σχετίζονται με συγκεκριμένα βήματα μιας διαδικασίας όπως εισαγωγή δεδομένων από το πληκτρολόγιο, επιβεβαίωση δεδομένων, αποθήκευση δεδομένων σε μεταβλητές τότε η μονάδα θα έχει διαδικαστική συνεκτικότητα Η διαδικαστική συνεκτικότητα είναι πρακτικά χρονική συνεκτικότητα με τον επιπρόσθετο περιορισμό ότι οι λειτουργίες θα πρέπει να σχετίζονται και σαν βήματα κάποιας συγκεκριμένης διαδικασίας / εργασίας Ένα σύστημα που έχει δομηθεί με κριτήριο τη διαδικαστική συνεκτικότητα πιθανόν να έχει αρκετά πανομοιότυπα τμήματα πηγαίου κώδικα

39 Επικοινωνιακή συνεκτικότητα Μία μονάδα έχει επικοινωνιακή συνεκτικότητα εάν έχει δομηθεί με το κριτήριο ότι οι λειτουργίες της μονάδας σχετίζονται με κάποια ακολουθία βημάτων που θα πρέπει να ακολουθηθούν για την εκτέλεση κάποιας εργασίας ΚΑΙ όλες οι λειτουργίες διαχειρίζονται τα ίδια δεδομένα Η επικοινωνιακή συνεκτικότητα είναι μια βελτίωση της διαδικαστικής συνεκτικότητας διότι όλες οι λειτουργίες διαχειρίζονται τα ίδια δεδομένα του συστήματος. Με άλλα λόγια έχουμε λειτουργίες που σχετίζονται και διαδικαστικά και σε σχέση με τα δεδομένα του συστήματος

40 Ακολουθιακή συνεκτικότητα Μία μονάδα έχει ακολουθιακή συνεκτικότητα εάν η έξοδος από το ένα τμήμα μιας μονάδος αποτελεί είσοδο σε επόμενο τμήμα της μονάδος

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

42 Θέματα ελέγχου Fan-in μιας μονάδας Πλήθος μονάδων που την ελέγχουν Fan-out μιας μονάδας Πλήθος μονάδων που ελέγχει

43 Στόχοι Στόχος 1: Ελαχιστοποίηση αριθμού μονάδων με υψηλό fan-out Μία μονάδα που ελέγχει πολλές άλλες, συνήθως εκτελεί πολλές εργασίες (κακή συνεκτικότητα). Δυσκολία στον εντοπισμό σφαλμάτων, στην τροποποίηση, στην επαναχρησιμοποίηση Στόχος 2: Μεγιστοποίηση αριθμού μονάδων με υψηλό fan-in Μία μονάδα που ελέγχεται από πολλές άλλες, είναι μονάδα γενικής χρησιμότητας και είναι σαφώς προτιμότερο μία λειτουργία που εκτελείται συχνά να βρίσκεται σε μία μονάδα, παρά κατανεμημένη ή υλοποιημένη σε πολλές μονάδες

44 Καλές πρακτικές Χαμηλή σύζευξη => Σύζευξη Δεδομένων Υψηλή συνεκτικότητα => Λειτουργική Συνεκτικότητα Ελαχιστοποίηση του μέγιστου Fan-out του σχεδίου Σχέδιο Α έχει 3 μονάδες με fan-outs = 5, 4, 6 αντίστοιχα Σχέδιο B έχει 4 μονάδες με fan-outs = 7, 1, 3, 2 Καλύτερο το Α Ελαχιστοποίηση των επιπέδων με αύξηση του συνολικού Fan-in Δημιουργία μονάδων που τις «χρησιμοποιούν» αρκετές μονάδες, δηλ. μονάδες που υλοποιούν κοινές υπολειτουργίες Μεταφορά σημείων απόφασης σε υψηλότερα επίπεδα

45 Φάσεις σχεδίασης λογισμικού Αρχιτεκτονική σχεδίαση Ποιες μονάδες συγκροτούν το σύστημα λογισμικού και πώς ανατίθενται για εκτέλεση (διατάσσονται) στις διαθέσιμες υπολογιστικές μονάδες Σχεδίαση διαπροσωπειών Καθορισμός επικοινωνίας μεταξύ μονάδων, με άλλα συστήματα, με άλλες συσκευές και με τον άνθρωπο ποια μονάδα επικοινωνεί με ποια, με ποιες παραμέτρους και με όποιο άλλο στοιχείο απαιτείται για να περιγραφεί επαρκώς η επικοινωνία Λεπτομερής σχεδίαση μονάδων Καθορισμός εσωτερικής δομής κάθε μονάδας λογισμικού, ώστε να ικανοποιούνται οι λειτουργικές απαιτήσεις και να συνεργάζεται με άλλες μονάδες όπως έχει καθοριστεί κατά την αρχιτεκτονική σχεδίαση και τη σχεδίαση δεδομένων Σχεδίαση δεδομένων Καθορισμός δομής και συσχετίσεων δεδομένων

46 Εξέλιξη σχεδίασης λογισμικού Είσοδο στην εργασία της σχεδίασης αποτελούν τα προϊόντα που έχουν παραχθεί κατά τη φάση της προδιαγραφής των απαιτήσεων από το λογισµικό. Η σχεδίαση λογισµικού είναι µια εργασία που προχωρά από τη µικρότερη στη µεγαλύτερη λεπτοµέρεια. Προδιαγραφές των απαιτήσεων από το λογισμικό Σύλληψη περιγράμματος Άτυπη σχεδίαση Λεπτομερής σχεδίαση Σχέδιο λογισμικού

47 Από την ανάλυση απαιτήσεων στη σχεδίαση

48 Προϊόντα σχεδίασης λογισμικού Διάγραμμα Ροής Δεδομένων Έγγραφο Προδιαγραφών Διάγραμμα Μετάβασης Καταστάσεων Διάγραμμα Οντοτήτων- Συσχετίσεων Λεξικό Δεδομένων ΣΧΕΔΙΑΣΗ Αρχιτεκτονικό Σχέδιο Σχέδιο Διαπροσωπειών Σχέδιο Μονάδων Σχέδιο Δεδομένων

49 Δεδομένα και μονάδες λογισμικού στη δομημένη ανάλυση και σχεδίαση Αρχιτεκτονικό Σχέδιο ΜΟΝΑΔΕΣ ΛΟΓΙΣΜΙΚΟΥ Σχέδιο Διαπροσωπειών Σχέδιο Μονάδων Σχέδιο Δεδομένων ΔΕΔΟΜΕΝΑ

50 Αρχιτεκτονική σχεδίαση Προσδιορισμός των µονάδων που αποτελούν το λογισµικό και πώς σχετίζονται µεταξύ τους (σχεδίαση συστήµατος). Στη δοµηµένη σχεδίαση η εργασία αυτή γίνεται λαµβάνοντας ως είσοδο τα διαγράµµατα ροής δεδοµένων. Σε αυτά εφαρµόζεται ένα σύνολο κανόνων και καθορίζονται οι µονάδες λογισµικού που είναι αναγκαίες για την υλοποίηση των µετασχηµατισµών και των ροών δεδοµένων.

51 Αρχιτεκτονική σχεδίαση Διαδοχικά επίπεδα λεπτοµέρειας ξεκινώντας από το 1 ο επίπεδο όπου το λογισμικό θεωρείται ως σύνθετο σύστηµα, που αποτελείται από υποσυστήµατα (2 ο επίπεδο), καθένα από τα οποία αποτελείται από υποσυστήµατα 2ας τάξης (3 ο επίπεδο) κοκ, µέχρι να φτάσουµε στις ατοµικές µονάδες λογισµικού (συναρτήσεις, υπορουτίνες, κτλ.). Σε χαµηλότερο επίπεδο, αναγνώριση «κοινών παραγόντων» - µονάδες λογισµικού που ανήκουν σε περισσότερα από ένα υποσυστήµατα του αµέσως παραπάνω επιπέδου. Το φαινόµενο εµφανίζεται κυρίως µετά από την εκτέλεση της συναρτησιακής αποσύνθεσης (functional decomposition).

52 Επίπεδα αρχιτεκτονικού σχεδίου λογισμικού Σύστημα Υπό-σύστημα 1 ου επιπέδου Υπό-σύστημα 2 ου επιπέδου Υπό-σύστημα 3 ου επιπέδου

53 Κλήσεις μονάδων λογισμικού Επικοινωνία μονάδων λογισµικού μεταξύ τους «Μία µονάδα λογισµικού χρησιµοποιεί άλλες µονάδες» σημαίνει την κλήση προγραµµάτων, υπορουτινών, συναρτήσεων και άλλων δοµικών στοιχείων λογισµικού. Η κλήση µιας µονάδας Β από µια µονάδα Α σηµαίνει: ενεργοποίηση της µονάδας Β η ροή του προγράµµατος µεταφέρεται στη µονάδα Β και εκτελούνται οι εντολές που περιέχονται σε αυτή και επικοινωνία της µονάδας Α µε τη Β µέσω παραµέτρων που περνά η Α στη Β και ενδεχοµένως και αντίστροφα.

54 Σχεδίαση διαπροσωπειών Καθορίζονται οι λεπτοµέρειες του περάσµατος των παραµέτρων σε όλα τα επίπεδα επικοινωνίας Επικοινωνία µονάδων λογισµικού µεταξύ τους Επικοινωνία µονάδων λογισµικού µε εξωτερικά συστήµατα ή συσκευές Επικοινωνία µονάδων λογισµικού µε τον άνθρωπο Καθορισμός των ακόλουθων Ο αριθµός και ο τύπος των παραµέτρων κατά την κλήση µονάδων λογισµικού Το είδος και οι λεπτοµέρειες της επικοινωνίας µε άλλα συστήµατα λογισµικού Το είδος και οι λεπτοµέρειες της επικοινωνίας µε εξωτερικές συσκευές Η επικοινωνία του λογισµικού µε τον άνθρωπο

55 Σχεδίαση διαπροσωπειών Καθορισμός παραµέτρων επικοινωνίας µε άλλες µονάδες λογισµικού της εφαρµογής κατά την αρχιτεκτονική και λεπτοµερή σχεδίαση περιγράφονται στα Διαγράµµατα Δοµής Προγράµµατος και λεπτοµερές σχέδιο µονάδων Σχεδίαση διαπροσωπείας µε τον άνθρωπο εξαιρετικά πολύπλοκο πρόβληµα!

56 Λεπτομερής σχεδίαση μονάδων Περισσότερο λεπτοµερές επίπεδο σχεδίασης Καθορισμός των κατασκευαστικών λεπτοµερειών που απαιτούνται για τη δηµιουργία του πηγαίου κώδικα για τις µονάδες λογισµικού. Είσοδος στη φάση της λεπτοµερούς σχεδίασης µονάδων: αρχιτεκτονικό σχέδιο (από σχεδίαση) σχέδιο διαπροσωπειών (από σχεδίαση) έγγραφο προδιαγραφών απαιτήσεων από το λογισµικό (από απαιτήσεις) διάγραµµα µετάβασης καταστάσεων (από απαιτήσεις) Αποτέλεσµα : λεπτοµερές σχέδιο µονάδων που δίνεται στους προγραµµατιστές για τη συγγραφή του πηγαίου κώδικα

57 Σχεδίαση δεδομένων Σύλληψη δοµής και συσχετίσεων δεδοµένων Καθορίζει πολλά από τα χαρακτηριστικά των λειτουργικών µονάδων λογισµικού Από το λεξικό δεδοµένων και το διάγραµµα οντοτήτωνσυσχετίσεων: Βελτιστοποιήσεις στο ΔΟΣ για βελτιστοποίηση επιδόσεων, πληροφοριακή πληρότητα και εξάλειψη πλεονάζουσας (redundant) πληροφορίας Καθορισμός πεδίων και τύπων πινάκων (φυσικό επίπεδο) Καθορισμός των views των δεδοµένων (λογικό επίπεδο) Αντικείµενο των βάσεων δεδοµένων. Αποτέλεσµα: λεπτοµερής περιγραφή οντοτήτων και συσχετίσεων

58 Διατάξεις Λογισμικού Διάταξη λογισµικού (software deployment): η κατάτµηση µιας εφαρµογής σε ανεξάρτητα λειτουργικά τµήµατα και η ανάθεση αυτών σε διατιθέµενους υπολογιστικούς πόρους (συστήµατα, επεξεργαστές). Αναφορά στη γενική αρχιτεκτονική του λογισµικού Κατηγοριοποίηση των εργασιών που µπορεί να κάνει µια εφαρµογή λογισµικού: εργασίες παρουσίασης εργασίες διαχείρισης δεδοµένων και εργασίες επιχειρησιακής λογικής.

59 Κατηγορίες εργασιών Εργασίες παρουσίασης όλες οι εργασίες που σχετίζονται µε την επικοινωνία του συστήµατος µε το χρήστη και µε εξωτερικές συσκευές και συστήµατα (εργασίες που υλοποιούν τις διαπροσωπείες λογισµικού) Εργασίες διαχείρισης δεδοµένων οι εργασίες που ασχολούνται µε την αποθήκευση και την ανάκτηση δεδοµένων Εργασίες επιχειρησιακής λογικής (business logic) όλες οι υπόλοιπες εργασίες, δηλαδή εκείνες που υλοποιούν τις ιδιαίτερες λειτουργικές απαιτήσεις κάθε εφαρµογής λογισµικού.

60 Μονολιθική διάταξη Η απλούστερη διάταξη λογισµικού - η εφαρµογή τρέχει σε ένα υπολογιστικό σύστηµα. Κατάλληλη για µικρές εφαρµογές µε σχετικά περιορισµένες απαιτήσεις και λειτουργίες - η πρώτη διάταξη που χρησιμοποιήθηκε για µεγάλο χρονικό διάστηµα Διάγραµµα διάταξης λογισµικού (deployment diagram) Μονολιθική Εφαρμογή Λογισμικού Παρουσίαση Επιχειρησιακή Λογική Διαχείριση Δεδομένων

61 Διάταξη πελάτη-εξυπηρετητή Οι εργασίες παρουσίασης και επιχειρησιακής λογικής τρέχουν σε άλλο τµήµα - επικοινωνεί µέσω δικτύου µε τον εξυπηρετητή ΠΡΟΒΛΗΜΑ - η ανάγκη συντήρησης όλων των συστηµάτων πελάτη για όποιες µεταβολές στο επίπεδο της επιχειρησιακής λογικής Ανεπάρκεια συστημάτων πελάτη σε υπολογιστική ισχύ Πελάτης (Client) Εξυπηρετητής (Server) Παρουσίαση Επιχειρησιακή Λογική Διαχείριση Δεδομένων

62 Τριμερής διάταξη Ο πελάτης μένει με την ευθύνη της παρουσίασης - ελαφρύς (thin client) Εξυπηρετητής εφαρµογών - κάνει τις εργασίες του επιπέδου της επιχειρησιακής λογικής Συστήµατα εξυπηρετητών δεδοµένων και εφαρµογών είναι συνήθως µεγάλα κεντρικά υπολογιστικά συστήµατα Απαιτήσεις συντήρησης πελατών µόνο όταν συµβαίνουν µεταβολές στο επίπεδο της παρουσίασης Εξυπηρετητής Δεδομένων (Data Server) Διαχείριση Δεδομένων Παρουσίαση Πελάτης (Thin Client) Εξυπηρετητής Εφαρμογών (Application Server) Επιχειρησιακή Λογική

63 Πολυμερής Διάταξη multi-tier web based Ο πελάτης διαθέτει μόνο δικτυακή σύνδεση και browser. Μηδενικά προβλήματα συντήρησης Προβλήματα ταχύτητας & ασφάλειας Παρουσίαση Εξυπηρετητής Παρουσίασης (Presentation Server) Πελάτης (Web Client) Εξυπηρετητής Δεδομένων (Data Server) Εξυπηρετητής Εφαρμογών (Application Server) Διαχείριση Δεδομένων Επιχειρησιακή Λογική

64 Πηγές / Acknowledgements Β. Βεσκούκης «Τεχνολογία Λογισμικού Ι», ΕΑΠ, ΠΑΤΡΑ, 2000 X. Κούτσικας «Παραγωγή ψευδοκώδικα από διάγραμμα δομής προγράμματος», Εναλλακτικό Διδακτικό Υλικό, ΕΑΠ Χ. Αντωνόπουλος «Ανάπτυξη και Σχεδίαση Λογισμικού», Τμήμα Μηχ. Η/Υ, Τηελεπικοινωνιών και Δικτύων, Παν. Θεσσαλίας, 2007 S. L. Pfleeger, «Τεχνολογία Λογισμικού Θεωρία και πράξη», 2η έκδοση, Τόμοι Α και Β (μετάφραση, εκδ. Κλειδάριθμος) I. Sommerville, «Βασικές αρχές Τεχνολογίας Λογισμικού», 8 η αγγλική έκδοση (μετάφραση, εκδ. Κλειδάριθμος) Roger S. Pressman. Software Engineering - A Practitioner's Approach. McGraw-Hill, 6 th edition, 2005 ΙΕΕΕ Guide to Software Design Descriptions, ANSI/IEEE, Std

Σχεδίαση Συστήματος Λογισμικού

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ. Έννοιες-κλειδιά. Σύνοψη ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ Σκοπός του κεφαλαίου είναι η εισαγωγή της έννοιας της διάταξης λογισμικού, ως αρχιτεκτονικής δόμησης των υπολογιστικών πόρων και της ανάθεσης σε αυτούς συστατικών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα #9: Η σχεδίαση του συστήματος Σταμέλος Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Αρχιτεκτονικές Συστημάτων

Αρχιτεκτονικές Συστημάτων ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Αρχιτεκτονικές Συστημάτων Κατερίνα Πραματάρη Αρχιτεκτονικές Συστημάτων Σχεδίαση και Αρχιτεκτονική Συστήματος Αρχιτεκτονική Πελάτη-Εξυπηρετητή

Διαβάστε περισσότερα

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

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Σκοπός του μαθήματος

Σκοπός του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εισαγωγή Βασικές Έννοιες Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Σκοπός του μαθήματος Η απόκτηση των γνώσεων

Διαβάστε περισσότερα

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

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

Διαβάστε περισσότερα

Τεχνολογία Λογισµικού Ι Κεφάλαιο 4

Τεχνολογία Λογισµικού Ι Κεφάλαιο 4 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 4 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

Διαβάστε περισσότερα

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Βάσεις εδοµένων Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης v.vescoukis@cs.ntua.gr ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Συστήµατα ιαχείρισης Βάσεων

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Αλγόριθµοι, στοιχεία

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Τι είναι Λογισµικό; Προγράµµατα ηλεκτρονικού υπολογιστή οµές δεδοµένων µε µόνιµη

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5 ΔΟΜΗΜΕΝΗ ΣΧΕΔΙΑΣΗ

ΚΕΦΑΛΑΙΟ 5 ΔΟΜΗΜΕΝΗ ΣΧΕΔΙΑΣΗ ΚΕΦΑΛΑΙΟ 5 ΔΟΜΗΜΕΝΗ ΣΧΕΔΙΑΣΗ Σκοπός του κεφαλαίου είναι η παρουσίαση μεθοδολογιών κατάστρωσης και τρόπων περιγραφής του σχεδίου του λογισμικού, σύμφωνα με την προσέγγιση της δομημένης σχεδίασης. Η εμβέλεια

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Εισαγωγή στην Τεχνολογία Λογισµικού Νίκος Παπασπύρου Γιάννης Μαΐστρος Βασίλης

Διαβάστε περισσότερα

Αποτελείται από τρεις (3) τόμους. Τόμος Α : Τεχνολογία Λογισμικού Ι Τόμος Β : Βάσεις Δεδομένων και Τόμος Γ : Λειτουργικά Συστήματα Ι.

Αποτελείται από τρεις (3) τόμους. Τόμος Α : Τεχνολογία Λογισμικού Ι Τόμος Β : Βάσεις Δεδομένων και Τόμος Γ : Λειτουργικά Συστήματα Ι. Διδακτικό Υλικό : Αποτελείται από τρεις (3) τόμους Τόμος Α : Τεχνολογία Λογισμικού Ι Τόμος Β : Βάσεις Δεδομένων και Τόμος Γ : Λειτουργικά Συστήματα Ι. 7/10/2006 EAP-PLH11-Ch01_03 ΙΚΜ 1 Χαρακτηριστικά Διδακτικού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Εισαγωγή στην Τεχνολογία Λογισµικού Βασίλειος Βεσκούκης ρ Ηλεκτρολόγος Μηχανικός

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

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

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Sites:

Διαβάστε περισσότερα

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

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,

Διαβάστε περισσότερα

Ειδικά θέματα τεχνολογίας λογισμικού

Ειδικά θέματα τεχνολογίας λογισμικού Ειδικά θέματα τεχνολογίας λογισμικού Σχεδιασμός λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds @CoolSWEng

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

Διαβάστε περισσότερα

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Σχεδιάση Βάσει Μοντέλου και Ελεγχος Ποιότητας Μοντέλου: Βιβλιογραφική Αναφορά

Σχεδιάση Βάσει Μοντέλου και Ελεγχος Ποιότητας Μοντέλου: Βιβλιογραφική Αναφορά ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ Σχεδιάση Βάσει Μοντέλου και Ελεγχος Ποιότητας Μοντέλου: Βιβλιογραφική Αναφορά Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής ΣΙΜΙΤΣΗ ΚΩΝΣΤΑΝΤΙΝΑ

Διαβάστε περισσότερα

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας

Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας περιεχόμενα παρουσίασης Έλεγχος συνένωσης Συνένωση και οικοδόμηση Ημερήσια οικοδόμηση Συνεχής συνένωση Σχετικές επιδόσεις μεθόδων διασφάλισης ποιότητας Μετρικές

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης. Διοικητική Επιστήμη και Λήψη Αποφάσεων

Πληροφοριακά Συστήματα Διοίκησης. Διοικητική Επιστήμη και Λήψη Αποφάσεων Πληροφοριακά Συστήματα Διοίκησης Διοικητική Επιστήμη και Λήψη Αποφάσεων Η πολυπλοκότητα των αποφάσεων Αυξανόμενη πολυπλοκότητα λόγω: Ταχύτητας αλλαγών στο εξωτερικό περιβάλλον της επιχείρησης. Έντασης

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

Διαβάστε περισσότερα

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ. ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

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

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια Περιεχόμενα Πρόλογος... 11 Κεφάλαιο 1ο. Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο...13 1.2 Πως αναπτύχθηκε η UML...14 1.3 Κατανοώντας την UML...15 1.4 Αναγνωρίζοντας τα επί μέρους τμήματα

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Τεχνολογία Λογισμικού Προαπαιτήσεις Γνώση Αρχών Προγραμματισμού Γνώση Γλώσσας Προγραμματισμού (C++, Java, Pascal) Χρήση Η/Υ (Σχεδίαση, Επεξ. Κειμένου) Κριτική και Συνθετική Ικανότητα Σκοπός μαθήματος Γνωριμία

Διαβάστε περισσότερα

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

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Άξονες

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Μοτίβα Σχεδίασης (Design Patterns)

Μοτίβα Σχεδίασης (Design Patterns) Ενότητα 6 Μοτίβα Σχεδίασης (Design Patterns) Ορισµοί βασικές έννοιες. Σηµαντικά µοτίβα σχεδίασης: Παρατηρητής (Observer). Πρόσοψη (Façade). Προσαρµογέας (Adapter). Πληρεξούσιος (Proxy). Μοναχοπαίδι (Singleton).

Διαβάστε περισσότερα

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

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

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

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την

Διαβάστε περισσότερα

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ Ο κύκλος ζωής λογισµικού (συνοπτικά) Η παραδοσιακή φάση ανάπτυξης του κύκλου ζωής λογισµικού Φάση καθορισµού απαιτήσεων (1/2) ΤΙ πρέπει να κάνει το

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

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

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο 09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

Μοντελοποίηση Πεδίου

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

Διαβάστε περισσότερα

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Ακαδηµαϊκό Έτος 2003-2004, Εαρινό Εξάµηνο ιδάσκων

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

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

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα

Διαβάστε περισσότερα

Λογισµικό (Software SW) Γλώσσες

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής

Διαβάστε περισσότερα

Dynamic Business Systems. Παρουσίαση Εφαρμογής

Dynamic Business Systems. Παρουσίαση Εφαρμογής Παρουσίαση Εφαρμογής Διαχείριση Αποθήκης Ειδών, Μητρώου και Τιμοκαταλόγων Προμηθευτών, Αξιολόγηση Προμηθειών μέσω Προσφορών Ειδών Dynamic Business Systems (Dynamic Supplies) Περιεχόμενα A. Η Εφαρμογή Dynamic

Διαβάστε περισσότερα

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

Δομή και Στόχοι του Μαθήματος - Εισαγωγή ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Δομή και Στόχοι του Μαθήματος - Εισαγωγή Δομή και Στόχοι Μαθήματος Εισαγωγή Στόχοι του μαθήματος Δομή του μαθήματος Εργασία Εισαγωγή

Διαβάστε περισσότερα

Πλαίσιο Εργασιών. Στρατηγικές Ευκαιρίες

Πλαίσιο Εργασιών. Στρατηγικές Ευκαιρίες 1 Πλαίσιο Εργασιών Στρατηγικές Κατευθύνσεις του Οργανισµού 2 3 Στρατηγικές Κατευθύνσεις των ΠΣ Κρίσιµοι Παράγοντες Επιτυχίας του Οργανισµού Κρίσιµοι Παράγοντες Επιτυχίας των ΠΣ 4 Βραχυχρόνια Στρατηγικές

Διαβάστε περισσότερα

ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ. Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων

ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ. Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων 1 Γενικά Εξαιρετικά σηµαντικά: η απόφαση για το που ανήκουν οι µέθοδοι, και πως αλληλεπιδρούν τα αντικείµενα

Διαβάστε περισσότερα

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Προγραμματισμός διαδικτυακών εφαρμογών με PHP ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

Διαβάστε περισσότερα

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S.

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S. Στρατηγική Επιλογή Το ταχύτατα μεταβαλλόμενο περιβάλλον στο οποίο δραστηριοποιούνται οι επιχειρήσεις σήμερα, καθιστά επιτακτική -όσο ποτέ άλλοτε- την ανάπτυξη ολοκληρωμένων λύσεων που θα διασφαλίζουν,

Διαβάστε περισσότερα

BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ BOMIS-V1-2012

BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ BOMIS-V1-2012 BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ 1 - ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ Το σύστημα διαχείρισης

Διαβάστε περισσότερα