Softwareconfiguratiebeheer in software-engineering
โก Slimme samenvatting
Softwareconfiguratiebeheer (SCM) is een proces om wijzigingen in documenten, code en andere items systematisch te beheren, organiseren en controleren gedurende de gehele softwareontwikkelingslevenscyclus. Het primaire doel is om de productiviteit te verhogen en tegelijkertijd de controle te behouden.ping Fouten tot een minimum beperken.

Wat is softwareconfiguratiebeheer?
Bij software-engineering, Softwareconfiguratiebeheer (SCM) SCM is een proces om de wijzigingen in documenten, code en andere entiteiten tijdens de softwareontwikkelingslevenscyclus systematisch te beheren, organiseren en controleren. Het primaire doel is om de productiviteit te verhogen met minimale fouten. SCM is onderdeel van het multidisciplinaire vakgebied configuratiebeheer en kan nauwkeurig vaststellen wie welke revisie heeft uitgevoerd.
Waarom hebben we configuratiebeheer nodig?
De belangrijkste redenen voor het implementeren van een technisch softwareconfiguratiebeheersysteem zijn:
- Er werken meerdere mensen aan software die continu wordt bijgewerkt.
- Het kan voorkomen dat er meerdere versies, branches en auteurs betrokken zijn bij een softwareconfiguratieproject, en dat het team geografisch verspreid is en gelijktijdig werkt.
- Er moet rekening worden gehouden met veranderingen in gebruikersvereisten, beleid, budget en planning.
- Software moet op verschillende machines kunnen draaien. Operasystemen.
- Helpt bij het ontwikkelen van coรถrdinatie tussen belanghebbenden.
- Het SCM-proces is ook nuttig om de kosten te beheersen die gepaard gaan met het aanbrengen van wijzigingen in een systeem.
Elke wijziging in de softwareconfiguratie-items heeft invloed op het eindproduct. Daarom moeten wijzigingen in configuratie-items worden gecontroleerd en beheerd.
Taken in het SCM-proces
- Configuratie-identificatie
- baselines
- Verander controle
- Configuratie Status Boekhouding
- Configuratie-audits en Revieuws
Configuratie-identificatie
Configuratie-identificatie is een methode om de reikwijdte van een softwaresysteem te bepalen. Met behulp van deze stap kunt u iets beheren of controleren, zelfs als u niet weet wat het is. Het is een beschrijving die het CSCI-type (Computer Software Configuration Item), een project-ID en versie-informatie bevat.
Activiteiten tijdens dit proces:
- Identificatie van configuratie-items zoals broncodemodules, testcaseen specificatie van eisen.
- Identificatie van elke CSCI in de SCM-repository met behulp van een objectgeoriรซnteerde aanpak.
- Het proces begint met basisobjecten die worden gegroepeerd tot samengestelde objecten. Details over wat, waarom, wanneer en door wie er wijzigingen in de test worden aangebracht.
- Elk object heeft zijn eigen kenmerken die de naam ervan identificeren, een naam die voor alle andere objecten expliciet is.
- Lijst met benodigde middelen, zoals het document, het bestand, tools, enz.
Voorbeeld:
In plaats van een bestand login.php te noemen, zou het login_v1.2.php moeten heten, waarbij v1.2 staat voor het versienummer van het bestand.
In plaats van een map de naam " te gevenCodeโ, het zou de naam โ moeten hebbenCode_Dโ waarbij D aangeeft dat de code dagelijks moet worden geback-upt.
Baseline
Een baseline is een formeel geaccepteerde versie van een softwareconfiguratie-item. Het wordt op een specifiek tijdstip aangewezen en vastgesteld tijdens het uitvoeren van het SCM-proces. Het kan alleen worden gewijzigd via formele wijzigingscontroleprocedures.
Activiteiten tijdens dit proces:
- Het bouwen van verschillende versies van een applicatie vereenvoudigen.
- Het definiรซren en vaststellen van mechanismen voor het beheren van verschillende versies van deze werkproducten.
- De functionele basislijn komt overeen met de beoordeelde systeemvereisten.
- Veelgebruikte basiswaarden zijn onder andere functionele basiswaarden, ontwikkelingsbasiswaarden en productbasiswaarden.
In eenvoudige bewoordingen betekent baseline: klaar voor release.
Verander controle
Wijzigingsbeheer is een procedurele methode die de kwaliteit en consistentie waarborgt wanneer er wijzigingen worden aangebracht in het configuratieobject. In deze stap wordt het wijzigingsverzoek ingediend bij de softwareconfiguratiebeheerder.
Activiteiten tijdens dit proces:
- Beheer ad-hocwijzigingen om een โโstabiele softwareontwikkelomgeving te creรซren. Wijzigingen worden vastgelegd in de repository.
- Het verzoek wordt beoordeeld op basis van de technische merites, mogelijke neveneffecten en de algehele impact op andere configuratieobjecten.
- Het beheert wijzigingen en maakt configuratie-items beschikbaar gedurende de softwarelevenscyclus.
Configuratie Status Boekhouding
Configuratiestatusregistratie tracks elke release tijdens het SCM-proces. Deze fase omvat tracLeg uit wat elke versie inhoudt en welke veranderingen tot deze versie hebben geleid.
Activiteiten tijdens dit proces:
- Houdt een register bij van alle wijzigingen die zijn aangebracht ten opzichte van de vorige basislijn om tot een nieuwe basislijn te komen.
- Identificeer alle onderdelen die nodig zijn om de softwareconfiguratie te definiรซren.
- Monitor de status van wijzigingsverzoeken.
- Een volledig overzicht van alle wijzigingen sinds de laatste nulmeting.
- Hiermee trackoning van de vooruitgang naar de volgende basislijn.
- Hiermee kunnen eerdere releases/versies worden geรซxporteerd.tracted voor testen.
Configuratie-audits en Revieuws
Softwareconfiguratie-audits verifiรซren dat alle softwareproducten voldoen aan de basisbehoeften. Het zorgt ervoor dat wat gebouwd wordt, ook geleverd wordt.
Activiteiten tijdens dit proces:
- Configuratie-audit wordt uitgevoerd door auditors door te controleren of gedefinieerde processen worden gevolgd en ervoor te zorgen dat aan de SCM-doelen wordt voldaan.
- Om de naleving van de normen voor configuratiebeheer te controleren, worden de aangebrachte wijzigingen geaudit en gerapporteerd.
- SCM-audits zorgen er ook voor dat tracDe geschiktheid blijft tijdens het proces behouden.
- Zorgt ervoor dat wijzigingen in de basisconfiguratie overeenkomen met de configuratiestatusrapporten.
- Validatie van volledigheid en consistentie.
Deelnemer aan het SCM-proces
Hieronder volgen de belangrijkste deelnemers aan SCM:
1. Configuratiemanager
- De configuratiemanager is het hoofd dat verantwoordelijk is voor het identificeren van configuratie-items.
- CM zorgt ervoor dat het team het SCM-proces volgt.
- Hij/zij moet wijzigingsverzoeken goedkeuren of afwijzen.
2. Ontwikkelaar
- De ontwikkelaar moet de code aanpassen volgens de standaard ontwikkelprocedures of wijzigingsverzoeken. Hij is verantwoordelijk voor het onderhouden van de codeconfiguratie.
- De ontwikkelaar moet de wijzigingen controleren en conflicten oplossen.
3. revisor
- De auditor is verantwoordelijk voor SCM-audits en beoordelingen.
- De consistentie en volledigheid van de publicatie moeten gewaarborgd worden.
4. Projectmanager:
- Zorg ervoor dat het product binnen een bepaalde termijn wordt ontwikkeld.
- Houdt de voortgang van de ontwikkeling in de gaten en signaleert problemen in het SCM-proces.
- Genereer rapporten over de status van het softwaresysteem.
- Zorg ervoor dat de processen en het beleid voor het aanmaken, wijzigen en testen worden gevolgd.
5. Gebruiker
De eindgebruiker moet de belangrijkste SCM-termen begrijpen om er zeker van te zijn dat hij de meest recente versie van de software heeft.
Beheerplan voor softwareconfiguratie
Het SCMP-proces (Software Configuration Management Planning) begint in de vroege codeerfase van een project. Het resultaat van de planningsfase is het SCM-plan, dat tijdens het project kan worden uitgebreid of herzien.
- De SCMP kan een openbare standaard volgen, zoals de IEEE 828, of een organisatiespecifieke standaard.
- Het definieert de typen documenten die beheerd moeten worden en een naamgevingsconventie voor documenten. Voorbeeld: Test_v1.
- SCMP definieert de persoon die verantwoordelijk zal zijn voor het gehele SCM-proces en het creรซren van baselines.
- Stel beleidsregels vast voor versiebeheer en wijzigingsbeheer.
- Definieer de tools die tijdens het SCM-proces gebruikt kunnen worden.
- Configuratiebeheerdatabase voor het vastleggen van configuratie-informatie.
Beheerprogramma's voor softwareconfiguratie
Elke software voor wijzigingsbeheer moet de volgende 3 belangrijke functies hebben:
Gelijktijdigheidsbeheer:
Wanneer twee of meer taken tegelijkertijd plaatsvinden, spreekt men van een gelijktijdige bewerking. In de context van SCM betekent gelijktijdigheid dat hetzelfde bestand door meerdere personen tegelijkertijd wordt bewerkt.
Als gelijktijdigheid niet correct wordt beheerd met SCM-tools, kan dit voor veel urgente problemen zorgen.
Versiebeheer:
SCM maakt gebruik van een archiveringsmethode, waarbij elke wijziging in een bestand wordt opgeslagen. Dankzij deze archiverings- of opslagfunctie is het mogelijk om in geval van problemen terug te keren naar een eerdere versie.
Synchronisatie:
Gebruikers kunnen meerdere bestanden of een volledige kopie van de repository uitchecken. Vervolgens werken ze aan het gewenste bestand en checken ze de wijzigingen terug in de repository. Ze kunnen hun lokale kopie synchroniseren om op de hoogte te blijven van de wijzigingen die andere teamleden hebben aangebracht.
Hieronder volgen populaire tools:
1.Git: Git is een gratis en open source tool die versiebeheer ondersteunt. Het is ontworpen om alle soorten projecten snel en efficiรซnt af te handelen.
Download link: https://git-scm.com/
2. team Foundation server: Team Foundation is een groep tools en technologieรซn waarmee het team kan samenwerken en coรถrdineren bij het bouwen van een product.
Download link: https://azure.microsoft.com/en-us/services/devops/server/
3. Ansible: Het is een open source tool voor softwareconfiguratiebeheer. Naast configuratiebeheer biedt het ook mogelijkheden voor applicatie-implementatie en taakautomatisering.
Download link: https://www.ansible.com/


