Autor: ukasz Olek - Studia .In¼ynieria oprogramowania Zarz…dzanie konfiguracj… oprogramowania

  • View
    216

  • Download
    0

Embed Size (px)

Text of Autor: ukasz Olek - Studia .In¼ynieria oprogramowania Zarz…dzanie konfiguracj…...

1

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania

Autor: ukasz Olek

Witam Pastwa serdecznie na wykadzie powiconym zarzdzaniukonfiguracj oprogramowania.

2

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (2)

Plan wykadw

Zasady skutecznego dziaaniaSpecyfikacja wymagaKontrola jakoci artefaktwJzyk UML, cz. IJzyk UML, cz. IIMetody formalneWzorce projektoweZarzdzanie konfiguracjWprowadzenie do testowaniaAutomatyzacja wykonywania testwProgramowanie EkstremalneEwolucja oprogramowania i refaktoryzacja

Jest to smy wykad z cyklu.Dowiedzielimy si ju o takich zagadnieniach jak przygotowywaniespecyfikacji wymaga, projektowaniu w jzyku UML, poznalimy wzorceprojektowe Obecny wykad pomoe zrozumie metody zapanowania nadtymi wszystkimi artefaktami i ich zmianami, jakie maj miejsce w projektachinformatycznych.

Zarzdzanie konfiguracj oprogramowania to zestaw czynnocipozwalajcych kontrolowa zmiany. Robione to jest poprzez identyfikacjelementw, ktre mog si zmienia, ustalenie relacji pomidzy nimi,okrelenie mechanizmw zarzdzania wersjami.

Dla osb, ktre do tej pory pracoway jedynie w pojedynk, takie rzeczy mogsi wydawa abstrakcyjne. Dlatego aby wytumaczy ide zarzdzaniakonfiguracj oraz pokaza szereg problemw, jakie pojawiaj si w przypadkupracy wielu osb, nad wieloma programami, dla wielu klientw

3

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (3)

Wprowadzenie - problemy

Rnorodno artefaktw specyfikacja wymaga kod rdowy testy jednostkowe prototyp projekt

Pierwszy problem to rnorodno artefaktw, nad ktrymi trzebazapanowa podczas trwania projektw informatycznych. S to rnegorodzaju dokumenty, specyfikacja wymaga, prototyp, pomiary, projektarchitektury (np. UML), a wreszcie kod i przypadki testowe. Kady z tychartefaktw jest innego typu: np. kod i skrypty testowe s zapisane w plikachtekstowych, dokumenty bd pamitane jako pliki binarne. Prototyp moe byzrobiony w formie prezentacji PowerPointa, itp.

4

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (4)

Wprowadzenie - problemy

Rwnolega, wsplna praca nadfragmentami kodu

Zamy, e nad pewnymi artefaktami (np. modu kodu) pracuje wiele osbjednoczenie.Na diagramie mamy przykad, w ktrym nad programem (pakiet OpenOffice)pracuj 3 osoby. Kada z nich rozwija samodzielnie swj modu, lecz pewneelementy s wsplne (modu ten zosta nazwany OpenOffice Core). Podczaspracy nad poszczeglnymi moduami czsto zachodzi potrzeba zmianymoduu Core. Wtedy dochodzi do jednoczesnej pracy kilku osb nad tymsamym artefaktem.Tak wic drugim problemem jest rwnolega praca wielu osb - systemzarzdzania konfiguracj musi wiedzie, w jaki sposb pobra zmiany odposzczeglnych programistw, nastpnie je scali w jedno, a spjn wersjrozpropagowa dalej do pozostaych osb.

5

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (5)

Wprowadzenie - problemy

Wiele wersji artefaktw: identyfikacja, przechowywanie

Kady artefakt moe ulega ewolucji. Np. specyfikacja wymaga, lub projektarchitektury zmienia si w zalenoci od aktualnej wiedzy analityka lubarchitekta.Aby komunikacja w zespole i pomidzy zespoem a klientem przebiegaabezproblemowo, musimy mie moliwo:-identyfikacji wersji artefaktw - musimy wiedzie, e konkretnego dnia klientdosta specyfikacj wymaga w okrelonej wersji. Jeeli w przyszoci pojawisi jakie pytania/wtpliwoci bdzie moliwo sprawdzenia, jak wygldaatamta wersja-pokazywania zmian pomidzy wersjami artefaktw - przykadowo jeeli poprzegldzie specyfikacji wymaga w wersji 1.0 poprawimy wszystkiezauwaone bdy i damy klientowi wersj 2.0 do przegldu, to chcemyzaoszczdzi klientowi czasu i zaznaczy tylko te fragmenty, ktre sizmieniy.Warto zauway, e zmiany wersji poszczeglnych artefaktw nie ssynchroniczne, czyli np. specyfikacja wymaga moe powsta w wersji 2.0pewnego dnia, natomiast projekt architektury w wersji 2.0 powstanie dopierotydzie pniej.

6

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (6)

Wprowadzenie - problemy

Wersje artefaktw, a wersje produktu

Podobnie zmieniaj si wersje rnych moduw oprogramowania (czy teplikw rdowych).Firma programistyczna musi wiedzie, co znajduje si w okrelonej wersjiproduktu.Jest to konieczne w momencie kiedy zadzwoni do nas klient z problemem. Wtej sytuacji musimy potrafi jednoznacznie powiedzie, ktre wersje plikwrdowych wchodz w skad jego produktu. Jeeli tego nie wiemy, to w jakiejwersji kodu zaczniemy szuka bdu zgoszonego przez niego?

