ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ. «Υλοποίηση ενός αναλυτή ροής δεδοµένων για Javaπρογράµµατα»

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

Download "ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ. «Υλοποίηση ενός αναλυτή ροής δεδοµένων για Javaπρογράµµατα»"

Transcript

1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ «Υλοποίηση ενός αναλυτή ροής δεδοµένων για Javaπρογράµµατα» Σιδηρόπουλος Κων/νος ΜΜ ΑΘΗΝΑ, ΣEΠΤΕΜΒΡΙΟΣ2013 1

2 2

3 ΠΕΡΙΛΗΨΗ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ «Υλοποιήση ενός αναλυτή ροής δεδομένων για Javaπρογράμματα» Σ αυτή τη πτυχιακή εργασία υλοποιήσαµε και αναλύσαµε έναν αναλυτή ροής δεδοµένων για Javaπρογράµµατα. Η ανάλυση ροής δεδοµένων είναι µια τεχνική για έλεγχο λογισµικού.οι ιδέες και οι τεχνικές του ελέγχου λογισµικού έχουν γίνει βασικές για όλους τους µηχανικούς λογισµικού. Ένας µηχανικός λογισµικού εξασκεί αυτές τις τεχνικές πολλές φορές στη καριέρα του. Θα αναφερθούµε εδώ σε κάποιες βασικές αρχές του ελέγχου λογισµικού. Το λογισµικό είναι ένα βασικό συστατικό σε πολλά συστήµατα που βρίσκονται στη καθηµερινή µας ζωή. Το λογισµικό καθορίζει τη συµπεριφορά δικτυακών δροµολογητών, χρηµατοοικονοµικών δικτύων, του Ιστού, κ.ά.πολλοί καταναλωτές και χρήστες αυτών των εφαρµογών πιστεύουν ότι τα συστήµατα τους θα δουλεύουν συνεχώς µια χαρά. Αν και πολλόι παράγοντες µπορούν να συµβάλλουν στη σωστή λειτουργία του λογισµικού, όπως η σωστή σχεδίαση, ο έλεγχος του λογισµικού είναι η βασική µέθοδος αξιολόγησης του λογισµικού στη βιοµηχανία. Πολλές τεχνικές έχουν προταθεί. Οι µέθοδοι και τεχνικές του ελέγχου λογισµικού έχουν προταθεί απο τη δεκαετία του 1970 και κυρίως τη δεκαετία του 1980 απ το πρωτοπόρο του ελέγχου λογισµικού Barry Boehm ο οποίος εισήγαγε το σπειροειδές µοντέλο για τον έλεγχο του λογισµικού και µελέτησε τις οικονοµικές επιπτώσεις του ελέγχου λογισµικού. Κατά τη δεκαετία του 1990, ο έλεγχος λογισµικού έγινε µια βασική διαδικασία στην ανάπτυξη του λογισµικού και σήµερα οι εταιρείες που ασχολούνται µε την ανάπτυξη λογισµικού ξοδεύουν 40% των εξόδων ανάπτυξης σε έλεγχο λογισµικού και διόρθωση σφαλµάτων. Οι οικονοµικές επιπτώσεις του ελέγχου λογισµικού έιναι πολύ σηµαντικές και γι αυτό έχουν κεντρίσει το ενδιαφέρον πολλών, συµπεριλαµβανοµένων κυβερνήσεων, ερευνητικών ινστιτούτων, πανεπιστηµίων και εταιρειών. Αν ο έλεγχος λογισµικού είναι ανεπαρκής και υπάρχει σφάλµα στις απαιτήσεις που δεν βρεθεί µέχρι να λειτουργήσει το λογισµικό τότε το κόστος διόρθωσης είναι τεράστιο. Το κόστος µπορεί να γίνει ακόµα πιο µεγάλο αν το σφάλµα βρεθεί σε λειτουργία του λογισµικού σε πελάτη και πρέπει να παρθεί πίσω. Αυτό σηµαίνει ότι ο κύκλος ζωής ενός σφάλµατος πρέπει να είναι όσο δυνατόν πιο πίσω και γι αυτό ο έλεγχος του λογισµικού πρέπει να γίνεται απ την αρχή της ανάπτυξης. Ως εκ τούτου η αξιοπιστία ενός συστήµατος βασίζεται πολύ στον αποτελεσµατικό έλεγχο του λογσµικού. Ο έλεγχος του λογισµικού βέβαια δεν µπορεί αν βρεί όλα τα σφάλµατα και δεν βελτιώνει άµεσα την ποιότητα του λογισµικού αλλά µπορεί να το κάνει έµµεσα, µε το να βρίσκει αδυναµίες του συτήµατος και να συγκεντρώνεται η προσοχή σε αυτά τα συστήµατα. Επειδή ο 3

4 έλεγχος του λογισµικού δεν µπορεί να βρεί όλα τα σφάλµατα και ο εξωνυχιστικός έλεγχος µπορεί να οδηγήσει σε οικονοµικές απώλεις, ο έλεγχος του λογισµικού πρέπει να γινεται µε µια σωστά οργανώµενη στρατηγική και πλάνο βασιζόµενη στο κριτήριο του µέγιστου αριθµού σφαλµάτων που επιτρέπονται στο σύστηµα. Πολλές τεχνικές έχουν προταθεί για τον έλεγχο του λογισµικού. Σύµφωνα µε τον Beizer στο βιβλίο του Software Testing Techniques, αυτό που πρέπει να κάνει ένας tester είναι να βρεί έναν κατάλληλο γράφο και να τον καλύψει. Εξαιτίας της οξυδέρκειας του Beizer, µπορούµε να βρούµε πολλές οµοιότητες σε διάφορες τεχνικές του ελέγχου λογισµικού. Φαίνεται όµως ότι οι γράφοι δεν έιναι οι µόνοι που χαρακτηρίζουν τις τεχνικές ελέγχου λογισµικού αλλά απαιτούνται και άλλα αφηρηµένα µοντέλα. Ευτυχώς τα µοντέλα αυτά είναι λίγα και είναι τα: γράφοι, λογικές εκφράσεις, χαρακτηρισµόι του πεδίου εισαγωγής και συντακτικές περιγραφές. Ο έλεγχος λογισµικού θεωρείται από πολλούς ώς η διαδικασία η οποία δείχνει ότι το λογισµικό λειτουργεί σωστά. Ένας καλύτερος ορισµός θα ήταν ότι ο έλεγχος του λογισµικού είναι η διαδικασία για την εύρεση των περισσότερων σφαλµάτων στο λογισµικό. Αν και αυτές οι δυο έννοιες φαίνεται να µην διαφέρουν, παρόλαυτα, υπάρχει µια ουσιώδης διαφορά. Με τον πρώτο ορισµό ο έλεγχος του λογισµικού οδηγείται σε ατέρµονες προσπάθειες και ελέγχους, αυξάνοντας έτσι το κόστος αλλά και οδηγούµενοι προς µια κατεύθυνση όπου αποφεύγουµε να βρούµε τα σφάλµατα.υπάρχουν κάποιες γενικές αρχές οι οποίες επηρεάζουν την διαδικασία του ελέγχου και την κάνουν πιο αποτελεσµατική: Μια υπόθεση ελέγχου (test case) πρέπει να περιέχει σαφώς το αναµενόµενο αποτέλεσµα. Κάθε αποτέλεσµα πρέπει να εξετάζεται. Test cases πρέπει να υπάρχουν τόσο για αναπάντεχες και invalid τιµές όσο και για valid. Το λογισµικό πρέπει να εξετάζεται για πράγµατα που πρέπει να κάνει όσο και για πράγµατα που δεν πρέπει να κάνει. Τα test cases πρέπει να βρίσκονται αποθηκευµένα και να µπορούν να ξαναεκτελεστούν. Ο σχεδιασµός της στρατηγικής ελέγχου πρέπει να γίνεται µε την υπόθεση ότι θα βρεθούν σφάλµατα. Ο αριθµός των σφαλµάτων που υπάρχουν ακόµα στο λογισµικό είναι ανάλογος του αριθµού των σφαλµάτων που ήδη έχουν βρεθεί Η τεχνική ανάλυσης ροής δεδοµένων µας βοηθά στο να δηµιουργήσουµε ένα σύνολο από δεδοµένα ελέγχου βασιζόµενοι σε κάποια κριτήρια, για ένα δεδοµένο πρόγραµµα ή µονάδα κώδικα. Στην ανάλυση ροής δεδοµένων βασικό στοιχείο είναι ο γράφος χρήσης ορισµού. Έχοντας δηµιουργήσει τον γράφο ελέγχου ροής, δηµιουργούµε τον γράφο ορισµού-χρήσης µε το 4

5 να συσχετίσουµε κάθε κόµβο i µε δύο σύνολα, ορισµού και χρήσης υπολογισµού, και κάθε ακµή (i,j) µε ένα σύνολο χρήσης βεβαίωσης. Το σύνολο def(i) είναι το σύνολο των µεταβλητών για τις οποίες ο κόµβος i περιέχει έναν καθολικό ορισµό, c-use(i) είναι το σύνολο των µεταβλητών για τις οποίες ο κόµβος i περιέχει µια καθολική χρήση υπολογισµού και p-use(i,j) είναι το σύνολο των µεταβλητών για τις οποίες η ακµή (i,j) περιέχει µια χρήση βεβαίωσης. Μετά απ αυτό θα ορίσουµε κάποια σύνολα που θα χρειαστούµε αργότερα για την κατασκευή των κριτηρίων ορισµού χρήσης. Έστω ότι i είναι ένας κόµβος και x µια µεταβλητή η οποία ανήκει στο σύνολο def(i), όπως έχουµε ορίσει παραπάνω. Τότε, dcu(x,i) είναι το σύνολο όλων των κόµβων j τέτοιων ώστε η x ν ανήκει στο σύνολο χρήσεων υπολογισµού c-use(j) και για την οποία υπάρχει µονοπάτι καθαρό από ορισµούς µε αναφορά στην µεταβλητή x από το i στο j. Επίσης dpu(x,i) είναι το σύνολο των ακµών (j,k) τέτοιο ώστε η x ν ανήκει στο σύνολο των χρήσεων βεβαίωσης p-use(j,k) και για την οποία υπάρχει µονοπάτι καθαρό από ορισµούς µε αναφορά στην µεταβλητή x από το i στην (j,k). Έστω επίσης ότι P είναι ένα σύνολο από ολοκληρωµένα µονοπάτια σ ένα γράφο ορισµούχρήσης για ένα δεδοµένο πρόγραµµα. Λέµε τότε ότι ένας κόµβος i ανήκει στο P αν το P περιέχει ένα µονοπάτι (n 1,,n m ) τέτοιο ώστε για i=n j για κάποιο j, 1 j m. Οµοίως, µια ακµή (i 1,i 2 ) περιέχεται στο P αν το P περιέχει ένα µονοπάτι (n 1,,n m ) τέτοιο ώστε i 1 =n j και i 2 =n j+1 για κάποιο j, 1 j m-1. Ένα µονοπάτι (i 1,,i k ) περιέχεται στο P αν το P περιέχει ένα µονοπάτι (n 1,,n m ) και i 1 =n j, i 2 =n j+1,..., i k =n j+k-1 για κάποιο j, 1 j m-k+1. Επιπλέον λέµε ότι ένα σύνολο P εκτελείται όταν κάθε µονοπάτι που περιέχεται στο P διασχίζεται κατά την εκτέλεση του προγράµµατος µ ένα σύνολο από δεδοµένα ελέγχου. Έστω ότι G είναι ο γράφος ορισµού-χρήσης, και P ένα σύνολο από ολοκληρωµένα µονοπάτια του G. Τότε: Το Pικανοποιεί το all-nodesκριτήριο αν κάθε κόµβος του Gπεριέχεται στο P. Το Pικανοποιεί το all-edges κριτήριο αν κάθε ακµή του G περιέχεται στο P. Το Pικανοποιεί το all-defsκριτήριο αν για κάθε κόµβο iτου G και κάθε x που ανήκει στο def(i), το Pπεριέχει ένα µονοπάτι που είναι καθαρό από ορισµούς µε αναφορά στην x από το i σε κάποια στοιχεία του dcu(i,x) ή του dpu(i,x). Το Pικανοποιεί το all-p-usesκριτήριο αν για κάθε κόµβο iτου G και κάθε x που ανήκει στο def(i), το Pπεριέχει ένα µονοπάτι που είναι καθαρό από ορισµούς µε αναφορά στην x από το i σε όλα τα στοιχεία του dpu(i,x). Το Pικανοποιεί το all-c-uses/some-p-usesκριτήριο αν για κάθε κόµβο i και κάθε x που ανήκει στο def(i), το P περιέχει κάποια µονοπάτια καθαρά από ορισµούς µε αναφορά στην x από το iσε κάθε κόµβο του dcu(x,i). Αν το dcu(x,i) είναι άδειο τότε το Pπρέπει να περιέχει ένα καθαρό από ορισµούς µονοπάτι µε αναφορά στην xαπό το i σε κάποια ακµή που περιέχεται στο dpu(x,i). Αυτό το κριτήριο απαιτεί ότι κάθε χρήση υπολογισµού της µεταβλητής χ που ορίζεται στο κόµβο iπρέπει να περιέχεται σε κάποιο µονοπάτι του P. Αν δεν υπάρχει τέτοια χρήση υπολογισµού, τότε κάποια χρήση 5

6 βεβαίωσης του ορισµού της x στον i πρέπει να περιέχεται. Ως εκ τούτου για να ικανοποιηθεί αυτό το κριτήριο, κάθε ορισµός ο οποίος δεν χρησιµοποιείται πρέπει να έχει κάποια χρήση που να περιέχεται στα µονοπάτια του P, µε την έµφαση να δίνεται στις χρήσεις υπολογισµού. Το Pικανοποιεί το κριτήριο all-p-uses/some-c-usesαν για κάθε κόµβο iκαι κάθε x που ανήκει στο def(i), το P περιέχει ένα καθαρό από ορισµούς µονοπάτι µε αναφορά στην xαπό το iσε όλα τα στοιχεία του dpu(x,i). Αν το dpu(x,i) είναι άδειο, τότε το Pπρέπει να περιέχει ένα καθαρό από ορισµούς µονοπάτι µε αναφορά στην x από το i σε κάποιο κόµβο στο dcu(x,i). Όπως στην περίπτωση του all-c-uses/some-p-uses, αυτό το κριτήριο απαιτεί κάθε ορισµός που χρησιµοποείται να έχει κάποια χρήση σε κάποιο µονοπάτι στο P.. Σ αυτή τη περίπτωση, ωστόσο, η έµφαση δίδεται στις χρήσει βεβαίωσης. Το Pικανοποιεί το al-usesκριτήριο αν για κάθε κόµβο iκαι κάθε x που ανήκει στο def(i), το Pπεριέχει ένα καθαρό από ορισµούς µονοπάτι µε αναφορά στην x από το i σε όλα τα στοιχεία του dcu(x,i) και όλα τα στοιχεία του dpu(x,i). Ένα µονοπάτι (n 1,,n k ) είναι ελεύθερο από επαναλήψεις (loop-free) αν και µόνο αν n i n j για i j. Το Pικανοποιεί το all-du-pathsκριτήριο αν και µόνο αν για κάθε κόµβο i και κάθε xπου ανήκει στο def(i), το Pπεριέχει κάθε ελεύθερο από επαναλήψεις και καθαρό από ορισµούς µε αναφορά στην x µονοπάτι από το i πρός όλα τα στοιχεία του dpu(x,i) και όλα τα στοιχεία του dcu(x,i). Πρέπει να σηµειωθεί ότι τα ολοκληρωµένα µονοπάτια που περιέχονται στο P δεν είναι ανάγκη να είναι ελεύθερα από επαναλήψεις. Το Pικανοποιεί το all-pathsκριτήριο αν το Pπεριέχει κάθε ολοκληρωµένο µονοπάτι του G. Πρέπει να σηµειωθεί ότι εξαιτίας των επαναλήψεων πολλοί γράφοι έχουν σχεδόν άπειρα ολοκληρωµένα µονοπάτια. Τα κριτήρια all-nodes(κάλυψη εντολών) και all-edges (κάλυψη διακλαδώσεων) χρησιµοποιούνται συχνά στον έλεγχο του λογισµικού παρά το γεγονός ότι είναι πολύ ασθενή κριτήρια. Η έρευνα για ισχυρότερα κριτήρια που κάνουν χρήση των πληροφοριών για την ροή των δεδοµένων οδήγησε πρώτα στο κριτήριο all-defs. Ο λόγος ήταν ότι κάθε ορισµός σ ένα πρόγραµµα περιέχεται από τον προγραµµατιστή επειδή θα χρησιµοποιηθεί αργότερα κάπου και, ως εκ τούτου, ένα καλά ελεγµένο πρόγραµµα θα πρέπει να ελέγξει όλους τους ορισµούς. Ωστόσο, το all-defs απορρίφθηκε ως µη επαρκές κριτήριο επειδή δεν περιέχει το all-edges. Τα σφάλµατα µπορούν να χωριστούν σε σφάλµατα πεδίου, όπου ένα λανθασµένο µονοπάτι επιλέγεται εξαιτίας σφάλµατος στη ροή ελέγχου, και σφάλµατα υπολογισµού, τα οποία συµβαίνουν όταν ένα σωστό µονοπάτι έχει επιλεγεί αλλά µια εντολή ανάθεσης περιέχει ένα λάθος υπολογισµό. Το all-defs µπορεί να εντοπίσει σφάλµατα υπολογισµού αλλά όχι απαραίτητα σφάλµατα πεδίου, ενώ το all-edges µπορεί να εντοπίσει σφάλµατα πεδίου αλλά όχι απαραίτητα σφάλµατα υπολογισµού. Ψάχνοντας για κριτήρια που µπορούν να εντοπίσουν και τα δύο είδη σφαλµάτων, έγινε ο διαχωρισµός των χρήσεων των µεταβλητών σε χρήσεις βεβαίωσης και χρήσεις υπολογισµού. Toall-p-uses είναι το πρώτο κριτήριο στην ανάλυση ροής δεδοµένων το οποίο περιέχει το all-edges,αλλά αυτό πρωτίστως ανιχνεύει τα σφάλµατα πεδίου. Είναι ισχυρότερο από το all-edges επειδή απαιτεί ένα µονοπάτι από κάθε ορισµό µιας µεταβλητής σε 6

7 κάθε δυνατή χρήση βεβαίωσης αυτής τη µεταβλητής, ενώ το all-edges απλά απαιτεί ότι υπάρχει κάποιο µονοπάτι που περιέχει τη χρήση βεβαίωσης. Στην εφαρµογή που έχουµε δηµιουργήσει οι βασικές µας κλάσεις που αντιπροσωπεύουν τις οντότητες που εµπεριέχονται στην ανάλυση ροής δεδοµένων είναι οι: Graph.java, Node.java, Edge.java και dataflowanalyzer.java. Η Graph.java αντιπροσωπεύει τον γράφο ορισµού χρήσης του προγράµµατος ή της µονάδας κώδικα. Η Node.java αντιπροσωπεύει έναν κόµβο του γράφου ορισµού χρήσης. Σ αυτή τη κλάση υπάρχουν µεταβλητές που αντιπροσωπεύουν το σύνολο των µεταβλητών που ορίζονται σ αυτόν τον κόµβο καθώς και το σύνολο των µεταβλητών που γίνεται χρήση υπολογισµού σ αυτόν τον κόµβο. Η Edge.java αντιπροσωπεύει µια ακµή του γράφου ορισµού χρήσης. Σ αυτή τη κλάση υπάρχουν µεταβλητές που αντιπροσωπεύουν το σύνολο των µεταβλητών που γίνεται χρήση βεβαίωσης σ αυτή την ακµή. Η dataflowanalyzer.java είναι η κλάση που περιέχει τις µεθόδους µε τις οποίες βρίσκονται τα µονοπάτια ανάλογα µε το κριτήριο το οποίο επιλέγουµε.για την εύρεση των µονοπατιών έχει γίνει χρήση του αλγορίθµου Depth-FirstSearch. Ο DFS δουλεύει αρχίζοντας από έναν κόµβο, ελέγχωντας τους γειτονικούς και να συνεχίζει στον πρώτο κόµβο που βρίσκει στους γειτονικούς, ελέγχοντας άν αυτός είναι ο προορισµός µας και αν όχι να συνεχίζει να ελέγχει περισσότερους κόµβους. Η επιλογή για την αναπαράσταση του γράφου έχει γίνει σε µια δοµή XML. Η επιλογή που έγινε είναι να χρησιµοποιηθεί ως διεπαφή αρχεία XML, γιατί: Είναι διαδεδοµένο format αρχείων Υπάρχουν έτοιµες βιβλιοθήκες σε Javaγια την επεξεργασία XMLαρχείων Λόγω των παραπάνω είναι ευκολότερη η πιθανή διασύνδεση της εφαρµογής µας µε άλλες εφαρµογές Επιπλέον έχει δηµιουργηθεί και ένα γραφικό περιβάλλον µε το οποίο ο χρήστης επιλέγει το αρχείο XML που αντιστοιχεί στο πρόγραµµα προς εξέταση και µετά επιλέγει το κριτήριο µε το οποίο θέλει να παραχθούν τα µονοπάτια. Τα αποτελέσµατα εµφανίζονται στην οθόνη σε µια περιοχή κειµένου. Τέλος αναλύσαµε δύο προγράµµατα µε την τεχνική ανάλυσης ροής δεδοµένων. Στα προγράµµατα αυτά δηµιουργήσαµε το αρχείο XML που αναπαριστά το γράφο χρήσης ορισµού, φορτώσαµε το αρχείο στην εφαρµογή µας και αναζητήσαµε τα σύνολα των µονοπατιών που εκπληρούν το κριτήριο επιλογής µας. 7

8 SUMMARY Implementation of a data flow analyzer for Java Programs In this thesis we implemented and analyzed a data flow analyzer for Java programs. The data flow analysis is a technique for testing software. The ideas and techniques of software testing have become essential for all software engineers. A software engineer practicing these techniques many times in his career. We will refer here to some basic principles of software testing. Software is a key component in many systems found in our daily life. The software determines the behavior of network routers, financial networks, the web, etc. Many consumers and users of these applications believe that their systems will work all fine. Although many factors can contribute to the proper functioning of the software, such as proper design, software testing is the basic method of evaluation of the software industry. Many techniques have been proposed. The methods and techniques of software testing have been proposed since the 1970s and especially the 1980s from the pioneering software testing Barry Boehm who entered the spiral model for software testing and studied the economic impact of software testing. During the 1990s, the control software was a key process in the development of software companies currently engaged in software development spend 40 % of development costs in software test and error correction. The economic impact of software testing is very important and therefore have fascinated many, including governments, research institutes, universities and companies. If software control is insufficient and there is an error in requirements not found up to operate the software then the cost of correction is enormous. The costs can be even larger if the error is found running the software on client and must be taken back. This means that the life cycle of an error should be as far back as possible and for that software testing should be done from the beginning of development. Therefore, the reliability of a system based on the very effective control of software.software testing of course can not find all the errors and does not directly improve the quality of software, but can do so indirectly, by finding weaknesses in the system and concentrate attention on these systems. Because software testing can not find all the bugs and exhaustive testing can lead to economic losses, software testing should be done in a well organized strategy and plan based on the criterion of the maximum number of errors allowed in the system. Many techniques have been proposed for the control of software. According to Beizer in his book Software Testing Techniques, what should a tester is to find a suitable graph and cover him. Due to the discernment of Beizer, we can find many similarities to various techniques of control software. But it seems that the graphics are not the only ones that characterize the technical control software but further abstract models. Fortunately these models are few and they are : graphs, logical expressions, characterization of the input field and syntactic descriptions. 8

9 The control software is considered by many to be the process which shows that the software works correctly. A better definition would be that software testing is the process for finding several errors in the software. While these two concepts appear to vary the case, however, there is a substantial difference. With the first definition of the control software driven in endless efforts and controls, thus increasing the cost and driven in a direction where to find avoid errors. There are some general principles that affect the audit process and make it more effective : A control case (test case) must contain clearly the expected result. Every effect must be considered. Test cases must be both unexpected and invalid prices and for valid. The software must be tested for things to do and for things not to do. The test cases must be stored and can be retaken. The design of the control strategy should be done with the assumption that errors are found. The number of errors that still exist in software is proportional to the number of errors already found The technique of data flow analysis helps us to create a set of test data based on some criteria, for a given program or code module. In data flow analysis is a key element in the graph use default. Having created the control flow graph, we create the graph definition - use to associate with each node i with two sets, definition and usage calculation, and each edge (i, j) with a set of user certificate. The total def (i) is the set of variables for which node i contains a universal definition, c-use (i) is the set of variables for which node i contains a universal use calculation and p-use (i, j) is the set of variables for which the edge (i, j) contains a certificate use. After that we will define some sets that we will need later to build the definition criteria of use. Assume that i is a node x and a variable which belongs to the set def (i), as we have defined above. Then, dcu (x, i) is the set of all nodes j such that x n ' is of all -purpose calculation c-use (j) and for which a path clear of definitions with reference to the variable x to i j. Also dpu (x, i) is the set of edges (j, k) such that n x ' belongs to all uses acknowledgment p-use (j, k) and for which a path clear of definitions with reference to the variable x i in the (j, k). Suppose that P is a set of integrated paths in a graph definition - use for a given program. Then we say that a node i belongs to P if P contains a path (n1,..., nm) such that for i = nj for some j, 1 j m. Similarly, an edge (i1, i2) is contained in P if P contains a path (n1,..., nm) such that i1 = nj and i2 = nj +1 for some j, 1 j m-1. A path (i1,..., ik) is contained in P if P contains a path (n1,..., nm) and i1 = nj, i2 = nj +1,..., ik = nj + k-1 for some j, 1 j m-k +1. Moreover we say that a set P is executed when each path is contained in P is traversed during the execution of the program with a set of monitoring data. Suppose G is the graph definition - use, and P be a set of integrated paths of G. Then: P satisfies the all-nodes criterion if every node of G contained in P. P satisfies the all-edges criterion if every edge of G is contained in P. P satisfies the all-defs criterion if for every node i of G and every x belonging to def (i), the P contains a path is clear of definitions with reference to x by i in some elements of dcu ( i, x) or 9

