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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΙΣΗΣ DATA, ΤΟΠΟΘΕΣΙΩΝ ΚΑΙ ΠΟΡΩΝ.
Advertisements

Βασικές έννοιες αλγορίθμων
Προγραμματισμός Ι (αποφύγετέ τον!) 3) Διακοπτόμενος βρόχος: (αποφύγετέ τον!) float energy;......while(TRUE){drink_water(); if(energy
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Νέα σειρά εκδόσεων 4.5. Νέα χαρακτηριστικά  Επιφάνεια εργασίας  On Line ενημέρωση Λογιστικής  Διαχείριση σχετικών εγγράφων  Data Center  Γεωγραφικές.
ΤΡΟΠΟΣ ΑΞΙΟΛΟΓΗΣΗΣ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΚΙΝΗΤΙΚΟΤΗΤΑΣ
Γραφήματα & Επίπεδα Γραφήματα
7.5.2 Αντικειμενοστραφής προγραμματισμός
Slide 1 Δίκτυα Τηλεπικοινωνιών ENOTHTA 7 η ΔΙΑΚΙΝΗΣΗ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ (ΜΕΡΟΣ Α’) 1. ΘΕΩΡΙΑ ΤΗΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΗΣ ΚΙΝΗΣΗΣ  Εκτός από τις τερματικές.
Διαχείριση Έργου Οργάνωση, σχεδιασμός και προγραμματισμός έργων ανάπτυξης λογισμικού.
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Μεθοδολογίες Προγραμματισμού ΙΙ Μ Ε Τ Ρ Ι Κ Ε Σ ΑΝΤΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΣΧΕΔΙΑΣΗΣ Ποιότητα Λογισμικού Παναγιώτης Σφέτσος, PhD
Μετρικές Λογισμικού για Αντικειμενοστρεφή Συστήματα
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος
Τεχνολογία αιχμής που αξιοποιεί τις πλέον σύγχρονες διεθνείς τάσεις, συνδυάζοντας τo Microsoft.NET Framework 3.5 και τα εξελιγμένα εργαλεία ανάπτυξης.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Λογισμικού u Ανάπτυξη λύσης που ικανοποιεί τις απαιτήσεις λογισμικού.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
2009ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Κατασκευή Λογισμικού (2/2) Μανόλης.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Σχεδίαση Αλγορίθμων. Διεργασίες (1/2) Μία διεργασία αλληλεπιδρά με το περιβάλλον της δεχόμενη είσοδο και παράγοντας έξοδο.
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Ελάχιστο Συνδετικό Δέντρο
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Χρονική Πολυπλοκότητα και Μοντέλα
Κεφάλαιο 10 – Υποπρογράμματα
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Απαιτήσεων u Καθορίζει τι θέλει ο πελάτης από ένα σύστημα λογισμικού.
Κεφάλαιο 1ο Ανάλυση προβλήματος.
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
14-1 STEPHEN P. ROBBINS, DAVID A. DECENZO, MARY COULTER Διοίκηση επιχειρήσεων Αρχές και εφαρμογές.
Μέρος 1 Εισαγωγή στα Πληροφοριακά Συστήματα. 22/9/20162 Περιεχόμενα  Βασικές έννοιες Πληροφοριακών Συστημάτων  Απαιτήσεις των σύγχρονων επιχειρήσεων.
Βιομηχανική Πληροφορική Βολογιαννίδης Σταύρος Τεχνολογία Βιομηχανικού Λογισμικού, πρότυπα ποιότητας.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
Επίσημος ορισμός Ποιότητας (πρότυπο ISO 8402) Σύνολο χαρακτηριστικών μιας οντότητας για την ικανοποίηση εκφρασμένων και συνεπαγόμενων αναγκών. Αντικείμενο.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Τεχνολογία και Προγραμματισμός Υπολογιστών
Επίλυση Προβλημάτων με Αναζήτηση
Ασκήσεις WEKA Νευρωνικά δίκτυα.
Ανάλυση δεδομένων κοινωνικής έρευνας
ΕΡΓΑΣΤΗΡΙΟ: ΧΡΟΝΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΩΝ
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Κατάρτιση του Εγγράφου Περιγραφής Απαιτήσεων από το Σύστημα (ΕΠΑΣ)
Δικτυωτή ανάλυση.
Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΣΥΣΤΗΜΑ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ (QUALITY SYSTEM)
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Ισοδυναμία ΜΠΑ με ΠΑ Για κάθε ΜΠΑ Μ υπάρχει αλγόριθμος ο οποίος κατασκευάζει ΠΑ Μ’ αιτιοκρατικό ώστε να αναγνωρίζουν την ίδια ακριβώς γλώσσα. Καθώς το.
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Νέα σειρά εκδόσεων 4.5.
Βασικές Έννοιες και Ορισμοί
ΦΑΣΕΙΣ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΟΣ – ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΒΑΛΛΟΝΤΟΣ
ΕΡΓΑΣΤΗΡΙΟ: ΧΡΟΝΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΩΝ
ΕΠΙΜΕΡΙΣΜΟΣ ΚΟΣΤΟΥΣ ΒΟΗΘΗΤΙΚΩΝ ΤΜΗΜΑΤΩΝ
Μεταγράφημα παρουσίασης:

Τεχνολογία λογισμικού ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ (SOFTWARE QUALITY METRICS) Βασικές έννοιες Μετρική (metric) Εμπειρικός – αντικειμενικός χαρακτηρισμός συγκεκριμένου χαρακτηριστικού γνωρίσματος / ιδιότητας μίας οντότητας για την περιγραφή της με βάση καθορισμένους κανόνες μέσω αντιστοίχησης (μέτρησης – measurement) σ’ αυτή ενός αριθμού ή συμβόλου. Μετρική (metric) χαρακτηρισμός απλών ιδιοτήτων λογισμικού (μήκος γραμμών κώδικα, κυκλωματική πολυπλοκότητα) συσχετισμός ιδιοτήτων και χαρακτηρισμός πολύπλοκων ιδιοτήτων (κόστος, πολυπλοκότητα τμήματος κώδικα) Μέτρο (measure) Τεχνολογία λογισμικού Δυνατότητα καθορισμού μετρήσιμων μεγεθών κατά τη σχεδίαση / ανάπτυξη έργων Πρώτη εμφάνιση μετρικών λογισμικού: τέλος ’70 (Halstead – 75, McCabe – 76)

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Κατηγοριοποίηση κριτήριο είδος μετρήσιμου χαρακτηριστικού / ιδιότητας συσχετιζόμενος στόχος συστήματος ποιότητας Εσωτερικές (Internal) Διαδικασίας (process) Μέτρηση εσωτερικών χαρακτηριστικών (γραμμές / πλήθος σχολίων κώδικα, αριθμός εντολών goto σε συνάρτηση κλπ.) που μετρώνται εύκολα αλλά δεν παρέχουν πληροφόρηση σχετικά με την ποιότητα του λογισμικού (στόχος συστήματος ποιότητας) Μέτρηση χαρακτηριστικών διαδικασίας είτε άμεσα (με εσωτερικές μετρικές) είτε έμμεσα (εξωτερικά χαρακτηριστικά). Άμεσα μετρήσιμα: διάρκεια / ανθρωπομήνες ολοκλήρωσης διαδικασίας, εντοπισμένα λάθη ανά ώρα ελέγχου μονάδας, πλήθος συνεντεύξεων με πελάτη για καθορισμό προδιαγραφών κλπ. Έμμεσα μετρήσιμα: σταθερότητα διαδικασίας, δυνατότητα παρακολούθησής της από υπεύθυνο έργου κλπ. Εξωτερικές (External) ή Ποιότητας (quality) Πόρων (resource) Προϊόντος (product) Μέτρηση εξωτερικών χαρακτηριστικών (ευχρηστία, αξιοπιστία κλπ.), υψηλού επιπέδου αφαίρεσης, σχετιζόμενων με την ποιότητα. Δύσκολα μετρώνται άμεσα. Τα αποτελέσματά τους προκύπτουν εμπειρικά (ερωτηματολόγια, συνεντεύξεις πελατών κλπ.) Μέτρηση μεθόδων ανάπτυξης, υλικού (αναλώσιμα, εξοπλισμός), εργαλείων (HW / SW) που χρησιμοποιήθηκαν. Κατά κανόνα μετρούν άμεσα εσωτερικά χαρακτηριστικά. Μέτρηση χαρακτηριστικών λογισμικού που σχετίζονται με τον πελάτη.

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Εσωτερικές μετρικές Πληροφορούν για χαρακτηριστικά σαφώς προσδιορισμένα που μετρώνται με σαφώς προκαθορισμένο τρόπο (ο οποίος περιλαμβάνεται στο εγχειρίδιο ποιότητας της εταιρίας). Παράδειγμα σύμβασης προκαθορισμού: στη μέτρηση γραμμών κώδικα (LOC) στη γλώσσα C, δεν προσμετρούμε (στο πλήθος τους) κενές γραμμές, γραμμές σχολίων ή γραμμές που καλύπτονται μόνο από αγκύλες. /* ……………….*/ main ( ) { ……….. ……….... } Σύνολο γραμμών κώδικα 9 LOC 4 Δεν προσμετρώνται Ανεξάρτητα από το ποιος διενεργεί τη μέτρηση, αυτή πρέπει πάντοτε να παράγει το ίδιο αποτέλεσμα.

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Είναι σημαντικές όταν μπορούν να «συνδέονται» (αφού αναλυθούν κατάλληλα και συνεκτιμηθούν με ιστορικά δεδομένα) με εξωτερικά ποιοτικά χαρακτηριστικά του λογισμικού. π.χ. η «σύνδεση» της LOC με πλήθος / είδος λαθών που εντόπισε ο πελάτης παράγει μία αναλογία λάθη πελάτη / KLOC που μπορεί να αξιοποιηθεί για να ορισθεί το ιδανικό μέγεθος (πλήθος γραμμών) κάθε τμήματος κώδικα. Εσωτερικές μετρικές Παράδειγμα διαχείρισης / ανάλυσης εσωτερικής μετρικής LOC σε 5 τμήματα κώδικα A/A τμήματος LOC τμήματος Λάθη τμήματος (πελάτης) Λάθη τμήματος / KLOC 1 145 0,00 2 765 5 6,54 3 504 5,95 4 907 7 7,72 1145 9 7,86 Ζητούμενα μέσο ποσοστό λαθών / KLOC στο συνολικό κώδικα. γραφική αναπαράσταση μεταβολής του Συνολικό LOC 3466 Συνολικά λάθη 24 Μέσο ποσοστό λαθών / KLOC 24/3466*1000 = 6,92 λάθη / KLOC 200 400 600 800 1000 1200 LOC Λάθη / KLOC 0,00 1,00 2,00 3,00 4,00 5,00 6,00 7,00 8,00 Συμπέρασμα Τμήματα με LOC μέχρι 900 έχουν λάθη / KLOC λιγότερα από το μέσο όρο. Τμήματα με LOC πάνω από 900 έχουν λάθη / KLOC περισσότερα από το μέσο όρο Γράφημα διασποράς

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Κυκλωματική πολυπλοκότητα (cyclomatic complexity) Εσωτερικές μετρικές Γράφος ροής (flow graph) Από τις πιο διαδεδομένες μετρικές. Ενταγμένη στα προγράμματα μετρήσεων πολλών εταιριών. Μετρική ανεξάρτητη από τη χρησιμοποιούμενη γλώσσα προγραμματισμού. Έχουν προταθεί διάφορες εκδόσεις της. Στόχος: εντοπισμός δύσκολα κατανοήσιμων, ελέγξιμων και συντηρήσιμων τμημάτων του κώδικα. Βασικό εργαλείο: γράφος ροής του εξεταζόμενου κώδικα. Εργαλείο αναπαράστασης των δυνατών διαδρομών (μονοπατιών) που μπορεί να ακολουθήσει η εκτέλεση ενός προγράμματος επιλέγοντας σε κάθε εκτέλεση (μέσα από τις διαθέσιμες δυνατότητες επιλογής) διαφορετική διαδρομή. Βασικές δομές γράφου ροής Ακολουθιακή Σειριακή εκτέλεση εντολών χωρίς δυνατότητα επιλογής διαφορετικής διαδρομής εκτέλεσης. Διακλάδωσης Δρομολογούν δύο διαδρομές επιλογής καθεμία από τις οποίες καταλήγει σε κοινό σημείο του κώδικα (εκκίνηση επόμενης εντολής) Κύκλου με έξοδο στην αρχή Δομή επανάληψης τύπου “while /do” Κύκλου με έξοδο στo τέλος Δομή επανάληψης τύπου “do / while”

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Εσωτερικές μετρικές Βασική ιδιότητα γράφου ροής Ένας γράφος ροής διαθέτει μία μόνο είσοδο και μία μόνο έξοδο. Κόμβος από τον οποίο μπορούμε να επισκεφθούμε όλους τους υπόλοιπους κόμβους του γράφου. Από οποιονδήποτε κόμβο του γράφου υπάρχει διαδρομή που να οδηγεί σ’ αυτόν. G3 G4 Παραδείγματα G2 G1 G1 (δύο είσοδοι, δύο έξοδοι) Γράφοι ροής G4 Μη Γράφοι ροής G2 (καμία έξοδος) G3 (δύο έξοδοι)

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Εσωτερικές μετρικές Ισχυρά συνεκτικοί γράφοι c b a d G1 Γράφοι στους οποίους οποιοσδήποτε κόμβος επικοινωνεί με οποιονδήποτε άλλο μέσω μιας διαδρομής. Ισχυρά συνεκτικός γράφος Κυκλωματικός αριθμός ισχυρά συνεκτικού γράφου με α ακμές και κ κόμβους Παραδείγματα ισχυρά συνεκτικών γράφων α – κ + 1 G2 a b f c d e Παράδειγμα Ο κυκλωματικός αριθμός του G1 ισούται με 5 – 4 + 1 = 2 Μη Ισχυρά συνεκτικός γράφος (δεν υπάρχει διαδρομή από f προς a.

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Εσωτερικές μετρικές Οι γράφοι ροής δεν είμαι ισχυρά συνεκτικοί γράφοι. 1ος τρόπος υπολογισμού Ο αριθμός Mc Cabe ενός γράφου ροής G αντιστοιχεί στον κυκλωματικό αριθμό ενός ισχυρά συνεκτικού γράφου G’ ο οποίος κατασκευάζεται προσθέτοντας στον G μία ακμή από την έξοδο προς την είσοδο. Αριθμός Mac Cabe V(G) Ορισμός κυκλωματικής πολυπλοκότητας για ένα γράφο ροής G Ο G’ καθίσταται έτσι ισχυρά συνεκτικός γράφος. a b c e f d Μοναδική είσοδος Μοναδική έξοδος Ακμή που προστίθεται για να γίνει ο γράφος ροής G ισχυρά συνεκτικός G Λόγω της προσθήκης μιας επιπλέον ακμής, o κυκλωματικός αριθμός του G’ είναι κατά 1 μεγαλύτερος από τον κυκλωματικό αριθμό του G. Παράδειγμα V(G) = (a – k + 1) + 1 = (9 – 6 + 1) + 1 = 5

ΜΕΤΡΙΚΕΣ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ Προτείνονται τμήματα κώδικα με V(G) ≤ 10 Αριθμός Mac Cabe V(G) Εσωτερικές μετρικές 2ος τρόπος υπολογισμού Ο αριθμός Mc Cabe ενός γράφου ροής G ισούται με το άθροισμα των πλεονασμάτων σε ακμές απ’ όλους τους κόμβους απόφασης (if, while /do, do / while repeat) του G, αυξημένο κατά 1. a b c e f d Μοναδική είσοδος Μοναδική έξοδος G Για έναν κόμβο απόφασης Α Ισούται με το πλήθος των εξερχόμενων ακμών από τον κόμβο d+(Α) μειωμένο κατά 1 Κόμβοι με πλήθος εξερχόμενων ακμών μεγαλύτερο του 1 Παράδειγμα Στον γράφο G έχουμε: V(G) = (1 + 2 + 1) + 1 = 5 Παράδειγμα Στον γράφο G οι κόμβοι απόφασης είναι b, c, e Ισοδύναμος ορισμός Mac Cabe Ο αριθμός Mc Cabe ενός προγράμματος ισούται με το πλήθος των απλών συνθηκών που εμφανίζονται μέσα σ’ αυτό, αυξημένο κατά 1. Προτείνονται τμήματα κώδικα με V(G) ≤ 10