U ovoj lekciji obrađivaćemo:
Termini i skraćenice u oblasti SCM:
Sistem može da se definiše kao kolekcija komponenti organizovanih u cilju ispunjavanja specifičnih funkcija ili skupa funkcija. Konfiguracija sistema je funkcionalna ili fizička karaktersitika hardvera, softvera, upravljačkog softvera ili njihova kombinacija. Može se posmatrati i kao kolekcija specifičnih verzija hardvera, upravljačkog softvera, ili softverskih Item-a kombinovanih prema specifično izgrađenim procedurama radi posebnih namena. Konfiguracioni menadžment je disciplina identifikovanja konfiguracije sistema u različitim tačkama vremena u cilju sistematične kontrole promena u konfiguraciji i održavanja integriteta i praćenja konfiguracije kroz životni ciklus sistema.
CM se formalno definiše (IEEE610.12-90) kao disciplina koja primenjuje tehnička i administrativna uputstva i posmatranja na identifikovanje i dokumentovanje funkcionalnih i fizičkih kakakteristika konfiguracionih stavki, kontrole promena na ovim karakteristikama, snimanje i izveštavanje o procesima promena i implementacionom statusu i verifikovanje saglasnosti sa specifičnim zahtevima. SCM je podrška životnom procesu razvoja softvera (IEEE12207.0-96) koja koristi upravljanje projektima, razvojne i aktivnosti održavanja, aktivnosti garancije, kao i potrošače i korisnike krajnjeg proizvoda.
Koncept konfiguracionog menadžmenta se primenjuje na sve stavke radi kontrole, mada postoje izvesne razlike u implementaciji između hardver CM-a i softverCM-a. SCM je tesno povezan sa aktivnošću osiguranja kvaliteta softvera (Software Quality Assurance - SQA). SQA proces obezbeđuje osiguranje da su softverski proizvodi i procesi u projektu životnog ciklusa u skladu sa njihovim specifičnim zahtevima putem planiranja i izvođenja skupa aktivnosti radi obezbeđenja adekvatne pouzdanosti da je kvalitet ugrađen u softver. SCM aktivnosti pomažu u postizanju ovih SQA ciljeva.
Prilikom izgradnje softvera neminovno se dešavaju promene. Pošto se dešavaju moraju da se kontrolišu na efikasan način. SCM je aktivnost praćenja i kontrolisanja promena u softveru. SCM je skup aktivnosti koje su dizajnirane radi kontrole promena putem identifikovanja proizvoda rada koji će se verovatno promeniti, ustanovljavanjem relacija među njima, definisanjem mehanizama za upravljanje različitim verzijama ovih proizvoda rada, kontrolisanje promena koje su nametnute, vođenje dnevnika i izveštavanje o promenama koje su napravljene.
Oblast SCM je vezana sa svim ostalim oblastima, pošto je cilj konfiguracionog menadžmenta artifakt proizveden i korišćen kroz proces softverskog inženjerstva.
U tabeli su prikazane SCM alatke:
Tabela 1. izvor: WikiPedia
SCM aktivnosti su:
Na slici je predstavljena stilizovana reprezentacija ovih aktivnosti:
Slika 1. izvor: Guide to the SWEBOK
Na sledećoj slici je prikazana detaljna šema za softverski konfiguracioni menadžmet:
Slika 2. izvor: Guide to the SWEBOK
Softverski konfiguracioni menadžment kontroliše evoluciju i integritet proizvoda putem identifikovanja njegovih elemenata, upravljanjem i kontrolisanjem promena, verifikovanjem, snimanjem i izveštavanjem o konfiguracionim informacijama. Iz perspektive softver inženjera SCM olakšava razvoj i promenu implementacionih aktivnosti. Uspešna SCM implementacija zahteva pažljivo planiranje i upravljanje. Sa druge strane, to zahteva razumevanje organizacionog konteksta, relacija između organizacionih elemenata i postavljenih ograničenja.
Organizacioni kontekst za SCM
Softver se često razvija kao deo većeg sistema obuhvatajući na taj način i hardverske i softverske elemente. SCM aktivnosti moraju biti konzistentne sa konfiguracionim menadžmentom na sistemskom nivou. Možda najveća relacija SCM postoji sa razvojem softvera i organizacijom održavanja. Najčešče, iste alatke podržavaju razvoj, održavanje i SCM namene.
Izvori i ograničenja SCM procesa
SCM proces se ne može posmatrati izolovano. Postoji više izvora za ograničenja i vođenja SCM procesa. Polise i procedure postavljene na korporativnom ili drugom organizacionom nivou mogu da utiču ili prepišu dizajn i implementaciju SCM procesa za dati projekat. Ugovor sa dobavljačem može sadržati nabavke koje utiču na SCM proces. Određena praćenja konfiguracije se mogu zahtevati ili može biti specificirano da se određeni delovi postave pod SCM. Ograničenja mogu da dolaze i od strane spoljnih regulatornih tela, kao što je slučaj kod razvoja softvera koji utiče na javnu bezbednost. Izabrani proces životnog ciklusa i alatke za implementaciju takođe utiču na dizajn i implementaciju SCM procesa.
Reference: