Predmet sa zameriava na vyjadrenie softvéru na všetkých úrovniach vývoja adekvátnymi modelmi. Každý model softvéru od iniciálnej špecifikácie po implementáciu možno vnímať ako špecifikáciu, a celý proces vývoja softvéru ako zjemňovanie alebo konkretizáciu špecifikácie. Špeciálna pozornosť je venovaná prípadom použitia a jazyku UML, ale predmet približuje aj formálne prístupy k modelovaniu softvéru.