Η συνοχή στη μηχανική λογισμικού είναι ο δείκτης οργάνωσης του προγράμματος
Οι λογοτεχνικές έννοιες της λέξης «συνοχή» είναι η συνέπεια και η οργάνωση διαφορετικών ενοτήτων. Στην επιστήμη των υπολογιστών και τη μηχανική λογισμικού, η συνοχή αναφέρεται στο επίπεδο δύναμης και ενότητας με το οποίο αλληλεπιδρούν τα διάφορα στοιχεία ενός προγράμματος λογισμικού μεταξύ τους. Παρέμεινε κανόνας στη μηχανική λογισμικού ότι τα προγράμματα λογισμικού αναπτύσσονται μέσω διαφορετικών αλληλένδετες συναρτήσεις (ή ενότητες) και καθεμία από αυτές τις ενότητες έχει ξεχωριστές εργασίες που σχετίζονται με τους. Η συνοχή οποιουδήποτε λογισμικού καθορίζει την ισχύ του πηγαίου κώδικα του και μπορεί να γίνει περαιτέρω κατανοητή μέσω της διερεύνησης των αρχών, των τύπων και των μεθόδων υπολογισμού του.
Βασικές αρχές
Η έννοια της συνοχής εισάγεται για να συλλάβει τα χαρακτηριστικά «ποιότητας», «συνοπτικότητας» και «αποτελεσματικότητας» ενός προγράμματος στον τομέα της μηχανικής λογισμικού. Αυτή η ιδέα καθιστά εύκολο τον προσδιορισμό του πόσο στενά συνδεδεμένη είναι κάθε ενότητα προγράμματος λογισμικού, γεγονός που υποδεικνύει πόσο γρήγορα μπορεί να εκτελέσει διαφορετικές εργασίες που της έχουν ανατεθεί. Η αυξημένη συνοχή ενός προγράμματος λογισμικού επιτυγχάνεται μέσω πολύ πανομοιότυπων λειτουργιών που εκτελούνται από τις διαφορετικές ενότητες του και είναι αντιστρόφως ανάλογη με τον μειωμένο αριθμό μονάδων. Αυτό σημαίνει ότι ένα πρόγραμμα λογισμικού που έχει σχεδιαστεί για να εκτελεί πολλαπλές εργασίες μέσω πολλαπλών ενοτήτων έχει υψηλότερο πιθανότητα να έχει χαμηλότερη συνοχή, η οποία επηρεάζει αρνητικά τη συνολική απόδοση και την αποτελεσματικότητά του στους υπολογιστές μηχανές.
Το βίντεο της ημέρας
Συνειρμικές Αρχές
Οι συνειρμικές αρχές της συνοχής λογισμικού αναφέρονται στους τύπους σχέσεων μεταξύ μιας ενότητας λογισμικού και αντίστοιχων ενεργειών (λειτουργιών). Αυτές οι αρχές αποτελούν συλλογικά τη συνοχή οποιουδήποτε προγράμματος λογισμικού και ποικίλλουν ανάλογα με τις διαφορετικές λειτουργικές του απαιτήσεις. Υπάρχουν επτά συνειρμικές αρχές που επισημοποιούνται για επτά τύπους συνοχής λογισμικού, οι οποίες περιλαμβάνει συμπτωματικά, λογικά, χρονικά, διαδικαστικά, επικοινωνιακά, διαδοχικά και λειτουργικά συνοχής. Καθένας από αυτούς τους τύπους συνοχής έχει μια μοναδική αρχή συσχέτισης που σχετίζεται με αυτόν, η οποία καθορίζει τις ιδιότητες δράσης του για οποιαδήποτε ενότητα λογισμικού.
Ιδιότητες
Υπάρχουν ορισμένες προκαθορισμένες ιδιότητες που σχετίζονται με τη συνοχή στη μηχανική λογισμικού. Για παράδειγμα, εάν οποιοδήποτε λογισμικό αποτελείται από τρεις διαφορετικές ενότητες και όλες είναι παρόμοιες μεταξύ τους όσον αφορά τις ενέργειες, η συνολική συνοχή του προγράμματος λογισμικού αυξάνεται. Ομοίως, η συνοχή μειώνεται εάν αυτές οι ενότητες έχουν εντελώς διαφορετικές και μοναδικές ενέργειες που σχετίζονται με αυτές. Επιπλέον, η συνοχή των προγραμμάτων λογισμικού εξαρτάται επίσης από τους τύπους δεδομένων που επεξεργάζεται και είναι αντιστρόφως ανάλογη με τον αυξημένο αριθμό τύπων δεδομένων.
Ανάλυση
Η συνοχή ενός προγράμματος λογισμικού μπορεί να αναλυθεί τόσο με ποσοτικές όσο και με ποιοτικές μεθόδους. Στην ποιοτική διαδικασία μέτρησης, αναλύεται ο κειμενικός κώδικας του προγράμματος λογισμικού λαμβάνοντας τον διαφορετικά δείγματα και αξιολόγησή τους σύμφωνα με τα πρότυπα κωδικοποίησης του αντίστοιχου προγραμματισμού Γλώσσα. Σε αντίθεση με αυτήν, η ποσοτική αξιολόγηση της συνοχής προσδιορίζει τον αριθμό των ενοτήτων που αποτελούνται σε ένα πρόγραμμα λογισμικού και αξιολογεί τις ενέργειές τους σύμφωνα με προκαθορισμένες κλίμακες.