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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ÂÚÈÂ 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 Εισαγωγή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

κώστας βεργίδης εισαγωγή στις βασικές έννοιες των επιχειρησιακών διεργασιών γραφείο 322 κτίριο Γ

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

ΜΑΡΚΕΤΙΝΓΚ & ΠΕΡΙΒΑΛΛΟΝ

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

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

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

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

Transcript:

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

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

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

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

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

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

υναµική Μοντελοποίηση: υναµική Συστηµάτων Παραδείγµατα µοντέλων διεργασιών λογισµικού Προσοµοίωση της διεργασίας ώστε οτιδήποτε αλλαγές να γίνουν πριν διατεθούν οι απαιτούµενοι πόροι. Μελετώνται οι παράγοντες που επηρεάζουν τη συνολική παραγωγικότητα Προσδιορίζονται (ποσοτικοποιηµένες) σχέσεις (συνδέσεις) µεταξύ των παραγόντων. Τα µοντέλα δυναµικής συστηµάτων υποστηρίζονται από λογισµικό που προσοµοιώνει τη συνολική διεργασία Το µοντέλο καταρράκτη ηµιουργία πρωτοτύπων Το µοντέλο V Λειτουργικές προδιαγραφές Μοντέλο µετασχηµατισµού Ανάπτυξη σε φάσεις: αυξητική και επαναληπτική ανάπτυξη Το σπειροειδές µοντέλο Εργαλεία και Τεχνικές για Μοντελοποίηση ιεργασιών Παράδειγµα: Η σηµειολογία Lai ραστηριότητα Ακολουθία Μοντέλο ιεργασίας Πόρος έλεγχος Πολιτική Οργανισµός Table 2.1. Artifact definition form for artifact car (Lai 1991). Name Car Synopsis This is the artifact that represents a class of cars. Com plexity type Composite Data type (car_c, user-defined) Artifact-state list p arked ((state_of(car.engine) = off) Car is not moving, and engine (state_of(car.gear) = park) is not running. (state_of(car.speed) = stand)) initiated ((state_of(car.engine) = on) Car is not moving, but the (state_of(car.key_hole) = haskey) engine is running (state_of(car-driver(car.)) = in-car) (state_of(car.gear) = drive) (state_of(car.speed) = stand)) moving ((state_of(car.engine) = on) Car is moving forward or (state_of(car.keyhole) = haskey) backward. (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)) Sub-artifact list doors The four doors of a car. engine The engine of a car. keyhole The ignition keyhole of a car. gear The gear of a car. speed The speed of a car. Relations list car-key This is the relation between a car and a key. car-driver This is the relation between a car and a driver. υναµικά µοντέλα διεργασιών Γλώσσα προσδιορισµού Marvel Καθιστούν δυνατή την εκτέλεση της διεργασίας για να εξεταστεί τι συµβαίνει στους πόρους και στις οντότητες του συστήµατος καθώς συµβαίνουν οι διάφορες δραστηριότητες Προσοµοίωση εναλλακτικών επιλογών και υλοποίηση αλλαγών για βελτίωση της διεργασίας Παράδειγµα: Μοντέλα δυναµικής συστηµάτων Τρία βασικά δοµικά στοιχεία: κλάσεις (classes), κανόνες (rules), και φακέλους εργαλείων (tool envelopes) Η διεργασία περιγράφεται από τρία µέρη: Η συµπεριφορά της διεργασίας προσδιορίζεται από κανόνες Αντικειµενοστραφής ορισµόςτης διεργασίας πληροφοριών του µοντέλου Σύνολο φακέλων διασύνδεσης µεταξύ της γλώσσας Marvel και των εξωτερικών εργαλείων λογισµικού που χρησιµοποιούνται για την εκτέλεση της διεργασίας 7

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, Παράδειγµα σεmarvel 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 8