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.

  • Definicija: SCM sustavno upravlja i kontrolira promjene dokumenata, koda i entiteta tijekom cijelog životnog ciklusa razvoja.
  • 🎯 Zašto je važno: Koordinira više programera, verzija i grana, a istovremeno kontrolira troškove promjena.
  • 🗂️ Pet ključnih zadataka: Identifikacija konfiguracije, osnovne linije, kontrola promjena, evidentiranje statusa i revizije.
  • 👥 Ključni sudionici: Voditelj konfiguracije, programer, revizor, voditelj projekta i krajnji korisnik.
  • 📋 SCM plan: Planiranje slijedi standarde poput IEEE 828 i definira alate, imenovanje i odgovornosti.
  • 🛠️ Popularni alati: Git, Tim Foundation Server i Ansible podržavaju kontrolu verzija i automatizaciju.

Upravljanje konfiguracijom softvera

Š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.

Trebate upravljanje konfiguracijom

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:

Sudionik SCM procesa

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/

Pitanja i odgovori

Kontrola verzije tracks promjene u datotekama i omogućuje vam povratak na ranije verzije. SCM je širi pojam: također obuhvaća identifikaciju konfiguracije, osnovne linije, kontrolu promjena, računovodstvo statusa i revizije. Kontrola verzija je važan dio šireg SCM procesa.

SCM se fokusira na kontrolu i tracvelike promjene u stavkama konfiguracije softvera. DevOps je šira kultura i skup praksi koje ujedinjuju razvoj i operacije za kontinuiranu isporuku. SCM alati i osnovne linije često podržavaju automatizaciju na koju se oslanjaju DevOps cjevovodi.

IEEE 828 je priznati standard koji definira kako izraditi Plan upravljanja konfiguracijom softvera. On specificira aktivnosti, odgovornosti i dokumentaciju potrebnu za dosljedno upravljanje konfiguracijskim stavkama, tako da timovi mogu slijediti provjerenu strukturu umjesto da izmišljaju vlastitu.

Umjetna inteligencija može pregledati zahtjeve za promjenama, predvidjeti utjecaj promjene i označiti rizične ili konfliktne izmjene prije nego što dosegnu osnovnu liniju. Također pomaže u analizi podataka o statusu, uočavajući obrasce koje bi ljudski recenzenti mogli propustiti u velikim, brzo mijenjajućim kodnim bazama.

Da. Umjetna inteligencija može automatizirati rutinske zadatke poput verzija, označavanja izdanja i generiranja izvješća o reviziji. U kombinaciji s alatima poput Ansiblea, može otkriti pomicanje konfiguracije i samostalno se popraviti okruženja, dok ljudi i dalje odobravaju glavne osnovne promjene i pravila.

Sažmite ovu objavu uz: