Konfigurasjonsstyring

Slides:



Advertisements
Liknende presentasjoner
Hvor stor er en fisk? Yggdrasil Hvor stor er en fisk?  Vanlige kundetyper og prosjekter  Faktorer som påvirker.
Advertisements

Av Reidar Kvalvaag Beerenberg
Support, nye funksjoner og tjenester fra Uni Pluss
SuperOffice - Visma Global ERP link - Tilbud/Ordre SuperOffice - Visma Global integrasjonen består av 3 produkter. ERP link SuperOffice - Visma Global.
PUG Norway – 12. nov 09Thomas Skjørten / Jan Kolstad.
Utlandsprosessen Studiestøtteonferansen i Stockholm 1. – 3. juni 2014.
Tema 7 FAG- OG SVENNEPRØVER
Programmering i ActionScript - hva er det, og hvordan undervise?
Endringsstyring Change Management.
Erstatning for ActiveX?
Prosjektstyring In 140 Sommerville kap 4.
Information Technology Infrastructure Library
Ideutvikling - Problemdefinisjonen. Hva gjør de erfarne problemløserne? •Samler og analyserer informasjon og data •Snakker med mennesker som kjenner problemet.
Levende HMS-system – hva betyr det i praksis?
IS-102 Klassedefinisjoner
Grunnleggende begreper i personopplysningsloven (legaldefinisjoner)
Vibeke Bjarnø, Avdeling for lærerutdanning og internasjonale studier
Konfigurasjonsstyring og versjonshåndtering
Konfigurasjonsstyring og versjonshåndtering
23. januar 2004TDT4285 Planl&drift IT-syst1 Tjeneroppgraderinger TDT4285 Planlegging og drift av IT-systemer Anders Christensen, IDI.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
EVALUERING AV PRODUKTER, PROSESSER OG RESSURSER. Gruppe 4 Remi Karlsen Stian Rostad Ivar Bonsaksen Jonas Lepsøy Per Øyvind Solhaug Andreas Tønnesen.
Grunnleggende testteori
Prosjektstyring In 140 Sommerville kap 4.
Verifikasjon og validering
Programvare-prosesser
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Introduksjon til systemutvikling
Utført av: Jeppe Flensted HiST Vår 2009
Hovedprinsipper i Rational Unified Process
Apache POI.
Erfaring med bruk av åpen kildekode til støtte for læringsprosessene
Kvalitetssystemet EQS Introduksjon for tilsette
  © Steria FitNesse som nyttig verktøy Smidig FitNesse som nyttig verktøy Anders Vindvad.
Software Requirements Elicitation
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Improving Products Gruppe Presenteres av : Hege-Kristin Johansen Herman Kolås Marianne Ates Marit Finden Jonas Lillevold André Johansen Tom.
Automated Testing Tool & When to Stop Testing
ESøknad - Et webbasert system for elektronisk innlevering av søknader om forskningsmidler Kort presentasjon av systemet beregnet på prosjektledere/forskere.
Konfigurasjonsstyring Configuration Management
Problemstyring Problem Management
Adressering i kraftbransjen
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
1 Oppgave gjennomgang Kap. 1 og 2. 2 Oppgaver -Kap 1: 5, 6, 7, 10, 12, 16, 22 og 25 -Kap 2: 2, 6, 10, 12, 13, 14 og 20.
Prosjektavslutning og sluttrapport
N O R P R O F F Quality Management SAMARBEIDSPARTNER FOR
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Objektorientert utforming In 140 Sommerville kap. 12.
1 Systemering In 140 forelesning nr. 2 Sommerville kap. 3.
Programvareendring del 1 In 140 Forelesning Nr 21 Sommerville kap 27, 1. Del.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Prosjekt 52E Installasjon, konfigurasjon og bruk av System Management Server 2003.
Nye forretningsprosesser Pensum: Olsen, kap
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Operativsystem IKT for lærere 15. november Hvorfor lære om dette? Kanskje den mest brukte programvaren i løpet av en (arbeids)dag Forskjellige operativsystem.
Objektorientert design In 140 Sommerville kap 12 – del 1.
Introduksjon til in 140 Systemering. In 140 Systemering Forelesninger Rom 112 –Mandag –Torsdag Lærebok: –Sommerville, Ian. Software.
Programvare-prosesser
Kvalitetssikring. er alle tiltak som er nødvendig for å sikre at et produkt vil tilfredsstille angitte krav til kvalitet og trygghet Kvalitetsarbeid krever.
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 Patching En patch er en fiks for en eller flere feil i et program/operativ.
Forprosjekt – nytt skoleadministrativt system Vedlegg 5 - Prosessbeskrivelse Privatistopplæring.
I den prosessorienterte organisasjon spør man
Programvareprosessen styrer utviklingen
Produksjonssetting i Cerebrum
Camilla Hall-Henriksen
Utskrift av presentasjonen:

Konfigurasjonsstyring Sommerville kap 29

Mål Forstå hvorfor konfigurasjonsstyring er viktig Bli kjent med fire grunnleggende aktiviteter i konfigurasjonsstyring konfigurasjonsplanlegging endringsadministrasjon versjon og utgavestyring systembygging Forstå hvordan CASE-verktøy kan brukes til å støtte konfigurasjonsstyring

Introduksjon Kunsten å koordinere programvareutvikling for å unngå problemer med ulike versjoner kalles konfigurasjonsstyring Konfigurasjonsstyring er kunsten å identifisere, organisere og kontrollere endringer i programvaren som er under bygging. Målet er å oppnå best mulig produktivitet ved å redusere antall feil

Introduksjon Dette skal administreres: Endringsforslag, Feilrettinger,Tilpasning til maskinvare og operativsystemer Mange versjoner kan være i bruk og utvikling samtidig Hvordan endringer er implementert Konfigurasjonsstyringsprosedyrer Hvordan behandle og registrere endringsønsker Hvordan knytte disse til systemkomponenter Hvordan identifisere versjoner Konfigurasjonsstyringsverktøy Lagrer versjoner Bygger systemer av dem Holder styr på hva som er levert til hvilken kunde

Introduksjon Konfigurasjonsstyring er ofte kombinert med kvalitetsstyring Baseline: Spesifikasjon eller produkt som er blitt formelt vurdert og godkjent og som brukes som grunnlag for videre utvikling. Kan bare endres ved formell endringskontrollprosess Hvorfor ulike konfigurasjoner? Plattform Kundespesifikke funksjoner Markedshensyn Konfigurasjonsansvarlig Konfigurasjonsstyringsprosessen Standarder finnes: IEEE 828-1983 konfigurasjonsstyringsplaner Konfigurasjonsstyringshåndbok

System families

Introduksjon CM ved Fossefallsmodellen Komponentene leveres når de er testet CM-teamet har ansvar for systemsammenbygging og testing Feil som oppdages blir meldt til utviklerne som må levere en oppdatert komponent Standardene forutsetter gjerne fossefallsmodell

Introduksjon CM når fossefallsmodellen ikke blir anvendt dvs. inkrementell utvikling Hyppig systembygging Støtter samtidig utvikling og testing Tidsfrist for levering av komponenter (kan være skjelett) Ny versjon bygges av de leverte komponentene ved kompilering og linking Systemet leveres til testteamet som kjører tester etter plan Samtidig arbeider utviklerne videre med systemet Feil som finnes meldes til utviklerne som må rette dem i senere versjoner. Fordeler ved hyppig bygging Finner integrasjonsproblemer mellom komponenter tidligere Fremmer bedre enhetstesting før leveranse Mindre tidsspill med problemer pga dårlig enhetstesting Utfordringer ved daglig bygging Holde styr på mange versjoner og feilmeldinger

CM-planlegging Definere standarder og framgangsmåter for CM Tilpasses prosjektet CM-plan Hva skal administreres og plan for hvordan hver del skal identifiseres. (SCI - Software Configuration Item) Hvem har ansvaret for CM og hvem skal levere SCI til CM Hvordan skal endringsstyring og versjonsadministrasjon utføres Hva skal registreres i forbindelse med CM-prosessen Hvilke verktøy skal anvendes og hvordan går man fram når de skal brukes Definisjon av konfigurasjonsdatabase. Kan også dekke administrasjon av programvare levert utenfra og arbeide for å vurdere CM-prosessen. Ansvarsplassering er viktig

