Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ Ελληνικό Ανοικτό Πανεπιστήμιο Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ Αναπαράσταση Επιχειρηματικών Διαδικασιών με τη UML Γεια σας. Ονομάζομαι Βασίλης Γερογιάννης. Είμαι Μηχ. Η/Υ και Πληροφορικής με διδακτορικό στο πεδίο της Τεχνολογίας Λογισμικού από το Παν/μιο Πατρών. Εργάζομαι ως Καθηγητής Εφαρμογών στο ΤΕΙ Λάρισας και ως ΣΕΠ στο ΕΑΠ (φέτος είμαι στην ΠΛΗ11-Αρχές Τεχνολογίας Λογισμικού). Συνεργάζομαι επίσης με το ΕΑΠ στο πλαίσιο της ανάπτυξης εκπαιδευτικού υλικού για την ΠΛΗ24 – Σχεδιασμός Λογισμικού ΙΙ. Η συγκεκριμένη σειρά παρουσιάσεων θα καλύψουν πρακτικά ζητήματα της αναπαράστασης και της σχεδίασης επιχειρηματικών διαδικασιών (business processes) με τη χρήση της γλώσσας UML (Unified Modeling Language). Επιχειρηματικές διαδικασίες καλούνται οι δραστηριότητες που εκτελούνται από τις επιχειρήσεις με σκοπό την παραγωγή προϊόντων ή την παροχή υπηρεσιών. Δρ. Βασίλης Χ. Γερογιάννης gerogian@teilar.gr
Στόχοι Πρακτικές οδηγίες για κάθε βήμα της ανάλυσης και αναπαράστασης επιχειρηματικών διαδικασιών Συστηματική ανάπτυξη των απαραίτητων μοντέλων Το πρόβλημα που θα μελετήσουμε αναφέρεται σε μια υποθετική περίπτωση μελέτης που αφορά τις δραστηριότητες που πραγματοποιεί η επιχείρηση όταν διαπιστώνει την ανάγκη να προμηθευτεί ένα νέο πληροφοριακό σύστημα για την υποστήριξη των λειτουργιών της. Σε μια τέτοια περίπτωση υποθέτουμε ότι η επιχείρηση προετοιμάζει και ανακοινώνει μια πρόσκληση για υποβολή προτάσεων για την προμήθεια του συστήματος (μια διακήρυξη διαγωνισμού) ώστε να επιλέξει την ανάδοχο εταιρεία πληροφορικής που θα αναπτύξει και θα παραδώσει το καταλληλότερο σύστημα. Σκοπός της εργασίας είναι να παρουσιάσει τον τρόπο με τον οποίο αναλύεται και περιγράφεται συστηματικά, με τη χρήση της γλώσσας UML, η συγκεκριμένη διαδικασία της υποθετικής επιχείρησης, δηλαδή η προετοιμασία μιας διακήρυξης διαγωνισμού. Μέσα από την παρουσίαση έχουμε ως στόχο να σας προτείνουμε ορισμένες πρακτικές οδηγίες σε μια σειρά από πολύ συγκεκριμένα ερωτήματα που προκύπτουν κατά την ανάλυση της περίπτωσης μελέτης. Δίνοντας απαντήσεις στα ερωτήματα καθοδηγούμε τον αναγνώστη ώστε, ως αναλυτής επιχειρηματικών εφαρμογών, να είναι σε θέση να αναπτύσσει με συστηματικό τρόπο τα απαραίτητα μοντέλα που απαιτούνται σε κάθε βήμα της ανάλυσης και της αναπαράστασης των επιχειρηματικών διαδικασιών, από τα πρώτα βήματα της ανάλυσης των απαιτήσεων και της κατανόησης των διαδικασιών μιας επιχείρησης μέχρι τη λεπτομερή και την αναλυτική τους σχεδίαση.
Ενδεικτική Βιβλιογραφία … R. Doug & S. Kendall, “Applying Use Case Driven Object Modeling with UML”, Addison-Wesley, 2001. I. Jacobson et al., “The Object Advantage: Business Process Reengineering With Object Technology”. Addison-Wesley Object Technology Series, 1995. M. Penker & H. Eriksson, “Business Modeling with UML: Business Patterns at Work”. John Wiley & Sons, 2000. Object Management Group (www.omg.org). Pan-Wei Ng, “Effective Business Modeling with UML: Describing Business Use Cases and Realizations”, Rational Edge E-zine for the Rational Community, 2002, (www.therationaledge.com). Σε όσους προξενήσει περισσότερο ενδιαφέρον το θέμα την μοντελοποίησης επιχειρηματικών διαδικασιών με τη χρήση της γλώσσας UML και αντικειμενοστρεφών τεχνικών τους προτρέπω να αναζητήσουν περισσότερες πληροφορίες στη βιβλιογραφία που παρουσιάζεται στη διαφάνεια. ….. Θα πρέπει να σημειώσουμε ότι στην επιλογή μας για τη συγκεκριμένη σειρά αυτών των παρουσιάσεων σημαντικό ρόλο έπαιξε το τελευταίο άρθρο το οποίο και σας προτείνουμε να κατεβάσετε και να το μελετήσετε.
Περιεχόμενα Ανάγκη αναπαράστασης επιχειρηματικών διαδικασιών Προφίλ της UML για Επιχειρηματικές Διαδικασίες Περιγραφή του case-study Σε αυτή την πρώτη παρουσίαση της σειράς θα προσπαθήσουμε καταρχάς να προσδιορίσουμε ποιες είναι οι ανάγκες που επιβάλλουν την συστηματική εφαρμογή της ανάλυσης και της αναπαράστασης για τις διαδικασίες που επιτελεί μια σύγχρονη επιχείρηση. Στη συνέχεια θα περιγράψουμε τις μεθόδους που θα χρησιμοποιήσουμε εμείς για να καλύψουμε αυτές τις ανάγκες. Συγκεκριμένα, θα χρησιμοποιήσουμε ένα συγκεκριμένο προφίλ της UML το λεγόμενο UML Business Modeling Profile / UML BMP. Θα πρέπει εδώ λοιπόν να εξηγήσουμε πρώτα από όλα τι είναι ένα προφίλ για τη UML; Οι σχεδιαστές της γλώσσας (το περίφημο object management group - OMG) συνεχώς επεκτείνουν, εμπλουτίζουν και προσαρμόζουν τη γλώσσα με νέα δομικά στοιχεία και έννοιες ώστε αυτή να μπορεί να χρησιμοποιηθεί με επιτυχία σε διαφορετικά πεδία εφαρμογών. Αυτό συμβαίνει ορίζοντας τα λεγόμενα προφίλ της γλώσσας. Έτσι για την αναπαράσταση συστημάτων πραγματικού χρόνου έχει οριστεί το προφίλ Real-Time UML (RT UML), για την προδιαγραφή των διαδικασιών που πραγματοποιούνται σε κάθε φάση της ανάπτυξης ενός λογισμικού έχει οριστεί το προφίλ Software Process Engineering Metamodel (SPEM), ενώ ειδικά για την αναπαράσταση των επιχειρηματικών διαδικασιών έχει οριστεί το UML Business Modeling Profile (UML BMP). Στις παρουσιάσεις μας θα χρησιμοποιήσουμε τις έννοιες του UML Business Modeling Profile για να περιγράψουμε συστηματικά τις επιχειρηματικές διαδικασίες του case-study. Τέλος θα περιγράψουμε αναλυτικά το case study της επιχείρησης που θα μας απασχολήσει σε αυτή τη σειρά των παρουσιάσεων.
Στρατηγικοί Στόχοι ενός Επιχειρηματικού Μοντέλου ο ανασχεδιασμός των επιχειρηματικών διαδικασιών (business process reengineering) η βελτίωση των επιχειρηματικών διαδικασιών (business improvement) ο αυτοματισμός και η υποστήριξη των διαδικασιών της επιχείρησης με κατάλληλα συστήματα λογισμικού Inputs Αισθητήρες (Sensors) Τα συμπεράσματα της ανάλυσης των δραστηριοτήτων μιας επιχείρησης παρουσιάζονται με την αναπαράσταση των επιχειρηματικών διαδικασιών. Στη διαδικασία αυτή περιλαμβάνονται δραστηριότητες που έχουν ως τελικό στόχο τη δημιουργία ενός μοντέλου για την επιχείρηση (το λεγόμενο business model). Αν θέλαμε να προσδιορίσουμε τους βασικούς στρατηγικούς στόχους που δημιουργούν την ανάγκη σε μια επιχείρηση-οργανισμό να αναπτύξει ένα επιχειρηματικό μοντέλο που να περιγράφει τις δραστηριότητες της θα λέγαμε ότι είναι: 1. ο ανασχεδιασμός των επιχειρηματικών διαδικασιών (business process reengineering), δηλαδή η ανάγκη να αναθεωρηθεί ο τρόπος με τον οποίο μια επιχείρηση λειτουργεί και επικοινωνεί με το περιβάλλον της, 2. η βελτίωση των επιχειρηματικών διαδικασιών (business improvement), που αποτελεί τις περισσότερες φορές μια εξειδίκευση της διαδικασίας του ανασχεδιασμού σε συγκεκριμένους τομείς δραστηριοτήτων της επιχείρησης, τομείς που είναι κρίσιμο να αναθεωρηθούν, να σχεδιαστούν ξανά και να βελτιωθούν προκειμένου να βελτιωθεί κατ’ επέκταση ο ανταγωνιστικός χαρακτήρας της επιχείρησης, 3. ο αυτοματισμός και η υποστήριξη των διαδικασιών της επιχείρησης με τα κατάλληλα συστήματα λογισμικού, με σκοπό τη μείωση του κόστους, την αύξηση της παραγωγικότητας, την αποδοτικότερη χρήση των διαθέσιμων πόρων, τη μείωση (όσο είναι δυνατόν) της ανθρώπινης διαμεσολάβησης και τη βελτιστοποίηση των παρεχόμενων υπηρεσιών και της ποιότητας των προϊόντων-υπηρεσιών που παρέχει μια επιχείρηση στους πελάτες της.
«Μα γιατί θέτεις ερωτήσεις που δεν φαίνεται να είναι άμεσα σχετικές με το σύστημα που θα αναπτύξεις;» ? Φανταστείτε ότι ως αναλυτές συστημάτων έχουμε αναλάβει το έργο να προδιαγράψουμε τις απαιτήσεις ενός νέου πληροφοριακού συστήματος για μια επιχείρηση. Αν το σύστημα σχεδιαστεί και αναπτυχθεί σύμφωνα με τις απαιτήσεις τότε θέλουμε και περιμένουμε η χρήση του και αξιοποίηση του να οδηγήσει σε σημαντικά οφέλη για την επιχείρηση, να ικανοποιήσει δηλαδή βασικούς στρατηγικούς στόχους σαν κι αυτούς που αναφέραμε. Στα πρώτα βήματά μας θα της ανάλυσης των διαδικασιών μιας επιχείρησης προσπαθούμε να κατανοήσουμε τις λειτουργίες της. Οι λειτουργίες αυτές θα υποστηριχθούν εν τέλει από το κατάλληλο ή τα κατάλληλα πληροφοριακά συστήματα. Από την πρώτη μας ήδη συνάντηση με τους συμμετέχοντες στο έργο (το διευθυντή της επιχείρησης, τους υπάλληλους της επιχείρησης που θα είναι οι μελλοντικοί χρήστες του συστήματος, τους πελάτες και τους προμηθευτές της επιχείρησης κλπ.) θα πρέπει να επιδιώξουμε να μας τεθεί η απορία: «μα γιατί θέτεις ερωτήσεις που δεν φαίνεται να είναι άμεσα σχετικές με το σύστημα που θα αναπτύξεις;» (ή τουλάχιστον να έχουμε ρωτήσει τόσα πολλά που να δημιουργηθούν παρόμοιες απορίες στους υπόλοιπους συμμετέχοντες στο έργο χωρίς βέβαια να φτάσουμε στα άκρα με πολλές και διάφορες ερωτήσεις και να γίνουμε και ενοχλητικοί!!!)
Στόχοι της Ανάλυσης Η κατανόηση απαιτήσεων και λειτουργιών της επιχείρησης Η συμφωνία με τον πελάτη Δημιουργία επιχειρηματικού μοντέλου (business model) Εδραίωση κλίματος επικοινωνίας και συνεργασίας Βάση για τον προσδιορισμό των απαιτήσεων για το λογισμικό Σε μια ερώτηση σαν κι αυτή μπορούν να δοθούν πολλές απαντήσεις. Το πιο σημαντικό είναι να τονιστεί ότι για να προδιαγραφεί το σύστημα που θα αναπτυχθεί, πρέπει προηγουμένως ο αναλυτής να έχει κατανοήσει πλήρως τις απαιτήσεις και τις λειτουργίες της επιχείρησης. Διαφορετικά, υπάρχει περίπτωση να αναπτυχθεί ένα σύστημα που δεν θα καλύπτει τις ανάγκες τις επιχείρησης, ένα σύστημα που δεν θα είναι χρήσιμο καθώς δεν θα λειτουργεί με τον κατάλληλο τρόπο. Η κατανόηση λοιπόν της δομή μιας επιχείρησης και των λειτουργιών της αποτελεί τη βάση πάνω στην οποία θα στηριχθεί ο αναλυτής για να συμφωνήσει με τον πελάτη αναφορικά με τις προδιαγραφές του συστήματος. Το πιο πιθανό είναι ο πελάτης να διαθέτει ελάχιστες γνώσεις σχετικά με την ανάπτυξη συστημάτων πληροφορικής. Γνωρίζει όμως καλά τα ζητήματα της επιχείρησης του, δηλαδή τις ανάγκες και τις ροές εργασίας στην επιχείρησή του. Τα συμπεράσματα της ανάλυσης παρουσιάζονται με την αναπαράσταση των επιχειρηματικών διαδικασιών. Στη διαδικασία αυτή περιλαμβάνονται δραστηριότητες που έχουν ως τελικό στόχο τη δημιουργία ενός μοντέλου για την επιχείρηση (business model). Το μοντέλο θα επιτρέψει την οπτική περιγραφή και την κατανόηση των διαδικασιών της επιχείρησης από όλες τις ενδιαφερόμενες πλευρές. Η διεξοδική κατανόηση των λειτουργιών της επιχείρησης και η καταγραφή τους σε ένα μοντέλο θα πρέπει να κοινοποιηθεί σε όλους τους ενδιαφερόμενους και να ελεγχθεί από καθένα που συμμετέχει στην ανάπτυξη του συστήματος: από τον επιχειρηματία που θα πληρώσει για το σύστημα μέχρι τους τελικούς χρήστες του συστήματος. Αυτή η αμοιβαία κατανόηση μεταξύ των χρηστών (εργαζομένων, πελατών, πωλητών, στελεχών της διεύθυνσης της επιχείρησης, χρηστών πληροφοριακών συστημάτων κλπ.) και των αναλυτών είναι πολύ σημαντική για να εδραιωθεί μεταξύ τους ένα κλίμα επικοινωνίας και συνεργασίας που θα οδηγήσει στην επιτυχία του έργου. Έχοντας ως προϋπόθεση την καλή κατανόηση των διαδικασιών που πραγματοποιεί μια επιχείρηση, των αναγκών της αλλά και του περιβάλλοντος μέσα στο οποίο η επιχείρηση λειτουργεί θα προχωρήσουμε στον επόμενο βήμα που είναι ο προσδιορισμός των απαιτήσεων για το νέο πληροφοριακό σύστημα.
Γιατί να χρησιμοποιήσουμε τη UML; κοινή, ενιαία γλώσσα, κατανοητή στον καθένα γλώσσα γραφική αναπαράσταση συμφωνία με αρχές αντικειμενοστρεφούς ανάλυσης και σχεδίασης περιγραφή στατικής δομής και δυναμικής συμπεριφοράς συστηματική δημιουργία μοντέλων Η UML αποτελεί μια ιδιαίτερα διαδεδομένη τυποποιημένη γλώσσα που επικεντρώνεται στην περιγραφή συστημάτων σύμφωνα με τις αρχές και τα πρότυπα της αντικειμενοστρεφούς ανάλυσης και σχεδίασης. Η UML με τη βοήθεια σύγχρονων εργαλείων λογισμικού (Computer Aided Software Engineering tools - CASE tools) επιτρέπει την οπτική αναπαράσταση, την ανάλυση, την καταγραφή των απαιτήσεων, τη σχεδίαση, την υλοποίηση και την τεκμηρίωση κατάλληλων πληροφοριακών συστημάτων που καλύπτουν το τεράστιο εύρος αναγκών μιας σύγχρονης επιχείρησης. Ανάμεσα στα πλεονεκτήματα που συνοδεύουν τη UML μπορούν μεταξύ άλλων να αναφερθούν: 1. η UML αποτελεί μια κοινή, ενιαία γλώσσα που είναι κατανοητή στον καθένα που εμπλέκεται στη διαδικασία της ανάπτυξης ενός συστήματος (πελάτες, αναλυτές, σχεδιαστές λογισμικού, προγραμματιστές, ελεγκτές σφαλμάτων, τεχνικούς συντήρησης κλπ.), 2. τα μοντέλα της UML έχουν γραφική αναπαράσταση, 3. ακολουθεί τις αρχές της αντικειμενοστρεφούς ανάλυσης και σχεδίασης, 4. επιτρέπει την περιγραφή τόσο της στατικής δομής όσο και της δυναμικής συμπεριφοράς ενός συστήματος, 5. καταγράφει με συστηματικό τρόπο τις ανάγκες των χρηστών του συστήματος.
Προφίλ της UML για Επιχειρηματικές Διαδικασίες UML – BMP (UML Business Modeling Profile) «στερεότυπα» («stereotypes)» ειδική σημασία σtα δομικά στοιχεία της γλώσσας Οι σχεδιαστές της UML συνεχώς επεκτείνουν και εμπλουτίζουν τη γλώσσα ώστε αυτή να μπορεί να χρησιμοποιηθεί με επιτυχία σε διαφορετικά πεδία εφαρμογών. Αυτό συμβαίνει ορίζοντας τα προφίλ της γλώσσας. Έτσι ειδικά για την αναπαράσταση των επιχειρηματικών διαδικασιών έχει οριστεί το UML Business Modeling Profile (UML BMP). Σε ένα συγκεκριμένο προφίλ χρησιμοποιούνται κυρίως οι μηχανισμοί επέκτασης που παρέχει η UML και ιδιαίτερα τα στερεότυπα (stereotypes). Τα στερεότυπα συνιστούν ένα μηχανισμό επέκτασης των βασικών συμβολισμών της UML. Όταν ορίζουμε ένα στερεότυπο (αυτό γίνεται αν θέσουμε μια λέξη μέσα σε διπλά εισαγωγικά « ») τότε αποδίδουμε μια ειδική σημασία σε ένα ήδη υπάρχον δομικό στοιχείο της γλώσσας, σε ένα μοντέλο που προκύπτει από τις διαδικασίες της ανάλυσης και της σχεδίασης, σε μια κατηγορία κλάσεων αντικειμένων κλπ.
Στερεότυπο: «μοντέλο επιχειρηματικών περιπτώσεων χρήσης» («business use case model») Καθορίζει: Περιπτώσεις χρήσης (εκτέλεσης) των διαδικασιών μιας επιχείρησης επιχειρηματικούς ρόλους παραδοτέα – προϊόντα διαδικασιών Αποτελεί το μοντέλο των λειτουργιών μιας επιχείρησης. Ουσιαστικά ένα μοντέλο επιχειρηματικών περιπτώσεων χρήσης θα μας βοηθήσει για να καθορίσουμε τους διαφόρους ρόλους που συμμετέχουν στις επιχειρηματικές διαδικασίες ή ακόμη να προσδιορίσουμε τα παραδοτέα και τα προϊόντα που προκύπτουν από τις διαδικασίες.
Μοντέλο κλάσεων αντικειμένων Στερεότυπο: «μοντέλο επιχειρηματικών αντικειμένων» («business object model») Μοντέλο κλάσεων αντικειμένων Περιγράφει τα αντικείμενα που συμμετέχουν και υλοποιούν τις επιχειρηματικές περιπτώσεις χρήσης, τις σχέσεις μεταξύ τους και τη δομή τους Το μοντέλο επιχειρηματικών αντικειμένων είναι το στατικό μοντέλο των κλάσεων αντικειμένων που συνθέτουν την επιχείρηση. Περιγράφει τα αντικείμενα που συμμετέχουν και υλοποιούν τις επιχειρηματικές περιπτώσεις χρήσης, τις σχέσεις μεταξύ τους και τη δομή τους.
Στερεότυπο: «επιχειρηματική περίπτωση χρήσης» («business use case») Ακολουθία λειτουργιών μιας επιχείρησης με συγκεκριμένο στόχο Το στερεότυπο της επιχειρηματικής περίπτωση χρήσης αναπαριστά ένα σύνολο διαφορετικών εκτελέσεων-στιγμιότυπων για μια συγκεκριμένη επιχειρηματική διαδικασία. Κάθε στιγμιότυπο είναι ουσιαστικά μια ακολουθία λειτουργιών της επιχείρησης με συγκεκριμένο στόχο που καταλήγει σε ένα αποτέλεσμα (προϊόν-υπηρεσία) το οποίο (όπως θα δουμε) απευθύνεται σε μια συγκεκριμένη οντότητα που καλείται επιχειρηματικός χειριστής (business actor). Μια επιχειρηματική περίπτωση χρήσης προσδιορίζεται από το στερεότυπο «επιχειρηματική περίπτωση χρήσης» και γραφικά δίνεται από το συμβολισμό που φαίνεται στη διαφάνεια.
H αναλυτική σχεδίαση (detailed design) της περίπτωσης χρήσης Στερεότυπο: «πραγματοποίηση επιχειρηματικής περίπτωση χρήσης» («business use case realization») H αναλυτική σχεδίαση (detailed design) της περίπτωσης χρήσης Η πραγματοποίηση μιας επιχειρηματικής περίπτωση χρήσης ουσιαστικά περιγράφει το πώς μια συγκεκριμένη περίπτωση χρήσης υλοποιείται στο πλαίσιο του μοντέλου των αντικειμένων της επιχείρησης όταν αλληλεπιδρούν μεταξύ τους τα διάφορα αντικείμενα του μοντέλου. Με τον όρο πραγματοποίηση (realization) συνεπώς αναφερόμαστε στην αναλυτική σχεδίαση (detailed design) της περίπτωσης χρήσης. Ο αντίστοιχος γραφικός συμβολισμός φαίνεται στη διαφάνεια.
Στερεότυπο: «επιχειρηματικός χειριστής» («business actor») Ρόλοι χρηστών ή άλλων συστημάτων του περιβάλλοντος συστήματος Αλληλεπιδρούν με επιχειρηματικές περιπτώσεις χρήσης Ένας business actor αναπαριστά ρόλους χρηστών ή άλλων συστημάτων που ανήκουν στο περιβάλλον σύστημα μέσα στο οποίο εντάσσεται η επιχείρηση. Το σύστημα της επιχείρησης (οι επιχειρηματικές περιπτώσεις χρήσης δηλαδή) θα αλληλεπιδρά με κάθε επιχειρηματικό χειριστή. Ο αντίστοιχος γραφικός συμβολισμός (ανθρωπάκι) φαίνεται στη διαφάνεια.
Στερεότυπο: «ενδο-επιχειρηματικός χειριστής» («business worker») Ρόλοι χρηστών ή άλλων συστημάτων που εντάσσονται μέσα στο πλαίσιο της επιχείρησης Συμμετέχουν στην πραγματοποίηση των περιπτώσεων χρήσης, Αλληλεπιδρούν με άλλους ενδο-επιχειρηματικούς χειριστές Επεξεργάζονται επιχειρηματικές οντότητες. Ουσιαστικά ένας ενδο-επιχειρηματικός χειριστής (business worker) είναι μια κλάση ρόλων που αναπαριστά χρήστες (υπαλλήλλους, στελέχη, διευθυντές κλπ.) που εντάσσονται και δραστηριοποιούνται όμως μέσα στο πλαίσιο της επιχείρησης και όχι στο περιβάλλον της. Ένας ενδο-επιχειρηματικός χειριστής συμμετέχει στην πραγματοποίηση των περιπτώσεων χρήσης, αλληλεπιδρά με άλλους ενδο-επιχειρηματικούς χειριστές και επεξεργάζεται επιχειρηματικές οντότητες. Στη διαφάνεια παρουσιάζουμε τον αντίστοιχο γραφικό συμβολισμό.
Στερεότυπο: «επιχειρηματική οντότητα» («business entity») Παθητική κλάση αντικειμένων Συμμετέχει σε υλοποιήσεις περιπτώσεων χρήσης Σύνολο αντικειμένων τα οποία παράγονται, ελέγχονται, διακινούνται σε μια περίπτωση χρήσης Υπόκεται σε επεξεργασία από ενδο-επιχειρηματικούς χειριστές Μια Κλάση αντικειμένων που προσδιορίζεται από το στερεότυπο «επιχειρηματική οντότητα» . Συγκεκριμένα κάθε επιχειρηματική οντότητα (business entity) είναι μια παθητική κλάση αντικειμένων (passive class). Δεν μπορεί δηλαδή να προκαλέσει την εκτέλεση μιας επιχειρηματικής περίπτωσης χρήσης. Μπορεί να συμμετέχει και να εμφανίζεται σε υλοποιήσεις διαφορετικών περιπτώσεων χρήσης. Αναπαριστά ένα σύνολο αντικειμένων τα οποία παράγονται, ελέγχονται, διακινούνται σε μια περίπτωση χρήσης. Τα αντικείμενα αυτά υπόκεινται σε επεξεργασία από ενδο-επιχειρησιακούς χειριστές. Το σύμβολο μιας επιχειρηματικής οντότητας φαίνεται στη διαφάνεια.
Στερεότυπο: «οργανωτική μονάδα» («organization unit») Ομάδα από ενδο-επιχειρηματικούς χειριστές, επιχειρηματικές οντότητες, υλοποιήσεις επιχειρηματικών περιπτώσεων χρήσης, διαγραμμάτων κλπ. Ομάδα άλλων οργανωτικών μονάδων. Χρησιμοποιείται για τη συστηματική δόμηση του μοντέλου των αντικειμένων της επιχείρησης\ Ανάλογο του package Μια «οργανωτική μονάδα» αναπαριστά ένα σύνολο-μια ομάδα από ενδο-επιχειρησιακούς χειριστές, επιχειρηματικές οντότητες, υλοποιήσεις επιχειρηματικών περιπτώσεων χρήσης, και διαγραμμάτων. Μπορεί λοιπόν να χρησιμοποιηθεί για την ομαδοποίηση επιχειρηματικών αντικειμένων ακόμη καιν να ομαδοποιήσει άλλες οργανωτικές μονάδες. Χρησιμοποιείται για τη συστηματική δόμηση του μοντέλου των αντικειμένων μιας επιχείρησης αφού διασπά το μοντέλο των αντικειμένων της επιχείρησης σε μικρότερα τμήματα. Αποτελεί ένα πακέτο (package) στο μοντέλο των αντικειμένων της επιχείρησης που προσδιορίζεται από το στερεότυπο «οργανωτική μονάδα» (“organization unit”) και γραφικά δίνεται από το συμβολισμό που φαίνεται στη διαφάνεια.
Περιγραφή του Προβλήματος Στις παρουσιάσεις μας θα χρησιμοποιήσουμε ως παράδειγμα αναφοράς μια υποθετική περίπτωση μελέτης που αναφέρεται στο τμήμα Νέων Τεχνολογιών-NT (IT department) μιας μεγάλης εταιρείας. Το τμήμα αυτό είναι υπεύθυνο για την επιλογή κατάλληλου εξοπλισμού πληροφορικής (υλικό, λογισμικό, εξειδικευμένα πληροφοριακά συστήματα επιχειρηματικών εφαρμογών κλπ.) για την υποστήριξη των δραστηριοτήτων των άλλων τμημάτων που αποτελούν την επιχείρηση τα οποία και θα αποκαλούμε τμήματα Τελικών Χρηστών-TX (End-User departments). Τα τμήματα των τελικών χρηστών προσπαθούν να εκμεταλλευτούν στο έπακρο τη χρήση τεχνολογιών πληροφορικής (information technology) ώστε να επιτελούν με τον καλύτερο και αποδοτικότερο τρόπο τις επιχειρηματικές τους δραστηριότητες. Υποθέτουμε λοιπόν ότι το τμήμα Νέων Τεχνολογιών (ΝΤ) έχει το ρόλο του τεχνικού συμβούλου αναφορικά με θέματα νέων τεχνολογιών πληροφορικής για όλα τα άλλα τμήματα της επιχείρησης. Η επιχείρηση έχει θέσει ως στρατηγικό στόχο να ασχολείται αποκλειστικά το τμήμα ΝΤ με θέματα προδιαγραφών μηχανογράφησης, μελέτες συντήρησης και διάφορα άλλα ζητήματα που αφορούν γενικότερα την επένδυση σε πληροφοριακά συστήματα και νέες τεχνολογίες. Το αποτέλεσμα αυτής της επιλογής είναι να «απελευθερώνονται» τα τμήματα των Τελικών Χρηστών (ΤΧ) από αυτές τις υπευθυνότητες και οι εργαζόμενοι σε αυτά να επικεντρώνονται αποκλειστικά στις επιχειρηματικές τους δραστηριότητες. Για να επιτευχθεί ο στόχος αυτός στην επιχείρηση εφαρμόζεται η ακόλουθη διαδικασία:
Υποθετικό Σενάριο Ανάγκη λειτουργίας νέου ΠΣ σε ένα τμήμα ΤΧ Το τμήμα ΤΧ ζητά από το τμήμα ΝΤ να προετοιμάσει μια πρόσκληση για υποβολή προτάσεων Διακήρυξη του διαγωνισμού (tender) Επιλογή της αναδόχου εταιρείας πληροφορικής (vendor) Όταν οι δραστηριότητες ενός τμήματος ΤΧ απαιτούν την εγκατάσταση και τη λειτουργία ενός νέου πληροφοριακού συστήματος ή ακόμη και τη συντήρηση-αναβάθμιση ενός υπάρχοντος συστήματος τότε το συγκεκριμένο τμήμα ΤΧ ζητά από το τμήμα ΝΤ να προετοιμάσει μια πρόσκληση για υποβολή προτάσεων αναφορικά με τις προδιαγραφές του νέου συστήματος. Οι προδιαγραφές του συστήματος περιγράφονται στη διακήρυξη του διαγωνισμού (tender specifications). Η επιχείρηση στη συνέχεια θα επιλέξει την πιο συμφέρουσα και πιο κατάλληλη προσφορά για να καθοριστεί εν τέλει η ανάδοχος εταιρεία πληροφορικής (vendor) που θα παραδώσει και το πληροφοριακό σύστημα στο τμήμα ΤΧ.
Προσωπικό του Τμήματος ΝΤ νομικούς συμβούλους (legal advisors) που προετοιμάζουν τα συμβόλαια, μηχανικούς λογισμικού (software engineers) που παράγουν σε κάθε διακήρυξη-πρόσκληση προδιαγραφές για πληροφοριακά συστήματα, διαχειριστές έργων (project managers) με εξειδίκευση στη διαχείριση έργων πληροφορικής (sw project management) Το τμήμα ΝΤ συνεπώς δεν αναπτύσσει τα συστήματα πληροφορικής που χρειάζονται τα άλλα τμήματα. Έχει το ρόλο του τεχνικού συμβούλου που προετοιμάζει τις προδιαγραφές των προσκλήσεων για προτάσεις, αξιολογεί τις υποβληθείσες προτάσεις και επιλέγει τον ανάδοχο που θα αναπτύξει (αν δεν υπάρχει) ή θα παρέχει (αν είναι έτοιμο) το απαιτούμενο πληροφοριακό σύστημα. Για να παίξει αυτό το ρόλο το τμήμα ΝΤ στελεχώνεται από: νομικούς συμβούλους (legal advisors) που προετοιμάζουν τα συμβόλαια με τις ανάδοχες εταιρείες, μηχανικούς λογισμικού (software engineers) που παράγουν σε κάθε διακήρυξη-πρόσκληση τις προδιαγραφές για τα απαιτούμενα πληροφοριακά συστήματα, και διαχειριστές έργων (project managers) με εξειδίκευση στη διοίκηση και διαχείριση έργων πληροφορικής.
Σε τι θα Αναφερθούμε στη Συνέχεια… Μοντέλο της Ανάλυσης Προσδιορισμός επιχειρηματικών περιπτώσεων χρήσης και χειριστών Πώς πραγματοποιούνται οι επιχειρηματικές περιπτώσεις χρήσης Προσδιορισμός περιπτώσεων χρήσης συστήματος Ερωτήματα - Καθοδήγηση Στη συνέχεια θα αναφερθούμε αναλυτικά στη διαδικασία της ανάλυσης για της συγκεκριμένης επιχειρηματικής διαδικασίας που αναφέρεται στην προετοιμασία μιας πρόσκλησης για υποβολή προτάσεων. Θα μας απασχολήσει: Ο προσδιορισμός των επιχειρηματικών περιπτώσεων χρήσης και των επιχειρηματικών χειριστών σε ένα κατάλληλο μοντέλο Στη συνέχεια, θα προχωρήσουμε στην αναλυτική προδιαγραφή και υλοποίηση των επιχειρηματικών περιπτώσεων χρήσης. Θα μελετήσουμε την πραγματοποίηση των επιχειρηματικών περιπτώσεων χρήσης υπό το πρίσμα διαφορετικών προσεγγίσεων που θα φροντίσουμε η καθεμιά να συμπληρώνει την άλλη ώστε τελικά να λάβουμε υπόψη όλες τις παραμέτρους του προβλήματος. Θα καταλήξουμε σε ένα μοντέλο ανάλυσης (business use cases) που μπορεί να χρησιμοποιηθεί για να εξάγουμε τις προδιαγραφές για ένα σύστημα που θα υποστηρίζει τη διαδικασία της προετοιμασίας διακηρύξεων. Θα καταλήξουμε δηλαδή σε system use cases για το σύστημα που θα υποστηρίξει τελικά τη συγκεκριμένη επιχειρηματική διαδικασία.. Είναι σημαντικό να τονίσουμε ότι στόχος μας είναι να παρουσιάσουμε ορισμένες πρακτικές οδηγίες σε μια σειρά από συγκεκριμένα ερωτήματα που θα προκύψουν κατά την ανάλυση της περίπτωσης μελέτης. Δίνοντας απαντήσεις στα ερωτήματα που θέτουμε προσπαθούμε να σας καθοδηγήσουμε ώστε, ως αυριανοί αναλυτές επιχειρηματικών εφαρμογών, να είστε σε θέση να αναπτύσσετε με συστηματικό τρόπο τα απαραίτητα μοντέλα που απαιτούνται σε κάθε βήμα της ανάλυσης και της αναπαράστασης των επιχειρηματικών διαδικασιών, από τα πρώτα βήματα της ανάλυσης των απαιτήσεων και της κατανόησης των διαδικασιών μιας επιχείρησης μέχρι τη λεπτομερή και την αναλυτική τους σχεδίαση.