Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Λογισμικού u Σχεδιασμός, ανάπτυξη και συντήρηση μεγάλων συστημάτων λογισμικού.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Λογισμικού u Σχεδιασμός, ανάπτυξη και συντήρηση μεγάλων συστημάτων λογισμικού."— Μεταγράφημα παρουσίασης:

1 Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Λογισμικού u Σχεδιασμός, ανάπτυξη και συντήρηση μεγάλων συστημάτων λογισμικού

2 Τεχνολογία ΛογισμικούSlide 2 Στόχοι u Ορισμός τεχνολογίας λογισμικού και της σημασία της u Θέματα προϊόντων λογισμικού και των διαδικασιών λογισμικού u Σπουδαιότητα της διαδικασίας u Εισαγωγή στην έννοια της επαγγελματικής υπευθυνότητας

3 Τεχνολογία ΛογισμικούSlide 3 Θέματα u Προϊόντα λογισμικού u Η διαδικασία λογισμικού u Το μοντέλο Boehm’s spiral u Δυνατότητα παρακολούθησης διαδικασίας u Επαγγελματική υπευθυνότητα

4 Τεχνολογία ΛογισμικούSlide 4 u Οι οικονομίες όλες των αναπτυγμένων χωρών εξαρτώνται από το λογισμικό u Όλο και περισσότερα συστήματα είναι ελεγχόμενα από λογισμικό u Η τεχνολογία λογισμικού ασχολείται με θεωρίες, μεθόδους και εργαλεία για «επαγγελματική» ανάπτυξη λογισμικού u Τα ποσά τα οποία αναλώνονται για τεχνολογία λογισμικού αντιστοιχούν σε σημαντικό τμήμα του ΑΕΠ σε όλες τις αναπτυγμένες χώρες Τεχνολογία Λογισμικού

5 Τεχνολογία ΛογισμικούSlide 5 u Τα κόστη λογισμικού συνήθως είναι κυρίαρχα για ένα σύστημα. Το κόστος λογισμικού σε ένα Η/Υ (PC) είναι συνήθως μεγαλύτερο από το κόστος του υλικού u Το κόστος για την συντήρηση του λογισμικού είναι συνήθως πολύ μεγαλύτερο από το κόστος για την ανάπτυξή του u Η τεχνολογία λογισμικού ασχολείται με ανάπτυξη λογισμικού η οποία είναι αποτελεσματική ως προς το κόστος Κόστος Λογισμικού

6 Τεχνολογία ΛογισμικούSlide 6 Προϊόντα Λογισμικού u Generic (βασικά) προϊόντα Είναι συστήματα τα οποία λειτουργούν από μόνα τους, έχουν παραχθεί από ένα οργανισμό και διατίθενται στην ελεύθερη αγορά u Bespoke (customised) προϊόντα Είναι συστήματα τα οποία έχουν ζητηθεί από κάποιο πελάτη και έχουν αναπτυχθεί ειδικά για αυτόν από κάποιο οργανισμό που τα έχει αναλάβει u Το μεγαλύτερο κόστος αναφέρεται στα generic products αλλά η περισσότερη ανάπτυξη γίνεται για συστήματα πελατών

7 Τεχνολογία ΛογισμικούSlide 7 Χαρακτηριστικά Προϊόντων Λογισμικού u Δυνατότητα Συντήρησης Πρέπει να είναι δυνατή η αλλαγή συγκεκριμένου λογισμικού όσο αυτό απαιτείται u Εξάρτηση Το λογισμικό δεν πρέπει να προκαλεί οικονομικές ή φυσικές ζημιές σε περίπτωση προβλήματος ή βλάβης u Αποτελεσματικότητα Το λογισμικό θα πρέπει να κάνει λογική χρήση των πόρων του συστήματος u Φιλικότητα Χρήσης Το λογισμικό θα πρέπει να έχει την κατάλληλη διεπαφή με τον χρήστη και την ανάλογη τεκμηρίωση

8 Τεχνολογία ΛογισμικούSlide 8 Σημασία των Χαρακτηριστικών u Η σχετική σημασία των χαρακτηριστικών εξαρτάται από το προϊόν και το περιβάλλον στο οποίο χρησιμοποιούνται u Σε μερικές περιπτώσεις κάποια χαρακτηριστικά κυριαρχούν Σε συστήματα τα οποία έχουν υψηλές απαιτήσεις ασφάλειας κυριαρχούν η εξάρτηση και η αποτελεσματικότητα u Το κόστος ανεβαίνει εκθετικά όταν απαιτείται κάποιο επιπλέον χαρακτηριστικό

9 Τεχνολογία ΛογισμικούSlide 9 Κόστη Αποτελεσματικότητας

10 Τεχνολογία ΛογισμικούSlide 10 Η Διαδικασία Λογισμικού u Απαιτείται ένα δομημένο σύνολο δραστηριοτήτων για την ανάπτυξη ενός συστήματος λογισμικού Καθορισμός Σχεδιασμός Αξιολόγηση Ανάπτυξη u Οι δραστηριότητες ποικίλουν ανάλογα με τον οργανισμό και το σύστημα που αναπτύσσεται u Πρέπει να μοντελοποιηθούν αν υπάρχει ανάγκη διαχείρισης

11 Τεχνολογία ΛογισμικούSlide 11 Χαρακτηριστικά Διαδικασίας u Κατανόηση Είναι η διαδικασία ορισμένη και κατανοητή; u Δυνατότητα υλοποίησης Είναι η πρόοδος της διαδικασίας εξωτερικά ορατή; u Υποστήριξη Μπορεί να υποστηριχθεί η διαδικασία από CASE tools; u Αποδοχή Είναι η διαδικασία αποδεκτή σε αυτούς οι οποίοι συμμετέχουν;

12 Τεχνολογία ΛογισμικούSlide 12 Χαρακτηριστικά Διαδικασίας u Αξιοπιστία Τα λάθη της διαδικασίας εντοπίζονται πριν οδηγηθούμε σε προβλήματα με το προϊόν u Ευρωστία Μπορεί να συνεχισθεί η διαδικασία παρουσία μη αναμενομένων λαθών; u Συντήρηση - διατήρηση Μπορεί η διαδικασία όπως αναπτύσσεται να ικανοποιήσει ανάγκες του οργανισμού; u Ταχύτητα Πόσο γρήγορα το σύστημα μπορεί να αναπτυχθεί;

13 Τεχνολογία ΛογισμικούSlide 13 Μοντέλο Τεχνολογικής Διαδικασίας u Εξειδίκευση - εντοπισμός των απαιτήσεων και περιορισμών του συστήματος u Σχεδιασμός - παραγωγή μοντέλου σε χαρτί u Παραγωγή - ανάπτυξη του συστήματος u Έλεγχος αν το σύστημα ικανοποιεί την περιγραφή των απαιτήσεων u Εγκατάσταση του συστήματος στον πελάτη και έλεγχος λειτουργικότητας u Συντήρηση - επισκευή προβλημάτων όταν αυτά προκύπτουν

14 Τεχνολογία ΛογισμικούSlide 14 Μοντέλα Διαδικασιών Λογισμικού u Συνήθως οι απαιτήσεις δεν είναι ομαλές - δεν είναι πλήρεις u Η διάκριση μεταξύ απαιτήσεων - σχεδιασμού και παραγωγής είναι πολύ θολή u Δεν υπάρχει φυσική αναπαραγωγή του συστήματος για έλεγχο u Η συντήρηση λογισμικού δε σημαίνει απλά αλλαγή κάποιου στοιχείου

15 Τεχνολογία ΛογισμικούSlide 15 Βασικά Μοντέλα Διαδικασίας Λογισμικού u The waterfall model Διαχωρισμός φάσεων απαιτήσεων και ανάπτυξης u Evolutionary development Η εξειδίκευση και η ανάπτυξη γίνονται μαζί u Formal transformation Ένα μαθηματικό συστηματικό μοντέλο μετατρέπεται σε υλοποίηση u Reuse-based development Το σύστημα αναπτύσσεται από υπάρχοντα στοιχεία

16 Τεχνολογία ΛογισμικούSlide 16 Waterfall model

17 Τεχνολογία ΛογισμικούSlide 17 Φάσεις του Waterfall Model u Ορισμός και ανάλυση των απαιτήσεων u Σχεδιασμός συστήματος και λογισμικού u Υλοποίηση και έλεγχος u Ολοκλήρωση και έλεγχος συστήματος u Λειτουργία και συντήρηση u Το πρόβλημα του μοντέλου είναι ότι είναι πολύ δύσκολο να συμπεριλάβουμε κάποια αλλαγή όταν έχουμε προχωρήσει την διαδικασία

18 Τεχνολογία ΛογισμικούSlide 18 Evolutionary development

