Um software, normalmente, é composto por diversas funções, bibliotecas e módulos que geram um programa executável no fim do processo de desenvolvimento e este que, quando executado, recebe algum tipo de “entrada” de dados (input), processa as informações segundo uma série de algoritmos ou sequências de instruções lógicas e retorna uma saída (output), como resultado deste processamento.
ũŋ sˈɔftwˈɛɹ, nuɾəmˌɑlmˈeɪŋtɨ, ɛ kˌumpˈoʃtʊ puɹ dˌivˈɛɾəsɐʃ fũŋsˈõjʃ, bˌibliutˈɛkɐz i mˈɔdulʊʃ kɨ ʒˈɛɾɐ̃ʊ̃ ũŋ pɹˌuɡɹˈɐ̃mɐ ˌezɨkutˈavˌɛl nʊ fˈiŋ dʊ pɹˌusˈɛsʊ dɨ dˌɨzeɪŋvˌulvimˈeɪŋtw i ˈɛʃtɨ kɨ, kwˈɐ̃ŋdw ˌezɨkutˈadʊ, ʁˌesˈɛbɨ ˌɑlɡˈũŋ tˈipʊ dɨ “ˌeɪŋtɹˈadɐ” dɨ dˈadʊʃ iŋpˈut, pɹˌusˈɛsɐ ɐz ˌiŋfuɾəmɐsˈõjʃ sˌeɡˈũŋdw ˌumɐ sˈɛɾjɨ dɨ ˌɑlɡuɾˈitmʊz ˈow sˌekwˈeɪŋsjɐʒ d ˌiŋstɹusˈõjʒ lˈɔʒikɐz i ʁˌetˈɔɾənɐ ˌumɐ sˌɐˈidɐ uwtpˈut, kˈomʊ ʁˌezuwtˈadʊ dˈeʃtɨ pɹˌusɨsɐmˈeɪŋtʊ.