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

Σχετικά έγγραφα
Τεχνολογία Λογισμικού

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

02α Διαχείριση Έργων Λογισμικού

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

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

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

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

10α Έλεγχος και επαλήθευση λογισμικού

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

UML: Unified modelling language

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

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

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

Scrum Μέθοδος για τη Διαχείριση Έργων Λογισμικού

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

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

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

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

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

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

Scrum framework: Ρόλοι

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

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

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

12 Έλεχος και επαλήθευση λογισμικού

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

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

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

ΕΥΕΛΙΚΤΕΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ (AGILE METHODOLOGIES) Ακραίος Προγραμματισμός (Extreme Programming) και Scrum

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

05 Ανάλυση απαιτήσεων

03 Τεχνική διαχείριση έργων λογισμικού

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΜΑΤΟΣ. Ευέλικτες μέθοδοι στη διοίκηση έργων ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ: 8 ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ (ΑΝΑ ΕΒΔΟΜΑΔΑ):

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

EPL603 Topics in Software Engineering

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

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

Σύγχρονες Μέθοδοι Διαχείρισης Έργων Πληροφορικής

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

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

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

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

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

Test Data Management in Practice

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

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

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

Η εκπαίδευση στην Πληροφορική ως μοχλός ανάπτυξης της καινοτομίας

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

Ευέλικτες Διαδικασίες Ανάπτυξης Λογισμικού

e-academy e-commerce Project Manager

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

Scrum Μέθοδος για τη Διαχείριση Έργων Λογισμικού

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

Scrum framework: Γεγονότα

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

05 Ανάλυση Απαιτήσεων

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

Scrum Μέθοδος για τη Διαχείριση Έργων Λογισμικού

Εισαγωγή στις ευέλικτες μεθοδολογίες ανάπτυξης λογισμικού (Agile Software Development) SCRUM

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

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

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

01 Εισαγωγή. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο Δρ. Κώστας Σαΐδης

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

Agile Methods. Ευέλικτες Μέθοδοι

Assalamu `alaikum wr. wb.

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

Διαδικασίες ανάπτυξης λογισμικού

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

Πρακτικές Agile Development στην Ανάπτυξη του le .me

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

GREECE BULGARIA 6 th JOINT MONITORING

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

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

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

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

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

XP μέθοδος για τη Διαχείριση Έργων Λογισμικού

Παλεπηζηήκην Πεηξαηώο Τκήκα Πιεξνθνξηθήο Πξόγξακκα Μεηαπηπρηαθώλ Σπνπδώλ «Πξνεγκέλα Σπζηήκαηα Πιεξνθνξηθήο»

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

Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους

IBM IoT Continuous Engineering on Cloud και IBM Collaborative Lifecycle Management on Cloud

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

ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. ΘΕΜΑ: «ιερεύνηση της σχέσης µεταξύ φωνηµικής επίγνωσης και ορθογραφικής δεξιότητας σε παιδιά προσχολικής ηλικίας»

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

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

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

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

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

ΤΕΧΝΟΛΟΓΙΑ, ΚΑΙΝΟΤΟΜΙΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ 9 Ο εξάμηνο Χημικών Μηχανικών

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

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

TopHost: Scrum Introduction & Rules

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

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

Transcript:

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

Κύκλος ζωής του λογισμικού Συγκέντρωση, καταγραφή και ανάλυση απαιτήσεων λογισμικού. Σχεδιασμός λογισμικού. Υλοποίηση λογισμικού. Έλεγχος, επαλήθευση και επικύρωση λογισμικού. Εγκατάσταση, έλεγχος, παραμετροποίηση και ολοκλήρωση λογισμικού στο παραγωγικό του περιβάλλον. Συντήρηση και επέκταση λογισμικού. 2

Τρόπος εκτέλεσης των βημάτων Ακολουθιακός/παράλληλος Μια φορά/σε επαναλήψεις Συχνότητα αλληλεπίδρασης με τους χρήστες 3

Πολλά μοντέλα & μεθοδολογίες Μοντέλο καταρράκτη Αυξητικό μοντέλο Επαναληπτικό μοντέλο Πρωτοτυποποίηση Σπειροειδές μοντέλο Rational Unified Process Ευέλικτη διαδικασία agile Scrum DevOps Extreme programming, test driven, behavior driven και model driven development σε επόμενη διάλεξη 4

Μοντέλο καταρράκτη 5

W.W. Royce, wwwscf.usc.edu/~csci201/lectures/lecture11/royce1970.pdf 6

W.W. Royce, wwwscf.usc.edu/~csci201/lectures/lecture11/royce1970.pdf 7

Winston W. Royce "Winston Walker Royce August 15, 1929 June 7, 1995 was an American computer scientist, director at Lockheed Software Technology Center in Austin, Texas. He was a pioneer in the field of software development, known for his 1970 paper from which the Waterfall model for software development was mistakenly drawn." Wikipedia. 8

Λίστα αναγνωσμάτων Winston. W. Royce, "Managing the development of large software systems: concepts and techniques", Proceedings of the 9th International Conferense of Software Engineering, 1987, p. 328 338. Η πρώτη έκδοση του άρθρου 1970 : wwwscf.usc.edu/~csci201/lectures/lecture11/royce1970.pdf 9

Βασικά προβλήματα του μοντέλου καταρράκτη Δεν προσαρμόζεται στις αλλαγές των απαιτήσεων. Οι χρήστες συμμετέχουν μόνο στην αρχή απαιτήσεις και στο τέλος λειτουργία. Δεν επαρκεί να επικοινωνεί το κάθε βήμα με τα γειτονικά του μόνο 10

The required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated. Either the requirements must be modified, or a substantial change in the design is required. In effect the development process has returned to the origin and one can expect up to a 100 percent overrun in schedule and/or costs. Winston W. Royce 11

Αυξητικό μοντέλο Για σταθερές προδιαγραφές 12

RahulT, CC BY SA 3.0, https://commons.wikimedia.org/w/index.php?curid=27752117 13

Δεδομένων των προδιαγραφών Επιμερισμός της συνολικής εργασίας σε μικρότερες Κάθε έκδοση επαυξάνει την προηγούμενη με νέες λειτουργίες και χαρακτηριστικά Κάθε έκδοση είναι λειτουργική Μικρή ευελιξία στις αλλαγές των απαιτήσεων Στην πράξη, με αυτόν τον τρόπο γίνεται η "διάθεση" release του λογισμικού: μετάβαση από τις εκδόσεις ελέχγου π.χ. ALPHA, BETA, RELEASE CANDIDATE στην τελική περισσότερα στα περί εκδόσεων 14

Επαναληπτικό/εξελικτικό μοντέλο 15

16

Χαρακτηριστικά Επαναλαμβανόμενοι κύκλοι iterations σε μικρά χρονικά διαστήματα Με συχνές διαδράσεις με το χρήστη Παρόμοια με προηγουμένως, έχουμε πολλές εκδόσεις Οι οποίες, όμως, υλοποιούν νέες απαιτήσεις καθώς προκύπτουν/εξελίσσονται Όσες θα δούμε παρακάτω βασίζονται σε αυτήν την προσέγγιση 17

Διαδικασία πρωτοτυποίησης Prototyping, Rapid Application Development 18

Είναι μια επαναληπτική διαδικασία 1 Ανάλυση απαιτήσεων 2 Ανάπτυξη πρωτοτύπου prototype 3 Αποτίμηση 4 Βελτίωση 5 Επανάληψη 19

Πρωτότυπα prototypes Ενδείκνυται η ανάπτυξή τους σε εφαρμογές που έχουν χρηστικές διεπαφές Δεν ενδείκνυται σε εφαρμογές με απαιτητικούς υπολογισμούς ή εργασίες δέσμης 20

Οριζόντια πρωτότυπα Έμφαση στη διεπαφή με το χρήστη, παρά στη χαμηλού επιπέδου λειτουργικότητα Συνήθως UI prototypes wireframes Επιβεβαίωση χρηστικών απαιτήσεων Δοκιμαστικές εκδόσεις για την προσέγγιση χρηστών πελατών ή επενδυτών, π.χ. MVP: minimum viable product Βοηθούν στην εκτίμηση κόστους / χρόνου 21

Κάθετα πρωτότυπα Απόκτηση λεπτομερών απαιτήσεων για μια συγκεκριμένη λειτουργία Συγκέντρωση πληροφοριών για τη συμπεριφορά του συστήματος σε συγκεκριμένο περιβάλλον π.χ. όγκος δεδομένων, ταχύτητα δικτύου, μετρήσεις απόδοσης, κλπ. Αποκρυστάλλωση των απαιτήσεων για σύνθετες λειτουργίες 22

Rapid throw away prototyping Σκιαγράφηση απαιτήσεων Σχεδιασμός πρωτοτύπου Χρηστική εμπειρία του, νέες απαιτήσεις Επανάληψη, αν χρειάζεται Καθορισμός των τελικών απαιτήσεων τέλος ζωής πρωτοτύπου 23

Evolutionary prototyping Χτίσιμο ενός στιβαρού πρωτοτύπου, που μέσω συνεχώς επεκτάσεων και βελτιώσεων, θα αποτελέσει το τελικό σύστημα Υλοποίηση των απόλυτα κατανοητών απαιτήσεων ανά χρονική στιγμή Αποτίμηση από χρήστες Παράλληλη ανάπτυξη των επιμέρους συστατικών του συστήματος με την ίδια λογική 24

Πλεονεκτήματα πρωτοτυποποίησης Μείωση χρόνου και κόστους Ανάμειξη των χρηστών 25

Πιθανά προβλήματα Ελλιπής ανάλυση Σύγχυση χρηστών Σύγχυση προγραμματιστών 26

Να είναι σαφής εξαρχής ο ρόλος του πρωτοτύπου στο έργο Προς όλους: χρήστες και προγραμματιστές Throw away vs. evolutionary 27

Ακραία πρωτοτυποποίηση Χρησιμοποιείται συχνά για την ανάπτυξη διαδικτυακών εφαρμογών 1. Παραγωγή στατικών σχεδίων/σελίδων 2. Προγραμματισμός λειτουργικών σελίδων με χρήση "εξομοίωσης" των back end υπηρεσιών 3. Υλοποίηση των back end υπηρεσιών 28

Σπειροειδές μοντέλο 29

30

Τέσσερα επαναληπτικά βήματα 1. Καθορισμός στόχων 2. Αναγνώριση και αντιμετώπιση ρίσκου 3. Ανάπτυξη, έλεγχος, επαλήθευση 4. Σχεδιασμός επόμενης επανάληψης 31

Παρόμοιο με το μοντέλο πρωτοτυποποίησης, όπου στην αρχή κάθε επανάληψης γίνεται έλεγχος σκοπιμότητας και ανάλυση ρίσκου Κατάλληλο για πολύ μεγάλα έργα μεγάλο κόστος διαχείρισης 32

Rational Unified Process RUP 33

Χαρακτηριστικά Εξελικτικό μοντέλο με ανάδραση Καθοδηγείται από μελέτες χρήσης use cases Είναι επικεντρωμένο στην αρχιτεκτονική Χρησιμοποιεί την UML σαν γλώσσα μοντελοποίησης 34

Δομικά στοιχεία Ρόλοι ποιος Δικαιοδοσίες και ικανότητες Αποτελέσματα τι Ένα παραγόμενο από το έργο αποτέλεσμα Ενέργειες πώς Μια ενότητα εργασίας που έχει ανατεθεί σε κάποιο ρόλο 35

6 βασικές αρχές Business modeling Requirements Analysis and design Implementation Testing Deployment 36

3 βοηθητικές αρχές Configuration & change management Project management Environment management and setup 37

4 φάσεις Inception: Ορισμός και έκταση του έργου Elaboration: Κατάστρωση μεθόδου υλοποίησης του έργου, μοντελοποίηση χαρακτηριστικών του έργου, ορισμός της αρχιτεκτονικής του συστήματος Construction: Υλοποίηση του έργου Transition: Εγκατάσταση κι ολοκλήρωση του συστήματος στο λειτουργικό του περιβάλλον 38

39

Ευέλικτο agile μοντέλο 40

Αρχές Πολυ λειτουργικές και αυτο διοικούμενες ομάδες selforganizing & cross functional. Προσαρμοστικός σχεδιασμός, εξελικτική ανάπτυξη, ταχεία παράδοση και συνεχής βελτίωση. Ταχεία και ευέλικτη προσαρμογή στις αλλαγές. Manifesto for Agile Software Development http://agilemanifesto.org/ 41

42

12 Αρχές 1. Customer satisfaction by early and continuous delivery of valuable software 2. Welcome changing requirements, even in late development 3. Working software is delivered frequently weeks rather than months 4. Close, daily cooperation between business people and developers 43

5. Projects are built around motivated individuals, who should be trusted 6. Face to face conversation is the best form of communication co location 7. Working software is the primary measure of progress 8. Sustainable development, able to maintain a constant pace 44

9. Continuous attention to technical excellence and good design 10. Simplicity the art of maximizing the amount of work not done is essential 11. Best architectures, requirements, and designs emerge from self organizing teams 12. Regularly, the team reflects on how to become more effective, and adjusts accordingly 45

Scrum By PierreSelim Own work, CC BY SA 3.0, https://commons.wikimedia.org/w/index.php?curid=17336884 46

Scrum Μικρή ομάδα Πολυ λειτουργική / πολυμορφική Αυτο οργάνωση Στον ίδιο χώρο 47

Αξίες Αφοσίωση Θάρρος Συγκέντρωση Ανοικτότητα διαφάνεια Σεβασμός 48

Ρόλοι Product owner Έμφαση στη business πλευρά Development team Αυτο οργάνωση pull και όχι push Scrum master Όχι manager 49

Έννοιες και διαδικασίες User stories Epics & issues Product backlog Sprint iteration Sprint backlog 50

Sprint backlog Product backlog TODO Doing Done User Story A #1 #2 #3 Story B #4 #6 #5 Story C Story D Story E Story F 51

DevOps Development + Operations 52

By Devops.png: Rajiv.Pant derivative work: Wylve This file was derived from Devops.png:, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=20202905 53

Χαρακτηριστικά Αυτοματισμός και παρακολούθηση των "τελικών" κυρίως βημάτων ανάπτυξης λογισμικού: from integration, testing, releasing to deployment and infrastructure management. Στόχοι: μικρότεροι κύκλοι ανάπτυξης, συχνότερες εγκαταστάσεις deployments, πιο αξιόπιστες εκδόσεις releases, καλύτερη ευθυγράμμιση με τις επιδιώξεις του οργανισμού business goals. 54

DevOps toolchain 1. Code 2. Build 3. Test 4. Package 5. Release 6. Configure 7. Monitor 55

By Kharnagy Own work, CC BY SA 4.0, https://commons.wikimedia.org/w/index.php?curid=51215412 56