Postoji tri vrste komponenata i to:

 

  • komponente izvornog koda,

  • komponente binarnog koda i

  • komponente izvršnog koda ili komandne datoteke.

 

Komponente izvornog koda


Komponente izvornog koda sadrže izvorni kod programa, koji je pisan u nekom programskom jeziku i predstavlja implementaciju klasa, metoda i uslužnih programa. Bitne su prilikom kompajliranja programa.


Npr. ukoliko se softver razvija u Javi, kod se čuva u formi .java fajlova. Ako se softver razvija u C++ okruženju, projekat će biti sačuvan u obliku .h i .cpp fajlova, a ekstenzija C# programa obično je .cs. Kako aplikacija raste, bez obzira na to koji se programski jezik koristi, biće neophodno da se ovakvi i slični fajlovi organizuju u obliku odgovarajućih grupa.


Izvorne komponente koriste sledeće stereotipe:

 

  • stereotip <<file>> (označava datoteke koje sadrže izvorni kod);

  • stereotip <<page>> (označava html datoteke);

  • stereotip <<document>> (označava datoteke koje sadrže dokumentaciju).

 

Komponente izvornog koda su produkt razvojnog procesa, a sastoje se od datoteka izvornog koda i datoteka podataka iz kojih su razvojne komponente kreirane. Ove komponente ne učestvuju direkno u izvršnom sistemu, ali su produkt razvojnog rada koji je korišćen za kreiranje izvršnog sistema.

 

Binarne komponente


Binarne komponente su prevedene komponente izvornog koda. Značajne su prilikom povezivanja programa, tj. izrade izvršnog programa. Ove komponente su razvojne komponente koje su neophodne za formiranje izvršnog sistema, kao što su dinamičke biblioteke (DLL) i aplikacije (EXE). Postoji dva tipa binarnih komponenata:

 

  • objektna datoteka i

  • biblioteka označena stereotipom <<library>> koja sadrži niz objektnih datoteka.

 

Izvršne komponente


Izvršne komponente nastaju kao rezultat povezivanja binarnih komponenata i značajne su u fazi izvršenja programa, na primer COM objekti.


Izvršne komponente se definišu sledećim stereotipovima:

 

  • stereotipom <<executable>> (definiše se izvršna softverska komponenta koja se izvršava na procesnoj jedinici) i

  • stereotipom <<table>> definiše se softverska komponenta koja sadrži relacije neke relacione baze podataka koja je značajna u izvršenju programa.

 

Prilikom modelovanja izvršnih verzija programa treba odraditi sledeće operacije:

 

  • identifikovati sve potrebne komponente koje su obično lokalizovane u jednom čvoru;

  • primeniti odgovarajuće stereotipe na ove komponente (biblioteke, izvršni programi, tabele, datoteke i dokumenti);

  • za svaku komponentu prikazati relacije sa ostalim komponentama u sistemu.

 

Način prikaza izvršnog programa je ilustrovan na slici:

 

 

Upotreba dijagrama komponentni


Dijagram komponentni je skup komponenti i njihovih relacija. Ovaj tip dijagrama obično sadrži komponente, interfejse i relacije. Postoji mogućnost da dijagram komponenti sadrži i pakete i podsisteme kao i neke druge elemente. Ovaj tip dijagrama se sreće u sledećim slučajevima:

 

  • modelovanje koda programa
  • modelovanje izvršnih verzija softvera
  • modelovanje baza podataka i
  • modelovanje prilagodljivih (adaptivnih) sistema.

 

Prilikom modelovanja koda programa treba identifikovati skup fajlova koji je važan za naš sistem i koji treba biti modelovan u okviru stereotipa za fajlove. Za grupisanje srodnih fajlova mogu se koristiti paketi.

Ako je u pitanju modelovanje jednostavnih aplikacija, tada nisu neophodni dijagrami komponenata, jer ne postoji ništa toliko komplikovano što bi trebalo vizuelizovati, specificirati, konstruisati ili dokumentovati.

Za modelovanje složenih aplikacija, kao npr. distribuiranih sistema, koriste se kombinacije dijagrama komponenata, dijagrama objekata i interakcije, tj. zahteva se veliki broj izvršnih celina koje putuju kroz pojedine čvorove i gde su neke od komponenata jedinstvene za pojedine aplikacije, dok su druge komponente zajedničke.


Modelovanje aplikacija i biblioteka koje čine fizičku implementaciju sistema je korisno, ali često postoji mnoštvo pomoćnih radnih komponenata koje nisu ni aplikacije, ni biblioteke koje su kritične za fizički rad sistema. Na primer: implementacija može da sadrži datoteke podataka, help fajlove, log fajlove, ini fajlove i instalacione fajlove. Modelovanje ovih komponenata je važan deo pri kontroli konfiguracije sistema.


Primer modela izvornog koda prikazan je na slici:

 

 

Modelovanje baza podataka - Najveći problem koji postoji kod OO baza podataka u odnosu na relacione je opredeljivanje za jednu od mogućih strategija formiranja baza podataka (pojedinačnih tabela) u slučaju nasleđivanja. Postoje tri osnovne strategije u ovom slučaju:

 

  • definisati za svaku klasu posebnu tabelu (problem se javlja u slučaju modifikovanja roditeljskih klasa);

  • sažeti sve izvedene klase u jednu tabelu (ovo je prilično naivan pristup koji vodi često prekomernim zahtevima);

  • roditeljska stanja se odvajaju u posebnu tabelu a stanja koja potiču od izvedene klase se takođe odvajaju u posebne tabele (ovo je najbolja i dosta prihvaćena strategija).


Treba imati na umu da se kod baza podataka pojavljuju dve vrste operacija: proste operacije (upiti, upisi i čitanja) ali i složenija proceduralna pravila. Na osnovu ovoga može se definisati jednostavna procedura za modelovanje fizičke strukture baze podataka:

 

  • identifikovati klase koje predstavljaju podatke koji su uskladišteni;

  • odabrati strategiju preslikavanja klasa u tabele;

  • formiranje dijagrama komponentni koji sadrži komponentu u obliku stereotipa tabele;

 

Na slici je prikazan model fizičke baze podataka:


 

Primer dijagrama komponenata:

 

 

  • Isplate.dll – predstavljaju dinamičku biblioteku u kojoj su implementirane klase i strukture podataka za rad sa isplatama;

  • Sifarnici.dll – sadrže klase za rad sa šifarnicima;

  • Baza podataka – komponenta koja se koristi za pristup bazi podataka;

  • Kadrovska evidencija.exe – izvršna komponenta koja predstavlja glavni program, u kojem je implementirana većina funkcionalnosti aplikacije, i koja objedinjuje ostale komponente u celinu;

 

Sve komponenete koriste komponentu za pristup bazi podataka.

 

Dodaj komentar Sviđa mi se - (0) Ne sviđa mi se - (1)    

  • Modelovanje aplikacija 1
  • Modelovanje aplikacija 2
  • Modelovanje aplikacija 3