Τα εργαλεία του εμπορείου (the tools of the Trade) Δρ. Μαρία Ι. Ανδρέου.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
«Κυβερνητικές προτάσεις για το Ασφαλιστικό» © VPRC – Μάρτιος / Δ.1 © VPRC – Μάρτιος 2008 ΚΥΒΕΡΝΗΤΙΚΕΣ ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΤΟ ΑΣΦΑΛΙΣΤΙΚΟ.
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΕΙΣΑΓΩΓΗ ΣΤΟ DOS (Disk Operating System)
ΜοντελοποίησηΈργα ΜαθήματαΑξιολόγηση Αναστοχασμος Μαθήματα.
7.5.2 Αντικειμενοστραφής προγραμματισμός
HTML.
Διαχείριση Έργου Οργάνωση, σχεδιασμός και προγραμματισμός έργων ανάπτυξης λογισμικού.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
Μοντέλα Κύκλου-Ζωής Λογισμικού SOFTWARE LIFE-CYCLE MODELS
ΜΑΘ-3122/106 Προγραμματισμός
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Ανάκτηση Πληροφορίας Αποτίμηση Αποτελεσματικότητας.
PL/SQL.
Ανάλυση του λευκού φωτός και χρώματα
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 7: Συμβολοσειρές.
Συνέπεια Τόξου (Arc Consistency)
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Εξάσκηση στην προπαίδεια
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
1/5/ ΧΡΗΣΕΙΣ ΤΗΣ ΗΛΙΑΚΗΣ ΑΝΤΙΝΟΒΟΛΙΑΣ 1/5/ (πηγή: HELIOAKMI).
ΕΠΛ223 Θεωρία και Πρακτική Μεταγλωττιστών Εαρινό Εξάμηνο 2002 Κ. Μουρλάς, Λέκτορας Σημείωση: Οι διαφάνειες αυτές βασίζονται κατά το μεγαλύτερο μέρος τους.
2006 GfK Praha CORRUPTION CLIMATE IN EUROPE % % % %0 - 10% % % % % % ΚΛΙΜΑ ΔΙΑΦΘΟΡΑΣ Η.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
Συνδυαστικά Κυκλώματα
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Ανάπτυξη Πρωτοτύπου Λογισμικού
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Σχεδιασμός Προσανατολισμένος σε Λειτουργίες
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
+19 Δεκέμβριος 2014 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20 Δείκτης < -20 Συνολικά της ΕΕ: +5 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20.
ΤΑ ΔΟΝΤΙΑ ΜΑΣ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Διαχείριση Έργων Πληροφορικής
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων 2ο Κεφάλαιο.
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ – ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ Μεταπτυχιακό Πρόγραμμα Σπουδών στην Επιστήμη της Πληροφορίας «Διοίκηση και Οργάνωση Βιβλιοθηκών.
Μεταγράφημα παρουσίασης:

Τα εργαλεία του εμπορείου (the tools of the Trade) Δρ. Μαρία Ι. Ανδρέου

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα Σταδιακή Εκλέπτυνση (Stepwise refinement) Ανάλυση-Κόστους Οφέλους (Cost–benefit analysis) Μετρικές Λογισμικού (Software metrics) Τεχνολογία Λογισμικού βοηθούμενη από τον υπολογιστή (CASE - computer-aided software engineering) Taxonomy of CASE Το πεδίο δράσεως (Scope) of CASE Εκδόσεις Λογισμικού (Software versions) Configuration control Εργαλεία Κατασκευής (Build tools) Η παραγωγικότητα που κερδίζεται με χρήση της τεχνολογίας των CASE

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 3 Σταδιακή Εκλέπτυνση (Stepwise Refinement) Η βασική τεχνική πίσω από πολλές τεχνικές (techniques) για software engineering  “καθυστερείτε να παίρνετε αποφάσεις για λεπτομέρειες όσο το δυνατό περισσότερο, για να είναι δυνατό να εστιάζετε σε σημαντικά θέματα” Miller’s law (1956)  Ένας άνθρωπος μπορεί να εστιάζει σε 7 ± 2 items κάθε στιγμή

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 4 Stepwise Refinement Mini Case Study Σχεδιάστε ένα προϊόν το οποίο θα κάνει update a sequential master file το οποίο περιλαμβάνει δεδομένα (εγγραφές) με: το όνομα (name) και τη διεύθυνση (address) συνδρομητών (subscriber) του μηνιαίου περιοδικού «True Life Software Disasters» Υπάρχουν τριών ειδών transactions (συναλλαγές)  Type 1:INSERT (a new subscriber into the master file)  Type 2:MODIFY (an existing subscriber record)  Type 3:DELETE (an existing subscriber record) Τα Transactions αποθηκεύονται σε αλφαβητική σειρά, και κατά transaction code με αλφαβητική σειρά

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 5 Τυπικό File για Input Transactions

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 6 Decompose Process No further refinement is possible

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 7 First Refinement

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 8 Stepwise Refinement Case Study (contd) Υπόθεση  Μπορούμε να παράξουμε ένα record όταν η PROCESS το απαιτεί Ξεχωρίστε το INPUT και το OUTPUT, με βάση την PROCESS

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 9 Stepwise Refinement Case Study (contd) Τί είναι η PROCESS? Παράδειγμα:

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 10 Stepwise Refinement Case Study (contd) Πιο τυπικά (More formally):

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 11 Second Refinement

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 12 Third Refinement Αυτό το design έχει ένα βασικό λάθος

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 13 Stepwise Refinement Case Study (contd) Η τρίτη εκλέπτυνση είναι ΛΑΘΟΣ  “Modify JONES” ακολουθούμενο από το “Delete JONES” διαχειρίζεται λανθασμένα (is incorrectly handled)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 14 Stepwise Refinement Case Study (contd) Μετά την διόρθωση της τρίτης εκλέπτυνσης  Λεπτομέρειες όπως opening and closing files έχουν αγνοηθεί μέχρι τώρα  όταν η λογική του design ολοκληρωθεί πρέπει να επιλυθούν όλες τα θέματα που έχουν προς το παρών παραβλεφθεί  Η φάση κατά την οποία χειρίζεται ένα θέμα (μια πτυχή του προϊόντος) είναι καίριας σημασίας Το θέμα του ανοίγματος και κλεισίματος αρχείων (Opening and closing files)  Έχει αγνοηθεί σε προηγούμενα στάδια (βήματα), αλλά  Είναι ουσιώδες και σημαντικό στην συνέχεια (σε ένα από τα επόμενα στάδια)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 15 Αποτίμηση της τεχνικής του Stepwise Refinement Η βασική αρχή που χρησιμοποιείτε σε  Κάθε δραστηριότητα (Every workflow)  Κάθε αναπαράσταση (Every representation) Η δύναμη της σταδιακής εκλέπτυνσης (stepwise refinement)  Ο μηχανικός λογισμικού μπορεί να εστιάζει και να συγκεντρώνετε σε πτυχές του προϊόντος που είναι σχετικές κάθε φορά (και όχι σε όλες ταυτόχρονα). Προειδοποίηση (Warning)  Ο Miller’s Law είναι θεμελιώδης περιορισμός στην νοητική δύναμη των ανθρώπων

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 16 Ανάλυση Κόστους-Οφέλους (Cost–Benefit Analysis) Σύγκρινε το κόστος και μελόντικες ωφέλειες  Εκτίμηση κόστους (Estimate costs)  Εκτίμηση ωφελειών (Estimate benefits)  Άμεση έκθεση (διατύπωση) όλων των υποθέσεων

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 17 Cost–Benefit Analysis (contd) Παράδειγμα: Computerizing Krag Central Electric Company (KCEC)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 18 Cost–Benefit Analysis (contd) Χειροπιαστά κόστη και ωφέλειες (Tangible costs/benefits) είναι εύκολο να μετρηθούν Κάντε υποθέσεις για να εκτιμήσετε μη χειροπιαστά (intangible) κόστη και ωφέλειες  Βελτιώνοντας τις υποθέσεις θα βελτιώσουν τις εκτιμήσεις

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 19 Μετρικές Λογισμικού (Software Metrics) Για να εντοπίζετε προβλήματα γρήγορα, είναι σημαντικό να μπορείτε να τα μετρήσετε (υπολογίσετε) Παραδείγματα:  LOC per month  Defects per 1000 lines of code

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 20 Διάφοροι Τύποι Μετρικών (Different Types of Metrics) Μετρικές του Προϊόντος (Product metrics)  παραδείγματα: Μέγεθος του προϊόντος (Size of product) Αξιοπιστία του προϊόντος (Reliability of product) Μετρικές της Διαδικασίας (Process metrics)  παράδειγμα: Αποδοτικότητα της αναγνώρισης λαθών (fault detection) κατά την ανάπτυξη (development) του software Metrics συγκεκριμένα σε ένα δεδομένο workflow  παράδειγμα: Ο αριθμός των defects που εντοπίζονται κάθε ώρα κατά την αξιολόγηση των προδιαγραφών (specifications)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 21 Οι πέντε βασικές μετρικές (The Five Basic Metrics) Μέγεθος (Size)  Σε γραμμές κώδικα (In lines of code, or better) Κόστος (Cost)  Σε χρήματα (In dollars) Διάρκεια (Duration)  Σε μήνες (In months) Προσπάθεια (Effort)  Σε ανθρωπομήνες (In person months) Ποιότητα (Quality)  Number of faults detected

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 22 CASE (Computer-Aided Software Engineering) Το πεδίο δράσης των CASE (Scope of CASE)  CASE υποστηρίζουν όλο τον κύκλο ζωής (life-cycle) The computer assists with drudge work  Διαχειρίζεται όλες τις λεπτομέρειες

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 23 Taxonomy of CASE UpperCASE (front-end tool) versus LowerCASE (back-end tool)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 24 Μερικά Χρήσιμα Εργαλείο (Some Useful Tools) Λεξικό δεδομένων (Data dictionary)  Computerized list όλων των δεδομένων που ορίσθηκαν κατά την διάρκεια ανάπτυξης του product Έλεγχος συνέπειας, αξιοπιστίας (Consistency checker) Report generator, screen generator

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 25 Taxonomy of CASE (contd) (a) Tool versus (b) workbench versus (c) environment

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 26 Scope of CASE Οι Programmers πρέπει να έχουν :  Ακρίβεια, ενημερωμένες εκδόσεις (up-to-date versions) όλων των project documents  Online πληροφορίες για βοήθεια σχετικά με Λειτουργικό σύστημα (Operating system) Editor Γλώσσα προγραμματισμού (Programming language)  Online programming standards  Online manuals Editor manuals Programming manuals

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 27 Scope of CASE (contd) Οι Programmers πρέπει να έχουν:  systems  Spreadsheets  Word processors  Structure editors  Pretty printers  Online interface checkers

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 28 Online Interface Checker ένας structure editor πρέπει να υποστηρίζει online interface checking  Ο editor πρέπει να ξέρει το όνομα κάθε procedure Interface checking είναι ένα σημαντικό μέρος του programming-in-the-large

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 29 Online Interface Checker (contd) Παράδειγμα  The user enters the call average = dataArray.computeAverage (numberOfValues);  The editor immediately responds Method computeAverage not known ο programmer έχει δυο επιλογές  Διόρθωση του ονόματος της μεθόδου σε computeMean  Ορισμό μιας νέας procedure computeAverage και καθορισμό των παραμέτρων της Αυτό επιτρέπει πλήρη έλεγχο του interface

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 30 Online Interface Checker (contd) Παράδειγμα  Ο ορισμός του q είναι void q (float floatVar, int intVar, String s1, String s2);  Call (invocation) is q (intVar, floatVar, s1, s2);  ο online interface checker εντοπίζει τι λάθος Help facility  Online πληροφόρηση για τις παραμέτρους της μεθόδου q  Καλύτερα: ο Editor generates a template for the call The template δείχνει τον τύπο κάθε παραμέτρου ο programmer αντικαθιστά τις formal με actual παραμέτρους

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 31 Online Interface Checker (contd) Πλεονεκτήματα  Δεν υπάρχει ανάγκη για διάφορα εργαλεία (tools) με διάφορα interfaces  Hard-to-detect faults are immediately flagged για διόρθωση Λάθος αριθμός παραμέτρων Παράμετροι με λάθος τύπο Κατάλληλο όταν το software παράγετε ανά ομάδες  Αν ένας programmer αλλάξει το interface specification, όλα τα components που καλούν αυτά τα αλλαγμένα τμήματα πρέπει να είναι disabled

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 32 Online Interface Checker (contd) Ακόμα και όταν ένας structure editor incorporates an online interface checker, το πρόβλημα παραμένει  ο programmer still has to exit from the editor to invoke the compiler (to generate code)  τότε, ο linker πρέπει να κληθεί to link the product  ο programmer must adjust to the JCL, compiler, and linker output Λύση: Incorporate an operating system front-end into the structure editor

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 33 Operating System Front-End in Editor Single command  go or run  Χρήση του mouse για επιλογή An icon, or A menu selection This one command causes the editor to invoke the compiler, linker, loader, and execute the product

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 34 Source Level Debugger Παράδειγμα:  Έστω ότι ένα πρόγραμμά εκτελείτε και τερματίζει απότομα και το μήνυμα που μας δίνετε είναι Overflow at 4B06 ή Core dumped ή Segmentation fault

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 35 Source Level Debugger (contd) Ο programmer δουλεύει με μια high-level language, αλλά θα πρέπει να ελέγχει  Machine code core dumps  Assembler listings  Linker listings  Similar low-level documentation Αυτό καταστρέφει τα πλεονεκτήματα του να δουλεύει κανείς σε μια high-level language Χρειαζόμαστε  An interactive source level debugger (like dbx )

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 36 Source Level Debugger (contd) Το Output από ένα τυπικό source-level debugger

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 37 Programming Workbench Structure editor with  Online interface checking capabilities  Operating system front-end  Online documentation  Source level debugger Αυτό συνιστά ένα απλό περιβάλλον προγραμματισμού (programming environment)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 38 Programming Workbench (contd) Αυτά Δεν είναι κάτι νέο  Όλα τα πιο πάνω χαρακτηριστικά υποστηρίζονται by FLOW (1980)  Η τεχνολογία αυτή είναι σε εφαρμογή για χρόνοα Μας εκπλήσσει που, μερικοί προγραμματιστές ακόμα γράφουν code με τον παλιό τρόπο (old- fashioned)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 39 Εκδόσεις του Software (Software Versions) Κατά την διάρκεια του maintenance, συνέχεια υπάρχουν τουλάχιστον δυο εκδόσεις (versions) του προϊόντος (product):  Η παλιά έκδοση (old version), και  Η νέα έκδοση (new version) Υπάρχουν δυο τύποι εκδόσεων: αναθεώρησης (revision) and παραλλαγών (variations)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 40 Αναθεωρήσεις (Revisions) Revision  ένα version για διόρθωση λαθών σε κάθε τμήμα  Δεν μπορούμε να πετάξουμε μια μη σωστή έκδοση (incorrect version) επειδή Η νέα version μπορεί να μην είναι καλύτερη Μπορεί να μην εγκατασταθεί η νέα έκδοση σε όλες τις πλευρές Συντήρηση για τελειοποίηση και προσαρμογή (Perfective and adaptive maintenance) έχει επίσης σαν αποτέλεσμα αναθεώρηση του προϊόντος

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 41 Παραλλαγές (Variations) Μια παραλλαγή (variation) είναι μια έκδοση (version) για ένα διαφορετικό operating system–hardware Οι παραλλαγές σχεδιάζονται για να συνυπάρχουν παράλληλα

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 42 Configuration Control Κάθε κομμάτι του κώδικα (code artifact) υπάρχει σε τρις μορφές  Source code  Object code  Executable load image Configuration  Μια έκδοση κάθε κομματιού από την οποία έχει προκύψει μια δεδομένη έκδοση του προϊόντος Figure 5.12

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 43 Εργαλεία ελέγχου των διαφόρων εκδόσεων (Version-Control Tool) Essential for programming-in-the-many  Είναι το πρώτο βήμα για configuration management Ένα εργαλείο ελέγχου-εκδόσεων πρέπει να διαχειρίζεται  Updates  Parallel versions

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 44 Version-Control Tool (contd) Σημειογραφία (notation) για file name, variation, and version

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 45 Version-Control Tool (contd) Πρόβλημα με πολλαπλές παραλλαγές (Problem of multiple variations)  Deltas Δεν είναι αρκετός ο έλεγχος των εκδόσεων (Version control is not enough), συνεπώς προκύπτουν  Θέματα συντήρησης (maintenance issues)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 46 Configuration Control during Postdelivery Maintenance Έστω ότι δυο προγραμματιστές δουλεύουν την ίδια ώρα στο ίδιο κομμάτι του κώδικα το mDual/16 Οι αλλαγές που έκανε ο πρώτος προγραμματιστής αποθηκεύονται στο mDual/17 Οι αλλαγές που έκανε ο δεύτερος προγραμματιστής αποθηκεύονται στο mDual/18  οι αλλαγές που έκανε π πρώτος προγραμματιστής χάνονται

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 47 Γραμμές βάσης (Baselines) Ο διευθυντής που είναι υπεύθυνος για τη συντήρηση (maintenance manager) πρέπει να θέσει  Γραμμές βάσης (Baselines)  Προσωπικούς χώρους εργασίας (Private workspaces) Όταν ένα κομμάτι θα τροποποιηθεί, η τρέχον έκδοση του παγοποιείται (frozen)  Από εκεί και πέρα δεν μπορεί να τροποποιηθεί

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 48 Baselines (contd) Και οι δυο προγραμματιστές κάνουν τις αλλαγές τους στο mDual/16 Ο πρώτος προγραμματιστής  Παγοποιεί (Freezes) το mDual/16 και κάνει αλλαγές σε αυτό  Η έκδοση που προέκυψε (The resulting revision) είναι η mDual/17  Μετά τον έλεγχο, η mDual/17 γίνεται η ΝΕΑ γραμμή βάσης (baseline) για αυτό το κομμάτι Ο δεύτερος προγραμματιστής  Παγοποιεί το mDual/17 και κάνει τις αλλαγές του σε αυτό  The resulting revision είναι η mDual/18  Μετά τον έλεγχο, η mDual/18 γίνεται η ΝΕΑ γραμμή βάσης (baseline) για αυτό το κομμάτι

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 49 Configuration Control during Development Ενόσω ένα κομμάτι κωδικοποιείται  Ο προγραμματιστής εκτελεί άτυπο έλεγχο (informal testing) σε αυτό Στη συνέχει αυτό το κομμάτι δίνετε στο SQA group για μεθοδικό έλεγχο (methodical testing)  Αλλαγές από εδώ και πέραν μπορούν επηρεάζουν ολόκληρο το προϊόν Ένα κομμάτι πρέπει να υπόκειται σε configuration control όταν περάσει από το SQA

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 50 Configuration-Control Tools UNIX version-control tools  sccs  rcs  cvs Popular commercial configuration-control tools  PVCS  SourceSafe Open-source configuration-control tool  cvs

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 51 Εργαλεία κατασκευής (Build Tools) Παράδειγμα  UNIX make A build tool compares the date and time stamp on  Source code, object code  It calls the appropriate compiler only if necessary The tool then compares the date and time stamp on  Object code, executable load image  It calls the linker only if necessary

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 52 Παραγωγικότητα που κερδίζεται με χρήση CASE Tools Έρευνα σε 45 εταιρίες σε 10 βιομηχανίες (1992)  Half information systems  Quarter scientific software  Quarter real-time aerospace software Αποτελέσματα  Η παραγωγικότητα αυξήθηκε περίπου 10%  κόστος: $125,000 per seat

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 53 Productivity Gains with CASE Tools (contd) Δικαίωση των CASE  Πιο γρήγορη ανάπτυξη (Faster development)  Λιγότερα λάθη (Fewer faults)  Πιο εύκολη συντήρηση (Easier maintenance)  Βελτίωση του ηθικού (Improved morale)

Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 54 Productivity Gains with CASE Tools Νεότερα αποτελέσματα 15 Fortune 500 companies (1997) Είναι ζωτικής σημασίας να έχουμε  Training, and  A software process Τα αποτελέσματα επιβεβαιώνουν ότι CASE environments πρέπει να χρησιμοποιούνται CMM level 3 or higher “A fool with a tool is still a fool”