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

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

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

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΕΧΝΟΟΙΚΟΝΟΜΙΚΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΑΣΦΑΛΕΙΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΤΕΥΘΥΝΣΗ: ΤΕΧΝΟΟΙΚΟΝΟΜΙΚΗ ΔΙΟΙΚΗΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΔΙΟΙΚΗΣΗ ΕΡΓΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ: ΘΕΩΡΙΑ ΚΑΙ ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΠΡΕΒΕΝΑΣ ΑΝΤΩΝΙΟΣ ΜΤΕ-0961 ΕΠΙΒΛΕΠΟΥΣΑ: ΜΑΛΑΜΑΤΕΝΙΟΥ ΦΛΩΡΑ ΠΕΙΡΑΙΑΣ, ΙΟΥΝΙΟΣ 2012

2 2

3 Περίληψη...5 Abstract...6 Ευχαριστίες...7 ΚΕΦΑΛΑΙΟ 1: ΚΥΚΛΟΙ ΖΩΗΣ ΕΡΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Εισαγωγή Φάσεις ανάπτυξης πληροφοριακών συστημάτων Το μοντέλο του καταρράκτη Το μοντέλο πρωτυποποίησης Το μοντέλο λειτουργικής επαύξησης Το σπειροειδές μοντέλο Το μοντέλο του πίδακα Σύγχρονα μοντέλα κύκλου ζωής λογισμικού...25 ΚΕΦΑΛΑΙΟ 2: ΠΡΟΣΕΓΓΙΣΕΙΣ ΑΝΑΠΤΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εισαγωγή Ευέλικτες Μέθοδοι Ανάπτυξης (Agile Software Development) Extreme Programming Rational Unified Process Σύγκριση...46 ΚΕΦΑΛΑΙΟ 3: ΜΕΘΟΔΟΛΟΓΙΕΣ ΔΙΟΙΚΗΣΗΣ ΕΡΓΩΝ Εισαγωγή Prince PMBOK Σύγκριση Prince2 και PMBOK...67 ΚΕΦΑΛΑΙΟ 4: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΩΝ Εισαγωγή Δομή Ανάλυσης Εργασιών Μέθοδοι χρονοπρογραμματισμού Δικτυακή Απεικόνιση ενός Έργου Ανάλυση PERT/CPM Μέθοδος CPM Critical Path Method Μέθοδος PERT Programme Evaluation and Review Technique Χρονική Παρακολούθηση Έργων με το Διάγραμμα GANTT Εργαλεία διοίκησης έργων πληροφορικής GanntProject OmniPlan Open Workbench PertMaster PlanningForce Microsoft Project Achievo...89 ΚΕΦΑΛΑΙΟ 5: ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ Εισαγωγή Φάση Αρχικοποίησης Ορισμός Πεδίου Στόχος του έργου Οι συμμετέχοντες στο έργο Βασικά Παραδοτέα (deliverables) Τεχνικές απαιτήσεις Λειτουργικές απαιτήσεις

4 5.1.6 Business Case Σκοπός ΛΕΙΤΟΥΡΓΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΠΟΣΥΣΤΗΜΑΤΩΝ Φάση σχεδιασμού του έργου Πλάνο διαχείρισης του Πεδίου του Έργου Δομή Ανάλυσης Εργασιών(ΔΑΕ) Πλάνο διαχείρισης του Κινδύνου Πλάνο διαχείρισης Ανθρώπινου Δυναμικού Οργανωτικός σχεδιασμός Πλάνο διαχείρισης Επικοινωνίας όσων εμπλέκονται στο έργο Πλάνο διαχείρισης Ποιότητας Πλάνο διαχείρισης Κόστους Πλάνο διαχείρισης Προμηθειών Φάση Εκτέλεσης Φάση Ελέγχου Κλείσιμο Έργου ΣΥΜΠΕΡΑΣΜΑΤΑ Παράρτημα Α GANTT CHART ΒΙΒΛΙΟΓΡΑΦΙΑ

5 Περίληψη Στην παρούσα διπλωματική εργασία περιγράφονται οι πιο διαδομένες μεθόδοι διαχείρισης έργων όπως είναι η Prince2 και η PMBOK και μία σύγκριση αυτών. Επίσης, παρουσιάζονται οι κύκλοι ζωής ανάπτυξης πληροφοριακών συστημάτων, κάποιες από τις πιο διαδεδομένες προσεγγίσεις ανάπτυξης πληροφοριακών συστημάτων και μεθόδους χρονοπρογραμματισμού έργων. Τέλος, παρουσιάζεται μια μελέτη περίπτωσης πληροφοριακού συστήματος από τον τραπεζικό χώρο που αφορά στη διοίκηση του έργου ανάπτυξης ενός συστήματος διαχείρισης και αξιολόγησης προμηθευτών με χρήση της μεθοδολογίας PMBOK. 5

6 Abstract This thesis presents the widely used project management methods, Prince2 and PMBOK and a comparison between them. Furthermore, the most used information systems development life cycles and approaches are presented, as well as, methods of project scheduling. Finally, a case study concerning with the development of a banking information system, and more specifically, with the management of the project called "Supplier Management and Evaluation Platform" using the PMBOK methodology is presented. 6

7 Ευχαριστίες Θα ήθελα να ευχαριστήσω ιδιαίτερα την επιβλέπουσα Επίκουρη Καθηγήτρια κυρία Μαλαματένιου Φλώρα που με τις συμβουλές και την καθοδήγηση της συνέβαλε στην περάτωση της εργασίας αυτής. 7

8 ΚΕΦΑΛΑΙΟ 1: ΚΥΚΛΟΙ ΖΩΗΣ ΕΡΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ 1.1 Εισαγωγή Με τον όρο μεθοδολογία ανάπτυξης πληροφοριακού συστήματος αναφερόμαστε στο πλαίσιο που χρησιμοποιείται για να δομηθεί, να σχεδιασθεί και να ελεγχθεί η διαδικασία της ανάπτυξης ενός πληροφοριακού συστήματος. Με τον όρο μεθοδολογία ανάπτυξης πληροφοριακού συστήματος αναφερόμαστε στο πλαίσιο που χρησιμοποιείται για να δομηθεί, να σχεδιασθεί και να ελεγχθεί η διαδικασία της ανάπτυξης ενός πληροφοριακού συστήματος. Μια μεγάλη ποικιλία τέτοιων πλαισίων έχει εξελιχθεί με την πάροδο των ετών. Κάθε μεθοδολογία έχει τα δικά της πλεονεκτήματα και μειονεκτήματα και χρησιμοποιείται ανάλογα με το είδος του έργου. Δεν είναι κατάλληλη η χρήση της ίδιας μεθοδολογίας σε όλα τα έργα. Η επιλογή της κατάλληλης μεθοδολογίας γίνεται βάση τεχνικών και οργανωτικών εκτιμήσεων. Ο κύκλος ζωής ανάπτυξης πληροφοριακού συστήματος (System Development Life Cycle) είναι μια μεθοδολογία που χρησιμοποιείται για να περιγράψει τη διαδικασία για τη δημιουργία πληροφοριακών συστημάτων, η οποία προορίζεται για την ανάπτυξη πληροφοριακών συστημάτων με σκόπιμο, δομημένο και μεθοδικό τρόπο, επαναλαμβάνοντας κάθε στάδιο του κύκλου ζωής. Ο κύκλος ζωής ανάπτυξης πληροφοριακών συστημάτων, σύμφωνα με τους Έλιοτ & Στράχαν & Radford (2004), "ξεκίνησε στη δεκαετία του 1960, για την ανάπτυξη μεγάλης κλίμακας λειτουργικών επιχειρησιακών συστημάτων σε μια εποχή μεγάλων επιχειρηματικών ομίλων. Οι δράσεις που περιλάμβαναν τα πληροφοριακά συστήματα επικεντρώθηκαν γύρω από την επεξεργασία δεδομένων". Αρκετά πλαίσια ανάπτυξης πληροφοριακών συστημάτων βασίζονται εν μέρει στον κύκλο ζωής ανάπτυξης πληροφοριακών συστημάτων, όπως η δομημένη ανάλυση και μέθοδος σχεδιασμού συστημάτων (Structured Systems Analysis and Design Method) που δημιουργήθηκε για την κυβέρνηση του Ηνωμένου Βασιλείου Γραφείο Κυβερνητικού Εμπορίου στη δεκαετία του Από τότε, σύμφωνα με το 8

9 Έλιοτ (2004), "οι παραδοσιακές προσεγγίσεις του κύκλου ζωής ανάπτυξης πληροφοριακών συστημάτων ολοένα και αντικαθίστανται με εναλλακτικές προσεγγίσεις και πλαίσια, που προσπάθησαν να ξεπεραστούν ορισμένες από τις εγγενείς αδυναμίες του παραδοσιακού κύκλος ζωή πληροφοριακών συστημάτων " [5]. 1.2 Φάσεις ανάπτυξης πληροφοριακών συστημάτων Ο κύκλος ζωής ανάπτυξης πληροφοριακών συστημάτων παρέχει μία σειρά από δραστηριότητες που οι σχεδιαστές συστημάτων και οι προγραμματιστές καλούνται να ακολουθήσουν. Αποτελείται από μια σειρά βημάτων ή φάσεων στα οποία κάθε φάση χρησιμοποιεί ως δεδομένα εισόδου τα αποτελέσματα της προηγούμενης. Κάθε εφαρμογή λογισμικού διέρχεται από τέτοιες φάσεις, σε καθεμιά εκ των οποίων πρέπει να γίνονται ορισμένες εργασίες, ώστε να επιτυγχάνεται το επιθυμητό αποτέλεσμα. Oι γενικές φάσεις είναι που διέρχεται μία εφαρμογή λογισμικού είναι [2] σύλληψη, κατασκευή, χρήση / συντήρηση και απόσυρση. Εικόνα 1: Γενικές φάσεις του κύκλου ζωής του λογισμικού Ένα μοντέλο κύκλου ζωής λογισμικού είναι μια περιγραφή των δραστηριοτήτων και των επιμέρους φάσεων από τις οποίες διέρχεται μια εφαρμογή λογισμικού, καθώς και των εργασιών που λαμβάνουν χώρα σε καθεμιά από τις φάσεις αυτές. Τα μοντέλα κύκλου ζωής λογισμικού προσδιορίζουν τις διαδικασίες ανάπτυξης οι οποίες λαμβάνουν χώρα κατά τις γενικές φάσεις «κατασκευή» και «χρήση / συντήρηση», προσδιορίζοντας τις επιμέρους φάσεις στις οποίες αυτές αναλύονται, τα προϊόντα που παράγονται σε καθεμία από αυτές, καθώς και τη σειρά εκτέλεσής τους. 9

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

11 Υπάρχουν αρκετά μοντέλα κύκλου ζωής, τα οποία διαφοροποιούνται ως προς τη σύλληψη της ιδέας του τρόπου κατασκευής, αλλά και ως προς τις επιμέρους φάσεις που προτείνουν, την επαναληπτικότητα και την εμβέλεια των εργασιών αυτών, τα ενδιάμεσα προϊόντα συστατικά λογισμικού και την περιγραφή τους, τις οικονομικές και επιχειρηματικές πλευρές της χρήσης τους κ.ά. Καθεμία από τις ενέργειες που περιγράφεται σε ένα μοντέλο κύκλου ζωής είναι μια διαδικασία επίλυσης προβλημάτων. 1.3 Το μοντέλο του καταρράκτη Ένα από τα πιο διαδεδομένα μοντέλα κύκλου ζωής είναι αυτό του καταρράκτη (Waterfall), το οποίο φαίνεται στην παρακάτω εικόνα. Η κεντρική ιδέα του μοντέλου του καταρράκτη [7] είναι ότι η εφαρμογή αναπτύσσεται περνώντας ολόκληρη από διαδοχικές επιμέρους φάσεις, καθεμία από τις οποίες θεωρείται περατωμένη με την παραγωγή ορισμένων παραδοτέων. Κάθε επιμέρους φάση ολοκληρώνεται με μια εργασία επαλήθευσης / επικύρωσης των παραδοτέων της, κατά την οποία αποφασίζεται η μετάβαση ή όχι στην επόμενη φάση. Το λογισμικό εμφανίζεται πλήρες, δηλαδή με όλα τα λειτουργικά του χαρακτηριστικά, από την επιμέρους φάση της συνένωσης και μετά. Χαρακτηριστικό του μοντέλου του καταρράκτη είναι ότι, για να ξεκινήσει μια φάση πρέπει να έχει ολοκληρωθεί πλήρως η προηγούμενη φάση. Η ανάπτυξη με τον τρόπο αυτό χαρακτηρίζεται ακολουθιακή, διότι οι επιμέρους φάσεις από τις οποίες διέρχεται είναι διακριτές και ακολουθούν η μία την άλλη. Αρχικά καθορίζονται οι απαιτήσεις από το λογισμικό. Ακολούθως γίνεται η προκαταρκτική και η λεπτομερής σχεδίαση του λογισμικού, αντίστοιχα. Κατά την προκαταρκτική σχεδίαση καθορίζονται οι μονάδες που θα αποτελούν το λογισμικό, καθώς και οι συσχετίσεις μεταξύ τους. Ο καθορισμός αυτός μπορεί να γίνει σε περισσότερα από ένα επίπεδα λεπτομέρειας, ανάλογα με το μέγεθος και την πολυπλοκότητα του λογισμικού. Κατά τη λεπτότερη σχεδίαση καθορίζεται η εσωτερική δομή κάθε μονάδας λογισμικού, η οποία αντιστοιχεί πρακτικά σε μονάδες πηγαίου κώδικα προγράμματος. Ο καθορισμός αυτός περιλαμβάνει όλα τα απαραίτητα στοιχεία, ώστε η συγγραφή του πηγαίου κώδικα, που ακολουθεί, να είναι μια διαδικασία 11

12 διεκπεραίωσης και μόνο. Ακολουθεί η συνένωση των μονάδων και ο έλεγχος ολόκληρου του συστήματος, η ολοκλήρωση του οποίου επιτρέπει την παράδοση ολόκληρου του προϊόντος στον πελάτη και το πέρασμα στη φάση της λειτουργίας και της συντήρησης. Εικόνα 2: Το μοντέλο του καταρράκτη Το μοντέλο του καταρράκτη υπήρξε για μεγάλο διάστημα το πιο διαδεδομένο μοντέλο κύκλου ζωής λογισμικού. Είναι ιδιαίτερα χρήσιμο σε περιπτώσεις όπου οι απαιτήσεις από το λογισμικό είναι από την αρχή γνωστές και δε μεταβάλλονται κατά την ανάπτυξη του λογισμικού, και μπορεί να χρησιμοποιηθεί αποτελεσματικά για τη βιομηχανοποίηση της ανάπτυξης τέτοιων εφαρμογών. Για παράδειγμα, τέτοιες είναι 12

13 οι εφαρμογές που επιλύουν μεγάλα προβλήματα χρησιμοποιώντας μαθηματικούς υπολογισμούς. Σε πολλές, όμως, περιπτώσεις εφαρμογών οι απαιτήσεις είτε δεν είναι από την αρχή και με σαφήνεια γνωστές είτε ενδέχεται να μεταβληθούν κατά τη διάρκεια της ανάπτυξης. Τα πλεονεκτήματα αυτής της μεθόδου είναι: ιδανικό για ομάδες και υπεύθυνους με μικρή σχετική εμπειρία. Η διαδοχική σειρά των σταδίων ανάπτυξης και ο αυστηρός έλεγχος για να διασφαλισθεί η επαρκής τεκμηρίωση διασφαλίζουν την ποιότητα την αξιοπιστία και την συντηρησιμότητα του αναπτυσσόμενου λογισμικού. Με αυτό το μοντέλο η πρόοδος της ανάπτυξης του συστήματος είναι μετρήσιμη Εξοικονομούνται πόροι. Και τα μειονεκτήματα Άκαμπτη, αργή, δαπανηρή και περίπλοκη λόγω της μεγάλης δομής και των αυστηρών ελέγχων. Η υλοποίηση του έργου δεν περιλαμβάνει πολλά βήματα όπου να χρησιμοποιείται η ανάδραση. Δεν χρησιμοποιείται η επαναληπτικότητα που μπορεί να μειώσει τον διαχειριστικό κόστος Εξαρτάται από τον έγκαιρο εντοπισμό και προδιαγραφή των απαιτήσεων, αλλά οι χρήστες μπορεί να μην είναι σε θέση να ορίσουν με σαφήνεια τι χρειάζονται πριν ξεκινήσει το έργο. Νέες απαιτήσεις και νέα στοιχεία του συστήματος, που έχουν σαν αποτέλεσμα νέα ανάπτυξη ανακαλύπτονται κατά τον σχεδιασμό και την κωδικοποίηση Τα προβλήματα συχνά ανακαλύπτονται κατά τη φάση της δοκιμής Η απόδοση του συστήματος δεν μπορεί να ελεγχθεί μέχρι το σύστημα να είναι έτοιμο και αν υπάρχει πρόβλημα είναι δύσκολο να λυθεί όταν το σύστημα είναι στην παραγωγή. 13

14 Δύσκολο να ανταποκριθεί στις αλλαγές. Αλλαγές που συμβαίνουν αργότερα στον κύκλο ζωής είναι πιο δαπανηρές και, συνεπώς δεν συνίστανται. Παράγει υπερβολική τεκμηρίωση και η ενημέρωσή της κατά την πρόοδο του έργου είναι χρονοβόρα. Προωθεί το χάσμα μεταξύ των χρηστών και προγραμματιστών, με σαφή διαχωρισμό των αρμοδιοτήτων. 1.4 Το μοντέλο πρωτυποποίησης Η κεντρική ιδέα του μοντέλου πρωτυποποίησης [30] είναι η ανάπτυξη του λογισμικού όχι ολόκληρου, αλλά σε τμήματα, που ονομάζονται πρωτότυπα. Οι διαδικασίες ανάπτυξης επαναλαμβάνονται για ένα τμήμα του συστήματος κάθε φορά και, για το λόγο αυτό, το μοντέλο χαρακτηρίζεται ως επαναληπτικό. Κάθε πρωτότυπο περιλαμβάνει τις βασικές από τις λειτουργίες που προορίζεται να εκτελεί το λογισμικό και τίθεται σε δοκιμή από τον πελάτη. Από εκεί συλλέγονται παρατηρήσεις και η διαδικασία κατασκευής νέου πρωτοτύπου επαναλαμβάνεται μέχρις ότου ένα πρωτότυπο να ικανοποιεί τις απαιτήσεις, δηλαδή να εκτελεί τις επιθυμητές λειτουργίες του λογισμικού με τρόπο ικανοποιητικό και να γίνεται αποδεκτό από τον πελάτη. Από το σημείο αυτό και μετά μπορούν να προστεθούν και οι υπόλοιπες λειτουργίες, ώστε το λογισμικό να ολοκληρωθεί. Ένα σημαντικό πλεονέκτημα του μοντέλου αυτού είναι η δυνατότητα απόκτησης άποψης για την εφαρμογή λογισμικού νωρίτερα απ ότι στο μοντέλο του καταρράκτη. Αυτό μπορεί να γλιτώσει την ανάπτυξη από καθυστερήσεις ή ακόμη και από ολική αποτυχία, τα οποία θα επέρχονταν, αν ο κατασκευαστής αναγκαζόταν να οπισθοδρομήσει την ανάπτυξη, ενώ αυτή είχε προχωρήσει πολύ. Παράλληλα, ιδιαίτερη σημασία αποκτά η διοίκηση του έργου, η οποία πρέπει να εξασφαλίζει την υλοποιησιμότητα του πρωτοτύπου και την εύκολη τροποποίησή του. Κάθε κατασκευή πρωτοτύπου μπορεί να θεωρηθεί ως ένα μικρό έργο λογισμικού το οποίο κατασκευάζεται με διαδικασίες που μπορούν να ακολουθούν άλλα μοντέλα κύκλου ζωής, όπως αυτό του καταρράκτη. 14

15 Με βάση τις παραπάνω παρατηρήσεις, το μοντέλο πρωτυποποίησης χρησιμοποιείται στην ανάπτυξη εφαρμογών λογισμικού όταν δεν υπάρχει βεβαιότητα στην αρχή της ανάπτυξης για τις απαιτήσεις του λογισμικού, οπότε δεν μπορούν να συμφωνηθούν και να παγιοποιηθούν. Τέτοιες είναι εφαρμογές που κατασκευάζονται για πρώτη φορά ή που είναι στενά εξαρτημένες από τον πελάτη, χωρίς να υπάρχει αποδεκτό προηγούμενο παράδειγμα. Ωστόσο, το μέγεθος των εφαρμογών αυτών δε μπορεί να είναι ιδιαίτερα μεγάλο, διότι ο χρόνος ανάπτυξης κάθε πρωτοτύπου μεγαλώνει και η απαιτούμενη ευελιξία μειώνεται. Τα πλεονεκτήματα αυτής της μεθόδου είναι: «Αντιμετωπίζει την ανικανότητα πολλών χρηστών να προσδιορίσουν τις πληροφορίες που χρειάζονται και την δυσκολία των αναλυτών συστημάτων να καταλάβουν το περιβάλλον των χρηστών παρέχοντας στους χρήστες ένα δοκιμαστικό σύστημα για διερευνητικούς λόγους όσον το δυνατόν νωρίτερα» [40] Μπορεί να χρησιμοποιηθεί για να παρουσιάσει ρεαλιστικά σημαντικές πτυχές του συστήματος σε κάθε βήμα τους παραδοσιακού κύκλου ζωής [41] Βελτιώνει τη συμμετοχή των χρηστών στην ανάπτυξη τους συστήματος καθώς και την επικοινωνία μεταξύ των υπευθύνων του έργου Ιδιαίτερα χρήσιμη για να διευκρινιστούν ασαφής απαιτήσεις Βοηθά να εντοπιστούν μπερδεμένες ή δύσκολες λειτουργίες καθώς και ελλιπής λειτουργικότητα. Ενθαρρύνει την καινοτομία και τον ευέλικτο σχεδιασμό Παρέχει γρήγορη υλοποίηση μιας ημιτελούς αλλά λειτουργικής εφαρμογής. Και τα μειονεκτήματα: Η διαδικασία έγκρισης και ελέγχου δεν είναι αυστηρή. 15

16 Η ελλιπής ή ανεπαρκής ανάλυση του προβλήματος που είναι πιθανό να προκύψει θα οδηγήσει στην αντιμετώπιση μόνο των πιο προφανών και επιφανειακών αναγκών, με αποτέλεσμα αναποτελεσματικές μέθοδοι να ενσωματωθούν στο νέο σύστημα. Οι απαιτήσεις αλλάζουν συχνά και σε μεγάλο βαθμό Η ταυτοποίηση μη λειτουργικών στοιχείων είναι δύσκολο να καταγραφεί Οι σχεδιαστές μπορούν να πρωτοτυπήσουν πάρα πολύ γρήγορα, χωρίς την επαρκή εκ των προτέρων ανάλυση των αναγκών των χρηστών, με αποτέλεσμα σχεδίαση που περιορίζει τις μελλοντικές δυνατότητες ανάπτυξης του συστήματος Οι σχεδιαστές μπορούν να παραμελούν την δημιουργία τεκμηρίωσης, με αποτέλεσμα ανεπαρκή αιτιολόγηση για το τελικό προϊόν και ανεπαρκή στοιχεία για το μέλλον. Μπορεί να οδηγήσει σε κακοσχεδιασμένα συστήματα. Μπορεί να οδηγήσει σε ψευδείς προσδοκίες, όπου ο πελάτης πιστεύει λανθασμένα ότι το σύστημα «τελείωσε» όταν στην πραγματικότητα δεν έχει ολοκληρωθεί. Το σύστημα φαίνεται καλό και έχει επαρκείς διεπαφές χρήστη, αλλά δεν είναι πραγματικά λειτουργικό. Οι επαναλήψεις επιβαρύνουν τους προϋπολογισμούς και τα χρονοδιαγράμματα του έργου, έτσι το πρόσθετο κόστος πρέπει να σταθμιστεί έναντι των δυνητικών οφελών. Πολύ λίγα έργα μπορεί να είναι σε θέση να δικαιολογήσουν το επιπλέον χρόνο και χρήμα, ενώ μόνο τα υψηλού κινδύνου τμήματα των πολύ μεγάλων, πολύπλοκων έργων μπορούν να επωφεληθούν από τη χρήση πρωτοτύπων. 16

17 Εικόνα 3: Το μοντέλο πρωτυποποίησης 1.5 Το μοντέλο λειτουργικής επαύξησης Το μοντέλο της λειτουργικής επαύξησης [33] συνδυάζει την ακολουθιακή ανάπτυξη του μοντέλου του καταρράκτη με την τμηματική ανάπτυξη του μοντέλου της πρωτυποποίησης. Κεντρική ιδέα είναι η κατάτμηση του υπό κατασκευή λογισμικού σε τμήματα που αναπτύσσονται ανεξάρτητα, ακολουθώντας το καθένα ακολουθιακή ανάπτυξη σύμφωνα με το μοντέλο του καταρράκτη, όπως φαίνεται στην παρακάτω εικόνα. Κατά την αρχική φάση ανάλυσης και σχεδίασης αποφασίζονται τα τμήματα στα οποία θα κατατμηθεί η εφαρμογή, η ανάπτυξη των οποίων γίνεται στη συνέχεια ανεξάρτητα και παράλληλα. Όταν ολοκληρώνεται η ανάπτυξη κάθε τμήματος, αυτό ενσωματώνεται στο σύνολο της εφαρμογής. 17

18 Το μοντέλο της λειτουργικής επαύξησης χρησιμοποιείται στην ανάπτυξη μεγάλων εφαρμογών λογισμικού για τις οποίες ισχύουν οι απαιτήσεις του μοντέλου του καταρράκτη, δηλαδή σαφής γνώση και μικρή ή καθόλου μεταβλητότητα των απαιτήσεων κατά την ανάπτυξη. Τα πλεονεκτήματα αυτής της μεθόδου είναι: Καθώς εξελίσσεται το έργο υπάρχει η δυνατότητα για αξιοποίηση τεχνογνωσίας που έχει αποκτηθεί σε προηγούμενες φάσεις του έργου. Ένας μέτριος έλεγχος υπάρχει σε όλη τη διάρκεια του έργου με τη χρήση εγγράφων και την επίσημη έγκριση και αναθεώρηση από τον χρήστη και τον υπεύθυνο έργου σε συγκεκριμένα ορόσημα του έργου (milestones) Οι ενδιαφερόμενοι μπορούν να έχουν συγκεκριμένα στοιχεία για την κατάσταση του έργου καθ 'όλη τη διάρκεια του κύκλου ζωής. Βοηθά ώστε να μετριαστούν οι σχεδιαστικοί κίνδυνοι καθώς και οι κίνδυνοι κατά την παράδοση του έργου. Επιτρέπει την παράδοση μιας σειράς υλοποιήσεων που είναι σταδιακά πιο πλήρης και μπορούν να μπουν στην παραγωγή πιο γρήγορα ως βελτιωμένες εκδόσεις. Η σταδιακή εφαρμογή παρέχει τη δυνατότητα να παρακολουθούν την επίδραση των σταδιακών αλλαγών, να απομονώνουν τα προβλήματα και να κάνουν τις αναγκαίες προσαρμογές πριν υπάρξει πρόβλημα η δυνατότητα παράλληλης ανάπτυξης τμημάτων του λογισμικού, η οποία τελικά καταλαμβάνει μικρότερο χρόνο Και τα μειονεκτήματα: Κατά τη χρήση μια σειρά από μίνι-καταρράκτες για ένα μικρό μέρος του συστήματος πριν από τη μετάβαση στην επόμενη αύξηση, υπάρχει συνήθως η έλλειψη συνολικής εξέτασης του επιχειρηματικού προβλήματος και των τεχνικών απαιτήσεων για το συνολικό σύστημα. Δεδομένου ότι ορισμένες ενότητες θα ολοκληρωθούν πολύ νωρίτερα από τις άλλες απαιτούνται σαφώς καθορισμένες διεπαφές. 18

19 Δύσκολα σημεία του έργου μετατίθενται στο μέλλον ώστε να παρουσιαστεί στη διοίκηση μια ωραιοποιημένη εικόνα. Η αρχική κατάτμηση και γενική σχεδίαση του συστήματος αποκτά ιδιαίτερη βαρύτητα. Σφάλματα σε αυτή μπορούν να έχουν σημαντικές επιπτώσεις στο λογισμικό που θα κατασκευαστεί στη συνέχεια. Σε περίπτωση μεταβολής των λειτουργικών απαιτήσεων κατά τη χρήση του ημιτελούς συστήματος, μπορεί η αρχιτεκτονική αυτού να μεταβληθεί σε βαθμό που να κλονιστεί η ανάπτυξη των υπόλοιπων τμημάτων αυτού. Εικόνα 4: Το μοντέλο της λειτουργικής επαύξησης 1.6 Το σπειροειδές μοντέλο Τα μοντέλα κύκλου ζωής που παρουσιάστηκαν μέχρι τώρα αποτελούν παραλλαγές της βασικής ιδέας του μοντέλου του καταρράκτη. Η ανάπτυξη παραμένει, επί της ουσίας, μια ακολουθιακή διαδικασία, η οποία εφαρμόζεται είτε σε ολόκληρο είτε σε ένα μέρος του συστήματος. Στο μοντέλο της προτυποποίησης, καθώς και σε αυτό της λειτουργικής επαύξησης, η κατάτμηση είναι λίγο ως πολύ αυθαίρετη. Το ρίσκο δεν αποτιμάται, με αποτέλεσμα κάθε οπισθοδρόμηση ή 19

20 ανατροπή να κοστίζει σε χρόνο και σε οικονομικούς όρους, συχνά δε σε συνολική αποτυχία των έργων. Από την άλλη, η αποδοχή των αυστηρών φάσεων που προτείνονται από το μοντέλο του καταρράκτη δεν είναι εφικτό να ακολουθείται σε όλες τις περιπτώσεις και από όλους τους κατασκευαστές, με αποτέλεσμα η ανάπτυξη λογισμικού είτε να γίνεται άναρχα, με βάση τη διαίσθηση των κατασκευαστών, είτε να είναι μια δαπανηρή και στρυφνή διαδικασία, στην οποία πρέπει να ακολουθηθούν κάποια συγκεκριμένα βήματα, ανεξάρτητα από τις εκάστοτε συνθήκες. Λύση στα παραπάνω προβλήματα έρχεται να δώσει το σπειροειδές μοντέλο [7] κύκλου ζωής, το οποίο πήρε το όνομά του από την απεικόνιση σε διάγραμμα, όπως φαίνεται στην παρακάτω εικόνα. Πρόκειται για μια γενίκευση των μοντέλων της λειτουργικής επαύξησης και της πρωτοτυποποίησης, με σημαντικά νέα στοιχεία: Οι φάσεις και οι διαδικασίες ανάπτυξης λογισμικού δεν είναι προκαθορισμένες από το μοντέλο, αλλά εξειδικεύονται στο χώρο της εφαρμογής του. Η ανάπτυξη ολόκληρου του συστήματος χωρίζεται σε πολλούς κύκλους, σε καθέναν από τους οποίους προστίθενται νέα λειτουργικά χαρακτηριστικά στο σύστημα. Πριν από την έναρξη κάθε κύκλου γίνεται μια μελέτη σκοπιμότητας και ανάλυση κινδύνων, από την οποία προκύπτουν, αφενός, οι συγκεκριμένες εργασίες που θα εκτελεστούν μέσα στον κύκλο, αφετέρου, η ίδια η εφικτότητα εκτέλεσης του κύκλου αυτού. Όπως φαίνεται στην παραπάνω εικόνα, στο σπειροειδές μοντέλο διακρίνονται τέσσερις κατηγορίες εργασιών: προσδιορισμός στόχων, εντοπισμός και επίλυση κινδύνων, εκτέλεση διαδικασιών ανάπτυξης και επαλήθευση, καθώς και εργασίες προγραμματισμού. Κατά τον προσδιορισμό στόχων καθορίζονται τα αντικείμενα εργασιών κάθε επανάληψης, καταγράφονται οι περιορισμοί επί του προϊόντος, αλλά και επί της διαδικασίας για την οποία κατασκευάζεται ένα αναλυτικό πλάνο διοίκησης. Επίσης, καταγράφονται οι κίνδυνοι που εμπεριέχει η διαδικασία και οι εναλλακτικές λύσεις, όπου υπάρχουν. 20

21 Κατά τις εργασίες επίλυσης κινδύνων αναλύονται οι κίνδυνοι που έχουν καταγραφεί και αποτιμάται κάθε εναλλακτική λύση. Στο σημείο αυτό λαμβάνονται αποφάσεις για τη συνέχιση ή όχι της ανάπτυξης, για το μοντέλο που θα ακολουθηθεί στη συγκεκριμένη επανάληψη, για την κατασκευή ή όχι πρωτοτύπου κ.ά. Εικόνα 5: Το σπειροειδές μοντέλο κύκλου ζωής λογισμικού Ακολουθεί η εκτέλεση των βημάτων της διαδικασίας ανάπτυξης λογισμικού που έχει επιλεγεί για το τμήμα εκείνο του συστήματος που αφορά η τρέχουσα επανάληψη. Τέλος, μετά την επαλήθευση των αποτελεσμάτων, ενδιάμεσων προϊόντων λογισμικού γίνεται προγραμματισμός της συνέχισης της ανάπτυξης. Το σπειροειδές μοντέλο δεν καθορίζει εκ των προτέρων ποιες ακριβώς είναι οι εργασίες ανάπτυξης λογισμικού που πρέπει να γίνουν ούτε σε ποια έκταση του συστήματος αυτές θα εφαρμοστούν. Διαφορετικές διαδικασίες ανάπτυξης μπορεί να επιλεγούν για διαφορετικά τμήματα του λογισμικού. Αυτό που προτείνει είναι ότι ο καθορισμός των λεπτομερειών υλοποίησης πρέπει να γίνεται συνεχώς κατά την 21

22 ανάπτυξη (και όχι μία φορά, όπως συμβαίνει με τα μοντέλα κύκλου ζωής που αναφέρθηκαν μέχρι τώρα) με ευθύνη και με τεκμηρίωση από πλευράς του ίδιου του κατασκευαστή. Η εφαρμογή του σπειροειδούς μοντέλου στην πράξη δεν είναι πάντα εύκολη υπόθεση. Εισάγονται νέες εργασίες, που δεν ανήκουν καθαρά στις εργασίες ανάπτυξης λογισμικού, αλλά αφορούν την τεκμηρίωση της σκοπιμότητας και τον τμηματικό προγραμματισμό της ανάπτυξης. Οι εργασίες αυτές επιφέρουν ασφαλώς κάποιο κόστος, το οποίο όμως μπορεί να αποσβεστεί από τον έγκαιρο εντοπισμό προβλημάτων και την αποφυγή πιθανού ναυαγίου, κάτι που έχει συμβεί σε αρκετές περιπτώσεις. Τα πλεονεκτήματα αυτής της μεθόδου είναι: Βελτιώνει την αποφυγή του κινδύνου Βοηθάει να επιλέξουμε την καλύτερη μέθοδο για την ανάπτυξη ενός συγκεκριμένου μέρους του λογισμικού, με βάση τον κίνδυνο του έργου. Μπορεί να ενσωματώσει τα μοντέλα του καταρράκτη, της προτυποποίησης και επαναληπτικών μεθοδολογιών ως ειδικές περιπτώσεις στο πλαίσιο, και να παρέχει καθοδήγηση ως προς το ποιος συνδυασμός αυτών των μοντέλων ταιριάζει για μια συγκεκριμένη επανάληψη του λογισμικού, με βάση το είδος του κινδύνου του έργου. Για παράδειγμα, ένα έργο με χαμηλό κίνδυνο στο να μην πλήρη τις απαιτήσεις των χρηστών αλλά υψηλού κινδύνου στην τήρηση του προϋπολογισμού και του χρονοδιαγράμματος θα ακολουθήσει ουσιαστικά μια γραμμική προσέγγιση καταρράκτη για μια δεδομένη επανάληψη λογισμικού. Αντίθετα, αν οι παράγοντες κινδύνου αναστραφούν, η σπειροειδής μεθοδολογία θα μπορούσε να αποφέρει μια επαναληπτική προσέγγιση. Και τα μειονεκτήματα: Είναι δύσκολο να καθορισθεί η ακριβής σύνθεσή των μεθοδολογιών ανάπτυξης που θα χρησιμοποιηθούν για κάθε επανάληψη γύρω από το σπειροειδές μοντέλο. 22

23 Εξαιρετικά προσαρμοσμένη σε κάθε έργο, και έτσι είναι αρκετά περίπλοκη, περιορίζοντας τις δυνατότητες επαναχρησιμοποίησης. Ένα εξειδικευμένος και έμπειρο υπεύθυνος έργου απαιτείται για να καθορίσει πώς να την εφαρμόσει σε ένα έργο. Δεν υπάρχουν έλεγχοι για τη μετάβαση από έναν κύκλο ζωής σε έναν άλλο κύκλο. Χωρίς ελέγχους, κάθε κύκλος μπορεί να δημιουργήσει περισσότερη δουλειά για τον επόμενο κύκλο. Δεν υπάρχουν αυστηρές προθεσμίες. Οι κύκλοι συνεχίζονται χωρίς σαφή τερματισμό, οπότε ελλοχεύει ο κίνδυνος να ξεφύγει ο προϋπολογισμός και το χρονοδιάγραμμα του έργου. Υπάρχει πιθανότητα ότι το έργο θα καταλήξει να υλοποιηθεί με το μοντέλο του καταρράκτη. 1.7 Το μοντέλο του πίδακα Αρκετά μοντέλα κύκλου ζωής που έχουν προταθεί αποτελούν παραλλαγές αυτών που αναφέρθηκαν, τα χαρακτηριστικά των οποίων υποβάλλονται από τις μεθοδολογίες ανάπτυξης. Οι πρώτες προσεγγίσεις του θέματος με βάση την αντικειμενοστραφή τεχνολογία διαφοροποίησαν το παραπάνω σχήμα βασιζόμενες σε δύο ιδιαίτερα γνωρίσματά της: πρώτον, ότι οι έννοιες ανάλυση, σχεδίαση και κωδικοποίηση έρχονται στο αντικειμενοστραφές παράδειγμα πολύ πιο κοντά και, δεύτερον, ότι το αποτέλεσμα κάθε διαδικασίας κατασκευής λογισμικού είναι όχι μόνο ένα σύστημα, αλλά και επαναχρησιμοποιήσιμες μονάδες, οι οποίες μπορούν να χρησιμοποιηθούν από τις πρώτες φάσεις της ανάπτυξης μελλοντικών συστημάτων. Με τον τρόπο αυτό προέκυψε το μοντέλο του πίδακα [2], που φαίνεται στην παρακάτω εικόνα. Κατά την ανάπτυξη παρατηρούνται επικαλύψεις των φάσεων ανάλυση, σχεδίαση και κωδικοποίηση, οι οποίες φαίνονται με την επικάλυψη των κύκλων στην εικόνα. Κατά το τέλος της ανάπτυξης, ορισμένα από τα συστατικά λογισμικού που 23

24 έχουν παραχθεί ενσωματώνονται σε μια δεξαμενή συστατικών και διατίθενται για να χρησιμοποιηθούν στην ανάπτυξη και νέων συστημάτων. Η ιδέα του μοντέλου κύκλου ζωής του πίδακα τονίζει περισσότερο τα επιθυμητά χαρακτηριστικά της μεθοδολογίας κατασκευής του λογισμικού σύμφωνα με την αντικειμενοστραφή λογική, ήταν δε αρκετά επίκαιρη κατά την έκρηξη ενδιαφέροντος για την αντικειμενοστραφή τεχνολογία στα τέλη της δεκαετίας του 80 και στις αρχές της δεκαετίας του 90. Εικόνα 6: Το μοντέλο κύκλου ζωής του πίδακα 24

25 1.8 Σύγχρονα μοντέλα κύκλου ζωής λογισμικού Μεταγενέστερα μοντέλα κύκλου ζωής λογισμικού προσπαθούν να δώσουν μια γενική κατεύθυνση εφαρμογής των υπαρχουσών ιδεών, αφήνοντας σημαντικούς βαθμούς ελευθερίας στον κατασκευαστή που τα ακολουθεί. Αυτό είναι ιδιαίτερα επιθυμητό, διότι η αυστηρή πειθαρχία που επιχειρήθηκε να εισαχθεί τα πρώτα χρόνια της έκρηξης της χρήσης του λογισμικού δε συμβάδιζε με την ωριμότητα σκέψης που διέθετε η τεχνική κοινότητα την εποχή εκείνη ούτε και μπορούσε να παρακολουθήσει τους υψηλούς ρυθμούς εξελίξεων στο χώρο της πληροφορικής. Η πειθαρχία αυτή τελικά δεν οδήγησε στην κατασκευή λογισμικού αναμενόμενης ποιότητας. Μια περιγραφή ενός σύγχρονου μοντέλου κύκλου ζωής λογισμικού περιέχει μόνο γενικές κατευθύνσεις, οι οποίες εξειδικεύονται στο εκάστοτε περιβάλλον ανάπτυξης. Επίσης, δεν είναι άρρηκτα συνδεδεμένο με κάποια μεθοδολογία ανάπτυξης λογισμικού, αλλά μπορεί να εξειδικευτεί για την πρακτική του κάθε κατασκευαστή. Ένα τέτοιο μοντέλο φαίνεται στην παρακάτω εικόνα και μπορεί να χαρακτηριστεί ως απόγονος πολλών από τα μοντέλα που προαναφέρθηκαν. Εικόνα 7: Ένα γενικό μοντέλο κύκλου ζωής το οποίο ενσωματώνει χαρακτηριστικά πολλών από τα μοντέλα που αναφέρθηκαν 25

26 Το γενικό πλαίσιο του μοντέλου αυτού περιλαμβάνει τις φάσεις σύλληψης, κατασκευής και λειτουργίας. Καθεμιά από αυτές αναλύεται σε επιμέρους εργασίες, σύμφωνα με τα χαρακτηριστικά του εκάστοτε περιβάλλοντος. Ιδιαίτερα η γενική φάση της κατασκευής αναλύεται σε κύκλους ανάπτυξης, καθένας εκ των οποίων προσθέτει νέα χαρακτηριστικά και λειτουργίες στο υπό κατασκευή λογισμικό. Τα επιμέρους βήματα μέσα σε κάθε κύκλο ανάπτυξης μοιάζουν με τα βήματα του μοντέλου του καταρράκτη, μόνο που δεν εφαρμόζονται για ολόκληρο το σύστημα, αλλά για το μικρό μέρος του που κατασκευάζεται στον εν λόγω κύκλο, όπως στο μοντέλο της πρωτοτυποποίησης. Για την εκκίνηση κάθε κύκλου ανάπτυξης μπορεί να έχει προηγηθεί ανάλυση ρίσκου και σκοπιμότητας, όπως στο σπειροειδές μοντέλο. Ζητήματα όπως αλληλουχία των ενεργειών, ακριβής καθορισμός των κύκλων ανάπτυξης κ.ά. αφήνονται στη διακριτική ευχέρεια του κάθε κατασκευαστή, από τον οποίο και καθορίζονται σύμφωνα με τις ιδιαιτερότητες κάθε περίπτωσης. 26

27 ΚΕΦΑΛΑΙΟ 2: ΠΡΟΣΕΓΓΙΣΕΙΣ ΑΝΑΠΤΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 2.1 Εισαγωγή Η προσέγγιση μεθοδολογία ανάπτυξης πληροφοριακών συστημάτων είναι ένα οργανωμένο σύνολο διαδικασιών, τεχνικών, εργαλείων και μέσων τεκμηρίωσης που καθοδηγεί τις ενέργειες σε ένα χώρο γνώσης. Περιγράφεται από φάσεις, στάδια, βήματα και δραστηριότητες. Σε αυτό το κεφάλαιο επικεντρωνόμαστε κυρίως στις νεές ευέλικτες προσεγγίσεις ανάπτυξης πληροφοριακών συστημάτων. Η απογοήτευση από τη χρήση μεθόδων που απαιτούσαν την προσοχή των μηχανικών λογισμικών στην τεκμηρίωση του συστήματος που σχεδιαζόταν, οδήγησε στην δεκαετία του 90 ένα μεγάλο μέρος μηχανικών λογισμικού να προτείνουν νέες και πιο ευέλικτες μεθόδους. Αυτές οι μέθοδοι επιτρέπουν στην ομάδα ανάπτυξης να επικεντρωθεί στη σχεδίαση του λογισμικού. Οι μέθοδοι αυτές ονομάστηκαν ευέλικτες μέθοδοι (agile methods) και βασίζονται εξολοκλήρου σε ένα πλαίσιο, όπου οι διαδικασίες του προσδιορισμού των προδιαγραφών του λογισμικού, της ανάπτυξης και της παράδοσής του, επαναλαμβάνονται. 2.2 Ευέλικτες Μέθοδοι Ανάπτυξης (Agile Software Development) Ευελιξία στον προγραμματισμό είναι η ικανότητα της προσαρμογής και του επαναπροσδιορισμού ενός αναπτυσσόμενου και συνεχώς εξελισσόμενου συστήματος στην περίπτωση που εμφανίζονται αλλαγές στις αρχικές θεωρήσεις και παραδοχές. Οι οργανισμοί που χρησιμοποιούν ευέλικτες μεθόδους βλέπουν την αλλαγή σαν ευκαιρία βελτίωσης και προόδου και όχι σαν απειλή. Οι ευέλικτες μέθοδοι είναι [23] : Επαναληπτικές (iterative): Αρχικά παραδίδεται ένα πλήρες σύστημα και στη συνέχεια γίνονται αλλαγές στη λειτουργία κάθε υποσυστήματος σε κάθε νέα έκδοση. 27

28 Αυξητικές (incremental): Το σύστημα διαιρείται σε υποσυστήματα με βάση τη λειτουργία τους. Νέες λειτουργίες προστίθενται σε κάθε νέα έκδοση. Αυτό-διοργανούμενες (self-organising): Η ομάδα έχει την αυτονομία να οργανωθεί κατά βούληση. Προκύπτουσες (emergent): Οι απαιτήσεις και η τεχνολογία που θα χρησιμοποιηθεί προκύπτουν κατά τη διάρκεια του κύκλου ανάπτυξης. Οι ευέλικτες μέθοδοι εμφανίστηκαν τα τελευταία χρόνια ως μία εναλλακτική κατεύθυνση στην τεχνολογία λογισμικού [14]. Μεταξύ των ευέλικτων μεθόδων είναι και οι extreme Programming [13] και Rational Unified Process [21] που θα μελετηθούν αναλυτικά στις επόμενες υπό-ενότητες. Οι διαδικασίες αυτές αρχικά σχεδιάστηκαν για την υποστήριξη της ανάπτυξης επιχειρηματικών λογισμικών, όπου οι απαιτήσεις του συστήματος αλλάζουν συχνά κατά τη διάρκεια της ανάπτυξης. Η μεθοδολογία αυτή δημιουργήθηκε από την προσπάθεια να ξεπεραστούν οι αδυναμίες των παραδοσιακών προσεγγίσεων στις περιπτώσεις που οι απαιτήσεις του έργου αλλάζουν διαρκώς και με ταχύτητα. Κάτι τέτοιο σίγουρα συμβαίνει σε αρκετές κατηγορίες σύγχρονων προϊόντων λογισμικού. Καταρχήν, η μεθοδολογία αυτή δεν δίνει τόσο έμφαση στην ολοκλήρωση του προϊόντος όσο στην συνεχή εξέλιξη του με την προσθήκη καινούργιων χαρακτηριστικών και την βελτίωσή του σε διαδοχικές εκδόσεις. Σε σύγκριση με παρόμοιες μεθοδολογίες που επίσης προτείνουν την επαναληπτική εξέλιξη του έργου μέσα από διαδοχικές εκδόσεις, η agile φιλοσοφία διαφέρει στο ότι προωθεί την πραγματικά πολύ γρήγορη δημιουργία διαδοχικών εκδόσεων, της τάξης των μερικών εβδομάδων αντί για αρκετών μηνών. Οι φάσεις της διαχείρισης έργου με μια ευέλικτη μεθοδολογία φαίνονται διαγραμματικά στην παρακάτω εικόνα. 28

