background image

Κεφάλαιο 5 – Επίλογος 
 
 

97 

 

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

Μία  άλλη  σημαντική  μετρική  κώδικα  είναι  η  κυκλωματική  πολυπλοκότητα.  Το 

πρόγραμμα  PHPLOC  δεν  μας  προσφέρει  την  μετρική  αυτή  απευθείας  και  άλλα  παρόμοια 
προγράμματα  δεν  την  υποστηρίζουν  καθόλου  λόγο  της  δυσκολίας  απόκτησης  σωστής 
μέτρησης. Παρόλα αυτά ο Πίνακας 3 περιέχει κάποιες σχετικές μετρικές από τα αποτελέσματα 
του προγράμματος PHPLOC. Παρατηρούμε από τον πίνακα ότι η μέση πολυπλοκότητα ανά 
λογική γραμμή κώδικα είναι αρκετά μικρή. 

Μέση πολυπλοκότητα ανά LLOC 

0.34 

Μέση πολυπλοκότητα ανά κλάση 

16.50 

  Ελάχιστη πολυπλοκότητα κλάσης 

2.00 

  Μέγιστη πολυπλοκότητα κλάσης 

34.00 

  Αριθμός κλάσεων 

Μέση πολυπλοκότητα ανά μέθοδο 

1.66 

  Ελάχιστη πολυπλοκότητα μεθόδου 

1.00 

  Μέγιστη πολυπλοκότητα μεθόδου 

6.00 

  Αριθμός μεθόδων 

94 

Πίνακας 3: Κυκλωματική πολυπλοκότητα κώδικα PHP, αποτελέσματα του προγράμματος PHPLOC 

Μεγάλη  αύξηση  παρουσιάζεται  στην  πολυπλοκότητα  κάποιων  κλάσεων  χωρίς  όμως  να 
αντικατοπτρίζεται εσωτερικά στις μεθόδους. Παίρνοντας υπόψη την μέγιστη πολυπλοκότητα 
κλάσης  που  εμφανίζει  μία  ακραία  τιμή  αντιλαμβανόμαστε  ότι  υπάρχουν  συγκεκριμένα 
κομμάτια κώδικα με μεγάλη πολυπλοκότητα που ανεβάζουν σημαντικά τον μέσο όρο. Τέτοια 
κομμάτια  κώδικα  εμφανίζονται  σε  μεθόδους  όπως  αυτή  που  εξάγει  τα  περιεχόμενα  ενός 
συμπιεσμένου  αρχείου.  Σε  κομμάτια  κώδικα  όπως  αυτό  πρέπει  να  γίνουν  υποχρεωτικά 
εμφωλευμένοι έλεγχοι και επαναλήψεις ώστε να εκτελέσουν αποτελεσματικά την λειτουργία 
τους. Ακόμη όμως και με κομμάτια κώδικα αυτού του είδους, η εφαρμογή μας έχει ως σύνολο 
σχετικά μικρή πολυπλοκότητα για τις λειτουργίες που εκτελεί. Συμπεράνουμε λοιπόν από τις 
παραπάνω μετρικές ότι έχουμε καταφέρει την δημιουργία μίας μεγάλης εφαρμογής με πολλές 
λειτουργίες που όμως απαρτίζονται από εύκολα συντηρήσιμο και επεκτάσιμο κώδικα. 

 

5.1.2 Ανάλυση S.W.O.T. 
 

 

Η  ανάλυση  S.W.O.T.  αντιμετωπίζει  την  εφαρμογή  μας  ως  ένα  καινοτόμο  έργο 

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