Βασικές έννοιες
Η αφαίρεση επιτυγχάνεται στα παρακάτω επίπεδα:
Η βηματική εκλέπτυνση (stepwise refinement)
είναι ένας τρόπος για να δαμάσει κανείς το πλήθος των λεπτομερειών
του τελικού σχεδίου.
Η τμηματικότητα ενός σχεδίου μειώνει τη συνολική πολυπλοκότητα του
συστήματος και κατά συνέπεια το κόστος υλοποίησης και το ενδεχόμενο
λαθών.
Μια καλή μέθοδος σχεδιασμού πρέπει να επιτρέπει:
Ο καλός σχεδιασμός πρέπει να φέρνει κοντά τμήματα που εμφανίζουν
υψηλή συνεκτικότητα.
Διακρίνουμε τα παρακάτω αυξανόμενα επίπεδα συνεκτικότητας:
-  συμπτωματική συνεκτικότητα (coincidental cohesion)
 -  λογική συνεκτικότητα (logical cohesion)
 -  χρονική συνεκτικότητα (temporal cohesion)
 -  διαδικαστική συνεκτικότητα (procedural cohesion)
 -  επικοινωνιακή συνεκτικότητα (communicational cohesion)
 -  ακολουθιακή συνεκτικότητα (sequential cohesion)
 -  λειτουργική συνεκτικότητα (functional cohesion)
 
Ο καλός σχεδιασμός πρέπει κατά το δυνατόν να αποφεύγει τη σύζευξη μεταξύ
τμημάτων.
Διακρίνουμε τα παρακάτω αυξανόμενα επίπεδα σύζευξης:
-  σύζευξη δεδομένων (data coupling)
 -  σύζευξη δομής δεδομένων (stamp coupling) (ή αντιγράφου)
 -  σύζευξη ελέγχου (control coupling)
 -  σύζευξη κοινών δεδομένων (common coupling) (ή από κοινού σύνδεση)
 -  σύζευξη εξωτερικών δεδομένων (external coupling)
 -  σύζευξη περιεχομένων (content coupling)