Δομικές μονάδες

Σύνθετες κατασκευές, όπως το λογισμικό, απαιτούν τη δημιουργία ενός σχεδίου πριν αρχίσει η πραγματική υλοποίηση. Το σχέδιο αυτό βοηθά στην ελαχιστοποίηση των διορθώσεων και των αλλαγών κατά τη διάρκεια της κωδικοποίησης. Ο σχεδιασμός του λογισμικού βασίζεται στη δόμησή του σε μακροσκοπικό (σύστημα, υποσυστήματα, προγράμματα) και σε μικροσκοπικό (σύνθετες δομικές μονάδες, απλές δομικές μονάδες) επίπεδο.

Έτσι για παράδειγμα το λειτουργικό σύστημα Windows NT μακροσκοπικά χωρίζεται σε συστήματα επικοινωνίας με το χρήστη, επικοινωνίας με το υλικό, βοηθητικά προγράμματα, κλπ. Το σύστημα επικοινωνίας με το χρήστη χωρίζεται στα υποσυστήματα γραφικών, κειμένου, ήχου, ελεγκτών (controls) κλπ. Μικροσκοπικά, οι σύνθετες δομικές μονάδες του υποσυστήματος ελεγκτών μπορεί να είναι ο ελεγκτής για γραφικό πλήκτρο (button), ελεγκτής πεδίο εισόδου (input box), ελεγκτής για κυλιόμενη μπάρα (scrollbar) κλπ. Τέλος, ο ελεγκτής για την κυλιόμενη μπάρα αποτελείται από απλές δομικές μονάδες (συναρτήσεις) που αντιδρούν στις εντολές του χρήστη.

Μερικά παραδείγματα σύνθετων δομικών μονάδων είναι τα παρακάτω: