U ovoj lekciji obrađivaćemo:

    • Konfiguracioni menadžment (Configuration Management)
    • Oblast Softverski konfiguracioni menadžment (Software Configuration Management - SCM)
    • Podoblasti Softverskog konfiguracionog menadžmenta


Termini i skraćenice u oblasti SCM:

    • CCB: Configuration Control Board
    • CM: Configuration Management
    • FCA: Functional Configuration Audit
    • MTBF: Mean Time Between Failures
    • PCA: Physical Configuration Audit
    • SCCB: Software Configuration Control Board
    • SCI: Software Configuration Item
    • SCM: Software Configuration Management
    • SCMP: Software Configuration Management Plan
    • SCR: Software Change Request
    • SCSA: Software Configuration Status Accounting
    • SQA: Software Quality Assurance
    • SRS: Software Requirement Specification


Konfiguracioni menadžment (Configuration Management - CM)

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.

Softverski konfiguracioni menadžment (Software Configuration Management)

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:

    • Management and Planning of the SCM process
    • Software Configuration Identification
    • Software Configuration Control
    • Software Configuration Status Accounting
    • Software Configuration Auditing
    • Software Release Management and Delivery


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

Upravljanje SCM procesom

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:

    • W.A. Babich, Software Configuration Management, Coordination for Team Productivity, Addison-Wesley, 1986.
    • H.R. Berlack, Software Configuration Management, John Wiley & Sons, 1992.
    • F.J. Buckley, Implementing Configuration Management: Hardware, Software, and Firmware, second ed., IEEE Computer Society Press, 1996.
    • R. Conradi and B. Westfechtel, Version Models for Software Configuration Management, ACM Computing Surveys, vol. 30, iss. 2, June 1998.
    • S.A. Dart, Spectrum of Functionality in Configuration Management Systems, Software Engineering Institute, Carnegie Mellon University, 1990.
    • IEEE Std 828-1998, IEEE Standard for Software Configuration Management Plans, IEEE, 1998.
    • IEEE/EIA 12207.0-1996//ISO/IEC12207:1995, Industry Implementation of Int. Std. ISO/IEC 12207:95, Standard for Information Technology-Software Life Cycle Processes, IEEE, 1996.
    • A.K. Midha, Software Configuration Management for the 21st Century, Bell Labs Technical Journal, vol. 2, iss. 1, Winter 1997,
    • J.W. Moore, Software Engineering Standards: A Users Roadmap, IEEE Computer Society, 1998.
    • M.C. Paulk et al., Key Practices of the Capability Maturity Model, Version 1.1, technical report CMU/SEI-93-TR-025, Software Engineering Institute, Carnegie Mellon University, 1993.
    • R.S. Pressman, Software Engineering: A Practitioners Approach, Sixth ed, McGraw-Hill, 2004.
    • W. Royce, Software Project Management, A United Framework, Addison-Wesley, 1998.
    • I. Sommerville, Software Engineering, seventh ed., Addison-Wesley, 2005.
Dodaj komentar Sviđa mi se - (0) Ne sviđa mi se - (0)    

  • Software configuration management 1
  • Software configuration management 2
  • Software configuration management 3