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.

  • ⚙️ Määratlus: SCM haldab ja kontrollib süstemaatiliselt dokumentide, koodi ja üksuste muudatusi kogu arendustsükli vältel.
  • 🎯 Miks see oluline: See koordineerib mitut arendajat, versiooni ja haru, kontrollides samal ajal muudatuste kulusid.
  • 🗂️ Viis põhiülesannet: Konfiguratsiooni tuvastamine, baasjooned, muudatuste kontroll, oleku arvestus ja auditid.
  • 👥 Peamised osalejad: Konfiguratsioonihaldur, arendaja, audiitor, projektijuht ja lõppkasutaja.
  • ???? SCM-plaan: Planeerimine järgib standardeid nagu IEEE 828 ning määratleb tööriistad, nimetamise ja vastutuse.
  • 🛠️ Populaarsed tööriistad: Git, meeskond Foundation Server ja Ansible toetavad versioonikontrolli ja automatiseerimist.

Tarkvara konfiguratsioonihaldus

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.

Vajab konfiguratsioonihaldust

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:

SCM protsessis osaleja

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/

KKK

Versioonihaldus tracks failides tehtud muudatusi ja võimaldab teil varasematele versioonidele tagasi pöörduda. SCM on laiem: see hõlmab ka konfiguratsiooni tuvastamist, baasjooni, muudatuste haldamist, olekuarvestust ja auditeid. Versioonikontroll on laiema SCM-protsessi oluline osa.

SCM keskendub kontrollimisele ja tracTarkvara konfiguratsiooniüksuste muudatused. DevOps on laiem kultuur ja praktikate kogum, mis ühendab arenduse ja toimingud pideva tarnimise tagamiseks. SCM-tööriistad ja baasjooned toetavad sageli automatiseerimist, millele DevOpsi torujuhtmed tuginevad.

IEEE 828 on tunnustatud standard, mis määratleb tarkvarakonfiguratsiooni haldusplaani loomise. See määrab kindlaks tegevused, vastutuse ja dokumentatsiooni, mis on vajalikud konfiguratsiooniüksuste järjepidevaks haldamiseks, et meeskonnad saaksid järgida tõestatud struktuuri, selle asemel et ise midagi välja mõelda.

Tehisintellekt suudab muudatuste taotlusi üle vaadata, muudatuse mõju ennustada ja riskantseid või vastuolulisi muudatusi enne algtasemele jõudmist märgistada. See aitab analüüsida ka staatusearvestuse andmeid, märgates mustreid, mida inimredundajad suurtes ja kiiresti liikuvates koodibaasides võivad kahe silma vahele jätta.

Jah. Tehisintellekt suudab automatiseerida rutiinseid ülesandeid, nagu versioonimine, väljalasete sildistamine ja auditiaruannete genereerimine. Koos selliste tööriistadega nagu Ansible suudab see tuvastada konfiguratsiooni nihkeid ja isetervendada keskkondi, samal ajal kui inimesed kinnitavad endiselt olulisi baasmuudatusi ja -poliitikaid.

Võta see postitus kokku järgmiselt: