U ovoj lekciji obrađivaćemo:

    • Planiranje upravljanja softverskom konfiguracijom (eng. Software Configuration Management Plan - SCMP)
    • Nadgledanje SCM procesa
    • Merenja SCM procesa
    • Identifikacija softverske konfiguracije
    • Komponente softverske konfiguracije
    • Softverska biblioteka

 

Termini i skraćenice u ovoj lekciji:

    • SCI: Software Configuration Item
    • SCM: Software Configuration Management
    • SCMP: Software Configuration Management Plan
    • SQA: Software Quality Assurance

 

SCM plan

Rezultati SCM planiranja za dati projekat čuvaju se u Software Configuration Management Plan (SCMP), aktivnom dokumentu koji služi kao referenca u SCM procesu. Plan se održava, unapređuje i odobrava po potrebi tokom životnog ciklusa softvera. U implementaciji SCMP-a uobičajeno je neophodno razviti određen broj detaljnih procedura, definišući tako kako će specifični zahtevi biti izvedeni tokom aktivnosti iz dana u dan.

Uputstvo za kreiranje i održavanje SCMP-a, zasnovano na informacijama nastalih iz aktivnosti planiranja, je dostupno iz IEEE standarda [1]. Ova referenca pruža zahteve za informacijama neophodnih da se sadrže u SCMP-u.

Uobičajeno se definiše 6 kategorija SCM informacija koje se uključuju u SCMP:

    • Uvod (namena, opseg, korišćeni termini)
    • SCM menadžment (organizacija, odgovornosti, nadležnosti, primenjene polise, direktive i procedure)
    • SCM aktivnosti (identifikacija konfiguracije, kontrola konfiguracije, i dr.)
    • SCM rasporedi (koordinacija sa ostalim projektnim aktivnostima)
    • SCM izvori (alati, fizički resursi, ljudski resursi)
    • SCMP održavanje

 

Nadgledanje SCM

Nakon što se SCM proces primeni, određen stepen nadgledanja mora da se obezbedi radi sigurnosti da će odredbe SCMP-a da se pravilno izvedu [2]. Najverovatnije postoje specifični zahtevi za obezbeđenje kvaliteta (SQA) radi osiguranja usaglašavanja sa specifičnim SCM procesima i procedurama.

To može da uključuje i SCM nadležnosti, kako bi se osiguralo da oni sa dodeljenom odgovornošću obavljaju definisane SCM zadatke ispravno. Korišćenje integrisanih SCM alata sa mogučnošću kontrole procesa može da učini nadgledanja zadataka jednostavnijim.

SCM merenje

SCM merenja mogu biti dizajnirana radi obezbeđenja specifičnih informacija o proizvodu ili pružanja pogleda na unutrašnjost funkcionisanja SCM procesa. Cilj monitoringa SCM procesa je otkrivanje mogućnosti za unapređenja procesa. Merenja SCM procesa pružaju dobar način za praćenje efikasnosti SCM tekućih aktivnosti. Ova merenja su korisna u karakterizaciji tekućeg stanja procesa, kao i u pružanju osnove za pravljenje poređenja tokom vremena. Analiza merenja može dovesti do shvatanja koja će voditi do promena u procesu i odgovarajućeg ažuriranja SCMP-a.

Softverske biblioteke i različite mogućnosti SCM alatki pružaju izvor za izvođenje informacija o karaketeristikama SCM procesa. Npr. informacija o vremenu potrebnom radi ostvarivanja različitih tipova promena mogu biti korisne u evaluaciji kriterijuma za određivanje koji nivo autoriteta je optimalan radi autorizacije određenih tipova promena.

Važno je obratiti pažnju na praćenje rezultata i saznanja dobijenih iz merenja, a ne na sama merenja.

Identifikacija softverske konfiguracije

Identifikacija softverske konfiguracije identifikuje komponente koje će se kontrolisati, ustanovljava identifikacione šeme za komponente i njihove verzije i uspostavlja alate i tehnike za upravljanje komponentama. Ove aktivnosti pružaju osnovu za ostale SCM aktivnosti.

Prvi korak u kontrolisanju promena je identifikacija softverskih komponenti koje će se kontrolisati. To podrazumeva razumevanje softverske konfiguracije unutar konteksta sistemske konfiguracije, selekciju softverskih konfiguracionih komponenti, razvoj strategije za označavanje softverskih komponenti i opisivanje njihovih uzajamnih veza.

