Παράδειγµα διεργασίας: ιαδικασίες και ιεργασίες

Σχετικά έγγραφα
Παράδειγµα διεργασίας: ιαδικασίες και ιεργασίες

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

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

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

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

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

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

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

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

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

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

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

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

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

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

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

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

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

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

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

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

Λειτουργίες της ιοίκησης

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

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

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

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

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

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

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

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

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

Ορολογία για µελέτη...71 Πρακτική εφαρµογή Απαντήσεις... 37

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

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

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

Η ΕΣΩΤΕΡΙΚΗ ΕΠΙΘΕΩΡΗΣΗ ΣΑΝ ΚΙΝΗΤΗΡΙΟΣ ΥΝΑΜΗ ΑΠΟΤΕΛΕΣΜΑΤΙΚΟΤΗΤΑΣ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΠΟΙΟΤΗΤΑΣ ISO 9001

Προδιαγραφές Απαιτήσεων Γιάννης Σμαραγδάκης

Πρώτες ύλες. Πιθανοί κίνδυνοι σε όλα τα στάδια της παραγωγής. Καθορισµός πιθανότητας επιβίωσης µικροοργανισµών. Εκτίµηση επικινδυνότητας

ÂÚÈÂ fiìâó ΠΡΟΛΟΓΟΣ...15

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

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

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

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

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

Μητρώο Τεκµηρίων Εκπαιδευτή ΕΝΟΤΗΤΑ/ΣΤΟΙΧΕΙΟ E/15 ΑΝΑΦΟΡΑ ΧΑΡΤΟΦΥΛΑΚΙΟΥ 15 ΕΚΠΑΙ ΕΥΤΗΣ Χρίστου Χρίστος

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

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

ΘΕ6: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΝΑΠΤΥΞΗΣ ΠΡΟΪΟΝΤΟΣ. ιαδικασίες Ανάπτυξης και Οργανισµοί

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

Certified Project Manager in Information Technology (CPMIT)

UML: Unified modelling language

Rational Unified Process:

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

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

ΠΕΡΙΕΧΟΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΝΝΟΙΑ ΤΟΥ ΜΑΝΑΤΖΜΕΝΤ ΛΕΙΤΟΥΡΓΙΕΣ ΤΗΣ ΙΟΙΚΗΣΗΣ ΕΠΙΣΤΗΜΗ ΤΗΣ ΙΟΙΚΗΣΗΣ. Θα παρουσιαστούν

Πνευµατικά ικαιώµατα

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

Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και

Ανάλυση Περιπτώσεων Χρήσης

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

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

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

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

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

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

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

Βασικά Στοιχεία Διαχείρισης Έργων

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

8 ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΠΡΟΙΟΝΤΟΣ PRODUCT DATA MANAGEMENT (PDM)

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

ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. Μάθηµα 4ο: Θεµελιώδεις Αρχές και Τεχνικές του

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

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

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

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10

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

Ανοικτά Ακαδηµα κά Μαθήµατα

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

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

Αντικειμενοστρεφής Προγραμματισμός

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

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

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

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

Αριστοµένης Μακρής Εργαστήρια Η/Υ

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Συστήματα Πραγματικού Χρόνου. Real Time Systems, RTS

VHDL Εισαγωγικές έννοιες

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

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

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

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

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

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

ιδακτικό Μοντέλο Περιεχόµενα ρ. Κωνσταντίνα Βασιλοπούλου Εποικοδοµισµός E-learning - Ορισµός Ανάλυση Αναγκών Μαθητή

Transcript:

ιεργασία & κύκλος ζωής Μοντελοποίηση ιεργασιών και Κύκλου Ζωής Λογισµικού Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr ιεργασία είναι ένα σύνολο διατεταγµένων δραστηριοτήτων: µια σειρά βηµάτων που εκτελούνται χρησιµοποιώντας πόρους και πληρώντας περιορισµούς ώστε επιφέρουν κάποιο επιθυµητό αποτέλεσµα Π.χ. Η κατασκευή ενός γλυκού χρησιµοποιεί ορισµένες ποσότητες υλικών. Επιπλέον το ψήσιµο του γλυκού γίνεται αφού έχουν προστεθεί και αναµιχθεί όλα τα σχετικά υλικά Μια διεργασία µπορεί να αποτελείται από υπο-διεργασίες Συγκεκριµένη αρχή και τέλος για κάθε δραστηριότητα, άρα και συγκεκριµένη χρονική διάρκεια, και για κάθε διεργασία Όταν το αποτέλεσµα είναι η παραγωγή κάποιου προϊόντος τότε η διεργασία αναφέρεται και σαν κύκλος ζωής Παράδειγµα διεργασίας: κατασκευή οµελέτας ιαδικασίες και ιεργασίες Κατασκευή οµελέτας Προετοιµασία υλικών Χτύπηµα αυγών και ανάµιξη Τηγάνισµα ψήσιµο Κοπή κρεµµυδιών Κοπή µανιταριών Κοπή πατάτας Με µαχαίρι Με τρίφτη Με µίξερ Κάθε διεργασία µπορεί να περιλαµβάνει µια ή περισσότερες υπο-διεργασίες ή/και δραστηριότητες Οι υπο-διεργασίες µπορούν να εκτελούνται παράλληλα ή σειριακά ανάλογα µε τους πόρους και τις εξαρτήσεις εισόδου/εξόδου τους ιαδικασία: δοµηµένος τρόπος για συνδυασµό τεχνικών και εργαλείων ώστε να πραγµατοποιηθεί µια δραστηριότητα (να ολοκληρωθεί µια εργασία) ιεργασία: Συλλογή διαδικασιών οργανωµένη ώστε να κατασκευάζουµε προϊόντα που ικανοποιούν κάποιους στόχους ή/και προδιαγραφές Οι διαδικασίες είναι σηµαντικές γιατί προσθέτουν συνέπεια και δοµή σε ένα σύνολο δραστηριοτήτων Ακολουθούµε διεργασίες όταν θέλουµε νακάνουµε κάτισωστά µε δοκιµασµένο και συστηµατικό τρόπο [π.χ. χτίσιµο τοίχου µε τούβλα] ηµιουργούµε διεργασίεςότανθέλουµε ναδιασφαλίσουµε οτι κι άλλοι θα µπορέσουν να το επαναλάβουν 1

Περιγραφή διεργασίας Περιγραφή των κυρίων δραστηριοτήτων Προσδιορισµός των πόρων και των περιορισµών τους Αποτελείται από υποδιεργασίες Κάθε δραστηριότητα έχει κριτήρια εισόδου και εξόδου Οι δραστηριότητες οργανώνονται σε σειρά Προσδιορίζονται οι στόχοι κάθε δραστηριότητας Κύκλος Ζωής Λογισµικού Κύκλος ζωής λογισµικού είναι µια περιγραφή των γεγονότων που συµβαίνουν µεταξύ της έναρξης και του τέλους ενός έργου λογισµικού. Εξαγωγή Απαιτήσεων Στάδια κύκλου ζωής λογισµικού Τα βασικά στάδια ανάπτυξης λογισµικού Ανάλυση Σχεδιασµός Υλοποίηση Έλεγχος Τί; Εξαγωγή απαιτήσεων και ανάλυση προδιαγραφών Πώς; Σχεδίαση Υλοποίηση Έλεγχος Συντήρηση Χρόνος Συντήρηση 2

Απαιτήσεις Αυτό που θέλουµε να κάνει το σύστηµά µας Στόχοι, επιθυµίες Οι απαιτήσεις δεν είναι αρχιτεκτονική λογισµικού, σχέδιο ούτε ο τρόπος διασύνδεσης µε τοχρήστη Οι απαιτήσεις είναι ανάγκες που πρέπει να ικανοποιηθούν από το σύστηµα, π.χ. Ο υπολογισµός και η εµφάνιση συγκεκριµένων αποτελεσµάτων. Ανάλυση Απαιτήσεων όµηση και έλεγχος των απαιτήσεων Προσδιορισµός των παραγόντων που επιδρούν στις απαιτήσεις καθώς και τυχόν αλληλεπιδράσεις µεταξύ τους. Εξασφαλίζουµε οτι γνωρίζουµε αρκετά για τις απαιτήσεις ώστε να συνεχίσουµε Παραδείγµατα Απαιτήσεων Στύλ δηλώσεων: Το σύστηµα θα παρέχει τρόπο για αναζήτηση και ανάγνωση αρχείων που δηµιουργήθηκαν από άλλα εργαλεία. Στυλ σεναρίων: Οι εργαζόµενοι που είναι άρρωστοι για περισσότερο από 3 ηµέρες παίρνουν αναρρωτική άδεια. Πληρώνονται όλο το µισθό τους για 190 εργάσιµες µέρες και µετά το 70% του µισθού για 270 µέρες. Για λογιστικούς λόγους η αµοιβή αναρρωτικής αδείας πρέπει να υπολογίζεται ξεχωριστά από την κανονική αµοιβή. Σχεδίαση Πώς θα ικανοποιήσουµε τις προδιαγραφές; Τι θα κατασκευάσουµε για να ικανοποιήσουµε τις προδιαγραφές; Ηεφαρµογή µεθόδων και αρχών µε σκοπό τον ορισµό ενός συστήµατος λογισµικού σε ικανοποιητική λεπτοµέρεια που να επιτρέπει την ανάπτυξή του. 3

Παράδειγµα Σχεδίου Robot football Αρχή Γενική αναζήτηση Εντοπισµός άλλου robot ιαφορετική οµάδα Υλοποίηση Μετάφραση της σχεδίασης σε µορφή κατανοητή από τη µηχανή. Υλοποίηση µπορεί να είναι δηµιουργία διαγράµµατα σε ένα CASE tool, συγγραφή κώδικα σε µια γλώσσα προγραµµατισµού ή είσοδος γραµµών εντολών σε κάποιο web-page editor. Αποµάκρυνση Υπολογισµός απόστασης Μικρή απόσταση Μεγάλη απόσταση Εκτίµηση οµάδας Ζήτα τη µπάλα Ίδια οµάδα Παράδειγµα υλοποίησης Έλεγχος Στόχοι του ελέγχου: Έλεγχος είναι η διαδικασία της εκτέλεσης ενός προγράµµατος µε σκοπό την ανεύρεση λαθών. Μια καλή περίπτωση ελέγχου είναι κάποια που έχει υψηλή πιθανότητα ανεύρεσης ενός σφάλµατος που δεν έχει προκύψει ξανά µέχρι εκείνη τη στιγµή. Επιτυχής έλεγχος είναι αυτός που αποκαλύπτει καινούρια σφάλµατα. 4

Παράδειγµα Ελέγχου Συντήρηση Στόχος η διαρκής ικανοποίηση των αναγκών του χρήστη Τροποποίηση ενός υπάρχοντος συστήµατος εξ αιτίας σφαλµάτων, αλλαγών στο περιβάλλον και στις απαιτήσεις ή για να γίνει πιο εύκολη η µελλοντική συντήρηση (Feathers, 1999) Μοντέλα ιεργασιών Λογισµικού (Στην πραγµατικότητα...) Προσδιορίζουν τον τρόπο µε τον οποίο θα πρέπει να προχωρήσει η ανάπτυξη του λογισµικού Περιγράφουν τον τρόπο που η ανάπτυξη του λογισµικού γίνεται στην πραγµατικότητα Κοινή κατανόηση δραστηριοτήτων πόρων και περιορισµών που χαρακτηρίζουν την ανάπτυξη λογισµικού. Εντοπισµός ασυνεπειών, πλεονασµών και παραλείψεων που υπάρχουν στη διεργασία. Κάθε µοντέλο διεργασίας ανάπτυξης λογισµικού περιλαµβάνει απαιτήσεις του συστήµατος σαν είσοδο και παραδοτέο προιόν σαν έξοδο. ΣΥΝΤΗΡΗΣΗ ΠΑΡΑ ΟΣΗ ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ΠΡΟΓΡΑΜΜΑΤΩΝ ΕΝΟΠΟΙΗΣΗΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΜΟΝΑ ΩΝ ΥΛΟΠΟΙΗΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ 5

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ΗΜΙΟΥΡΓΙΑ ΠΡΩΤΟΤΥΠΩΝ ΠΡΟΓΡΑΜΜΑΤΩΝ ΚΩ ΙΚΟΠΟΙΗΣΗ ΜΟΝΑ ΩΝ ΚΑΙ ΕΝΟΠΟΙΗΣΗΣ Μοντέλο Καταρράκτη ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ Το Μοντέλο V ΠΡΟΓΡΑΜΜΑΤΩΝ Επικύρωση προδιαγραφών Επαλήθευση σχεδίασης ΜΟΝΑ ΩΝ ΚΑΙ ΕΝΟΠΟΙΗΣΗΣ ΛΕΙΤΟΥΡΓΙΑ ΚΑΙ ΣΥΝΤΗΡΗΣΗ ΑΠΟ ΟΧΗΣ ΑΠΟ ΟΧΗΣ ΛΕΙΤΟΥΡΓΙΑ ΚΑΙ ΣΥΝΤΗΡΗΣΗ ΚΩ ΙΚΟΠΟΙΗΣΗ Το Μοντέλο Προτυποποίησης Μοντέλο Λειτουργικών Προδιαγραφών ΛΙΣΤΑ ΑΝΑΘΕΩΡΗΣΕΩΝ Αναθεώρηση πρωτοτύπου Εξέταση Χρήστη/ πελάτη ΛΙΣΤΑ ΑΝΑΘΕΩΡΗΣΕΩΝ ΛΙΣΤΑ ΑΝΑΘΕΩΡΗΣΕΩΝ Εκτέλεση και Αναθεώρηση ΠΡΟ ΙΑΓΡΑΦΕΣ ΠΡΩΤΟΤΥΠΟΥ ΣΧΕ ΙΑΣΜΟΣ ΠΡΩΤΟΤΥΠΟΥ ΠΡΩΤΟΤΥΠΟ ΣΥΣΤΗΜΑ ΛΕΙΤΟΥΡΓΙΚΗ ΠΡΟ ΙΑΓΡΑΦΗ (προσανατολισµένες Στο πρόβληµα) ΜΕΤΑΣΧΗΜΑΤΙΣΜΕΝΗ ΠΡΟ ΙΑΓΡΑΦΗ (προσανατολισµένη Στην υλοποίηση) ΠΡΟ ΙΑΓΡΑΦΕΣ (µερικές φορές Πρόχειρες ή ελλειπείς) ΣΥΣΤΗΜΑ ΠΟΥ ΠΑΡΑ Ι ΕΤΑΙ ΠΡΟ ΙΑΓΡΑΦΕΣ (µερικές φορές Πρόχειρες ή ελλιπείς) ΣΥΣΤΗΜΑ ΠΟΥ ΠΑΡΑ Ι ΕΤΑΙ 6

