Většina softwarových aplikací je navržena za účelem zpracování vstupních dat a generování výstupů, které mají praktickou hodnotu. Aplikace typicky slouží k řešení konkrétního problému – tento proces však zpravidla vyžaduje interakci s okolním prostředím, uživatelem nebo jinými systémy.
Vstup může mít různou podobu – od textu zadávaného v příkazové řádce, přes kliknutí v grafickém uživatelském rozhraní, po binární data přicházející ze senzorů, síťových spojení nebo datových úložišť. Vstupní data jsou následně zpracována podle logiky aplikace. Více o formách a metodách zpracování vstupů lze nalézt na stránce Zpracování vstupu.
Výstup je výsledkem činnosti aplikace. Bez něj by nebylo možné ověřit, že aplikace splnila svůj účel. Výstupem může být text zobrazený na obrazovce, vizuální reprezentace dat, uložený soubor, odeslaný síťový paket, nebo například signál řízení externího zařízení. Přehled výstupních forem a technik zobrazování výstupů je uveden na stránce Zobrazování výstupu.