29 Εικόνα 8: Οι φάσεις διαχείρισης έργου με μια agile μεθοδολογία Πιθανότατα η πιο γνωστή ευέλικτη μέθοδος είναι o ακραίος προγραμματισμός (extreme programming), ο οποίος περιγράφεται παρακάτω. Ωστόσο, υπάρχουν και άλλες μέθοδοι όπως οι [8] : Scrum, Crystal, Adaptive Software Development, DSDM, Feature Driven Development, Iconix, Dynamic System Development Methodology (DSDM) και Lean Development Η επιτυχία αυτών των μεθόδων οδήγησε στην ένταξή τους σε πιο παραδοσιακές μεθόδους ανάπτυξης λογισμικού που βασίζονται στην μοντελοποίηση του συστήματος. Παρόλο που αυτές οι μέθοδοι βασίζονται στην ιδέα της αυξανόμενης ανάπτυξης και παράδοσης λογισμικού, προτείνουν διαφορετικές διεργασίες για να το πετύχουν. Ωστόσο, μοιράζονται ένα κοινό σύνολο αρχών και για αυτό έχουν πολλά κοινά σημεία. Αυτές οι αρχές φαίνονται σε παρακάτω πίνακα: 29

30 Πίνακας 1: Χαρακτηριστικά μεθοδολογίας Agile Software Development Αρχή Περιγραφή Ανάμειξη του πελάτη Αυξανόμενη παράδοση Άνθρωποι, όχι διεργασίες Αποδοχή αλλαγών Διατήρηση απλότητας Οι πελάτες θα πρέπει να είναι άμεσα αναμεμειγμένοι με την διεργασία της ανάπτυξης λογισμικού. Ο ρόλος τους είναι να παρέχουν νέες απαιτήσεις, να τους δίνουν προτεραιότητες και να αξιολογούν τις επαναληπτικές εκδόσεις του συστήματος. Το λογισμικό αναπτύσσεται σε μέρη και οι πελάτες ορίζουν τις απαιτήσεις που θα περιληφθούν σε κάθε μέρος. Οι ικανότητες της ομάδας ανάπτυξης θα πρέπει να αναγνωρίζονται και να εκμεταλλεύονται. Τα μέλη της ομάδας θα πρέπει να έχουν την δυνατότητα να εργάζονται με τον δικό τους τρόπο και όχι στα πλαίσια μιας ορισμένης διεργασίας. Θα πρέπει να αναμένονται αλλαγές στις απαιτήσεις του συστήματος, για αυτό το λόγο ο σύστημα πρέπει να σχεδιαστεί ώστε να δέχεται τέτοιες αλλαγές. Θα πρέπει να γίνεται εστίαση στην απλότητα τόσο του λογισμικού που αναπτύσσεται όσο και της διαδικασίας της ανάπτυξης. Όποτε είναι δυνατό, εκτελούνται εργασίες για την εξάλειψη πολυπλοκότητας από το σύστημα. Επιπλέον, όλες οι ευέλικτες μέθοδοι βασίζονται σε 12 αρχές που περιγράφονται στη διακηρυκτική συνεδρίαση για της ευέλικτες μεθόδους και είναι οι εξής [14] : 1. Ικανοποίηση του πελάτη. 2. Συχνή παράδοση λογισμικού. 3. Η αλλαγή είναι ευπρόσδεκτη. 4. Καθημερινή συνεργασία με τον πελάτη. 5. Ικανό προσωπικό και περιβάλλον εμπιστοσύνης στην ομάδα. 6. Διαπροσωπική συζήτηση για την ανταλλαγή πληροφοριών. 7. Σωστή λειτουργία του λογισμικού που κατασκευάζεται. 8. Εξασφάλιση σταθερού ρυθμού ανάπτυξης. 9. Τεχνική αρτιότητας και καλός σχεδιασμός. 30

31 10. Υλοποίηση στόχων με σύντομο και αποτελεσματικό τρόπο. 11. Αυτό-διοργανούμενες ομάδες. 12. Επαναπροσδιορισμός της συμπεριφοράς της ομάδας. εξής: Συνοπτικά τα σημεία στα οποία οι ευέλικτες μέθοδοι δίνουν αξία είναι τα Άτομα και αλληλεπιδράσεις αντί διαδικασίες και εργαλεία. Δυναμικός κώδικας αντί γραπτής τεκμηρίωσης. Συνεργασία με τον πελάτη αντί αυστηρών συμβολαίων. Ανταπόκριση σε αλλαγές αντί ακολουθούμενου σχεδίου. Στην πραγματικότητα, οι αρχές στις οποίες βασίζονται οι ευέλικτες μέθοδοι είναι πολλές φορές δύσκολο να πραγματοποιηθούν [9] : 1. Παρόλο που η ιδέα της ανάμειξης του πελάτη στη διαδικασία ανάπτυξης του λογισμικού είναι ελκυστική, η επιτυχία της εξαρτάται από την επιθυμία και τη δυνατότητα του πελάτη να διαθέσει χρόνο στην ομάδα ανάπτυξης. Συχνά, οι πελάτες έχουν άλλες υποχρεώσεις και δεν μπορούν να έχουν πλήρη συμμετοχή στην ανάπτυξη του λογισμικού. 2. Κάποια άτομα, μέλη μιας ομάδας, μπορεί να μην έχουν τον κατάλληλο χαρακτήρα και προσωπικότητα για να συμμετέχουν εντατικά σε μία ομάδα, κάτι που είναι τυπικό στις ευέλικτες μεθόδους. Για αυτό το λόγο, μπορεί να μη συνεργάζονται σωστά με τα άλλα μέλη της ομάδας. 3. Το να θέτεις προτεραιότητες στις αλλαγές του συστήματος μπορεί να γίνει δύσκολο, ειδικά για συστήματα που υπάρχουν περισσότερα του ενός άτομα που θέτουν τις προτεραιότητες για τις αλλαγές του συστήματος. Συχνά, κάθε άτομο θέτει διαφορετικές προτεραιότητες σε διαφορετικές αλλαγές. 4. Η διατήρηση της απλότητας απαιτεί περισσότερη εργασία. Υπό την πίεση των προθεσμιών παράδοσης του συστήματος, η ομάδα μπορεί να μην έχει το χρόνο να κάνει τις επιθυμητές απλοποιήσεις στο σύστημα. 31

32 Οι βασικές αρχές της ευέλικτης μεθοδολογίας αποτυπώνονται και στην παρακάτω εικόνα: Εικόνα 9: Αρχιτεκτονική της ευέλικτης μεθοδολογίας Ένα άλλο πρόβλημα, μη τεχνικό, το οποίο είναι ένα πρόβλημα που αντιμετωπίζουν όλες οι μέθοδοι αυξητικής ανάπτυξης είναι το γεγονός ότι ο πελάτης χρησιμοποιεί έναν εξωτερικό οργανισμό για την ανάπτυξη του συστήματος. Το κείμενου του προσδιορισμού των προδιαγραφών του συστήματος είναι το συμβόλαιο που δεσμεύει τα δύο μέρη, δηλαδή τον πελάτη και το οργανισμό που αναπτύσσει το σύστημα. Επειδή, όμως, με τη μεθοδολογία των ευέλικτων μεθόδων, ο όγκος των απαιτήσεων μεγαλώνει ταχύτητα, το γεγονός αυτό είναι ένα πρόβλημα για τη συγγραφή των συμβολαίων. Συνεπώς, οι ευέλικτες μέθοδοι βασίζονται στα συμβόλαια, στα οποία ο πελάτης πληρώνει για το χρόνο που απαιτείται για την ανάπτυξη του λογισμικού και όχι για ένα συγκεκριμένο σύνολο απαιτήσεων. Εφόσον όλα πάνε καλά, αυτό ωφελεί και τον πελάτη και το δημιουργό του συστήματος. Ωστόσο, αν προκύψουν προβλήματα, θα προκύψουν διαφωνίες, που δύσκολα επιλύονται, για το ποιος ευθύνεται και ποιος πρέπει να πληρώσει για τον επιπλέον χρόνο και τους πόρους που χρειάστηκαν για να επιλυθούν τα προβλήματα. 32

33 2.3 Extreme Programming O ακραίος προγραμματισμός (Extreme programming - XP) είναι ίσως η πιο γνωστή και η πιο διαδεδομένη από τις ευέλικτες μεθόδους. Ονομάστηκε έτσι από τον Beck, γιατί αυτή η μέθοδος δημιουργήθηκε χρησιμοποιώντας καλές και αναγνωρισμένες πρακτικές, όπως η επαναλαμβανόμενη ανάπτυξη και η ανάμειξη του πελάτη σε υπερβολικό (extreme) βαθμό. Στη μέθοδο ΧΡ, όλες οι απαιτήσεις εκφράζονται ως σενάρια, τα οποία υλοποιούνται άμεσα ως μία σειρά εργασιών. Οι προγραμματιστές εργάζονται ανά δύο και δοκιμάζουν κάθε εργασία πριν γράψουν τον κώδικα. Όλες οι δοκιμές πρέπει να ολοκληρωθούν με επιτυχία πριν ενσωματωθεί ο κώδικας τους στο σύστημα. Μεσολαβεί μικρό χρονικό διάστημα μεταξύ των διαφορετικών εκδόσεων του συστήματος. Η μέθοδος ΧΡ περιλαμβάνει ένα αριθμό πρακτικών που αντιστοιχούν στις αρχές των ευέλικτων μεθόδων ανάπτυξης: Η αυξανόμενη ανάπτυξη στηρίζεται στις μικρές και συχνές εκδόσεις του συστήματος, καθώς και σε μία προσέγγιση όπου η περιγραφή των απαιτήσεων βασίζεται στα σενάρια που παρέχει ο πελάτης και αποτελούν τη βάση για τον σχεδιασμό της διεργασίας. Η ανάμειξη του πελάτη στηρίζεται στην πλήρη δέσμευση το πελάτη στην ομάδα ανάπτυξης. Ο εκπρόσωπος του πελάτη ή ο ίδιος ο πελάτης παίρνουν μέρος στην ανάπτυξη του συστήματος και είναι υπεύθυνος στο να καθορίζει αποδεκτές δοκιμές του συστήματος. Η άποψη άνθρωποι, όχι διεργασίες στηρίζεται στον προγραμματισμό ανά ζεύγη, τη συλλογική ιδιοκτησία του κώδικα του συστήματος, και τον υποφερτό ρυθμό ανάπτυξης που δεν περιλαμβάνει υπερβολικές ώρες εργασίας. Η αλλαγή στηρίζεται σε συχνές εκδόσεις του συστήματος, την ανάπτυξη μετά τον έλεγχο και τη συνεχή συνένωση. Η διατήρηση της απλότητας στηρίζεται στις συνεχείς αλλαγές του κώδικα χάριν της βελτίωσης της ποιότητάς του και στη χρήση απλών σχεδιασμών που δεν προσδοκούν μελλοντικές αλλαγές στο σύστημα. 33

34 Ο ακραίος προγραμματισμός είναι ένας ελαφρύς, αποτελεσματικός, χαμηλού κινδύνου, ευέλικτος, προβλέψιμος, επιστημονικός και ευχάριστος τρόπος για την ανάπτυξη λογισμικού. Βασίζεται σε τέσσερις αξίες [13] : 1. Απλότητα (simplicity): Μεγιστοποίηση της εργασίας που δεν υλοποιείται, με προτίμηση στον απλό «αφελή» κώδικα. 2. Επικοινωνία (communication): Άμεση και διαπροσωπική για κοινή κατανόηση των προβλημάτων. 3. Ανατροφοδότηση (feedback): Συχνές οπισθοδρομήσεις παραδίδοντας λογισμικό που λειτουργεί αποτελεσματικά. Συγγραφή και χρήση περιπτώσεων ελέγχου (test cases) πριν την παραγωγή κώδικα, καθώς επίσης και ανάπτυξη σε μικρές εκδόσεις και σε μικρότερες επαναλήψεις και σε μικρότερες εργασίες και σε ακόμη μικρότερα τεστ κοκ. Στην παρακάτω εικόνα απεικονίζεται η δυνατότητα που υπάρχει για ανατροφοδότηση κατά τη διάρκεια του κύκλου ανάπτυξης λογισμικού. 4. Κουράγιο (courage): Η καλή ψυχολογία και το κουράγιο απαλλάσσουν την ομάδα ανάπτυξης από το φόβο της αποτυχίας που οδηγεί σε αργοπορημένα αποτελέσματα. Εικόνα 10: Ανατροφοδότηση κατά τη διάρκεια του κύκλου ζωής της μεθοδολογίας XP 34

35 Η μέθοδος ΧΡ αποτελεί μια ακραία προσέγγιση της επαναλαμβανόμενης ανάπτυξης. Νέες εκδόσεις του συστήματος μπορεί να δημιουργούνται πολλές φορές κάθε μέρα και πρόσθετες λειτουργίες παραδίδονται στον πελάτη κάθε δύο εβδομάδες. Όταν ο προγραμματιστής κατασκευάζει το σύστημα το οποίο προορίζεται για την κυκλοφορία μιας νέας έκδοσης, θα πρέπει να το ελέγξει χρησιμοποιώντας τις υπάρχουσες αυτοματοποιημένες δοκιμές καθώς και τις δοκιμές για τον έλεγχο των νέων λειτουργιών. Η νέα έκδοση του συστήματος είναι αποδεκτή μόνο όταν όλες οι δοκιμές είναι επιτυχείς. Μια βασική αρχή την παραδοσιακής τεχνολογίας λογισμικού είναι ότι θα πρέπει να σχεδιάζεις για αλλαγές. Αυτό σημαίνει ότι θα πρέπει να αναμένεις μελλοντικές αλλαγές στο λογισμικό και για αυτό θα πρέπει να σχεδιάζεις το λογισμικό έτσι ώστε αυτές οι αλλαγές να πραγματοποιούνται εύκολα. Ωστόσο, στη μέθοδο ΧΡ αυτή η αρχή έχει απορριφθεί με τη λογική ότι ο σχεδιασμός για αλλαγές είναι συχνά σπατάλη προσπάθειας. Οι αλλαγές που αναμένονται συχνά δεν πραγματοποιούνται ποτέ και οι αλλαγές που γίνονται είναι εντελώς διαφορετικές από αυτές που αναμένονταν. Πίνακας 2: Χαρακτηριστικά της τεχνικής XP Αρχή Περιγραφή Οι απαιτήσεις καταγράφονται σε Story cards και αποφασίζεται σε ποια έκδοση θα συμπεριληφθούν Αυξανόμενος προγραμματισμός βάση του χρόνου που θα είναι διαθέσιμος ο ορισμός τους και της σχετικής τους προτεραιότητας. Οι προγραμματιστές μετατρέπουν αυτά τα σενάρια σε εργασίες. Το μικρότερο δυνατό σύνολο λειτουργιών είναι το πρώτο που αναπτύσσεται. Είναι συχνή η έκδοση Μικρές εκδόσεις επόμενων εκδόσεων καθώς και η αυξανόμενη προσθήκη λειτουργιών από την πρώτη έκδοση του συστήματος. Απλός σχεδιασμός Ο σχεδιασμός που γίνεται είναι αρκετός ώστε να καλύπτει μόνο τις παρούσες απαιτήσεις. Προγραμματισμός με δοκιμή πρώτα Ένα αυτοματοποιημένο πλαίσιο εργασίας για έλεγχο μονάδας χρησιμοποιείται για την συγγραφή δοκιμών 35

36 Αλλαγή κώδικα Προγραμματισμός ανά ζεύγη Συλλογική ιδιοκτησία Συνεχής συνένωση Υποφερτός ρυθμός Διαθέσιμος πελάτης για κάθε νέο κομμάτι λειτουργικότητας, πριν αυτή η λειτουργικότητα υλοποιηθεί. Όλοι οι συγγραφείς κώδικα αναμένεται να αλλάζουν συνεχώς μέρη του κώδικα για να τον βελτιώσουν όσο μπορούν. Αυτό διατηρεί τον κώδικα απλό, και εύκολο προς συντήρηση. Οι προγραμματιστές δουλεύουν ανά ζεύγη, ελέγχοντας ο ένας την εργασία του αλλού και προσφέροντας βοήθεια για να πετύχουν το καλύτερο δυνατό αποτέλεσμα. Τα ζεύγη των προγραμματιστών δουλεύουν σε όλα τα μέρη του συστήματος, ώστε να μην αναπτυχθεί μεμονωμένη γνώση σε ένα κομμάτι του κώδικα και όλοι οι προγραμματιστές να γνωρίζουν καλά όλο τον κώδικα. Οποιοσδήποτε έχει την ικανότητα να αλλάζει οτιδήποτε. Μόλις τελειώσει μια εργασία ενσωματώνεται σε όλο το σύστημα. Αφού ενσωματωθεί, πρέπει όλες οι δοκιμές μονάδων να είναι επιτυχείς. Πολλές υπερωρίες δεν είναι αποδεκτές καθώς το φαινόμενο του δικτύου συχνά μειώνει την ποιότητα του κώδικα και την αποδοτικότητα. Ένας αντιπρόσωπος των τελικών χρηστών θα πρέπει πάντα να είναι διαθέσιμος στην ομάδα του ΧΡ. Σε μία διεργασία του ΧΡ, ο πελάτης είναι μέλος την ομάδας ανάπτυξης και είναι υπεύθυνος να αποδίδει σε αυτή σωστά τις απαιτήσεις του συστήματος. Το πρόβλημα με το σχεδιασμό χωρίς να λαμβάνουμε υπόψη τις αλλαγές σε λειτουργικότητα που μπορεί να ζητηθούν, είναι ότι όταν απαιτούνται αλλαγές, υποβαθμίζουν τη δομή του κώδικα και η πραγματοποίηση των αλλαγών με τον καιρό γίνεται δυσκολότερη. Η μέθοδος ΧΡ παρακάμπτει αυτό το πρόβλημα προτείνοντας ότι ο κώδικας πρέπει να αλλάζει συνεχώς. Αυτό σημαίνει ότι η ομάδα προγραμματισμού συνεχώς ψάχνει για πιθανές βελτιώσεις του κώδικα και τις υλοποιεί αμέσως μόλις τις εντοπίσει. Για αυτό το λόγο, ο κώδικας πρέπει να είναι κατανοητός και να μπορούν να γίνουν εύκολα αλλαγές. 36

37 Ο ακραίος προγραμματισμός ορίζει ένα ενοποιημένο σύνολο από 12 πρακτικές, το οποίο μπορεί να οδηγήσει στην επιτυχία ενός έργου. Επιπρόσθετα η XP μπορεί να χρησιμοποιηθεί από κοινού με άλλα πλαίσια ανάπτυξης, όπως είναι η μεθοδολογία RUP. Ο συνδυασμός αυτός έχει ονομαστεί διαδικασία dx [15]. Οι 12 αυτές πρακτικές είναι οι εξής: Το παιχνίδι του σχεδιασμού: Ο γρήγορος καθορισμός του σκοπού της επόμενης έκδοσης του λογισμικού που θα συνδυάζει τις επιχειρησιακές προτεραιότητες και τις τεχνικές εκτιμήσεις. Αν η πραγματικότητα προσπερνάει το σχεδιάγραμμα, τότε το σχεδιάγραμμα πρέπει να ανανεωθεί. Προγραμματισμός ανά ζεύγη: Όλος ο κώδικας πρέπει να γράφεται από δύο προγραμματιστές σε έναν υπολογιστή. Έλεγχοι πριν την κωδικοποίηση: Οι προγραμματιστές πρέπει συνεχώς να συγγράφουν ελέγχους μονάδων (unit tests), που πρέπει να εκτελούνται άψογα, έτσι ώστε να συνεχίζεται η ανάπτυξη. Οι πελάτες πρέπει να κάνουν ελέγχους για να διαπιστώνουν ότι τα επιθυμητά χαρακτηριστικά έχουν ολοκληρωθεί. Ανακατασκευή κώδικα: Οι προγραμματιστές πρέπει να ανακατασκευάζουν τον κώδικα του συστήματος χωρίς αλλαγές στη συμπεριφορά του για να αφαιρέσουν διπλότυπους κώδικες, να απλοποιήσουν τον κώδικα και να βελτιώσουν την επικοινωνία. Σταθερές κωδικοποίησης: Οι προγραμματιστές πρέπει να γράφουν όλον τον κώδικα σύμφωνα με ένα πλαίσιο κανόνων που θα δίνει έμφαση στην επικοινωνία μεταξύ διαφορετικών μερών του κώδικα. Απλή σχεδίαση: Το σύστημα πρέπει να είναι όσο απλό γίνεται κάθε χρονική στιγμή. Η επιπλέον πολυπλοκότητα πρέπει να αφαιρείται μόλις βρεθεί. Μικρές εκδόσεις: Αρχικά, πρέπει να κατασκευαστεί ένα απλό σύστημα και στη συνέχεια να δημιουργούνται νέες εκδόσεις του λογισμικού βασισμένες σε ένα μικρό κύκλο ανάπτυξης. Διαρκείς ενοποιήσεις του κώδικα: Πρέπει να υπάρχει διαρκής ενοποίηση και μεταγλώττιση του κώδικα, πολλές φορές την ημέρα και οποτεδήποτε υλοποιείται ένα χαρακτηριστικό. 37

38 Συλλογική ιδιοκτησία κώδικα: Οποιοσδήποτε πρέπει να μπορεί να αλλάξει οποιοδήποτε κώδικα οπουδήποτε οποιαδήποτε στιγμή. Διαρκή παρουσία πελάτη: Είναι απαραίτητη η παρουσίαση συνεχώς ενός εργαζόμενου από την πλευρά του πελάτη που να μπορεί να απαντήσει σε κάθε είδους ερώτηση σχετιζόμενη με το λογισμικό. Αρχιτεκτονική εικόνα: Όλη η αρχιτεκτονική πρέπει να οδηγείται από μία απλή εικόνα για το πώς πρέπει το ολόκληρο το σύστημα να δουλεύει. Υποφερτός ρυθμός εργασίας: Δεν πρέπει οι προγραμματιστές να εργάζονται παραπάνω από 40 ώρες την εβδομάδα. Επίσης, δεν πρέπει οι προγραμματιστές να κάνουν υπερωρίες δύο εβδομάδες συνεχόμενες. Στην εικόνα που ακολουθεί εμφανίζονται εικονογραφημένα οι 12 πρακτικές της XP. Εικόνα 11: Οι δώδεκα πρακτικές της μεθοδολογίας XP Ολοκληρώνοντας, ο ακραίος προγραμματισμός επικεντρώνεται στην κατασκευή του κώδικα ενθαρρύνοντας τη συγγραφή πολλών τεστ για τον έλεγχο του κώδικα πριν ακόμη από τη συγγραφή του κώδικα, τον προγραμματισμό σε ζεύγη, την ανακατασκευή του κώδικα (refactoring), τη συνεχή επικοινωνία με τους πελάτες και την προσαρμογή στις τρέχουσες αλλαγές. Τέλος, εισάγει τη χρήση των CRC (Class- Responsibility-Collaborator) καρτών όπου γίνεται αποσύνθεση των απαιτήσεων σε κλάσεις (class), αναγράφονται οι υπευθυνότητες (responsibilities) και οι 38

39 συνεργαζόμενες κλάσεις (collaborators) [8]. Στη συνέχεια αναπαριστάται διαγραμματικά ένας κύκλος ζωής έργου. Εικόνα 3: Κύκλος ζωής έργου με βάση τη μεθοδολογία XP Ωστόσο, αν και η XP κατατάσσεται στις πολλά υποσχόμενες μεθοδολογίες που αξίζει να μελετηθεί, δε θα πρέπει να χρησιμοποιείται σε μεγάλα έργα. Η XP είναι μια περιορισμένη διαδικασία που χρειάζεται προσθήκες για να ταιριάξει σε ένα ολοκληρωμένο έργο ανάπτυξης. Για μια μικρή ομάδα ανάπτυξης έργου που εργάζεται σε ένα περιβάλλον σχετικά υψηλής εμπιστοσύνης όπου ο χρήστης είναι αναπόσπαστο κομμάτι της ομάδας ανάπτυξης, η XP μπορεί να αποδώσει τα βέλτιστα [15]. 2.4 Rational Unified Process Το μοντέλο αυτό επιτρέπει σε νέες εκδόσεις του έργου να υλοποιούν και νέες απαιτήσεις που εξελίσσονται όσο το σύστημα υλοποιείται. Καθοδηγείται από μελέτες χρήσης (use cases) και χρησιμοποιεί την UML σαν γλώσσα μοντελοποίησης. Το μοντέλο προσφέρει πλούσιο πλαίσιο υποστήριξης της διαδικασίας. Το μοντέλο αυτό είναι μια μεθοδολογία ανάπτυξης λογισμικού, που 1998 αναπτύχθηκε από την Rational Software, η οποία σήμερα ανήκει στην IBM. Η πρώτη έκδοση αναπτύχθηκε το 1998 και ήταν ένα αποτέλεσμα της συνεργασίας των Grady Booch, James Rumbaugh και Ivar Jacobson [19]. 39

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

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

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

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

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

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

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

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

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

Μεθοδολογίες Παραγωγής Λογισµικού

Μεθοδολογίες Παραγωγής Λογισµικού Μεθοδολογίες Παραγωγής Λογισµικού Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary

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

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

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

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

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

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

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

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

Εισαγωγή στην Τεχνολογία Λογισμικού Εισαγωγή στην Τεχνολογία Λογισμικού περιεχόμενα παρουσίασης Αντικείμενο της Τεχνολογίας Λογισμικού Η ανάπτυξη λογισμικού Μοντέλα διαδικασίας λογισμικού τεχνολογία λογισμικού Κλάδος της πληροφορικής που

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

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

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

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

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

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

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

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

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

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

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

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

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

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

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

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

6. Διαχείριση Έργου. Έκδοση των φοιτητών

6. Διαχείριση Έργου. Έκδοση των φοιτητών 6. Διαχείριση Έργου Έκδοση των φοιτητών Εισαγωγή 1. Η διαδικασία της Διαχείρισης Έργου 2. Διαχείριση κινδύνων Επανεξέταση Ερωτήσεις Αυτοαξιολόγησης Διαχείριση του έργου είναι να βάζεις σαφείς στόχους,

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

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον»

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα 10: Ανάπτυξη ΠΣ Μαρίνος Θεμιστοκλέους Email: mthemist@unipi.gr Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Δευτέρα 11-12 πμ Ενδεικτικά Περιεχόμενα Εργασίας

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

Μεθοδική Ανάπτυξη Δικτυακής Υποδομής. Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής

Μεθοδική Ανάπτυξη Δικτυακής Υποδομής. Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής Μεθοδική Ανάπτυξη Δικτυακής Υποδομής Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής 14-01-2006 1 Περιεχόμενα Η ανάγκη για μεθοδικό σχεδιασμό δικτύων Μία δομημένη

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

ΚΕΦΑΛΑΙΟ 2 ΜΟΝΤΕΛΑ ΚΥΚΛΟΥ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ. Σκοπός. Έννοιες-κλειδιά

ΚΕΦΑΛΑΙΟ 2 ΜΟΝΤΕΛΑ ΚΥΚΛΟΥ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ. Σκοπός. Έννοιες-κλειδιά ΚΕΦΑΛΑΙΟ 2 ΜΟΝΤΕΛΑ ΚΥΚΛΟΥ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ Σκοπός Σκοπός του κεφαλαίου είναι ο ορισμός της έννοιας του μοντέλου κύκλου ζωής λογισμικού, η γνωριμία με τα πιο διαδεδομένα από αυτά τα μοντέλα, η ταξινόμηση

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

Διαχείριση Έργων. Ενότητα 7: Εκτέλεση, παρακολούθηση και έλεγχος έργου

Διαχείριση Έργων. Ενότητα 7: Εκτέλεση, παρακολούθηση και έλεγχος έργου Διαχείριση Έργων Ενότητα 7: Εκτέλεση, παρακολούθηση και έλεγχος έργου Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)

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

Α.Ε.Ι. Πειραιά Τ.Τ. Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Διαχείριση Έργων Αυτοματισμού και Πληροφορικής

Α.Ε.Ι. Πειραιά Τ.Τ. Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Διαχείριση Έργων Αυτοματισμού και Πληροφορικής Α.Ε.Ι. Πειραιά Τ.Τ. Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Διαχείριση Έργων Αυτοματισμού και Πληροφορικής 2 η Ενότητα Ανασκόπηση Προηγούμενης Διάλεξης 2 η Ενότητα - Περιεχόμενα Μεθοδολογίες Διαχείρισης Έργων

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

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

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

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

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης Μάρα Νικολαϊδου Μοντελοποίηση Συστήµατος Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης είναι µια τεχνική

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

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού Ενότητα 2- Οι αρχές της agile προσέγγισης Δρ. Δημήτριος Τσέλιος Καθηγητής Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε.- ΤΕΙ Θεσσαλίας Μεταπτυχιακό Πρόγραμμα

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

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

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

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

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

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

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

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

ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ Διδάσκουσα: Χαρίκλεια Τσαλαπάτα Πανεπιστήμιο Θεσσαλίας ΤΗΜΜΥ 420 htsalapa@inf.uth.gr (e-ce.uth.gr) 1 Εκπαιδευτικό υλικό μαθήματος Ιστοσελίδα: http://eclass.uth.gr/eclass/courses/mhx330/

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

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

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

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

«ΕΥΕΛΙΚΤΟ ERP. ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ ΜΙΚΡΟΥ ΣΥΣΤΗΜΑΤΟΣ ERP»

«ΕΥΕΛΙΚΤΟ ERP. ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ ΜΙΚΡΟΥ ΣΥΣΤΗΜΑΤΟΣ ERP» ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ «ΕΥΕΛΙΚΤΟ ERP. ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ ΜΙΚΡΟΥ ΣΥΣΤΗΜΑΤΟΣ ERP» Επιβλέπων καθηγητής Σφέτσος Παναγιώτης Θεσσαλονίκη 2011 Λιάρας Ευάγγελος

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

Πληροφοριακό έντυπο διαχείριση κινδύνων υγείας και ασφάλειας στο χώρο εργασίας

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

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

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

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

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

Ανάπτυξη πληροφοριακών συστημάτων

Ανάπτυξη πληροφοριακών συστημάτων Κεφάλαιο 12 Ανάπτυξη πληροφοριακών συστημάτων 12.1 Επίλυση προβλημάτων και ανάπτυξη συστημάτων Τα νέα πληροφοριακά συστήματα δημιουργούνται για να δώσουν λύσεις σε συγκεκριμένα προβλήματα Η ανάπτυξη ενός

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

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

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

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

Διοίκηση Έργων Πληροφορικής - Τηλεπικοινωνιών

Διοίκηση Έργων Πληροφορικής - Τηλεπικοινωνιών Διοίκηση Έργων Πληροφορικής - Τηλεπικοινωνιών ΔΗΜΗΤΡΑ ΤΖΙΓΚΟΥ Λ Ε Υ Κ Α Δ Α 2 0 1 2 (1/2) Ένα έργο (project) Πληροφορικής είναι ένα σύνολο από δραστηριότητες, δηλαδή εργασίες που η υλοποίηση τους απαιτεί

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

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού Ενότητα 1-Το γενικό πλαίσιο της agile προσέγγισης Δρ. Δημήτριος Τσέλιος Καθηγητής Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε.- ΤΕΙ Θεσσαλίας Μεταπτυχιακό

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

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

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

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

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

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

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

«Διαχείριση Έργων στη Δημόσια Διοίκηση» Ενότητα 6: Τεχνικές παρακολούθησης (μέρος 1ο) ΕΙΔΙΚΗΣ ΦΑΣΗΣ ΣΠΟΥΔΩΝ 24η ΕΚΠΑΙΔΕΥΤΙΚΗ ΣΕΙΡΑ

«Διαχείριση Έργων στη Δημόσια Διοίκηση» Ενότητα 6: Τεχνικές παρακολούθησης (μέρος 1ο) ΕΙΔΙΚΗΣ ΦΑΣΗΣ ΣΠΟΥΔΩΝ 24η ΕΚΠΑΙΔΕΥΤΙΚΗ ΣΕΙΡΑ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΕΣΩΤΕΡΙΚΩΝ ΚΑΙ ΔΙΟΙΚΗΤΙΚΗΣ ΑΝΑΣΥΓΚΡΟΤΗΣΗΣ «Διαχείριση Έργων στη Δημόσια Διοίκηση» Ενότητα 6: Τεχνικές παρακολούθησης (μέρος 1ο) ΕΙΔΙΚΗΣ ΦΑΣΗΣ ΣΠΟΥΔΩΝ 24η ΕΚΠΑΙΔΕΥΤΙΚΗ ΣΕΙΡΑ

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

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

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

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

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

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

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

Εισαγωγή στην τεχνολογία λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 1 Εισαγωγή στην τεχνολογία λογισμικού Στόχοι Έννοια της τεχνολογίας λογισμικού (ΤΛ) και ερμηνεία της σημασίας της Απαντήσεις σε θεμελιώδεις ερωτήσεις για την ΤΛ Ανάδειξη ηθικών και επαγγελματικών ζητημάτων

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

ΕΝΟΤΗΤΑ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΟΥ - ΙΣΤΟΡΙΑ. Κατερίνα Αδάμ, Μ. Sc., PhD Eπίκουρος Καθηγήτρια

ΕΝΟΤΗΤΑ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΟΥ - ΙΣΤΟΡΙΑ. Κατερίνα Αδάμ, Μ. Sc., PhD Eπίκουρος Καθηγήτρια ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΟΥ Τομέας Μεταλλευτικής Τμήμα Μηχανικών Μεταλλείων Μεταλλουργών ΕΝΟΤΗΤΑ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΟΥ - ΙΣΤΟΡΙΑ Κατερίνα Αδάμ, Μ. Sc., PhD Eπίκουρος Καθηγήτρια ΑΔΕΙΑ ΧΡΗΣΗΣ 2 Το παρόν

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Απαιτήσεις Λογισμικού

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

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

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

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, nickie@softlab.ntua,gr

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

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

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

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

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

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

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

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

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

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

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

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

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

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

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Τι είναι η UP Βασικές αρχές µηχανικής λογισµικού Οι βασικές έννοιες της UP Οι τέσσερις

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

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχε Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator Γνωστό και ως Ειδικός Σχεδιασμού 2Δ- 3Δ γραφικών,

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

Ποιότητα και Πρότυπα στη Διοίκηση Επιχειρήσεων Συστήµατα Διασφάλισης Ποιότητας ISO Διεργασιακή Προσέγγιση Διάλεξη 3

Ποιότητα και Πρότυπα στη Διοίκηση Επιχειρήσεων Συστήµατα Διασφάλισης Ποιότητας ISO Διεργασιακή Προσέγγιση Διάλεξη 3 Ποιότητα και Πρότυπα στη Διοίκηση Επιχειρήσεων Συστήµατα Διασφάλισης Ποιότητας ISO 9001- Διεργασιακή Προσέγγιση Διάλεξη 3 Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή ISO 9001:

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

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

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

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

Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που

Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που παρουσιάστηκαν στις 19/11/2015 και 3/12/2015 στις διαλέξεις του

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

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία Ενότητα 6: Η Τεχνολογία Λογισμικού στην Αλληλεπίδραση Ανθρώπου-Υπολογιστή Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν

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

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων.

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων. Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων. Στην προηγούμενη Εκπαιδευτική Μονάδα παρουσιάστηκαν ορισμένα χρήσιμα παραδείγματα διαδεδομένων εργαλείων για τον χρονοπρογραμματισμό

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

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Ευθύμιος Ταμπούρης tambouris@uom.gr Επιστημονική Επιχειρηματική Χρήση των Η/Υ Η επιστημονική κοινότητα ασχολείται με τη λύση πολύπλοκων μαθηματικών προβλημάτων

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

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

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

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

Ενότητα 1 (κεφάλαια 3 και 23.4) Ευέλικτη Ανάπτυξη Λογισμικού

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

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

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

Διαχείριση Έργων Πληροφορικής Διαχείριση Έργων Πληροφορικής Μελέτη Σκοπιμότητας Feasibility Study Μ. Τσικνάκης Ε. Μανιαδή, Α. Μαριδάκη Μάθημα στο eclass Ονομασία: ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΑΡΙΝΟ 2017 Κωδικός Μαθήματος στο eclass:

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

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

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού Μάρα Νικολαϊδου Αντικείµενο & Σκοπός Παρουσίαση και ανάλυση όλων των σταδίων της διαδικασίας ανάπτυξης

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

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

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

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

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

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Εισαγωγή στη διαχείριση έργων λογισμικού Δρ. Κώστας Σαΐδης saiko@di.uoa.gr A. Διαχείριση έργου γενικά Ορισμοί Βασικές

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

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων Μέθοδοι και Τεχνικές για τον Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων (SISP) Στρατηγική και Διοίκηση Πληροφοριακών Συστηµάτων Μάθηµα 2 No 1 Δοµή της Παρουσίασης l 1. Εισαγωγή l 2. Μεθοδολογία SISP

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

DeSqual Ενότητες κατάρτισης 1. Ενδυνάμωση των εξυπηρετούμενων

DeSqual Ενότητες κατάρτισης 1. Ενδυνάμωση των εξυπηρετούμενων DeSqual Ενότητες κατάρτισης 1. Ενδυνάμωση των εξυπηρετούμενων 2 x 4 ώρες Μέτρηση και Βελτίωση Ενδυνάμωσης Ορισμός της Ενδυνάμωσης: Η ενδυνάμωση είναι η διαδικασία της αύξησης της ικανότητας των ατόμων

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

ΤΕΙ ΛΑΡΙΣΑΣ - ΛΑΜΙΑΣ. Ενθάρρυνση Επιχειρηματικών Δράσεων, Καινοτομικών Εφαρμογών και Μαθημάτων Επιλογής Φοιτητών ΤΕΙ Λάρισας - Λαμίας PLEASE ENTER

ΤΕΙ ΛΑΡΙΣΑΣ - ΛΑΜΙΑΣ. Ενθάρρυνση Επιχειρηματικών Δράσεων, Καινοτομικών Εφαρμογών και Μαθημάτων Επιλογής Φοιτητών ΤΕΙ Λάρισας - Λαμίας PLEASE ENTER ΤΕΙ ΛΑΡΙΣΑΣ - ΛΑΜΙΑΣ Ενθάρρυνση Επιχειρηματικών Δράσεων, Καινοτομικών Εφαρμογών και Μαθημάτων Επιλογής Φοιτητών ΤΕΙ Λάρισας - Λαμίας PLEASE ENTER ΕΚΠΑΙΔΕΥΤΙΚΟ ΥΛΙΚΟ ΚΕΦΑΛΑΙΟ 12 «ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ

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

Διοίκηση Έργων Πληροφορικής. Διάλεξη 7 η : Ανάθεση σε Ανθρώπινο Δυναµικό

Διοίκηση Έργων Πληροφορικής. Διάλεξη 7 η : Ανάθεση σε Ανθρώπινο Δυναµικό Διοίκηση Έργων Πληροφορικής Διάλεξη 7 η : Ανάθεση σε Ανθρώπινο Δυναµικό Μήνας και Ανθρωποµήνας Υπάρχουν tasks στα οποία δεν μπορούμε να μειώσουμε τη διάρκεια αν προσθέσουμε πολλά άτομα σε αυτό. Για παράδειγμα:

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

Αναδιοργάνωση στους Οργανισμούς

Αναδιοργάνωση στους Οργανισμούς Περιεχόμενα Μέρους Α Αναδιοργάνωση στους Οργανισμούς Αναδιοργάνωση ιαδικασιών Οργανισμών με έμφαση στη ημόσια ιοίκηση (Public Sector BPR) - Μέρος Α - 1) Ορισμοί 2) Τα αναμενόμενα οφέλη από την αναδιοργάνωση

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

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

Εισαγωγή στη Δασική Πληροφορική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Εισαγωγή στη Δασική Πληροφορική Ενότητα 3: Θεωρία, Ανάλυση και Σχεδιασμός Πληροφοριακών Συστημάτων Ζαχαρούλα Ανδρεοπούλου Δασολογίας &

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

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

ΕΙΣΑΓΩΓΗ ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ I ΘΕΩΡΙΑ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ I ΕΙΣΑΓΩΓΗ ΓΙΩΡΓΟΣ ΜΟΥΡΚΟΥΣΗΣ Μηχανικός Η/Υ & Πληροφορικής Διδάκτορας Μηχανικός ΕΜΠ gmourkousis@teimes.gr

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

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων περιεχόμενα παρουσίασης Προδιαγραφές Απαιτήσεων Έγγραφο Προδιαγραφών Απαιτήσεων λογισμικού (ΕΠΑΛ) Επικύρωση απαιτήσεων Ιχνηλάτηση απαιτήσεων προδιαγραφές απαιτήσεων

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

Συστήµατα Τηλεκπαίδευσης: Κύκλος ζωής εκπαιδευτικού υλικού

Συστήµατα Τηλεκπαίδευσης: Κύκλος ζωής εκπαιδευτικού υλικού 1 Συστήµατα Τηλεκπαίδευσης: Κύκλος ζωής εκπαιδευτικού υλικού Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 3 Το Εκπαιδευτικό Υλικό Το Εκπαιδευτικό Υλικό, έχει έντυπη

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

H Συμβολή της Υπολογιστικής Σκέψης στην Προετοιμασία του Αυριανού Πολίτη

H Συμβολή της Υπολογιστικής Σκέψης στην Προετοιμασία του Αυριανού Πολίτη H Συμβολή της Υπολογιστικής Σκέψης στην Προετοιμασία του Αυριανού Πολίτη Κοτίνη Ι., Τζελέπη Σ. Σχ. Σύμβουλοι Κ. Μακεδονίας στην οικονομία, στη τέχνη, στην επιστήμη, στις ανθρωπιστικές και κοινωνικές επιστήμες.

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

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

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

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

UML: Unified modelling language

UML: Unified modelling language UML: Διαγράμματα UML: Unified modelling language Γλώσσα μοντελοποίησης για ανάλυση και σχεδιασμό Παρέχει το συμβολισμό για ανάλυση και σχεδιασμό. Είναι γλώσσα συμβολισμού. Δεν είναι ολόκληρη μεθοδολογία.

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

Εκπόνηση σχεδίων. 1a. Διαδικασία Εκκίνησης (Project Initiation) Επιχειρηματικό σχέδιο έργου (Project Business Case)

Εκπόνηση σχεδίων. 1a. Διαδικασία Εκκίνησης (Project Initiation) Επιχειρηματικό σχέδιο έργου (Project Business Case) 1a. Διαδικασία Εκκίνησης (Project Initiation) Εκπόνηση σχεδίων Επιχειρηματικό σχέδιο έργου (Project Business Case) Καταστατικό Έργου (Project Charter) Επιχειρηματικό σχέδιο του Έργου (Project Business

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

Θεωρία του Έργου. Διαχείριση Έργου Κύκλος Ζωής. Μαρίνα Α.Τσιρώνη Πολιτικός Μηχανικός, MSc ΕΔΑ Περιφέρειας Κεντρικής Μακεδονίας.

Θεωρία του Έργου. Διαχείριση Έργου Κύκλος Ζωής. Μαρίνα Α.Τσιρώνη Πολιτικός Μηχανικός, MSc ΕΔΑ Περιφέρειας Κεντρικής Μακεδονίας. Θεωρία του Έργου Διαχείριση Έργου Κύκλος Ζωής Μαρίνα Α.Τσιρώνη Πολιτικός Μηχανικός, MSc ΕΔΑ Περιφέρειας Κεντρικής Μακεδονίας Οκτώβριος 2009 Διαχείριση του Έργου (Project Management) Ορισμοί Κάθε μιά όχι

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

Σχεδιαστής Ιστοσελίδων

Σχεδιαστής Ιστοσελίδων Σχεδιαστής Ιστοσελίδων 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχεδιαστής Ιστοσελίδων Γνωστό και ως Συνοπτική Ένας σχεδιαστής ιστοσελίδων κατασκευάζει και ενημερώνει ιστοσελίδες ως προς τη σχεδίαση και τη διαμόρφωση

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

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

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

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

Εφαρμογές Προσομοίωσης

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

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

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

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

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

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

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

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

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

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης

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

Π3.1 ΣΧΕΔΙΟ ΑΞΙΟΛΟΓΗΣΗΣ

Π3.1 ΣΧΕΔΙΟ ΑΞΙΟΛΟΓΗΣΗΣ Π3.1 ΣΧΕΔΙΟ ΑΞΙΟΛΟΓΗΣΗΣ Αριθμός Έκδοσης: ΕΚΕΤΑ ΙΜΕΤ ΕΜ Β 2014 13 Παραδοτέο ΙΜΕΤ Τίτλος Έργου: «Ολοκληρωμένο σύστημα για την ασφαλή μεταφορά μαθητών» Συγγραφέας: Δρ. Μαρία Μορφουλάκη Κορνηλία Μαρία ΘΕΣΣΑΛΟΝΙΚΗ,

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

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

ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΠΟΡΩΝ ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΠΟΡΩΝ ΠΕΡΙΕΧΟΜΕΝΑ 1. ERP Τι Είναι - Χαρακτηριστικά Οφέλη από την Εφαρµογή τους 2. Μεθοδολογική Προσέγγιση Επιλογής & Υλοποίησης Συστηµάτων ERP

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

ΣΧΕΔΙΑΣΜΟΣ & ΑΝΑΠΤΥΞΗ ΠΡΟΪΟΝΤΟΣ

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

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

Πρακτικά όλα τα προβλήματα ασφαλείας οφείλονται σε λάθη στον κώδικα

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

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

Φάση 3: Λεπτομερής Σχεδιασμός

Φάση 3: Λεπτομερής Σχεδιασμός 76 Φάση 3: Λεπτομερής Σχεδιασμός Διαδικασίες που περιλαμβάνει: Βιομηχανικός Σχεδιασμός (ολοκληρώνεται) Σχεδιασμός για το περιβάλλον (ολοκληρώνεται) Σχεδιασμός για τη παραγωγή Πρωτοτυποποίηση Εύρωστος Σχεδιασμός

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

ΠΙΝΑΚΑΣ ΚΡΙΤΗΡΙΩΝ ΑΞΙΟΛΟΓΗΣΗΣ. Τίτλος Κριτηρίου. Α.1 Οργανωτική Δομή - Οικονομικά στοιχεία 10%

ΠΙΝΑΚΑΣ ΚΡΙΤΗΡΙΩΝ ΑΞΙΟΛΟΓΗΣΗΣ. Τίτλος Κριτηρίου. Α.1 Οργανωτική Δομή - Οικονομικά στοιχεία 10% Κριτήρια Αξιολόγησης Η αξιολόγηση των υποβαλλόμενων προτάσεων θα πραγματοποιηθεί βάσει του ακόλουθου Πίνακα Κριτηρίων Αξιολόγησης. Παράλληλα με τα εν λόγω κριτήρια, θα συνυπολογισθεί η αξιοπιστία της πρότασης

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

Ο επόμενος πίνακας παρουσιάζει τις δραστηριότητες ενός έργου, τις σχέσεις μεταξύ τους, καθώς και τη διάρκειά τους σε εβδομάδες.

Ο επόμενος πίνακας παρουσιάζει τις δραστηριότητες ενός έργου, τις σχέσεις μεταξύ τους, καθώς και τη διάρκειά τους σε εβδομάδες. Το Διάγραμμα Gantt Tο πλέον χρησιμοποιούμενο εργαλείο για το χρονοπρογραμματισμό ενός έργου είναι το διάγραμμα Gantt, το οποίο αναπτύχθηκε από το Η. Grantt. To διάγραμμα Gantt αποτελεί ένα γραμμικό διάγραμμα

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

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

ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΕΥΕΛΙΚΤΩΝ ΕΡΓΩΝ ΤΗΣ ΦΟΙΤΗΤΡΙΑΣ ΛΗΜΝΙΟΥ ΑΙΚΑΤΕΡΙΝΗ ΑΡ.ΜΗΤΡΩΟΥ:02/2021 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ

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

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

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

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

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΓΙΑ ΤΗ ΜΑΘΗΣΗ ΚΑΙ ΤΗ ΔΙΔΑΣΚΑΛΙΑ ΣΤΗΝ ΠΡΟΣΧΟΛΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΓΙΑ ΤΗ ΜΑΘΗΣΗ ΚΑΙ ΤΗ ΔΙΔΑΣΚΑΛΙΑ ΣΤΗΝ ΠΡΟΣΧΟΛΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΑΝΑΓΝΩΡΙΖΟΝΤΑΣ ΤΗ ΔΙΑΦΟΡΕΤΙΚΟΤΗΤΑ & ΑΝΑΠΤΥΣΣΟΝΤΑΣ ΔΙΑΦΟΡΟΠΟΙΗΜΕΝΕΣ ΠΡΟΣΕΓΓΙΣΕΙΣ Διαστάσεις της διαφορετικότητας Τα παιδιά προέρχονται

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

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

ΣΥΝΘΕΣΗ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΟΜΑΔΩΝ ΠΑΡΑΓΩΓΗΣ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ ΣΥΝΘΕΣΗ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΟΜΑΔΩΝ ΠΑΡΑΓΩΓΗΣ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ Εργασία στην Ενότητα Πληροφορική-Πολυμέσα του ΜΠΣ «Γραφικές Τέχνες Πολυμέσα» του ΕΑΠ Μ. Μαργαριτόπουλος ΠΕΡΙΕΧΟΜΕΝΑ ΠΑΡΟΥΣΙΑΣΗΣ Σκοπός παρουσίασης

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