Štruktúra kompilačných jednotiek
Štruktúra kompilačných jednotiek
Vo fáze analýzy sme rozčlenili systém na subjekty podľa potrieb a mentálnych schopností analytika. Logická štruktúra systému zodpovedá spôsobu, ako analytik chápe preoblém. Takéto delenie nie je vhodné pre implementáciu úlohy. Vo fáze implementácie musíme rozčleniť úlohu tak, aby zodpovedala členeniu a štruktúre implementačného prostredia.
Musíme brať ohľad aj na údržbu systému a možnosti jeho úprav. Zadávateľ si bohužiaľ obvykle uvedomí všetky svoje tajné želania až v okamžiku, keď mu predložíte presne to, čo pôvodne požadoval. Konečná podoba zadania tak paradoxne často vzniká až po naprogramovaní úlohy.
Vedľajším produktom bývajú taktiež všeobecne použiteľné stavebné bloky. Ak chceme takéto bloky častejšie používať, najlepšie je v takom prípade vytvoriť knižnice opakovane použiteľných procedúr alebo objektov.
Implementačné členenie programu často býva do značnej miery určené dokonca aj hardvérom a vonkajším prostredím, v ktorom má program pracovať. V zložitých systémoch ako sú lietadlá, lode, elektrárenské bloky, sa úloha distribuuje medzi niekoľko počítačov, ktoré spolu komunikujú. V takých aplikáciach býva implementačné členenie systému určené napr. Topológiou distribuovaného systému, počtom procesorov, prenosovými rýchlosťami v komunikačných kanáloch…
Ak chceme použiť konštanty, typy, premenné, procedúry alebo funkcie, ktoré vyváža niektorá kompilačná jednotka musíme ju zahrnuť napr. Pascale v zoznamu uses v C++ v zdrojovom súbore header file.