Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ. Σπύρος Κοκολάκης sak@aegean.gr ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Διάλεξη 5 Ε’ Εξάμηνο 2012-2013
Stage 1: Διερεύνηση Τρεχουσών Απαιτήσεων – Investigation of Current Requirements
Business Activity Model - Μοντέλο Επιχειρηματικών Δραστηριοτήτων Παρουσιάζει τις βασικές δραστηριότητες της επιχειρηματικής περιοχής που μελετάμε. Χρησιμοποιείται για να οριοθετήσουμε την περιοχή που θα αναλύσουμε. Βοηθά στην επιλογή των λύσεων που θα υλοποιήσουμε Βοηθά στην επικοινωνία με τους χρήστες. Διακρίνουμε φυσικές δραστηριότητες και ‘λογικές’ δραστηριότητες.
Business Activity Model: Συλλογή πληροφοριών Συνεντεύξεις Εξέταση τεκμηρίωσης προηγούμενων μελετών ή υφιστάμενων συστημάτων Ερωτηματολόγια Επισκόπηση της εργασίας της επιχείρησης Ημερίδες – workshops Brainstorming
Work practice modelling –Μοντελοποίηση εργασιακών πρακτικών Ενώ το Business Activity Model ορίζει τις επιχειρηματικές δραστηριότητες με βάση το τι και πότε, το Work Practice Model προδιαγράφει ποιος εκτελεί κάθε εργασία, πού, πώς και ίσως γιατί. Το μοντέλο περιλαμβάνει: Κατάλογο χρηστών (user catalogue) Μοντέλα εργασιών (task models)
Work practice modelling –Μοντελοποίηση εργασιακών πρακτικών Πρότεινε προϊόντα για αγορά D Αγοραστής Το έργο του Αγοραστή είναι εκτός συστήματος. Ο αγοραστής εξετάζει το στοκ…. Κατάγραψε προτεινόμενες παραγγελίες Υπάλληλος Ε.Π. Οι υπάλληλοι που έχουν τις Εντολές Παραγγελίας καταχωρούν δύο αντίγραφα… Κανόνισε παράδοση Υπάλληλος Αποθήκης Κανονίζει με τους προμηθευτές ημ/νία και ώρα παράδοσης Βάλε τα αγαθά στην πλατφόρμα Αποθηκά-ριος Βάζει τα αγαθά που παρελήφθησαν στην πλατφόρμα παραλαβής
Κατάλογος χρηστών Κατάλογος χρηστών Ρόλος χρήστη Υπευθυνότητα Υπάλληλος προμηθειών Υποβολή Εντολών Παραγγελίας (Καταγράφει αιτήσεις αγορών, Βρίσκει προμηθευτές, …) Υπεύθυνος Διανομής Αποστολή προϊόντων στους πελάτες (Συγκεντρώνει προϊόντα προς αποστολή, Αποστέλλει προϊόντα)
Investigate & Define Requirements Λειτουργικές απαιτήσεις Μη-λειτουργικές απαιτήσεις Κατάλογος απαιτήσεων
Μη-λειτουργικά ζητήματα Σύστημα: SRW Πηγή: Τμ. Αποθήκης, Προτεραιότητα: Δ, Χρήστης: Χ.Ζ., Κωδ.: 14 Λειτουργική απαίτηση: Να ενημερώνει για καθυστερημένες παραδόσεις Μη-λειτουργικά ζητήματα Περιγραφή Τιμή στόχος Αποδεκτές τιμές Σχόλια Διαθεσιμό-τητα 9:00-8:00 Δε-Σα Απόκριση <2’ Το πρωί είναι… Οφέλη: Θα μας δώσει τη δυνατότητα να παρακολουθούμε την… Σχόλια/Λύσεις: ---- Σχετικά έγγραφα: Σημειώσεις συνεντεύξεων Νο.3 Επίλυση: Μέρος του BSO1, αποδεκτή προς ενσωμάτωση
Κατάλογος απαιτήσεων 1: Παρουσίασε αναφορά stock 2: Κατάγραψε προτεινόμενες εντολές προμηθειών 3: Επιβεβαίωσε εντολή προμηθειών 4: Κατάγραψε παραγγελία πελάτη 5: Επέτρεψε πολλαπλές παραλαβές εντολών προμηθειών 6: …. 7: 8: 9: 10: 11: 12: 13:
Investigate Current Processing Διαγράμματα Ροής Δεδομένων Διάγραμμα πλαίσιο (context diagram) Διάγραμμα επιπέδου 1 Προσοχή στις διαφορές στον συμβολισμό στην αρίθμηση (επίπεδο 0 = διάγραμμα πλαίσιο, γενικότερο διάγραμμα το διάγραμμα επιπέδου 1) γενικά πιο χαλαροί κανόνες
ZigZag Warehouse System Accounts e Customer d Purchaser b Sales and Marketing c Delivery Details Delivery Note Supplier a Purchase Order P.O.Quantities Despatch Note Matched Invoice Customer Order Matched C.O. Copy #1 Invoice Payment Stock Report Rejected P.O. Copy #2 Matched P.O.
Investigate Current Processing Ανάπτυξη ΔΡΔ – Διάφορες τεχνικές Business Activity Models Resource Flow Diagrams Document Flow Diagrams Despatch Supervisor Despatch Report Matched Despatch Rpt Sales and Marketing Customer Order Matched C.O. Copy #1 Despatch Clerk
BAM => DFD 2 Goods Receiving b Check Supplier Delivery Delivery Note Place Goods in Delivery Dock P.O. Copy Matched P.O. M1 Purchase Orders Allocate Stock Location T2 Matched P.O.’s Matched P.O. Remove Goods from Delivery Dock M2 Stock New Stock 3 Stock Keeping Store Stock Store Goods in Depot
Investigate Current Processing Kατασκευάζουμε “Current Physical Data Flow Model” (Φυσικό ΔΡΔ Τρέχοντος Συστήματος) Περιγραφές εξωτερικών οντοτήτων Λεξικό Περιγραφές επεξεργασιών (Elementary Process Description) Γενική και όχι αναλυτική περιγραφή Περιγραφές I/O
Περιεχόμενο δεδομένων Ι/Ο Περιγραφή Από Προς Όνομα ροής δεδομένων Περιεχόμενο δεδομένων Σχόλια β 1.1 Ποσότητες Ε.Π. Κωδ. Αποθήκης Κωδ. Προϊόντος Αιτούμενη ποσότητα … Ο αγοραστής πρέπει να… α Προτεινόμενη Ε.Π. Κωδ. Ε.Π. Κωδ. Προμηθ. Όνομα Προμηθ. …. Κάθε Ε.Π. περιέχει αρκετές γραμμές (<12)
Investigate Current Data Logical Data Modelling – LDM Πρόκειται για Διαγράμματα Οντοτήτων – Συσχετίσεων (Entity – Relationship Diagrams, E-R) Αποτελείται από δύο μέρη: Τα διαγράμματα (Logical Data Structure) Κείμενο περιγραφής κάθε στοιχείου του διαγράμματος
Investigate Current Data Οντότητες – Σχέσεις μεταξύ οντοτήτων
Investigate Current Data Optionality Εντολή Προμήθειας Προμηθευτής αναλαμβάνει να εκτελέσει ανατίθεται σε
Investigate Current Data Η επεξεργασία συνεχίζεται ώστε να έχουμε μόνο σχέσεις ένα-προς-πολλά (master-detail), να προσδιορίσουμε όλα τα γνωρίσματα κάθε οντότητας, να απαλλαγούμε από σχέσεις που δεν έχουν νόημα ή δεν χρειάζονται, να εξασφαλίσουμε ότι κάθε οντότητα είναι «προσβάσιμη» (access paths), να βεβαιώσουμε ότι για κάθε οντότητα υπάρχει αντίστοιχη επεξεργασία που τη δημιουργεί, την ενημερώνει κ.λπ.
Investigate Current Data
Investigate Current Data Η τεκμηρίωση ολοκληρώνεται με την αναλυτική περιγραφή κάθε οντότητας: Όνομα και σύντομη περιγραφή. Γνωρίσματα, πρωτεύον κλειδί, ξένο κλειδί, mandatory/optional. Ποσότητες Χρήστες Πρόσβαση κάθε χρήστη (Read, Create, Delete, Modify) Ρυθμός αύξηση της ποσότητας Αρχειοθέτηση
Derive Logical View of Current Services Εξαγωγή λογικής άποψης τρεχουσών υπηρεσιών Ομαδοποιούμε τις οντότητες του λογικού μοντέλου δεδομένων, έτσι ώστε μία ομάδα οντοτήτων να αντιστοιχεί σε ένα αρχείο. Μετατρέπουμε το φυσικό ΔΡΔ σε λογικό ΔΡΔ. Προσοχή στην αντιστοιχία ΔΡΔ και Λογικού Μοντέλου Δεδομένων.
Assemble Investigation Results (Συγκέντρωσε τα αποτελέσματα) Διάγραμμα πλαίσιο Λογικό Διάγραμμα Ροής Δεδομένων Λογικό Μοντέλο Δεδομένων Κατάλογος απαιτήσεων Κατάλογος χρηστών
Stage 2: Business System Option
Stage 2: Business System Option Έχουμε ήδη αναφερθεί στην εναλλακτικές λύσεις. Μόνο που μέχρι τώρα οι λύσεις στις οποίες αναφερόμασταν ήταν πολύ γενικές. Τώρα θα τις εξειδικεύσουμε. Δύο δραστηριότητες: Define BSOs: Όρισε επιχειρηματικές επιλογές Select BSOs: Επέλεξε επιχειρηματική επιλογή
Ορίζοντας και διαλέγοντας BSOs Μία επαναληπτική διαδικασία
Προσδιόρισε ελάχιστες απαιτήσεις Πάρε τον κατάλογο με τις απαιτήσεις Εξέτασε ποιες από αυτές είναι άκρως απαραίτητες και δεν θα μπορούσαμε να έχουμε σύστημα χωρίς αυτές.
Φτιάξε προσχέδιο BSOs Για κάθε BSO θα πρέπει να έχουμε (εκτός της περιγραφής και των απαιτήσεων, από τον κατάλογο, που περιλαμβάνει): Εκτίμηση κόστους Απαιτούμενος χρόνος υλοποίησης Τεχνική περιγραφή (γενική, σε υψηλό επίπεδο αφαίρεσης) Διεπαφές με το χρήστη Βασική αρχιτεκτονική του συστήματος Όγκος δεδομένων και συναλλαγών (εκτίμηση) Βασικά οφέλη Επίπτωση στον οργανισμό και σε άλλα συστήματα
Φτιάξε προσχέδιο BSOs BSO-1: Οι ελάχιστες απαιτήσεις
Διάλεξε υποσύνολο BSOs και ανάλυσέ το Δεν βιαζόμαστε να επιλέξουμε μία λύση Επιλέγουμε 2-3 λύσεις και προχωράμε σε περαιτέρω ανάλυση Ανάλυση Κόστους/Οφέλους Ανάλυση Επιπτώσεων Σχέδια ανάπτυξης και ‘ολοκλήρωσης’ Φτιάξε ένα πιθανό πλάνο έργου για το κάθε ένα.
Παρουσίαση των BSO Παρουσίαση Διαφάνειες Αναφορές Πρωτότυπα και επίδειξη Έμφαση σε δυνατά σημεία και αδυναμίες Συχνά η Επιτροπή Έργου θα ζητήσει ένα υβριδικό BSO ή ένα εντελώς καινούργιο. Ίσως να σταματήσει το έργο τελείως.
Επιλογή και τεκμηρίωση BSO Πλήρης τεκμηρίωσή του ΔΡΔ Λογικό Μοντέλο Δεδομένων Κατάλογος χρηστών συστήματος
Stage 3: Definition of Requirements
Stage 3: Definition of Requirements Define required system processing Λογικό μοντέλο ροής δεδομένων νέου συστήματος Develop required data model Λογικό μοντέλο δεδομένων νέου συστήματος Derive system functions Develop user job specifications Enhance required data model Develop specification prototypes Develop processing specification Confirm system objectives Assemble requirements specification
Derive system functions – Εξαγωγή λειτουργιών συστήματος Οι υπηρεσίες που προσφέρει το πληροφοριακό σύστημα στους χρήστες ονομάζονται ‘λειτουργίες’ Οι λειτουργίες που μπορεί να αξιοποιήσει ένας χρήστης εξαρτώνται από το ρόλο του χρήστη Οι λειτουργίες είναι συνήθως προσβάσιμες μέσω κάποιων menu Οι λειτουργίες αυτές συνήθως εμπλέκουν το χρήστη σε κάποιον ‘διάλογο’ με το σύστημα
Derive system functions – Εξαγωγή λειτουργιών συστήματος Ορισμός Λειτουργίας: Μία Λειτουργία είναι ένα σύνολο επεξεργασιών που οι χρήστες θέλουν να εκτελούνται μαζί Μία Λειτουργία είναι ένα σύνολο επεξεργασιών που ανταποκρίνονται σε κάποιο γεγονός Μία Λειτουργία είναι το βασικό στοιχείο στο οποίο στηρίζεται ο φυσικός σχεδιασμός του συστήματος
Είδη Λειτουργιών Αναζήτηση ή Ενημέρωση On-line ή Off-line Ενεργοποίηση από το χρήστη ή ενεργοποίηση από το σύστημα
Το μοντέλο της Λειτουργίας Input Function Process Events Enquiry Triggers Control Errors Syntax Database Integrity Event & Output Error Valid Function Definition Boundary Update or
Προσδιορισμός Λειτουργιών 1 2 3 1 Maintain Purchase Order Purchase Orders D1 Purchaser b Depot D6 Suppliers D7 Supplier a Products D3 Stock Clerk i * Create Proposed Purchase Order 1.1 Confirm Order 1.2 Arrange Delivery 1.3 Proposed P.O. Amended P.O. P.O.Quantities Depot Address Details Product Details Schedule Availability
Ορισμός Λειτουργίας/Function Definition Όνομα: Παράδοση Βιβλίου Κωδικός: 3 Τύπος λειτουργίας: Update/On-Line/User Περιγραφή λειτουργίας: Οι προμηθευτές επικοινωνούν με την αποθήκη για να κανονίσουν την παράδοση μίας ή περισσοτέρων Εντολών Παρ. … Γεγονότα/Business Events: Συμφωνία παράδοσης, Προσθήκη παράδοσης Δραστηριότητες: Κανόνισε παράδοση, Φτιάξε πλάνο παραδόσεων Γεγονότα συστήματος/System Events: Πλάνο νέας παράδοσης Ρόλοι χρηστών: Προγραμματιστής παραδόσεων Διαχείριση σφαλμάτων: Η συναλλαγή τερματίζεται αν τα προϊόντα δεν… Επεξεργασία ΔΡΔ: 1.3 (Κανόνισε παράδοση) Δομές I/O: 3.1 Περιγραφές I/O: α – 1.3, β-1.3 Αναφορά σε απαίτηση: ν.10 Συναφείς λειτουργίες: καμία
Διάλογος με το χρήστη Function User Role Delivery Scheduler Goods In Clerk Purchaser P. O. Clerk Stock Keeper Function User Role
Develop user job specifications Προσδιόρισε τις εργασίες που γίνονται στο σύστημα Αντιστοίχισε εργασίες σε ρόλους Προσδιόρισε αλληλεπίδραση ρόλων χρηστών με το σύστημα
Enhance required data model Κανονικοποίηση (Normalisation) 3NF τουλάχιστον
Develop specification prototypes PROJECT MANAGEMENT TEAM LEADER Prototyping Scope & Objectives Prototyping Report USER Define/ Redefine Scope Develop Prototype Demonstrate or Operate Review
Develop processing specification – Ανάπτυξε προδιαγραφές επεξεργασίας
Stage 4: Technical Systems Options Προσδιόρισε τις τεχνικές επιλογές (TSOs) Γενική περιγραφή Ανάλυση επιπτώσεων Σχέδιο υλοποίησης Ανάλυση κόστους/οφέλους Επέλεξε TSO
Stage 5: Logical Design Όρισε και σχεδίασε διάλογο με τους χρήστες Όρισε τις διαδικασίες ενημέρωσης Όρισε τις διαδικασίες αναζήτησης Συγκέντρωσε τεκμηρίωση λογικού σχεδιασμού
Stage 6: Physical Design Προετοίμασε φυσικό σχεδιασμό Δημιούργησε φυσικό σχέδιο δεδομένων Δημιούργησε πλάνο υλοποίησης των φυσικών τμημάτων Βελτιστοποίησε φυσικό σχεδιασμό δεδομένων Ολοκλήρωσε τις προδιαγραφές λειτουργιών (function) Ενίσχυσε (consolidate) τη διεπαφή επεξεργασίας δεδομένων Σύνθεσε το φυσικό σχεδιασμό
Βασικά χαρακτηριστικά SSADM ... Μ. Βρετανία, εφαρμογή στο δημόσιο τομέα Σπάζει το έργο σε τμήματα (φάσεις, στάδια, βήματα, εργασίες) Προσαρμόζεται εύκολα (;) στις ανάγκες της κάθε περίπτωσης (ανάλογα με την εμπειρία του αναλυτή) Καθοδηγείται από την ανάλυση δεδομένων
… Βασικά χαρακτηριστικά SSADM Επαλήθευση σε κάθε στάδιο, συγκριτικοί έλεγχοι (επαναλαμβανόμενα στοιχεία) Συμμετοχή χρηστών (κυρίως με συνεντεύξεις) Μπορεί να αναλυθεί το ίδιο μέρος του συστήματος από διαφορετικές ομάδες αναλυτών/ σχεδιαστών και από διαφορετικές οπτικές γωνίες Εκτενής μέθοδος, μεγάλος όγκος τεκμηρίωσης
Γιατί SSADM; Βελτιωμένος σχεδιασμός και έλεγχος του έργου Αποτελεσματικότερη αξιοποίηση ειδικευμένου και μη προσωπικού Καλύτερα συστήματα ποιότητας Ανθεκτικότητα στις απώλειες προσωπικού Υποστηρίξιμο από ειδικό λογισμικό Καλή επικοινωνία μεταξύ των αναλυτών και των χρηστών
Εργασίες SSADM Όλα τα σχεδιαγράμματα και τους πίνακες Εργασία (τεύχος τεκμηρίωσης) + παρουσίαση Ακουλουθείστε το template Οι εργασίες hard και soft copy
Σύνοψη SSADM Ερωτήματα … Οι δομημένες μεθοδολογίες Η SSADM