PROGRAMMES DU CENTRE CULTUREL DE SERBIE 2008 - PROGRAMI KULTURNOG CENTRA SRBIJE 2008.
ΜΕΛΈΣΗ ΠΕΡΊΠΣΨΗ ΜΙΣΘΟΔΟΣΊΑ...
Transcript of ΜΕΛΈΣΗ ΠΕΡΊΠΣΨΗ ΜΙΣΘΟΔΟΣΊΑ...
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
ΜΕΛΈΣΗ ΠΕΡΊΠΣΨΗ
ΜΙΣΘΟΔΟΣΊΑ ΥΠΑΛΛΉΛΩΝ
Π. Υιτσιλής
Εισαγωγή στην ICONIX
Οι απαιτήσεις της μελέτης περίπτωσης
Υάση 1- Βήμα 1. Αναπαράσταση πεδίου
προβλήματος
Υάση 1- Βήμα 2. χεδίαση περιπτώσεων χρήσης
ΠΕΡΙΕΦΜΕΝΑ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
H ΜΕΘΟΔΟΛΟΓΊΑ ICONIX
Η ΓΛΑ UML
Η UML είναι μια γλώσσα για
Οπτικοποίηση του συστήματος(visualisation)
Δημιουργία προδιαγραφών (specifications)
Κατασκευή του συστήματος (construction)
Σεκμηρίωση του συστήματος (documentation)
5
Ο ΚΌΚΛΟ ΖΨΉ ΛΟΓΙΜΙΚΟΌ
ΕΡΓΑΣΙΕΣ
Πποδιαγπαθέρ
Έλεγσορ
Υλοποίηζη
Ανάλςζη και ζσεδίαζη
Μονηελοποίηζη
επισειπημαηικών διαδικαζιών
Σύλλητη Επεξεπγαζία Καηαζκεςή Μεηάβαζη
ΦΑΣΕΙΣ
Διάηαξη
Διοίκηζη Σσημαηιζμών
Διασείπιζη Έπγος
Πεπιβάλλον
ΦΑΡΑΚΣΗΡΙΣΙΚΆ ΣΗ ICONIX
Είναι απλούστερη και συντομότερη από την Rational Unified Process (RUP),
Τιοθετεί την UML ως γλώσσα έκφρασης των απαιτήσεων και των προδιαγραφών του υπό σχεδίαση λογισμικού,
Είναι «καθοδηγούμενη από τις περιπτώσεις χρήσης», αποφεύγει την πληθώρα μοντέλων χωρίς να παραλείπει τις
διαδικασίες ανάλυσης και σχεδιασμού, Παρέχει σε κάθε βήμα τη δυνατότητα ανίχνευσης του βαθμού
υλοποίησης των απαιτήσεων – δεν επιτρέπει σε κανένα σημείο την απομάκρυνση από τις ανάγκες του χρήστη,
Είναι επαναληπτική και αυξητική – το στατικό μοντέλο εκλεπτύνεται καθώς αναλύεται το δυναμικό μοντέλο – χωρίς να επιφέρει μεγάλη διαχειριστική επιβάρυνση
6
ΔΙΑΓΡΆΜΜΑΣΑ ICONIX
Για να εφαρμόσουμε την ICONIX θα χρησιμοποιήσουμε μόνο τέσσερα UML διαγράμματα: Διάγραμμα περιπτώσεων χρήσης για να αναπαραστήσουμε
τα σενάρια χρήσης και τους χειριστές του συστήματος Διάγραμμα κλάσεων για να αναπαραστήσουμε το πεδίο
εφαρμογής του συστήματος αλλά και τη λεπτομερή στατική δομή του συστήματος
Διάγραμμα ευρωστίας (μια παραλλαγή του διαγράμματος συνεργασίας) για να αναπαραστήσουμε ένα προκαταρκτικό σχέδιο υλοποίησης των σεναρίων χρήσης του συστήματος –καλύπτουν το κενό μεταξύ ανάλυσης απαιτήσεων και αναλυτικού σχεδίου
Διάγραμμα ακολουθίας για να συσχετίσουμε λεπτομερώς τη δυναμική συμπεριφορά με τη στατική δομή του συστήματος
7
ΔΙΑΓΡΆΜΜΑΣΑ ICONIX
ΥποςύνολοICONIX
UML
Διαγράμματα ςυνεργαςίασ
Διαγράμματα δραςτηριοτήτων
Διαγράμματα διάταξησ
Διαγράμματα ςυςτατικών
Διαγράμματα καταςτάςεων
Διαγράμματα αντικειμένων
Διαγράμματα κλάςεων
Διαγράμματα ΠεριπτώςεωνΧρήςησ
Διαγράμματα ευρωςτίασ
Διαγράμματα ακολουθίασ
Ο ΒΑΙΚ ΣΦΟ ΣΗ ICONIX
9
ΑΡΦΙΚ ΗΜΕΊΟ = GUI PROTOTYPE Ή UI SCREENS + ΠΡΣΕ ΙΔΈΕ
ΣΟΤ ΣΙ ΠΡΈΠΕΙ ΝΑ ΚΆΝΕΙ ΣΟ ΌΣΗΜΑ
10
ΣΑ ΔΙΑΓΡΆΜΜΑΣΑ ΚΛΆΕΨΝ ΚΑΘΟΡΊΖΟΤΝ ΣΗ
ΔΟΜΉ ΣΟΤ ΚΔΙΚΑ
11
ΣΑ ΔΙΑΓΡΆΜΜΑΣΑ ΑΚΟΛΟΤΘΊΑ ΜΑ ΒΟΗΘΟΌΝ
ΣΗΝ ΚΑΣΑΝΟΜΉ ΣΨΝ ΛΕΙΣΟΤΡΓΙΝ ΣΙ
ΚΛΆΕΙ
12
ΣΑ ΔΙΑΓΡΆΜΜΑΣΑ ΕΤΡΨΣΊΑ ΔΙΕΤΚΟΛΌΝΟΤΝ ΣΗ ΜΕΣΆΒΑΗ ΑΠ
ΣΙ ΠΕΡΙΠΣΕΙ ΦΡΉΗ ΣΑ ΔΙΑΓΡΆΜΜΑΣΑ ΑΚΟΛΟΤΘΊΑ
13
Η ΑΝΑΠΑΡΆΣΑΗ ΣΟΤ ΠΕΔΊΟΤ ΕΥΑΡΜΟΓΉ (DOMAIN MODEL)
ΚΑΙ Η ΦΡΉΗ ΣΨΝ ΕΝΝΟΙΝ ΣΟΤ ΣΗΝ ΠΕΡΙΓΡΑΥΉ ΣΨΝ
ΠΕΡΙΠΣΕΨΝ ΦΡΉΗ ΕΛΑΦΙΣΟΠΟΙΟΌΝ ΣΙ ΑΆΥΕΙΕ
14
Η ΤΝΟΛΙΚΉ ΕΙΚΝΑ ΣΗ ICONIX
15
Διάγραμμα ΠεριπτώςεωνΧρήςησ Διάγραμμα Ακολουθίασ
Διάγραμμα Ευρωςτίασ
Δυναμικόμοντέλο
Διάγραμμα ΚλάςεωνΠεδίου Εφαρμογήσ
ΕνημερωμένοΔιάγραμμα Κλάςεων
Πεδίου Εφαρμογήσ
ΑναλυτικόΔιάγραμμα Κλάςεων
Σχεδίαςησ
Στατικόμοντέλο
Πρωτότυπο
Test1
Test1
Test1
Κώδικασ
ΒΉΜΑΣΑ ICONIX
Βήμα 1. Ανάλυση απαιτήσεων Αναπαράσταση πεδίου εφαρμογής (Domain Model) Πρωτότυπο βασικών οθονών του συστήματος (όταν χρειάζεται) χεδίαση περιπτώσεων χρήσης
ημείο ελέγχου 1. Επισκόπηση απαιτήσεων
Βήμα 2. Ανάλυση και προκαταρκτικός σχεδιασμός Δημιουργία διαγραμμάτων ευρωστίας Ενημέρωση μοντέλων πεδίου εφαρμογής και περιπτώσεων χρήσης
ημείο ελέγχου 2. Προκαταρκτική επισκόπηση σχεδιασμού
Βήμα 3. Λεπτομερής σχεδιασμός (Design Model) Δημιουργία διαγραμμάτων ακολουθίας Ενημέρωση διαγραμμάτων κλάσεων με σχεδιαστικές λεπτομέρειες
ημείο ελέγχου 3. Κρίσιμη επισκόπηση σχεδιασμού
Βήμα 4. Τλοποίηση κώδικα, έλεγχος και ολοκλήρωση ημείο ελέγχου 4. Παράδοση συστήματος
16
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
ΟΙ ΑΠΑΙΣΉΕΙ ΣΗ ΜΕΛΈΣΗ
ΠΕΡΊΠΣΨΗ
ΑΠΑΙΣΉΕΙ ΣΗ ΕΥΑΡΜΟΓΉ - 1
Οι εργαζόμενοι της εταιρείας είναι δυο κατηγοριών: Πλήρους απασχόλησης και Μερικής απασχόλησης
Μια ειδική κατηγορία εργαζομένων πλήρους απασχόλησης είναι οι πωλητές.
Η πληρωμή των εργαζομένων πλήρους απασχόλησης γίνεται με βάση το μηνιαίο μισθό λαμβάνοντας υπόψη τις ημέρες απουσίας.
Η πληρωμή των εργαζομένων μερικής απασχόλησης γίνεται με βάση τις πραγματικές ώρες εργασίας και το ωρομίσθιο του κάθε εργαζομένου.
Oι πωλητές, λαμβάνουν εκτός από το μηνιαίο μισθό πρόσθετη αμοιβή (bonus) η οποία εξαρτάται από το συνολικό ποσό των παραγγελιών που
έλαβαν για τη δεδομένη χρονική περίοδο. Έτσι ένας πωλητής λαμβάνει επιπλέον 5% του μισθού του, σε εβδομαδιαία βάση, εάν οι παραγγελίες
που έλαβε είναι μικρότερες των 10.000 €. επιπλέον 7% του μισθού του, σε εβδομαδιαία βάση, εάν οι παραγγελίες
που έλαβε είναι περισσότερες των 10.000 € και λιγότερες των 20.000 €. Για παραγγελίες μεγαλύτερες των 20.000 € λαμβάνουν επιπλέον 10%
του μισθού τους σε εβδομαδιαία βάση.
ΑΠΑΙΣΉΕΙ ΣΗ ΕΥΑΡΜΟΓΉ - 2
Οι εργαζόμενοι πλήρους απασχόλησης λαμβάνουν υπερωρίες. Ως υπερωρία θεωρείτε η εργασία μετά τις 8 ώρες ημερησίως, η οποία αμείβεται με το ωρομίσθιο του κάθε εργαζομένου προσαυξημένο κατά 50%. Οι υπερωρίες υπολογίζονται σε ημερήσια βάση.
Για την ακριβή καταγραφή των ωρών εργασίας των εργαζομένων, η εταιρεία έχει εγκαταστήσει σύστημα «Ελέγχου Προσέλευσης/Αποχώρησης Εργαζομένων», το οποίο καταγράφει την ώρα προσέλευσης και αποχώρησης του κάθε εργαζομένου.
Κάθε εργαζόμενος έχει μια κάρτα εισόδου η οποία χρησιμοποιείται για την καταγραφή της ώρας προσέλευσης και αναχώρησης.
Ο υπεύθυνος μισθοδοσίας έχει την αρμοδιότητα εισαγωγής, διαγραφής και τροποποίησης των στοιχείων των εργαζομένων.
Ο υπεύθυνος μισθοδοσίας έχει την αρμοδιότητα παραγωγής μισθοδοσίας. Σο σύστημα θα πρέπει να διαθέτει δυνατότητα παραγωγής εκτυπώσεων τόσο ανά εργαζόμενο
όσο και συγκεντρωτικές. Πιο συγκεκριμένα θα πρέπει να παράγει Υύλλο μισθοδοσίας ανά εργαζόμενο υγκεντρωτική μισθοδοσία για όλη την εταιρεία Παραγγελίες ανά εργαζόμενο
Σόσο, τα δεδομένα της μισθοδοσίας όσο και τα στοιχεία των υπαλλήλων θα αποθηκεύονται σε ΒΔ. Όταν ξεκινά η εφαρμογή θα πρέπει να διαβάζεται αυτόματα η πληροφορία των υπαλλήλων από τη ΒΔ και να δημιουργούνται τα κατάλληλα αντικείμενα (υπαλλήλων, κάρτας εισόδου, κ.ο.κ).
ΠΑΡΑΔΟΦΈ ΠΟΤ ΚΆΝΟΤΜΕ
Κάθε εργαζόμενος έχει μια κάρτα εισόδου η οποία χρησιμοποιείται για την καταγραφή της ώρας προσέλευσης και αναχώρησης. Για την καταγραφή θα πρέπει να εξομοιωθεί η λειτουργία ενός αναγνώστη κάρτας καθώς και η προσέλευση/αναχώρηση των υπαλλήλων. Ο αναγνώστης κάρτας κάθε ημέρα και για κάθε υπάλληλο δέχεται δύο μηνύματα: Προσέλευση και Αναχώρηση. Κατά την προσέλευση η χρονική στιγμή εισαγωγής της κάρτας θα ορίζεται με τυχαίο τρόπο για το χρονικό διάστημα από 8:00 έως 8:15. Κατά την αναχώρηση η χρονική στιγμή εισαγωγής της κάρτας θα ορίζεται με τυχαίο τρόπο για το χρονικό διάστημα από 16:00 έως 16:30.
Σο σύστημα «Ελέγχου Προσέλευσης/Αποχώρησης Εργαζομένων» αν και συνεργάζεται με το σύστημα μισθοδοσίας δεν αποτελεί τμήμα του.
Η εφαρμογή που παρουσιάζεται καταγράφει τους χρόνους εργασίας όλων των υπαλλήλων για τις εργάσιμες μέρες ενός μήνα. Για την απλοποίηση της λογικής υποθέτουμε πως δεν υπάρχουν απουσίες υπαλλήλων στη διάρκεια του μήνα και πως οι ωρομίσθιοι πληρώνονται στο τέλος κάθε μήνα.
την παρούσα μελέτη περίπτωσης δε θα ασχοληθούμε με τη διεπαφή του συστήματος με το χρήστη (graphical user interface) στο επίπεδο του κώδικα. Αν και το παράδειγμα, περιλαμβάνει γραφικές οθόνες (διαχείριση παραγγελιών) σκοπός είναι να παρουσιασθεί ο τρόπος με τον οποίο κάνουμε την πρωτοτυποποίηση του συστήματος και αναπτύσσουμε τη διεπαφή με το χρήστη. Για το λόγο αυτό δε δίνεται ιδιαίτερη έμφαση στην επεξήγηση των τεχνικών χαρακτηριστικών που σχετίζονται με την ανάπτυξη του GUI.
Η παρούσα μελέτη περίπτωσης δεν έχει περιορισμούς εισόδου (login, password). υνεπώς η λειτουργικότητα που παρουσιάζεται είναι κοινή για όλους τους χρήστες.
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
ΥΆΗ 1- ΒΉΜΑ 1. ΑΝΑΠΑΡΆΣΑΗ
ΠΕΔΊΟΤ ΠΡΟΒΛΉΜΑΣΟ
ΥΆΗ 1- ΒΉΜΑ 1. ΑΝΑΠΑΡΆΣΑΗ ΠΕΔΊΟΤ
ΠΡΟΒΛΉΜΑΣΟ
τόχος του πρώτου βήματος της μεθοδολογίας ICONIX είναι η ανάπτυξη του αρχικού διαγράμματος κλάσεων του συστήματος από το μοντέλο του πεδίου προβλήματος.
Ένας από τους πιο απλούς τρόπους για την εύρεση των κλάσεων του πεδίου προβλήματος είναι η μελέτη των απαιτήσεων. Μερικοί απλοί κανόνες που βοηθούν είναι: Σα ουσιαστικά αντιστοιχούν σε κλάσεις ή πεδία κλάσεων. Σα ρήματα ή οι φράσεις που δίνουν ενέργεια γίνονται μέθοδοι
ή/και συσχετίσεις (associations). Οι κτητικές φράσεις συνήθως περιγράφουν ιδιότητες/πεδία
των κλάσεων και συσχετίσεις.
ΕΌΡΕΗ ΚΛΆΕΨΝ
Οι εργαζόμενοι της εταιρείας είναι δυο κατηγοριών: Πλήρους απασχόλησης και Μερικής απασχόλησης Μια ειδική κατηγορία εργαζομένων πλήρους απασχόλησης είναι οι πωλητές.
Η πληρωμή των εργαζομένων πλήρους απασχόλησης γίνεται με βάση το μηνιαίο μισθόλαμβάνοντας υπόψη τις ημέρες απουσίας.
Η πληρωμή των εργαζομένων μερικής απασχόλησης γίνεται με βάση τις πραγματικές ώρες εργασίας και το ωρομίσθιο του κάθε εργαζομένου.
Oι πωλητές, λαμβάνουν εκτός από το μηνιαίο μισθό πρόσθετη αμοιβή (bonus) η οποία εξαρτάται από το συνολικό ποσό των παραγγελιών που έλαβαν για τη δεδομένη χρονική περίοδο. Έτσι ένας πωλητής λαμβάνει: επιπλέον 5% του μισθού του, σε εβδομαδιαία βάση, εάν οι παραγγελίες που έλαβε είναι μικρότερες
των 10.000 €. ….
Οι εργαζόμενοι πλήρους απασχόλησης λαμβάνουν υπερωρίες. Ως υπερωρία θεωρείται η εργασία μετά τις 8 ώρες ημερησίως, η οποία αμείβεται με το ωρομίσθιο του κάθε εργαζομένου προσαυξημένο κατά 50%. Οι υπερωρίες υπολογίζονται σε ημερήσια βάση.
…..
ΞΕΚΑΘΆΡΙΜΑ ΕΝΝΟΙΝ/1Ουσιαστικό Σκεπτικό
Εργαηόμενοσ Είναι βαςικι οντότθτα του ςυςτιματοσ.
Εργαηόμενοσ πλιρουσ
απαςχόλθςθσ
Είναι βαςικι οντότθτα του ςυςτιματοσ.
Εργαηόμενοσ μερικισ
απαςχόλθςθσ
Είναι βαςικι οντότθτα του ςυςτιματοσ.
Πωλθτισ Είναι βαςικι οντότθτα του ςυςτιματοσ.
Μιςκόσ Είναι πεδίο τθσ οντότθτασ του εργαηομζνου. Λογικά μιςκό κα πρζπει να ζχουν οι
πωλθτζσ και οι πλιρουσ απαςχόλθςθσ εργαηόμενοι.
Ημζρα απουςίασ Είναι πεδίο τθσ οντότθτασ του εργαηομζνου.
Ώρα εργαςίασ Είναι πεδίο. Θα πρζπει να ςχετίηεται με τουσ εργαηόμενουσ.
Ωρομίςκιο Είναι πεδίο του εργαηομζνου μερικισ απαςχόλθςθσ.
Υπερωρία Είναι πεδίο του εργαηομζνου πλιρουσ απαςχόλθςθσ.
Πρόςκετθ αμοιβι Είναι πεδίο του πωλθτι.
Παραγγελία Είναι οντότθτα του ςυςτιματοσ. Αν και δεν αναφζρεται ςαφώσ κάκε παραγγελία
ςχετίηεται με προϊόντα.
ΞΕΚΑΘΆΡΙΜΑ ΕΝΝΟΙΝ/2
Ουσιαστικό Σκεπτικό
Ποςό παραγγελιών Είναι πεδίο τθσ παραγγελίασ.
Χρονικι περίοδοσ Αναφζρεται ςτθν περίοδο υπολογιςμοφ τθσ μιςκοδοςίασ. Στθ γενικι περίπτωςθ κα μποροφςε να είναι
ανεξάρτθτθ οντότθτα.
Κάρτα ειςόδου Βαςικι οντότθτα του ςυςτιματοσ. Υπάρχει μια κάρτα ειςόδου ανά εργαηόμενο. Εμμζςωσ πλθν ςαφώσ θ
κάρτα ειςόδου ςχετίηεται άμεςα με τον αναγνώςτθ καρτών, ςυςκευι απαραίτθτθ για τθ λειτουργία τθσ.
Ώρα προςζλευςθσ Είναι πεδίο που ςχετίηεται με τθν είςοδο του εργαηομζνου ςτθν εταιρεία. Θα πρζπει να δθμιουργοφμε μια
εγγραφι για κάκε είςοδο του εργαηομζνου.
Ώρα αποχώρθςθσ Είναι πεδίο που ςχετίηεται με τθν ζξοδο του εργαηομζνου ςτθν εταιρεία. Θα πρζπει να δθμιουργοφμε μια
εγγραφι για κάκε είςοδο του εργαηομζνου.
Υπεφκυνοσ μιςκοδοςίασ Είναι ρόλοσ του ςυςτιματοσ. Δεδομζνθσ τθσ παραδοχισ που ζγινε ςτθν παροφςα μελζτθ περίπτωςθσ ότι
«δεν υπάρχουν περιοριςμοί ειςόδου (login, password).
Μιςκοδοςία Βαςικι οντότθτα του ςυςτιματοσ.
Στοιχεία εργαηομζνου Πεδία τθσ κλάςεωσ εργαηόμενοσ.
Σφςτθμα Το υπό ανάπτυξθ ςφςτθμα.
Δεδομζνα μιςκοδοςίασ Πεδία τθσ οντότθτα μιςκοδοςίασ.
Στοιχεία υπαλλιλων Συνώνυμο του «ςτοιχεία εργαηομζνου».
ΕΝΈΡΓΕΙΕ ΠΟΤ ΘΑ ΠΡΈΠΕΙ ΝΑ ΕΚΣΕΛΕΊ ΣΟ
ΌΣΗΜΑ
Η πληρωμή των εργαζομένων πλήρους απασχόλησης Η πληρωμή των εργαζομένων μερικής απασχόλησης Λαμβάνουν πρόσθετη αμοιβή Λαμβάνουν υπερωρίες Παραγωγή εκτυπώσεων Οι υπερωρίες υπολογίζονται σε ημερήσια βάση Καταγραφή των ωρών εργασίας Ο υπεύθυνος μισθοδοσίας έχει την αρμοδιότητα εισαγωγής Ο υπεύθυνος μισθοδοσίας έχει την αρμοδιότητα διαγραφής Ο υπεύθυνος μισθοδοσίας έχει την αρμοδιότητα τροποποίησης Ο υπεύθυνος μισθοδοσίας έχει την αρμοδιότητα παραγωγής
μισθοδοσίας Να διαβάζεται αυτόματα η πληροφορία των υπαλλήλων από τη ΒΔ
και να δημιουργούνται τα κατάλληλα αντικείμενα
ΟΙ ΚΛΆΕΙ ΣΟΤ ΠΕΔΊΟΤ ΠΡΟΒΛΉΜΑΣΟ
Employee CommissionedEmployeeFullTimeEmployeePartTimeEmployee
TimeCard LogEntry PurchaseOrder
Payroll ProductPayrollPeriod
CardReader
OrderLine
ΦΈΕΙ ΜΕΣΑΞΌ ΚΛΆΕΨΝ
χέσεις κληρονομικότητας
χέσεις συναρμολόγησης και σύνθεσης
χέσεις συσχέτισης
Η κληρονομικότητα αυξάνει την
επαναχρησιμοποίηση(resusability)
τη σύζευξη (coupling)
Η ΙΕΡΑΡΦΊΑ ΣΨΝ ΕΡΓΑΖΟΜΈΝΨΝ – ΔΌΟ
ΕΝΑΛΛΑΚΣΙΚΈ ΛΌΕΙ
Employee
CommissionedEmployeeFullTimeEmployeePartTimeEmployee
Employee
CommissionedEmployee
FullTimeEmployeePartTimeEmployee
υναρμολόγηση (aggregation) Σο εμπεριεχόμενο
αντικείμενο είναι ανεξάρτητο
Λευκός ρόμβος ύνθεση
(composition) Εξαρτάται άμεσα (όταν
καταστρέφεται το «όλο» καταστρέφεται και το «μέρος»
Μαύρος ρόμβος
ΦΈΗ ΤΝΑΡΜΟΛΓΗΗ ΚΑΙ ΌΝΘΕΗ –
ΔΌΟ ΕΝΑΛΛΑΚΣΙΚΈ ΛΌΕΙ
TimeCard LogEntry-
1
-
*
TimeCard LogEntry-
1
-
*
ΟΙ ΤΠΛΟΙΠΕ ΚΛΆΕΙ
PurchaseOrder
Product
1
*
OrderLine
0..* 1
Payroll
PayrollPeriod
PayrollRun PayrollRunEntry
1
*
1 *
1
*
Η κλάςεισ που ςχετίζονται με την παραγγελία
Η κλάςεισ που ςχετίζονται με την παραγωγή μιςθοδοςίασ
Η ΜΟΝΣΕΛΟΠΟΊΗΗ ΣΗ ΚΛΆΗ
PAYROLLPERIOD
H ΚΑΣΑΝΟΜΉ ΣΨΝ ΠΕΔΊΨΝ ΣΙ ΙΕΡΑΡΦΊΕ
ΚΛΆΕΨΝ
ΑΠΕΙΚΝΙΗ ΤΦΕΣΊΕΨΝ ΣΟ ΜΟΝΣΈΛΟ
ΚΛΆΕΨΝ
Πακέτο Employees: Employee, PartTimeEmployee, FullTimeEmployee, CommissionedEmployee.
Πακέτο TimeManagement: TimeCard, CardReader, LogEntry.
Πακέτο Payroll: Payroll, PayrollRun, PayrollPeriod, PayrollRunEntry.
Πακέτο Purchases: PurchaseOrder, OrderLine, Product.
Η ΟΜΑΔΟΠΟΊΗΗ ΣΨΝ ΚΛΆΕΨΝ Ε ΠΑΚΈΣΑ
Employees Payroll
TimeManagement Purchases
ΣΟ ΤΝΟΛΙΚ ΜΟΝΣΈΛΟEmployee
CommissionedEmployeeFullTimeEmployeePartTimeEmployee
TimeCard LogEntry
1 *
PurchaseOrderPayroll
PayrollPeriod
PayrollRun PayrollRunEntry
1
*
1 *
1
*
CardReader
1 1
has
1
*puts
Product
1
*
OrderLine
0..* 1
Η δομή της εφαρμογής θα πρέπει να είναι ξεκάθαρη (structure principle).
Ο σχεδιασμός θα πρέπει να είναι απλός ώστε να απλοποιούνται οι εργασίες (simplicity principle).
Θα πρέπει να είναι διαθέσιμη όλη η απαραίτητη πληροφορία και μόνο (visibility principle).
Θα πρέπει να υπάρχει προσκόλληση στα πρότυπα. Θα πρέπει να υπάρχει συνέπεια σε όλο τον
σχεδιασμό. Θα πρέπει να καλύπτονται όλες οι βασικές
απαιτήσεις καθώς και τα δύσκολα σημεία.
ΒΑΙΚΈ ΑΡΦΈ ΠΡΨΣΟΣΤΠΟΠΟΊΗΗ
ΔΗΜΙΟΤΡΓΊΑ ΠΡΨΣΣΤΠΟΤ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
ΥΆΗ 1- ΒΉΜΑ 2. ΦΕΔΊΑΗ
ΠΕΡΙΠΣΕΨΝ ΦΡΉΗ
Οι χειριστές αναπαριστούν ρόλους που ένα χρήστης/ συσκευή/ εξωτερικό σύστημα παίζει σε σχέση με το υπό ανάπτυξη σύστημα.
Ένας χειριστής επομένως μπορεί να είναι: Ένα χρήστης του συστήματος (άνθρωπος) Ένα εξωτερικό σύστημα που αλληλεπιδρά (π.χ. Μια βάση δεδομένων) Μια συσκευή (π.χ. ένας αισθητήρας) Ένα ρολόι χρονισμού του συστήματος
ΠΡΟΔΙΟΡΙΜ ΦΕΙΡΙΣΝ
Μετά από μελέτη του ορισμού του προβλήματος
εντοπίσαμε τους παρακάτω χειριστές: Employee
FullTimeEmployee
PartTimeEmployee
CommissionedEmployee
PayrollAdministrator
ΦΕΙΡΙΣΈ ΣΟΤ ΤΣΉΜΑΣΟ
ΟΙ ΠΕΡΙΠΣΕΙ ΦΡΉΗ
PayrollAdministrator
Employee
PartTimeEmployee CommissioedEmployee
FullTimeEmployee
Maintain Employee Information
Run Payroll
Produce Reports
Time Management
Purchase Order Management
«inherits» «inherits»
«inherits»
H ΠΦ «Maintain Employee Information» είναι κατάλληλη ή θα πρέπει να ορίσω ΠΦ με μεγαλύτερη λεπτομέρεια
Τπάρχουν διαφορετικά επίπεδα λεπτομέρειας, το καθένα εκ των οποίων ικανοποιεί διαφορετικούς στόχους. To συνοπτικό επίπεδο (summary level). το επίπεδο αυτό
έχουμε πολύ μικρό αριθμό ΠΦ οι οποίες περιγράφουν τους βασικούς στόχους του συστήματος (system context).
To επίπεδο των στόχων των χρηστών όπου περιγράφονται οι επιμέρους στόχοι των χρηστών (user goals).
Σο επίπεδο διακριτών λειτουργιών (function level) , το οποίο μας επιτρέπει να περιγράψουμε συμπεριφορές πολύ χαμηλού επιπέδου σε επίπεδο λειτουργίας.
ΟΙ ΠΕΡΙΠΣΕΙ ΦΡΉΗ ΠΟΤ ΠΑΡΟΤΙΆΖΟΝΣΑΙ ΕΊΝΑΙ ΤΧΗΛΟΌ
ΕΠΙΠΈΔΟΤ. Ε ΠΟΙΟ ΕΠΊΠΕΔΟ ΛΕΠΣΟΜΈΡΕΙΑ ΘΑ ΠΡΈΠΕΙ ΝΑ
ΕΡΓΑΖΜΑΣΕ;
ΣΑ ΕΠΊΠΕΔΑ ΣΗ ΛΕΠΣΟΜΈΡΕΙΑ
Από το βιβλίο του Α.Cockburn, Writing Effective Use Cases
Οι χειριστές εκτός από το ερέθισμα (stimulus) που παράγουν
ώστε να αρχίσει η εκτέλεση μιας ΠΦ, περιγράφουν τους ρόλους
που υπάρχουν μέσα σε ένα σύστημα.
Μια εναλλακτική απεικόνιση
ΟΙ ΦΕΙΡΙΣΈ PARTTIMEEMPLOYEE ΚΑΙ FULLTIMEEMPLOYEE ΔΕΝ
ΕΚΣΕΛΟΌΝ ΚΑΜΊΑ ΠΕΡΊΠΣΨΗ ΦΡΉΗ. ΘΑ ΠΡΈΠΕΙ ΝΑ
ΕΜΥΑΝΊΖΟΝΣΑΙ ΣΟ ΜΟΝΣΈΛΟ;
Employee
CommissioedEmployee
Time Management
Purchase Order Management
«inherits»
Η συσκευή CardReader είναι μια απλή συσκευή εισόδου, μια
απλή περιφερειακή συσκευή όπως το πληκτρολόγιο, το ποντίκι
κ.α. και συνεπώς δεν είναι χειριστής.
θα μπορούσαμε να πούμε ότι η συσκευή είναι δευτερεύων
χειριστής στην ΠΦ TimeManagement για να καλύψουμε την
περίπτωση που η συσκευή δεν είναι διαθέσιμη. την περίπτωση
αυτή, θα πρέπει να υπάρχει μια ΠΦ επέκτασης
CardReaderProblem στην ΠX TimeManagement.
ΘΑ ΠΡΈΠΕΙ ΝΑ ΕΜΥΑΝΊΖΕΣΑΙ Ψ ΦΕΙΡΙΣΉ Η ΤΚΕΤΉ
CARDREADER (ΑΝΑΓΝΣΗ ΚΑΡΣΝ) ΑΥΟΌ ΑΛΛΗΛΕΠΙΔΡΆ ΜΕ ΣΟ
ΌΣΗΜΑ;
Αποτελεί μέρος του συστήματος ή όχι; Φρησιμοποιείται αποκλειστικά από το σύστημα μισθοδοσίας
Αν ναι αποτελεί μέρος του συστήματος, Αν όχι εξωτερικό σύστημα δηλαδή να είναι χειριστής.
θα πρέπει να υπάρχει ΠΦ «Αποθήκευση στη Βάση Δεδομένων». Oχι Σο σωστό θα ήταν μια ΠΦ με τίτλο «Αποθήκευση των
στοιχείων εργαζομένου στη Βάση Δεδομένων», είναι συγκεκριμένη και ξεκινά από την απαίτηση του χειριστή να αποθηκεύσει δεδομένα.
Ποτέ όμως, εκτός ίσως από την περίπτωση δημιουργία αντιγράφων ασφαλείας (backup), o χειριστής δεν ζητά την καθολική αποθήκευση των δεδομένων όλου του συστήματος.
ΘΑ ΠΡΈΠΕΙ ΝΑ ΕΜΥΑΝΊΖΕΣΑΙ Ψ ΦΕΙΡΙΣΉ Η ΒΆΗ ΔΕΔΟΜΈΝΨΝ
ΑΥΟΌ ΕΊΝΑΙ ΕΞΨΣΕΡΙΚ ΌΣΗΜΑ; ΘΑ ΠΡΈΠΕΙ ΝΑ ΤΠΆΡΦΕΙ
ΠΕΡΊΠΣΨΗ ΦΡΉΗ «ΑΠΟΘΉΚΕΤΗ ΣΗ ΒΆΗ ΔΕΔΟΜΈΝΨΝ»;
θα μπορούσαμε να αναλύσουμε περαιτέρω την ΠΦ «Run Payroll», σε επιμέρους ΠΦ. «Calculate Salary» και
«Calculate Bonus».
Αυτό σημαίνει ότι για να ολοκληρωθεί η ΠΦ «Run Payroll» θα πρέπει να εκτελεσθεί η λογική, τόσο της ΠΦ
«Calculate Salary», όσο και της ΠΦ «Calculate Bonus».
Η ΠΦ «RUN PAYROLL» ΘΑ ΈΠΡΕΠΕ ΝΑ ΑΝΑΛΌΕΣΑΙ ΠΕΡΙΣΕΡΟ ΑΥΟΌ Ο
ΤΠΟΛΟΓΙΜ ΣΗ ΜΙΘΟΔΟΊΑ ΕΊΝΑΙ ΠΟΛΌΠΛΟΚΟ ΚΑΙ ΕΞΑΡΣΆΣΑΙ
ΑΠ ΣΗΝ ΚΑΣΗΓΟΡΊΑ ΣΟΤ ΚΆΘΕ ΕΡΓΑΖΟΜΈΝΟΤ;
PayrollAdministrator
Maintain Employee Information
Run Payroll
Produce Reports
Calculate Salary
Calculate Bonus
<<includes>>
<<includes>>
Θα μπορούσαμε να αντικαταστείσουμε την ΠΦ«Maintain Employee Information» με τις ΠΦ: «Create Employee», «Retrieve Employee», «Update Employee»
και «Delete Employee».
Η ΠΦ «Maintain Employee Information» κάνει include: «Create Employee», «Retrieve Employee», «Update Employee» και «Delete Employee».
ΘΑ ΜΠΟΡΟΌΑΜΕ ΝΑ ΑΝΑΛΌΟΤΜΕ ΠΑΡΑΠΆΝΨ ΣΗΝ ΠΦ
«MAINTAIN EMPLOYEE INFORMATION» Ε ΕΙΑΓΨΓΉ,
ΣΡΟΠΟΠΟΊΗΗ, ΔΙΑΓΡΑΥΉ ΕΡΓΑΖΟΜΈΝΟΤ;
PayrollAdministrator
Maintain Employee Information
Run Payroll
Produce Reports
Create Employee
Retrieve Employee
<<includes>>
<<includes>>
Update Employee
Delete Employee
<<includes>>
<<includes>>
Σίτλος περίπτωσης χρήσης:
Εκτέλεση μισθοδοσίας (run payroll)
ύντομη περιγραφή:
O διαχειριστής μισθοδοσίας τρέχει τη μισθοδοσία για μια περίοδο
Φειριστές:
Διαχειριστής μισθοδοσίας (payroll administrator)
Ροή γεγονότων
Βασική ροή
1. Ο διαχειριστής μισθοδοσίας επιλέγει «Εκτέλεση Μισθοδοσίας» από την κεντρική οθόνη του συστήματος
2. Επιλέγει την περίοδο για την οποία θα εκτελέσει τη μισθοδοσία
3. Γίνεται υπολογισμός της μισθοδοσίας εργαζομένων
4. Γίνεται υπολογισμός της μισθοδοσίας πωλητών
5. Γίνεται υπολογισμός των bonus πωλητών
6. Γίνεται υπολογισμός της μισθοδοσίας ωρομισθίων
7. Επιστροφή στην κεντρική οθόνη του συστήματος
Εναλλακτικές ροές
Εναλλακτική ροή 1
3α. Δεν υπάρχουν αποθηκευμένα στοιχεία χρόνου για τους εργαζόμενους
3β. Παρουσιάζεται ενημερωτικό μήνυμα
Εναλλακτική ροή 2
4α. Δεν υπάρχουν αποθηκευμένα στοιχεία χρόνου για τους πωλητές
4β. Παρουσιάζεται ενημερωτικό μήνυμα
Εναλλακτική ροή 3
5α. Δεν υπάρχουν αποθηκευμένα στοιχεία χρόνου για τους εργαζόμενους
5β. Παρουσιάζεται ενημερωτικό μήνυμα
Εναλλακτική ροή 4
6α. Δεν υπάρχουν αποθηκευμένες παραγγελίες για τους πωλητές
6β. Παρουσιάζεται ενημερωτικό μήνυμα
Ειδικές απαιτήσεις:
Δεν υπάρχουν
Κατάσταση εισόδου:
Να υπάρχει αρχείο/βάση δεδομένων εργαζομένων
Η ΑΝΑΛΤΣΙΚΉ ΠΕΡΙΓΡΑΥΉ ΣΨΝ ΠΕΡΙΠΣΕΨΝ ΦΡΉΗ
ΓΡΑΥΙΚΉ ΑΠΕΙΚΝΙΗ ΠΕΡΊΠΣΨΗ ΦΡΉΗ
«ΤΠΟΛΟΓΙΜΟΌ ΜΙΘΟΔΟΊΑ»
Εναλλακτικι ροι 1Δεν υπάρχουν αποκθκευμζνα ςτοιχεία χρόνου για τουσ εργαηόμενουσ
Ζναρξθ
ΒΔ εργαηομζνων
Επιλογι «Εκτζλεςθ
μιςκοδοςίασ»
Επιλογι Περιόδου
Υπολογιςμόσ μιςκοδοςίασΕργαηομζνων
«Πλιρουσ Απαςχόλθςθσ»
Υπολογιςμόσ μιςκοδοςίασ
Πωλθτών
Υπολογιςμόσ μιςκοδοςίασΕργαηομζνων
«Μερικισ Απαςχόλθςθσ»
Υπολογιςμόσ Bonus
Πωλθτών
Εναλλακτικι ροι 2Δεν υπάρχουν αποκθκευμζνα ςτοιχεία χρόνου για τουσ πωλθτζσ
Εναλλακτικι ροι 3Δεν υπάρχουν αποκθκευμζνα ςτοιχεία χρόνου για τουσ ωρομίςκιουσ εργαηόμενουσ
Εναλλακτικι ροι 4Δεν υπάρχουν αποκθκευμζνεσ παραγγελίεσ για τουσ πωλθτζσ
ΔεδομζναΜιςκοδοςίασ
Φρησιμοποιούν
ται για: Περιγραφή της
ροής των
εργασιών
(workflow)
Περιγραφή
κάποιου
πολύπλοκου
αλγορίθμου
Περιγραφή
παράλληλων
δραστηριοτήτ
ων
ΔΙΑΓΡΆΜΜΑΣΑ ΔΡΑΣΗΡΙΟΣΉΣΨΝ
Υπολογιζμός
ωρών εργαζίας
ΥΠΟΛΟΓΙΣΜΟΣ ΜΙΣΘΟΔΟΣΙΑΣ ΜΙΣΘΩΤΟΥ ΜΕ ΜΗΝΙΑΙΟ ΜΙΣΘΟ
[Υπάπσοςν επγαζόμενοι]
Υπολόγισε
ςπεπωπίερ με 50%
πποσαύξηση
[Ώπερ Επγασίαρ >= Κανονικό Ωπάπιο]
Υπολόγισε μείωση
μειώνονταρ ανάλογα με τιρ
ώπερ αποςσίαρ
[Ώπερ Επγασίαρ < Κανονικό Ωπάπιο]
H action σπησιμοποιείται
για μια απλή ενέπγεια
Activity είναι σύνθετo και μποπεί να
αναλςθεί παπαπάνω
Υπολόγισε
μισθό
Αποθήκεσζη
εγγραφής μιζθοδοζίας
[Δεν ςπάπσοςν
άλλοι επγαζόμενοι]
Visual Paradigm for UML Standard Edition(HELLENIC OPEN UNIVERSITY)
53
ΕΡΨΣΗΗ 9 - ΠΡΟΔΙΟΡΙΜΈΝΕ ΤΝΔΈΕΙ
(QUALIFIED ASSOCIATIONS)
ε κάθε παραγγελία (order) δεν υπάρχουν δύο παραγγελίες (orderline) για το ίδιο προϊόν (product)
OrderLine Product
0..10..1
*
Order
Περιορισμένη κλάσηΚλάση στόχος Περιορισμός
(qualifier)
54
ΠΡΟΔΙΟΡΙΜΈΝΕ ΤΝΔΈΕΙ
Βελτιώνει την κατανόηση των εννοιών του
μοντέλου
Κάνει τις σχέσεις σύνδεσης πιο κατανοητές
Stock
exchange
Company
StockID
Stock
exchange
StockID
Company
noted
noted
Μη περιορισμένη
περιορισμένη*
ΠΕΡΙΟΡΙΜΟΙ (CONSTRAINTS)