Prawdę mówiąc zabra­niam” przy­no­sze­nia kom­pu­te­rów na moje szko­le­nia, wyma­gam papie­ru i ołów­ka. Powody są dwa:
  1. Narzędzia CASE poma­ga­ją tyl­ko wte­dy gdy dia­gra­mów jest wie­le i model jest zło­żo­ny, na szko­le­niach takich mode­li się nie robi.
  2. Narzędzia, w szcze­gól­no­ści nie­któ­re, pła­ta­ją figle i szko­le­nie np. z zakre­su ana­li­zy biz­ne­so­wej ewo­lu­uje w stro­nę szko­le­nia z obsłu­gi narzę­dzia.… do cze­go nie dopuszczam :).

Napisze tu kil­ka słów jed­nak o narzę­dziach, bo dobrze jest jed­nak znać dobre i złe cechy swo­je­go narzędzia.

Spotykam się nie raz z bar­dzo popu­lar­nym pakie­tem CASE (SPARX Enteprise Architect) na szko­le­niach (ma go wie­lu kur­san­tów i jest uży­wa­ny w wie­lu fir­mach) i u nie­któ­rych klien­tów. Pakiet ten jed­nak nie raz spra­wiał pew­ne kło­po­ty. Nie znam zbyt dobrze tego narzę­dzia w obec­nej wer­sji, wiem, że model prze­cho­wy­wa­ny jest w rela­cyj­nej bazie danych, ale nie­daw­no tra­fi­łem na coś, co wyja­śnia mi pew­ne przy­go­dy z pakie­tem Enterprise Architect”. Przytaczam cały aka­pit z tego opi­su, bo to w zasa­dzie jest to lista wad tego pakie­tu. Problemy z pro­jek­tem, a kon­kret­nie z jego inte­gral­no­ścią mogą poja­wić się…

…w nastę­pu­ją­cych sytuacjach:

Z mode­lu korzy­sta wie­lu użyt­kow­ni­ków, któ­rych połą­cze­nia sie­cio­we mogą być prze­ry­wa­ne. Wystarczy, że jest praw­do­po­do­bień­stwo, że ktoś bez zamy­ka­nia pro­jek­tu wypnie z sie­ci lap­top lub zosta­nie zerwa­ne połą­cze­nie VPN.

Model jest skon­fi­gu­ro­wa­ny z sys­te­mem kon­tro­li wer­sji. W takim przy­pad­ku mamy do czy­nie­nia z wie­lo­ma ope­ra­cji impor­tu pli­ków XMI. Zawartość takich pli­ków może pocho­dzić z inne­go mode­lu a połą­cze­nie takich danych może skut­ko­wać utra­tą inte­gral­no­ści na przy­kład w zakre­sie uży­tych ste­reo­ty­pów, czy rela­cji do ele­men­tów spo­za pli­ku XMI.

Model bywa aktu­ali­zo­wa­ny w opar­ciu o pli­ki XMI przy uży­ciu funk­cji Import Package from XMI lub Batch XMI Import. Sytuacja jest ana­lo­gicz­na do powyższej.

Model jest zin­te­gro­wa­ny z inny­mi aplikacjami/systemami, taki­mi jak HP Quality Center, Mantis itp.

Model jest wyko­rzy­sty­wa­ny przez jed­ne­go użyt­kow­ni­ka w posta­ci lokal­ne­go pli­ku EAP, jed­nak­że pod­czas wyko­ny­wa­nia jakiejś ope­ra­cji pro­gram EA lub sys­tem ope­ra­cyj­ny uległ awarii.

Z powyż­sze­go opi­su wyni­ka, że z funk­cji tej (kon­tro­la inte­gral­no­ści pro­jek­tu) nale­ży korzy­stać przede wszyst­kim w przy­pad­ku, gdy mamy do czy­nie­nia ze współ­dzie­lo­nym mode­lem, jak i w przy­pad­ku lokal­ne­go pro­jek­tu opra­co­wy­wa­ne­go przez jed­ną oso­bę. Może tyl­ko z tą róż­ni­cą, że praw­do­po­do­bień­stwo wystą­pie­nia nie­spój­no­ści jest wyż­sze w tym pierw­szym przypadku.