Identifisering av SCI Alle dokumenter er ikke like nødvendige Bestemme hva som er nødvendig - vanlig: Prosjektplaner, spesifikasjoner, designdokumenter, kildekode og testdatasett. Alt som kan være nødvendig for framtidig vedlikehold bør være med. Plan for navnsetting Unikt navn for alle SCI Hvordan vise sammenhenger – hierarkisk strukturering Ulempe: Knytter enheter til prosjekt og hindrer gjenbruk Ulempe: Dokumenter av samme type blir spredd

Konfigurasjonshierarki

Konfigurasjonsdatabase Hjelpemiddel ved konsekvensanalyse Bør kunne svare på: Hvilke kunder har kjøpt versjon 3.11 b2 Hva kreves av maskinvare og operativsystem for å kjøre versjon 3.11 b2 Hvor mange versjoner er laget og når Hvilke versjoner vil endres ved endring i en bestemt komponent Hvor mange endringsønsker ligger i kø for versjon 3.11 b2 Hvor mange rapporterte feil finnes det i versjon 3.11 b2 Hva ble endret for å rette feilen som blokkerte rente-feltet Konfigurasjonsdatabasen bør være integrert med systemet for versjonsadministrasjon System for versjonsadministrasjon kan referere til filer inneholder filer

Endringsadministrasjon Endringer er uunngåelige Endringsadministrasjonsprosess Fastlagt og støttet av CASE Sikrer registrering, gjennomføring og testing Sikrer lønnsomhetsvurdering

Prosedyre for endringsadministrasjon

Prosedyre for administrasjon av endringer Change Request Form Hvem ønsker å endre hva Validering (NB! Tilbakemelding ved avslag) Konsekvensanalyse Hvordan kan det gjennomføres Hva koster det Beslutning CRF bør registreres i konfigurasjonsdatabasen CRF vurderes av endringskontrollorganet CCB (Change Control Board) Mindre formell prosess ved inkrementell utvikling Normalt sendes endringsønsker direkte til modulutvikler Modulutvikler avgjør selv, men må begrunne avslag Hvis endringen involverer flere, gjøres en formell beslutning

Change request form

Endringshistorie (Derivation history) Bør beskrive hva som ble endret av hvem, når og hvorfor Kan lages som kommentar i starten av hver komponent Bør referere til CRF (Endringsanmodning) Endringsrapporteringsverktøy

Informasjon i starten av en komponent

Versjon og utgaveadministrasjon Framgangsmåte for å identifisere og holde styr på versjoner og utgaver (releaser) Versjonsadministratorer planlegger hvordan versjoner kan hentes fram og hindrer endring av feil versjon Nye versjoner skal framstilles av CM-teamet Versjon En utgave av systemet som skiller seg fra andre utgaver Variant Hvis forskjellen liten, kan det kalles en variant Utgave (Release) En versjon som leveres til kunder Versjonsadministrasjon støttes av CASE Versjon kvitteres ut for endring Leveres inn igjen og får nytt versjonsnummer.

Versjonsidentifikasjon Mange komponenter i mange versjoner Tre teknikker for komponentidentifikasjon Versjonsnummerering Attributtbasert identifikasjon Endrings-orientert identifisering

Versjonsnummerering Navn + Versjonsnummer ReleaseNr.VersjonsNr Word 9.0 ReleaseNr.VersjonsNr Forutsetter lineær prosess Prosessen kan være ulineær Må holde styr på Forskjell mellom versjoner Sammenheng versjon og CRF Sammenheng mellom systemversjon og komponentversjon

Version derivation structure

Attributtbasert identifikasjon Inneholder mer informasjon enn versjonsnummerering Kunde Programmeringsspråk Utviklingsstatus Plattform Dato Lettere å finne ønsket versjon Database for å holde greie på sammenhengen mellom attributter og fil.

Endringsorientert identifikasjon Endringsadministrasjonssystemet lagrer endringene (For hver modul som er endret) Kan lage nye versjoner ved å bruke et sett endringer Problematisk i praksis – En endring kan bygge på en annen endring, slik at du ikke kan bruke den ene uten den andre

Utgaveadministrasjon En utgave er en versjon som distribueres til kunder En utgaveadministrator har ansvar for å bestemme når en utgave er klar Administrere produksjonen av utgaven med distribusjonsmedia Dokumentere hvordan utgaven kan framstilles En utgave er mer enn eksekverbar kode Konfigurasjonsfiler Datafiler Installasjonsprogram Dokumentasjon i bok og elektronisk Pakkemateriale og tilhørende reklame Du kan ikke forutsette at forrige versjon er installert

Utgavebeslutninger En ny utgave er kostbart (særlig ved massedistribusjon) Balanse mellom hyppige utgaver med lite nytt og få utgaver med mye nytt Faktorer som innvirker: Systemets tekniske kvalitet (Feilrettingsutgave vs. Patch over www) Konkurransesituasjonen. Markedsførings – krav. Endringsforslag fra kunder.

Å lage en ny utgave Det er å lage en komplett samling av filer og dokumentasjonen Både programkode og datafiler Konfigurasjonsbeskrivelser for forskjellige miljø Elektroniske kopier av dokumentasjonen Skript for installasjonsprogrammet Når alt er klart – lage master-disk CD-Rom 640MByte Distribusjon over Internett.

Utgavedokumentasjon Dokumenterer hvordan utgaven kan lages Spesielt viktig for systemer med lang levetid Registrere Versjon av kildekodekomponentene Versjon av operativsystem, biblioteker, kompilatorer Ta vare på kopier av kildekode og eksekverbar kode, med alle tilhørende filer

Systembygging Innebærer kompilering og lenking Dette må du sikre deg: At alle komponenter er med i byggeinstruksjonen At riktig versjon av hver komponent blir brukt At alle nødvendige datafiler er til stede Blir datafilene tilgjengelige med samme navn/plassering på systemet du bygger for Er korrekt versjon av kompilator og andre verktøy til stede? CM-verktøy sikrer korrekt skript til systembyggeprosessen. Systembyggeskript styrer systembyggesystemet. Viser hvordan filer avhenger av hverandre. Rekompilering bare hvis nødvendig Hva med flere versjoner av kildefiler?

Systembygging

Konfigurasjonsadministrasjon og CASE Store datamengder og store krav En feil er nok til at det ikke virker Mange CASE-verktøy i bruk 1. Generasjon: Revisjonskontroll og Make 2. Generasjon delvis integrert CM 3. Generasjon full integrert CM Planlegging Endringsadministrasjon Versjonsadministrasjon Systembygging 3. Generasjonsverktøy er komplekst og dyrt

Støtte for endringsadministrasjon Skjemaeditor Arbeidsfordelingssystem Sender skjema til riktig person E-postbasert informasjon om saksframgang Endringsdatabase Kan kobles til versjonsadministrasjon

Støtte for versjonsadministrasjon Store informasjonsmengder Systemendringer må registreres og kontrolleres Repository for SCI En SCI kan ikke endres En SCI kan sjekkes ut, endres og lagres som SCI med nytt versjonsnummer. Andre egenskaper Versjonsidentifikasjon Lagringsadministrasjon (Deltalagring) Endringshistorie Uavhengig utvikling

Støtte for systembygging Kompilering og lenking av større systemer involverer hundrevis av filer og kan ta mange timer En feil er nok til å vrake prosessen Systembyggingsverktøy automatiserer prosessen Stand-alone make eller integrert med CASE Består av Avhengighetsspesifikasjonsspråk og interpreter Verktøyvalgsstøtte Distribuert kompilering Håndtering av deriverte objekter

Komponenter som avhenger av hverandre

Hovedpunkter Konfigurasjonsadministrasjon er administrasjon av systemendringer I store prosjekter bør vi lage en plan for å sette navn på dokumenter CM-teamet bør støtte seg på en konfigurasjonsdatabase over systemendringer og endringsønsker Planlegg en versjonsidentifiseringsmetode bygd på versjonsnummer, attributter eller endringer de implementerer

Hovedpunkter En utgave inneholder eksekverbar kode, datafiler, konfigurasjonsfiler og dokumentasjon. Utgaveadministrasjon innebærer å beslutte når og å lage i stand og dokumentere en utgave. Systembygging er å sette sammen komponentene til et eksekverbart program Det finnes CASE-verktøy som støtter CM. CASE-verktøy kan være stand-alone eller integrerte.