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

Tarvitsee kokoonpanonhallinnan

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

SCM-prosessin osallistuja

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.