Μοντέλο Μετασχηµατισµού Μοντέλο Ανάπτυξης σε φάσεις Σύγκριση µε προδιαγραφέ; Ενηµέρωση αν χρειάζεται ΚΑΤΑΓΡΑΦΗ ΤΥΠΙΚΗΣ ΙΕΡΓΑΣΙΑΣ ΑΝΑΠΤΥΞΗΣ Ακολουθία µετασχηµατισµών και Αιτιολογία γι αυτούς ΗΜΙΟΥΡΓΟΙ ανάπτυξης 1 Συστήµατα Ανάπτυξης ανάπτυξης 2 Ανάπτυξης 3 Ν-οστός ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ.. Χρόνος ΤΥΠΙΚΗ ΠΡΟ ΙΑΓΡΑΦΗ 2ος ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ 1ος ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΧΡΗΣΤΕΣ Χρήστη 1 Χρήστη 2 Συστήµατα Παραγωγής Χρήστη 3 ΠΡΟ ΙΑΓΡΑΦΕΣ (µερικές φορές Πρόχειρες ή ελλιπείς) ΣΥΣΤΗΜΑ ΠΟΥ ΠΑΡΑ Ι ΕΤΑΙ Μοντέλα Αυξητικής και Επαναληπτικής Ανάπτυξης Το Σπειροειδές Μοντέλο ΑΥΞΗΤΙΚΗ ΑΝΑΠΤΥΞΗ ΚΑΘΟΡΙΣΜΟΣ ΣΤΟΧΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΛΥΣΕΩΝ ΠΕΡΙΟΡΙΣΜΩΝ Περιορισµοί 4 Ανάλυση κινδύνων 4 ΑΞΙΟΛΟΓΗΣΗ ΕΝΑΛΛΑΚΤΙΚΩΝ ΛΥΣΕΩΝ ΚΑΙ ΚΙΝ ΥΝΩΝ ΕΠΑΝΑΛΗΠΤΙΚΗ ΑΝΑΠΤΥΞΗ Προυπο λογισµός 4 ΠΛΑΝΟ Εναλλακτικά 4 Προυπο λογισµός 3 Εναλλακτικά 3 Ενοποίηση και πλάνο δοκιµών Προυπο λογισµός 2 Πλάνο ανάπτυξης Εναλλακτικά 2 start Περιορισµοί 3 Εναλλακτικά 1 Προυπο λογισµός 1 Περιορισµοί 2 Περιορισµοί 1 Προδιαγραφές, σχέδιο κύκλου ζωής Πλάνο υλοποίησης Ανάλυση κινδύνων 3 Ανάλυση κινδύνων 2 Ανάλυση κινδύνων 1 Πρωτότυπο 1 Αρχές λειτουργίας Επικυρωµένες προδιαγραφές Πρωτό τυπο 2 Προδιαγραφές Λογισµικού Επικυρωµένο/επαληθευµένο σχέδιο Πρωτό τυπο 3 Σχεδίαση Λογισµικού οκιµή λειτουργικών µονάδων Πρωτό τυπο 4 Λεπτοµερής σχεδίαση Κωδικο ποίηση οκιµή Συστήµατος οκιµή αποδοχής ΑΝΑΠΤΥΞΗ & ΟΚΙΜΕΣ 7

