Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Συστημάτων u Ο σχεδιασμός, υλοποίηση και εγκατάσταση συστημάτων που περιλαμβάνουν υλικό, λογισμικό και ανθρώπινο δυναμικό
Τεχνολογία ΛογισμικούSlide 2 Στόχοι u Η εισαγωγή στοιχείων τεχνολογίας συστημάτων στους μηχανικούς λογισμικού u Δυσκολίες της τεχνολογίας συστημάτων u Περιγραφή της procurement συστήματος και της διαδικασίας τεχνολογίας συστημάτων u Αξιοπιστία στο πλαίσιο συστημάτων
Τεχνολογία ΛογισμικούSlide 3 Θέματα u Συστήματα και το περιβάλλον τους u System procurement u Η διαδικασία τεχνολογίας συστημάτων u Μοντελοποίηση αρχιτεκτονικής συστημάτων u Ανθρώπινοι παράγοντες u Αξιοπιστία συστημάτων
Τεχνολογία ΛογισμικούSlide 4 Τι είναι σύστημα? u Σύστημα στοιχείων τα οποία συνεργάζονται για κάποιο κοινό σκοπό. Το σύστημα περιλαμβάνει λογισμικό, μηχανικό, ηλεκτρονικό και ηλεκτρικό υλικό τα οποίο χειρίζονται κατάλληλα άτομα u Τα στοιχεία του συστήματος εξαρτώνται από άλλα στοιχεία του συστήματος u Οι ιδιότητες και η συμπεριφορά των στοιχείων του συστήματος είναι inextricably inter-mingled
Τεχνολογία ΛογισμικούSlide 5 Προβλήματα Τεχνολογίας Συστημάτων u Μεγάλα συστήματα σχεδιάζονται συνήθως για την επίλυση 'wicked' προβλημάτων u Η τεχνολογία συστημάτων απαιτεί συντονισμό διαφορετικών ειδικοτήτων Άπειρες δυνατότητα για συσχετισμό μεταξύ των στοιχείων Διαφορετική αντίληψη και έλλειψη κατανόησης μεταξύ διαφορετικών πεδίων της τεχνολογίας u Τα συστήματα πρέπει να σχεδιάζονται για μεγάλη διάρκεια ζωής σε ένα περιβάλλον το οποίο αλλάζει
Τεχνολογία ΛογισμικούSlide 6 Τεχνολογία Λογισμικού και Συστημάτων u Η αναλογία του λογισμικού στα συστήματα αυξάνει. Το γενικής χρήσης ηλεκτρονικά που καθοδηγούνται από λογισμικό αντικαθιστούν τα συστήματα ειδικής χρήσης u Τα προβλήματα της τεχνολογίας συστημάτων είναι παρόμοια με τα προβλήματα της τεχνολογίας συστημάτων. u Το λογισμικό φαίνεται ότι αποτελεί δυστυχώς πρόβλημα στην τεχνολογία συστημάτων
Τεχνολογία ΛογισμικούSlide 7 Συστήματα και το Περιβάλλον τους u Τα συστήματα δεν είναι ανεξάρτητα και υπάρχουν σε κάποιο περιβάλλον u Η λειτουργία των συστημάτων μπορεί να αλλάξει το περιβάλλον τους u Το περιβάλλον επηρεάζει την λειτουργία του συστήματος, π.χ. ένα σύστημα χρειάζεται ηλεκτρισμό από το περιβάλλον του u Το οργανωτικό και το φυσικό περιβάλλον είναι συνήθως πολύ σημαντικά
Τεχνολογία ΛογισμικούSlide 8 Ιεραρχία Συστημάτων
Τεχνολογία ΛογισμικούSlide 9 Προμήθεια Συστήματος u Εγκατάσταση ενός συστήματος σε κάποιο οργανισμό για την ικανοποίηση κάποπιων αναγκών u Υπάρχει η ανάγκη προδιαγραφής και σχεδιασμού αρχιτεκτονικής πριν την προμήθεια Είναι απαραίτητες οι προδιαγραφές για να υπογραφεί ένα συμβόλαιο για την ανάπτυξη του συστήματος Οι προδιαγραφές επιτρέπουν την προμήθεια εμπορικών προϊόντων (commercial off-the-shelf (COTS) ) συστημάτων. Είναι συνήθως πολύ φθηνότερο από την ανάπτυξη του συστήματος.
Τεχνολογία ΛογισμικούSlide 10 Εργολάβοι και Υπεργολάβοι u Η προμήθεια ενός μεγάλου συστήματος γίνεται με βάση κάποιον κύριο προμηθευτή u Γίνονται υπεργολαβίες με άλλους προμηθευτές για την παροχή μερών του συστήματος u Ο πελάτης έχει άμεση σχέση με τον εργολάβο και όχι με τους υπεργολάβους
Τεχνολογία ΛογισμικούSlide 11 Μοντέλο Εργολάβου - Υποργολάβου
Τεχνολογία ΛογισμικούSlide 12 Η Διαδικασία Προμήθειας Ενός Συστήματος
Τεχνολογία ΛογισμικούSlide 13 Η Διαδικασία Τεχνολογίας Συστημάτων u Περιλαμβάνει μηχανικούς διαφορετικών ειδικοτήτων οι οποίοι συνεργάζονται Οι μηχανικοί διαφορετικών ειδικοτήτων μιλάνε διαφορετική γλώσσα και απαιτείται πολύς χρόνος για την απόκτηση ενός κοινού υπόβαθρου συνεργασίας u Συνήθως ακολουθεί μοντέλο ‘waterfall’ επειδή απαιτεί την παράλληλη ανάπτυξη διαφορετικών μερών του συστήματος Υπάρχει μικρή ανάγκη για επαναλήψεις αφού οι αλλαγές στο υλικό είναι πολύ ακριβές. Ανάγκες επανάληψης μπορούν να διορθωθούν με χρήση του λογισμικού.
Τεχνολογία ΛογισμικούSlide 14 Η Διαδικασία Τεχνολογίας Συστήματος
Τεχνολογία ΛογισμικούSlide 15 Συμμετοχή Διαφορετικών Ειδικοτήτων
Τεχνολογία ΛογισμικούSlide 16 Ορισμός Απαιτήσεων Συστήματος u Τρεις τύποι απαιτήσεων ορίζονται σε αυτή την φάση Χονδρικές λειτουργικές απαιτήσεις (όχι με λεπτομέρεια) Ιδιότητες συστήματος. Ορίζονται οι μη λειτουργικές απαιτήσεις του συστήματος Ανεπιθύμητα χαρακτηριστικά. u Επίσης ορίζονται οι συνολικοί οργανωτικοί στόχοι του συστήματος
Τεχνολογία ΛογισμικούSlide 17 Στόχοι του Συστήματος u Λειτουργικοί Στόχοι π.χ. η παροχή ενός συστήματος πρόληψης και ανίχνευσης φωτιάς σε ένα κτίριο με εσωτερικό και εξωτερικό συναγερμό u Οργανωτικοί Στόχοι Να βεβαιωθούμε ότι η κανονική εργασία των ατόμων στο κτίριο δεν διακόπτεται από την φωτιά ή μη ενδεδειγμένη χρήση
Τεχνολογία ΛογισμικούSlide 18 Προβλήματα Απαιτήσεων Συστήματος u Αλλάζουν όσο το σύστημα προδιαγράφεται u Πρέπει να ικανοποιεί ανάπτυξη υλικού / επικοινωνιών για όλη την διάρκεια ζωής του συστήματος u Είναι πολύ δύσκολο να ορίσουμε μη - λειτουργικές απαιτήσεις χωρίς να έχουμε γνώση της δομής των στοιχείων του συστήματος
Τεχνολογία ΛογισμικούSlide 19 Ο Σχεδιασμός της Διαδικασίας
Τεχνολογία ΛογισμικούSlide 20 Η Διαδικασία Σχεδιασμού Συστήματος u Ομαδοποίηση απαιτήσεων Οργάνωση των απαιτήσεων σε σχετικές ομάδες u Εύρεση των υποσυστημάτων Αναγνώριση ενός συνόλου υποσυστημάτων τα οποία συνολικά ικανοποιούν τις απαιτήσεις του συστήματος u Προσαρμογή των απαιτήσεων σε υποσυστήματα Δημιουργεί ιδιαίτερα προβλήματα όταν στοιχεία του εμπορίου ολοκληρώνονται u Εξειδίκευση της λειτουργίας των υποσυστημάτων u Ορισμός διεπαφών υποσυστημάτων Κρίσιμο όταν η ανάπτυξη των υποσυστημάτων γίνεται παράλληλα
Τεχνολογία ΛογισμικούSlide 21 Προβλήματα Σχεδιασμού Συστήματος u Η ομαδοποίηση των απαιτήσεων σε υλικό, λογισμικό και ανθρώπινα στοιχεία απαιτεί πολύ συζήτηση u Τα δύσκολα προβλήματα σχεδιασμού συνήθως υποτίθεται ότι λύνονται με την χρήση λογισμικού u Οι πλατφόρμες υλικού συνήθως δεν είναι κατάλληλες για τις απαιτήσεις λογισμικού και συνήθως καλούμαστε να λύσουμε αυτά τα προβλήματα με ανάπτυξη λογισμικού
Τεχνολογία ΛογισμικούSlide 22 Ανάπτυξη Υποσυστημάτων u Γίνεται σε παράλληλα έργα για υλικό, λογισμικό και επικοινωνίες u Απαιτεί την προμήθεια πολλών εμπορικών προϊόντων u Υπάρχει έλλειψη επικοινωνίας μεταξύ ομάδων στην ανάπτυξη u Αν ο μηχανισμός είναι γραφειοκρατικός και αργός τότε το χρονοδιάγραμμα απαιτεί αλλαγές αν απαιτείται αλλαγή ή επανάληψη εργασίας
Τεχνολογία ΛογισμικούSlide 23 u Η διαδικασία για την συνεργασία υλικού λογισμικού και ανθρώπων u Πρέπει να γίνει σε μικρά βήματα για να ολοκληρώνεται ένα σύστημα κάθε φορά u Υπάρχουν προβλήματα διεπαφής μεταξύ υποσυστημάτων σε αυτή την φάση u Επίσης υπάρχουν προβλήματα με παράδοση στοιχείων από κάθε υποσύστημα που είναι συντονισμένη Οργάνωση Συστήματος
Τεχνολογία ΛογισμικούSlide 24 u Οι υποθέσεις για το περιβάλλον πιθανόν να μην είναι σωστές u Υπάρχουν αντιρρήσεις στην εισαγωγή του νέου συστήματος u Υπάρχει η ανάγκη συνύπαρξης με εναλλακτικά συστήματα για κάποιο χρόνο u Υπάρχουν φυσικά προβλήματα εγκατάστασης (π.χ. προβλήματα καλωδίωσης) u Πρέπει να γίνει εκπαίδευση των χειριστών Εγκατάσταση Συστήματος
Τεχνολογία ΛογισμικούSlide 25 u Θα εμφανισθούν επιπλέον απαιτήσεις u Οι χρήστες θα χρησιμοποιούν το σύστημα με τρόπο που δεν αντιστοιχεί στον σχεδιασμό του u Υπάρχουν προβλήματα λειτουργίας στην επικοινωνία με άλλα συστήματα Φυσικά προβλήματα συμβατότητας Προβλήματα μετατροπής δεδομένων Αυξημένος ρυθμός λαθών από τους χειριστές εξαιτίας μη συμβατών διεπαφών Λειτουργία Συστήματος
Τεχνολογία ΛογισμικούSlide 26 Εξέλιξη Συστήματος u Τα μεγάλα συστήματα έχουν μεγάλο χρόνο ζωής. Εξελίσσονται για να ικανοποιούν τις απαιτήσεις που αλλάζουν. u Η εξέλιξη πραγματικά κοστίζει Οι αλλαγές πρέπει να αναλύονται από τεχνικές και επιχειρηματικής πλευράς Τα υποσυστήματα αλληλεπιδρούν και επομένως άλλα προβλήματα μπορούν να προκύψουν Σπάνια υπάρχει ερέθισμα για πρωτότυπες σχεδιαστικές αποφάσεις Η δομή του συστήματος αλλάζει όταν γίνονται αλλαγές σε αυτό u Τα συστήματα τα οποία πρέπει να συντηρούνται ονομάζονται legacy systems
Τεχνολογία ΛογισμικούSlide 27 Απομάκρυνση Συστήματος u Απομάκρυνση συστήματος όταν έχει ξεπεράσει την χρήσιμη διάρκεια ζωής του u Απαιτεί απομάκρυνση υλικών (π.χ. επικίνδυνα χημικά) τα οποία μολύνουν το περιβάλλον Πρέπει να συμπεριληφθεί στον σχεδιασμό u Απαιτεί αναδόμηση και μετατροπή δεδομένων τα οποία θα χρησιμοποιηθούν σε κάποιο άλλο σύστημα
Τεχνολογία ΛογισμικούSlide 28 Μοντελοποίηση Αρχιτεκτονικής Συστήματος u Ένα μοντέλο αρχιτεκτονικής δίνει μία περιληπτική εικόνα των υποσυστημάτων του συστήματος u Περιλαμβάνει τις κύριες ροές πληροφορίας μεταξύ υποσυστημάτων u Συνήθως παρουσιάζεται ως διάγραμμα ροής u Διακρίνονται διαφορετικοί τύποι στοιχείων λειτουργικότητας στο μοντέλο
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ## Αρχιτεκτονική Συστήματος ATC
Τεχνολογία ΛογισμικούSlide 30 Στοιχεία Λειτουργικότητας Συστήματος u Στοιχεία αισθητήρων u Στοιχεία ενεργοποιητών u Στοιχεία υπολογισμού u Στοιχεία επικοινωνίας u Στοιχεία συντονισμού u Στοιχεία διεπαφής
Τεχνολογία ΛογισμικούSlide 31 Στοιχεία Συστήματος u Στοιχεία Αισθητήρων Συλλέγει πληροφορία για το περιβάλλον του συστήματος, π.χ. radars σε ένα σύστημα εναερίου κυκλοφορίας u Στοιχεία Ενεργοποίησης Προκαλούν κάποια αλλαγή στο περιβάλλον του συστήματος, π.χ. βάνες σε ένα σύστημα ελέγχου που αυξάνουν ή ελαττώνουν την κυκλοφορία υγρού σε ένα σωλήνα u Στοιχεία Υπολογισμού Κάνουν κάποιο υπολογισμό για να παράγουν κάποια έξοδο, π.χ. επεξεργαστής κινητής υποδιαστολής σε ένα υπολογιστή
Τεχνολογία ΛογισμικούSlide 32 Στοιχεία Συστήματος u Στοιχεία Επικοινωνίας Επιτρέπουν στα στοιχεία συστήματος να επικοινωνούν μεταξύ τους, π.χ. ένα δίκτυο κατανεμημένων υπολογιστών u Στοιχεία Συντονισμού Συντονίζουν την αλληλεπίδραση με άλλα στοιχεία του συστήματος, π.χ. προγραμματιστής σε ένα σύστημα πραγματικού χρόνου u Στοιχεία Διεπαφής Λειτουργούν την αλληλεπίδραση με άλλα στοιχεία του συστήματος, π.χ. η διεπαφή του χειριστή u Δεν είναι όλα τα στοιχεία ελεγχόμενα από το λογισμικό
Τεχνολογία ΛογισμικούSlide 33 Σύστημα Συναγερμού
Τεχνολογία ΛογισμικούSlide 34 Τύποι Στοιχείων σε Συστήματα Συναγερμού u Αισθητήρας Αισθητήρας κίνησης, αισθητήρας πόρτας u Ενεργοποιητής Σειρήνα u Επικοινωνία Τηλεφωνική κλήση u Συντονισμός Έλεγχος συναγερμού u Διεπαφή Συνθέτης φωνής
Τεχνολογία ΛογισμικούSlide 35 Ανθρώπινοι Παράγοντες u Όλα τα συστήματα έχουν χρήστες και χρησιμοποιούνται σε ένα κοινωνικό και οργανωτικό πλαίσιο u Μία κατάλληλη διεπαφή είναι ουσιαστικό στοιχείο στην αποτελεσματική λειτουργία του συστήματος u Οι ανθρώπινοι παράγοντες είναι οι πλέον σημαντικοί για την επιτυχία ή όχι ενός συστήματος
Τεχνολογία ΛογισμικούSlide 36 Άλλοι Ανθρώπινοι Παράγοντες u Αλλαγές στις διαδικασίες εργασίας στο περιβάλλον του συστήματος Αν χαθούν θέσεις εργασίας υπάρχει περίπτωση να υπάρχουν αντιρρήσεις από τους εργαζόμενους u Έλλειψη δεξιοτήτων από τους χρήστες Μπορούν να χρησιμοποιηθούν επαγγελματίες u Αλλαγές στην οργανωτική δομή Οι διευθυντές δεν θέλουν να χάσουν τον έλεγχο u Αλλαγές στον τρόπο εργασίας Μερικές αλλαγές στον τρόπο εργασίας δεν είναι αποδεκτές
Τεχνολογία ΛογισμικούSlide 37 u Εξαιτίας της αλληλεξάρτησης των στοιχείων τα προβλήματα μεταφέρονται σε όλα τα στοιχεία του συστήματος u Προβλήματα στο σύστημα συνήθως εμφανίζονται εξαιτίας ανεπιθύμητων σχέσεων μεταξύ των στοιχείων του u Είναι πιθανά αδύνατο να προβλεφθούν όλες οι δυνατές σχέσεις μεταξύ των στοιχείων u Τα μέτρα αξιοπιστίας λογισμικού πιθανό να δίνουν λάθος εικόνα της αξιοπιστίας του συστήματος Τεχνολογία Αξιοπιστίας Συστήματος
Τεχνολογία ΛογισμικούSlide 38 u Πρέπει να γίνει στο επίπεδο συστήματος και όχι στο επίπεδο λογισμικού u Οι μηχανικοί υλικού έχουν καλά (αλλά περιορισμένα) μοντέλα αξιοπιστίας αλλά δεν κατανοούν την αξιοπιστία λογισμικού u Το προφίλ λειτουργίας εξαρτάται από τον τρόπο με τον οποίο χρησιμοποιείται το σύστημα Αξιολόγηση Αξιοπιστίας
Τεχνολογία ΛογισμικούSlide 39 u Τι βαθμός υποκαταστάτων πρέπει να υπάρχει στο σύστημα για να επιλυθεί το πρόβλημα της διαθεσιμότητας στοιχείων του; u Ποια στοιχεία πρέπει να έχουν αντίγραφο για να υπάρχει η προσφορά της κατάλληλης υπηρεσίας u Ποιοι είναι οι εναλλακτικοί τρόποι για την παροχή υπηρεσίας στο επίπεδο που απαιτείται Υποκατάστατα Συστήματος
Τεχνολογία ΛογισμικούSlide 40 u Η διεπαφή με τον χρήστη καθορίζει ποια στοιχεία του συστήματος χρησιμοποιούνται. Εάν η διεπαφή με κάποιες υπηρεσίες είναι καλύτερη αυτές θα χρησιμοποιούνται περισσότερο u Μερικά από τα προβλήματα αξιοπιστίας είναι συνήθως προβλήματα διεπαφής u Οι διεπαφή με τον χρήστη πρέπει να σχεδιαστεί ώστε να ελαχιστοποιεί λάθη λειτουργίας Τεχνολογία Διεπαφής
Τεχνολογία ΛογισμικούSlide 41 u Τι είναι λάθος; u Πως μπορούν να απαλειφθούν αυτά τα λάθη Αποφυγή λαθών - δεν επιτρέπει στον χειριστή να κάνει κάτι που είναι λάθος Εύρεση λαθών - εύρεση μίας λανθασμένης πράξης και ενημέρωση του χειριστή u Τι βαθμός ελέγχου επιτρέπεται στον χειριστή; Προβλήματα Τεχνολογίας Διεπαφών
Τεχνολογία ΛογισμικούSlide 42 u Η τεχνολογία συστημάτων είναι δύσκολη και πολλές φορές υπάρχουν δύσκολα να απαντηθούν προβλήματα στην ανάπτυξη ενός συνθέτου συστήματος u Οι μηχανικοί λογισμικού δεν έχουν πάντα την απάντηση, αλλά έχουν καλύτερο έλεγχο του συστήματος u Μηχανικοί διαφορετικών ειδικοτήτων πρέπει να συνεργασθούν αρμονικά στην διαδικασία τεχνολογίας συστημάτων Συμπεράσματα
Τεχνολογία ΛογισμικούSlide 43 Σημαντικά Σημεία u Στην τεχνολογία συστημάτων εμπλέκονται επιστήμονες διαφορετικών ειδικοτήτων u Τα εμπορικά συστήματα είναι τα φθηνότερα, αλλά τα μεγάλα συστήματα απαιτούν την ανάπτυξη ειδικών υποσυστημάτων u Το λογισμικό λειτουργεί συνήθως ως η σύνδεση μεταξύ εμπορικών συστημάτων διαφορετικών προμηθευτών u Η διαδικασία τεχνολογίας συστημάτων είναι συνήθως waterfall μοντέλο
Τεχνολογία ΛογισμικούSlide 44 Σημαντικά Σημεία u Τα συστήματα αρχιτεκτονικής μοντέλων πρέπει να επιτρέπουν την ύπαρξη διαφορετικών υποσυστημάτων και την διασύνδεση μεταξύ τους. Συνήθως περιγράφονται με την χρήση λογικών διαγραμμάτων u Οι τύποι των στοιχείων συστήματος είναι αισθητήρες, ενεργοποιητές, στοιχεία υπολογισμού, συντονισμού, επικοινωνίας και διεπαφής u Η αξιοπιστία του συστήματος εξαρτάται από το υλικό, λογισμικό και την αξιοπιστία του χειριστή