Zarządzanie konfiguracją
Zarządzanie konfiguracją |
---|
Polecane artykuły |
Zarządzanie konfiguracją (ang. Configuration Management – CM) – jest to dziedzina związana z zarządzaniem rozwojem danego systemu. Opiera się na identyfikacji, kontroli i raportowaniu produktów (w tym produktów cząstkowych lub innych sub-produktów) w trakcie funkcjonowania tego systemu (A.M.J. Haas 2002, s. 34). Współcześnie pojęcie to jest szczególnie często odnoszone do rozwoju i inżynierii oprogramowania.
Wybrane definicje zarządzania konfiguracją, zaczerpnięte z literatury przedmiotu
- "Zarządzanie konfiguracją (CM) zapewnia jednoznaczność w przebiegu i dokumentowaniu jakości badań, szczególnie we wprowadzaniu zmian, a przede wszystkim ich planowaniu oraz dokumentowaniu, które są kluczowym potwierdzeniem realizacji badań. Dodatkowym elementem w CM badań są audity konfiguracji (funkcjonalnej i/lub fizycznej) mające na celu potwierdzenie zgodności wyników wykonanych badań z określonymi właściwościami funkcjonalnymi i fizycznymi’’ (W. Pokora, W. Kosiński 2011, s. 2).
- "Zarządzanie konfiguracją jest procesem zarządzania, który ma zapewnić i utrzymać zgodność funkcjonalnych i fizycznych elementów produktu z jego wymaganiami, projektem i informacjami operacyjnymi. Ma ono miejsce w czasie istnienia Projektu” (G. Wójcik, Z. Szyjewski 2006, s. 152).
- "Zarządzanie konfiguracją dotyczy procedur, których celem jest zapewnienie, że elementy wchodzące w skład systemu są znane oraz że zmiany są dokonywane przez osoby uprawnione. Zarządzanie konfiguracją jest zarówno zarządzaniem, jak i dyscypliną techniczną, która obejmuje niemal wszystkie osoby w Projekcie, albo w sposób aktywny, jako wykonawców czynności związanych z zarządzaniem konfiguracją, albo pasywnie, jako otrzymujących informacje związane z zarządzaniem konfiguracją” (G. Wójcik, Z. Szyjewski 2006, s. 152).
W kontekście rozwoju oprogramowania, posłużyć się można poniższym ujęciem:
- "Zarządzanie konfiguracją oprogramowania (Software configuration management – SCM) jest kontrolą ewolucji złożonych systemów” (J. Estublier 2000, s. 1)
Aspekty Operacyjne związane z Zarządzaniem Konfiguracją
Podstawowe cztery aspekty zawierają się w następujących pojęciach:
- Identyfikacja (Identification) – jej schemat odzwierciedla konstrukcję, czy też strukturę danego produktu, rozpoznaje składowe oraz ich rodzaje, czyniąc je unikalnymi i odpowiednio dostępnymi.
- Kontrola (Control) – umożliwia nadzór nad wydaniem produktu oraz nad jego zmianami w całym cyklu jego życia. Kontrola zapewnia wewnętrzną spójność produktu.
- Księgowanie Statusu (Status Accounting) – polega na zapisie statusu składowych (komponentów) oraz żądań zmian (Change Requests – CHG) oraz zbieraniu istotnych danych statystycznych wspomnianych składowych produktu.
- Audyt i przegląd (Audit and review) – związane są z weryfikowaniem kompletności produktu oraz podtrzymywaniem spójności składowych poprzez zapewnienie, iż produkt jest dobrze zdefiniowanym zbiorem owych składowych.
(S. Dart 1991, s. 1)
W powyższym kontekście pojawiają się pewne kluczowe pojęcia wymienione poniżej:
- Configuration item (element/objekt konfiguracyjny) – jest to jednostka transferu pomiędzy kontraktami (tłumaczonymi jako opis oczekiwanych produktów, a wprowadzanymi jako bazy danych). Nadaje się mu status "zamrożonego” podczas transferu (S. Dart 1991, s. 16).
- Baseline (Podstawa) – postać produktu, jaka jest mu nadawana w momencie, w którym kontynuowany jest jego rozwój, oraz w którym pojawia równolegly rozwój wariantów tego produktu (S. Dart 1991, s. 2).
- Release (Wydanie) – funkcjonalny wariant produktu klasyfikowany w postaci wersji, osiągalny dzięki stosowaniu idei tzw. stopni zaawansowania (promotion levels) tj. kolejnych poziomów, przez które przechodzi produkt (S. Dart 1991, s. 16).
- Version (Wersja) – określony wariant produktu, oznaczony zgodnie z ustaloną konwencją w zależności od stopnia jego zaawansowania. Często posiada charakterystyczny zapis liczbowy, w którym cyfry przed kropka (lub przecinkiem) oznaczają "pokolenie”, a cyfry po kropce wskazują kolejne jego warianty, np. v 0.11 (testowa – beta), v. 1.1, v. 1.21 itp.
Większość systemów zarządzania konfiguracją zawiera w różnym stopniu odpowiednie funkcjonalności w celu zgodności w wyżej wymienionymi aspektami. Owe różne stopnie wynikają z niemałego zróżnicowania pomiędzy typami organizacji, produktów, środowisk, w których działają itp. W celu uchwycenia wspomnianych funkcjonalności, definicję CM rozszerzyć można o trzy dodatkowe aspekty:
- Wytwarzanie (Manufacture) – zarządzanie budową i szeroko pojętym tworzeniem produktu w sposób optymalny.
- Zarządzanie Procesem/Procesami (Process management) – polega na zapewnieniu zgodności z obowiązującymi w organizacji procedurami, wytycznymi i modelami cyklu życia.
- Praca Zespołowa (Team Work) – opiera się na kontroli pracy i interakcji pomiędzy wieloma użytkownikami produktu.
(S. Dart 1991, s. 2)
Pojęcie Systemu Zarządzania Konfiguracją
Odpowiednie ujęcie powyższego terminu w celu stworzenia spójnej i uniwersalnej definicji wymaga zrozumienia zasad i celu działania tego rodzaju struktury. W próbach tego rodzaju konieczne jest zdefiniowanie systemu jako takiego. Można powiedzieć, iż jest to zbiór uporządkowanych i logicznie ustrukturyzowanych elementów tworzących spójną całość. Może być także metodą lub metodologią odnoszącą się do organizacji/organizowania tychże elementów. W kontekście zarządzania konfiguracją należy brać pod uwagę takie czynniki, jak np. kontrola wersji (version control), identyfikacja konfiguracji (configuration identification), struktura/strukturyzowanie systemu (system structuring), czy modelowanie tego systemu (system modelling’’). Wobec powyższego, zaproponować można następujące ujęcie Systemu Zarządzania Konfiguracją: środowisko, w którym wsparcie zarządzania konfiguracją jest integralną częścią tego środowiska, jednocześnie będąc sprzedawaniem w postaci paczki, czy też pakietu (S. Dart 1991, s. 2).
Bibliografia
- Dart S. (1991) Concepts in Configurationa Management Systems, Software Engineering Institute, Carnegie-Mellon University, Pittsburg, PA
- Estublier J. (2000) Software Configuration Management, A Road Map, DassaultSystemes / LSR, Grenoble University, Actimart
- Hass A.M.J. (2002) Configuration Management Principles and Practice, Addison-Wesley Professional, Boston, MA
- Pokora W., Kosiński W. (2011) Model Procesowy Zarządzania Konfiguracją Badań Statków Powietrznych, Logistyka 4/2011, s. 754-761, Wojskowa Akademia Techniczna, Wydział Mechaniczny, Zakład Systemów Jakości i Zarządzania, Warszawa
- Wójcik G., Szyjewski Z. (2006) Przekształcanie wiedzy ukrytej w wiedzę jawną, Studia i Materiały, nr 5, Polskie Stowarzyszenie Zarządzania Wiedzą, Bydgoszcz
Autor: Michał Gędziorowski