Czyli wymagamy od systemu zarzdzania konfiguracj, aby zapamita, eprzykadowo OpenOffice w wersji 1.0 skada si z moduw: Spell Checker1.1, Printing 1.2 oraz Document Layout 1.1.

7

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (7)

Wprowadzenie - problemy

Analizowanie historii: Kto? Kiedy? Jaka zmiana?

Aby zapanowa nad duym zespoem programistycznym, musimy miemoliwo ledzenia wszystkich zmian w artefaktach projektu, czyli musimyposiada informacj kto, kiedy i jak zmian wprowadzi.Jest to potrzebne w wielu sytuacjach:-ukarania pracownika lub testera za jego bdy-sprawdzenia - ktra osoba odpowiada za dany fragment kodu - aby zgosisi do niego z uwagami lub pytaniami-analizowania produktywnoci w oparciu o liczb linii kodu napisanych przezkonkretnego programist (nie jest to najlepsza miara produktywnoci)

8

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (8)

Wprowadzenie - problemy

Praca nad nowwersj systemu ipoprawianiebdw w starej

Problem pojawia si rwnie w momencie kiedy jedn wersj systemu (np.OpenOffice 1.0) udostpnimy uytkownikom i zaczniemy pracowa nad nowwersj (czyli zaczniemy dodawa now funkcjonalno, ktra na pocztku niebdzie jeszcze stabilna). Co w momencie kiedy uytkownicy zauwa bdy?Powinnimy je jak najszybciej poprawi i udostpni nowe wydanie wersjiOpenOffice 1.0 (moe ona by oznaczona np. 1.0.1), lecz nie chcemy wczatam nowych funkcji, ktre s przeznaczane dla wersji 2.0 i nie s jeszczestabilne.Czyli system zarzdzania konfiguracj musi dawa moliwo rwnolegejpracy nad rnymi wersjami produktu - chcemy mie moliwo pracy nadnow wersj, ale rwnie moliwo poprawienia drobnego bdu w starejwersji.

9

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (9)

Wprowadzenie

Narzdzia wspomagajce zarzdzaniekonfiguracj oprogramowania: CVS, Subversion, SourceSafe

Procedury: kodowania wydawania nowej wersji poprawiania defektw czenia rnych zmian

Jest wiele narzdzi, ktre wspomagaj zarzdzanie konfiguracjoprogramowania, darmowe np. CVS, Subversion, czy komercyjne np.Microsoft SourceSafe.Kade z tych narzdzi dziaa na podobnej zasadzie - za pomocodpowiednich komend umoliwiaj wprowadzanie zmian do centralnegorepozytorium, pamitaj zmiany artefaktw, umoliwiaj synchronizowaniewersji rnych osb, oraz tworzenie rozgazie i czenie gazi.Samo narzdzie jednak nie wystarcza. W kadej firmie potrzebny jest zestawprocedur, ktre instruuj w jaki sposb korzysta z tego narzdzia, czyli w jakisposb naley wprowadza zmiany w kodzie, wydawa now wersj,poprawia defekty w udostpnionych wersjach, czy te czy zmiany zrnych wersji.

10

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (10)

Plan wykadu

Wprowadzenie Operacje systemu CVS:

pobieranie artefaktw wysyanie zmian aktualizacja nadawanie etykiet rozgazianie/czenie gazi

Struktura plikw projektu Wzorce zarzdzania

konfiguracj

Po tym krtkim wprowadzeniu zostanie przedstawiony najpopularniejszysystem zarzdzania konfiguracj oprogramowania: CVS. Po kolei zostanomwione podstawowe operacje na repozytorium. Nastpnie zostanieprzedstawiona przykadowa struktura plikw projektu, pozwalajca uniknbaaganu (przydatne zwaszcza pocztkujcym osobom przystpujcym dopracy grupowej).Samo przedstawienie operacji to jeszcze za mao - uytkownik musi wiedzie,w jaki sposb wykorzysta te operacje do osignicia zamierzonych celw.Dlatego na kocu zostan przedstawione wybrane wzorce zarzdzaniakonfiguracj.

11

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (11)

System CVS

Centralnyserwer

Pracownicykomunikujsi za jegoporednictwem

CVS dziaa w architekturze klient-serwer. Centralne repozytorium projektuznajduje si na serwerze, a wszyscy czonkowie zespou rozprowadzaj swojezmiany jedynie poprzez repozytorium. Nie ma zatem potrzeby przenoszeniaartefaktw pomidzy osobami w postaci dyskietek, pyt, emaili, itp.

12

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (12)

Lokalna przestrze robocza

Lokalna(prywatna)kopiawybranychelementwrepozytorium

Zmianywprowadzane lokalnie- synchronizowane na danie

Kady uytkownik repozytorium posiada na swoim komputerze prywatn kopielementw z repozytorium, na ktrych pracuje. Kopia taka nazywana jestlokaln przestrzeni robocz i stanowi zbir plikw i folderw pobranych zrepozytorium.Wszelkie prace odbywaj si najpierw lokalnie i s wysyane na danie dorepozytorium. Dopiero w momencie, kiedy zmiany si tam znajd s onewidoczne dla pozostaych osb.

13

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (13)

Plan wykadu

Wprowadzenie Operacje systemu CVS:

pobieranie artefaktw wysyanie zmian aktualizacja nadawanie etykiet rozgazianie/czenie gazi

Struktura plikw projektu Wzorce zarzdzania

konfiguracj

Zacznijmy od poznania sposobu pracy z repozytorium CVS, czyliposzczeglnych komend, jakie moemy wykona.Pierwsza czynno programisty, to pobieranie artefaktw.

14

Inynieria oprogramowania

Zarzdzanie konfiguracj oprogramowania (14)

P