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



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

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

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

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

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

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

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

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

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

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

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

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

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

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

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

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

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

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

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

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

UML: Unified modelling language

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

Τα διαγράµµατα πακέτων

Certified Project Manager in Information Technology (CPMIT)

Α. Ερωτήσεις Ανάπτυξης

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

ΠΕΡΙΕΧΟΜΕΝΑ 1.1 ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1 ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΠΟΡΩΝ (ERP) 1.2 ΙΣΤΟΡΙΚΟ MRP MRP II

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Έλεγχος Προγραμμάτων και Συστήματος

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

Τα διαγράµµατα συστατικών

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

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

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

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

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

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

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

Περίληψη ιπλωµατικής Εργασίας

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

Τα διαγράµµατα ακολουθίας

Ε ΛΛΗΝΙΚΟ Α ΝΟΙΚΤΟ Π ΑΝΕΠΙΣΤΗΜΙΟ

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

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

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

ΠΕΡΙΕΧΟΜΕΝΑ Η σηµασία αυτού του κεφαλαίου για σας Εργασία εξαµήνου

Rational Unified Process:

Πλαίσιο Εργασιών. Στρατηγικές Ευκαιρίες

Επιµέλεια Θοδωρής Πιερράτος

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

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

Έλεγχος Λογισμικού. Software Testing

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

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

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

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

ΕΝΟΠΟΙΗΜΕΝΗ ΙΕΡΓΑΣΙΑ (UNIFIED PROCESS) ΚΑΙ ΕΝΟΠΟΙΗΜΕΝΗ ΓΛΩΣΣΑ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ (UML)

ΚΕΦΑΛΑΙΑ. 1. εξιότητες ιαχειριστή Έργων Σχεδιασµός και Αναφορά Έργου 10. Specialization) 3. Οµάδες Έργου (Project Teams) 15

ΕΠΛ 435: Αλληλεπίδραση Ανθρώπου Υπολογιστή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

Οι περιπτώσεις χρήσης

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής

Εκπαιδευτικοί Στόχοι Παιδαγωγικές Στρατηγικές

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κανόνες για ανάπτυξη διαγραµµάτων κλάσεων

οκιμασία και πλάνο δοκιμασίας

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΑΝ.ΕΦ. Γ ΛΥΚΕΙΟΥ Αν η συνθήκη ισχύει, τότε εκτελούνται οι εντολές που βρίσκονται µεταξύ των λέξεων ΤΟΤΕ και και η εκτέλεση του προγράµµατος συνεχίζετα

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

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

Ροµποτικοί Επενεργητές Σερβοκινητήρες Πνευµατικοί Υδραυλικοί Ηλεκτρικοί

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

Εφαρµογή EXTRA. ιαδικασία εξαγωγής της Μηχανογραφικής. έκδοσης ισοζυγίου στην εφαρµογή Extra Λογιστική ιαχείριση.

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

ιαχείριση Εφοδιαστικής Αλυσίδας

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

Λογισµικό (Software SW) Γλώσσες

ΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΕΡΩΤΗΣΕΙΣ... 5 ΕΡΕΥΝΕΣ... 8

Σχεδιασµός Λογισµικού

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Ως ανάπτυξη προϊόντος ορίζεται όλο το σύνολο των δραστηριοτήτων από την έρευνα αγοράς, µέχρι την παράδοσή του στον πελάτη.

Οδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος

Transcript:

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

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

3 Η υλοποίηση στον κύκλος ζωής Βασικές Ροές Εργασιών Σύλληψη Επεξεργασία Κατασκευή Φάσεις Μετάβαση Σχεδιασµός Επιχειρηµατικών ιαδικασιών Απαιτήσεις Ανάλυση και Σχεδιασµός Υλοποίηση Έλεγχος ιάταξη (deployment) Υποστηρικτικές Ροές Εργασιών ιαχείριση Σχηµατισµών ιαχείριση έργου Περιβάλλον Επαν. Επαν. #1 Επαν. #2 Επαν. #n Επαν. #n+1 Επαν. #n+2 Επαν. #m Επαν. #m+1 Επαναλήψεις

4 Ροή εργασιών υλοποίησης (implementation workflow) Ο στόχος της υλοποίησης είναι: Να ορίσουµε τηδοµή του κώδικα Να υλοποιήσουµε τις κλάσεις και τα συστατικά Πηγαίος κώδικας scripts Εκτελέσιµος κώδικας Να κάνουµε µοναδιαίο έλεγχο των κλάσεων (unit test) Να ελέγξουµε τασυστατικά(component unit test) Να ολοκληρώσουµε τον κώδικα σε ένα ή περισσότερα εκτελέσιµα αρχεία Τα βασικά παραδοτέα του implementation workflow: Το µοντέλο υλοποίησης που ορίζει τα συστατικά και τα υποσυστήµατα. Το πλάνο ολοκλήρωσης του συστήµατος

Με απλά λόγια τι πρέπει να κάνουµε... Να υλοποιήσουµε τις κλάσεις και τα υποσυστήµατα Να προγραµµατίσουµε το πως θα βάλουµε όλα τα συστατικά του συστήµατος µαζί Να µεταγλωττίσουµε τονκώδικα Να συνδέσουµετοκώδικασεεκτελέσιµο αρχείο Να κατανείµουµε τα εκτελέσιµα στους κόµβους 5

Ροή εργασιών υλοποίησης Αρχιτέκτων όµηση Του µοντέλου υλοποίησης Υπεύθυνος Ολοκλήρωσης Συστήµατος Προγραµµατισµός της ολοκλήρωσης Ολοκλήρωση Συστήµατος Προγραµµατιστής Προγραµµατισµός Ολοκλήρωσης Υποσυστηµάτων Υλοποίηση κλάσεων ιόρθωση λαθών Εκτέλεση Μοναδιαίου Ελέγχου Ολοκλήρωση Υποσυστηµάτων Ελεγκτής Κώδικα Έλεγχος Κώδικα 6

7 Βασικές έννοιες υλοποίησης- Χτίσιµο συστήµατος (system build) Ένα Build είναι µια έκδοση του συστήµατος ή ενός υποσυστήµατος που λειτουργεί Μπορεί να χρησιµοποιηθεί για να επιδείξει χαρακτηριστικά του συστήµατος ή ένα υποσύνολο του συστήµατος Επειδή η διαδικασία UP είναι επαναληπτική µέχρι την τελική έκδοση του συστήµατος υπάρχουν πολλές εκδόσεις του συστήµατος (build). Κάθε τέτοια έκδοση µας επιτρέπει: να συστηµατικοποιήσουµε τον έλεγχο να εντοπίσουµε προβληµατικά σηµεία να συγχρονίσουµε τηνοµάδα ανάπτυξης Κάθε build έχει ένα µοναδικό αριθµό καιυπόκειταισε έλεγχο σχηµατισµών (configuration management)

8 Βασικές έννοιες υλοποίησης- Ολοκλήρωση (Integration) Ολοκλήρωση σηµαίνει ο συνδυασµός των συστατικών σε ένα σύστηµα. Η ολοκλήρωση γίνεται σε διάφορα επίπεδα και σε διάφορες φάσεις Για να χτίσουµε τα υποσυστήµατα Για να χτίσουµε τοσύστηµα απότα υποσυστήµατα Υπάρχουν δύο προσεγγίσεις Ολοκλήρωση σε φάσεις (Phased Integration) Ολοκληρώνουµε το σύστηµα στο τέλος κάθε φάσης Σταδιακή ολοκλήρωση (Incremental Integration) Κάνουµε ολοκλήρωση µόλις είναι τεχνικά δυνατό και έχουµε πάντα διαθέσιµη την τελευταία έκδοση του συστήµατος

9 Βασικές έννοιες υλοποίησης- Πρωτότυπα (Prototypes) Ένα πρωτότυπο είναι µια έκδοση του συστήµατος σε αρχική ή ενδιάµεση φάση Πρωτότυπα Συµπεριφοράς και ιερευνητικά Πρωτότυπα Αναλύουµε µια συγκεκριµένη συµπεριφορά του συστήµατος εν χρησιµοποιούνται στο τελικό σύστηµα Κατασκευάζονται γρήγορα οµικά και εξελικτικά Πρωτότυπα Ακολουθούν την τελική αρχιτεκτονική του συστήµατος Χρησιµοποιούν τα δοµικά συστατικά του συστήµατος Χρησιµοποιούν το τελικό περιβάλλον ανάπτυξης Εξελίσσονται και αποτελούν τµήµα του τελικού συστήµατος

10 Οι ροές εργασιών και τα βασικά παραδοτέα Περιγραφή Επιχειρηµατικών ιαδικασιών Επιχειρηµατικό Πλάνο Απαιτήσεις Προσδιορισµός απαιτήσεων Ανάλυση και Σχεδιασµός Μοντέλα Σύστηµα που δουλεύει Υλοποίηση Software Έλεγχος Οργανωτικές αλλαγές ιάταξη

11 Είδοςεργασίαςανάφάση Ανθρώπινοι πόροι Σύστηµα υπό κατασκευή Πρωτότυπα συστήµατος Τελικό σύστηµα Σύλληψη Επεξεργασία Κατασκευή Μετάβαση χρόνος

12 Το πρώτο βήµα της υλοποίησης Η δηµιουργία πρωτότυπου για την επαλήθευση της αρχιτεκτονικής Πλεονεκτήµατα αποδεικνύει ότι η προτεινόµενη λύση µπορεί να υλοποιηθεί αποδεικνύει ότι τα προτεινόµενα συστατικά είναι κατάλληλα και ότι λειτουργούν αποδεικνύει ότι τα συστατικά µπορούν και συνεργάζονται µειώνει τον κίνδυνο Μειονεκτήµατα δεν είναι δυνατόν να δοκιµάσουµε πολλά εναλλακτικά σενάρια Μπορεί να αποδείξει ότι το έργο δεν µπορεί να γίνει εν αντιµετωπίζει όλους τους κινδύνους

Προγραµµατισµός δουλειάς που απαιτείται για την υλοποίηση 13 Τα διαγράµµατα περιπτώσεων χρήσης είναι αυτά που προσδιορίζουν το τι πρέπει να κάνει το σύστηµα Η υλοποίηση των περιπτώσεων χρήσης της ίδιας κατηγορίας ανατίθεται στην ίδια οµάδα Η πολυπλοκότητα των περιπτώσεων χρήσης ορίζει και την προσπάθεια που απαιτείται για την υλοποίηση Σύστηµα βαθµολόγησης της πολυπλοκότητας των περιπτώσεων χρήσης Παράδειγµα 5 βαθµοί = απλή, 10 βαθµοί = µέτριας πολυπλοκότητας, 15 βαθµοί = Complex. Η υλοποίηση των περιπτώσεων χρήσης πρέπει να γίνεται ανάλογα µε τηνπροτεραιότητα Υλοποιούνται πρώτα Οι πιο σηµαντικές περιπτώσεις χρήσης για την αρχιτεκτονική Οι πιο δύσκολες περιπτώσεις χρήσης για την αρχιτεκτονική

14 Οι περιπτώσεις χρήσης και η προτεραιότητα Μια τεχνική για να θέτουµε προτεραιότητα είνα η παρακάτω: Κατηγορίες MuSCoW Mu Must Have Use Cases Αποδεικνύουν ότι η αρχιτεκτονική του συστήµατος είναι κατάλληλη S Should Have Use Cases Υλοποιούνται σε επόµενες επαναλήψεις Co Could Have Use Cases Τις υλοποιούµαι µόνο αν υπάρχουν διαθέσιµοι πόροι, χρόνος W Wont Have Use Cases Είναι εκτός του αντικειµένουτωνεργασιώντουέργου Φροντίζουµε ναενηµερώσουµε τους πελάτες σχετικά Σε κάθε επανάληψη δηµιουργούµαι µια έκδοση του συστήµατος όπου λαµβάνουµε υπόψη τον κανόνα MuSCoW

Βασικές αρχές για τη χρήση των συστατικών Η επιλογή των συστατικών πρέπει να ακολουθεί δύο βασικά κριτήρια: Κελυφοποίηση(encapsulation) Κανένα συστατικό δεν πρέπει να βασίζεται στην εσωτερική λειτουργία κάποιου άλλου Κρύψιµο τωνλεπτοµερειών στο εσωτερικό των αντικειµένων οµικότητα (Modularity) Τα σύστηµα αναλύεται σε συστατικά που έχουν συνεκτικότητα (cohesive) αλλά ταυτόχρονα έχουν χαλαρή σχέση (loosely coupled) µεταξύ τους ουλεύουν καλά µαζί (cohesive) Το ένα δεν χρειάζεται το άλλο (loosely 15

16 Στρατηγική Ελέγχου: Απαιτήσεις Ανάλυση & Σχεδιασµός Έλεγχος του συστήµατος Έλεγχος ολοκλήρωσης δικας Μοναδιαίος έλεγχος

Μοναδιαίος Έλεγχος (Unit testing) Module Πράγµατα που ελέγχουµε Βασική λογική διαπροσωπία (interface) δοµές δεδοµένων οριακές τιµές διαχείριση λαθών Περιπτώσεις Χρήσης (Test cases) 17

18 Αντιστοίχηση στοιχείων από το σχεδιασµό στην υλοποίηση Μοντέλο Ανάλυσης Μοντέλο Σχεδιασµού Java κώδικας Κλάση Ανάλυσης Κλάση Σχεδιασµού Κλάση Java Συµπεριφορά Operation Member function Κατηγόρηµα (κλάση) Κατηγόρηµα (κλάση) Static µεταβλητή Κατηγόρηµα (στιγµιότυπο) Κατηγόρηµα (στιγµιότυπο) Μεταβλητή στιγµιότυπο Μήνυµα Μήνυµα Κλήση µεθόδου ιάγραµµα Συνεργασίας ιάγραµµα Ακολουθίας Ακολουθία Μηνυµάτων Πακέτο Υποσύστηµα Αρχείο

Συµπεράσµατα Πρωτοτυποποίηση Ανάπτυξη συστήµατος Μοναδιαίος έλεγχος Ολοκλήρωση 19