10 dpu (i, x). P satisfies the all-p-uses criterion if for every node i of G and every x belonging to def (i), the P contains a path is clear of definitions with reference to x from i to all items of dpu (i, x). P satisfies all-c-uses/some-p-uses criterion if for every node i and every x belonging to def (i), the P contains some paths clear of definitions with reference to x by i in each node in dcu (x, i). If dcu (x, i) is empty then P must contain a clear definition of the reference path of the x i in an edge contained in dpu (x, i). This criterion requires that any use of the calculation of the variable x defined in node i must be contained in some path of P. If no such use calculation, then use a certificate from the definition of x in i must be contained. Therefore to meet this criterion, any definition that is not used should have some use containing the paths of P, the emphasis must be on the use of estimates. P meets the criterion if all-p-uses/some-c-uses for each node i and each x owned def (i), the P comprising a clear definition of the reference path with x i from all elements of dpu (x, i). If dpu (x, i) is empty, then P must contain a clear definition of the reference path of the x i to any node in dcu (x, i). As in the case of all-c-uses/some-p-uses, this criterion requires any definition used have some use in a path in P.. In this case, however, the emphasis is on the use of certificates. P satisfies the al-uses criterion if each and every node i x owned def (i), the P comprising a clear definition of the reference path with x i from all elements of dcu (x, i ) and all elements of dpu (x, i). A path (n1,..., nk) is free from repetition (loop-free) if and only if ni nj for i j. P satisfies the all-du-paths criterion if and only if for each node i and each x owned def (i), each containing a P -free repetition of definitions and net with reference to a path from x i to all elements of dpu (x, i) and all elements of dcu (x, i). It should be noted that the completed paths contained in P need not be free of repetitions. P satisfies the all-paths criterion if P contains each complete path of G. It should be noted that due to many iterations graphs have nearly complete infinite paths. The criteria all-nodes ( statement coverage ) and all-edges ( branch coverage ) are often used in software testing although it is very weak criteria. Research on stronger criteria that make use of information on the flow of data has led to the first criterion all-defs. The reason was that every definition is contained in a program of the programmer will be used later because somewhere and, therefore, a well- tested program should check all the definitions. However, the all-defs rejected because it is not sufficient because it does not contain the all-edges. The errors can be divided into field errors where an incorrect path is chosen because of an error in the flow control, and calculation errors, which occur when a correct path is selected but an assignment statement contains an error calculation. The all-defs can identify calculation errors but not necessarily errors field, while the all-edges can detect errors field but not necessarily calculation errors. Searching for criteria that can detect both types of faults, was the separation of the uses of variables to use the certificate and uses calculation. To all-p-uses is the first criterion to the data flow, which contains the all-edges, but it primarily detects errors field. Is stronger than alledges because it requires a path from every definition of a variable in every possible use attestation for the variable, while the all-edges simply requires that there is a path that contains the use of certificates. In the application we have created our basic classes that represent the entities contained in data flow analysis are : Graph.java, Node.java, Edge.java and dataflowanalyzer.java. The Graph.java 10

11 represents the graph definition using the program or unit code. The Node.java represents a node of the graph definition of use. In this class there are variables that represent all the variables defined in this node and all the variables that are used in this calculation node. The Edge.java represents an edge of the graph definition of use. In this class there are variables that represent all the variables that are used in this certificate acne. The dataflowanalyzer.java is the class that contains the methods that are the paths according to the criterion epilegoume.gia finding paths has been used algorithm Depth-First Search. The DFS works starting from a node elenchontas neighboring and continue to the first nodes in the adjacent, checking if this is our destiny and if not still controls more nodes. The choice for the representation of the graph has become a structure XML. The option chosen is to be used as an interface files XML, because: It is common file format Are there any ready libraries in Java to process XML files Due to the above is the easiest possible interconnection of our application with other applications He has also created a GUI in which the user selects the XML file for the program to be tested and then select the criterion by which we want to generate the paths. The results are displayed on the screen in a text area. Finally we analyzed two programs under data flow analysis technique. These programs have created the XML file that represents the graph using default loaded file to our application and look for the sets of paths that fulfill the criterion choice. 11

12 ΠΡΟΛΟΓΟΣ Η παρούσα πτυχιακή εργασία ολοκληρώνει τον κύκλο σπουδών µου στο µεταπτυχιακό πρόγραµµα «Πληροφοριακά Συστήµατα» του Τµήµατος Πληροφορικής του Οικονοµικού Πανεπιστηµίου Αθηνών. Η εργασία αυτή πραγµατεύεται την υλοποίηση ενός αναλυτή ροής δεδοµένων για Javaπρογράµµατα. Οι ιδέες και οι τεχνικές του ελέγχου λογισµικού έχουν γίνει βασικές για όλους τους µηχανικούς λογισµικού. Ένας µηχανικός λογισµικού εξασκεί αυτές τις τεχνικές πολλές φορές στη καριέρα του.το λογισµικό είναι ένα βασικό συστατικό σε πολλά συστήµατα που βρίσκονται στη καθηµερινή µας ζωή. Το λογισµικό καθορίζει τη συµπεριφορά δικτυακών δροµολογητών, χρηµατοοικονοµικών δικτύων, του Ιστού, τηλεφωνικών κέντρων, κρίµων υποδοµών και άλλων πολλών εφαρµογών.οι οικονοµικές επιπτώσεις του ελέγχου λογισµικού έιναι πολύ σηµαντικές και γι αυτό έχουν κεντρίσει το ενδιαφέρον πολλών, συµπεριλαµβανοµένων κυβερνήσεων, ερευνητικών ινστιτούτων, πανεπιστηµίων και εταιρειών. Στο κεφάλαιο 1 αναφερόµαστε στις τεχνικές ελέγχου λογισµικού Στο κεφάλαιο 2 αναλύουµε την τεχνική data-flow. Συζητάµε στην αρχή για το διαχωρισµό ενός προγράµµατος ή µιας µονάδας ενός προγράµµατος σε βασικές ενότητες και βλέπουµε πώς κατσκευάζουµε το γράφο ελέγχου ροής ενός προγράµµατος (ControlFlowGraph -CFG). Αργότερα δίνουµε τον ορισµό για τα definitionsκαι use µιας µεταβλητής και βλέπουµε πως κατασκευάζεται ο γράφος ροής δεδοµένων (DataFlowGraph DFG). Αναλύουµε τα κριτήρια για την επιλογή των µονοπατιών ροής δεδοµένων και ύστερα παρουσιάζουµε τη στρατηγική που ακολουθήθηκε στην εργασία για την επιλογή των µονοπατιών βασισµένοι στα κριτήρια που έχουν αναλυθεί παραπάνω. Στο κεφάλαιο 3 παρουσιάζουµε την εφαρµογή που δηµιουργήθηκε για να κάνουµε ανάλυση ροής δεδοµένων µε βάση τα κριτήρια που επιλέγουµε. Παρουσιάζουµε επίσης τις βασικές οντότητες του προγράµµατος καθώς και τον τρόπο µε τον οποίο γίνεται η εισαγωγή των προγραµµάτων πρρος ανάλυση. Στο κεφάλαιο 4 παρουσιάζουµε τ αποτελέσµατα που έχουµε πάρει χρησιµοποιώντας την εφαρµογή του αναλυτή ροής δεδοµένων. Παρουσιάζουµε αρχικά το πρόγραµµα που είναι προς εξέταση, το γράφο χρήσης ορισµού του καθώς και το αρχείο XMLπου φορτώθηκε στον αναλυτή ροής δεδοµένων. Ύστερα παρουσιάζουµε τα µονοπάτια στο γράφο που προέκυψαν απ τον αναλυτή ροής δεδοµένων ανάλογα µε το κριτήριο που έχουµε επιλέξει. Τα παραπάνω έχουν γίνει για µια σειρά προγραµµάτων Ωστόσο πριν τη παρουσίαση των αποτελεσµάτων θα ήθελα να ευχαριστήσω όσους µε στήριξαν και µε βοήθησαν αυτά τα χρόνια. 12

13 Κατ αρχάς θα ήθελα να ευχαριστήσω τον υπεύθυνο αυτής της εργασίας, καθηγητή κ.νικόλαο Μαλεύρη. Θα ήθελα να τον ευχαριστήσω για την ευκαιρία που µου έδωσε ν ασχοληθώ µε το συγκεκριµένο θέµα καθώς και για την καθοδήγηση του. Τέλος θα ήθελα να ευχαριστήσω τους γονείς µου, τόσο για την υλική, όσο και για την ψυχική στήριξη που µου προσέφεραν αυτά τα χρόνια. Σεπτέµβριος 2013 Σιδηρόπουλος Κων/νος 13

14 Πίνακας Περιεχομένων ΠΕΡΙΛΗΨΗ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ... 3 «Υλοποιήση ενός αναλυτή ροής δεδοµένων για Java προγράµµατα»... 3 SUMMARY... 8 Implementation of a data flow analyzer for Java Programs... 8 ΠΡΟΛΟΓΟΣ Softwaretesting Γενικά Γενικές αρχές του ελέγχου λογισµικού υναµικός έλεγχος λογισµικού Στατικός έλεγχος Επίπεδα ελέγχου λογισµικού Μέθοδοι ελέγχου Black-box White-box Ανάλυση Ροής εδοµένων Γενικά Βασικές ενότητες Γράφος Ροής Ελέγχου Ορισµός και χρήση µιας µεταβλητής Γράφος ορισµού-χρήσης (def-usegraph) Κριτήρια επιλογής µονοπατιών Αλγόριθµος Depth-First Search (DFS) Αλγόριθµος Yates-Hennell Στρατηγική για την εύρεση των µονοπατιών στον γράφο ορισµού-χρήσης Αναλυτής ροής δεδοµένων Γενικά Γράφος ορισµού χρήσης Κόµβος Ακµή Αναλυτήςροήςδεδοµένων

15 3.5.1 Μέθοδος για το κριτήριο All-Defs Μέθοδος για το κριτήριο All-C-Uses/Some-P-Uses Μέθοδος για το κριτήριο All-P-Uses Μέθοδος για το κριτήριο All-DU-Paths Είσοδος του προγράµµατος προς εξέταση Αποτελέσµατα Αναλυτή Ροής εδοµένων Γενικά Αποτελέσµατα αναλυτή ροής δεδοµένων για το πρόγραµµα trityp.java Αποτελέσµατα αναλυτή ροής δεδοµένων για το πρόγραµµα TestPat.java ΣΥΜΠΕΡΑΣΜΑΤΑ Βιβλιογραφία

16 1. Softwaretesting 1.1 Γενικά Οι ιδέες και οι τεχνικές του ελέγχου λογισµικού έχουν γίνει βασικές για όλους τους µηχανικούς λογισµικού. Ένας µηχανικός λογισµικού εξασκεί αυτές τις τεχνικές πολλές φορές στη καριέρα του. Θα αναφερθούµε εδώ σε κάποιες βασικές αρχές του ελέγχου λογισµικού. Το λογισµικό είναι ένα βασικό συστατικό σε πολλά συστήµατα που βρίσκονται στη καθηµερινή µας ζωή. Το λογισµικό καθορίζει τη συµπεριφορά δικτυακών δροµολογητών, χρηµατοοικονοµικών δικτύων, του Ιστού, τηλεφωνικών κέντρων, κρίµων υποδοµών και άλλων πολλών εφαρµογών. Το λογισµικό είναι βασικό συστατικό ενσωµατωµένων συστηµάτων που ελέγχουν διάφορες εφαρµογές όπως αεροπλάνα, διαστηµόπλοια, ελεγκτές εναέριας κυκλοφορίας αλλά και MP3 players, τηλεοράσεις, αυτοκίνητα και κινητά τηλέφωνα. Πολλοί καταναλωτές και χρήστες αυτών των εφαρµογών πιστεύουν ότι τα συστήµατα τους θα δουλεύουν συνεχώς µια χαρά. Αν και πολλόι παράγοντες µπορούν να συµβάλλουν στη σωστή λειτουργία του λογισµικού, όπως η σωστή σχεδίαση, ο έλεγχος του λογισµικού είναι η βασική µέθοδος αξιολόγησης του λογισµικού στη βιοµηχανία. Πολλές τεχνικές έχουν προταθεί. Οι µέθοδοι και τεχνικές του ελέγχου λογισµικού έχουν προταθεί απο τη δεκαετία του 1970 και κυρίως τη δεκαετία του 1980 απ το πρωτοπόρο του ελέγχου λογισµικού Barry Boehm ο οποίος εισήγαγε το σπειροειδές µοντέλο για τον έλεγχο του λογισµικού και µελέτησε τις οικονοµικές επιπτώσεις του ελέγχου λογισµικού. Κατά τη δεκαετία του 1990, ο έλεγχος λογισµικού έγινε µια βασική διαδικασία στην ανάπτυξη του λογισµικού και σήµερα οι εταιρείες που ασχολούνται µε την ανάπτυξη λογισµικού ξοδεύουν 40% των εξόδων ανάπτυξης σε έλεγχο λογισµικού και διόρθωση σφαλµάτων. Οι οικονοµικές επιπτώσεις του ελέγχου λογισµικού έιναι πολύ σηµαντικές και γι αυτό έχουν κεντρίσει το ενδιαφέρον πολλών, συµπεριλαµβανοµένων κυβερνήσεων, ερευνητικών ινστιτούτων, πανεπιστηµίων και εταιρειών. Αν ο έλεγχος λογισµικού είναι ανεπαρκής και υπάρχει σφάλµα στις απαιτήσεις που δεν βρεθέι µέχρι να λειτουργήσει το λογισµικό τότε το κόστος διόρθωσης είναι τεράστιο. Το κόστος µπορεί να γίνει ακόµα πιο µεγάλο αν το σφάλµα βρεθεί σε λειτουργία του λογισµικού σε πελάτη και πρέπει να παρθεί πίσω. Αυτό σηµαίνει ότι ο κύκλος ζωής ενός σφάλµατος πρέπει να είναι όσο δυνατόν πιο πίσω και γι αυτό ο έλεγχος του λογισµικού πρέπει να γίνεται απ την αρχή της ανάπτυξης. 16

17 Ως εκ τούτου η αξιοπιστία ενός συστήµατος βασίζεται πολύ στον αποτελεσµατικό έλεγχο του λογσµικού. Ο έλεγχος του λογισµικού βέβαια δεν µπορεί αν βρεί όλα τα σφάλµατα και δεν βελτιώνει άµεσα την ποιότητα του λογισµικού αλλά µπορεί να το κάνει έµµεσα, µε το να βρίσκει αδυναµίες του συτήµατος και να συγκεντρώνεται η προσοχή σε αυτά τα συστήµατα. Επειδή ο έλεγχος του λογισµικού δεν µπορεί να βρεί όλα τα σφάλµατα και ο εξωνυχιστικός έλεγχος µπορεί να οδηγήσει σε οικονοµικές απώλεις, ο έλεγχος του λογισµικού πρέπει να γινεται µε µια σωστά οργανώµενη στρατηγική και πλάνο βασιζόµενη στο κριτήριο του µέγιστου αριθµού σφαλµάτων που επιτρέπονται στο σύστηµα. Πολλές τεχνικές έχουν προταθεί για τον έλεγχο του λογισµικού. Σύµφωνα µε τον Beizer στο βιβλίο του Software Testing Techniques, αυτό που πρέπει να κάνει ένας tester είναι να βρεί έναν κατάλληλο γράφο και να τον καλύψει. Εξαιτίας της οξυδέρκειας του Beizer, µπορούµε να βρούµε πολλές οµοιότητες σε διάφορες τεχνικές του ελέγχου λογισµικού. Φαίνεται όµως ότι οι γράφοι δεν έιναι οι µόνοι που χαρακτηρίζουν τις τεχνικές ελέγχου λογισµικού αλλά απαιτούνται και άλλα αφηρηµένα µοντέλα. Ευτυχώς τα µοντέλα αυτά είναι λίγα και είναι τα: γράφοι, λογικές εκφράσεις, χαρακτηρισµόι του πεδίου εισαγωγής και συντακτικές περιγραφές. 1.2 Γενικές αρχές του ελέγχου λογισμικού Ο έλεγχος λογισµικού θεωρείται από πολλούς ώς η διαδικασία η οποία δείχνει ότι το λογισµικό λειτουργεί σωστά. Ένας καλύτερος ορισµός θα ήταν ότι ο έλεγχος του λογισµικού είναι η διαδικασία για την εύρεση των περισσότερων σφαλµάτων στο λογισµικό. Αν και αυτές οι δυο έννοιες φαίνεται να µην διαφέρουν, παρόλαυτα, υπάρχει µια ουσιώδης διαφορά. Με τον πρώτο ορισµό ο έλεγχος του λογισµικού οδηγείται σε ατέρµονες προσπάθειες και ελέγχους, αυξάνοντας έτσι το κόστος αλλά και οδηγούµενοι προς µια κατεύθυνση όπου αποφεύγουµε να βρούµε τα σφάλµατα. Υπάρχουν κάποιες γενικές αρχές οι οποίες επηρεάζουν την διαδικασία του ελέγχου και την κάνουν πιο αποτελεσµατική: Μια υπόθεση ελέγχου (test case) πρέπει να περιέχει σαφώς το αναµενόµενο αποτέλεσµα. Κάθε αποτέλεσµα πρέπει να εξετάζεται. Test cases πρέπει να υπάρχουν τόσο για αναπάντεχες και invalid τιµές όσο και για valid. Το λογισµικό πρέπει να εξετάζεται για πράγµατα που πρέπει να κάνει όσο και για πράγµατα που δεν πρέπει να κάνει. 17

18 Τα test cases πρέπει να βρίσκονται αποθηκευµένα και να µπορούν να ξαναεκτελεστούν. Ο σχεδιασµός της στρατηγικής ελέγχου πρέπει να γίνεται µε την υπόθεση ότι θα βρεθούν σφάλµατα. Ο αριθµός των σφαλµάτων που υπάρχουν ακόµα στο λογισµικό είναι ανάλογος του αριθµού των σφαλµάτων που ήδη έχουν βρεθεί Δυναμικός έλεγχος λογισμικού Ο δυναµικός έλεγχος του λογισµικού είναι ο πιο γνωστός τρόπος ελέγχου του λογισµικού. Τόσο ώστε να θεωρείται ότι ο έλεγχος του λογισµικού είναι µόνο ο δυναµικός έλεγχος. Υπάρχουν δύο βασικές κατηγορίες δυναµικού ελέγχου: Το black-box testing και το white-box testing. Η διαφορά αυτών των δύο τεχνικών βρίσκεται στο που επικεντρώνεται ο καθένας και ποιό είναι το εύρος του. Στο black-box testing δεν µας ενδιαφέρει η εσωτερική οργάνωση και ο τρόπος µε τον οποίο έχει προγραµµατιστεί το σύστηµα ή η µονάδα που ελέγχεται, αλλά το θεωρούµε ως µαύρο κουτί, εξού και το όνοµα της τεχνικής. Αυτό που κάνουµε έιναι να τροφοδοτούµε το σύστηµα µε δεδοµένα εισόδου και να λαµβάνουµε τ αποτελέσµατα. Τα αποτελέσµατα κρίνονται ως προς την ορθότητα τους µε βάση τις προδιαγραφές του συστήµατος. Με αυτό το τρόπο λοιπόν εξετάζουµε αν το σύστηµα πληροί τις προδιαγραφές µε τις οποίες έχει σχεδιαστεί. Ένας κίνδυνος σε αυτή τη τεχνική ελέγχου είναι να τροφδοτούµε το σύστηµα µε πάρα πολλές τιµές και να αυξηθεί υπερβολικά ο αριθµός των test cases χωρίς απαραίτητα να βρίσκονται πιθανά σφάλµατα που υπάρχουν. Γι αυτό ο έλεγχος του λογισµικού πρέπει να γίνεται προσεκτικά, ώστε να υπάρχει ένας αποδεκτός αριθµός test cases και να καλύπτουν όσο γίνεται µεγαλύτερο εύρος τιµών. Στο white-box testing η εσωτερική οργάνωση του λογισµικού θεωρείται γνωστή και αναλόγως σχεδιάζονται τα test cases. Εδώ ο κύριος σκοπός του ελέγχου αυτού είναι να ο έλεγχος κάλυψης (coverage testing). Προσπαθούµε να σχεδιάσουµε test cases ώστε να καλύψουµε κάθε πιθανό statement του λογισµικού ή κάθε πιθανή λογική διακλάδωση. Ακόµα και αυτή η τεχνική υποφέρει απ το ότι µπορεί να υπάρχει εξαντλητικός έλεγχος όλων των µονοπατιών του λογισµικού, αυξάνοντας έτσι το κόστος του ελέγχου. Υπάρχει και µιά άλλη µέθοδος η οποία είναι συνδυασµός των δυο παραπάνω και αποκαλείται grey-box testing που είναι ουσιαστικά black-box testing µε µερική γνώση κάποιων µερών του λογισµικού. Σκοπός αυτής της γνώσης των µερών του λογισµικού είναι ο καλύτερος συνδυασµός των test-cases Στατικός έλεγχος Ο στατικός έλεγχος είναι η οπτική επιθεώρηση (inspection) και το review του κώδικα. Με αυτή τη µέθοδο, ο κώδικας δεν µπαίνει σε χρήση αλλά επιθεωρείται οπτικά, δηλαδή διαβάζεται. 18

19 Θεωρείται µια αρκετά καλή πρακτική µε βάση την αποτελεσµατικότητα που έχει στο κόστος και την εύρεση πιθανών σφαλµάτων και γι αυτό συνίσταται. Ο πιο διαδεδοµένος τρόπος στατικού ελέγχου είναι το code review. Σ αυτό ο κώδικας επιθεωρείται από έναν αριθµό ατόµων που συχνά είναι τρεις µε πέντε. Η ιδανική οµάδα του review απαρτίζεται από αυτόν που έχει γράψει το κώδικα, έναν υπεύθυνο για το review, άλλον έναν developer και έναν tester. Ο υπέυθυνος του review κανονίζει τα διαδικαστικά θέµατα και φροντίζει να καταγράφει τα πιθανά σφάλµατα που βρίσκονται. Τα άλλα µέλη της οµάδας ασχολούνται αποκλειστικά µε το review του κώδικα. Ο κώδικας θα πρέπει να είναι διαθέσιµος νωρίτερα σε κάθε ένα απ τα µέλη της οµάδας. Ο κώδικας επιθεωρείται και για να βρεθούν προγραµµατιστικά λάθη, καθώς και να εξεταστεί η δοµή και οι αλγοριθµικές αποφάσεις καθώς εκεί βρίσκονται πολλά σφάλµατα που δεν µπορούν να εντοπιστούν κατά το δυναµικό έλεγχο. Σκοπός του code review είναι να εντοπίσει σφάλµατα και πιθανούς κινδύνους αλλά όχι να τα διορθώσει. Ένα πλεονέκτηµα αυτής της µεθόδου είναι ότι πολλά σφάλµατα βρίσκονται και το σηµείο που βρίσκονται αυτά είναι γνωστό. Γι αυτό το λόγο η διαδικασία επίλυσης των σφαλµάτων επιταχύνεται και πολλά σφάλµατα βρίσκονται άµεσα. Άλλα έγγραφα επίσης γίνονται review, όπως τα έγγραφα µε τις προδιαγραφές, τα test plans και άλλα. Το review που γίνεται στα έγγραφα µε τις προδιαγραφές του λογισµικού πρέπει να είναι πολύ προσεκτική, καθώς λάθη που µπορεί να υπάρχουν στα έγγραφα µε τις προδιαγραφές µπορεί να είναι πολύ επικίνδυνο και να βάλουν σε κίνδυνο όλο το έργο, ειδκά αν το λγοσιµικό που αναπτυχθεί δεν καλύπτει τις απαιτήσεις των πελατών. 1.3 Επίπεδα ελέγχου λογισμικού Ο έλεγχος του λογισµικού µπορεί να χωριστεί σε τέσσερα επίπεδα: unit testing, integration testing, system testing και acceptance testing. Τα διάφορα επίπεδα του ελέγχου λογισµικού εκτελέλουνται απο διαφορετικούς µηχανικούς και σε διαφορετικά επίπεδα της ανάπτυξης του λογισµικού έτσι ώστε η διαδικασία του ελέγχου να µπορεί να οργανωθεί καλύτερα. Τα επίπεδα του λογισµικού καθορίζουν ποιός ελέγχει τι και πότε. οµεί τη διαδικασία του ελέγχου από µικρά αποµονωµένα κοµµάτια σε χαµηλότερο επίπεδο µέχρι συστατικά ή υποσυστήµατα σε υψηλότερο επίπεδο. Ένας διαχωρισµός των χαµηλότερων επιπέδων απ τα υψηλότερα είναι η θέση που έχει ο κάθε έλεγχος στο κύκλο ανάπτυξης του λογισµικού. Το unit testing είναι το χαµηλότερο επίπεδο της διαδικασίας ελέγχου, όπου ανεξάρτητες µονάδες του λογισµικού ελέγχονται. Η µονάδα είναι το µικρότερο ελέγξιµο κοµµάτι του λογισµικού, που συνήθως είναι µια λειτουργία. Αυτό το επίπεδο ελέγχου συνήθως γίνεται από τους developers σαν µέρος της διαδικασίας του test driven development. Στο unit testing χρησιµοποείται white box µέθοδος λόγω του µεγέθους και της απλότητας της µονάδας που ελέγχεται. Σκοπός είναι η εύρεση των περισσοτέρων σφαλµάτων, καθώς η διόρθωση τπυς σε αυτό το επίπεδο είναι πολύ πιο εύκολη και λιγότερο κοστοβόρα απ ότι σε µεταγενέστερο στάδιο 19

20 της ανάπτυξης του λογισµικού. Το unit testing αυξάνει επίσης τη αντοχή του λογισµικού σε σφάλµατα καθώς κάθε φορά που γίνεται µια αλλαγή, τα test scripts ξανατρέχουν και επιβεβαιώνουν ότι δεν έσπασε κάποια υπάρχουσα λειτουργία του λογισµικού. Εξαιτίας της πληθώρας των σφαλµάτων που µπορούν να βρεθούν σ αυτό το επίπεδο το unit testing θεωρείται ως το πιο σηµαντικό επίπεδο ελέγχου του λογισµικού. Το integration testing είναι το επίπεδο εκέινο όπου οι µονάδες λογισµικού συνδέονται και σχηµατίζουν λειτουργικές οµάδες. Η έµφαση σ αυτό το επίπεδο δίνεται στις διεπαφές των µονάδων και τις αλληλεπιδράσεις των µονάδων µεταξύ τους. Σ αυτό το επίπεδο µπορει να χρησιµοποιηθει black-box, white-box ή grey-box µέθοδος, ανάλογα µε τη πολυπλοκότητα της λειτουργικής οµάδας. Το integration testing µπορεί να γίνει από developers ή από ανεξάρτητη οµάδα testers. Το system testing είναι το υψηλότερο επίπεδο ελέγχου του λογισµικού όπου ολόκληρο το σύστηµα ελέγχεται. Σε embedded συστήµατα ο έλεγχος γίνεται σε κάποιο πρωτότυπο όπου ελέγχεται η λειτουργικότητα του λογισµικού σστη πλατφόρµα για την οποία προορίζεται µε black-box µέθοδο. Το system testing έχει ώς σκοπό την εύρεση σφαλµάτων όπου το λογισµικό δεν ανταποκρίνεται στις απαιτήσεις µε τις οποίες έχει σχεδιαστεί. Το system testing γίνεται από ανεξάρτητες οµάδες ελέγχου ή σε µικρά έργα από developers. Το acceptance testing είναι το τελικό στάδιο του ελέγχου και όλο το σύστηµα υπόκειται σε έλεγχο ώστε να εξακριβωθεί αν οι αρχικές απαιτήσεις που είχε θέσει ο πελάτης εκπληρώνονται και το λογισµικό είναι έτοιµο για να δωθεί. Συνήθως στο acceptance testing τα σφάλµατα που βρίσκονται είναι λίγα και όχι σηµαντικά,και κατα προτίµηση κανένα. Σε πολλές περιπτώσεις το acceptance testing το κάνει ο ίδιος ο πελάτης. 1.4 Μέθοδοι ελέγχου Black-box Όπως έχει αναφερθεί και νωρίτερα ο έλεγχος όλων των δυνατών τιµών εισόδου οδηγεί στο να υπάρχουν πρακτικά άπειρα test cases. Θα πρέπει λοιπόν αυτά τα test cases να µειωθούν σ έναν αριθµό που να είναι εκτελέσιµα σε λογικό χρόνο. υο τεχνικές έχουν προυαθεί γι αυτό το λόγο: Η τµηµατοποίηση ισοδυναµίας (equivalence partitioning) και η ανάλυση συνοριακών τιµών (boundary-value analysis). Στην τµηµατοποίηση ισοδυναµίας οι τιµές εισόδου χωρίζονται σε δύο ή περισσότερα τµήµατα ανάλογα µε τη λειτουργία της µονάδας υπό έλεγχο. Οι κλάσεις τµηµατοποίησης είναι τµήµατα τιµών εισόδου οι οποίες ανήκουν σε valid ή invalid κλάσεις ισοδυναµίας. Έτσι κάθε τιµή στο πεδίο τιµών εισόδου µπορεί να θεωρηθεί ότι είναι είτε valid τιµή είτε invalid. Για παράδειγµα αν µια µονάδα δέχεται ώς είσοδο τίµες ηλεκτρικής τάσης στο πεδίο 0.0 V 5.0, τ τοε µπορύµε να πούµε ότι έχουµε τις εξής κλάσεις ισοδυναµίας: τιµές valid 0.0 V 5.0, τιµές invalid V<0.0 και τιµές invalid V>

21 Με την ανάλυση συνοριακών τιµών τα test cases δηµιουργούνται από τις κλάσεις ισοδυναµίας. Σ αυτή τη τεχνική τα test cases εξερευνούν τις συνοριακές συνθήκες των κλάσεων ισοδυναµίας. Στο προηγούµενο παράδειγµα τα test cases θα ήταν οι τιµές 0.0, , 5.0, Με αυτά τα test cases µπορούν να βρεθούν σφάλµατα σύγκρισης. Σε πολλές περιπτώσεις θα ήταν χρήσιµο να αναλύσουµε τα όρια των εξόδων και να δηµιουργήσουµε test που θα τα ξεπερνούν. Στην πράξη η ανάλυση συνοριακών τιµών µπορεί αν είναι µια προκλητική διαδικασία εξαιτίας της δηµιουργικότητας που απαιτεί αλλά και της ειδίκευσης στο συγκεκριµένο πρόβληµα. Πέραν αυτών των τεχνικών µπορεί να υιοθετηθεί και µια τεχνική µαντέµατος σφαλµάτων όπου δοκιµάζονται τιµές εκτός των κλάσεων ισοδυναµίας, όπως invalid τύποι δεδοµένων, κενές τιµές ή τίµες οι οποίες είναι πιθανό να προκαλέσουν σφάλµα. Αυτό βέβαια απαιτεί εµπειρία White-box Ο έλεγχος κάλυψης λογικών µονοπατιών είναι µια white-box τεχνική. Όπως έχει ήδη αναφερθεί ο πλήρης έλεγχος όλων των λογικών µονοπατιών οδηγεί σε πρακτικά άπειρα test cases. Γι αυτο, πρέπει τα µονοπάτια που ελέγχονται να µειωθούν αλλά να ικανοποιείται ένα λογικό επίπεδο κάλυψης. Κάτι τέτοιο είναι µια πρόκληση. Ο έλεγχος κάλυψης προτάσεων είναι ένας έλεγχος όπου κάθε πρόταση µιάς µονάδας υπό έλεγχο εκτελείται. Αυτός ο έλεγχος είναι πολύ αδύναµος καθώς αγνοεί πιθανές διακλαδώσεις του προγράµµατος. Για την ακρίβεια είναι τόσο αδύναµος που είναι σχεδόν άχρηστος. Πιο ισχυρός έλεγχος κάλυψης είναι ο έλεγχος κάλυψης αποφάσεων. Σ αυτό τον έλεγχο τα test cases γράφονται ώστε κάθε κλάδο απόφασης να παίρνει µια τιµή true ή false τουλάχιστον µια φορά κατα την εκτέλεση του ελέγχου. Αποφάσεις διακλάδωσης αφορούν τα switch-case, while, if-else που υπάρχουν στο κώδικα. Αυτό συνήθως καλύπτει και τον έλεγχο προτάσεων αν και καλό είναι να διασφαλίζεται. Η κάλυψη αποφάσεων είναι ισχυρότερη απ τη κάλυψη προτάσεων αν και αυτή παραµένει αδύναµη καθώς πολλές αποφάσεις µπορούν να παρακαµφθούν. Ο έλεγχος κάλυψης συνθηκών είναι το επόµενο ισχυρότερο κριτήριο. Σ αυτή τη τεχνική κάθε συνθήκων παίρνει όλες τις δυνατές τιµές κατα τη διάρκεια του ελέγχου. Επιπλέον για να κερδίσουµε απ αυτό το κριτήριο πρέπει να χρησιµοποιήσουµε και την κάλυψη προτάσεων. Ο έλεγχος κάλυψης συνθηκών και ο έλεγχος κάλυψης αποφάσεων µπορούν να συνδυαστούν ώστε να επιτύχουµε ένα αποδεκτό επίπεδο λογικής κάλυψης. Η επιλογή του κριτηρίου εξαρτάται από τη δοµή της µονάδας υπό έλεγχο. Για προγράµµατα που περιέχουν µια µόνο συνθήκη ανά απόφαση τότε µπορούµε να χρησιµοποιήσουµε έλεγχο κα λυψης αποφάσεων. Αν όµως υπάρχουν παραπάνω συνθήκες για µια απόφαση τότε είναι καλύτερο να χρησιµοποιήσουµε έλεγχο κάλυψης συνθηκών. 21

