Szoftverkonfiguráció-kezelés a szoftverfejlesztésben
Mi az a szoftverkonfiguráció-kezelés?
A szoftverfejlesztésben, Szoftverkonfiguráció-kezelés (SCM) egy folyamat a dokumentumok, kódok és egyéb entitások változásainak szisztematikus kezelésére, rendszerezésére és ellenőrzésére a szoftverfejlesztési életciklus során. Az elsődleges cél a termelékenység növelése minimális hibákkal. Az SCM a konfigurációkezelés interdiszciplináris területének része, és pontosan meg tudja határozni, hogy ki melyik revíziót készítette el.
Miért van szükségünk konfigurációkezelésre?
A műszaki szoftverkonfiguráció-kezelő rendszer bevezetésének elsődleges okai a következők:
- Több ember dolgozik a folyamatosan frissülő szoftveren
- Előfordulhat, hogy egy szoftverkonfigurációs projektben több verzió, elágazás és szerző vesz részt, és a csapat földrajzilag megoszlott és párhuzamosan működik.
- A felhasználói követelmények, a házirend, a költségvetés és az ütemezés változásait figyelembe kell venni.
- A szoftvernek képesnek kell lennie különféle gépeken futni és Operating Systems
- Segíti az érintettek közötti koordináció fejlesztését
- Az SCM folyamat a rendszer módosításával járó költségek szabályozásában is előnyös
A szoftverkonfiguráció bármely változása hatással van a végtermékre. Ezért a konfigurációs elemek módosításait ellenőrizni és kezelni kell.
Feladatok az SCM folyamatban
- Konfiguráció azonosítás
- alaptervek
- Vezérlés módosítása
- Konfigurációs állapot elszámolása
- Konfigurációs auditok és Reviews
Konfiguráció azonosítás
A konfigurációazonosítás a szoftverrendszer hatókörének meghatározására szolgáló módszer. Ennek a lépésnek a segítségével akkor is kezelhet vagy irányíthat valamit, ha nem tudja, mi az. Ez egy leírás, amely tartalmazza a CSCI-típust (Computer Software Configuration Item), a projektazonosítót és a verzióinformációkat.
A folyamat során végzett tevékenységek:
- Konfigurációs elemek azonosítása, például forráskód modulok, próbaper, és a követelmények specifikációja.
- Minden egyes CSCI azonosítása az SCM-lerakatban objektumorientált megközelítéssel
- A folyamat alapvető objektumokkal kezdődik, amelyek összesített objektumokba vannak csoportosítva. Részletek arról, hogy mit, miért, mikor és ki változtat a teszten
- Minden objektumnak megvannak a maga sajátosságai, amelyek azonosítják a nevét, amely minden más objektum számára egyértelmű
- A szükséges erőforrások listája, például a dokumentum, a fájl, az eszközök stb.
Példa:
Egy fájl login.php elnevezése helyett login_v1.2.php nevet kell adni, ahol a v1.2 a fájl verziószáma
A „Code” mappa elnevezése helyett a „Code_D” nevet kell adni, ahol a D a kódot jelenti, naponta biztonsági mentést kell készíteni.
kiindulási
Az alapvonal egy szoftverkonfigurációs elem formálisan elfogadott változata. Kijelölése és rögzítése egy adott időpontban történik az SCM folyamat során. Csak formális változásellenőrzési eljárásokkal módosítható.
A folyamat során végzett tevékenységek:
- Egy alkalmazás különféle verzióinak elkészítésének megkönnyítése
- Mechanizmusok meghatározása és meghatározása ezen munkatermékek különböző verzióinak kezeléséhez
- A funkcionális alapvonal megfelel a felülvizsgált rendszerkövetelményeknek
- A széles körben használt alapvonalak közé tartoznak a funkcionális, fejlesztési és termék alapvonalak
Egyszerű szavakkal az alapvonal azt jelenti, hogy készen áll a kiadásra.
Vezérlés módosítása
A változtatásvezérlés olyan eljárási módszer, amely biztosítja a minőséget és a konzisztenciát, amikor a konfigurációs objektumban módosításokat hajtanak végre. Ebben a lépésben a módosítási kérelem elküldésre kerül a szoftverkonfiguráció-kezelőnek.
A folyamat során végzett tevékenységek:
- Az ad-hoc változtatások vezérlése stabil szoftverfejlesztési környezet kialakítása érdekében. A változtatások az adattárra vonatkoznak
- A kérést a műszaki érdemek, a lehetséges mellékhatások és a többi konfigurációs objektumra gyakorolt általános hatás alapján ellenőrizzük.
- Kezeli a változtatásokat és a konfigurációs elemek elérhetővé tételét a szoftver életciklusa során
Konfigurációs állapot elszámolása
A konfigurációs állapot elszámolása nyomon követi az egyes kiadásokat az SCM folyamat során. Ez a szakasz magában foglalja az egyes verziók tartalmának és az ehhez a verzióhoz vezető változtatások nyomon követését.
A folyamat során végzett tevékenységek:
- Rögzíti az előző alapvonalon végrehajtott összes változtatást, hogy új alapvonalat érjen el
- Azonosítsa az összes elemet a szoftverkonfiguráció meghatározásához
- Figyelemmel kíséri a változtatási kérelmek állapotát
- Az utolsó alapvonal óta történt összes változás teljes listája
- Lehetővé teszi a következő alapvonal felé való haladás nyomon követését
- Lehetővé teszi a teszteléshez kibontandó korábbi kiadások/verziók ellenőrzését
Konfigurációs auditok és Reviews
A szoftverkonfigurációs auditok ellenőrzik, hogy az összes szoftvertermék megfelel-e az alapszükségleteknek. Biztosítja, hogy amit megépítenek, azt teljesítik.
A folyamat során végzett tevékenységek:
- A konfigurációs auditálást az auditorok végzik úgy, hogy ellenőrzik, hogy a meghatározott folyamatokat követik-e, és biztosítják az SCM-célok teljesülését.
- A konfiguráció-ellenőrzési szabványoknak való megfelelés ellenőrzésére. az elvégzett változtatások ellenőrzése és jelentése
- Az SCM auditok biztosítják a nyomon követhetőség fenntartását a folyamat során.
- Gondoskodik arról, hogy az alapvonalon végrehajtott módosítások megfeleljenek a konfigurációs állapotjelentéseknek
- A teljesség és a következetesség ellenőrzése
Az SCM folyamat résztvevője
Az alábbiakban bemutatjuk az SCM legfontosabb résztvevőit
1. Configuration Manager
- A Configuration Manager a konfigurációs elemek azonosításáért felelős vezető.
- A CM biztosítja, hogy a csapat kövesse az SCM folyamatot
- Jóvá kell hagynia vagy el kell utasítania a változtatási kérelmeket
2. Fejlesztő
- A fejlesztőnek módosítania kell a kódot a szabványos fejlesztési tevékenységeknek vagy módosítási kéréseknek megfelelően. Ő felelős a kód konfigurációjának karbantartásáért.
- A fejlesztőnek ellenőriznie kell a változtatásokat és fel kell oldania az ütközéseket
3. Könyvvizsgáló
- A könyvvizsgáló felelős az SCM auditokért és felülvizsgálatokért.
- Biztosítani kell a kiadás következetességét és teljességét.
4. Projektmenedzser:
- Győződjön meg arról, hogy a terméket egy bizonyos időn belül fejlesztették ki
- Figyelemmel kíséri a fejlesztés előrehaladását, és felismeri az SCM-folyamat problémáit
- Jelentések készítése a szoftverrendszer állapotáról
- Győződjön meg arról, hogy a folyamatokat és a házirendeket betartják a létrehozás, a módosítás és a tesztelés során
5. Felhasználó
A végfelhasználónak meg kell értenie az SCM kulcsfontosságú feltételeit annak biztosítása érdekében, hogy a szoftver legújabb verziójával rendelkezzen
Szoftverkonfiguráció kezelési terv
Az SCMP (Software Configuration Management Planing) folyamattervezés a projekt korai kódolási szakaszában kezdődik. A tervezési fázis eredménye az SCM-terv, amely a projekt során kiterjeszthető vagy felülvizsgálható.
- Az SCMP követhet nyilvános szabványt, például az IEEE 828-at vagy szervezetspecifikus szabványt
- Meghatározza a kezelendő dokumentumok típusait és a dokumentum elnevezését. Példa Teszt_v1
- Az SCMP meghatározza azt a személyt, aki felelős lesz a teljes SCM folyamatért és az alapvonalak létrehozásáért.
- Javítsa ki a verziókezelésre és a változásvezérlésre vonatkozó házirendeket
- Határozza meg az SCM folyamat során használható eszközöket
- Konfigurációkezelő adatbázis a konfigurációs információk rögzítéséhez.
Szoftverkonfiguráció-kezelő eszközök
Minden változáskezelő szoftvernek rendelkeznie kell a következő 3 fő jellemzővel:
Konkurencia menedzsment:
Ha két vagy több feladat történik egyidejűleg, azt párhuzamos műveletnek nevezzük. A párhuzamosság az SCM-mel összefüggésben azt jelenti, hogy ugyanazt a fájlt több személy szerkeszti egyszerre.
Ha az egyidejűséget nem kezelik megfelelően az SCM-eszközökkel, az sok sürgető problémát okozhat.
Verziókezelés:
Az SCM archiválási módszert használ, vagy elment minden fájl módosítást. Az archiválás vagy mentés funkció segítségével probléma esetén vissza lehet térni az előző verzióra.
Synchronizálás:
A felhasználók egynél több fájlt vagy a tárhely egy teljes másolatát is lekérhetik. A felhasználó ezután a szükséges fájlon dolgozik, és visszaellenőrzi a módosításokat a tárolóba. Szinkronizálhatja helyi másolatát, hogy naprakész maradjon a többi csapattag által végrehajtott változtatásokkal.
Az alábbiakban a népszerű eszközöket találjuk
1.Git: A Git egy ingyenes és nyílt forráskódú eszköz, amely segít a verziószabályozásban. Úgy tervezték, hogy minden típusú projektet gyorsan és hatékonyan kezeljen.
Download link: https://git-scm.com/
2. csapat Foundation Szerver: Csapat Foundation olyan eszközök és technológiák csoportja, amelyek lehetővé teszik a csapat számára, hogy együttműködjenek és koordinálják a termék felépítését.
Download link: https://azure.microsoft.com/en-us/services/devops/server/
3. Lehetséges: Ez egy nyílt forráskódú szoftverkonfiguráció-kezelő eszköz. A konfigurációkezelésen kívül alkalmazástelepítést és feladatautomatizálást is kínál.
Download link: https://www.ansible.com/
Nézzen meg további SW konfigurációs eszközöket: https://www.guru99.com/software-configuration-management-tools.html
Összegzés
- A konfigurációkezelés bevált gyakorlatai segítik a szervezeteket a dokumentumokban, kódokban és egyéb entitásokban bekövetkezett változások szisztematikus kezelésében, rendszerezésében és ellenőrzésében. Szoftverfejlesztési életciklus.
- Az SCM folyamat elsődleges célja a termelékenység növelése minimális hibákkal
- A konfigurációkezelési folyamat fő oka az, hogy több ember dolgozik a folyamatosan frissülő szoftveren. Az SCM segít a párhuzamosság, a szinkronizálás és a verziókezelés létrehozásában.
- Az alapvonal egy szoftverkonfigurációs elem formálisan elfogadott változata
- A változtatásvezérlés olyan eljárási módszer, amely biztosítja a minőséget és a konzisztenciát, amikor a konfigurációs objektumban módosításokat hajtanak végre.
- A konfigurációs állapot elszámolása nyomon követi az egyes kiadásokat az SCM folyamat során
- A szoftverkonfigurációs auditok ellenőrzik, hogy az összes szoftvertermék megfelel-e az alapszükségleteknek
- Projektmenedzser, konfigurációmenedzser, fejlesztő, auditor és felhasználó az SCM folyamat résztvevői
- Az SCM folyamattervezés a projekt korai szakaszában kezdődik.
- A Git, a Team Foundation Sever és az Ansible néhány népszerű SCM-eszköz.


