Software Development Methodologies

11
Μεθοδολογίες Ανάπτυξης Πληροφοριακών Συστημάτων Αγγελής Δημήτριος (ΜΤΕ-0936)

Transcript of Software Development Methodologies

Page 1: Software Development Methodologies

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

Αγγελής Δημήτριος (ΜΤΕ-0936)

Page 2: Software Development Methodologies

Μεθοδολογίες Ανάπτυξης Πληροφοριακών ΣυστημάτωνRational Unified Process (RUP)Agile Systems Development (ASD)Waterfall Systems Development (WSD)

Page 3: Software Development Methodologies

Rational Unified ProcessΣτόχοι:

Μείωση Κινδύνου: Απόδοσης Ολοκλήρωσης Βασικής Φιλοσοφίας

Η κάθε επαναληπτική διαδικασία δομείται σαν ένα μικρό έργο «waterfall».

Page 4: Software Development Methodologies

Rational Unified ProcessΦάσεις:

Φάση εισαγωγής (Inception Phase)Φάση επεξήγησης και επέκτασης-κλιμάκωσης

του έργου (Elaboration Phase)Φάση κατασκευής (Construction Phase)Φάση μετάβασης στο περιβάλλον του χρήστη

(Transition Phase)

Page 5: Software Development Methodologies

Rational Unified ProcessΠλεονεκτήματα ΜειονεκτήματαΔυνατότητα ελέγχου του

κινδύνουανάπτυξη του έργου κάνοντας

συνδυασμένη σταδιακή ανάλυση-σχεδιασμό-υλοποίηση

δίνει τη δυνατότητα σε όλες της να συμμετέχουν στο έργο και να συνεισφέρουν την εμπειρία τους

Οι επαναλήψεις δημιουργούν τη δυνατότητα της διόρθωσης και του επαναπροσδιορισμού των επιλογών

Ανάλυση και ανάπτυξη ανά component

Δεν καλύπτει επίσης έννοιες όπως η συντήρηση και αναβάθμιση λογισμικού

Δεν υποστηρίζει ρητά τις προσπάθειες ανάπτυξης υποδομής σε όλο τον οργανισμό και δεν ανταποκρίνεται στην μεγάλη κλίμακα επαναχρησιμοποίησης συστατικών μέσα στην επιχείρηση.

Δεν μπορεί να αυτοματοποιήσει κάθε πτυχή της διαδικασίας λογισμικού.

Αδυναμίες επίσης εστιάζονται στην διαχείριση μετρήσεων, επαναχρησιμοποίησης, διαχείριση ανθρώπων, και διενέργεια δοκιμών.

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

Page 6: Software Development Methodologies

Agile Systems DevelopmentΣτόχοι:αλληλεγγύη μεταξύ των υπευθύνων για την ανάπτυξη

λογισμικού και το ανθρώπινο ρόλο που απεικονίζουν οι συμβάσεις

να παράγει συνεχώς δοκιμασμένο, λειτουργικό λογισμικό

η σχέση και η συνεργασία μεταξύ των υπεύθυνων για την ανάπτυξη και των πελατών είναι προτιμητέα σε σύγκριση με τις ακριβείς συμβάσεις

η ομάδα ανάπτυξης πρέπει να είναι καλά πληροφορημένοι, ικανοί και εξουσιοδοτημένοι να εξετάζουν τις πιθανές ανάγκες που προκύπτουν κατά τη διάρκεια του κύκλου ζωής της διαδικασίας ανάπτυξης

Page 7: Software Development Methodologies

Agile Systems DevelopmentΕυέλικτες μεθοδολογίες ανάπτυξης

ΕπαυξητικήΣυνεταιριστικήΑπλήΠροσαρμοστική

Ακραίος Προγραμματισμός (Extreme Programming)

Page 8: Software Development Methodologies

Agile Systems DevelopmentΑκραίος Προγραμματισμός (Extreme Programming) – Φάσεις:

Φάση εξερεύνησηςΦάση του προγραμματισμούΦάση των επαναλήψεων μέχρι την έκδοσηΦάση παράγωγηςΦάση συντήρησηςΦάση θανάτου

Page 9: Software Development Methodologies

Waterfall Systems DevelopmentΦάσεις:

RequirementsDesignImplementationVerificationMaintenance

Page 10: Software Development Methodologies

Waterfall Systems DevelopmentΠλεονεκτήματα Μειονεκτήματαυποστηρίξει λιγότερο

πεπειραμένες ομάδες εξασφαλίζει την

ποιότητα, την αξιοπιστία και τη δυνατότητα συντήρησης του λογισμικού

η πρόοδος της ανάπτυξης των συστημάτων είναι μετρήσιμη

βοηθά στην βέλτιστη χρήση των πόρων

άκαμπτο, αργό, δαπανηρό και δυσκίνητο

μικρή μετακίνηση προς τα πίσω

μικρό περιθώριο για επαναληπτική χρήση και επαναχρησιμοποίηση του λογισμικού

οι αλλαγές που εμφανίζονται αργά στον κύκλο ζωής του προγράμματος είναι δαπανηρές

Page 11: Software Development Methodologies

Προτεινόμενη Μεθοδολογία για Ανάπτυξη Πληροφοριακών Συστημάτων στον Δημόσιο ΤομέαAgile Systems Development

Μείωση του κινδύνου Αποφυγή δημιουργίας του λάθους προγράμματος Αποφυγή της δημιουργίας του σωστού

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

Βελτίωση Ελέγχου Η συχνή παράδοση σημαίνει μετρήσιμη πρόοδο και

χαμηλότερο κόστος αλλαγήςΒελτίωση των επικοινωνιών