22 2. Ανάλυση Ροής Δεδομένων 2.1 Γενικά Σ αυτό το κεφάλαιο θα αναλύσουµε την τεχνική data-flow. Θα συζητήσουµε στην αρχή για το διαχωρισµό ενός προγράµµατος ή µιας µονάδας ενός προγράµµατος σε βασικές ενότητες και θα δούµε πώς κατσκευάζουµε το γράφο ελέγχου ροής ενός προγράµµατος (ControlFlowGraph - CFG). Αργότερα θα δώσουµε τον ορισµό για τα definitionsκαι use µιας µεταβλητής και θα δούµε πως κατασκευάζεται ο γράφος ροής δεδοµένων (DataFlowGraph DFG). Θα αναλύσουµε τα κριτήρια για την επιλογή των µονοπατιών ροής δεδοµένων και ύστερα θα παρουσιάσουµε τη στρατηγική που ακολουθήθηκε στην εργασία για την επιλογή των µονοπατιών βασισµένοι στα κριτήρια που έχουν αναλυθεί παραπάνω. Για να γίνει αυτό, θα αναλύσουµε αρχικά κάποιους αλγορίθµους που χρησιµοποιούνται για την παραγωγή µονοπατιών σε γράφους. 2.2 Βασικές ενότητες Κάθε πρόγραµµα µπορεί να χωριστεί σε ξεχωριστές ενότητες που έχουν την ιδιότητα όταν εκτελείται η πρώτη εντολή της ενότητας, οι υπόλοιπες εντολές να εκτελούνται σε σειρά µετά απ αυτήν. Εποµένως έχουµε τον εξής ορισµό: Όρισµός Βασική Ενότητας: Βασική ενότητα είναι η µέγιστη ακολουθία από εντολές στην οποία η ροή ελέγχου εισέρχεται µόνο απ την αρχή της (δηλαδή την πρώτη εντολή) και εξέρχεται µόνο από το τέλος της (δηλαδή την τελευταία εντολή). Σε µια βασική ενότητα απαγορεύεται η ύπαρξη ενδιάµεσων αλµάτων, δηλαδή αν εκτελεστεί η πρώτη εντολή τότε θα πρέπει να εκτελεστούν και όλες οι υπόλοιπες. Η παραπάνω πρόταση απορρέει άµεσα απ τον ορισµό της βασική ενότητας. Πιο φορµαλιστικά, µπορούµε να πούµε ότι µια βασική ενότητα είναι ένα σύνολο εντολών b=<s 1,s 2, s n >τέτοιο ώστε αν n>1 για i=2,3, n η εντολή s i είναι ο µοναδικός εκτελεστικά ακόλουθος(executionalsuccessor) της s i-1 και η s i-1 ο µοναδικός εκτελεστικά πρόγονος της s i. Για τον χωρισµό του προγράµµατος σε βασικές ενότητες σηµείο αναφοράς αποτελούν οι εντολές οι οποίες επηρεάζουν τη ροή ελέγχου του προγράµµατος. Τέτοιες εντολές είναι οι if-then-else, switch,while,for και άλλες. Ένα παράδειγµα του χωρισµού ενός προγράµµατος σε βασικές ενότητες φαίνεται παρακάτω. Έστω ότι έχουµε τον εξής κώδικα (σε Java): if (c==5) { System.out.println( if statement ); else { 22

23 System.out.println( else statement ); Εδώ η ροή του προγράµµατος σπάει ανάλογα µε την τιµή της µεταβλητής c και υπάρχουν δύο επιλογές για την εκτέλεση του προγράµµατος. Αν το cείναι ίσο µε 5 τοτε εκτελείται η εντολή System.out.println( ifstatement ) αλλιώς εκτελείται η εντολή System.out.println( elsestatement ). Εποµένως ο χωρισµό αυτού του τµήµατος του κώδικα είναι σε δύο βασικές ενότητες. Η µία είναι το οι εντολές που βρίσκονται µετά το ifκαι η άλλη είναι οι εντολές που βρίσκονται µετά το else. Απ τον ορισµό της βασική ενότητας, το σπάσιµο του κοµµατιού αυτού του κώδικα έγινε γιατι η εντολή System.out.println( elsestatement ) δεν είναι εκτελεστικά ακόλουθος την εντολής System.out.println( ifstatement ), καθώς αν το πρόγραµµα φτάσει στην εντολή System.out.println( ifstatement ), τότε η εντολή System.out.println( elsestatement ) δεν θα εκτελεστεί. 2.3 Γράφος Ροής Ελέγχου Μετάτον χωρισµό του προγράµµατος σε βασικές ενότητες δηµιουργούµε τον γράφο ροής ελέγχου ενός προγράµµατος (ControlFlowGraph CFG). Ορισµός Γράφου Ροής Ελέγχου: Ο γράφος ροής ελέγχου ενός προγράµµατος είναι ένα κατευθυνόµενο γράφηµα το οποίο απεικονίζει τη δοµή του υπό εξέταση προγράµµατος. Οι κόµβοι του γράφου ροής ελέγχου του προγράµµατος αναπαριστούν τις βασικές ενότητες του προγράµµατος ενώ οι ακµές του απεικονίζουν τη ροή ελέγχου µεταξύ των βασικών ενοτήτων. Πιο φορµαλιστικά µπορούµε να πούµε ότι ένας γράφος Gπου αντιπροσωπεύει ένα πρόγραµµα αποτελείται αποτελείται από ένα κόµβο i που αναπαριστά µια βασική ενότητα b i του προγράµµατος και µια ακµή από ένα κόµβο j σ ένα κόµβο k, που συµβολίζεται ως (j,k), αν και µόνο αν είτε η τελευταία εντολή του b j δεν είναι µια άνευ όρων µεταφορά (unconditionaltransfer) και διαδέχεται φυσικά την πρώτη εντολή του b k, ή η τελευτάια εντολή του b i είναι µια µεταφορά και έχει ως στόχο την πρώτη εντολή του b k. Αν υπάρχει µια ακµή από τον κόµβο j στον κόµβο k, λέµε ότι ο κόµβος jείναι πρόγονος του κόµβου k, και ο κόµβος k είναι απόγονος του κόµβου j. Ο κόµβος ο οποίος αντιπροσωπεύει την βασική ενότητα της οποίας η πρώτη εντολή είναι η πρώτη εντολή του προγράµµατος είναι γνωστός ως αρχικός κόµβος. Ένας τέτοιος κόµβος δεν έχει προγόνους. Ο κόµβος που αντιπροσωπεύει µια βασική ενότητα που έχει ως ώς τελευταία εντολή µια εντολή παύσης είναι γνωστός ώς κόµβος εξόδου και δεν έχει διαδόχους. Επιπλέον ένας κόµβος έχει δύο διαδόχους αν και µόνο αν η τελευταία εντολή της ενότητας που αντιπροσωπεύει είναι µια µεταφορά υπό όρους. Η απαίτηση ότι όλες οι εντολές µεταφοράς είναι ενεργές εξασφαλίζει ότι δύο διάδοχοι είναι διαφορετικοί κόµβοι. Αυτό σηµαίνει ότι για κάθε ζευγάρι κόµβων iκαι j υπάρχει το πολύ µία ακµή από τον κόµβο iστον κόµβο j. Παρακάτω δίνουµε ένα απλό παράδειγµα ενός προγράµµατος και του γράφου ροής ελέγχου που το αντιπροσωπεύει. 23

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΑΛΥΤΗ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΑΛΥΤΗ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ Παρακάτω θα αναφερθούµε συνοπτικά στο τρόπο λειτουργίας και τη βασική αρχιτεκτονική του αναλυτή ροής δεδοµένων. Σκοπός του εργαλείου είναι να δέχεται ως είσοδο

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

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

2 Composition. Invertible Mappings

2 Composition. Invertible Mappings Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,

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

Assalamu `alaikum wr. wb.

Assalamu `alaikum wr. wb. LUMP SUM Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. LUMP SUM Lump sum lump sum lump sum. lump sum fixed price lump sum lump

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

Approximation of distance between locations on earth given by latitude and longitude

Approximation of distance between locations on earth given by latitude and longitude Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth

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

Every set of first-order formulas is equivalent to an independent set

Every set of first-order formulas is equivalent to an independent set Every set of first-order formulas is equivalent to an independent set May 6, 2008 Abstract A set of first-order formulas, whatever the cardinality of the set of symbols, is equivalent to an independent

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

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

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

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3

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

Μηχανική Μάθηση Hypothesis Testing

Μηχανική Μάθηση Hypothesis Testing ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Μηχανική Μάθηση Hypothesis Testing Γιώργος Μπορμπουδάκης Τμήμα Επιστήμης Υπολογιστών Procedure 1. Form the null (H 0 ) and alternative (H 1 ) hypothesis 2. Consider

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

The Simply Typed Lambda Calculus

The Simply Typed Lambda Calculus Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and

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

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS CHAPTER 5 SOLVING EQUATIONS BY ITERATIVE METHODS EXERCISE 104 Page 8 1. Find the positive root of the equation x + 3x 5 = 0, correct to 3 significant figures, using the method of bisection. Let f(x) =

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

Section 8.3 Trigonometric Equations

Section 8.3 Trigonometric Equations 99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.

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

Test Data Management in Practice

Test Data Management in Practice Problems, Concepts, and the Swisscom Test Data Organizer Do you have issues with your legal and compliance department because test environments contain sensitive data outsourcing partners must not see?

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

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

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE) EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΕΤΑΠΤΥΧΙΑΚΟΥ ΔΙΠΛΩΜΑΤΟΣ ΕΙΔΙΚΕΥΣΗΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ του Γεράσιμου Τουλιάτου

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

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible. B-Trees Index files can become quite large for large main files Indices on index files are possible 3 rd -level index 2 nd -level index 1 st -level index Main file 1 The 1 st -level index consists of pairs

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

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011 Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι

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

Homework 3 Solutions

Homework 3 Solutions Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For

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

C.S. 430 Assignment 6, Sample Solutions

C.S. 430 Assignment 6, Sample Solutions C.S. 430 Assignment 6, Sample Solutions Paul Liu November 15, 2007 Note that these are sample solutions only; in many cases there were many acceptable answers. 1 Reynolds Problem 10.1 1.1 Normal-order

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

Πτυχιακή Εργασία ηµιουργία Εκπαιδευτικού Παιχνιδιού σε Tablets Καλλιγάς ηµήτρης Παναγιώτης Α.Μ.: 1195 Επιβλέπων καθηγητής: ρ. Συρµακέσης Σπύρος ΑΝΤΙΡΡΙΟ 2015 Ευχαριστίες Σ αυτό το σηµείο θα ήθελα να

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΑΝΑΠΤΥΞΗ ΕΙΚΟΝΙΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΠΡΟΣΟΜΟΙΩΣΗΣ ΤΗΣ ΠΑΡΑΜΟΡΦΩΣΗΣ ΑΝΘΡΩΠΙΝΟΥ ΗΠΑΤΟΣ ΜΕ ΤΗ ΧΡΗΣΗ ΑΠΤΙΚΟΥ ΜΕΣΟΥ Δηµήτρης Δούνας

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

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

ΟΙΚΟΝΟΜΟΤΕΧΝΙΚΗ ΑΝΑΛΥΣΗ ΕΝΟΣ ΕΝΕΡΓΕΙΑΚΑ ΑΥΤΟΝΟΜΟΥ ΝΗΣΙΟΥ ΜΕ Α.Π.Ε Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. ΟΙΚΟΝΟΜΟΤΕΧΝΙΚΗ ΑΝΑΛΥΣΗ ΕΝΟΣ ΕΝΕΡΓΕΙΑΚΑ ΑΥΤΟΝΟΜΟΥ ΝΗΣΙΟΥ ΜΕ Α.Π.Ε Πτυχιακή Εργασία Φοιτητής: Γεμενής Κωνσταντίνος ΑΜ: 30931 Επιβλέπων Καθηγητής Κοκκόσης Απόστολος Λέκτορας

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

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required) Phys460.nb 81 ψ n (t) is still the (same) eigenstate of H But for tdependent H. The answer is NO. 5.5.5. Solution for the tdependent Schrodinger s equation If we assume that at time t 0, the electron starts

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

Other Test Constructions: Likelihood Ratio & Bayes Tests

Other Test Constructions: Likelihood Ratio & Bayes Tests Other Test Constructions: Likelihood Ratio & Bayes Tests Side-Note: So far we have seen a few approaches for creating tests such as Neyman-Pearson Lemma ( most powerful tests of H 0 : θ = θ 0 vs H 1 :

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

4.6 Autoregressive Moving Average Model ARMA(1,1)

4.6 Autoregressive Moving Average Model ARMA(1,1) 84 CHAPTER 4. STATIONARY TS MODELS 4.6 Autoregressive Moving Average Model ARMA(,) This section is an introduction to a wide class of models ARMA(p,q) which we will consider in more detail later in this

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

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3 Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3 1 State vector space and the dual space Space of wavefunctions The space of wavefunctions is the set of all

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

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch: HOMEWORK 4 Problem a For the fast loading case, we want to derive the relationship between P zz and λ z. We know that the nominal stress is expressed as: P zz = ψ λ z where λ z = λ λ z. Therefore, applying

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

Σχέσεις, Ιδιότητες, Κλειστότητες

Σχέσεις, Ιδιότητες, Κλειστότητες Σχέσεις, Ιδιότητες, Κλειστότητες Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Σχέσεις 1 / 26 Εισαγωγή & Ορισµοί ιµελής Σχέση R από

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

Finite Field Problems: Solutions

Finite Field Problems: Solutions Finite Field Problems: Solutions 1. Let f = x 2 +1 Z 11 [x] and let F = Z 11 [x]/(f), a field. Let Solution: F =11 2 = 121, so F = 121 1 = 120. The possible orders are the divisors of 120. Solution: The

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΨΥΧΟΛΟΓΙΚΕΣ ΕΠΙΠΤΩΣΕΙΣ ΣΕ ΓΥΝΑΙΚΕΣ ΜΕΤΑ ΑΠΟ ΜΑΣΤΕΚΤΟΜΗ ΓΕΩΡΓΙΑ ΤΡΙΣΟΚΚΑ Λευκωσία 2012 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ

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

Math 6 SL Probability Distributions Practice Test Mark Scheme

Math 6 SL Probability Distributions Practice Test Mark Scheme Math 6 SL Probability Distributions Practice Test Mark Scheme. (a) Note: Award A for vertical line to right of mean, A for shading to right of their vertical line. AA N (b) evidence of recognizing symmetry

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

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit Ting Zhang Stanford May 11, 2001 Stanford, 5/11/2001 1 Outline Ordinal Classification Ordinal Addition Ordinal Multiplication Ordinal

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ "ΠΟΛΥΚΡΙΤΗΡΙΑ ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ. Η ΠΕΡΙΠΤΩΣΗ ΤΗΣ ΕΠΙΛΟΓΗΣ ΑΣΦΑΛΙΣΤΗΡΙΟΥ ΣΥΜΒΟΛΑΙΟΥ ΥΓΕΙΑΣ "

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΠΟΛΥΚΡΙΤΗΡΙΑ ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ. Η ΠΕΡΙΠΤΩΣΗ ΤΗΣ ΕΠΙΛΟΓΗΣ ΑΣΦΑΛΙΣΤΗΡΙΟΥ ΣΥΜΒΟΛΑΙΟΥ ΥΓΕΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΛΑΜΑΤΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΜΟΝΑΔΩΝ ΥΓΕΙΑΣ ΚΑΙ ΠΡΟΝΟΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ "ΠΟΛΥΚΡΙΤΗΡΙΑ ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ. Η ΠΕΡΙΠΤΩΣΗ ΤΗΣ ΕΠΙΛΟΓΗΣ ΑΣΦΑΛΙΣΤΗΡΙΟΥ ΣΥΜΒΟΛΑΙΟΥ

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo

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

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο ΔΘΝΙΚΟ ΜΔΣΟΒΙΟ ΠΟΛΤΣΔΥΝΔΙΟ ΥΟΛΗ ΝΑΤΠΗΓΩΝ ΜΗΥΑΝΟΛΟΓΩΝ ΜΗΥΑΝΙΚΩΝ Γιπλυμαηική Δπγαζία «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο Σπιμελήρ Δξεηαζηική

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

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

ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΑΙΤΙΩΝ ΚΑΘΥΣΤΕΡΗΣΗΣ ΣΤΑ ΚΑΤΑΣΚΕΥΑΣΤΙΚΑ ΕΡΓΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΠΕΔΟ ΚΑΙ ΣΤΗΝ ΚΥΠΡΟ Σχολή Μηχανικής και Τεχνολογίας Πτυχιακή εργασία ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΑΙΤΙΩΝ ΚΑΘΥΣΤΕΡΗΣΗΣ ΣΤΑ ΚΑΤΑΣΚΕΥΑΣΤΙΚΑ ΕΡΓΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΠΕΔΟ ΚΑΙ ΣΤΗΝ ΚΥΠΡΟ Ιωάννα Λύρα Λεμεσός, Μάϊος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

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

«Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων. Η μεταξύ τους σχέση και εξέλιξη.»

«Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων. Η μεταξύ τους σχέση και εξέλιξη.» ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΓΡΟΝΟΜΩΝ ΚΑΙ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΓΕΩΓΡΑΦΙΑΣ ΚΑΙ ΠΕΡΙΦΕΡΕΙΑΚΟΥ ΣΧΕΔΙΑΣΜΟΥ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ: «Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων.

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006 ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση

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

Inverse trigonometric functions & General Solution of Trigonometric Equations. ------------------ ----------------------------- -----------------

Inverse trigonometric functions & General Solution of Trigonometric Equations. ------------------ ----------------------------- ----------------- Inverse trigonometric functions & General Solution of Trigonometric Equations. 1. Sin ( ) = a) b) c) d) Ans b. Solution : Method 1. Ans a: 17 > 1 a) is rejected. w.k.t Sin ( sin ) = d is rejected. If sin

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

The challenges of non-stable predicates

The challenges of non-stable predicates The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. The challenges of non-stable predicates

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

Capacitors - Capacitance, Charge and Potential Difference

Capacitors - Capacitance, Charge and Potential Difference Capacitors - Capacitance, Charge and Potential Difference Capacitors store electric charge. This ability to store electric charge is known as capacitance. A simple capacitor consists of 2 parallel metal

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

Partial Differential Equations in Biology The boundary element method. March 26, 2013

Partial Differential Equations in Biology The boundary element method. March 26, 2013 The boundary element method March 26, 203 Introduction and notation The problem: u = f in D R d u = ϕ in Γ D u n = g on Γ N, where D = Γ D Γ N, Γ D Γ N = (possibly, Γ D = [Neumann problem] or Γ N = [Dirichlet

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

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions SCHOOL OF MATHEMATICAL SCIENCES GLMA Linear Mathematics 00- Examination Solutions. (a) i. ( + 5i)( i) = (6 + 5) + (5 )i = + i. Real part is, imaginary part is. (b) ii. + 5i i ( + 5i)( + i) = ( i)( + i)

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΒΑΛΕΝΤΙΝΑ ΠΑΠΑΔΟΠΟΥΛΟΥ Α.Μ.: 09/061. Υπεύθυνος Καθηγητής: Σάββας Μακρίδης

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΒΑΛΕΝΤΙΝΑ ΠΑΠΑΔΟΠΟΥΛΟΥ Α.Μ.: 09/061. Υπεύθυνος Καθηγητής: Σάββας Μακρίδης Α.Τ.Ε.Ι. ΙΟΝΙΩΝ ΝΗΣΩΝ ΠΑΡΑΡΤΗΜΑ ΑΡΓΟΣΤΟΛΙΟΥ ΤΜΗΜΑ ΔΗΜΟΣΙΩΝ ΣΧΕΣΕΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Η διαμόρφωση επικοινωνιακής στρατηγικής (και των τακτικών ενεργειών) για την ενδυνάμωση της εταιρικής

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

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

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =? Teko Classes IITJEE/AIEEE Maths by SUHAAG SIR, Bhopal, Ph (0755) 3 00 000 www.tekoclasses.com ANSWERSHEET (TOPIC DIFFERENTIAL CALCULUS) COLLECTION # Question Type A.Single Correct Type Q. (A) Sol least

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Πτυχιακή εργασία ΑΝΑΛΥΣΗ ΚΟΣΤΟΥΣ-ΟΦΕΛΟΥΣ ΓΙΑ ΤΗ ΔΙΕΙΣΔΥΣΗ ΤΩΝ ΑΝΑΝΕΩΣΙΜΩΝ ΠΗΓΩΝ ΕΝΕΡΓΕΙΑΣ ΣΤΗΝ ΚΥΠΡΟ ΜΕΧΡΙ ΤΟ 2030

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

Μηχανισμοί πρόβλεψης προσήμων σε προσημασμένα μοντέλα κοινωνικών δικτύων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Μηχανισμοί πρόβλεψης προσήμων σε προσημασμένα μοντέλα κοινωνικών δικτύων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μηχανισμοί πρόβλεψης προσήμων σε προσημασμένα μοντέλα κοινωνικών

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

Fractional Colorings and Zykov Products of graphs

Fractional Colorings and Zykov Products of graphs Fractional Colorings and Zykov Products of graphs Who? Nichole Schimanski When? July 27, 2011 Graphs A graph, G, consists of a vertex set, V (G), and an edge set, E(G). V (G) is any finite set E(G) is

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΣΧΕΔΙΑΣΜΟΣ ΣΥΣΤΗΜΑΤΟΣ ΕΝΑΕΡΙΑΣ ΜΕΤΑΦΟΡΑΣ ΦΟΡΤΙΩΝ ΑΠΟ ΚΑΙ ΠΡΟΣ ΤΟ ΚΤΗΡΙΟ ΔΩΡΟΘΕΑ ΣΤΟΝ ΚΑΙ ΑΠΟ ΤΟΝ ΑΠΕΝΑΝΤΙ ΧΩΡΟ ΣΤΑΘΜΕΥΣΗΣ

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

derivation of the Laplacian from rectangular to spherical coordinates

derivation of the Laplacian from rectangular to spherical coordinates derivation of the Laplacian from rectangular to spherical coordinates swapnizzle 03-03- :5:43 We begin by recognizing the familiar conversion from rectangular to spherical coordinates (note that φ is used

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

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

ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΓΕΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΛΥΣΟΚΙΝΗΣΗΣ ΓΙΑ ΜΕΤΑΦΟΡΑ ΤΡΟΛΕΪ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΓΕΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΛΥΣΟΚΙΝΗΣΗΣ ΓΙΑ ΜΕΤΑΦΟΡΑ ΤΡΟΛΕΪ Μάριος Σταυρίδης Λεμεσός, Ιούνιος 2017 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

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

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ Σχολή Μηχανικής και Τεχνολογίας Πτυχιακή εργασία ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ Ηλίας Κωνσταντίνου Λεμεσός,

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Πτυχιακή εργασία ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΔΕΙΚΤΩΝ ΚΑΤΑΝΑΛΩΣΗΣ ΕΝΕΡΓΕΙΑΣ ΣΤΑ ΑΝΤΛΙΟΣΤΑΣΙΑ ΤΟΥ ΤΜΗΜΑΤΟΣ ΑΝΑΠΤΥΞΕΩΣ ΥΔΑΤΩΝ Γεωργίου

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

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

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

ΣΤΑΤΙΚΗ ΜΗ ΓΡΑΜΜΙΚΗ ΑΝΑΛΥΣΗ ΚΑΛΩ ΙΩΤΩΝ ΚΑΤΑΣΚΕΥΩΝ 1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Πολιτικών Μηχανικών ΠΜΣ οµοστατικός Σχεδιασµός και Ανάλυση Κατασκευών Εργαστήριο Μεταλλικών Κατασκευών Μεταπτυχιακή ιπλωµατική Εργασία ΣΤΑΤΙΚΗ ΜΗ ΓΡΑΜΜΙΚΗ ΑΝΑΛΥΣΗ ΚΑΛΩ

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

Η ΨΥΧΙΑΤΡΙΚΗ - ΨΥΧΟΛΟΓΙΚΗ ΠΡΑΓΜΑΤΟΓΝΩΜΟΣΥΝΗ ΣΤΗΝ ΠΟΙΝΙΚΗ ΔΙΚΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΝΟΜΙΚΗ ΣΧΟΛΗ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΟΜΕΑΣ ΙΣΤΟΡΙΑΣ ΦΙΛΟΣΟΦΙΑΣ ΚΑΙ ΚΟΙΝΩΝΙΟΛΟΓΙΑΣ ΤΟΥ ΔΙΚΑΙΟΥ Διπλωματική εργασία στο μάθημα «ΚΟΙΝΩΝΙΟΛΟΓΙΑ ΤΟΥ ΔΙΚΑΙΟΥ»

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή διατριβή Η ΚΑΤΑΘΛΙΨΗ ΩΣ ΠΑΡΑΓΟΝΤΑΣ ΚΙΝΔΥΝΟΥ ΓΙΑ ΑΠΟΠΕΙΡΑ ΑΥΤΟΚΤΟΝΙΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή διατριβή Η ΚΑΤΑΘΛΙΨΗ ΩΣ ΠΑΡΑΓΟΝΤΑΣ ΚΙΝΔΥΝΟΥ ΓΙΑ ΑΠΟΠΕΙΡΑ ΑΥΤΟΚΤΟΝΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ Πτυχιακή διατριβή Η ΚΑΤΑΘΛΙΨΗ ΩΣ ΠΑΡΑΓΟΝΤΑΣ ΚΙΝΔΥΝΟΥ ΓΙΑ ΑΠΟΠΕΙΡΑ ΑΥΤΟΚΤΟΝΙΑΣ Παναγιώτου Νεοφύτα 2008969752 Επιβλέπων καθηγητής Δρ. Νίκος Μίτλεττον,

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

Κωδικοποίηση και Έλεγχος Ορθότητας

Κωδικοποίηση και Έλεγχος Ορθότητας Κωδικοποίηση και Έλεγχος Ορθότητας περιεχόμενα περουσίασης Κωδικοποίηση Πρότυπα και διαδικασίες κωδικοποίησης Τεκμηρίωση Διαχείριση εκδόσεων Έλεγχος ορθότητας λογισμικού κωδικοποίηση διαχείριση εκδόσεων

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

6.3 Forecasting ARMA processes

6.3 Forecasting ARMA processes 122 CHAPTER 6. ARMA MODELS 6.3 Forecasting ARMA processes The purpose of forecasting is to predict future values of a TS based on the data collected to the present. In this section we will discuss a linear

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

Περίληψη (Executive Summary)

Περίληψη (Executive Summary) 1 Περίληψη (Executive Summary) Η παρούσα διπλωματική εργασία έχει ως αντικείμενο την "Αγοραστική/ καταναλωτική συμπεριφορά. Η περίπτωση των Σπετσών" Κύριος σκοπός της διπλωματικής εργασίας είναι η διερεύνηση

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

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2) ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών NP-Completeness (2) x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 11 13 21

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

Lecture 2. Soundness and completeness of propositional logic

Lecture 2. Soundness and completeness of propositional logic Lecture 2 Soundness and completeness of propositional logic February 9, 2004 1 Overview Review of natural deduction. Soundness and completeness. Semantics of propositional formulas. Soundness proof. Completeness

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

Instruction Execution Times

Instruction Execution Times 1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables

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

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

Main source: Discrete-time systems and computer control by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1 Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1 A Brief History of Sampling Research 1915 - Edmund Taylor Whittaker (1873-1956) devised a

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

ΑΓΓΛΙΚΑ Ι. Ενότητα 7α: Impact of the Internet on Economic Education. Ζωή Κανταρίδου Τμήμα Εφαρμοσμένης Πληροφορικής

ΑΓΓΛΙΚΑ Ι. Ενότητα 7α: Impact of the Internet on Economic Education. Ζωή Κανταρίδου Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 7α: Impact of the Internet on Economic Education Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

Διαχείριση Έργων Πληροφορικής

Διαχείριση Έργων Πληροφορικής Διαχείριση Έργων Πληροφορικής Project Lifecycle Κύκλος ζωής ενός έργου Μ. Τσικνάκης Ε. Μανιαδή, Α. Μαριδάκη Διαχείριση Έργων - Project Management What is a project? One definition of a project (from the

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

ΜΟΝΤΕΛΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ

ΜΟΝΤΕΛΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ ΜΟΝΤΕΛΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ Ενότητα 12 Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Statistical Inference I Locally most powerful tests

Statistical Inference I Locally most powerful tests Statistical Inference I Locally most powerful tests Shirsendu Mukherjee Department of Statistics, Asutosh College, Kolkata, India. shirsendu st@yahoo.co.in So far we have treated the testing of one-sided

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

ΠΕΡΙΕΧΟΜΕΝΑ. Κεφάλαιο 1: Κεφάλαιο 2: Κεφάλαιο 3:

ΠΕΡΙΕΧΟΜΕΝΑ. Κεφάλαιο 1: Κεφάλαιο 2: Κεφάλαιο 3: 4 Πρόλογος Η παρούσα διπλωµατική εργασία µε τίτλο «ιερεύνηση χωρικής κατανοµής µετεωρολογικών µεταβλητών. Εφαρµογή στον ελληνικό χώρο», ανατέθηκε από το ιεπιστηµονικό ιατµηµατικό Πρόγραµµα Μεταπτυχιακών

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η Υλοποίηση στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Πρωτοτυποποίηση Προγραµµατισµός υλοποίησης Ανάπτυξη συστήµατος Μοναδιαίος έλεγχος Ολοκλήρωση 2 3 Η υλοποίηση

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΠΙΧΕΙΡΗΣΕΙΣ ΕΝ ΟΨΕΙ ΤΟΥ ΝΕΟΥ ΟΙΚΟΝΟΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ» Σπουδαστές Μαραβελάκης Γρηγόριος Α.Μ. 3553 Μαυρομήτρος Δημήτριος Α.Μ.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΠΙΧΕΙΡΗΣΕΙΣ ΕΝ ΟΨΕΙ ΤΟΥ ΝΕΟΥ ΟΙΚΟΝΟΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ» Σπουδαστές Μαραβελάκης Γρηγόριος Α.Μ. 3553 Μαυρομήτρος Δημήτριος Α.Μ. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΤΕΧΝΙΚΕΣ ΑΝΑΠΤΥΞΗΣ ΝΕΩΝ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΕΠΙΧΕΙΡΗΣΕΙΣ ΕΝ ΟΨΕΙ ΤΟΥ ΝΕΟΥ ΟΙΚΟΝΟΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ»

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

Θέμα: Παχυσαρκία και κύηση:

Θέμα: Παχυσαρκία και κύηση: ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΤΜΗΜ Α ΝΟΣΗΛΕΥΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Θέμα: Παχυσαρκία και κύηση: επιπτώσεις στην έκβαση της κύησης και στο έμβρυο Ονοματεπώνυμο: Στέλλα Ριαλά Αριθμός

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

Section 9.2 Polar Equations and Graphs

Section 9.2 Polar Equations and Graphs 180 Section 9. Polar Equations and Graphs In this section, we will be graphing polar equations on a polar grid. In the first few examples, we will write the polar equation in rectangular form to help identify

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΑΜΕΣΕΣ ΞΕΝΕΣ ΕΠΕΝΔΥΣΕΙΣ ΣΕ ΕΥΡΩΠΑΙΚΕΣ ΧΩΡΕΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΑΜΕΣΕΣ ΞΕΝΕΣ ΕΠΕΝΔΥΣΕΙΣ ΣΕ ΕΥΡΩΠΑΙΚΕΣ ΧΩΡΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΟΙΚΟΝΟΜΙΚΗ ΚΑΙ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΣΤΡΑΤΗΓΙΚΗ ΑΜΕΣΕΣ ΞΕΝΕΣ ΕΠΕΝΔΥΣΕΙΣ ΣΕ ΕΥΡΩΠΑΙΚΕΣ ΧΩΡΕΣ Αθανάσιος Νταραβάνογλου Διπλωματική

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

Web 論 文. Performance Evaluation and Renewal of Department s Official Web Site. Akira TAKAHASHI and Kenji KAMIMURA

Web 論 文. Performance Evaluation and Renewal of Department s Official Web Site. Akira TAKAHASHI and Kenji KAMIMURA 長 岡 工 業 高 等 専 門 学 校 研 究 紀 要 第 49 巻 (2013) 論 文 Web Department of Electronic Control Engineering, Nagaoka National College of Technology Performance Evaluation and Renewal of Department s Official Web Site

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

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

ΔΘΝΙΚΗ ΥΟΛΗ ΓΗΜΟΙΑ ΓΙΟΙΚΗΗ ΚΑ ΔΚΠΑΙΓΔΤΣΙΚΗ ΔΙΡΑ ΣΔΛΙΚΗ ΔΡΓΑΙΑ Ε ΔΘΝΙΚΗ ΥΟΛΗ ΓΗΜΟΙΑ ΓΙΟΙΚΗΗ ΚΑ ΔΚΠΑΙΓΔΤΣΙΚΗ ΔΙΡΑ ΣΜΗΜΑ ΓΔΝΙΚΗ ΓΙΟΙΚΗΗ ΣΔΛΙΚΗ ΔΡΓΑΙΑ Θέκα: Η Γηνίθεζε Αιιαγώλ (Change Management) ζην Γεκόζην Σνκέα: Η πεξίπησζε ηεο εθαξκνγήο ηνπ ύγρξνλνπ Γεκνζηνλνκηθνύ

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

Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ

Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. Χρυσάνθη Στυλιανού Λεμεσός 2014 ΤΕΧΝΟΛΟΓΙΚΟ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ιπλωµατική Εργασία του φοιτητή του τµήµατος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Ηλεκτρονικών

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

«ΑΓΡΟΤΟΥΡΙΣΜΟΣ ΚΑΙ ΤΟΠΙΚΗ ΑΝΑΠΤΥΞΗ: Ο ΡΟΛΟΣ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΠΡΟΩΘΗΣΗ ΤΩΝ ΓΥΝΑΙΚΕΙΩΝ ΣΥΝΕΤΑΙΡΙΣΜΩΝ»

«ΑΓΡΟΤΟΥΡΙΣΜΟΣ ΚΑΙ ΤΟΠΙΚΗ ΑΝΑΠΤΥΞΗ: Ο ΡΟΛΟΣ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΠΡΟΩΘΗΣΗ ΤΩΝ ΓΥΝΑΙΚΕΙΩΝ ΣΥΝΕΤΑΙΡΙΣΜΩΝ» I ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΝΟΜΙΚΩΝ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ «ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑ» ΚΑΤΕΥΘΥΝΣΗ: ΟΙΚΟΝΟΜΙΚΗ

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

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0. DESIGN OF MACHINERY SOLUTION MANUAL -7-1! PROBLEM -7 Statement: Design a double-dwell cam to move a follower from to 25 6, dwell for 12, fall 25 and dwell for the remader The total cycle must take 4 sec

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

Second Order RLC Filters

Second Order RLC Filters ECEN 60 Circuits/Electronics Spring 007-0-07 P. Mathys Second Order RLC Filters RLC Lowpass Filter A passive RLC lowpass filter (LPF) circuit is shown in the following schematic. R L C v O (t) Using phasor

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Το franchising ( δικαιόχρηση ) ως µέθοδος ανάπτυξης των επιχειρήσεων λιανικού εµπορίου

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

Concrete Mathematics Exercises from 30 September 2016

Concrete Mathematics Exercises from 30 September 2016 Concrete Mathematics Exercises from 30 September 2016 Silvio Capobianco Exercise 1.7 Let H(n) = J(n + 1) J(n). Equation (1.8) tells us that H(2n) = 2, and H(2n+1) = J(2n+2) J(2n+1) = (2J(n+1) 1) (2J(n)+1)

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία ΔΙΕΡΕΥΝΗΣΗ ΤΟΥ ΚΛΙΜΑΤΟΣ ΑΣΦΑΛΕΙΑΣ ΤΩΝ ΑΣΘΕΝΩΝ ΣΤΟ ΝΟΣΟΚΟΜΕΙΟ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία ΔΙΕΡΕΥΝΗΣΗ ΤΟΥ ΚΛΙΜΑΤΟΣ ΑΣΦΑΛΕΙΑΣ ΤΩΝ ΑΣΘΕΝΩΝ ΣΤΟ ΝΟΣΟΚΟΜΕΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ Πτυχιακή εργασία ΔΙΕΡΕΥΝΗΣΗ ΤΟΥ ΚΛΙΜΑΤΟΣ ΑΣΦΑΛΕΙΑΣ ΤΩΝ ΑΣΘΕΝΩΝ ΣΤΟ ΝΟΣΟΚΟΜΕΙΟ ΑΝΔΡΕΑΣ ΛΕΩΝΙΔΟΥ Λεμεσός, 2012 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ

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

Example Sheet 3 Solutions

Example Sheet 3 Solutions Example Sheet 3 Solutions. i Regular Sturm-Liouville. ii Singular Sturm-Liouville mixed boundary conditions. iii Not Sturm-Liouville ODE is not in Sturm-Liouville form. iv Regular Sturm-Liouville note

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

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1 Conceptual Questions. State a Basic identity and then verify it. a) Identity: Solution: One identity is cscθ) = sinθ) Practice Exam b) Verification: Solution: Given the point of intersection x, y) of the

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

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 3 1 / 25 Ενότητα 3 οκιµή Προγραµµάτων (Program Testing)

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

