You are on page 1of 6

UNIVERZITET U SARAJEVU

FAKULTET ZA SAOBRAĆAJ I KOMUNIKACIJE

SEMINARSKI RAD IZ PREDMETA:


NAPREDNE METODE SOFTVERSKOG INŽINJERSTVA

The Evolution of Software Configuration Management (Evolucija upravljanja konfiguracijom


Tema rada: softvera)

Predmetni nastavnik: Doc.dr. Bakir Karahodža

Student: Hatidža Sidran


Broj indeksa: 1037/II
Usmjerenje: KiIT
Godina studija: Druga
Rezultat rada:

10.01.2023.
SADRŽAJ:
1. Uvod…………………………………………………………………..………………..3
2. Pregled sadržaja ……………………………………………………….………………4
3. Sopstveno kritičko mišljenje o temi ………………………………….….…………….6

2
1. Uvod

Upravljanje konfiguracijom softvera (SCM) je disciplina koja prati i kontrolira promjene


na sustavu ili aplikaciji tijekom životnog ciklusa razvoja. To je važan proces koji pomaže
u osiguravanju integriteta i kvalitete softvera praćenjem izmjena, kao i koordinacijom i
spajanjem promjena koje je napravilo više programera.

Evolucija SCM-a potaknuta je sve većom složenošću i opsegom razvoja softvera, kao i
potrebom za učinkovitom suradnjom između timova programera. Rani SCM sustavi
prvenstveno su se bavili kontrolom verzija, što je programerima omogućavalo praćenje
promjena pojedinačnih datoteka i vraćanje na prethodne verzije ako je potrebno.

Kako je razvoj softvera postajao sve više suradnički i distribuiran, SCM sistemi su se
razvili kako bi uključili značajke kao što su grananje i spajanje, što omogućuje većem
broju programera da rade na različitim verzijama iste baze kodova bez prepisivanja
međusobnih promjena.

Noviji razvoj u SCM-u uključuje korištenje distribuiranih sustava za kontrolu verzija


(DVCS), koji programerima omogućuju lokalni rad na bazi koda i prenošenje promjena u
središnje spremište kada su spremne, kao i korištenje alata za kontinuiranu integraciju
(CI), koji automatiziraju proces izgradnje, testiranja i postavljanja softvera.

Sve u svemu, evolucija SCM-a vođena je potrebom za učinkovitim upravljanjem


složenošću i razmjerom modernog razvoja softvera i olakšavanjem suradnje između
distribuiranih timova programera.

3
2. Pregled sadržaja

Teško je dati sveobuhvatan popis najvažnijih analiza i rezultata o evoluciji upravljanja


konfiguracijom softvera (SCM), jer je ovo široka i složena tema koju su proučavali i
istraživali mnogi znanstvenici i praktičari. Međutim, neke ključne analize i rezultati koji su
imali značajan utjecaj na područje SCM-a uključuju:

Pokazalo se da korištenje sustava kontrole verzija (VCS) značajno poboljšava učinkovitost i


djelotvornost razvoja softvera, omogućujući razvojnim programerima da prate i vraćaju
promjene, kao i da surađuju na bazi koda s drugim programerima.

Studije su pokazale da upotreba grananja i spajanja u SCM-u može povećati fleksibilnost i


agilnost razvoja softvera, budući da programerima omogućuje rad na više verzija baze koda
istovremeno.

Dokazano je da usvajanje distribuiranih sistema kontrole verzija (DVCS) omogućuje


učinkovitiju i fleksibilniju suradnju između distribuiranih timova programera, budući da
omogućuje programerima da rade lokalno i guraju svoje promjene u središnje spremište kada
su spremne.

Utvrđeno je da upotreba alata za kontinuiranu integraciju (CI) značajno poboljšava brzinu i


pouzdanost razvoja softvera automatiziranjem procesa izgradnje, testiranja i postavljanja
softvera

Istraživanja su pokazala da učinkovite prakse SCM-a mogu dovesti do više kvalitete softvera,
jer pomažu osigurati da su promjene pravilno testirane i pregledane prije nego što se ugrade u
bazu koda.

