Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Σχετικά έγγραφα
Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Θέματα ποιότητας (1/5)

ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Εισαγωγή στην Τεχνολογία Λογισμικού. Ματίνα Μπίμπη Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων, Πανεπιστήμιο Θεσσαλίας

Αρχιτεκτονική Λογισμικού

Διάλεξη 1. Εισαγωγή στην Τεχνολογία Λογισμικού. Χ. Αντωνόπουλος Μ. Μπίμπη

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Τεχνολογία Λογισμικού

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Μεθοδολογίες Παραγωγής Λογισµικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τεχνολογία Λογισμικού

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισµικού (ΗΥ622) 2006

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Έλεγχος Προγραμμάτων και Συστήματος

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Ανάπτυξη και Σχεδίαση Λογισµικού (ΗΥ622) 2006

Τεχνολογία λογισμικού στην πράξη

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

Τεχνολογία Λογισμικού

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

Σκοπός του μαθήματος

Τεχνολογία Λογισμικού

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Κωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού

Ποιότητα Λογισμικού και Πιστοποίηση

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Στρατηγική Επιλογή. Το xline ERP - Λογιστικές Εφαρμογές αποτελείται από:

Εισαγωγή στη Σχεδίαση Λογισμικού

Σχεδιαστικά Προγράμματα Επίπλου

Ενότητα 3 (κεφάλαιο 16) Επαναχρησιμοποίηση Λογισμικού

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Μοντελοποίηση Πεδίου

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Διαχείριση Πληροφοριακών Συστημάτων

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Managing Information. Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business.

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού

οκιμασία και πλάνο δοκιμασίας

6. Διαχείριση Έργου. Έκδοση των φοιτητών

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Τεχνολογία Λογισμικού

Εισαγωγή στην Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Βάσεις Περιβαλλοντικών Δεδομένων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

1. ErgoQ. Τηλέφωνο Fax: Μητροπόλεως 69. Θεσσαλονίκη ΤΚ 54622

Εισαγωγή στην. Γιάννης Σμαραγδάκης

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

κώστας βεργίδης εισαγωγή στις βασικές έννοιες των επιχειρησιακών διεργασιών γραφείο 322 κτίριο Γ

Εισαγωγή στην Τεχνολογία Λογισµικού

Περιεχόμενο του μαθήματος

Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Συστήματα Πληροφοριών Διοίκησης

Ανάλυση Περιπτώσεων Χρήσης

Κεφάλαιο 8 Πληροφοριακά συστήματα. Εφαρμογές Πληροφορικής Κεφ. 8 Καραμαούνας Πολύκαρπος

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

Τεχνολογία λογισμικού στην πράξη

Διαδικασία μετασχηματισμού του Προγράμματος Σπουδών σε μιντιακές δράσεις. Λοΐζος Σοφός

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΠΙΤΕΛΙΚΗ ΣΥΝΟΨΗ 2. ΕΙΣΑΓΩΓΗ ΣΚΟΠΟΣ ΤΟΥ ΠΑΡΟΝΤΟΣ 3. ΑΝΑΛΥΣΗ ΥΠΑΡΧΟΥΣΑΣ ΚΑΤΑΣΤΑΣΗΣ 3.1 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ ΚΑΙ ΠΑΡΕΧΟΜΕΝΕΣ ΥΠΗΡΕΣΙΕΣ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

A ΤΑΞΗ ΑΝΑΛΥΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΑΝΑ ΕΝΟΤΗΤΑ

Μαθηµατική. Μοντελοποίηση

ΔΙΑΧΕΙΡΙΣΗ ΠΟΙΟΤΗΤΑΣ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΚΟΣΤΟΣ ΠΟΙΟΤΗΤΑΣ: πρόληψης, εκτίμησης, αστοχιών (εσωτερικό, εξωτερικό)

Ορισμός Ευκαιρίας. 2.Διαδικασία Αναγνώρισης Ευκαιρίας

Βασικά Στοιχεία Διαχείρισης Έργων

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1)

Εισαγωγή στην Τεχνολογία Λογισµικού

Διαγράμματα Κλάσεων στη Σχεδίαση

Σχεδίαση μαθησιακών δραστηριοτήτων λογιστικά φύλλα υπερμεσικά περιβάλλοντα προσομοιώσεις

Διαχείριση Πολιτισμικών Δεδομένων

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

2.3 Κριτήρια Ανάθεσης

ΕΚΘΕΜΑ 2-1 Σύστηµα επιστροφής µπάλας, ένα από τα προϊόντα µπόουλινγκ της AMF Bowling.

Ο Ρόλος της Τεχνολογίας (Software) στον Συνεδριακό Τουρισµό. Αντώνης Σακελλαρόπουλος. Πρόεδρος & /νων Σύµβουλος PANASOFT A.E

Στρατηγική Επιλογή. Η Λογιστική Σουίτα ΙΙ αποτελείται από:

Πρότυπα Συστημάτων Διαχείρισης :

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

Πληροφοριακά Συστήματα Διοίκησης. Διοικητική Επιστήμη και Λήψη Αποφάσεων

Διαχείριση έργων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

ΒΑΣΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΠΡΟΪΟΝΤΟΣ

Περιεχόμενο του μαθήματος

Διοίκηση Ολικής Ποιότητας ΔΙΑΛΕΞΗ 2 η : Εργαλεία και Τεχνικές

Transcript:

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 2: Βασικές Έννοιες Τεχνολογίας Λογισμικού

Ο Ρόλος του Τεχνολόγου Λογισμικού Επιστήμη Υπολογιστών Πελάτης 2 Θεωρίες Λειτουργίες Υπολογιστή Πρόβλημα Σχεδιασμός & Ανάπτυξη Λογισμικού Εργαλεία & Τεχνικές για την Επίλυση Προβλημάτων

Επίλυση Προβλημάτων 3 Ανάλυση Σύνθεση

Το «Οπλοστάσιο» της Τεχνολογίας Λογισμικού 4 Ανάλυση και Σύνθεση του προβλήματος Σπάσιμο του προβλήματος σε επιμέρους μικρότερα προβλήματα. Λύση των μικρότερων επιμέρους προβλημάτων. «Συναρμολόγηση» λύσης με χρήση των επιμέρους λύσεων. Μέθοδοι ή Τεχνικές: Τυπικές ακολουθίες βημάτων. Εργαλεία: Βοηθήματα ή αυτοματοποιημένα συστήματα για την αυτόματη εφαρμογή μεθόδων/τεχνικών. Διαδικασίες: Συνδυασμός μεθόδων και εργαλείων. Υποδείγματα: Γενικές περιγραφές, προσέγγιση, φιλοσοφία

Τι είναι «Καλό» Λογισμικό; 5 Εξαρτάται από την εφαρμογή Παιχνίδια vs. mission-critical συστήματα. Εξαρτάται από την οπτική: Ποιότητα προϊόντος. Ποιότητα διεργασίας. Ποιότητα στα πλαίσια του επιχειρηματικού περιβάλλοντος.

Ποιότητα Προϊόντος 6 Άποψη χρηστών με βάση τη λειτουργικότητα, τις αστοχίες, την ευκολία χρήσης. Άποψη δημιουργών με βάση τα εσωτερικά χαρακτηριστικά. Μοντέλα συσχέτισης της άποψης των χρηστών με αυτή των δημιουργών

Ποιότητα Διεργασίας 7 Ποιότητα της διεργασίας ανάπτυξης και συντήρησης εξίσου σημαντική και αλληλένδετη με την τελική ποιότητα του προϊόντος Μοντελοποίηση και βελτιστοποίηση της διεργασίας Πού / πότε συναντάται συγκεκριμένο είδος ελαττώματος; Πώς μπορούν ελαττώματα να εντοπιστούν νωρίς στη διαδικασία ανάπτυξης; Πώς μπορούμε να ενσωματώσουμε ανοχή σε σφάλματα; Εναλλακτικές για τη βελτιστοποίηση της διεργασίας χωρίς βλάβη της ποιότητας; Πρότυπα διεργασιών: Capability Maturity Model (CMM) ISO 9000 Software Process Improvement and Capability determination (SPICE)

Ποιότητα ως προς το Επιχειρηματικό Περιβάλλον 8 Απόδοση επένδυσης με βάση: Το χρηματικό κόστος (κυβερνήσεις) Την απαιτούμενη προσπάθεια (εταιρείες) Εκπαίδευση Χρονοδιάγραμμα Κίνδυνος Παραγωγικότητα Ποιότητα

Κατηγοριοποίηση «Προβλημάτων» Λογισμικού 9 Σφάλμα: Ανθρώπινο λάθος. Ελάττωμα: Αποτέλεσμα σφάλματος που εμφανίζεται σε κάποιο προϊόν ανάπτυξης ή συντήρησης. Αστοχία ή δυσλειτουργία: Απομάκρυνση από την προδιαγεγραμμένη συμπεριφορά του συστήματος. Ένα σφάλμα μπορεί να οδηγήσει σε πολλαπλά ελαττώματα. Ένα ελάττωμα πιθανόν να μην οδηγήσει ποτέ σε αστοχία.

Συμμετέχοντες στην Ανάπτυξη Λογισμικού 10 Πελάτης Χρηματοδότηση, Απαιτήσεις Συμβατικές Υποχρεώσεις Χρήστης Ανάγκες Σύστημα Λογισμικού Δημιουργός

Πελάτης 11 Καθορίζει τι θα κατασκευαστεί. Παρέχει προδιαγραφές των απαιτήσεων. Χρηματοδοτεί την ανάπτυξη. Παραλαμβάνει και αξιολογεί το τελικό προϊόν.

Δημιουργός 12 Καθορίζει πώς θα κατασκευαστεί το προϊόν. Δημιουργεί το προϊόν (λογισμικό). Προσπαθεί για την ικανοποίηση του πελάτη.

Διαχειριστής 13 Σύνδεσμος μεταξύ πελάτη δημιουργού. Διαπραγματεύεται χρόνο παράδοσης και κόστος. Χρονοπρογραμματίζει και επιβλέπει το έργο. Θέτει περιορισμούς στο χρόνο και στην προσπάθεια στο δημιουργό.

Σχέσεις Μεταξύ Συμμετεχόντων 14 Απαραίτητη επικοινωνία, ευελιξία και αμοιβαία κατανόηση. Πρόβλημα: Αβεβαιότητα. Επικάλυψη ρόλων κατά την πρόοδο του έργου

Προσέγγιση από την Πλευρά του Συστήματος 15 Σύστημα: Δραστηριότητες: Συμβάν που τροποποιεί δεδομένα. Ξεκινά από κάποιο ερέθισμα και παράγει κάποιο γεγονός. Αντικείμενα: Στοιχείο που περιλαμβάνεται σε δραστηριότητα (π.χ. στοιχεία υπαλλήλου). Αντιστοιχίες που συνδέουν δραστηριότητες και αντικείμενα. Όρια συστήματος Τι περιλαμβάνεται στο έργο και τι όχι;

Όρια Συστήματος 16 Σύστημα εκτύπωσης επιταγών μισθοδοσίας

Αλληλοσχετιζόμενα Συστήματα Αυξητική (Incremental) Ανάπτυξη 17 Σύστημα παρακολούθησης υδάτινων πόρων

Υλοποίηση Συστημάτων Λογισμικού Κατασκευή Σπιτιού Καθορισμός και ανάλυση των απαιτήσεων & προδιαγραφών Παραγωγή και τεκμηρίωση του συνολικού σχεδίου Παραγωγή αναλυτικών προδιαγραφών Υλοποίηση Έργου Λογισμικού Ανάλυση απαιτήσεων και καθορισμός προδιαγραφών Σχεδίαση συστήματος 18 Καθορισμός και σχεδίαση επιμέρους στοιχείων Κατασκευή επιμέρους στοιχείων Δοκιμή επιμέρους στοιχείων Συναρμολόγηση και ενοποίηση στοιχείων, εκτέλεση τελικών τροποποιήσεων μετά τη μετακόμιση των ενοίκων Συνέχιση της συντήρησης του σπιτιού από τους ενοίκους Σχεδίαση προγραμμάτων Συγγραφή προγραμμάτων Έλεγχος μονάδων Έλεγχος ολοκλήρωσης Έλεγχος συστήματος Παράδοση συστήματος Συντήρηση

Η Ομάδα Ανάπτυξης 19

Παράγοντες Εξέλιξης Τεχνολογίας Λογισμικού (Wasserman 96) 20

Βασικές Έννοιες Τεχνολογίας Λογισμικού κατά Wasserman 21 1. Αφαίρεση. 2. Μέθοδοι και σημειολογίες ανάλυσης και σχεδίασης. 3. Δημιουργία πρωτοτύπων της διασύνδεσης χρήστη. 4. Αρχιτεκτονική λογισμικού. 5. Διεργασία λογισμικού. 6. Επαναχρησιμοποίηση. 7. Μέτρηση. 8. Εργαλεία και ολοκληρωμένα περιβάλλοντα.

Αφαίρεση 22 Περιγραφή προβλήματος σε κάποιο επίπεδο γενίκευσης. Μας επιτρέπει να επικεντρωθούμε στα κύρια χαρακτηριστικά του προβλήματος. Δημιουργούνται κλάσεις ομοειδών αντικειμένων. Δημιουργούνται ιεραρχίες αντικειμένων.

Μέθοδοι και Σημειολογία Ανάλυσης και Γενίκευσης 23 Δημιουργία μοντέλων. Έλεγχος τους για πληρότητα και συνέπεια. Επαναχρησιμοποίηση προδιαγραφών και στοιχείων προηγούμενων projects. Χρήση τυποποιημένου συμβολισμού για την επικοινωνία και την τεκμηρίωση αποφάσεων Περιορισμοί: Εργαλεία που απευθύνονται σε συγκεκριμένες μόνο πτυχές του προβλήματος. Έλλειψη καθολικά αποδεκτής σημειολογίας UML?

Δημιουργία Πρωτοτύπων της Διασύνδεσης Χρήστη 24 Δόμηση μικρότερης έκδοσης με περιορισμένη λειτουργικότητα. Πελάτης: Υποβοηθείται ώστε να προσδιορίσει τις βασικές απαιτήσεις από το σύστημα. Επιδεικνύεται η σκοπιμότητα μιας συγκεκριμένης σχεδίασης / προσέγγισης. Επαναλαμβανόμενη διαδικασία.

Αρχιτεκτονική Λογισμικού 25 Σύστημα ως σύνολο αρχιτεκτονικών μονάδων και χάρτη σχέσεων μεταξύ των μονάδων. Ανεξάρτητες μονάδες => αρθρωτή αρχιτεκτονική, διευκόλυνση ανεξάρτητης σχεδίασης/ανάπτυξης υποσυστημάτων. Σημαντική για: Υλοποίηση. Δοκιμή. Συντήρηση. Τροποποίηση.

Τρόποι Διαμερισμού Συστήματος σε Μονάδες 26 Ανάλυση δομικών μονάδων (ανάθεση λειτουργιών στις μονάδες). Ανάλυση προσανατολισμένη στα δεδομένα (εξωτερικές δομές δεδομένων). Ανάλυση προσανατολισμένη στα γεγονότα (που πρέπει να χειριστεί το σύστημα). Σχεδίαση outside-in (βασισμένη στα δεδομένα που εισάγει ο χρήστης στο σύστημα). Αντικειμενοστρεφής σχεδίαση (προσδιορισμός κλάσεων αντικειμένων και αλληλοσυσχετισμών μεταξύ τους).

Διεργασία Ανάπτυξης Λογισμικού 27 Οργάνωση & πειθαρχία κατά την ανάπτυξη => ποιότητα & ταχύτητα ανάπτυξης λογισμικού. Διαφορετικές διεργασίες ανάλογα με το βαθμό χρήσης και την κρισιμότητα της εφαρμογής.

Επαναχρησιμοποίηση 28 Αξιοποίηση ομοιοτήτων μεταξύ εφαρμογών. Αφορά τμήματα λογισμικού, τμήματα σχεδίασης, ομάδες προδιαγραφών, ομάδες σεναρίων δοκιμών Προβλήματα: Χρονοβόρα αναζήτηση σε βιβλιοθήκες αντικειμένων. Προσπάθεια για γενίκευση αντικειμένων ώστε να επαναχρησιμοποιηθούν. Τεκμηρίωση του βαθμού εξασφάλισης της ποιότητας. Ευθύνη; Κατανόηση; Γενίκευση vs. εξειδίκευση.

Μέτρηση 29 Ποσοτικοποίηση στόχων / αποτελεσμάτων ΠΡΑΓΜΑΤΙΚΟΣ ΕΜΠΕΙΡΙΚΟΣ ΚΟΣΜΟΣ ΣΥΜΒΑΤΙΚΟΣ ΜΑΘΗΜΑΤΙΚΟΣ ΚΟΣΜΟΣ Εμπειρικό σχεσιακό σύστημα Μέτρηση Συμβατικό σχεσιακό σύστημα Υλοποίηση λύσης Εμπειρικά σχετικά αποτελέσματα Ερμηνεία Αριθμητικά αποτελέσματα Μαθηματικά - Στατιστική

Εργαλεία και Ολοκληρωμένα Περιβάλλοντα 30 Εργαλεία για: Υποβοηθούμενη ανάπτυξη λογισμικού. Αυτόματη ανάπτυξη λογισμικού. Παρακολούθηση προόδου ανάπτυξης λογισμικού. Εκσφαλμάτωση. Δοκιμή.