Ohjelmistokokoonpanon hallinta ohjelmistosuunnittelussa
Mikรค on ohjelmiston kokoonpanonhallinta?
Ohjelmistosuunnittelussa, Software Configuration Management (SCM) on prosessi, jolla jรคrjestelmรคllisesti hallinnoidaan, organisoidaan ja ohjataan muutoksia asiakirjoihin, koodeihin ja muihin kokonaisuuksiin ohjelmistokehityksen elinkaaren aikana. Ensisijainen tavoite on lisรคtรค tuottavuutta minimaalisilla virheillรค. SCM on osa monitieteistรค konfiguroinnin hallinnan alaa ja se voi mรครคrittรครค tarkasti, kuka on tehnyt minkรคkin version.
Miksi tarvitsemme konfiguraatioiden hallintaa?
Ensisijaiset syyt teknisen ohjelmiston kokoonpanonhallintajรคrjestelmรคn kรคyttรถรถnotolle ovat:
- Useat ihmiset tyรถskentelevรคt ohjelmiston parissa, jota pรคivitetรครคn jatkuvasti
- Se voi olla tapaus, jossa ohjelmiston konfigurointiprojektissa on mukana useita versioita, haaroja ja kirjoittajia, ja tiimi on maantieteellisesti hajautettu ja toimii samanaikaisesti
- Kรคyttรคjรคvaatimusten, politiikan, budjetin ja aikataulun muutokset on otettava huomioon.
- Ohjelmiston pitรคisi pystyรค toimimaan eri koneilla ja Operating Systems
- Auttaa kehittรคmรครคn sidosryhmien vรคlistรค koordinaatiota
- SCM-prosessi on hyรถdyllinen myรถs jรคrjestelmรคn muutosten tekemiseen liittyvien kustannusten hallitsemiseksi
Kaikki ohjelmiston kokoonpanon muutokset vaikuttavat lopputuotteeseen. Siksi konfiguraatiokohteiden muutoksia on valvottava ja hallittava.
Tehtรคvรคt SCM-prosessissa
- Kokoonpanon tunnistus
- perusviivat
- Muuta ohjaus
- Kokoonpanon tilan kirjanpito
- Kokoonpanon tarkastukset ja Revnรคkemykset
Kokoonpanon tunnistus
Kokoonpanon tunnistus on menetelmรค ohjelmistojรคrjestelmรคn laajuuden mรครคrittรคmiseksi. Tรคmรคn vaiheen avulla voit hallita tai hallita jotain, vaikka et tiedรค mitรค se on. Se on kuvaus, joka sisรคltรครค CSCI-tyypin (Computer Software Configuration Item), projektin tunnisteen ja versiotiedot.
Toiminnot tรคmรคn prosessin aikana:
- Mรครคrityskohteiden, kuten lรคhdekoodimoduulien, tunnistaminen, testitapaus, ja vaatimusmรครคrittely.
- Jokaisen CSCI:n tunnistaminen SCM-varastossa kรคyttรคmรคllรค oliolรคhtรถistรค lรคhestymistapaa
- Prosessi alkaa perusobjekteista, jotka on ryhmitelty aggregoituihin objekteihin. Tiedot siitรค, mitรค, miksi, milloin ja kuka tekee testissรค muutoksia
- Jokaisella objektilla on omat ominaisuutensa, jotka tunnistavat sen nimen, joka on selvรค kaikille muille objekteille
- Luettelo tarvittavista resursseista, kuten asiakirja, tiedosto, tyรถkalut jne.
Esimerkiksi:
Tiedoston nimeรคmisen sijaan login.php sen nimeksi tulee antaa login_v1.2.php, jossa v1.2 tarkoittaa tiedoston versionumeroa
Kansion "Koodi" nimeรคmisen sijaan sen nimeksi tulee antaa "Koodi_D", jossa D tarkoittaa koodia, varmuuskopioida pรคivittรคin.
Lรคhtรถtilanne
Perustaso on muodollisesti hyvรคksytty versio ohjelmistokokoonpanosta. Se nimetรครคn ja kiinnitetรครคn tiettyyn aikaan SCM-prosessin aikana. Sitรค voidaan muuttaa vain muodollisilla muutoksenhallintamenettelyillรค.
Toiminnot tรคmรคn prosessin aikana:
- Helpottaa sovelluksen eri versioiden rakentamista
- Nรคiden tyรถtuotteiden eri versioiden hallintamekanismien mรครคrittely ja mรครคrittรคminen
- Toiminnallinen perusviiva vastaa tarkistettuja jรคrjestelmรคvaatimuksia
- Laajalti kรคytettyjรค lรคhtรถkohtia ovat toiminnalliset, kehitystyรถn ja tuotteen perusviivat
Yksinkertaisesti sanottuna lรคhtรถtaso tarkoittaa valmis julkaisuun.
Muuta ohjaus
Muutoshallinta on menettelytapa, joka varmistaa laadun ja johdonmukaisuuden, kun konfigurointiobjektiin tehdรครคn muutoksia. Tรคssรค vaiheessa muutospyyntรถ lรคhetetรครคn ohjelmiston kokoonpanon hallintaan.
Toiminnot tรคmรคn prosessin aikana:
- Hallitse ad hoc -muutosta vakaan ohjelmistokehitysympรคristรถn rakentamiseksi. Muutokset sitoutuvat arkistoon
- Pyyntรถ tarkistetaan teknisten ansioiden, mahdollisten sivuvaikutusten ja muihin konfigurointikohteisiin kohdistuvan kokonaisvaikutuksen perusteella.
- Se hallitsee muutoksia ja asettaa konfiguraatiokohteita saataville ohjelmiston elinkaaren aikana
Kokoonpanon tilan kirjanpito
Kokoonpanon tilan kirjanpito seuraa jokaista julkaisua SCM-prosessin aikana. Tรคssรค vaiheessa seurataan kunkin version sisรคltรถรค ja tรคhรคn versioon johtavia muutoksia.
Toiminnot tรคmรคn prosessin aikana:
- Pitรครค kirjaa kaikista edelliseen perusviivaan tehdyistรค muutoksista saavuttaakseen uuden lรคhtรถtason
- Tunnista kaikki kohteet ohjelmistokokoonpanon mรครคrittรคmiseksi
- Tarkkaile muutospyyntรถjen tilaa
- Tรคydellinen luettelo kaikista muutoksista edellisen lรคhtรถtilanteen jรคlkeen
- Mahdollistaa edistymisen seuraamisen seuraavaan lรคhtรถtasoon
- Mahdollistaa aiempien julkaisujen/versioiden tarkistamisen, jotka puretaan testausta varten
Kokoonpanon tarkastukset ja Revnรคkemykset
Ohjelmiston konfigurointitarkastukset varmistavat, ettรค kaikki ohjelmistotuote tรคyttรครค perustarpeet. Se varmistaa, ettรค se, mitรค rakennetaan, on sitรค, mitรค toimitetaan.
Toiminnot tรคmรคn prosessin aikana:
- Auditoijat suorittavat konfiguraation auditoinnin tarkistamalla, ettรค mรครคriteltyjรค prosesseja noudatetaan ja varmistamalla, ettรค SCM-tavoitteet tรคyttyvรคt.
- Konfiguroinnin valvontastandardien noudattamisen varmistamiseksi. tehtyjen muutosten auditointi ja raportointi
- SCM-auditoinneilla varmistetaan myรถs, ettรค jรคljitettรคvyys sรคilyy prosessin aikana.
- Varmistaa, ettรค perustilaan tehdyt muutokset ovat konfigurointitilaraporttien mukaisia
- Tรคydellisyyden ja johdonmukaisuuden validointi
SCM-prosessin osallistuja
Seuraavassa on SCM:n tรคrkeimmรคt osallistujat
1. Configuration Manager
- Configuration Manager on pรครค, joka on vastuussa konfiguraatiokohteiden tunnistamisesta.
- CM varmistaa, ettรค tiimi seuraa SCM-prosessia
- Hรคnen on hyvรคksyttรคvรค tai hylรคttรคvรค muutospyynnรถt
2. Kehittรคjรค
- Kehittรคjรคn on vaihdettava koodi standardikehitystoimintojen tai muutospyyntรถjen mukaisesti. Hรคn on vastuussa koodin konfiguraation yllรคpidosta.
- Kehittรคjรคn tulee tarkistaa muutokset ja ratkaista ristiriidat
3. tilintarkastaja
- Tilintarkastaja vastaa SCM-auditoinneista ja -katselmuksista.
- On varmistettava julkaisun johdonmukaisuus ja tรคydellisyys.
4. Projektipรครคllikkรถ:
- Varmista, ettรค tuote on kehitetty tietyn ajan sisรคllรค
- Seuraa kehityksen edistymistรค ja tunnistaa SCM-prosessin ongelmat
- Luo raportteja ohjelmistojรคrjestelmรคn tilasta
- Varmista, ettรค prosesseja ja kรคytรคntรถjรค noudatetaan luomisessa, muuttamisessa ja testauksessa
5. Kรคyttรคjรค
Loppukรคyttรคjรคn tulee ymmรคrtรครค keskeiset SCM-ehdot varmistaakseen, ettรค hรคnellรค on ohjelmiston uusin versio
Ohjelmistokokoonpanon hallintasuunnitelma
SCMP (Software Configuration Management Planing) -prosessisuunnittelu alkaa projektin varhaisessa koodausvaiheessa. Suunnitteluvaiheen tulos on SCM-suunnitelma, jota voidaan venyttรครค tai tarkistaa projektin aikana.
- SCMP voi noudattaa julkista standardia, kuten IEEE 828, tai organisaatiokohtaista standardia
- Se mรครคrittelee hallinnassa olevien dokumenttien tyypit ja dokumenttien nimeรคmisen. Esimerkki Testi_v1
- SCMP mรครคrittelee henkilรถn, joka on vastuussa koko SCM-prosessista ja perustason luomisesta.
- Korjaa versionhallinnan ja muutosten hallinnan kรคytรคnnรถt
- Mรครคritรค tyรถkalut, joita voidaan kรคyttรครค SCM-prosessin aikana
- Kokoonpanon hallintatietokanta kokoonpanotietojen tallentamista varten.
Ohjelmistokokoonpanon hallintatyรถkalut
Kaikissa muutoksenhallintaohjelmistoissa tulee olla seuraavat 3 avainominaisuutta:
Samanaikaisuuden hallinta:
Kun kahta tai useampaa tehtรคvรครค tapahtuu samanaikaisesti, sitรค kutsutaan samanaikaiseksi toiminnaksi. Samanaikaisuus SCM:n yhteydessรค tarkoittaa, ettรค useat ihmiset muokkaavat samaa tiedostoa samanaikaisesti.
Jos samanaikaisuutta ei hallita oikein SCM-tyรถkaluilla, se voi aiheuttaa monia kiireellisiรค ongelmia.
Version hallinta:
SCM kรคyttรครค arkistointimenetelmรครค tai tallentaa kaikki tiedostoon tehdyt muutokset. Arkistointi- tai tallennusominaisuuden avulla on mahdollista palata takaisin edelliseen versioon ongelmatilanteissa.
Synchronisointi:
Kรคyttรคjรคt voivat kassata useamman kuin yhden tiedoston tai kokonaisen arkiston kopion. Tรคmรคn jรคlkeen kรคyttรคjรค tyรถskentelee tarvittavan tiedoston parissa ja kirjaa muutokset takaisin arkistoon. He voivat synkronoida paikallisen kopionsa pysyรคkseen ajan tasalla muiden tiimin jรคsenten tekemistรค muutoksista.
Seuraavat ovat suosittuja tyรถkaluja
1.Git: Git on ilmainen ja avoimen lรคhdekoodin tyรถkalu, joka auttaa versionhallintaa. Se on suunniteltu kรคsittelemรครคn kaikentyyppisiรค projekteja nopeasti ja tehokkaasti.
Download link: https://git-scm.com/
2. Joukkue Foundation Server: Joukkue Foundation on joukko tyรถkaluja ja teknologioita, joiden avulla tiimi voi tehdรค yhteistyรถtรค ja koordinoida tuotteen rakentamista.
Download link: https://azure.microsoft.com/en-us/services/devops/server/
3. Mahdollinen: Se on avoimen lรคhdekoodin ohjelmistokokoonpanon hallintatyรถkalu. Konfiguroinnin hallinnan lisรคksi se tarjoaa myรถs sovellusten kรคyttรถรถnoton ja tehtรคvien automatisoinnin.
Download link: https://www.ansible.com/
Katso lisรครค SW-mรครคritystyรถkaluja: https://www.guru99.com/software-configuration-management-tools.html
Yhteenveto
- Kokoonpanonhallinnan parhaat kรคytรคnnรถt auttavat organisaatioita hallitsemaan, organisoimaan ja hallitsemaan asiakirjoissa, koodeissa ja muissa kokonaisuuksissa tapahtuvia muutoksia jรคrjestelmรคllisesti Ohjelmistokehityksen elinkaari.
- SCM-prosessin ensisijainen tavoite on lisรคtรค tuottavuutta minimaalisilla virheillรค
- Pรครคsyy kokoonpanonhallintaprosessiin on se, ettรค useat ihmiset tyรถskentelevรคt jatkuvasti pรคivittyvรคn ohjelmiston parissa. SCM auttaa luomaan samanaikaisuuden, synkronoinnin ja versionhallinnan.
- Perustaso on muodollisesti hyvรคksytty versio ohjelmistokokoonpanosta
- Muutoshallinta on menettelytapa, joka varmistaa laadun ja johdonmukaisuuden, kun konfigurointiobjektiin tehdรครคn muutoksia.
- Kokoonpanon tilan kirjanpito seuraa jokaista julkaisua SCM-prosessin aikana
- Ohjelmiston konfigurointitarkastukset varmistavat, ettรค kaikki ohjelmistotuote tรคyttรครค perustarpeet
- Projektipรครคllikkรถ, konfiguraatiopรครคllikkรถ, kehittรคjรค, tarkastaja ja kรคyttรคjรค ovat mukana SCM-prosessissa
- SCM-prosessin suunnittelu alkaa projektin alkuvaiheessa.
- Git, Team Foundation Sever ja Ansible ovat muutamia suosittuja SCM-tyรถkaluja.


