No cóż, temat się w roz­mo­wach powta­rza, jest nie łatwy więc kil­ka słów. Pomijając narzę­dzie, któ­rym się tu posłu­żę, cho­dzi o pryn­cy­pia” :): bez­pie­czeń­stwo pro­jek­tu oraz zarzą­dza­niem wer­sja­mi, zmia­ną, w tym wymaganiami.

Zarządzanie zmia­ną

Po pierw­sze wyda­je mi się, że chy­ba naj­lep­szym spo­so­bem na zarzą­dza­nie wer­sja­mi, zmia­na­mi, śle­dze­niem pro­jek­tu itp. są wypra­co­wa­ne mecha­ni­zmy zna­ne każ­de­mu kto korzysta(ł) z takich narzę­dzi do zarzą­dza­nia pro­jek­ta­mi jak SVN ([[Subversion]]) czy [[CVS]]. Chodzi o coś co się nazy­wa: znacz­ni­ki, gałę­zie, wersje.

Projekt ma tak zwa­ną linie głów­ną (base­li­ne, trunk). Jednak w trak­cie prac nad pro­jek­tem war­to cza­sem stwo­rzyć odno­gę” pro­jek­tu. Pozwala to po pierw­sze wydzie­lić pod­pro­jekt” (gałąź) dla zespo­łu by pano­wać nad zmia­na­mi w taki spo­sób, by jeden zespół na eta­pie pro­jek­to­wa­nia nie zakłó­cał pra­cy dru­gie­go. W dowol­nym momen­cie moż­na porów­nać oba pro­jek­ty i nawet je scalić.

W efek­cie mamy moż­li­wość roz­dzie­le­nia pra­cy dwóch (lub wię­cej) zespo­łów nad jed­nym pro­jek­tem. Po dru­gie nawet, jeże­li ana­li­tyk sam pra­cu­je nad pro­jek­tem, ma moż­li­wość testo­wa­nia swo­ich pomy­słów bez psu­cia” zasad­ni­cze­go pro­jek­tu. Po takich pra­cach moż­na pro­jekt zosta­wić i sca­lić to co wyszło najlepiej.

Jak widać jeden pro­jekt może mieć tak­że znacz­ni­ki (tagi). Załóżmy, że pra­cu­je­my na pro­jek­tem, mają­cym eta­py roz­wo­ju. Wtedy np. odda­je­my doku­men­ta­cję w wer­sji np. 1.0 i pra­cu­je­my dalej. Aby póź­niej moż­li­we było porów­na­nie wer­sji obec­nej z wer­sją wypusz­czo­ną” wcze­śniej, wystar­czy odwo­łać się do ozna­czo­nej takim znacz­ni­kiem wer­sji (zwa­nej w slan­gu Rewizją ;)) i prze­śle­dzić róż­ni­ce jak poniżej:

Na bie­żą­co, może­my śle­dzić kto i kie­dy co zała­do­wał na ser­wer, cof­nąć się do wcze­śniej­szej wer­sji by porów­nać efek­ty pra­cy róż­nych człon­ków zespo­łu, albo pra­cu­jąc same­mu, porów­nać pomy­sły nowe z wcze­śniej­szy­mi i wybrać najlepszy.

Kopia bez­pie­czeń­stwa

Bardzo waż­ne jest to, że nasz kom­pu­ter nie był jedy­nym miej­sce prze­cho­wy­wa­nia pro­jek­tu. Tu uwi­dacz­nia się zyska­na przy oka­zji” cecha pra­cy z ser­we­ra­mi kon­tro­li wer­sji: nie tyl­ko zarzą­dza­ją wer­sja­mi ale tak­że prze­cho­wu­ją kopie naszych pro­jek­tów. Panujemy więc nad wszyst­kim, mamy dodat­ko­wo kopię bezpieczeństwa.

Narzędzia kom­pa­ty­bil­ne z SVN pra­cu­ją w try­bie off-line client-server, wiec są bar­dzo wygod­ne bo nie obcią­ża­ją sie­ci i pozwa­la­ją pra­co­wać bez dostę­pu do niej co nie raz jest wygod­ne. Scalanie wer­sji jest bez­piecz­ne, wszel­kie kon­flik­ty wer­sji (wykry­te zmia­ny po stro­nie ser­we­ra i po naszej) są od razu moni­to­wa­ne, mamy moż­li­wość świa­do­me­go ich rozwiązywania.

Na zakoń­cze­nie

Na koniec dodam, że nie­któ­rzy dostaw­cy posze­rza­ją moż­li­wo­ści swo­ich narzę­dzi (np. moje, tu opi­sy­wa­ne) i pozwa­la­ją na wer­sjo­no­wa­nie nie tyl­ko pli­ku z pro­jek­ta­mi UML czy BPMN (że nie wspo­mnę o kodzie pro­jek­tu), ale tak­że pozwa­la­ją na sko­ja­rze­nie z pro­jek­tem fol­de­ru na dys­ku i wte­dy cała jego zawar­tość, w szcze­gól­no­ści pli­ki pdf od klien­ta, doku­men­ta­cja w pli­kach word, rtf, notat­ki itp. pod­le­ga powyż­szym mecha­ni­zmom zarzą­dza­nia (wer­sjo­no­wa­nie i kopia bezpieczeństwa).

Czemu o tym pisze? Bo mnie pyta­ją klien­ci i nie tyl­ko :). Czy to waż­ne? Tak! Tak pro­wa­dzo­ny pro­jekt jest bar­dzo bez­piecz­ny, szcze­gól­nie gdy ser­wer pro­jek­tu jest hosto­wa­ny w bar­dzo dobrze admi­ni­stro­wa­nej, bez­piecz­nej ser­we­row­ni a pli­ki są szy­fro­wa­ne pod­czas trans­fe­ru. Efektywność pra­cy w takim try­bie jest tak­że dużo większa.

Tak więc gorą­co pole­cam pra­cę z SVN (i inny­mi podob­ny­mi) i narzę­dzia CASE kom­pa­ty­bil­ne z nim. Zainteresowanych powy­żej opi­sa­nym narzę­dziem TWS zapra­szam tu: http://​www​.visu​al​-para​digm​.com/​p​r​o​d​u​c​t​/​v​p​t​s​/​p​r​o​v​i​d​e​s​/​m​a​n​a​g​e​m​e​n​t​.​jsp

Jarosław Żeliński

BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie. Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów. Masz pytania to treści artykułu? Kliknij tu i umów się na krótkie konsultacje.

Ten post ma 2 komentarzy

  1. Daniel Bachan

    Przydałoby się jakieś dobre narzę­dzie do pra­cy gru­po­wej z MS Office, dobrze porów­nu­ją­ce zawar­tość doku­men­tów, arku­szy pomię­dzy wersjami.

    Może ktoś takie zna?

    1. Jarek Żeliński

      Chyba nie ma takie­go, jeśli cho­dzi o wer­sjo­no­wa­nie tre­ści spraw­dza się http://​www​.doku​wi​ki​.org/​d​o​k​u​w​iki ale to nie MS Ofice.… zale­ży jaki jest cel do osią­gnię­cia. Ja mam prak­ty­kę, pole­ga­ją­ca na tym, że pil­nu­je sztyw­no podzia­łu na auto­ra doku­men­tu i jego recen­zen­ta: recen­zja to osob­ny doku­ment… spraw­dza się (o ile zro­zu­mia­łem problem).

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.