U informatici, integracija sustava je spajanje više aplikacija i uređaja kako bi se stvorila cjelovita softverska aplikacija. Unutar ove integracije svaka komponenta se smatra modulom cijele aplikacije. Modularni sustav je računalna aplikacija sastavljena od komponenti koje su integrirane u veću cjelokupnu aplikaciju.
Modularni razvoj aplikacija sličan je sastavljanju slagalice. Svaki dio slagalice ključan je za stvaranje krajnjeg proizvoda. Obično napredne računalne aplikacije uključuju proizvode “specijalizirane prilagođene police” (COTS) koji su integrirani u poslovnu aplikaciju. Svaki COTS proizvod ima poslovna pravila dizajnirana za dovršetak određenog zadatka unutar aplikacije.
Kućni računalni sustavi obično uključuju monitore, pisače, kameru, tipkovnicu i miš. Ovo je primjer modularnog sustava. Svaki uređaj ima specifičnu svrhu za cjelokupni računalni sustav. Ovi se uređaji mogu nadograditi ili modificirati bez utjecaja na ostale modularne komponente.
Modularni razvoj softvera učinkovito je korištenje najboljih softverskih komponenti u vrsti. Ovaj proces postavlja logičke granice između komponenti aplikacije. Ove komponente međusobno djeluju korištenjem softverskih ili hardverskih sučelja.
Distribucija računalstva je tehnika dizajna softvera koja omogućuje distribuciju softverskih modula kroz hardverske platforme. Ovaj pristup modularnom sustavu ima ugrađeni potencijal proširenja. Kako potražnja raste, novi poslužitelji se mogu dodati u distribuiranu arhitekturu bez potrebe za promjenama softvera.
Modularno osobno računalo (PC) je mali računalni uređaj koji ima izmjenjive komponente za rad. Ovaj uređaj stvara neovisnost od standardnih hardverskih konfiguracija koje se nalaze u prijenosnim i stolnim računalima. S stvaranjem računalstva u oblaku, popularnost modularnih računala nastavit će rasti.
Mrežno računalstvo je inženjerska tehnika koja koristi hardver i procesorsku snagu više računalnih sustava za rješavanje složenih problema. Mrežni računalni model predstavlja modularni sustav. Svako računalo unutar mreže ima odgovornost za rješavanje specifičnog problema za cjelokupnu aplikaciju.
Postoji nekoliko složenih problema koji zahtijevaju modularno razmišljanje. Unutar računalnih aplikacija važno je razbiti probleme na komponente kojima se može upravljati. Primjerice, stvaranje računalne aplikacije za rješavanje više humanitarnih problema zahtijevalo bi iznimno složene algoritme. Stvaranjem zasebnih granica za svaki računalni modul, kodiranje, testiranje i implementacija postaju lakši.
Paradigma objektno orijentiranog programiranja (OOP) primjer je modularnog razvoja softvera. Objekt je izraz koji se koristi za opisivanje računalne komponente koja se sastoji od funkcija, definicija i specifičnih granica. Unutar OOP-a ključno je zadržati definiciju objekta ograničenom na podatke koji se odnose na taj objekt. Višestruki objekti se kombiniraju u softverskoj aplikaciji kako bi se stvorio potpuni modularni sustav.