Rational Unified Process Model Driven Architecture Κίνητρα για Μοντελοποίηση ιεργασιών Για να σχηµατιστεί κοινή αντίληψη του πως θα διεξαχθεί η ανάπτυξη του λογισµικού Για να βρεθούν ασυνέπειες, παραλείψεις καθώς και περιττά στοιχεία Για να βρεθούν και να επαληθευθούν δραστηριότητες που οδηγούν στην επίτευξη του στόχου της διεργασίας (π.χ. Λογισµικό υψηλής ακρίβειας) Για να προσαρµοστεί µια γενικότερη διεργασία στη συγκεκριµένη κατάστασηπουθαχρησιµοποιηθεί Πρακτική µοντελοποίηση διεργασιών Η µοντελοποίηση των διεργασιών προσφέρει πολλά πλεονεκτήµατα για κατανόηση των διεργασιών και ανακάλυψη ασυνεπειών Ειδικές γλώσσες βοηθούν στον ορισµό και την εκτέλεση των διεργασιών, όπως η γλώσσα προσδιορισµού Marvel (Marvel Specification Language, MSL) Τα µοντέλα διεργασιών είναι ιδιαίτερα χρήσιµα για συνεργασία στα πλαίσια µιας οµάδας εργασίας. 8

Μια διεργασία περιλαµβάνει: Όλες τις κύριες δραστηριότητες Τους πόρους που χρησιµοποιούνται καθώς και τους περιορισµούς τους (όπως είναι το χρονοδιάγραµµα) Ενδιάµεσα και τελικά προϊόντα Υποδιεργασίες και ιεραρχίες ή συνδέσεις µεταξύ τους Κριτήρια εισόδου και εξόδου για κάθε δραστηριότητα Σειρά δραστηριοτήτων ώστε ο χρονισµός να είναι ξεκάθαρος Οδηγίες συµπεριλαµβανοµένωντωνστόχωντηςκάθε δραστηριότητας Περιορισµούς για κάθε δραστηριότητα, πόροήπροιόν Εργαλεία και Τεχνικές για µοντελοποίηση διεργασιών ΕπιλογήΓλώσσαςήΣηµειολογίας Ένα στατικό µοντέλο αναπαριστά τη διεργασία δείχνοντας οτι οι είσοδοι µετατρέπονται σε εξόδους Ένα δυναµικό µοντέλο µπορεί να εκτελέσει τη διεργασία ώστε οχρήστηςναµπορείναδείπωςταενδιάµεσα και τελικά προϊόντα µετασχηµατίζονται µε την πάροδο του χρόνου Στατική Μοντελοποίηση: Σηµειολογία του Lai Φόρµες ορισµού περιέχουν πληροφορίες σχετικά µε την πληρότητα κάθε αντικειµένου σε κάποιο χρόνο ιαγράµµατα µετάβασης δείχνουν πως οι καταστάσεις σχετίζονται µεταξύ τους. Φόρµα Ορισµού και ιάγραµµα Μετάβασης Σταθµευµένο: ((state_of(car.engine) = off) (state_of(car.gear) = park) (state_of(car.speed) = stand)) εκκίνηση ΣΕ ΛΕΙΤΟΥΡΓΙΑ ΣΤΑΘΜΕΥΜΕΝΟ έξοδος στάση κίνηση ΣΕ ΚΙΝΗΣΗ 9

υναµική Μοντελοποίηση: υναµική Συστηµάτων Παραδείγµατα µοντέλων διεργασιών λογισµικού Προσοµοίωση της διεργασίας ώστε οτιδήποτε αλλαγές να γίνουν πριν διατεθούν οι απαιτούµενοι πόροι. Μελετώνται οι παράγοντες που επηρεάζουν τη συνολική παραγωγικότητα Προσδιορίζονται (ποσοτικοποιηµένες) σχέσεις (συνδέσεις) µεταξύ των παραγόντων. Τα µοντέλα δυναµικής συστηµάτων υποστηρίζονται από λογισµικό που προσοµοιώνει τη συνολική διεργασία Το µοντέλο καταρράκτη ηµιουργία πρωτοτύπων Το µοντέλο V Λειτουργικές προδιαγραφές Μοντέλο µετασχηµατισµού Ανάπτυξη σε φάσεις: αυξητική και επαναληπτική ανάπτυξη Το σπειροειδές µοντέλο Εργαλεία και Τεχνικές για Μοντελοποίηση ιεργασιών Παράδειγµα: Η σηµειολογία Lai ραστηριότητα Ακολουθία Μοντέλο ιεργασίας Πόρος έλεγχος Πολιτική Οργανισµός N ame Synopsis Complexity type Data type Artifact-state list p arked initiated moving Sub-artifact list Relations list car-key car-driver Table 2.1. A rtifact definition form for artifact car (L ai 1991). Car This is the artifact that represents a class of cars. Composite (car_c, user-defined) ((state_of(car.engine) = off) (state_of(car.gear) = park) (state_of(car.speed) = stand)) ((state_of(car.engine) = on) (state_of(car.key_hole) = haskey) (state_of(car-driver(car.)) = in-car) (state_of(car.gear) = drive) (state_of(car.speed) = stand)) ((state_of(car.engine) = on) (state_of(car.keyhole) = haskey) (state_of(car-driver(car.)) = driving) ((state_of(car.gear) = drive) or (state_of(car.gear) = reverse)) ((state_of(car.speed) = stand) or (state_of(car.speed) = slow) or (state_of(car.speed) = medium) or (state_of(car.speed) = high)) doors engine keyhole gear speed Car is not moving, and engine is not running. Car is not moving, but the engine is running Car is moving forward or backward. The four doors of a car. The engine of a car. The ignition keyhole of a car. The gear of a car. The speed of a car. This is the relation between a car and a key. This is the relation between a car and a driver. 10

υναµικά µοντέλα διεργασιών Γλώσσα προσδιορισµού Marvel Καθιστούν δυνατή την εκτέλεση της διεργασίας για να εξεταστεί τι συµβαίνει στους πόρους και στις οντότητες του συστήµατος καθώς συµβαίνουν οι διάφορες δραστηριότητες Προσοµοίωση εναλλακτικών επιλογών και υλοποίηση αλλαγών για βελτίωση της διεργασίας Παράδειγµα: Μοντέλα δυναµικής συστηµάτων Τρία βασικά δοµικά στοιχεία: κλάσεις (classes), κανόνες (rules), και φακέλους εργαλείων (tool envelopes) Η διεργασία περιγράφεται από τρία µέρη: Ησυµπεριφορά της διεργασίας προσδιορίζεται από κανόνες Αντικειµενοστραφής ορισµόςτης διεργασίας πληροφοριών του µοντέλου Σύνολο φακέλων διασύνδεσης µεταξύ της γλώσσας Marvel και των εξωτερικών εργαλείων λογισµικού που χρησιµοποιούνται για την εκτέλεση της διεργασίας Παράδειγµα σεmarvel T I C K E T : : s u p e r c l a s s E N T I T Y s t a t u s : ( i n i t i a l, o p e n, r e f e r r e d _ o u t, r e f e r r a l _ d o n e, diagnostics level description referred_to referrals process end closed, fixed) = initial; : (terminal, non_terminal, none) = none; : integer; : text; : link WORKCENTER; : set_of link TICKET; : link PROC_INST; diagnose [?t: TICKET]: (exists PROC_INST?p suchthat (linkto [?t.process?p])) : (and (?t.status = open}(?t.diagnostics = none)) {TICKET_UTIL diagnose?t.name} (and (?t.diagnostics = terminal) (?p.last_task = diagnose) (?p.next_task = refer_to_wc3)); (and (?t.diagnostics = non_terminal) (?p.last_task = diagnose) (?p.next_task = refer_to_wc2)); Class definition for trouble tickets Rul e for diagnosing ticket 11