Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση...

69
ΑΦΑΙΡΕΣΗ BPMN ΜΟΝΤΕΛΩΝ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ KAI ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ Αφαίρεση BPMN Μοντέλων

Transcript of Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση...

Page 1: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

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

KAIΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ

Αφαίρεση BPMN Μοντέλων

Page 2: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Agenda

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Page 3: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Εισαγωγή

Η παρουσίαση θα εστιάσει στα εξής:� Τί είναι η Αφαίρεση Μοντέλων Επιχειρησιακών Διαδικασιών (ΕΔ) και που χρησιµεύει

� Οπτικές Αφαίρεσης� Μέθοδοι Αφαίρεσης� Κανόνες Αφαίρεσηςκαι στην παρουσίαση � Εργαλείου για την αφαίρεση των επιχειρησιακών διαδικασιών¡ Στοχεύει στη µείωση του µεγέθους και της πολυπλοκότηταςτων ΒΡΜΝ µοντέλων

¡ Συνεισφέρει θετικά στη διαχείριση των επιχειρησιακών διαδικασιών

Page 4: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Agenda

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Page 5: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει

� Τα µοντέλα ΕΔ περιέχουν µεγάλο όγκο σηµαντικών πληροφοριών

� Ο µεγάλος όγκος των πληροφοριών τα καθιστά δύσχρηστα όταν:¡ απευθύνονται σε ανθρώπους που δεν είναι ιδιαίτερα εξοικειωµένοι¡ πρόκειται να χρησιµοποιηθούν από ανθρώπους, π.χ. από έναν Γενικό Διευθυντή, που δεν τους ενδιαφέρουν οι τετριµµένες λεπτοµέρειες µιας διαδικασίας

¡ θέλουν να εστιάσουν στα πιο σηµαντικά σηµεία� Η µεγάλη πολυπλοκότητα των µοντέλων επιχειρηµατικών διαδικασιών δηµιουργεί την ανάγκη για:¡ απλοποιηµένες εκδοχές µοντέλων¡ διατήρηση σηµαντικών πληροφοριών των µοντέλων¡ διατήρηση τρόπων επικοινωνίας µεταξύ των διάφορων τοµέων της επιχείρησης που απεικονίζονται στα µοντέλα

� Το µέγεθος των µοντέλων είναι ακόµη ένας παράγοντας ο οποίος επηρεάζει την ευχρηστία τους

Page 6: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει

� Δηµιουργείται η ανάγκη µιας διαδικασίας µε την οποία:¡ πολύπλοκα και µεγάλα µοντέλα θα µπορούν να

µετατρέπονται σε απλούστερα και µικρότερα ¡ διατηρείται ακέραια όλη τη σηµαντική πληροφορία των

µοντέλων από τα οποία προήρθαν

� Η διαδικασία αυτή είναι η διαδικασία της Αφαίρεσης (Abstraction) ¡ Στόχος η απλοποίηση των µοντέλων¡ Βασίζεται σε ορισµένους κανόνες που εφαρµόζονται στα στοιχεία των µοντέλων

Page 7: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση Μοντέλων ΕΔ

� Η Αφαίρεση που θα περιγραφεί στην συνέχεια αφορά Αφαίρεση Μοντέλων ΕΔ εκφρασµένα στη γλώσσα µοντελοποίησης BPMN

Page 8: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Οπτικές Αφαίρεσης Μοντέλων ΕΔ

Η αφαίρεση BPMN µοντέλων επιχειρησιακών διαδικασιών µπορεί να γίνει αντιληπτή από διαφορετικές οπτικές:

� Οπτική του «Γιατί»¡ δίνει σηµασία στους λόγους για τους οποίους γίνεται η αφαίρεση¡ δίνεται έµφαση σε συγκεκριµένα στοιχεία του µοντέλου

÷ εξετάζονται για το αν αποτελούν σηµαντική ή λιγότερη σηµαντική πληροφορία

� Οπτική του «Πότε»¡ δίνεται έµφαση στις συνθήκες που πρέπει να ισχύουν ώστε κάποιο στοιχείο του µοντέλου να µπορεί να κριθεί σηµαντικό ή λιγότερο σηµαντικό και κατ’ επέκταση να αφαιρεθεί

� Οπτική του «Πώς»¡ δίνεται έµφαση στον τρόπο µε τον οποίο θα γίνει η αφαίρεση¡ στις µεθόδους αφαίρεσης που θα χρησιµοποιηθούν

Page 9: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Μέθοδοι Αφαίρεσης

� Δύο µέθοδοι αφαίρεσης:¡ Εξάλειψη (Elimination)¡ Συνένωση (Aggregation)

� Για να εφαρµοσθεί η αφαίρεση πρέπει να πληρούνται ορισµένες προϋποθέσεις¡ Κανόνες αφαίρεσης

� Η αφαίρεση εφαρµόζεται στα συστατικά στοιχεία των BPMN µοντέλων¡ Όχι µόνο στα activities, αλλά και στα data, στους

participants, στα artifacts κ.ο.κ

Page 10: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Κανόνες Αφαίρεσης

Κάθε κανόνας διαρθρώνεται ως εξής:� ΒΡΜΝ στοιχείο: Δηλώνει την κατηγορία του ΒΡΜΝ στοιχείου που αναφέρεται ο κανόνας. Κάθε κανόνας περιγράφεται µε µία από τις κατηγορίες ΒΡΜΝ στοιχείων (Lanes, Tasks, Message Flows, Data Objects, Text Annotations).

� Abstraction Object: Δηλώνει το στοιχείο ή στοιχεία του µοντέλου θα υποστούν την Αφαίρεση. ¡ Οπτική του «Γιατί»

� Συνθήκη: Περιγράφει τη συνθήκη που πρέπει να ισχύει για να γίνει η Αφαίρεση. ¡ Οπτική του «Πότε»

� Μέθοδος αφαίρεσης: Δηλώνει τη µέθοδο Αφαίρεσης θα χρησιµοποιηθεί. ¡ Οπτική του «Πως»

Page 11: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Κανόνες Αφαίρεσης

� Αφαίρεση στα Lanes� Αφαίρεση στα Text Annotations� Αφαίρεση στα Data Objects� Αφαίρεση στα Message Flows� Αφαίρεση στα Tasks

Page 12: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Σειρά Εφαρµογής Κανόνων Αφαίρεσης

Page 13: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Lanes

� Lane: αντιπροσωπεύει κάποιο ρόλο ενός Participant

� ΒΡΜΝ στοιχείο: Lane� Abstraction Object: Role� Συνθήκη: Lanes που αφορούν σε διαφορετικούς ρόλους του ίδιου Participant

� Μέθοδος αφαίρεσης: Συνένωση

*Ο κανόνας συνενώνει όλα τα lane sets που υπάρχουν στο διάγραµµα

Page 14: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Lanes

Page 15: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Lanes

Page 16: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Text Annotation

� Κείµενο για σχόλια/επιπλέον πληροφορίες� ΒΡΜΝ στοιχείο: Text Annotation� Abstraction Object: Text Annotation� Συνθήκη: Πάντα� Μέθοδος αφαίρεσης: Εξάλειψη

Page 17: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Text Annotation

Page 18: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Tasks 1

� ΒΡΜΝ στοιχείο: Ακολουθία από Tasks� Abstraction Object: Tasks� Συνθήκη:

¡ Ακολουθίες από Tasks ίδιου τύπου ¡ Χρησιµοποιούν όλα τα ίδια Data Objects ή κανένα δε χρησιµοποιεί κάποιο Data Object

¡ Θέτονται σε ενέργεια από το ίδιο event¡ Εκτελούνται από ίδιο Participant

� Μέθοδος αφαίρεσης: Συνένωση

Page 19: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Tasks 1:Κατηγορίες Ακολουθιών από Tasks

� Ακολουθίες ενδιάµεσα σε Events

� Ακολουθίες ενδιάµεσα σε Gateways

Page 20: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Tasks 1:Κατηγορίες Ακολουθιών από Tasks

� Ακολουθίες ενδιάµεσα σε Sub-Processes

Page 21: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Tasks 1:Κατηγορίες Ακολουθιών από Tasks

� Ακολουθίες ενδιάµεσα σε συνδυασµό των παραπάνω κατηγοριών

Page 22: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Tasks 1

Page 23: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Tasks 2

� ΒΡΜΝ στοιχείο: Task� Abstraction Object: Task� Συνθήκη:

¡ Είναι τύπου Business Rule, Manual ή Script¡ Δεν εµπλέκονται σε ανταλλαγή µηνυµάτων¡ Δεν παράγουν και δεν απαιτούν data objects

� Μέθοδος αφαίρεσης: Εξάλειψη

Page 24: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Tasks 2

Page 25: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Εντοπισµός Ακολουθιών από Tasks

Για εφαρµοστεί η Αφαίρεση στα Tasks χρειάζεται να γίνειο εντοπισµός των ακολουθιών από Tasks του ίδιου τύπου

� Ακολουθίες ενδιάµεσα σε Events � Ακολουθίες ενδιάµεσα σε Gateways� Ακολουθίες ενδιάµεσα σε Sub-Processes� Ακολουθίες ενδιάµεσα σε συνδυασµό των παραπάνω κατηγοριών

� Ακολουθίες µέσα σε loop

*Θεωρούµε ότι κάθε loop συνοδεύεται από µια συνθήκη και επαναλαµβάνεται η εκτέλεσή του όσο η συνθήκη είναι αληθής. Μια συνθήκη αναπαρίσταται µε ένα Gateway

Page 26: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Ακολουθίες από Tasks 1

Page 27: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Ακολουθίες από Tasks 2

Page 28: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Ακολουθίες από Tasks 3

Page 29: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Data Objects 1

� ΒΡΜΝ στοιχείο: Data Object� Abstraction Object: Data� Συνθήκη: Ένα data object συνδέεται σε ένα

µόνο flow element (sub-process ή Task)� Μέθοδος αφαίρεσης: Εξάλειψη

Page 30: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Data Objects 2

� ΒΡΜΝ στοιχείο: Data Object� Abstraction Object: Data� Συνθήκη: Παραπάνω από ένα data objects ίδιου τύπου συνδέονται στο ίδιο Activity είναι όλα παραγόµενα ή απαιτούµενα από το Activity

� Μέθοδος αφαίρεσης: Συνένωση

Page 31: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Data Objects 3

� ΒΡΜΝ στοιχείο: Data Object� Abstraction Object: Data� Συνθήκη: Παραπάνω από ένα data objects ίδιου τύπου συνδέονται σε ακολουθία από Tasks και είναι όλα απαιτούµενα ή όλα παραγόµενα από τα Tasks της ακολουθίας

� Μέθοδος αφαίρεσης: Συνένωση

Page 32: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Data Objects

Page 33: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Data Objects

Page 34: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Data Objects

Page 35: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Message Flows

� ΒΡΜΝ στοιχείο: Message Flow� Abstraction Object: Message� Συνθήκη: Ανταλλάσσονται παραπάνω από ένα

µηνύµατα¡ Ανάµεσα σε δύο συγκεκριµένα τµήµατα του process (Task

, event, sequence, pool, loop, expanded sub-process)¡ Κάθε τµήµα του process ανήκει σε διαφορετικό

participant¡ Εισερχόµενα προς το ένα και εξερχόµενα προς το άλλο

� Μέθοδος αφαίρεσης: Συνένωση

Page 36: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Message Flows

Page 37: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αφαίρεση στα Message Flows

Page 38: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Είδη/Επιλογές Αφαίρεσης στα πλαίσια της εφαρµογής

� Default/Global Abstraction¡ Εξαλείφει και συνενώνει τα όλα τα υποψήφια προς αφαίρεση στοιχεία χωρίς να υπάρξει αλληλεπίδραση µε το χρήστη

¡ Δε λαµβάνει υπόψη επιλεκτικά κάποιο σηµείο του διαγράµµατος, ούτε και κάποιο συγκεκριµένο είδος στοιχείου

� Selective/Local Abstraction¡ Δίνει τη δυνατότητα να ορίσει ο χρήστης σε ποιο σηµείο του µοντέλου θα γίνει η αφαίρεση(πχ σε µέσα σε ένα µεγάλο loop µόνο) και ποια είδη στοιχείων (πχ τα lanesµόνο) θα αφαιρεθούν

¡ Αξιολογεί ένα προς ένα τα στοιχεία, αν θα εξαλειφθούν, αν θα συνενωθούν ή αν θα µείνουν ως έχουν

Page 39: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Agenda

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Page 40: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Λειτουργικότητα του εργαλείου

� Παίρνει σαν είσοδο ένα αρχικό µοντέλο BPMN � Στο αρχικό µοντέλο εφαρµόζει τους κανόνες της αφαίρεσης

� Δίνει σαν έξοδο ένα άλλο µοντέλο στο οποίο έχει εφαρµοστεί η αφαίρεση

� Το τελικό µοντέλο συσχετίζεται µε το αρχικό, αφού στην ουσία πρόκειται για µια απλούστερη µορφή του

� Δίνει σαν έξοδο, επίσης, τα στατιστικά στοιχεία της αφαίρεσης

� Παρέχει τη δυνατότητα της επιπλέον επεξεργασίας, µέσω της οποίας ο χρήστης επιλέγει σε ποια στοιχεία του µοντέλου επιθυµεί να γίνει η αφαίρεση

Page 41: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Βασικές λειτουργίες του εργαλείου

1. Κατασκευή ενός BPMN µοντέλου2. Ανέβασµα αρχείου που περιέχει ένα ΒΡΜΝ

µοντέλο3. Εφαρµογή της Default/Global Abstraction4. Εφαρµογή της Selective/Local Abstraction5. Αναζήτηση στο ιστορικό6. Αποθήκευση µοντέλου στον υπολογιστή του χρήστη

Page 42: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

1.Κατασκευή BPMN µοντέλου

� ΕίσοδοςΤο µοντέλο που έχει σχεδιάσει στο χαρτί ή έχει στο µυαλό του να σχεδιάσει ο χρήστης

� ΛειτουργικότηταΚατασκευή του µοντέλου από τον χρήστη µέσω του σχεδιαστικού εργαλείο του bpmn.io

� ΈξοδοςTο µοντέλο που έχει σχεδιάσει ο χρήστηςγράφεται σε αρχείο που αποθηκεύεται στον υπολογιστή του χρήστη

Page 43: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

2.Ανέβασµα αρχείου που περιέχει ένα ΒΡΜΝ µοντέλο

� Είσοδος¡ Το αρχείο .bpmn στο οποίο περιέχεται το ΒΡΜΝ µοντέλο ¡ Μπορεί να έχει παραχθεί από την προηγούµενη διαδικασία

� Έλεγχος ¡ Ύπαρξη αρχείου¡ Μορφή αρχείου (.bpmn ή .bpmn2)¡ Επανάληψη διαδικασίας µέχρι να ολοκληρωθεί σωστά το ανέβασµα

� Λειτουργικότητα¡ Το αρχείο ανεβαίνει από τον υπολογιστή του χρήστη στον server

� Έξοδος¡ Μήνυµα για την επιτυχία ανεβάσµατος του αρχείου¡ Σε περίπτωση αποτυχίας, ο χρήστης καλείται να επαναλάβει τη διαδικασία του ανεβάσµατος, ώστε να συνεχίσει στην εφαρµογή

Page 44: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

3.Εφαρµογή της Default/Global Abstraction

� Είσοδος¡ Το µοντέλο που περιέχεται στο αρχείο που ανέβασε ο χρήστης

� Έλεγχος¡ Αν το µοντέλο δεν είναι έγκυρο σύµφωνα µε την Camunda 7.6¡ Ανέβασµα ενός αρχείου που περιέχει έγκυρο µοντέλο

� Λειτουργικότητα¡ Γίνεται σε δύο φάσεις (Εδώ δεν είναι διακριτές)¡ Ορίζονται τα υποψήφια προς αφαίρεση στοιχεία ύστερα από την εφαρµογή των κανόνων αφαίρεσης

¡ Συνενώνονται ή εξαλείφονται όλα� Έξοδος

¡ Το µοντέλο µετά την εφαρµογή της Default/Global Abstractionκαι τα στατιστικά Αφαίρεσης

Page 45: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

4.Εφαρµογή της Selective/Local Abstraction

� Είσοδος¡ Το µοντέλο που περιέχεται στο αρχείο

� ΛειτουργικότηταΓίνεται σε δύο φάσεις, που σε αυτό το σηµείο είναι διακριτές

¡ Φάση 1÷ Ορίζονται τα υποψήφια προς αφαίρεση στοιχεία÷ Παρουσιάζονται στο χρήστη÷ Του ζητείται να αποδεχτεί ή να απορρίψει την αφαίρεση για κάθε στοιχείο

÷ Η έξοδος της φάσης αυτής είναι οι επιλογές του χρήστη¡ Φάση 2

÷ Η είσοδος της φάσης αυτής εκτός από το µοντέλο είναι και η έξοδος της φάσης 1

÷ Συνενώνονται, εξαλείφονται ή παραµένουν όποια στοιχεία επιθυµεί ο χρήστης.

� Έξοδος¡ Το µοντέλο µετά την εφαρµογή της Selective/Local Abstractionκαι τα στατιστικά της Αφαίρεσης

Page 46: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

5.Αναζήτηση στη Ιστορικό

� Είσοδος¡ Το αρχείο που εισήχθη και ανέβηκε στον server

� Έλεγχος¡ Αν το µοντέλο που περιέχει το αρχείο έχει υποστεί ήδη επεξεργασία¡ Ο έλεγχος αυτός προηγείται της εκτέλεσης της Default/Global

Abstraction και της Selective/Local Abstraction¡ Αναζήτηση στη ΒΔ¡ Αποτέλεσµα

÷ Το πολύ δύο µοντέλα και δύο σετ από στατιστικά¢ Κανένα αποτέλεσµα από τη ΒΔ¢ Default/Global Abstraction¢ Default/Global Abstraction και Selective/Local Abstraction

� Έξοδος¡ Ο χρήστης µπορεί να δει και να αποθηκεύσει όποιο αποτέλεσµα θέλει ή να τα αγνοήσει

¡ Το µοντέλο και τα στατιστικά του µοντέλου που θα επιλέξει

Page 47: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

6.Αποθήκευση µοντέλου στον υπολογιστή του χρήστη

� ΕίσοδοςΤο µοντέλο που είναι έξοδος από µία από τις λειτουργίες:¡ «Αναζήτηση στο Ιστορικό»¡ «Εφαρµογή της Default/Global Abstraction» ¡ «Εφαρµογή της Selective/Local Abstraction»

� Λειτουργικότητα¡ Αν επιθυµεί ο χρήστης το µοντέλο γράφεται σε αρχείο και το αρχείο αποθηκεύεται στον υπολογιστή του.

¡ Η αποθήκευση του αρχείου γίνεται σε προκαθορισµένο φάκελο� ΈξοδοςΜήνυµα για:¡ Την επιτυχία ή όχι της αποθήκευσης του αρχείου ¡ Το φάκελο στο σύστηµά του, στο οποίο µπορεί να βρει το αρχείο

Page 48: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Agenda

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Page 49: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αρχιτεκτονική εργαλείου

� client-server technology � 3-tier architecture

Page 50: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αρχιτεκτονική 3 επιπέδων

� Επίπεδο 1 (Presentation Layer)¡ Browsers για πρόσβαση στην εφαρµογή¡ Μετατροπή του κώδικα των jsp σελίδων (σε µορφή κατανοητή από τον χρήστη)

¡ Οπτικοποίηση διαγραµµάτων (bpmn.io)� Επίπεδο 2 (Business Logic Layer)

¡ Web Server: Apache Tomcat version 8.0.24¡ Jsp σελίδες¡ Java program (application)¡ Επικοινωνία µε τη βάση δεδοµένων

� Επίπεδο 3 (Database Services Layer)¡ PostgreSQL

Page 51: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Αρχιτεκτονική 3 επιπέδων

� Προγραµµατιστικό περιβάλλον ¡ Eclipse Neon, Java EE Developer Edition¡ Apache Tomcat 8.0.24¡ JDBC driver

Page 52: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Προγραµµατισµός στον server

� Server-side programs¡ Java

÷ Servlets÷ JSPs

� Client-side programs¡ scripts που έχουν γραφεί στις JSP σελίδες µε Scriplet

Page 53: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Το εργαλείο ως Web εφαρµογή

� Client-Server Technology� 3-tier Architecture� Java� Servlets & JSP pages� HTTP protocol over TCP/IP� JavaScript� Scriplet� CSS

Page 54: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Προγράµµατα, Βιβλιοθήκες, jar files κ.ά.

¡ Eclipse Neon, Java EE Developer Edition¡ Apache Tomcat 8.0.24¡ Camunda 7.6, για παροχή διεπαφών του ΒΡΜΝ στη Java¡ git, npm & bower¡ bpmn-io/bpmn-js, για προβολή µοντέλων¡ Refresher for Eclipse ¡ Jar files για το ανέβασµα αρχείου (common-io-2.4 &

common-fileupload-1.2.2)¡ PostgreSQL Database 9.6

Page 55: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Agenda

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Page 56: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Ας δούµε και την εφαρµογή…

Page 57: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Agenda

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Page 58: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

1.Καθορισµός απαιτήσεων

� Για το εργαλείο που αναπτύχτηκε� Για το πλάνο εργασίας και το χρονοδιάγραµµα

Page 59: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

2.Διάβασµα Βιβλιογραφίας

� Για το πρότυπο µοντελοποίησης επιχειρησιακών διαδικασιών BPMN 2.0

� Για τους κανόνες αφαίρεσης επιχειρησιακών διαδικασιών

Page 60: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

3.Σχεδιασµός

� Λειτουργικότητα και λειτουργικές προδιαγραφές του εργαλείου

� Αρχιτεκτονική του εργαλείου� Διαγράµµατα UML

¡ Activity¡ Class¡ Component¡ Deployment

Page 61: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

4.Προπαρασκευαστικό στάδιο για την υλοποίηση του εργαλείου

� Διάβασµα για τις γλώσσες προγραµµατισµού του εργαλείου

� Εγκατάσταση προγραµµάτων, βιβλιοθηκών, server, plug-ins και κάποιων ήδη υλοποιηµένων προγραµµάτων

Page 62: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

5.Σκελετός εφαρµογής

� Κατασκευή JSP σελίδων� Servlets� web.xml αρχείο, που ορίζει το πώς θα καλείται το κάθε servlet

� Σύνδεση της εφαρµογής µε τον Server� Δοκιµαστικές εφαρµογές, για την αλληλουχία των σελίδων και την επιβεβαίωση της ορθής λειτουργίας των servlets

Page 63: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

6.Ενασχόληση µε τη βιβλιοθήκη για την BPMN 2.0

� Έρευνα για την επιλογή της καταλληλότερης� Επιλογή βιβλιοθήκης και εγκατάσταση αυτής� Μελέτη της βιβλιοθήκης για:

¡ Parsing bpmn αρχείων¡ Συµπεριλαµβανόµενες κλάσεις¡ Διαχείριση των µοντέλων και των συστατικών στοιχείων της

bpmn¡ Τροποποίηση µοντέλων¡ Γράψιµο µοντέλων σε αρχείο¡ Εντοπισµό ελλείψεων και ανάλογος χειρισµός αυτών¡ Δοκιµές

Page 64: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

7.Υλοποίηση κλάσεων

� Κώδικας για τον εντοπισµό και τη διαχείριση µονοπατιών µέσα στο µοντέλο

� Κώδικας για τους κανόνες αφαίρεσης, που επιστρέφουν τα υποψήφια για αφαίρεση στοιχεία

� Κώδικας για την εφαρµογή της αφαίρεσης στα στοιχεία αυτά

� Κώδικας για υπολογισµό των στατιστικών της αφαίρεσης

� Κατασκευή αρχείων .bpmn για την επαλήθευση της ορθής λειτουργίας

Page 65: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

8.Προβολή και κατασκευή µοντέλων

� Προβολή µοντέλων¡ Εγκατάσταση npm και bower¡ Προσθήκη έτοιµου κώδικα javascript¡ Προσθήκη refresher και χρονοκαθυστέρησης για την προβολή των µοντέλων

� Κατασκευή µοντέλων¡ Προσθήκη υπερσυνδέσµου στην εφαρµογή που µεταφέρει τον πελάτη σε κάποιο site για την κατασκευή µοντέλων

Page 66: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

9.Βάση Δεδοµένων

� Σύνδεση της εφαρµογής µε µία βάση δεδοµένων¡ Για αποθήκευση µοντέλων που έχουν υποστεί αφαίρεση ¡ Για αποθήκευση στατιστικών στοιχείων¡ Για αποφυγή της επεξεργασίας ενός ήδη επεξεργασµένου αρχείου κατά το παρελθόν

¢ Ανάκτηση αρχείου και στατιστικών

Page 67: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

10.Εµφάνιση της εφαρµογής

� Προσθήκη CSS στις JSP σελίδες για την εµφάνιση του εργαλείου στο χρήστη¡ Επιλογή γραµµατοσειράς¡ Φόντου¡ Χρωµάτων¡ Και άλλα

Page 68: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

Ερωτήσεις

Page 69: Αφαίρεση BPMN Μοντέλων - 2019/Διαφάνειες...Αφαίρεση Μοντέλων ΕΔ: τι είναι και που χρησιµεύει Δηµιουργείται

ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ ΑΦΑΙΡΕΣΗΣΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ

BPMN Abstraction Tool