Tarkvara konfiguratsioonihaldus tarkvaratehnikas
โก Nutikas kokkuvรตte
Tarkvarakonfiguratsiooni haldus (SCM) on protsess, mille eesmรคrk on sรผstemaatiliselt hallata, korraldada ja kontrollida dokumentide, koodi ja muude รผksuste muudatusi kogu tarkvaraarenduse elutsรผkli vรคltel. Selle peamine eesmรคrk on suurendada tootlikkust, sรคilitades samal ajal...ping vigu miinimumini.

Mis on tarkvara konfiguratsioonihaldus?
Tarkvaratehnikas, Tarkvara konfiguratsioonihaldus (SCM) on protsess, mille eesmรคrk on sรผstemaatiliselt hallata, korraldada ja kontrollida dokumentide, koodide ja muude รผksuste muudatusi tarkvaraarenduse elutsรผkli jooksul. Peamine eesmรคrk on suurendada tootlikkust minimaalsete vigadega. SCM on osa konfiguratsioonihalduse interdistsiplinaarsest valdkonnast ja see suudab tรคpselt kindlaks teha, kes millise muudatuse tegi.
Miks me vajame konfiguratsioonihaldust?
Tarkvara konfiguratsioonihaldussรผsteemi (SHA) juurutamise peamised pรตhjused on jรคrgmised:
- Tarkvara kallal tรถรถtab mitu inimest, mida pidevalt uuendatakse.
- See vรตib olla juhtum, kus tarkvarakonfiguratsiooniprojektis on kaasatud mitu versiooni, haru ja autorit ning meeskond on geograafiliselt hajutatud ja tรถรถtab samaaegselt.
- Kasutajate nรตuete, poliitika, eelarve ja ajakava muudatustega tuleb arvestada.
- Tarkvara peaks suutma tรถรถtada erinevatel masinatel ja Operating Systems.
- Aitab kaasa sidusrรผhmade vahelise koordinatsiooni arendamisele.
- SCM protsess on kasulik ka sรผsteemi muudatuste tegemisega seotud kulude kontrollimiseks.
Kรตik muudatused tarkvara konfiguratsioonis mรตjutavad lรตpptoodet. Seetรตttu tuleb konfiguratsiooniรผksuste muudatusi kontrollida ja hallata.
รlesanded SCM protsessis
- Konfiguratsiooni identifitseerimine
- Lรคhtejooned
- Muuda kontrolli
- Konfiguratsiooni oleku arvestus
- Konfiguratsiooni auditid ja Revnรคgemused
Konfiguratsiooni identifitseerimine
Konfiguratsiooni tuvastamine on meetod tarkvarasรผsteemi ulatuse mรครคramiseks. Selle sammu abil saate hallata vรตi kontrollida midagi isegi siis, kui te ei tea, mis see on. See on kirjeldus, mis sisaldab CSCI tรผรผpi (arvutitarkvara konfiguratsiooniรผksus), projekti identifikaatorit ja versiooniteavet.
Tegevused selle protsessi ajal:
- Konfiguratsioonielementide, nรคiteks lรคhtekoodi moodulite tuvastamine, testjuhtumja nรตuete spetsifikatsioon.
- Iga CSCI identifitseerimine SCM-repositooriumis objektorienteeritud lรคhenemisviisi abil.
- Protsess algab pรตhiobjektidest, mis rรผhmitatakse koondobjektideks. รksikasjad selle kohta, milliseid muudatusi, miks, millal ja kelle poolt testis tehakse.
- Igal objektil on oma omadused, mis identifitseerivad selle nime, mis on selgesรตnaline kรตigile teistele objektidele.
- Vajalike ressursside loend, nรคiteks dokument, fail, tรถรถriistad jne.
Nรคide:
Faili login.php asemel peaks sellele panema nimeks login_v1.2.php, kus v1.2 tรคhistab faili versiooninumbrit.
Kausta nimetamise asemel โCode", peaks see olema nimetatud "Code_Dโ, kus D tรคhistab, et koodi tuleks iga pรคev varundada.
Baseline
Lรคhtejoon on tarkvara konfiguratsiooniรผksuse ametlikult aktsepteeritud versioon. See mรครคratakse ja fikseeritakse kindlal ajal SCM-i protsessi lรคbiviimisel. Seda saab muuta ainult ametlike muudatuste kontrollimise protseduuride kaudu.
Tegevused selle protsessi ajal:
- Hรตlbustada rakenduse erinevate versioonide loomist.
- Nende tรถรถtoodete erinevate versioonide haldamise mehhanismide mรครคratlemine ja kindlaksmรครคramine.
- Funktsionaalne baasjoon vastab lรคbivaadatud sรผsteeminรตuetele.
- Laialdaselt kasutatavate lรคhtetasemete hulka kuuluvad funktsionaalsed, arenduslikud ja tootepรตhised lรคhtetasemed.
Lihtsamalt รถeldes tรคhendab baasjoon vabastamiseks valmis.
Muuda kontrolli
Muudatuste kontroll on protseduuriline meetod, mis tagab konfiguratsiooniobjektis tehtud muudatuste kvaliteedi ja jรคrjepidevuse. Selles etapis esitatakse muutmistaotlus tarkvara konfiguratsioonihaldurile.
Tegevused selle protsessi ajal:
- Kontrollige ad-hoc muudatusi stabiilse tarkvaraarenduskeskkonna loomiseks. Muudatused salvestatakse repositooriumisse.
- Pรคringut kontrollitakse tehnilise vรครคrtuse, vรตimalike kรตrvalmรตjude ja รผldise mรตju pรตhjal teistele konfiguratsiooniobjektidele.
- See haldab muudatusi ja teeb konfiguratsiooniรผksused kรคttesaadavaks tarkvara elutsรผkli jooksul.
Konfiguratsiooni oleku arvestus
Konfiguratsiooni oleku arvestus tracks iga vรคljalaske SCM-protsessi ajal. See etapp hรตlmab trackuningas, mis igas versioonis on ja millised muudatused on selle versioonini viinud.
Tegevused selle protsessi ajal:
- Sรคilitab kรตik eelmises baasjoones tehtud muudatused uue baasjoone saavutamiseks.
- Tarkvara konfiguratsiooni mรครคratlemiseks tuvastage kรตik รผksused.
- Jรคlgige muutmistaotluste olekut.
- Tรคielik loetelu kรตigist muudatustest pรคrast viimast baasjoont.
- Lubab tracjรคrgmise baasjoone saavutamise kuningas.
- Vรตimaldab varasemaid versioone/vรคljaandeid muutatractestimiseks ted.
Konfiguratsiooni auditid ja Revnรคgemused
Tarkvara konfiguratsiooniauditid kontrollivad, kas kogu tarkvaratoode vastab pรตhivajadustele. See tagab, et see, mida ehitatakse, on see, mida tarnitakse.
Tegevused selle protsessi ajal:
- Konfiguratsiooniauditit viivad lรคbi audiitorid, kontrollides mรครคratletud protsesside jรคrgimist ja tagades, et SCM-i eesmรคrgid on tรคidetud.
- Konfiguratsioonikontrolli standardite jรคrgimise kontrollimiseks, tehtud muudatuste auditeerimiseks ja aruandluseks.
- SCM-auditid tagavad ka selle, et tracProtsessi ajal sรคilib liikuvus.
- Tagab, et baasjoone muudatused vastavad konfiguratsiooni olekuaruannetele.
- Tรคielikkuse ja jรคrjepidevuse valideerimine.
SCM protsessis osaleja
Jรคrgnevalt on toodud SCM-i peamised osalejad:
1. Konfiguratsioonihaldur
- Konfiguratsioonihaldur on juht, kes vastutab konfiguratsiooniรผksuste tuvastamise eest.
- CM tagab, et meeskond jรคrgib SCM protsessi.
- Ta peab muudatuste taotlused heaks kiitma vรตi tagasi lรผkkama.
2. Arendaja
- Arendaja peab koodi muutma vastavalt standardsetele arendustegevustele vรตi muutmistaotlustele. Ta vastutab koodi konfiguratsiooni sรคilitamise eest.
- Arendaja peaks muudatusi kontrollima ja konfliktid lahendama.
3 Audiitor
- Audiitor vastutab SCM-i auditite ja รผlevaatuste eest.
- Vajadus tagada vรคljalaske jรคrjepidevus ja tรคielikkus.
4. Projektijuht:
- Veenduge, et toode arendatakse teatud aja jooksul.
- Jรคlgib arenduse edenemist ja tuvastab SCM protsessis esinevaid probleeme.
- Looge tarkvarasรผsteemi oleku kohta aruandeid.
- Veenduge, et loomisel, muutmisel ja testimisel jรคrgitakse protsesse ja poliitikaid.
5. Kasutaja
Lรตppkasutaja peaks mรตistma SCM-i pรตhitermineid, et tagada tarkvara uusima versiooni olemasolu.
Tarkvara konfiguratsiooni haldusplaan
Tarkvara konfiguratsioonihalduse planeerimise (SCMP) protsess algab projekti varajastes kodeerimise etappides. Planeerimisetapi tulemuseks on SCM-plaan, mida vรตidakse projekti kรคigus laiendada vรตi muuta.
- SCMP vรตib jรคrgida avalikku standardit nagu IEEE 828 vรตi organisatsioonipรตhist standardit.
- See mรครคratleb hallatavate dokumentide tรผรผbid ja dokumentide nimetamise konventsiooni. Nรคide: Test_v1.
- SCMP mรครคrab isiku, kes vastutab kogu SCM-i protsessi ja lรคhteseisundite loomise eest.
- Paranda versioonihalduse ja muudatuste kontrolli poliitikaid.
- Mรครคrake tรถรถriistad, mida saab SCM-protsessi kรคigus kasutada.
- Konfiguratsioonihalduse andmebaas konfiguratsiooniteabe salvestamiseks.
Tarkvara konfiguratsioonihaldustรถรถriistad
Igal muudatuste haldamise tarkvaral peaksid olema jรคrgmised 3 pรตhifunktsiooni:
Samaaegsuse juhtimine:
Kui kaks vรตi enam รผlesannet toimuvad samaaegselt, nimetatakse seda samaaegseks tรถรถks. Samaaegsus SCM-i kontekstis tรคhendab seda, et sama faili redigeerivad mitu inimest korraga.
Kui samaaegsust SCM-i tรถรถriistadega รตigesti ei hallata, vรตib see tekitada palju pakilisemaid probleeme.
Versioonihaldus:
SCM kasutab arhiveerimismeetodit ehk salvestab kรตik faili tehtud muudatused. Arhiveerimis- vรตi salvestamisfunktsiooni abil on probleemide korral vรตimalik eelmisele versioonile tagasi pรถรถrduda.
Synchroniseerimine:
Kasutajad saavad vรคlja registreerida mitu faili vรตi terve koopia repositooriumist. Seejรคrel tรถรถtab kasutaja vajaliku faili kallal ja registreerib muudatused repositooriumisse tagasi. Nad saavad oma kohaliku koopia sรผnkroonida, et olla kursis teiste meeskonnaliikmete tehtud muudatustega.
Jรคrgnevalt on loetletud populaarsed tรถรถriistad:
1.Git: Git on tasuta avatud lรคhtekoodiga tรถรถriist, mis aitab kontrollida versiooni. See on loodud igat tรผรผpi projektide kiireks ja tรตhusaks kรคsitlemiseks.
Download link: https://git-scm.com/
2. meeskond Foundation Server: Meeskond Foundation on rรผhm tรถรถriistu ja tehnoloogiaid, mis vรตimaldavad meeskonnal teha koostรถรถd ja koordineerida toote loomist.
Download link: https://azure.microsoft.com/en-us/services/devops/server/
3. Vรตimalik: See on avatud lรคhtekoodiga tarkvara konfiguratsioonihalduse tรถรถriist. Lisaks konfiguratsioonihaldusele pakub see ka rakenduste juurutamist ja รผlesannete automatiseerimist.
Download link: https://www.ansible.com/


