Γενικές Μεθοδολογίες Ανάπτυξης Λογισμικού

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

Download "Γενικές Μεθοδολογίες Ανάπτυξης Λογισμικού"

Transcript

1 Planning Customer evaluation Project cost Risk analysis Engineering go, no-go decision Project progress Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Γενικές Μεθοδολογίες Ανάπτυξης Λογισμικού... Γιάννης Τζίτζικας ιάλεξη : 4 Ημερομηνία : ιάρθρωση Στο τέλος του 2ou μαθήματος σχολιάσαμε για λίγο μεθοδολογίες ανάλυσης και σχεδίαση Πληροφοριακών Συστημάτων (process-centered, data-centered, object-oriented) Σήμερα θα εστιάσουμε σε Μεθοδολογίες Ανάπτυξης Λογισμικού (γενικά) Μεθοδολογίες Ανάπτυξης Λογισμικού Οι 4 θεμελιώδεις φάσεις Παραδείγματα Μεθοδολογιών Πως επιλέγουμε μια Μεθοδολογία Λίγα λόγια για την Μοντελοδηγούμενη Αρχιτεκτονική (MDA) Μοντέλα Βελτίωσης Διαδικασίας (Process Improvement Models) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 2

2 Οι 4 θεμελιώδεις φάσεις Οι 4 θεμελιώδεις φάσεις (προγραμματισμός, ανάλυση, σχεδίαση, υλοποίηση) Σε κάθε έργο και κάθε μεθοδολογία ανάπτυξης μπορούμε να εντοπίσουμε κάποιες θεμελιώδεις φάσεις Κάθε φάση αποτελείται από βήματα (steps), βασίζεται σε τεχνικές (techniques) και έχει παραδοτέα (deliverables) Προγραμματισμ ός Ανάλυση Planning Analysis Διαφορετικές μεθοδολογίες ορίζουν διαφορετικά βήματα ή διαφορετική σειρά βημάτων Σχεδίαση Υλοποίηση Design U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 4

3 Οι 4 θεμελιώδεις φάσεις (προγραμματισμός, ανάλυση, σχεδίαση, υλοποίηση) Προϊόντα/Παραδοτέα Προγραμματισμ ός Πλάνο Έργου Project Plan Ανάλυση Πρόταση Συστήματος System Proposal Σχεδίαση Προδιαγραφή Συστήματος System Specification Υλοποίηση Νέο Σύστημα και Πλάνο Συντήρησης New System and Maintenance Plan U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 5 Προγραμματισμός (Planning) Planning Analysis Design Στόχος της είναι η απάντηση των ερωτημάτων: Γιατί και πως θα κατασκευαστεί το σύστημα; Χωρίζεται σε δυο «υποφάσεις»: (A) Έναρξη Έργου (την οποία συζητήσαμε στο προηγούμενο μάθημα) Παραδοτέο: Μελέτη Σκοπιμότητας (B) Αν το έργο εγκριθεί, τότε μπαίνει στη φάση της Διαχείρισης Έργου (Project Management) ηοποίαδιαρκείόσοκαιτοέργο. Ο συντονιστής του έργου (project management) δημιουργεί και ενημερώνει το πλάνο εργασίας (work plan), στελεχώνει το έργο, και παρακολουθεί και ελέγχει την πρόοδο του Παραδοτέο: Πλάνο Έργου (project plan) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 6

4 Ανάλυση (Analysis) Planning Analysis Design Στόχος της είναι η απάντηση των ερωτημάτων: Ποιος θα χρησιμοποιήσει το σύστημα; Τι θα κάνει το σύστημα; Πού και πότε θα χρησιμοποιείται το σύστημα; Βήματα 1. Συλλογή Απαιτήσεων: (μέσω συνεντεύξεων, ερωτηματολογίων, κλπ). Ανάλυση του υπάρχοντος συστήματος και των προβλημάτων του και περιγραφή του τρόπου λειτουργίας του νέου συστήματος 2. Μοντελοποίηση βασικών πλευρών του συστήματος Αποτέλεσμα/Παραδοτέα: Έγγραφο Περιγραφής Απαιτήσεων, Μοντελοποίηση διαφόρων απόψεων του συστήματος U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 7 Σχεδιασμός (Design) Planning Analysis Design Βήματα: 1. Στρατηγική Σχεδιασμού (Design Strategy). Ανάπτυξη από τον ίδιο τον οργανισμό, ή εξωτερική ανάθεση (outsourcing) σε μια άλλη εταιρεία, ή αγορά ενός υπάρχοντος πακέτου λογισμικού; 2. Αρχιτεκτονικός Σχεδιασμός (Architecture Design): υλικό, λογισμικό, δικτυακή υποδομή, διεπαφή χρήστη, φόρμες, αναφορές, βάσεις δεδομένων, κλπ. 3. Περιγραφή Αρχείων και Βάσεων Δεδομένων : ποια ακριβώς δεδομένα θα αποθηκεύονται και πού; 4. Σχεδιασμός των Προγραμμάτων : ποια προγράμματα πρέπει να γραφτούν και τι θα κάνει το κάθε ένα; Αποτέλεσμα/Παραδοτέα: Προδιαγραφή Συστήματος (System Specification) η οποία δίδεται στην ομάδα των προγραμματιστών προς υλοποίηση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 8

5 Υλοποίηση () Planning Analysis Design Συνήθως είναι το πιο χρονοβόρο και ακριβό τμήμα της διαδικασίας Βήματα 1. Κατασκευή (Construction) 2. Εγκατάσταση (Installation) και Μετάβαση (Transition) Το νέο σύστημα αντικαθιστά το υπάρχον (είτε εξ ολοκλήρου, είτε μεσολαβεί διάστημα παράλληλης λειτουργίας των δύο συστημάτων, ή σε εγκατάσταση/λειτουργία σε φάσεις), πλάνο εκπαίδευσης. 3. Πλάνο Υποστήριξης (Support Plan): Τυπική ή άτυπη αξιολόγηση του συστήματος μετά την εγκατάσταση, και συστηματικός τρόπος εντοπισμού και καταγραφής των αλλαγών (ή βελτιώσεων) που πρέπει να γίνουν. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 9 ιαφορετικά ονόματα και σχηματικές απεικονίσεις των ιδίων εννοιών Planning planning/testing Analysis Design Business Analysis System Design Εντοπισμός Επιχειρηματικής Ανάγκης Ανάλυση Απαιτήσεων Σχεδίαση Υλοποίηση Προγραμματισμός Εργου Integration and Deployment Παράδοση Operation and Maintenance Συντήρηση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 10

6 Πως οι προηγούμενες θεμελιώδεις φάσεις σχετίζονται με την έννοια της μεθοδολογίας; U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 11 Μεθοδολογία Ανάπτυξης Λογισμικού Εμπλεκόμενοι Μεθοδολογία Γλώσσα Μοντελοποίησης Και Εργαλεία Ορίζει και οργανώνει τις δραστηριότητες παραγωγής και συντήρησης λογισμικού Μια μεθοδολογία (ή αλλιώς μοντέλο διαδικασίας (process model)): Ορίζει τη σειρά των εργασιών και δραστηριοτήτων Καθορίζει ποια τεχνουργήματα (artifacts) πρέπει να παραδοθούν και πότε Αναθέτει εργασίες και τεχνουργήματα στους κατασκευαστές Προσφέρει κριτήρια για την παρακολούθηση και μέτρηση της προόδου του έργου. Δεν επιδέχεται αυστηρής τυποποίησης/αυτοματοποίησης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 12

7 Πως οι προηγούμενες φάσεις σχετίζονται με την έννοια της μεθοδολογίας; Business Analysis System Design Πως ακριβώς θα εργαστούμε; Ποια βήματα; Με ποια σειρά; Ποια τα παραδοτέα και για πότε; Μια Μεθοδολογία μας προτείνει έναν τρόπο εργασίας (και απαντά στα παραπάνω ερωτήματα) Integration and Deployment Operation and Maintenance Μεθοδολογίες (ή Μοντέλα Ανάπτυξης, Μοντέλα Κύκλου Ζωής) (or Development Models, or Lifecycle models) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 13 Famous joke: - What's the difference between a methodologist and a terrorist? - You can negotiate with a terrorist.

8 Γενικές Μεθοδολογίες Ανάπτυξης Λογισμικού Μια κατηγοριοποίηση Μεθοδολογιών Απουσία μεθοδολογίας (code-and-fix) Δομημένη Σχεδίαση (structured design) Καταρράκτη (Waterfall), Παράλληλη (Parallel) Εξελικτικές / Ταχείας Ανάπτυξης Εφαρμογής (evolutionary / rapid application development (RAD )) Πολυφασική (Phased), Πρωτοτυποποίηση (Prototyping), Throwaway prototyping RUP (Rational Unified Process) Εύκαμπτη Ανάπτυξη (Agile Development) XP (extreme Programming) Υλοποίηση μέσω επαναχρησιμοποίησης (By reuse) Άλλες : Τυπικοί Μετασχηματισμού (Transformational) Μοντελο-οδηγούμενη (MDA: Model Driven Architecture ) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 16

9 Μεθοδολογίες ομημένης Σχεδίασης Καταρράκτη Παράλληλη U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 17 Μεθοδολογίες ομημένης Σχεδίασης (Structured Design Methodologies) Το μοντέλο του Καταρράκτη (Waterfall) Planning Χαρακτηριστικά Γραμμική ακολουθία φάσεων Μακροσκελείς αναφορές Analysis Design Βασικές αρχές μοντέλου Καταρράκτη: Ακολουθία σαφώς καθορισμένων βημάτων Κάθε βήμα καταλήγει στην δημιουργία προϊόντος (έγγραφο ή κώδικας) Κάθε προϊόν αποτελεί τη βάση για το επόμενο βήμα Η ορθότητα κάθε προϊόντος μπορεί να ελεγχθεί. System U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 18

10 Μεθοδολογίες ομημένης Σχεδίασης (Structured Design Methodologies) Το μοντέλο του Καταρράκτη (Waterfall) Planning Πλεονεκτήματα Διαχωρισμός του έργου σε απλούστερες φάσεις Κάθε φάση παράγει ένα σαφώς καθορισμένο παραδοτέο Analysis Design System Μειονεκτήματα Στην πράξη οι φάσεις αλληλεπικαλύπτονται Στην πράξη το μοντέλο δεν είναι γραμμικό: συχνά επιστρέφουμε στην προηγούμενη φάση Συχνά, αλλαγές σε κάποιο στάδιο επιβάλλουν την οπισθοχώρηση και πραγματοποίηση αλλαγών σε πολλά από τα προηγούμενα στάδια Η σχεδίαση πρέπει να ολοκληρωθεί πριν την έναρξη της υλοποίησης Σαν να θεωρεί ότι όλα θα γίνουν εκ του μηδενός δεν εκμεταλλεύεται την έννοια της αναχρησιμοποίησης (reuse) Ο πελάτης βλέπει τι τελικά αγοράζει πολύ αργά Μακροσκελείς αναφορές που δεν βοηθούν την επικοινωνία U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 19 Μεθοδολογίες ομημένης Σχεδίασης (Structured Design Methodologies) Το Παράλληλο μοντέλο (Parallel) Planning Analysis Design Περιγραφή Αρχικά γίνεται ένας γενικός σχεδιασμός του καθολικού συστήματος και κατόπιν το έργο διαιρείται σε υποέργα όπου κάθε ένα από αυτά μπορεί να σχεδιαστεί και να υλοποιηθεί παράλληλα Design Design Integration Design Πλεονεκτήματα Μειωμένος χρόνος ανάπτυξης έργου Μειονεκτήματα Πολλές φορές τα υποέργα δεν είναι εντελώς ανεξάρτητα System E.g. consider a partition to two subprojects: * one with a long design phase, but short implementation phase * one with a short design phase, but long implementation phase U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 20

11 Εξελικτικές Μεθοδολογίες Πολυφασική Πρωτοτυποποίηση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 21 Εξελικτικές (/Ταχείας Ανάπτυξης) Μεθοδολογίες Evolutionary / Rapid Application Development (RAD) Methodologies Κύρια σημεία Η περάτωση κάποιων τμημάτων του συστήματος πολύ γρήγορα Προτείνεται η διενέργεια της ανάλυσης και της σχεδίασης με ειδικές τεχνικές και εργαλεία ώστε να επιταχυνθεί η όλη διαδικασία Εργαλεία CASE Joint application design (JAD) Γλώσσες Οπτικού Προγραμματισμού (visual programming languages, e.g. VBasic) Γεννήτριες κώδικα (code generators) που να παράγουν κώδικα από το σχέδιο (produce code from design) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 22

12 Rapid Application Development (RAD) Methodologies Πολυφασική Ανάπτυξη (Phased Development) Planning Analysis Analysis Analysis Analysis Design Design Design system v1 system v2 system v3 Υλοποιεί τις πιο σημαντικές και συνάμα ξεκάθαρες λειτουργίες U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 23 Περί τύπων Πρωτοτύπων Δημιουργία Πρωτοτύπων Στόχος είναι η συνεργασία με τον πελάτη και η άμεση δημιουργία μιας πρώτης έκδοσης του συστήματος ξεκινώντας από μία αρχική περιγραφή. Θα πρέπει να ξεκινά με πολύ καλά κατανοητές απαιτήσεις. Το σύστημα αναπτύσσεται προσθέτοντας σταδιακά νέα χαρακτηριστικά. Το αρχικό πρωτότυπο θα εξελιχθεί στο τελικό σύστημα που θα εγκατασταθεί Ανάπτυξη Throwaway πρωτοτύπων Στόχος είναι η κατανόηση των απαιτήσεων του συστήματος. Ξεκινά με τις λιγότερο κατανοητές απαιτήσεις. Το προϊόν πιθανότατα θα δημιουργηθεί με διαφορετικό τρόπο (throwaway prototype: διαφημιστικά/πρόχειρο πρωτότυπο) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 24

13 Rapid Application Development (RAD) Methodologies Πρωτοτυποποίηση (prototyping) Planning Χαρακτηριστικά Κυκλική διαδικασία Το πρωτότυπο είναι κεντρικό σημείο Analysis Design Concurrent phases quick & dirty first prototype System prototype system U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 25 Rapid Application Development (RAD) Methodologies Throwaway prototyping Planning Analysis Analysis Design Χαρακτηριστικά Το πρωτότυπο απλά χρησιμοποιείται για να ξεκαθαρίσει τα πράγματα (δεν θα είναι τμήμα του πραγματικού συστήματος που θα κατασκευαστεί) design prototype E.g. by Vbasic, Web UI,... Design system U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 26

14 Εύκαμπτες Μεθοδολογίες Ανάπτυξης Agile Development Methodologies Εύκαμπτες Μεθοδολογίες Ανάπτυξης (Agile Development Methodologies) Μεθοδολογίες που επικεντρώνουν στο προγραμματισμό (programming-centric) Λίγοι και εύκολα ακολουθήσιμοι κανόνες Στοχεύουν στην εξάλειψη του κόστους της μοντελοποίησης και τεκμηρίωσης (documentation) Δίνουν έμφαση στην απλή και επαναληπτική (iterative) ανάπτυξη και στην στενή σχέση με τον πελάτη Παραδείγματα τέτοιων μεθοδολογιών extreme Programming (XP) Scrum Dynamic Systems Development Method (DSDM) Δείτε Τον ιστότοπο της σχετικής «συμμαχίας» ( U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 28

15 Εύκαμπτη (Agile) ανάπτυξη λογισμικού Κύρια σημεία Έμφαση στα πρόσωπα και στις επαναλήψεις αντί στις διαδικασίες και στα εργαλεία Λογισμικό που δουλεύει αντί ογκώδους τεκμηρίωσης Συνεργασία με τον πελάτη αντί διαπραγματεύσεων μέσω συμβολαίων Ευθύνη για αλλαγές αντί της τυφλής ακολούθησης του πλάνου Πιο γνωστοί αντιπρόσωποι extreme Programming (XP) Aspect Oriented Software Development Feature-driven Development Lean Development Test-driven development Acceptance tests User stories Refactoring Continuous integration U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 29 Εύκαμπτες Μεδοθολογίες Ανάπτυξης extreme Programming (XP) Planning Analysis Design system Οι 4 βασικές «αξίες» του XP Επικοινωνία (communication) Απλότητα (simplicity) The KISS principle (Keep It Simple, Stupid) Ανατροφοδότηση (feedback) Κουράγιο (courage) Αρχές Συνεχείς δοκιμές (continuous testing) Απλή κωδικοποίηση από ζεύγη προγραμματιστών (simple coding performed by pairs of developers) Στενή αλληλεπίδραση με τους τελικούς χρήστες Δοκιμές Ο κώδικας δοκιμάζεται και τοποθετείται σε ένα ενοποιημένο περιβάλλον δοκιμών (καθημερινώς) Refactoring (Επαναπαραγοντοποίηση) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 30

16 Agile Development Methodologies extreme Programming (XP) Planning Analysis Design system Πλεονεκτήματα Αποφεύγει τον κίνδυνο της μη κατανόησης των πραγματικών απαιτήσεων (αφού υπάρχει στενή συνεργασία με τους πελάτες). <<Δείτε τους συνήθεις κινδύνους-προβλήματα που είδαμε στο 2 ο και 3 ο μάθημα) Αποφεύγει το κόστος τεκμηρίωσης κλπ. Κατάλληλη για μικρές ομάδες προγραμματιστών. Μειονεκτήματα Η ανάλυση και η σχεδίαση μένουν ατεκμηρίωτες. Το έργο αφήνει πίσω του μόνο κώδικα. Μάλλον ακατάλληλη για μεγάλα έργα U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 31 Principles behind the Agile Manifesto ( Our Ourhighest highestpriority priorityisis to tosatisfy satisfythe thecustomer through early earlyand andcontinuous delivery of ofvaluable software. Welcome changing requirements, even evenlate lateinindevelopment. Agile Agileprocesses harness change changefor forthe thecustomer's competitive advantage. Deliver Deliverworking software frequently, from froma couple coupleof ofweeks weekstoto a couple coupleof ofmonths, with witha preference to tothe theshorter shortertimescale. Business people peopleand anddevelopers must mustwork worktogether daily dailythroughout the theproject. Build Buildprojects around aroundmotivated individuals. Give Givethem themthe theenvironment and andsupport they they need, need, and andtrust trustthem themtotoget getthe thejob jobdone. The Themost mostefficient and andeffective method of ofconveying information to toand andwithin withina development team teamisisface-to-face conversation. Working software is isthe theprimary primarymeasure of ofprogress. Agile Agileprocesses promote sustainable development. The Thesponsors, developers, and andusers should shouldbe beable abletoto maintain a constant pace paceindefinitely. Continuous attention to totechnical excellence and andgood gooddesign designenhances agility. agility. Simplicity--the art artof ofmaximizing the theamount of ofwork worknot notdone--is essential. The Thebest bestarchitectures, requirements, and anddesigns emerge from fromself-organizing teams. teams. At Atregular regularintervals, the theteam teamreflects reflectson onhow howtoto become more moreeffective, then thentunes tunesand adjusts adjustsits itsbehavior accordingly. Feb 11-13, 2001 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 32

17 From The Agile movement is not anti-methodology, in fact, many of us want to restore credibility to the word methodology. We want to restore a balance. We embrace modeling, but not in order to file some diagram in a dusty corporate repository. We embrace documentation, but not hundreds of pages of never-maintained and rarely-used tomes. We plan, but recognize the limits of planning in a turbulent environment. Those who would brand proponents of XP or SCRUM or any of the other Agile Methodologies as "hackers" are ignorant of both the methodologies and the original definition of the term hacker. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 33 Μοντέλα Ανάπτυξης Το μοντέλο της Σπείρας (the Spiral Model) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 34

18 Μοντέλα Ανάπτυξης Το μοντέλο της Σπείρας (the Spiral Model) Project cost Planning Risk analysis Customer evaluation Engineering go, no-go decision Project progress U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 35 Μοντέλα Ανάπτυξης Το μοντέλο της Σπείρας (the Spiral Model) Καθορισμός Στόχων Εναλλακτικών Περιορισμών Σχεδίαση Επόμενης φάσης Εναλλακτικές 1 Περιορισμοί 1 Ανάλυση ρίσκου Ανάλυση ρίσκου Αξιολόγηση Εναλλακτικών λύσεων Επίλυση ρίσκου Ανάλυση Τελικό ρίσκου Πρωτότυποτότυπο Πρω- Ανάλυση Πρωτότυπο2 Πρω- ΕΠΙΣΚΟ- Προϋπολογισμός 1 ΠΗΣΗ ρίσκου τότυπο1 Πλάνο Κύκλου Ζωής Εξομοιώσεις, μοντέλα, μετρήσεις Απαιτήσεις Αρχική ιδέα Απαιτήσεις από S/W Σχεδίαση Επικύρωση S/W Λεπτομερής Πλάνο Ανάπτυξης Απαιτήσεων Σχεδίαση Πλάνο ολοκλήρωσης και ελέγχου Έλεγχος Ελεγχος συστήματος Ελεγχος Μονάδας Κώδικας Ανάπτυξη και έλεγχος U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 36

19 Μοντέλα Ανάπτυξης Rational Unified Process (RUP) Οργάνωση σε 2 διαστάσεις Οριζοντίως: Οι διαδοχικές φάσεις: Σύλληψη (ιnception) Επεξεργασία (elaboration) Κατασκευή (construction) Μετάβαση (transition) Καθέτως Παριστάνει τις 7 δραστηριότητες U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 37 Μοντέλα Ανάπτυξης Rational Unified Process (RUP) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 38

20 Εξελικτικές Μεθοδολογίες Πλεονεκτήματα Αντιμετωπίζει την ασάφεια στις απαιτήσεις Παρέχει τη δυνατότητα στον πελάτη να αλλάξει γνώμη πριν υπογράψει Μείωση χρόνου ανάπτυξης Τα αρχικά πρωτότυπα χρησιμοποιούνται για εξοικείωση από τους χρήστες Μεγαλύτερη πιθανότητα ανάπτυξης φιλικού προς το χρήστη λογισμικού Ο πελάτης εμπλέκεται στην ανάπτυξη του προϊόντος Αυξανόμενη σταδιακά ικανοποίηση του πελάτη Επικοινωνία χρηστών / ομάδος ανάπτυξης Προβλήματα Έλλειψη παρατήρησης στη διαδικασία (αδυναμία πρόβλεψης πλήθους επαναλήψεων) Συστήματα «λιτά» δομημένα λόγω συχνών αλλαγών Εστίαση στη λειτουργικότητα Λιγότερη έμφαση στις μη λειτουργικές απαιτήσεις Ειδικές ικανότητες μπορεί να απαιτηθούν (π.χ. γλώσσες για rapid prototyping) Υπερβολικός ενθουσιασμός από τον πελάτη. Ενδεχόμενη υποεκτίμηση του χρόνου ανάπτυξης Η δυνατότητα για συνεχείς τροποποιήσεις μειώνουν το βαθμό ικανοποίησης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 39 Εξελικτικές Μεθοδολογίες Κατάλληλη για Μικρά ή μεσαίου μεγέθους συστήματα Π.χ. όταν το αρχικό πρωτότυπο πλησιάζει το τελικό προϊόν Τμήματα μεγάλων συστημάτων π.χ. η επαφή χρήσης ενός συστήματος εναέριας κυκλοφορίας Συστήματα με μικρό χρόνο ζωής Συστήματα όπου υπάρχει αδυναμία έκφρασης των απαιτήσεων εξαρχής Ακατάλληλη για - Λογισμικό ενσωματωμένων συστημάτων - Λογισμικό πραγματικού χρόνου - Επιστημονικό λογισμικό U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 40

21 Πώς επιλέγουμε μια μεθοδολογία; Επιλέγοντας την Κατάλληλη Μεθοδολογία Δεν υπάρχει μια που να είναι η καλύτερη για κάθε περίπτωση. Κριτήρια που θα μπορούσαν να φανούν χρήσιμα είναι: Διαύγεια (Σαφήνεια) Απαιτήσεων Χρηστών (Clarity of User Requirements) Εξοικείωση με την Τεχνολογία (Familiarity with Technology) Πολυπλοκότητα Συστήματος (System Complexity) Αξιοπιστία Συστήματος (System Reliability) e.g. a missile control system Βραχυπρόθεσμο Χρονοδιάγραμμα (Short Time Schedules) Ορατότητα Βαθμού Προόδου (Schedule Visibility) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 42

22 Επιλέγοντας την Κατάλληλη Μεθοδολογία Ικανότητα Ανάπτυξης ΠΣ με with unclear requirements with Unfamiliar Technology that are Complex that are Reliable with a Short Time Schedule with Schedule Visibility Waterfall Poor Poor Good Good Poor Poor Parallel Poor Poor Good Good Good Poor Phased Good Good Good Good V.Good V. Good Prototyp. Poor Poor Poor Poor V.Good V. Good Thr. Prot. V.Good V.Good V.Good V.Good Good Good XP V.Good Poor Poor Good V.Good Good Χωρίς να είναι τίποτα απόλυτο U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 43 Αντικειμενοστρεφείς (object-oriented) Μεθοδολογίες Ανάλυσης και Σχεδίασης Πληροφοριακών Συστημάτων

23 Υπενθύμιση (από μάθημα 2) (μεθοδολογίες ανάλυσης και σχεδίασης πληροφοριακών συστημάτων) Ανάλογα με μετο τοπου πουδίδεται έμφαση: Επεξεργασιο-κεντρικές (process centered) Δεδομενο-κεντρικές (data centered) Αντικειμενο-στρεφείς (object-oriented) focus business processes data that support the business Process centered (methodologies) emphasize on process models Data centered (methodologies) emphasize on data models Προσπαθεί να δώσει έμφαση στα αντικείμενα (δεδομένα και επεξεργασίες) και χρήσιμποιηεί την γλώσσα UML ως γλώσσα μοντελοποίησης Process & Data (methodologies) balance both by incorporating them into one model Object-oriented U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 45 Αντικειμενοστρεφής μεθοδολογία Ιστορία Όπως ο δομημένος προγραμματισμός οδήγησε στην δομημένη μεθοδολογία σχεδίασης, έτσι και ο αντικειμενοστρεφής προγραμματισμός οδήγησε στην αντικειμενοστρεφή μεθοδολογία σχεδίασης πληροφοριακών συστημάτων U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 46

24 Αντικειμενοστρεφής μεθοδολογία Κύρια Σημεία Στοχεύει στην επιτάχυνση της διαδικασίας ανάπτυξης λογισμικού Είναι ευέλικτη (διευκολύνει την αλλαγή απαιτήσεων, την σταδιακή βελτίωση και επέκταση, τον έλεγχο, την συντήρηση) Έχει έμφυτη την αρχή της επανάληψης (επιστροφή σε προηγούμενες φάσεις) Εκμεταλλεύεται τις αρχές και τεχνικές του αντικειμενοστραφούς προγραμματισμού Αφαίρεση (abstraction), ενθυλάκωση (encapsulation), κληρονομικότητα (inheritance), πολυμορφισμός (polymorphism), αναχρησιμοποίηση (reuse) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 47 Αντικειμενοστρεφής μεθοδολογία Ένα σημαντικό πλεονέκτημα για την Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Η μετάβαση από φάση σε φάση είναι ευκολότερη διότι σε κάθε φάση χρησιμοποιείται η ίδια «γλώσσα»: Τα αντικείμενα του πραγματικού κόσμου μοντελοποιούνται ως αντικείμενα (στηφάσηανάλυσης), κατόπιν μεταφράζονται άμεσα σε αντικείμενα σχεδίασης (στη φάση της σχεδίασης), και τέλος υλοποιούνται ως αντικείμενα μιας αντικειμενοστρεφούς γλώσσας προγραμματισμού ή μιας αντικειμενοστραφούς βάσης δεδομένων (OODB). U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 48

25 Αντικειμενοστρεφής Ανάλυση και Σχεδίαση σε σχέση με (Γενικές) Μεθοδολογίες Ανάπτυξης Λογισμικού Οι αντικειμενοστραφείς προσεγγίσεις για ανάπτυξη ΠΣ θα μπορούσαν να χρησιμοποιήσουν οποιαδήποτε από τις γενικές μεθοδολογίες που είδαμε Καταρράκτη, παράλληλη, πολυφασική, προτυποποίηση, RAD, XP, κλπ. Κυρίως σχετίζονται όμως με πολυφασικές και εξελικτικές (RAD) μεθοδολογίες U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 49 Object-Oriented Analysis and Design Σύμφωνα με τον δημιουργό της UML, οποιαδήποτε μοντέρνα αντικειμενοστραφής μεθοδολογία ανάπτυξης ΠΣ πρέπει να Καθοδηγείται από τις Περιπτώσεις Χρήσεις (Use-case Driven) Αρχιτεκτονικοκεντρική (Architecture Centric) Η αρχιτεκτονική λογισμικού πρέπει να οδηγεί την προδιαγραφή (specification), κατασκευή (construction) και τεκμηρίωση (documentation) του συστήματος Πρέπει να υποστηρίζονται τουλάχιστον 3 διαφορετικές όψεις της αρχιτεκτονικής: Λειτουργική (Functional) Στατική (Static) Δυναμική (Dynamic) Επαναληπτική και Αυξητική (Iterative and Incremental) Το λογισμικό δεν πρέπει να εκδίδεται μονομιάς (σαν ένα Big Bang) στο τέλος του έργου. Πρέπει να υπάρχουν αρκετές επαναλήψεις και κάθε επανάληψη να φέρνει το σύστημα όλο και εγγύτερα στις πραγματικές ανάγκες του χρήστη U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 50

26 (Επανάληψη από ΗΥ252) Οιβασικέςέννοιεςτουαντικειμοστρεφισμού (object-orientation) Αντικειμενοστρεφής προσέγγιση Βασικές Έννοιες Οι πλέον βασικές έννοιες της αντικειμενοστρεφούς προσέγγισης είναι Το αντικείμενο (object) Οι μέθοδοι (methods) Τα μηνύματα (messages) Οι τρεις αυτές έννοιες βοηθούν στην κατανόηση των Ενθυλάκωση (encaspulation) Τμηματοποίηση (modularity) Αφαίρεση (abstraction) Πολυμορφισμός (polymorphism) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 52

27 Αντικειμενοστρεφής προσέγγιση Βασικές Έννοιες (II) Τα αντικείμενα αποτελούν τους δομικούς λίθους του συστήματος. Σχετικές έννοιες: Κλάσεις (classes): αρχέτυπα αντικειμένων Στιγμιότυπα (instances): μέλη κλάσεων H οργάνωση των κλάσεων χρησιμοποιείται για να γίνει το μοντέλο του φυσικού κόσμου. Σε αυτό βοηθούν οι έννοιες: Ιεραρχίες (hierarchies) Κληρονομικότητα (inheritance) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 53 Αντικειμενοστρεφής προσέγγιση αντικείμενο Αντικείμενο Λογική ενότητα η οποία συνδυάζει δεδομένα και επεξεργασίες για να εκπληρώσει το ρόλο της μέσα στο σύστημα Σύμφωνα με τον Booch (1991) γιαναοριστείένααντικείμενοθα πρέπει να έχει: Κατάσταση (state), η οποία καθορίζεται από τις ιδιοκτησίες του και τις τιμές σε κάθε μια από αυτές Συμπεριφορά (behavior), η οποία αναφέρεται στο πως δρα το αντικείμενο μέσα στο περιβάλλον του, δηλαδή πως αντιδρά σε κάθε ενεργοποίηση των μεθόδων του Ταυτότητα, δηλαδή το μοναδικό χαρακτηριστικό το οποίο αντιστοιχεί σε μια οντότητα του πραγματικού κόσμου U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 54

28 Αντικειμενοστρεφής προσέγγιση μέθοδοι, μηνύματα, ενθυλάκωση Μέθοδοι Οι πράξεις που εκτελεί το αντικείμενο όταν λαμβάνει ένα μήνυμα. Οι πράξεις μπορούν να εκτελούνται μόνο αν είναι γνωστές στο αντικείμενο Μηνύματα Είναι οι αιτήσεις που στέλνονται από ένα αντικείμενο σε ένα άλλο έτσι ώστε το τελευταίο να εκτελέσει μια λειτουργία Ενθυλάκωση Η συγκέντρωση, ομαδοποίηση δεδομένων και πράξεων στην ίδια δομή. Με αυτόν τον τρόπο «κρύβονται» οι εσωτερικές λεπτομέρειες της υλοποίησης και αυτό αποτελεί σημαντικό πλεονέκτημα και για την επαναχρησιμοποίηση Οι εσωτερικές λεπτομέρειες περιλαμβάνουν δεδομένα για την κατάσταση των ενοτήτων και τις διαδικασίες που καθορίζουν τη συμπεριφορά τους U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 55 Αντικειμενοστρεφής προσέγγιση τμηματοποίηση, αφαίρεση, πολυμορφισμός Τμηματοποίηση (modularity) Ο χωρισμός πολύπλοκων συστημάτων σε ενότητες (modules) Αφαίρεση (abstraction) Η απλοποιημένη περιγραφή και καθορισμός του συστήματος ώστε να δίδεται έμφαση σε ορισμένες λεπτομέρειες και να αγνοούνται άλλες Πολυμορφισμός Η ιδιότητα που επιτρέπει να σταλεί το ίδιο μήνυμα σε διαφορετικά αντικείμενα και το κάθε αντικείμενο να εκτελέσει μια λειτουργία που αντιστοιχεί στην κλάση στην οποία ανήκει U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 56

29 Αντικειμενοστρεφής προσέγγιση κλάση, στιγμιότυπο, κληρονομικότητα Κλάση Aρχέτυπο ή καλούπι (template) αντικειμένων. Περιλαμβάνει τον ορισμό, τη δήλωση των δεδομένων και τις πράξεις που γίνονται σε αυτά. Στιγμιότυπο (instance) Η συγκεκριμένη εμφάνιση που προσδιορίζει με ακρίβεια ένα μέλος της κλάσης. Κληρονομικότητα (inheritance) Η δυνατότητα να ορίζει κανείς νέα αντικείμενα που είναι απόγονοι κάποιου άλλου (υπαρκτού) αντικειμένου. Ο απόγονος ενός αντικειμένου έχει τη δυνατότητα χρήσης όλων των δεδομένων και μεθόδων που κληρονομεί από τον πρόγονο του ενώ παράλληλα διατηρεί τα δεδομένα και τις μεθόδους που ο ίδιος ορίζει U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 57 Basic Characteristics of OO Systems Classes -- template to define objects Instances -- specific examples of class members Objects -- building block of the system Attributes -- describe data aspects of the object Methods -- the processes the object can perform Messages -- instructions sent to or received from other objects Instantiated Objects of the Class Class PATIENT 1: TOP PACKAGE: PATIENT PATIENT -Name -Birthdate -Phone Number +Insert ()() +Delete ()() Methods Attributes -Name = Teresa Marks -Birthdate = March 16, Phone number = PATIENT 2: TOP PACKAGE: PATIENT -Name = Mel Bourne -Birthdate = May 11, Phone number = U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 58

30 Class Hierarchy U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 59 Inheritance U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 60

31 Polymorphism and dynamic binding U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 61 Characteristics of some widely user oo languages Feature C++ Eiffel Java strong typing Optional yes yes static(s)/dynamic(d) typing S S S+D garbage collection no yes yes multiple inheritance yes yes no pure objects no yes no dynamic loading no no yes standardized class libraries no yes yes correctness constructs no yes no U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 62

32 Μοντελο-οδηγούμενη Αρχιτεκτονική MDA: Model Driven Architecture ( Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) Σκεπτικό Ανάλυση, Σχεδίαση και Υλοποίηση με τον Παραδοσιακό Τρόπο: Απαιτεί τη συλλογή, μοντελοποίηση και υλοποίηση γνώσης που προέρχεται από το Πεδίου Εφαρμογής ΚΑΙ από την πλατφόρμα/τεχνολογία που θα χρησιμοποιηθεί για την υλοποίηση. Τα δύο παραπάνω περιπλέκονται Ανάλυση, Σχεδίαση και Υλοποίηση βάσει MDA: Προσπαθεί να ξεκαθαρίσει τα πράγματα Ο ειδικός του πεδίου της εφαρμογής => δίδει (συλλέγει/αναλύει/μοντελοποιεί) εμπειρογνωμοσύνη του πεδίου Ο ειδικός της πλατφόρμας => δίδει εμπειρογνωμοσύνη πλατφόρμας Προγραμματιστής Εφαρμογής => δίδει τεχνολογική εμπειρογνωμοσύνη Προτείνει διαφορετικών τύπων μοντέλα και μετασχηματισμούς μεταξύ αυτών. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 64

33 Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) Στόχος Να διαχωρίσει αυτά που αφορούν τη λειτουργικότητα και συμπεριφορά της εφαρμογής, από την τεχνολογία στην οποία θα αναπτυχθεί και θα παραδοθεί. Η υλοποίηση πρέπει να μπορεί να αλλάξει χωρίς να πρέπει να αλλάξει η ουσιαστική συμπεριφορά του συστήματος το οποίο βλέπει ο τελικός χρήστης (Εν δυνάμει) Πλεονεκτήματα Μειωμένο κόστος και χρόνος ανάπτυξης Γρήγορη και ομαλή ενοποίηση των παλαιών με τις νέες τεχνολογίες U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 65 Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) Βασικές Έννοιες Platform Independent Model (PIM) Μοντέλο της εφαρμογής εκφρασμένο με τρόπο ανεξάρτητο της πλατφόρμας ανάπτυξης Platform Specific Model (PSM) Transformation (μετασχηματισμός) Μοντέλο της εφαρμογής εκφρασμένο βάσει μιας συγκεκριμένης πλατφόρμας υλοποίησης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 66

34 Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) PIM (Platform Independent Model ) The Platform Independent Model (PIM) specifies the business functionality of the application completely, but does not include anything that is specific for a certain technology or language. For instance, a PIM may specify that the application is split into a number of components, but it does not specify whether the application uses.net or J2EE. The PIM is often written in UML and is completely independent from any details that may be different across the two platforms. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 67 Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) PIMs and PSMs The best practice for (medium/large-scale systems) is to define a PIM first, then refine it to a PSM. This approach aids Separation of concerns: Important to understand the abstract architecture of a system to iron out problems in that first, then tackle platform-specific issues Maintenance: while platforms change over time, the abstract architecture of system will change less frequently it is important to maintain a platform independent reference specification to ensure platform specific changes still implement the original abstract requirements Interoperability: Systems are often implemented using several platforms it is not possible to provide an overall design using a single PSM U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 68

35 Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) Από ένα PIM σε ένα PSM: Μετασχηματισμοί MDA tools will take a PIM and use a transformation definition to transform the PIM into one or more Platform Specific Models (PSMs). A PSM contains all the detail that is needed for the chosen platform. It is crucial that the PSM is generated automatically that is, there is no (or little) user effort needed to produce a PSM from a PIM. Usually the PSM is an almost direct reflection of the program code. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 69 Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) Ανάλυση και Σχεδίαση ΠΣ βάσει της MDA According to MDA, the software development process is driven by modelling, rather than coding MDA involves the development of an initial PIM and successive refinement through PSMs to eventual code implementation At its simplest, the MDA software development lifecycle is as follows: Requirements Analysis Low-level design Coding Testing Deployment Informal text PIM PSM Code Code PIM used to define abstract specification of system refined or transformed into a PSM that includes platform specific details the PSM is closer to implementation code, so is more easily implemented U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 70

36 Μοντελο-οδηγούμενη Αρχιτεκτονική (MDA) Ανάλυση και Σχεδίαση ΠΣ βάσει της MDA Απώτερος στόχος είναι η πλήρως αυτοματοποιημένη παραγωγή του PSM από το PIM βάσει των κατάλληλων μετασχηματισμών. Μετασχηματισμός: αυτόματη παραγωγή ενός μοντέλου από ένα άλλο, βάσει ενός Ορισμού Μετασχηματισμού Ορισμός Μετασχηματισμού: ένα σύνολο Κανόνων Μετασχηματισμού Κανόνας Μετασχηματισμού: περιγραφή του πως ένα ή περισσότερα δομικά στοιχεία του μοντέλου πηγής (source model) μετατρέπoνται σε ένα (ή περισσότερα) δομικά στοιχεία του μοντέλου στόχου (target model) Σημερινή Κατάσταση Το QVT (Query/View/Transformation) είναι ένα νέο standard για τον ορισμό μετασχηματισμών (χρησιμοποιεί και την OCL που θα μάθουμε σε αυτό το μάθημα) Απώτερος στόχος είναι η ενσωμάτωση εργαλείων μετασχηματισμού στα εργαλεία μοντελοποίησης (που θα χρησιμοποιήσετε στο μάθημα αυτό) (Περισσότερα ίσως προλάβουμε να πούμε προς το τέλος του εξαμήνου) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 71 Μοντέλα Αποτίμησης και Βελτίωσης της ιαδικασίας (παραγωγής λογισμικού) Process Improvement Models Capability Maturity Model (CMM) ISO 9000 family of quality standards

37 Process Improvement Models Μοντέλα Βελτίωσης ιαδικασίας Κάθε οργανισμός που σχετίζεται με παραγωγή κώδικα επιθυμεί να βελτιώσει τη διαδικασία ανάπτυξής του. Για να τη βελτιώσει πρέπει πρώτα να μάθει ποια είναι τα προβλήματα της. Έναν τρόπο αποτίμησης (μέτρησης) της διαδικασίας ορίζουν τα εξής Μοντέλα Βελτίωσης Διαδικασίας (Process Improvement Models): Capability Maturity Model (CMM) ISO 9000 family of quality standards U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 73 Μοντέλα Βελτίωσης ιαδικασίας (Process Improvement Models) Capability Maturity Model (CMM) Τhe stairway to software excellence Ένας δημοφιλής τρόπος για αποτίμηση και βελτίωση της διαδικασίας (process assessment and improvement) Είναι ουσιαστικά ένα ερωτηματολόγιο που ο Οργανισμός Πληροφορικής πρέπει να συμπληρώσει CMM: Μοντέλο Ωριμότητας Ικανοτήτων (Δυνατοτήτων/Δυναμικού) Κατόπιν ακολουθεί μια διαδικασία επαλήθευσης και επιβεβαίωσης και στο τέλος ο οργανισμός κατατάσσεται σε ένα από τα 5 επίπεδα του CMM (όσο μεγαλύτερο τόσο το καλύτερο) SEI (Software Engineering Institute), U. of Carnegie Mellon U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 74

38 Improve process discipline Μοντέλα Βελτίωσης ιαδικασίας (Process Improvement Models) Τα 5 επίπεδα του CMM Level 1 Initial Improve process definition Level 2 Repeatable Improve process control Level 3 Defined Unpredictable and undisciplined process that depends on the current staff. Improve process itself Level 4 Managed Metrics used to control the process. Level 5 Optimizing Both management and engineering processes are codified and followed. Repeatable project management; consistent time and effort predictions for similar projects. 5: Continuous quality improving Continuous process improvement in place. 4: Measurement 3:Method and tools 2:Project mgmt 1: Chaos U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 75 Improve process discipline Μοντέλα Βελτίωσης ιαδικασίας (Process Improvement Models) Process maturity levels in CMM Level 1 Initial Improve process definition Level 2 Repeatable Improve process control Level 3 Defined Unpredictable and undisciplined process that depends on the current staff. Improve process itself Level 4 Managed Metrics used to control the process. Both management and engineering processes are codified and followed. Level 5 Optimizing Continuous process improvement in place. Repeatable project management; consistent time and effort predictions for similar projects. Most organizations are at level 1; some at level 2; very few are known to be at level 5 experience shows that it takes years to progress one level up the maturity scale U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 76

39 Μοντέλα Βελτίωσης ιαδικασίας (Process Improvement Models) CMM Level 2 For CMM level 2 an organization must provide positive answers to all these questions (and more) Does the software quality assurance function have a management reporting channel separate from the software development project mgmt? Is there a software configuration control function for each project that involves software development? Is a formal process used in the management review of each software development prior to main contractual commitments? Is a formal procedure used to produce software development schedules? Are formal procedures applied to estimate software development cost? Are statistics on software code and test errors gathered? Does senior management have a mechanism for the regular review of the status of software development projects? Is a mechanism for controlling changes to the software requirements? U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 77 Επίπεδο CMM και μερικά στατιστικά Ηδιάρκεια, η προσπάθεια, οι αστοχίες και το κόστος ενός έργου 200Κ γραμμών κώδικα, σε σχέση με το επίπεδο CMM του οργανισμού που ανέλαβε την εκπόνηση του έργου: Οργανισμός Χ Οργανισμός Υ Οργανισμός Ζ Organization s CMM Level Project duration (months) Project person months Number of Defects Median Cost 5.5 M $ 1 M $ 0.5 M$ U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 78

40 Μοντέλα Βελτίωσης ιαδικασίας (Process Improvement Models) Οι οικογένεια των προτύπων ποιότητας ISO 9000 ISO: International Organization for Standardization (Διεθνής Οργανισμός Τυποποίησης) Τα πρότυπα ISO Αφορούν στην διαχείριση ποιότητας (quality management) και στη διαδικασία παραγωγής προϊόντων με ποιότητα Είναι εφαρμόσιμα σε οποιαδήποτε βιομηχανία ήεπιχείρηση, συμπεριλαμβανομένης και της ανάπτυξης λογισμικού Σκεπτικό Αν μια διαδικασία (process) είναι σωστή τότε τα παράγωγα της (προϊόντα ήυπηρεσίες) θα είναι επίσης «καλά» Τα πρότυπα του ISO δεν επιβάλλουν κάποια συγκεκριμένη διαδικασία. Παρέχουν μόνο μοντέλα του τι πρέπει να επιτευχθεί, χωρίςόμωςναπροτείνουν πώς πρέπει να γίνονται οι διάφορες δραστηριότητες. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 79 Πηγές Αναφορές - Μελέτη Systems Analysis and Design with UML Version 2.0 (2nd edition) by A. Dennis, B. Haley Wixom, D. Tegarden, Wiley, CHAPTER 1,2 Requirements Analysis and System Design (2nd edition) by Leszek A. Maciaszek, Addison Wesley, 2005, CHAPTER 1 Shari Lawrence Pfleeger. Τεχνολογία Λογισμικού: Θεωρία και Πράξη, 1. Κλειδάριθμος, Αθήνα, 2003, Κεφάλαιο 1,2. Object-Oriented Systems Analysis and Design Using UML (2nd edition) by S. Bennett, S. McRobb, R. Farmer, McGraw Hil, 2002, Chapter 2, 4 Ε. Κιουντούζης, Μεθοδολογίες Ανάλυσης και Σχεδιασμού Πληροφοριακών Συστημάτων,Εκδόσεις Α.Σταμούλη, Αθήνα 2002, Κεφ. 11 Shari Lawrence Pfleeger. Τεχνολογία Λογισμικού: Θεωρία και Πράξη, 1. Κλειδάριθμος, Αθήνα, 2003, Κεφάλαιο 6 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 80

Introduction to Object-Oriented Analysis and Design

Introduction to Object-Oriented Analysis and Design HY 351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων CS 351: Information Systems Analysis and Design Introduction to Object-Oriented Analysis and Design Lecture : 3a Date : 4-11-2005 Yannis Tzitzikas

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

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

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

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

CS 351: Information Systems Analysis and Design

CS 351: Information Systems Analysis and Design HY 351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων CS 351: Information Systems and ΙI. (Development) Methodologies Μεθοδολογίες Ανάπτυξης... Lecture : 2 Date : 29-9-2005 Yannis Tzitzikas University

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

Common Problems. CS 351: Information Systems Analysis and Design. in Information Systems Development. What is a (Software Development) methodology?

Common Problems. CS 351: Information Systems Analysis and Design. in Information Systems Development. What is a (Software Development) methodology? HY 351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων CS 351: Information Systems and Outline Common problems in Information Systems Development ΙI. (Development) Methodologies Μεθοδολογίες Ανάπτυξης...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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?

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN

Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN Παντελοπούλου Χαρίκλεια ME 10068 Agenda Η Ανάγκη για Διαχείριση Επιχειρησιακών Διαδικασιών

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

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

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

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

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

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

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

Αρχές Τεχνολογίας Λογισμικού

Αρχές Τεχνολογίας Λογισμικού Αρχές Τεχνολογίας Λογισμικού Επισκόπηση του μαθήματος 2 Διδάσκοντες ΘΕΩΡΙΑ Νίκος Παπαδάκης ΕΡΓΑΣΤΗΡΙΟ Αϊβαλής Κώστας costis@teicrete.gr Κονδυλάκης Χάρης kondylak@gmail.com 3 Το μάθημα στο πρόγραμμα σπουδών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.

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

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

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

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

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός 06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αφαίρεση Abstraction "Η εννοιολογική

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

02β Μοντέλα και Μεθοδολογίες Ανάπτυξης Λογισμικού

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

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Μ6. Φάσεις ανάπτυξης λογισμικού: προδιαγραφές, σχεδίαση, υλοποίηση, επαλήθευση, τεκμηρίωση, συντήρηση προγραμμάτων Δρ. Γεώργιος Παπαλάμπρου Επικ.

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

Το πλαίσιο για την ανάθεση δημοσίων συμβάσεων έργων agile IT

Το πλαίσιο για την ανάθεση δημοσίων συμβάσεων έργων agile IT Το πλαίσιο για την ανάθεση δημοσίων συμβάσεων έργων agile IT UK Government ICT Strategy 2011 The Government intends to use agile in information and communications technology (ICT) procurement and delivery

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Μ6. Φάσεις ανάπτυξης λογισμικού: προδιαγραφές, σχεδίαση, υλοποίηση, επαλήθευση, τεκμηρίωση, συντήρηση προγραμμάτων Δρ. Γεώργιος Παπαλάμπρου Επικ.

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

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

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

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

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

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

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

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

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

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

Managing Information. Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business. e-mail: kyritsis@ist.edu.

Managing Information. Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business. e-mail: kyritsis@ist.edu. Managing Information Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business e-mail: kyritsis@ist.edu.gr Ανάπτυξη Πληροφοριακών Συστημάτων και Διαχείριση Έργων Learning

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

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

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

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Δρ. Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ Εργαστήριο Ναυτικής Μηχανολογίας

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

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

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

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

Ποιότητα Λογισμικού και Πιστοποίηση

Ποιότητα Λογισμικού και Πιστοποίηση Ποιότητα Λογισμικού και Πιστοποίηση Πιστοποιήση: - Διεργασιών Λογισμικού - Προϊόντων Λογισμικού Ι. Σταμέλος Καθηγητής Τεχνολογίας Λογισμικού Τμ. Πληροφορικής Α.Π.Θ. Ποιότητα Λογισμικού Ένας ορισμός (από

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

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

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

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

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

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Επίκαιρα Θέματα Ηλεκτρονικής Διακυβέρνησης Ονοματεπώνυμο Φοιτητή Σταμάτιος

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

Κεφάλαιο 7: Τεχνολογία Λογισμικού

Κεφάλαιο 7: Τεχνολογία Λογισμικού Κεφάλαιο 7: Τεχνολογία Λογισμικού Η Επιστήμη των Υπολογιστών: Μια Ολοκληρωμένη Παρουσίαση (δέκατη αμερικανική έκδοση) J. Glenn Brookshear Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

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

Εισαγωγή στην Ανάπτυξη Πληροφοριακών Συστημάτων

Εισαγωγή στην Ανάπτυξη Πληροφοριακών Συστημάτων Ενότητα 1 Εισαγωγή στην Ανάπτυξη Πληροφοριακών Συστημάτων Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 1-1 Μαθησιακοί στόχοι Εισαγωγή στις έννοιες της ανάλυσης και σχεδίασης πληροφοριακών συστημάτων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Τεχνολογία Λογισμικού-Software Engineering Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών Σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας ρ. Πάνος Φιτσιλής Περιεχόµενα Βασικές έννοιες αντικειµενοστεφούς τρόπου ανάπτυξης Τι είναι κλάση Τι είναι αντικείµενο 2 Βασικές

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

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

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

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

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

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

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

υπηρεσίες / services ΜΕΛΕΤΗ - ΣΧΕΔΙΑΣΜΟΣ PLANNING - DESIGN ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ COMMERCIAL PLANNING ΕΠΙΠΛΩΣΗ - ΕΞΟΠΛΙΣΜΟΣ FURNISHING - EQUIPMENT

υπηρεσίες / services ΜΕΛΕΤΗ - ΣΧΕΔΙΑΣΜΟΣ PLANNING - DESIGN ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ COMMERCIAL PLANNING ΕΠΙΠΛΩΣΗ - ΕΞΟΠΛΙΣΜΟΣ FURNISHING - EQUIPMENT Αρχιτεκτονικές και διακοσμητικές μελέτες, με λειτουργικό και σύγχρονο σχέδιασμό, βασισμένες στην μοναδικότητα του πελάτη. ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ Ανάλυση των χαρακτηριστικών των προϊόντων και ένταξη του τρόπου

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

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

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

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» M. Σπανάκης, Μ. Τσικνάκης Εαρινό Εξάμηνο 2014 Μάθημα 1 Παρουσίαση Εργασίας και Εισαγωγή στην ανάλυση απαιτήσεων Εισαγωγή Αρχική συζήτηση αναφορικά με την ανάλυση

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

Démographie spatiale/spatial Demography

Démographie spatiale/spatial Demography ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Démographie spatiale/spatial Demography Session 1: Introduction to spatial demography Basic concepts Michail Agorastakis Department of Planning & Regional Development Άδειες Χρήσης

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

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

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

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

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

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

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

ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εμπειρική Μελέτη της Εξέλιξης της Ποιότητας του Κώδικα Ανοιχτού Λογισμικού Τριανταφυλλίδου Νόνα ΑΜ:05/2777

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

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

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

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

Architecture οf Integrated Ιnformation Systems (ARIS)

Architecture οf Integrated Ιnformation Systems (ARIS) Architecture οf Integrated Ιnformation Systems (ARIS) Η αρχιτεκτονική ARIS (ARchitecture οf Integrated information Systems) έχει ως στόχο της την περιγρφή όλων των όψεων ή οπτικών ενός επιχειρηματικού

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΜΕΤΑΠΤΥΧΙΑΚΗ ΙΑΤΡΙΒΗ ΤΟΥ ΕΥΘΥΜΙΟΥ ΘΕΜΕΛΗ ΤΙΤΛΟΣ Ανάλυση

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

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Advanced Subsidiary Unit 1: Understanding and Written Response

Advanced Subsidiary Unit 1: Understanding and Written Response Write your name here Surname Other names Edexcel GE entre Number andidate Number Greek dvanced Subsidiary Unit 1: Understanding and Written Response Thursday 16 May 2013 Morning Time: 2 hours 45 minutes

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

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems Multiple User Interfaces MobileSoft'16, Multi-User Experience (MUX) S1: Insourcing S2: Outsourcing S3: Responsive design

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

Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες

Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες Ενότητα 4 Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες Πληροφοριακά Συστήματα Διοίκησης Ι Διδάσκων: Νίκος Καρακαπιλίδης 4-1 Στόχοι και αντικείμενο ενότητας Περιγραφή των χαρακτηριστικών

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

GREECE BULGARIA 6 th JOINT MONITORING

GREECE BULGARIA 6 th JOINT MONITORING GREECE BULGARIA 6 th JOINT MONITORING COMMITTEE BANSKO 26-5-2015 «GREECE BULGARIA» Timeline 02 Future actions of the new GR-BG 20 Programme June 2015: Re - submission of the modified d Programme according

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

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

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία Προγραμματισμού 1 / 24 Μεθοδολογία

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

Terabyte Technology Ltd

Terabyte Technology Ltd Terabyte Technology Ltd is a Web and Graphic design company in Limassol with dedicated staff who will endeavour to deliver the highest quality of work in our field. We offer a range of services such as

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

To CSAP Πρόγραμμα, Certified. ISO 9001/2015 και ISO 17024

To CSAP Πρόγραμμα, Certified. ISO 9001/2015 και ISO 17024 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Κέντρο Επιμόρφωσης και Δια Βίου Μάθησης CSAP Μεταπτυχιακό Πρόγραμμα Σπουδών με Πιστοποίηση www.csap.gr To CSAP Πρόγραμμα, Certified ISO 9001/2015 και ISO 17024 Ανταγωνιστικά Πλεονεκτήματα

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

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,

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

Προσωπική Aνάπτυξη. Ενότητα 4: Συνεργασία. Juan Carlos Martínez Director of Projects Development Department

Προσωπική Aνάπτυξη. Ενότητα 4: Συνεργασία. Juan Carlos Martínez Director of Projects Development Department Προσωπική Aνάπτυξη Ενότητα 4: Συνεργασία Juan Carlos Martínez Director of Projects Development Department Σκοπός 1. Πώς να χτίσετε και να διατηρήσετε μια αποτελεσματική ομάδα Σε αυτό πρόγραμμα, εντός

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

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

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

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

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

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

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

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

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

Α Ανάπτυξη Πληροφοριακών Συστημάτων Πληροφοριακά Συστήματα Α Ανάπτυξη Πληροφοριακών Συστημάτων Α Ανάπτυξη Πληροφοριακών Συστημάτων Επικ. Καθ. Κωνσταντίνος Μεταξιώτης kmetax@unipi.gr 1 Α Ανάπτυξη Πληροφοριακών Συστημάτων Κύκλος Ζωής Ανάπτυξης

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

Έντυπο Καταγραφής Πληροφοριών και Συγκέντρωσης Εκπαιδευτικού Υλικού για τα Ανοικτά Μαθήματα

Έντυπο Καταγραφής Πληροφοριών και Συγκέντρωσης Εκπαιδευτικού Υλικού για τα Ανοικτά Μαθήματα Έντυπο Καταγραφής Πληροφοριών και Συγκέντρωσης Εκπαιδευτικού Υλικού για τα Ανοικτά Μαθήματα Έκδοση: 1.02, Απρίλιος 2014 Πράξη «Κεντρικό Μητρώο Ελληνικών Ανοικτών Μαθημάτων» Σύνδεσμος: http://ocw-project.gunet.gr

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

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

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

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

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 Use Cases: μια σύντομη εισαγωγή Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 (γενικές εισαγωγικές ιδέες) ΣΥΛΛΟΓΗ ΑΠΑΙΤΗΣΕΩΝ 2 Ανάλυση απαιτήσεων Λειτουργικές απαιτήσεις: τι

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

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

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Τομέας Περιβαλλοντικής Υδραυλικής και Γεωπεριβαλλοντικής Μηχανικής (III) Εργαστήριο Γεωπεριβαλλοντικής Μηχανικής TECHNICAL UNIVERSITY OF CRETE SCHOOL of

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

To CSAP Πρόγραμμα, Certified

To CSAP Πρόγραμμα, Certified ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Κέντρο Επιμόρφωσης και Δια Βίου Μάθησης Ελληνική Εταιρεία Συστημικών Μελετών (ΕΕΣΜ) CSAP Μεταπτυχιακό Πρόγραμμα Σπουδών με Πιστοποίηση www.csap.gr To CSAP Πρόγραμμα, Certified ISO

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

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

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

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

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

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

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

(1) Describe the process by which mercury atoms become excited in a fluorescent tube (3)

(1) Describe the process by which mercury atoms become excited in a fluorescent tube (3) Q1. (a) A fluorescent tube is filled with mercury vapour at low pressure. In order to emit electromagnetic radiation the mercury atoms must first be excited. (i) What is meant by an excited atom? (1) (ii)

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

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

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

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

Διαχείριση Έργων Ανάπτυξης Πληροφοριακών Συστημάτων

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

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