Tarkvara konfiguratsioonihaldus tarkvaratehnikas
Mis on tarkvara konfiguratsioonihaldus?
Tarkvaratehnikas, Tarkvara konfiguratsioonihaldus (SCM) on protsess dokumentide, koodide ja muude olemite muudatuste süstemaatiliseks haldamiseks, korraldamiseks ja kontrollimiseks tarkvaraarenduse elutsükli jooksul. Esmane eesmärk on tõsta tootlikkust minimaalsete vigadega. SCM on osa konfiguratsioonihalduse valdkonnaülesest valdkonnast ja suudab täpselt kindlaks teha, kes millise redaktsiooni tegi.
Miks me vajame konfiguratsioonihaldust?
Tehnilise tarkvara konfiguratsioonihaldussüsteemi juurutamise peamised põhjused on järgmised:
- Pidevalt uuendatava tarkvara kallal töötab mitu inimest
- Võib juhtuda, et tarkvara konfigureerimisprojekti on kaasatud mitu versiooni, haru ja autorit ning meeskond on geograafiliselt jaotatud ja töötab samaaegselt
- Muutused kasutajanõuetes, poliitikas, eelarves ja ajakavas tuleb arvesse võtta.
- Tarkvara peaks suutma töötada erinevatel masinatel ja Operating Systems
- Aitab arendada koordineerimist sidusrühmade vahel
- SCM-protsess on kasulik ka süsteemi muudatuste tegemise 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 midagi hallata või juhtida isegi siis, kui te ei tea, mis see on. See on kirjeldus, mis sisaldab CSCI tüüpi (Computer Software Configuration Item), projekti identifikaatorit ja versiooniteavet.
Tegevused selle protsessi ajal:
- Konfiguratsioonielementide, näiteks lähtekoodi moodulite tuvastamine, testjuhtumja nõuete spetsifikatsioon.
- Iga CSCI tuvastamine SCM-i hoidlas, kasutades objektorienteeritud lähenemisviisi
- Protsess algab põhiobjektidega, mis on rühmitatud koondobjektideks. Üksikasjad selle kohta, mida, miks, millal ja kes testis muudatusi teeb
- Igal objektil on oma omadused, mis tuvastavad selle nime, mis on selgesõnaline kõigile teistele objektidele
- Vajalike ressursside loend, nagu dokument, fail, tööriistad jne.
Näide:
Selle asemel, et anda failile nimi login.php, tuleks selle nimi panna login_v1.2.php, kus v1.2 tähistab faili versiooninumbrit
Kaustale "Code" nime andmise asemel tuleks sellele panna nimi "Code_D", kus D tähistab koodi, tuleks varundada iga päev.
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õlbustab rakenduse erinevate versioonide koostamist
- Nende töötoodete erinevate versioonide haldamise mehhanismide määratlemine ja määramine
- Funktsionaalne baasjoon vastab läbivaadatud süsteeminõuetele
- Laialdaselt kasutatavad lähtejooned hõlmavad funktsionaalseid, arenduslikke ja toote baasjooni
Lihtsamalt öeldes tähendab baasjoon vabastamiseks valmis.
Muuda kontrolli
Muudatuste juhtimine on protseduuriline meetod, mis tagab konfiguratsiooniobjektis muudatuste tegemisel kvaliteedi ja järjepidevuse. Selles etapis esitatakse muudatustaotlus tarkvara konfiguratsioonihaldurile.
Tegevused selle protsessi ajal:
- Kontrollige ad-hoc muudatusi stabiilse tarkvaraarenduskeskkonna loomiseks. Muudatused on seotud hoidlaga
- Taotlust kontrollitakse tehniliste omaduste, võimalike kõrvalmõjude ja üldise mõju alusel teistele konfiguratsiooniobjektidele.
- See haldab muudatusi ja teeb tarkvara elutsükli jooksul kättesaadavaks konfiguratsioonielemendid
Konfiguratsiooni oleku arvestus
Konfiguratsiooni oleku arvestus jälgib iga väljalaset SCM-i protsessi ajal. See etapp hõlmab iga versiooni ja selle versioonini viivate muudatuste jälgimist.
Tegevused selle protsessi ajal:
- Säilitab kõik eelmisel baasjoonel tehtud muudatused, et jõuda uuele lähtetasemele
- Tarkvara konfiguratsiooni määratlemiseks tuvastage kõik üksused
- Jälgige muudatustaotluste olekut
- Täielik loend kõigist muudatustest alates viimasest lähtetasemest
- Võimaldab jälgida edenemist järgmise algtasemeni
- Võimaldab kontrollida eelmisi väljalaseid/versioone, mida testimiseks ekstraheeritakse
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 standarditele vastavuse kontrollimiseks. tehtud muudatuste auditeerimine ja aruandlus
- SCM-i auditid tagavad ka jälgitavuse säilitamise protsessi ajal.
- Tagab, et lähtetaseme muudatused vastavad konfiguratsiooni olekuaruannetele
- Täielikkuse ja järjepidevuse kinnitamine
SCM protsessis osaleja
Järgmised on SCM-i peamised osalejad
1. Konfiguratsioonihaldur
- Configuration Manager on juht, kes vastutab konfiguratsiooniüksuste tuvastamise eest.
- CM tagab, et meeskond järgib SCM-i protsessi
- Ta peab muutmistaotlused 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 vabastamise järjepidevus ja täielikkus.
4. Projektijuht:
- Veenduge, et toode töötatakse välja teatud aja jooksul
- Jälgib arenduse edenemist ja tuvastab probleeme SCM-i protsessis
- Koostage aruandeid tarkvarasüsteemi oleku kohta
- Veenduge, et loomisel, muutmisel ja testimisel järgitakse protsesse ja eeskirju
5. Kasutaja
Lõppkasutaja peaks mõistma SCM-i võtmetingimusi, et tal oleks tarkvara uusim versioon
Tarkvara konfiguratsiooni haldusplaan
SCMP (Software Configuration Management Planing) protsessi planeerimine algab projekti varases kodeerimisetapis. Planeerimisetapi tulemuseks on SCM-kava, mida võidakse projekti käigus pikendada või üle vaadata.
- SCMP võib järgida avalikku standardit, nagu IEEE 828, või organisatsioonispetsiifilist standardit
- See määratleb haldatavate dokumentide tüübid ja dokumendi nimetamise. Näide Test_v1
- SCMP määrab isiku, kes vastutab kogu SCM-i protsessi ja lähteseisundite loomise eest.
- Parandage versioonihalduse ja muudatuste juhtimise eeskirju
- Määrake tööriistad, mida saab SCM-protsessi ajal kasutada
- Konfiguratsioonihalduse andmebaas konfiguratsiooniteabe salvestamiseks.
Tarkvara konfiguratsioonihaldustööriistad
Igal muudatuste haldamise tarkvaral peaks olema järgmised 3 põhifunktsiooni:
Samaaegsuse juhtimine:
Kui kaks või enam ülesannet toimuvad samal ajal, nimetatakse seda samaaegseks toiminguks. Samaaegsus kontekstis SCM-iga tähendab, et sama faili redigeerib mitu inimest korraga.
Kui samaaegsust SCM-i tööriistadega õigesti ei hallata, võib see tekitada palju pakilisemaid probleeme.
Versioonihaldus:
SCM kasutab arhiveerimismeetodit või salvestab kõik failis tehtud muudatused. Arhiveerimise või salvestamise funktsiooni abil on võimalik probleemide korral naasta eelmisele versioonile.
Synchroniseerimine:
Kasutajad saavad kontrollida rohkem kui ühte faili või kogu hoidla koopiat. Seejärel töötab kasutaja vajaliku faili kallal ja kontrollib muudatused tagasi hoidlasse. Nad saavad sünkroonida oma kohaliku koopia, et olla kursis teiste meeskonnaliikmete tehtud muudatustega.
Järgmised on 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 konfiguratsioonihaldustööriist. Lisaks konfiguratsioonihaldusele pakub see ka rakenduste juurutamist ja ülesannete automatiseerimist.
Download link: https://www.ansible.com/
Vaadake rohkem SW konfiguratsioonitööriistu: https://www.guru99.com/software-configuration-management-tools.html
Järeldus
- Konfiguratsioonihalduse parimad tavad aitavad organisatsioonidel süstemaatiliselt hallata, korraldada ja kontrollida muudatusi dokumentides, koodides ja muudes üksustes. Tarkvaraarenduse elutsükkel.
- SCM-i protsessi esmane eesmärk on tõsta tootlikkust minimaalsete vigadega
- Konfiguratsioonihaldusprotsessi peamine põhjus on see, et tarkvara kallal töötab mitu inimest, mida pidevalt uuendatakse. SCM aitab luua samaaegsust, sünkroonimist ja versioonikontrolli.
- Lähtejoon on tarkvara konfiguratsiooniüksuse ametlikult aktsepteeritud versioon
- Muudatuste juhtimine on protseduuriline meetod, mis tagab konfiguratsiooniobjektis muudatuste tegemisel kvaliteedi ja järjepidevuse.
- Konfiguratsiooni oleku arvestus jälgib iga väljalaset SCM-i protsessi ajal
- Tarkvara konfiguratsiooniauditid kontrollivad, kas kogu tarkvaratoode vastab põhivajadustele
- SCM-i protsessis osalejad on projektijuht, konfiguratsioonihaldur, arendaja, audiitor ja kasutaja
- SCM-i protsessi planeerimine algab projekti varases faasis.
- Git, Team Foundation Sever ja Ansible on mõned populaarsed SCM-i tööriistad.