Upravljanje konfiguracijom softvera u softverskom inženjerstvu
⚡ Pametni sažetak
Upravljanje konfiguracijom softvera (SCM) je proces sustavnog upravljanja, organiziranja i kontrole promjena dokumenata, koda i drugih stavki tijekom životnog ciklusa razvoja softvera. Njegov primarni cilj je povećati produktivnost uz održavanje...ping greške svesti na minimum.

Što je upravljanje konfiguracijom softvera?
U softverskom inženjerstvu, Upravljanje konfiguracijom softvera (SCM) je proces sustavnog upravljanja, organiziranja i kontrole promjena u dokumentima, kodovima i drugim entitetima tijekom životnog ciklusa razvoja softvera. Primarni cilj je povećati produktivnost uz minimalne pogreške. SCM je dio interdisciplinarnog područja upravljanja konfiguracijom i može točno utvrditi tko je napravio koju reviziju.
Zašto nam je potrebno upravljanje konfiguracijom?
Glavni razlozi za implementaciju sustava za upravljanje konfiguracijom tehničkog softvera su:
- Na softveru koji se stalno ažurira radi više ljudi.
- Može se raditi o slučaju u kojem je u projekt konfiguracije softvera uključeno više verzija, grana i autora, a tim je geografski raspoređen i radi istovremeno.
- Potrebno je prilagoditi se promjenama u korisničkim zahtjevima, politici, proračunu i rasporedu.
- Softver bi trebao moći raditi na raznim strojevima i Operating sustavi.
- Pomaže u razvoju koordinacije među dionicima.
- SCM proces je također koristan za kontrolu troškova povezanih s promjenama u sustavu.
Svaka promjena stavki konfiguracije softvera utjecat će na konačni proizvod. Stoga je potrebno kontrolirati i upravljati promjenama konfiguracijskih stavki.
Zadaci u SCM procesu
- Identifikacija konfiguracije
- Polazne crte
- Promijeni kontrolu
- Računovodstvo statusa konfiguracije
- Revizije konfiguracije i Reviews
Identifikacija konfiguracije
Identifikacija konfiguracije je metoda određivanja opsega softverskog sustava. Pomoću ovog koraka možete upravljati ili kontrolirati nešto čak i ako ne znate što je to. To je opis koji sadrži CSCI tip (stavka konfiguracije računalnog softvera), identifikator projekta i informacije o verziji.
Aktivnosti tijekom ovog procesa:
- Identifikacija konfiguracijskih stavki poput modula izvornog koda, testni slučaj, i specifikacija zahtjeva.
- Identifikacija svakog CSCI-ja u SCM repozitoriju korištenjem objektno orijentiranog pristupa.
- Proces započinje s osnovnim objektima koji su grupirani u agregirane objekte. Detalji o tome što, zašto, kada i tko vrši promjene u testu.
- Svaki objekt ima svoje značajke koje identificiraju njegovo ime koje je eksplicitno za sve ostale objekte.
- Popis potrebnih resursa, kao što su dokument, datoteka, alati itd.
Primjer:
Umjesto da se datoteka imenuje login.php, treba je nazvati login_v1.2.php gdje v1.2 označava broj verzije datoteke.
Umjesto imenovanja mape "Code", trebalo bi ga nazvati "Code_D” gdje D predstavlja da se kod treba sigurnosno kopirati svakodnevno.
Osnovni
Osnovna linija je formalno prihvaćena verzija softverske konfiguracijske stavke. Određen je i fiksiran u određeno vrijeme tijekom provođenja SCM procesa. Može se promijeniti samo kroz formalne postupke kontrole promjena.
Aktivnosti tijekom ovog procesa:
- Olakšava izradu različitih verzija aplikacije.
- Definiranje i određivanje mehanizama za upravljanje različitim verzijama ovih radnih proizvoda.
- Funkcionalna osnova odgovara pregledanim sistemskim zahtjevima.
- Široko korištene osnovne vrijednosti uključuju funkcionalne, razvojne i osnovne vrijednosti proizvoda.
Jednostavnim riječima, osnovna linija znači spreman za puštanje.
Promijeni kontrolu
Kontrola promjena je proceduralna metoda koja osigurava kvalitetu i dosljednost prilikom promjena u konfiguracijskom objektu. U ovom koraku zahtjev za promjenom se šalje upravitelju konfiguracije softvera.
Aktivnosti tijekom ovog procesa:
- Kontrolirajte ad-hoc promjene kako biste izgradili stabilno okruženje za razvoj softvera. Promjene se pohranjuju u repozitorij.
- Zahtjev će se provjeriti na temelju tehničke vrijednosti, mogućih nuspojava i ukupnog utjecaja na druge konfiguracijske objekte.
- Upravlja promjenama i omogućuje konfiguracijske stavke tijekom životnog ciklusa softvera.
Računovodstvo statusa konfiguracije
Obračun statusa konfiguracije tracks svako izdanje tijekom SCM procesa. Ova faza uključuje trackralj što svaka verzija ima i promjene koje su dovele do ove verzije.
Aktivnosti tijekom ovog procesa:
- Vodi evidenciju svih promjena napravljenih na prethodnoj osnovnoj liniji kako bi se dostigla nova osnovna linija.
- Identificirajte sve stavke za definiranje konfiguracije softvera.
- Pratite status zahtjeva za promjenama.
- Potpuni popis svih promjena od posljednje osnovne linije.
- omogućava trackralj napretka do sljedeće osnovne linije.
- Omogućuje da prethodna izdanja/verzije budu extracted za testiranje.
Revizije konfiguracije i Reviews
Revizije konfiguracije softvera potvrđuju da svi softverski proizvodi zadovoljavaju osnovne potrebe. Osigurava da je ono što je izgrađeno ono što je isporučeno.
Aktivnosti tijekom ovog procesa:
- Reviziju konfiguracije provode revizori provjeravajući slijede li se definirani procesi i osiguravajući da su ciljevi SCM-a zadovoljeni.
- Za provjeru usklađenosti sa standardima kontrole konfiguracije, reviziju i izvještavanje o napravljenim promjenama.
- SCM revizije također osiguravaju da tracLakoća se održava tijekom procesa.
- Osigurava da su promjene napravljene na osnovnoj liniji u skladu s izvješćima o statusu konfiguracije.
- Validacija potpunosti i konzistentnosti.
Sudionik SCM procesa
Slijede ključni sudionici u SCM-u:
1. Upravitelj konfiguracije
- Voditelj konfiguracije je voditelj koji je odgovoran za identificiranje konfiguracijskih stavki.
- CM osigurava da tim slijedi SCM proces.
- On/ona mora odobriti ili odbiti zahtjeve za promjene.
2. Programer
- Programer treba mijenjati kod prema standardnim razvojnim aktivnostima ili zahtjevima za promjenama. Odgovoran je za održavanje konfiguracije koda.
- Programer bi trebao provjeriti promjene i riješiti konflikte.
3. Revizor
- Revizor je odgovoran za SCM revizije i preglede.
- Potrebno je osigurati dosljednost i potpunost izdanja.
4. Voditelj projekta:
- Osigurajte da se proizvod razvije unutar određenog vremenskog okvira.
- Prati napredak razvoja i prepoznaje probleme u SCM procesu.
- Generirajte izvješća o stanju softverskog sustava.
- Pobrinite se da se poštuju procesi i pravila za stvaranje, mijenjanje i testiranje.
5. Korisnik
Krajnji korisnik treba razumjeti ključne SCM pojmove kako bi osigurao da ima najnoviju verziju softvera.
Plan upravljanja konfiguracijom softvera
Proces SCMP-a (planiranje upravljanja konfiguracijom softvera) započinje u ranim fazama kodiranja projekta. Rezultat faze planiranja je SCM plan, koji se može proširiti ili revidirati tijekom projekta.
- SCMP može slijediti javni standard poput IEEE 828 ili standard specifičan za organizaciju.
- Definira vrste dokumenata kojima se treba upravljati i konvenciju imenovanja dokumenata. Primjer: Test_v1.
- SCMP definira osobu koja će biti odgovorna za cijeli SCM proces i izradu polaznih linija.
- Ispravite pravila za upravljanje verzijama i kontrolu promjena.
- Definirajte alate koji se mogu koristiti tijekom SCM procesa.
- Baza podataka za upravljanje konfiguracijom za snimanje informacija o konfiguraciji.
Alati za upravljanje konfiguracijom softvera
Bilo koji softver za upravljanje promjenama trebao bi imati sljedeće 3 ključne značajke:
Upravljanje istovremenošću:
Kada se dva ili više zadataka odvijaju istovremeno, to se naziva istodobnim radom. Istodobnost u kontekstu SCM-a znači da istu datoteku uređuje više osoba istovremeno.
Ako se istovremenošću ne upravlja ispravno pomoću SCM alata, to može stvoriti mnogo hitnih problema.
Kontrola verzija:
SCM koristi metodu arhiviranja ili sprema svaku promjenu napravljenu u datoteci. Pomoću značajke arhiviranja ili spremanja moguće je vratiti se na prethodnu verziju u slučaju problema.
Synckronizacija:
Korisnici mogu provjeriti više od jedne datoteke ili cijelu kopiju repozitorija. Korisnik zatim radi na potrebnoj datoteci i vraća promjene u repozitorij. Mogu sinkronizirati svoju lokalnu kopiju kako bi ostali u toku s promjenama koje su napravili drugi članovi tima.
Slijede popularni alati:
1.Git: Git je besplatan alat otvorenog koda koji pomaže u kontroli verzija. Dizajniran je za brzu i učinkovitu obradu svih vrsta projekata.
Preuzmite link: https://git-scm.com/
2. tim Foundation Server: Tim Foundation je skupina alata i tehnologija koje timu omogućuju suradnju i koordinaciju za izradu proizvoda.
Preuzmite link: https://azure.microsoft.com/en-us/services/devops/server/
3. Ansible: To je alat za upravljanje konfiguracijom softvera otvorenog koda. Osim upravljanja konfiguracijom, nudi i implementaciju aplikacija i automatizaciju zadataka.
Preuzmite link: https://www.ansible.com/