19 Τεχνολογία ΛογισμικούSlide 19 Evolutionary development u Exploratory prototyping Ο στόχος είναι η εργασία με τους πελάτες για την δημιουργία ενός συστήματος από μία αρχική περιληπτική περιγραφή. Πρέπει να αρχίσει με ανάγκες που είναι καλά κατανοητές u Throw-away prototyping Ο στόχος είναι να κατανοήσουμε τις απαιτήσεις του συστήματος. Δεν είναι ανάγκη να ξεκινήσουμε από καλά καθορισμένες ανάγκες.

20 Τεχνολογία ΛογισμικούSlide 20 Evolutionary development u Προβλήματα Έλλειψη παρακολούθησης της διαδικασίας Τα συστήματα συνήθως δεν είναι καλά δομημένα Απαιτούνται επιπλέον δεξιότητες (e.g. in languages for rapid prototyping) u Εφαρμογή Σε μικρά - μεσαίου μεγέθους διαλογικά συστήματα Σε μέρη μεγάλων συστημάτων (π.χ. στην διεπαφή με τον χρήστη) Σε συστήματα μικρής διάρκειας ζωής

21 Τεχνολογία ΛογισμικούSlide 21 Διαχείριση Κινδύνου u Ο υπεύθυνος εργασίας έχει σαν κύριο στόχο την ελαχιστοποίηση του κινδύνου αποτυχίας u Ο κίνδυνος που υπάρχει σε μία δραστηριότητα είναι ένα μέτρο της αβεβαιότητας για την επιτυχία μίας δραστηριότητας u Οι δραστηριότητες υψηλού ρίσκου δημιουργούν προβλήματα στο χρονοδιάγραμμα και το κόστος u Ο κίνδυνος σχετίζεται με την ποσότητα και την ποιότητα της διαθέσιμης πληροφορίας. Όση λιγότερη πληροφορία είναι διαθέσιμη τόσο μεγαλύτερος ο κίνδυνος

22 Τεχνολογία ΛογισμικούSlide 22 Προβλήματα Κινδύνου σε Μοντέλα Διαδικασιών u Waterfall Υψηλός κίνδυνος για νέα συστήματα εξαιτίας των απαιτήσεων και σχεδιαστικών προβλημάτων Χαμηλός κίνδυνος για ανάπτυξη που έχει γίνει κατανοητή με χρήση οικείας τεχνολογίας u Prototyping Χαμηλός κίνδυνος για νέες εφαρμογές διότι η περιγραφή και η ανάπτυξη γίνονται παράλληλα Υψηλός κίνδυνος διότι δεν είναι εύκολη η παρακολούθηση της διαδικασίας u Transformational Υψηλός κίνδυνος από την ανάγκη για υψηλή τεχνολογία και εξειδίκευση προσωπικού

23 Τεχνολογία ΛογισμικούSlide 23 Υβριδικά Μοντέλα Διαδικασιών u Τα μεγάλα συστήματα συνήθως αποτελούνται από πολλά υποσυστήματα u Δεν είναι απαραίτητο να χρησιμοποιηθεί το ίδιο μοντέλο για όλα τα υποσυστήματα u Prototyping για υψηλού κινδύνου προδιαγραφές u Waterfall model για καλά κατανοητή ανάπτυξη

24 Τεχνολογία ΛογισμικούSlide 24 Spiral model για την Διαδικασία Λογισμικού

25 Τεχνολογία ΛογισμικούSlide 25 Φάσεις του spiral model u Αναγνώριση Στόχων Γίνεται αναγνώριση στόχων για τις φάσεις του έργου u Εκτίμηση και ελαχιστοποίηση κινδύνου Γίνεται αναγνώριση των κύριων κινδύνων, αναλύονται και αναζητείται πληροφορία για ελαχιστοποίηση του κινδύνου u Ανάπτυξη και Αξιολόγηση Επιλέγεται το κατάλληλο μοντέλο για την επόμενη φάση της ανάπτυξης u Σχεδιασμός Ελέγχεται το έργο και γίνεται σχεδιασμός για τον επόμενο φύρο του spiral

26 Τεχνολογία ΛογισμικούSlide 26 Πίνακας για ένα γύρο του spiral u Στόχοι u Περιορισμοί u Εναλλακτικές λύσεις u Κίνδυνοι u Επίλυση κινδύνων u Αποτελέσματα u Σχεδιασμός u Απόφαση

27 Τεχνολογία ΛογισμικούSlide 27 Βελτίωση Ποιότητας u Στόχοι Σημαντική βελτίωση της ποιότητας λογισμικού u Περιορισμοί Χρονοδιάγραμμα τριών ετών Χωρίς επενδύσεις μεγάλου μεγέθους Χωρίς ουσιαστικές αλλαγές για την εταιρεία u Εναλλακτικά Επαναχρησιμοποίηση υπάρχοντος λογισμικού Εισαγωγή τυπικών προδιαγραφών Επενδύσεις σε εργαλεία ελέγχου και αξιολόγησης

28 Τεχνολογία ΛογισμικούSlide 28 u Κίνδυνοι Δεν υπάρχει η δυνατότητα βελτίωσης ποιότητας χωρίς κόστος Οι νέες μέθοδοι συνήθως αναγκάζουν το υπάρχον προσωπικό να φύγει u Επίλυση κινδύνων Αναζήτηση βιβλιογραφίας Πιλοτικό έργο Αναζήτηση στα πιθανά επαναχρησιμοποιήσιμα στοιχεία Αξιολόγηση των διαθέσιμων εργαλείων υποστήριξης Εκπαίδευση του προσωπικού και σεμινάρια

29 Τεχνολογία ΛογισμικούSlide 29 u Αποτελέσματα Η εμπειρία με formal methods είναι περιορισμένη - είναι πολύ δύσκολο να ποσοτικοποιήσουμε βελτιώσεις Περιορισμένη διαθέσιμη υποστήριξη για το σύστημα ανάπτυξης της εταιρείας Υπάρχουν διαθέσιμα επαναχρησιμοποιήσιμα στοιχεία, αλλά υπάρχει μόνο μικρή υποστήριξη u Σχεδιασμός Αναζήτηση δυνατοτήτων επαναχρησιμοποίησης με μεγαλύτερη λεπτομέρεια Ανάπτυξη πρωτότυπων εργαλείων υποστήριξης Αναζήτηση τρόπου ελέγχου στοιχείων u Δέσμευση Χρηματοδότηση φάσης μελέτης 18 μηνών

30 Τεχνολογία ΛογισμικούSlide 30 Κατάλογος Spiral u Στόχοι Παραγωγή καταλόγου στοιχείων λογισμικού u Περιορισμοί Σε ένα έτος Πρέπει να υποστηρίζουν τα υπάρχοντα στοιχεία Κόστος λιγότερο από $100, 000 u Εναλλακτικές λύσεις Προμήθεια υπάρχοντος λογισμικού για εξαγωγή πληροφοριών Προμήθεια βάσης δεδομένων και ανάπτυξη καταλόγου Ανάπτυξη καταλόγου ειδικής χρήσης

31 Τεχνολογία ΛογισμικούSlide 31 u Κίνδυνοι Πιθανό να είναι αδύνατο να προχωρήσουμε με τους περιορισμούς Μη κατάλληλη λειτουργικότητα καταλόγου u Επίλυση κινδύνων Ανάπτυξη πρωτότυπου καταλόγου (με χρήση 4GL και υπάρχοντος DBMS) για ξεκαθάρισμα των απαιτήσεων Ανάθεση σε συμβούλους εκπόνησης έκθεσης για υπάρχουσα πληροφορία σε δυνατότητες συστημάτων ανάκτησης πληροφορίας Απάλειψη του χρονικού περιορισμού

32 Τεχνολογία ΛογισμικούSlide 32 u Αποτελέσματα Τα συστήματα ανάκτησης πληροφοριών δεν είναι εύελικτα. Οι απαιτήσεις των συστημάτων δεν μπορούν να επιλυθούν Το πρωτότυπο με χρήση DBMS μπορεί να βελτιωθεί για την ανάπτυξη του συστήματος Δεν είναι οικονομικά εφικτός ο κατάλογος ειδικής χρήσης u Σχεδιασμός Ανάπτυξη καταλόγου με χρήση DBMS με βελτίωση του πρωτότυπου και βελτίωση της διεπαφής με τον χρήστη u Δέσμευση Χρηματοδότηση 12 μηνών ανάπτυξης

33 Τεχνολογία ΛογισμικούSlide 33 Ευελιξία του Spiral model u Συστήματα που είναι κατανοητά (χαμηλό τεχνικό ρίσκο) - Waterfall model. Η φάση ανάλυσης κινδύνων είναι σχετικά φθηνή u Σταθερές απαιτήσεις και τυπικές προδιαγραφές - η ασφάλεια είναι κρίσιμος παράγοντας Formal transformation model u Υψηλός UI κίνδυνος, όχι πλήρεις προδιαγραφές - prototyping model u Υβριδικά μοντέλα χρησιμοποιούνται για διαφορετικές φάσεις του έργου

34 Τεχνολογία ΛογισμικούSlide 34 Spiral model - πλεονεκτήματα u Εστιάζει στην επαναχρησιμοποίηση στοιχείων u Εστιάζει στην έγκαιρη απομάκρυνση λαθών u Θεωρεί μεγάλης προτεραιότητας τους στόχους ποιότητας u Συνδυάζει ανάπτυξη και συντήρηση u Παρέχει το πλαίσιο για ανάπτυξη υλικού / λογισμικού

35 Τεχνολογία ΛογισμικούSlide 35 Spiral model - Προβλήματα u Συνήθως όταν έχουμε κάποιο συμβόλαιο ανάπτυξης αυτό καθορίζει το μοντέλο και τα παραδοτέα u Απαιτεί εμπειρία εκτίμησης κινδύνου u Απαιτεί ανάλυση για γενική χρήση

36 Τεχνολογία ΛογισμικούSlide 36 Παρακολούθηση Διεργασίας u Δεν είναι εύκολο να πλησιάσει ο υπεύθυνος έργου συστήματα λογισμικού και απαιτούνται εκθέσεις για την αξιολόγηση της προόδου u Αυτό όμως δημιουργεί προβλήματα Το χρονοδιάγραμμα παράδοσης των παραδοτέων δεν ταυτίζεται με τον χρόνο που απαιτείται για την ολοκλήρωση μίας δραστηριότητας Η ανάγκη για εκθέσεις περιορίζει την επαναληψιμότητα της διαδικασίας Ο χρόνος που απαιτείται για έλεγχο και αποδοχή των εκθέσεων είναι σημαντικός u Το Waterfall model είναι το πλέον ευρέως χρησιμοποιούμενο μοντέλο

37 Τεχνολογία ΛογισμικούSlide 37 Waterfall model - Εκθέσεις

38 Τεχνολογία ΛογισμικούSlide 38 Μοντέλο Δυνατότητας Παρακολούθησης Διαδικασίας

39 Τεχνολογία ΛογισμικούSlide 39 Επαγγελματική Υπευθυνότητα u Οι μηχανικοί λογισμικού δεν πρέπει να ασχολούνται μόνο με τεχνικά θέματα. Η ευθύνη τους είναι μεγαλύτερη και αφορά θέματα ηθικής, κοινωνικά και επαγγελματικά. u Τα παραπάνω δεν είναι ξεκάθαρα όταν Αναπτύσσονται στρατιωτικά συστήματα Whistleblowing Ποιο είναι το καλύτερο για το επάγγελμα του μηχανικού λογισμικού

40 Τεχνολογία ΛογισμικούSlide 40 Θέματα Ηθικής u Εμπιστευτικότητα u Ανταγωνιστικότητα u Πνευματικά δικαιώματα u Λάθος χρήση των υπολογιστών

41 Τεχνολογία ΛογισμικούSlide 41 Κρίσιμα Σημεία u Η τεχνολογία λογισμικού ασχολείται με θεωρίες, μεθόδους και εργαλεία για την ανάπτυξη, διαχείριση και εξέλιξη συστημάτων λογισμικού u Τα προϊόντα λογισμικού αποτελούνται από προγράμματα και εγχειρίδια. Τα κυριότερα χαρακτηριστικά των προϊόντων είναι δυνατότητα συντήρησης, εξάρτηση και φιλικότητα χρήσης u Η διαδικασία λογισμικού αποτελείται από τις δραστηριότητες που υπάρχουν στην ανάπτυξη λογισμικού

42 Τεχνολογία ΛογισμικούSlide 42 Κρίσιμα Σημεία u Το waterfall model θεωρία κάθε δραστηριότητα της διαδικασίας ως διακριτή φάση u Το Evolutionary development θεωρία ότι οι δραστηριότητες είναι ταυτόχρονες u Το spiral process model καθοδηγείται από το ρίσκο που υπάρχει u Η παρακολούθηση της διαδικασίας συνεπάγεται ότι υπάρχουν παραδοτέα από τις δραστηριότητες u Οι μηχανικοί λογισμικού έχουν ευθύνες ηθικές, κοινωνικές και επαγγελματικές


Κατέβασμα ppt "Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Λογισμικού u Σχεδιασμός, ανάπτυξη και συντήρηση μεγάλων συστημάτων λογισμικού."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google