ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Ακαδ. Έτος 2014-2015 ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Ακαδ. Έτος 2014-2015 Εισαγωγή
Δομή μαθήματος Το μάθημα αποτελείται από 3 μέρη: Α μέρος Β μέρος Εισαγωγή στην ανάλυση συστημάτων Β μέρος Αντικειμενοστραφής Ανάλυση καί Σχεδιασμός με τη χρήση UML Γ μέρος Δομημένη Ανάλυση καί Δομημένος Σχεδιασμός ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Τρόπος Διεξαγωγής Μαθήματος και Ανθρώπινο Δυναμικό Διαλέξεις Φροντιστήρια σε UML και Δομημένη Ανάλυση Εργαστήρια σε Case tool για τη UML Ανθρώπινο Δυναμικό Αφροδίτη Τσαλγατίδου, Αναπλ. Καθηγήτρια: Διδάσκουσα, Υπεύθυνη για το μάθημα. Ηλίας Χαλκίδης, Μεταπτυχιακός: υποστήριξη φροντιστηρίων και εργαστηρίων στη UML Γιώργος Λασκαρίδης, Ερευνητής, υποστήριξη φροντιστηρίων στη Δομημένη Ανάλυση
Εκπαιδευτικό Υλικό Διαφάνειες και Ασκήσεις στο e-class Για τη UML: To βιβλίο Εισαγωγή στη UML, του Μartin Fowler, εκδόσεις Κλειδάριθμος Για τη Δομημένη Ανάλυση: Σημειώσεις στο e-class
Εξέταση Μαθήματος Υποχρεωτική Εργασία. Συνεισφέρει 20 – 40% στην τελική βαθμολογία, ανάλογα με το μέγεθός της. Υποχρεωτικές Γραπτές Εξετάσεις Ιουνίου - Σεπτεμβρίου. Συνεισφέρουν 60-80% στην τελική βαθμολογία Τελική Βαθμολογία: άθροισμα βαθμού εργασίας και γραπτών εξετάσεων.
Προσεγγίσεις στην Ανάπτυξη Συστημάτων Πληροφορικής Οι Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής ακολουθούν μία από τις εξής δύο βασικές προσεγγίσεις : Ανάλυση και Σχεδιασμός με βάση τις λειτουργίες ενός συστήματος (Function-Oriented Analysis and Design) Ανάλυση και Σχεδιασμός με βάση τα αντικείμενα ενός συστήματος (Object-Oriented Analysis and Design) Σαν μεθοδολογία ορίζουμε ένα σύνολο από τεχνικές καί εργαλεία καί ένα σύνολο από βήματα που καθοδηγούν τον αναλυτή/σχεδιαστή στην ανάπτυξη ενός συστήματος ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Η ΚΑΤΑΣΚΕΥΗ ΛΟΓΙΣΜΙΚΟΥ ΔΕΝ ΕΙΝΑΙ ΜΟΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ο Προγραμματισμός είναι μόνο ένα μικρό κομμάτι Το Βασικό είναι να γίνει κατανοητός ο χώρος του προβλήματος ΕΠΟΜΕΝΩΣ ΧΡΕΙΑΖΟΝΤΑΙ: Ανάλυση και περιγραφή του προβλήματος Σχεδίαση της λύσης βασισμένη στην κατανόηση του προβλήματος ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Μεθοδολογία Ανάλυσης και Σχεδιασμού Τεχνολογία Υλικού και Λογισμικού ΣΥΣΤΗΜΑ ΛΟΓΙΣΜΙΚΟΥ ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΛΟΓΙΣΜΙΚΟΥ Μια Όψη (Μοντέλο) μέρους της Πραγματικότητας Το Αυτοματοποιημένο Μέρος ενός Πληροφοριακού Συστήματος Ένα Πληροφοριακό Σύστημα Υποστηρίζει τις Λειτουργίες ενός Οργανισμού ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΤΙ ΕΙΝΑΙ ΣΥΣΤΗΜΑ Είναι ένα σύνολο από τμήματα αλληλένδετα μεταξύ τους (Φυσικά ή Λογικά) Τα τμήματα αυτά επηρεάζονται λόγω του ότι αποτελούν μέρος του Συστήματος Τα τμήματα αυτά σαν σύνολο εκτελούν συγκεκριμένες λειτουργίες ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΠΕΡΙΒΑΛΛΟΝ ΣΥΣΤΗΜΑ Αλληλεπίδραση ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΤΙ ΕΙΝΑΙ ΥΠΟΣΥΣΤΗΜΑ Ένα Υποσύστημα ορίζεται με τον ίδιο τρόπο με ένα Σύστημα Διαφέρει μόνο η Οπτική Γωνία Οι οργανισμοί έχουν πολλά Υποσυστήματα Αυτά τα υποσυστήματα έχουν αλληλοκαλυπτόμενα όρια ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΤΥΠΙΚΑ ΣΥΣΤΗΜΑΤΑ Αποθήκη Μισθοδοσία Αρχεία Προσωπικού Πωλήσεις Κρατήσεις θέσεων Έλεγχος εναέριας κυκλοφορίας Συστήματα εντολών και ελέγχου Συστήματα παρακολούθησης διαδικασιών ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΜΕΡΙΚΑ ΤΕΧΝΙΚΑ ΖΗΤΗΜΑΤΑ Οργάνωση Δεδομένων Πρόσβαση και Διαχείριση Δεδομένων Εκτέλεση Διαδικασιών Συγχρονισμός Διαδικασιών Με σκοπό την αντανάκλαση των αντικειμένων και των διαδικασιών του οργανισμού ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΣΤΟΙΧΕΙΑ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ Δεδομένα Σχέσεις μεταξύ των Δεδομένων Ενέργειες Γεγονότα και Ενεργοποιητές (Events and Triggers) Περιορισμοί Περιβάλλον Σημεία Επικοινωνίας (Interfaces) ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΛΟΓΙΣΤΙΚΟ ΥΠΟΣΥΣΤΗΜΑ ΟΡΙΑ ΕΠΙΧΕΙΡΗΣΗΣ Πελάτες Προμηθευτές ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Υποσύστημα Προμηθειών Πελάτες Υποσύστημα Διοίκησης ΛΟΓΙΣΤΙΚΟ ΥΠΟΣΥΣΤΗΜΑ Υποσύστημα Ανάπτυξης Προμηθευτές ΥποσύστημαΠωλήσεων Υποσύστημα Προμηθειών ΟΡΙΑ ΕΠΙΧΕΙΡΗΣΗΣ ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΠΩΛΗΣΕΙΣ ΠΑΡΑΓΩΓΗ ΛΟΓΙΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ Ένα πληροφοριακό σύστημα επικαλύπτει τα διοικητικά και λειτουργικά τμήματα ενός οργανισμού ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΑΠΟΤΕΛΕΣΜΑΤΙΚΟΤΗΤΑ Ένα σύστημα είναι αποτελεσματικό όταν παρέχεται η δυνατότητα οργάνωσης των υποσυστημάτων του: Με ελάχιστο κόστος Με καλύτερη αξιοποίηση του ανθρώπινου δυναμικού Στα προκαθορισμένα χρονικά όρια Με ελάχιστη απαίτηση συντήρησης Με ευελιξία για αλλαγές ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Ο ΡΟΛΟΣ ΤΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Συνδέουν πολλά διαφορετικά υποσυστήματα Βοηθούν στη λήψη αποφάσεων Υπάρχει ανάγκη για: Ακριβείς Σχετικές Σαφείς πληροφορίες Υπάρχει ανάγκη για έναν μηχανισμό ελέγχου: ΤΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΠΕΛΑΤΗΣ ΠΑΡΑΓΩΓΗ ΠΡΟΪΟΝΤΩΝ ΕΠΙΣΤΡΕΦΟΜΕΝΑ ΠΡΟΪΟΝΤΑ ΠΑΡΑΓΓΕΛΙΑ ΕΤΟΙΜΑ ΠΡΟΪΟΝΤΑ ΠΡΩΤΕΣ ΥΛΕΣ ΕΝΗΜΕΡΩΣΗ ΛΟΓ/ΣΜΟΥ ΠΛΗΡΩΜΗ ΑΠΟΔΕΙΞΗ ΕΙΔΟΠΟΙΗΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΡΑΓΓΕΛΙΩΝ ΑΠΟΘΗΚΗ ΠΡΟΪΟΝΤΑ ΠΑΡΑΓΓΕΛΙΑΣ ΛΕΠΤΟΜΕΡΕΙΕΣ ΠΑΡΑΓΓΕΛΙΑΣ ΛΟΓΙΣΤΗΡΙΟ ΠΡΩΤΕΣ ΥΛΕΣ ΜΙΣΘΟΔΟΣΙΑ ΠΑΡΑΓΩΓΟΣ ΛΕΠΤΟΜΕΡΕΙΕΣ ΠΡΟΣΩΠΙΚΟΥ ΠΡΟΣΩΠΙΚΟ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΑΠΑΙΤΟΥΜΕΝΑ ΓΙΑ ΤΗΝ ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Μοντελοποίηση του συστήματος με χρήση κατάλληλων εργαλείων Tα πρώτα μοντέλα που δημιουργούνται είναι κατανοητά από ανθρώπους (Human-Oriented Models), π.χ. Μοντέλα καταγραφής απαιτήσεων συστήματος Αυτά τα μοντέλα μετασχηματίζονται βαθμιαία σε μοντέλα κατανοητά από μηχανές (Machine-Oriented Models, π.χ. Εκτελέσιμος κώδικας ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΝΑΠΤΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Τα Πληροφοριακά Συστήματα είναι μεγάλα και σύνθετα Η Ανάπτυξή τους είναι η δημιουργία μιας σειράς από Μοντέλα και ο Βαθμιαίος Μετασχηματισμός τους από human-oriented models σε machine-oriented models Απαιτεί Συστηματική και Μεθοδολογική Προσέγγιση ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Η ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Η ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Ασχολείται με τη συνολική συμπεριφορά ενός συστήματος Μια εφαρμογή (application) αποτελεί μόνο ένα μέρος του όλου συστήματος ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
«SYSTEM VIEW» vs. «APPLICATION VIEW» ΣΥΣΤΗΜΑ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΡΑΓΓΕΛΙΩΝ ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΘΕΜΑΤΟΣ ΤΙΜΟΛΟΓΗΣΗ ΝΕΟ ΥΛΙΚΟ ΑΠΟΣΥΡΣΗ ΑΠΟΘΕΜΑΤΟΣ ΑΝΑΠΛΗΡΩΣΗ ΥΛΙΚΟΥ «SYSTEM VIEW» vs. «APPLICATION VIEW» ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Η ΔΙΕΥΘΥΝΟΥΣΑ ΕΠΙΤΡΟΠΗ ΠΟΙΟΣ ΑΝΑΠΤΥΣΣΕΙ ΣΥΣΤΗΜΑΤΑ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΠΡΟΣΩΠΙΚΟ ΧΡΗΣΤΕΣ Επικεφαλής του έργου Αναλυτής Συστημάτων Επικεφαλής Ομάδας Προγραμματιστών Προγραμματιστές Η ΔΙΕΥΘΥΝΟΥΣΑ ΕΠΙΤΡΟΠΗ ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΠΡΟΔΙΑΓΡΑΦΕΣ ΣΧΕΔΙΑΣΜΟΥ ΑΝΑΛΥΣΗ Σύνταξη Προδιαγραφών Απαιτήσεων ΠΡΟΔΙΑΓΡΑΦΕΣ ΣΧΕΔΙΑΣΜΟΥ ΥΛΟΠΟΙΗΣΗ ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Χαρακτηριστικά Ανάλυσης Συστημάτων, Προβλήματα, Σχέση Χρήστη – Αναλυτή Χαρακτηριστικά Ανάλυσης Συστημάτων, Προβλήματα, Σχέση Χρήστη – Αναλυτή
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΗΣ ΑΝΑΛΥΣΗΣ (1/2) Διαφορετική από τον προγραμματισμό, σχεδιασμό, αποσφαλμάτωση κλπ., τα χαρακτηριστικά των οποίων είναι: Ομαλές και ανθρώπινες σχέσεις Πολύ καθορισμένη εργασία Ικανοποίηση από την εργασία ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΗΣ ΑΝΑΛΥΣΗΣ (2/2) Δύσκολη Διαδικασία Πολύπλοκες, ακόμη και εχθρικές ανθρώπινες σχέσεις Δεν είναι καθορισμένο το τέλος της Δεν δίνει ικανοποίηση ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΠΡΟΒΛΗΜΑΤΑ ΑΝΑΛΥΣΗΣ (1/2) Προβλήματα Επικοινωνίας εξ αιτίας: Της φυσικής δυσκολίας περιγραφής ενός προβλήματος Της Ακαταλληλότητας των μεθόδων που χρησιμοποιούνται για συλλογή και καταγραφή απαιτήσεων Της Έλλειψης κοινής γλώσσας Της Απουσίας μοντέλου του συστήματος εξ αρχής ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΠΡΟΒΛΗΜΑΤΑ ΑΝΑΛΥΣΗΣ (2/2) Προβλήματα Επικοινωνίας λόγω: Της Εξελικτικής φύσης των απαιτήσεων Της Έλλειψης εργαλείων Της Δυσκολίας να αποφασιστεί το τέλος της ανάλυσης Της Πολιτικής που εμπλέκεται σε αυτή ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
ΣΧΕΣΗ ΧΡΗΣΤΗ-ΑΝΑΛΥΤΗ Τι είναι ο χρήστης; Τι είναι ο αναλυτής; Ο “hands-on” χρήστης Ο υπεύθυνος χρήστης Ο ιδιοκτήτης χρήστης Τι είναι ο αναλυτής; Ο σύνδεσμος μεταξύ χρηστών και ανθρώπων που θα αναπτύξουν το σύστημα Οι χρήστες πρέπει να δώσουν πληροφορίες για το “ Τι ” θέλουν να γίνει. ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Ο ΡΟΛΟΣ ΤΟΥ ΑΝΑΛΥΤΗ Καθορίζει το πρόβλημα Δημιουργεί τις Λειτουργικές και μη Λειτουργικές απαιτήσεις / προδιαγραφές του συστήματος Αυτές αποτελούν τη βάση για το Σχεδιασμό του Συστήματος Δημιουργεί κριτήρια Ελέγχου του Σχεδιασμού, με στόχο: Να αξιολογήσει αν η σχεδίαση είναι κατάλληλη για να οδηγήσει σε ένα σύστημα που ικανοποιεί τις απαιτήσεις Δημιουργεί Προδιαγραφές για Βελτιώσεις και Μελλοντικές Επεκτάσεις ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Κατηγορίες και Ρόλοι των Χρηστών Κατηγορίες Χρηστών, ανάλογα με το τι θέλουν από το σύστημα ή το πως το χρησιμοποιούν: Για τις καθημερινές τους εργασίες (hands-on χρήστες) Για να έχουν εποπτεία της εργασίας των hands-on χρηστών (π.χ. Προϊστάμενοι) Σποραδικά το σύστημα π.χ. Μια φορά το μήνα για στατιστικά στοιχεία πωλήσεων (π.χ. Γενικοί Δ/ντες) προκειμένου να πάρουν κάποιες στρατηγικές αποφάσεις Δεν το χρησιμοποιούν, αλλά έχουν άποψη γι αυτό επειδή π.χ. Θα πληρώσουν γι αυτό (Ιδιοκτήτης Εταιρείας) Οι απαιτήσεις για το σύστημα θα πρέπει να ληφθούν από όλες τις κατηγορίες χρηστών Ο ρόλος του κάθε χρήστη είναι να Δίνει απαιτήσεις για το σύστημα πληροφορίες από την οπτική γωνιά που τον αφορά Αξιολογεί τις απαιτήσεις Μέσω πρωτότυπου Μέσω ελέγχου των προδιαγραφών Με συμμετοχή σε Συναντήσεις με Αναλυτές Αξιολογεί το τελικό σύστημα Να κάνει τον τελικό έλεγχο αποδοχής