Ohjelmistokokoonpanon hallinta ohjelmistosuunnittelussa
⚡ Älykäs yhteenveto
Ohjelmistokonfiguraation hallinta (SCM) on prosessi, jolla hallitaan, organisoidaan ja valvotaan järjestelmällisesti dokumenttien, koodin ja muiden kohteiden muutoksia koko ohjelmistokehityksen elinkaaren ajan. Sen ensisijaisena tavoitteena on lisätä tuottavuutta samalla kunping virheet minimiin.
Mikä on ohjelmiston kokoonpanonhallinta?
Ohjelmistosuunnittelussa, Ohjelmistokonfiguraation hallinta (SCM) on prosessi, jolla hallitaan, organisoidaan ja valvotaan systemaattisesti dokumenttien, koodien ja muiden kokonaisuuksien muutoksia ohjelmistokehityksen elinkaaren aikana. Ensisijaisena tavoitteena on lisätä tuottavuutta minimaalisilla virheillä. SCM on osa konfiguraationhallinnan monialaista alaa, ja se voi tarkasti määrittää, kuka teki minkäkin version.
Miksi tarvitsemme konfiguraatioiden hallintaa?
Teknisen ohjelmistokonfiguraation hallintajärjestelmän käyttöönoton tärkeimmät syyt ovat:
- Ohjelmiston parissa työskentelee useita ihmisiä, ja sitä päivitetään jatkuvasti.
- Kyseessä voi olla tapaus, jossa ohjelmiston konfigurointiprojektissa on mukana useita versioita, haaroja ja tekijöitä, ja tiimi on maantieteellisesti hajautettu ja työskentelee samanaikaisesti.
- Käyttäjävaatimusten, käytäntöjen, budjetin ja aikataulun muutokset on otettava huomioon.
- Ohjelmiston tulisi toimia erilaisilla koneilla ja Operating Systems.
- Auttaa kehittämään koordinaatiota sidosryhmien välillä.
- SCM-prosessi on hyödyllinen myös järjestelmään tehtävien muutosten kustannusten hallinnassa.
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
Konfiguraation tunnistus on menetelmä ohjelmistojärjestelmän laajuuden määrittämiseksi. Tämän vaiheen avulla voit hallita tai ohjata jotakin, vaikka et tietäisi, mitä se on. Se on kuvaus, joka sisältää CSCI-tyypin (Computer Software Configuration Item), projektitunnuksen ja versiotiedot.
Toiminnot tämän prosessin aikana:
- Määrityskohteiden, kuten lähdekoodimoduulien, tunnistaminen, testitapaus, ja vaatimusmäärittely.
- Kunkin CSCI:n tunnistaminen SCM-arkistossa oliopohjaista lähestymistapaa käyttäen.
- Prosessi alkaa perusobjekteista, jotka ryhmitellään koosteobjekteiksi. Tiedot siitä, mitä muutoksia testiin tehdään, miksi, milloin ja kuka niitä tekee.
- Jokaisella objektilla on omat ominaisuutensa, jotka tunnistavat sen nimen, joka on yksiselitteinen kaikille muille objekteille.
- Tarvittavien resurssien luettelo, kuten asiakirja, tiedosto, työkalut jne.
Esimerkiksi:
Tiedoston nimeksi tulisi antaa login.php sijaan login_v1.2.php, jossa v1.2 tarkoittaa tiedoston versionumeroa.
Kansion nimeämisen sijaan "Code", sen nimeksi pitäisi tulla "Code_D”, jossa D tarkoittaa, että koodi tulisi 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äärittely.
- Toiminnallinen perustaso vastaa tarkistettuja järjestelmävaatimuksia.
- Laajalti käytettyihin lähtötasoihin kuuluvat toiminnalliset, kehitykseen liittyvät ja tuotelähtötasot.
Yksinkertaisesti sanottuna lähtötaso tarkoittaa valmis julkaisuun.
Muuta ohjaus
Muutoshallinta on proseduraalinen menetelmä, joka varmistaa laadun ja johdonmukaisuuden, kun konfiguraatio-objektiin tehdään muutoksia. Tässä vaiheessa muutospyyntö lähetetään ohjelmiston konfiguraationhallintaohjelmalle.
Toiminnot tämän prosessin aikana:
- Hallitse ad-hoc-muutoksia vakaan ohjelmistokehitysympäristön rakentamiseksi. Muutokset tallennetaan arkistoon.
- Pyyntö tarkistetaan teknisen ansioiden, mahdollisten sivuvaikutusten ja muihin konfiguraatio-objekteihin kohdistuvan kokonaisvaikutuksen perusteella.
- Se hallitsee muutoksia ja asettaa konfiguraatiokohteet saataville ohjelmiston elinkaaren aikana.
Kokoonpanon tilan kirjanpito
Konfiguraation tilan seuranta tracks jokaisen julkaisun SCM-prosessin aikana. Tämä vaihe sisältää tracmitä kukin versio sisältää ja mitä muutoksia tähän versioon on johtanut.
Toiminnot tämän prosessin aikana:
- Pitää kirjaa kaikista edelliseen lähtötasoon tehdyistä muutoksista uuden lähtötason saavuttamiseksi.
- Tunnista kaikki ohjelmistokokoonpanon määrittävät kohteet.
- Seuraa muutospyyntöjen tilaa.
- Täydellinen luettelo kaikista muutoksista viimeisimmän lähtötilanteen jälkeen.
- sallii tracedistymisen kuningas seuraavaan lähtötasoon.
- Sallii aiempien julkaisujen/versioiden muuttamisentracted 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.
- Konfiguraatioiden hallintastandardien noudattamisen varmistamiseksi tehtyjen muutosten auditointi ja raportointi.
- SCM-auditoinnit varmistavat myös, että tractoimintakyky säilyy prosessin aikana.
- Varmistaa, että perusviivaan tehdyt muutokset ovat konfiguroinnin tilaraporttien mukaisia.
- Täydellisyyden ja johdonmukaisuuden validointi.
SCM-prosessin osallistuja
Seuraavat ovat SCM:n tärkeimmät osallistujat:
1. Configuration Manager
- Konfiguraatiopäällikkö on johtaja, joka vastaa konfiguraatiokohteiden tunnistamisesta.
- CM varmistaa, että tiimi noudattaa SCM-prosessia.
- Hänen on joko hyväksyttävä tai hylättävä muutospyynnöt.
2. Kehittäjä
- Kehittäjän on muutettava koodia vakiokehitystoimien tai muutospyyntöjen mukaisesti. Hän on vastuussa koodin kokoonpanon 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 kehitetään tietyn aikataulun puitteissa.
- Seuraa kehityksen edistymistä ja tunnistaa SCM-prosessissa ilmenevät ongelmat.
- Luo raportteja ohjelmistojärjestelmän tilasta.
- Varmista, että luomisen, muuttamisen ja testaamisen prosesseja ja käytäntöjä noudatetaan.
5. Käyttäjä
Loppukäyttäjän tulee ymmärtää keskeiset SCM-termit varmistaakseen, että hänellä on ohjelmiston uusin versio.
Ohjelmistokokoonpanon hallintasuunnitelma
SCMP-prosessi (Software Configuration Management Planning) alkaa projektin alkuvaiheessa koodausvaiheessa. Suunnitteluvaiheen tuloksena syntyy SCM-suunnitelma, jota voidaan laajentaa tai tarkistaa projektin aikana.
- SCMP voi noudattaa julkista standardia, kuten IEEE 828:aa, tai organisaatiokohtaista standardia.
- Se määrittää hallittavien dokumenttien tyypit ja dokumenttien nimeämiskäytännön. Esimerkki: Test_v1.
- SCMP määrittelee henkilön, joka on vastuussa koko SCM-prosessista ja perustason luomisesta.
- Korjaa versionhallinnan ja muutostenhallintakäytännöt.
- Määrittele työkalut, joita voidaan käyttää SCM-prosessin aikana.
- Kokoonpanon hallintatietokanta kokoonpanotietojen tallentamista varten.
Ohjelmistokokoonpanon hallintatyökalut
Kaikissa muutoshallintaohjelmistoissa tulisi olla seuraavat kolme keskeistä ominaisuutta:
Samanaikaisuuden hallinta:
Kun kaksi tai useampi tehtävä suoritetaan samanaikaisesti, sitä kutsutaan rinnakkaiseksi operaatioksi. Samanaikaisuus SCM:n yhteydessä tarkoittaa, että samaa tiedostoa muokkaa useampi henkilö samanaikaisesti.
Jos samanaikaisuutta ei hallita oikein SCM-työkaluilla, se voi aiheuttaa monia kiireellisiä ongelmia.
Version hallinta:
SCM käyttää arkistointimenetelmää eli tallentaa kaikki tiedostoon tehdyt muutokset. Arkistointi- tai tallennustoiminnon avulla on mahdollista palata edelliseen versioon ongelmien ilmetessä.
Synchronisointi:
Käyttäjät voivat kuitata ulos useamman kuin yhden tiedoston tai koko kopion tietovarastosta. Käyttäjä työskentelee sitten tarvittavan tiedoston parissa ja kirjaa muutokset takaisin tietovarastoon. 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. Mahdollista: Se on avoimen lähdekoodin ohjelmistokonfiguraation hallintatyökalu. Konfiguraation hallinnan lisäksi se tarjoaa myös sovellusten käyttöönoton ja tehtävien automatisoinnin.
Download link: https://www.ansible.com/