Usvajanje agilnih metodologija razvoja softvera imalo je značajan utjecaj na praksu SCM-a,
budući da naglašava važnost čestih i inkrementalnih promjena u bazi koda, kao i potrebu za
bliskom suradnjom među programerima.

4
1950 1960 1970 1980 1990 2000 2010
PROBLEM Dokume Upravlj Softverski Veliki i Objektno Daljinski Softver kao
ntacija o anje projekti složen orijentirano kod Servis
inženjeri promjen trčanje softver programira upravljanje
ng eu preko rješenja nje
promjen softver vremena
e razvoj i
prekorače
nje
proračuna
RJEŠENJA Teorije upravljanja Adaptacija SCM-a u Primjena SCM procesa i alata u drugim
konfiguracijom softver područjima i
i prakse usvojene u razvojni proces discipline u softverskom inženjerstvu
softveru
razvoj
R&D FOKUS SCM koncepti SCM u razvoju softvera SCM u namjenskim razvojnim
životni ciklus i SCM okruženjima i
komponente granularnost artefakata
modeliranje
STANDARDI SCM 828-1983 - 828-1990 - 828-2005 - 828-2012
priznat IEEE IEEE IEEE IEEE
kao Standard za Standard za Standard za Standard za
polje u Softver Softver Softver Konfigurac
softveru Konfigurac Konfiguraci Konfigurac ija
Inženjerin ija ja ija Upravljanje
g Upravljanje Upravljanje Upravljanje
Planovi Planovi
ISO ISO ISO
10007:1995 10007:200 10007:201
Kvaliteta 3 7
Menadžme Kvaliteta Kvaliteta
nt – Upravljanje Upravljanje
Smjernice Sustavi – Sustavi –
za Smjernice Smjernice
Konfiguraci za za
ja Konfigurac Konfigurac
Upravljanje ija ija
Upravljanje Upravljanje
ALATI Prvi SCM Prvo Radni Procesna Distribuira
alati integrirano prostor podrška u no
SCM podrška u SCM suradnja
sustavi SCM-u sustavi sposobnost
sustava u SCM-u
sustava

Tablica 1. Evolucija upravljanja konfiguracijom softvera1

1https://www.researchgate.net/profile/SyahrulFahmy/publication/342874547_The_Evolution_of_Software_Configuration_Management/links/5fd880f3a6fdccdcb8c9e3e7/The-Evolution-of-

Software-Configuration-Management.pdf

5
3. Sopstveno kritičko mišljenje o temi

Evolucija SCM-a potaknuta je sve većom složenošću i opsegom razvoja softvera, kao i
potrebom za učinkovitom suradnjom između timova programera. To je dovelo do razvoja
različitih alata i praksi koji pomažu u upravljanju i praćenju promjena softvera, uključujući
sustave kontrole verzija, grananje i spajanje, distribuirane sustave kontrole verzija i alate za
kontinuiranu integraciju.

Iako su SCM prakse i alati imali značajan utjecaj na učinkovitost i djelotvornost razvoja
softvera, oni također zahtijevaju određenu razinu režijskih troškova i složenosti za
implementaciju i održavanje. To može biti izazov za organizacije koje možda nemaju resurse
ili stručnost da u potpunosti usvoje najbolje prakse SCM-a.

Također postoji zabrinutost zbog utjecaja SCM-a na produktivnost i autonomiju programera.


Neki programeri mogu otkriti da određene SCM prakse i alati nameću previše ograničenja na
njihov rad, što može spriječiti njihovu sposobnost da budu produktivni.

Postoje i rasprave o najučinkovitijim SCM praksama i alatima za različite vrste projekata


razvoja softvera. Ono što dobro funkcionira za jedan projekt možda neće najbolje odgovarati
drugom, pa je važno da organizacije pažljivo razmotre svoje potrebe i odaberu SCM prakse i
alate koji su najprikladniji za njihove specifične potrebe.

You might also like