Softverska konfiguracija je skup funkcionalnih i fizičkih karakteristika softvera, kao što je dato u softverskoj konfiguraciji ili ostvareno u proizvodu. Može se posmatrati kao deo ukupne sistemske konfiguracije.

Komponente softverske konfiguracije [3]

Komponente softverske konfiguracije (eng. Software Configuration Item - SCI) je deo softvera namenjenog za konfiguracioni menadžment i tretiran je kao samostalan entitet u SCM procesu. Različite komponente, kao dodatak koda u celini su tipično kontrolisane za SCM.

Softverske komponente sa potencijalom da postanu SCI uključuju planove, specifikacije i dizajn dokumentaciju, materijal za testiranje, softverske alate, izvršni i izvorni kod, podatke i rečnike podataka, te dokumentaciju za instalaciju, održavanje, upotrebu i korišćenje softvera.

Izbor SCI je važan proces u kojem se mora uspostaviti ravnoteža između adekvatne vidljivosti za poslove kontrole projekta i obezbeđenja podesnog broja kontrolisanih komponenti. Lista kriterijuma za izbor SCI je data u radovima Berlacka [5].

Softverske verzije

Softverske komponente se razvijaju kako softverski projekat napreduje. Verzija softverske komponente je posebno identifikovana i specifikovana komponenta. Može se posmatrati kao stanje komponente tokom evolucije [3]. Revizija je nova verzija komponente koja je namenjena da zameni staru verziju. Varijacija je nova verzija komponente koja će biti dodata konfiguraciji bez zamene stare verzije.

Softverska osnova

Softverska osnova je skup softerskih konfiguracionih komponenti formalno imenovanih i fiksiranih u određeno vreme, tokom životnog ciklusa softvera. Termin se takođe koristi da referiše posebnu verziju softverske konfiguracije oko koje je postignut dogovor. U svakom slučaju, ova osnova može biti promenjena samo kroz formalnu proceduru kontrole promena. Ova osnova, zajedno sa svim odobrenim promenama na osnovi, predstavlja tekuću odobrenu konfiguraciju.

Softverska biblioteka

Softverska biblioteka je kontrolisana kolekcija softvera i pratećih dokumenata urađena za pomoć i podršku u razvoju softvera, korišćenju i održavanju. To je takođe instrument za upravljanje puštanja softvera u rad i aktivnosti isporuke. Nekoliko vrsta biblioteke mogu se koristiti, a svaka odgovara određenom nivou razvoja softverske komponente.

Na primer, radna biblioteka može podržati kodiranje, projektna  biblioteka može da podrži testiranje, a glavna biblioteka bi se mogla koristiti za kompletiran proizvod. Odgovarajući nivo SCM kontrole (osnovni i nivo ovlašćenja za promenu) je pridružen za svaku biblioteku. Sigurnost, u smislu kontrolu pristupa i pravljanje rezervne kopije, je ključni aspekt upravljanja bibliotekom. Model softverske biblioteke je opisan u radovima Berlack-a [4].

Alati za svaku biblioteku moraju da podrže i SCM kontrolu potrebnu za tu biblioteku, kako u smislu kontrole SCIs i tako kontrole pristupa biblioteci. Na nivou radne biblioteke, to je sposobnost upravljanja kodom koji koristi programerima, održavaocima i SCM. Ona je fokusirana na upravljanje verzijama softverskih komponenti pružajući podršku altivnostima više programera. Na višim nivoima upravljanja, pristup je više ograničen, a SCM je primarni korisnik.

Ove biblioteke su takođe i važan izvor informacija za merenje rada i napredovanja.

Reference:

    1. IEEE Std 828-1998, IEEE Standard for Software Configuration Management Plans, IEEE, 1998.
    2. F.J. Buckley, Implementing Configuration Management: Hardware, Software, and Firmware, second ed., IEEE Computer Society Press, 1996.
    3. R. Conradi and B. Westfechtel, Version Models for Software Configuration Management, ACM Computing Surveys, vol. 30, June 1998.
    4. H.R. Berlack, Software Configuration Management, John Wiley & Sons, 1992.
Dodaj komentar Sviđa mi se - (0) Ne sviđa mi se - (0)    

  • SCM plan i identifikacija softverske konfiguracije 1
  • SCM plan i identifikacija softverske konfiguracije 2
  • SCM plan i identifikacija softverske konfiguracije 3