(Enterprise Architect Blog: Project Integrity Check od środ­ka).

Wszystkie powyż­sze sytu­acje to efekt tego, że EA do pra­cy w gru­pie (samo­dziel­nie tak­że) musi pra­co­wać na rela­cyj­nej bazie, na któ­rej pra­ca ta odby­wa się siła rze­czy on-line. Po dru­gie nie ma on narzę­dzia kon­tro­li spój­no­ści pro­jek­tu (danych w tej bazie) w locie” więc moż­na two­rzyć zły model” nie wie­dząc o tym…

Dlaczego o tym pisze? Używam pakie­tu Visual-Paradigm (wię­cej o nim na koń­cu). Pakiet ten nie ma żad­nej z tych wad, pra­cu­je zawsze off-line na pli­ku XML i znisz­cze­nie pro­jek­tu jest mało praw­do­po­dob­ne. Jeżeli zda­rza się utra­ta inte­gral­no­ści to raczej w sytu­acji gdy użyt­kow­nik usu­wa wybra­ne ele­men­ty mode­lu i zigno­ru­je ostrze­że­nie o powią­za­niach tych ele­men­tów z inny­mi usu­wa­ją je ręcz­nie bez wbu­do­wa­nej kon­tro­li. Pakiet VP ma moż­li­wość pra­cy z tak zwa­ną kon­tro­lą skład­ni w locie” więc w zasa­dzie nie moż­li­we jest two­rze­nie złe­go” modelu.

W przy­pad­ku pra­cy gru­po­wej (z ser­we­rem dedy­ko­wa­nym VP Teamwork Server lub Subversion, Perforce, ClearCase czy CVS.) uszko­dze­nie pro­jek­tu tak­że jest nie­mal­że nie­moż­li­we, bo tu tak­że pra­ca odby­wa się off-line, a upda­te pro­jek­tu jest nie tyl­ko trans­ak­cją, ale jak tyl­ko zosta­ną wykry­te kon­flik­ty pomię­dzy aktu­al­nym pro­jek­tem na ser­we­rze a pro­jek­tem łado­wa­nym na ser­wer (robi to ser­wer lub klient VP z dokład­no­ścią do obiek­tu na mode­lach) poka­zy­wa­na jest lista kon­flik­tów (nie­roz­strzy­gal­nych auto­ma­tycz­nie) z proś­bą o reakcję.

Tak więc jeże­li ktoś z Państwa nie doko­nał wybo­ru narzę­dzia CASE a pla­nu­je taki, war­to prze­te­sto­wać dostęp­ne na ryn­ku pro­duk­ty w warun­kach nie­co cięż­szych” niż kil­ka dia­gra­mów… Poniżej klu­czo­we korzy­ści ze sto­so­wa­nia narzę­dzi CASE:

Make a pie. Estimate the % time you are spen­ding on the­se five requ­ire­ments acti­vi­ties: plan­ning, eli­ci­ting, ana­ly­zing, docu­men­ting and revie­wing. Does it look like this?

Źródło: Business Analyst | 2 Requirements Tasks You’re Probably Spending Too Much Time On

Więcej o narzę­dziach Visual-Paradigm

Jarosław Żeliński

Jarosław Żeliński: autor, badacz i praktyk analizy systemowej organizacji: Od roku 1991 roku, nieprzerwanie, realizuje projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzi samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzi 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. Prawa autorskie: Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione bez indywidualnej zgody autora (patrz Polityki Strony).

Ten post ma 2 komentarzy

  1. Jacek Rybicki

    Nie chciał­bym spra­wiać wra­ża­nia, że tyl­ko się tu cze­piam. W więk­szo­ści się zga­dzam, nie zawsze piszę gdy się zgadzam 🙂

    Tak się cie­ka­wie skła­da, że wła­śnie mam pro­blem z mode­lem EA, ale z powo­dów innych niż tu opisane.

    Z EA(http://​spa​rxsys​tems​.com/) korzy­stam od wie­lu lat. Głównie pra­cu­jąc z mode­lem prze­cho­wy­wa­nym tyl­ko w bazie, co ma zalety:
    – pro­sta kon­fi­gu­ra­cja i niska barie­ra wejścia
    – zawsze aktu­al­ny model do wglądu
    – nie ma pro­ble­mów z zare­zer­wo­wa­ny­mi czę­ścia­mi modelu
    – kopia bazy nie gubi żad­nych infor­ma­cji (przy eks­por­cie do XMI cza­sem psu­je się roz­kło­że­nie elementów)
    jak i wady:
    – sła­ba kon­tro­la zmian i cofa­nie do wcze­śniej­szej wersji
    Takie roz­wią­za­nie spraw­dza się gdy w mode­lu zmia­ny są raczej drob­ne, a głów­nie zale­ży nam na tym, żeby dewe­lo­pe­rzy mie­li wszyst­ko jak naj­bar­dziej aktu­al­ne i pod ręką.

    Oczywiście jest moż­li­wa też pra­ca z mode­lem w sys­te­mie kon­tro­li wer­sji, prze­cho­wy­wa­nym jako pli­ki XMI. Nie zde­cy­do­wa­łem się na to z bar­dzo pro­ste­go powo­du: nie mam cza­su na dys­cy­pli­no­wa­nie ludzi uży­wa­ją­cych mode­lu, a takie roz­wią­za­nie wyma­ga pew­nej dyscypliny.

    W bie­żą­cym pro­jek­cie, za namo­wą kole­gi, któ­ry ma z tym pozy­tyw­ne doświad­cze­nia, wpro­wa­dza­my model hybry­do­wy, czy­li model zarów­no w bazie jak i w svn. Na razie poja­wi­ły się pro­ble­my z wyko­na­niem, ale było by to bar­dzo dobre roz­wią­za­nie pod wie­lo­ma wzglę­da­mi – łatwy dostęp do odczy­tu połą­czo­ny z kon­tro­lą zmian.

    1. Jarek Żeliński

      od kil­ku lat pra­cu­je z ser­we­rem SVN (teraz z posze­rzo­nym ded­dy­ko­wa­nym) i nawet jeże­li pra­cu­je sam to:
      – w pro­jek­tach czę­sto odda­ję klien­to­wi kolej­ne ite­ra­cje np. naj­pierw model przy­pad­ków uży­cia, potem model dzie­dzi­ny, potem mode­le poszcze­gól­nych przy­pad­ków uży­cia, każ­dy taki etap wykry­wa i popra­wia nie­ści­sło­ści poprzed­nie­go albo oka­zu­je się, ze jakiś pomysł się nie spraw­dzić i nale­ży wyco­fy­wać się do wer­sji z przed złe­go pomy­słu”. tago­wa­nie każ­dej ite­ra­cji oraz sto­so­wa­nie odga­łę­zień dla ryzy­kow­nych pomy­słów bywa zba­wie­niem, w przy­pad­ku gdy sta­ra wer­sja” się nie spraw­dzić lub nale­ży spraw­dzić co klient dostał mie­siąc temu”,
      – przy pra­cy gru­po­wej zysku­je­my nie tyl­ko kon­tro­le co kto robi ale tak­że kon­tro­le dys­cy­pli­ny wła­ści­ciel­stwa” mode­lu, pakie­tów czy komponentów. 

      Bardzo dużą war­tość ma moż­li­wość ope­ro­wa­nia wzor­ca­mi pro­jek­to­wy­mi. Każdy dobry i spraw­dzo­ny pomysł moż­na włą­czyć do pro­jek­tu, jeże­li mamy taki zestaw wzor­ców dla gru­py to zamiast odkry­wać Amerykę” moż­na takie wzor­ce włą­czyć jako doro­bek”, fir­mom­we know-how. 

      Niecenioną dodat­ko­wą” korzy­ścią uży­wa­nia ser­we­ra SVN jest bac­kup tego co robi­my na bie­żą­co. Z SVN pra­cu­je się off-line co tak­że nie­ja­ko chro­ni pro­jekt przez pro­ble­ma­mi «wspól­nej pra­cy na otwar­tych pli­kach”.. o ile narzę­dzie do mode­lo­wa­nia obsłu­gu­je kon­flik­ty (nie znam tu EA na tyle)… 

Dodaj komentarz

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