Η ΠΟΙΟΤΗΤΑ ΖΩΗΣ ΤΩΝ ΗΛΙΚΙΩΜΕΝΩΝ ΑΣΘΕΝΩΝ ΜΕΤΑ ΤΗΝ ΕΞΟΔΟ ΤΟΥΣ ΑΠΟ ΤΗΝ ΜΟΝΑΔΑ ΕΝΤΑΤΙΚΗΣ ΘΕΡΑΠΕΙΑΣ. Στυλιανός Σολωμή

Η ΠΟΙΟΤΗΤΑ ΖΩΗΣ ΤΩΝ ΗΛΙΚΙΩΜΕΝΩΝ ΑΣΘΕΝΩΝ ΜΕΤΑ ΤΗΝ ΕΞΟΔΟ ΤΟΥΣ ΑΠΟ ΤΗΝ ΜΟΝΑΔΑ ΕΝΤΑΤΙΚΗΣ ΘΕΡΑΠΕΙΑΣ. Στυλιανός Σολωμή ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ Επιβλέπουσα Καθηγήτρια: Δρ. Λαμπρινού Αικατερίνη Η ΠΟΙΟΤΗΤΑ ΖΩΗΣ ΤΩΝ ΗΛΙΚΙΩΜΕΝΩΝ ΑΣΘΕΝΩΝ ΜΕΤΑ ΤΗΝ ΕΞΟΔΟ ΤΟΥΣ ΑΠΟ ΤΗΝ ΜΟΝΑΔΑ ΕΝΤΑΤΙΚΗΣ

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

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους: Επαναλήψεις - Loops Οι επαναλήψεις σε ένα πρόγραμμα μας επιτρέπουν μια ομάδα εντολών να εκτελείται για όσες φορές επιθυμούμε Υπάρχουν τρεις τρόποι επανάληψης εντολών με τη χρήση: While loops For loops

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Ενότητα: Use Case - an example of ereferral workflow Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής

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

«Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής»

«Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής» Σχολή Επιστημών Υγείας Τμήμα Αποκατάστασης ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής» Χρυσάνθη Μοδέστου Λεμεσός, Μάιος,

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

Επιμέλεια: Αδαμαντία Τραϊφόρου (Α.Μ 263) Επίβλεψη: Καθηγητής Μιχαήλ Κονιόρδος

Επιμέλεια: Αδαμαντία Τραϊφόρου (Α.Μ 263) Επίβλεψη: Καθηγητής Μιχαήλ Κονιόρδος ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗΣ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΣΧΟΛΗ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Οι Ολοκληρωμένες Επικοινωνίες Μάρκετινγκ και η επίδρασή τους στη Συμπεριφορά του Καταναλωτή

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΥΨΗΛΩΝ ΤΑΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΥΨΗΛΩΝ ΤΑΣΕΩΝ Διπλωµατική Εργασία Της Φοιτήτριας του Τµήµατος Ηλεκτρολόγων

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

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Βήμα 1: Step 1: Βρείτε το βιβλίο που θα θέλατε να αγοράσετε και πατήστε Add to Cart, για να το προσθέσετε στο καλάθι σας. Αυτόματα θα

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

Πτυχιακή Εργασία ΓΝΩΣΕΙΣ KAI ΣΤΑΣΕΙΣ ΤΩΝ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΥΓΕΙΑΣ ΓΙΑ ΤΗΝ ΕΠΑΓΓΕΛΜΑΤΙΚΗ ΕΚΘΕΣΗ ΣΤΟΝ HIV. Στυλιανού Στυλιανή

Πτυχιακή Εργασία ΓΝΩΣΕΙΣ KAI ΣΤΑΣΕΙΣ ΤΩΝ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΥΓΕΙΑΣ ΓΙΑ ΤΗΝ ΕΠΑΓΓΕΛΜΑΤΙΚΗ ΕΚΘΕΣΗ ΣΤΟΝ HIV. Στυλιανού Στυλιανή ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ Πτυχιακή Εργασία ΓΝΩΣΕΙΣ KAI ΣΤΑΣΕΙΣ ΤΩΝ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΥΓΕΙΑΣ ΓΙΑ ΤΗΝ ΕΠΑΓΓΕΛΜΑΤΙΚΗ ΕΚΘΕΣΗ ΣΤΟΝ HIV Στυλιανού Στυλιανή Λευκωσία 2012 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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