Niedawno mój ser­decz­ny kole­ga napisał:

Samo zebra­nie wyma­gań to waż­ny etap. Schody zaczy­na­ją się jed­nak dalej. Trzeba zwe­ry­fi­ko­wać pozy­ska­ne wyma­ga­nia, uszcze­gó­ło­wić, nadać prio­ry­te­ty. Gdzie te scho­dy? […] Nie mamy w Polsce stan­dar­du doku­men­to­wa­nia pro­jek­tów. Czegoś na co moż­na się powo­łać. (Inżynieria wyma­gań ? cer­ty­fi­kat | Michał Wolski).

jak to mówią świę­te sło­wa”. Jednak mamy stan­dard doku­men­to­wa­nia wyma­gań, któ­ry moż­na wyko­rzy­stać. Jaki? Moje począt­ko­we opo­ry do sto­so­wa­nia kolej­nej nota­cji” były jed­nak chy­ba prze­sa­dzo­ne. SysML to obiek­to­we (w sen­sie para­dyg­ma­tu) roz­sze­rze­nie UML. Pomijając kwe­stie samej nota­cji, jeden z jej dia­gra­mów, dia­gram wyma­gań, pozwa­la na upo­rząd­ko­wa­nie listy wyma­gań”. To jed­nak mała zale­ta. Dużą zale­tą jest spój­ność poję­cio­wa z meto­da­mi obiek­to­wy­mi, ale może dosyć trud­nych terminów”.

Wymagania to hie­rar­chicz­na lista ocze­ki­wań wobec potrzeb­ne­go roz­wią­za­nia”. Zobrazowanie listy wyma­gań na dia­gra­mie poma­ga poka­zać wza­jem­ne związ­ki pomię­dzy wyma­ga­nia­mi oraz związ­ki wyma­gań z następ­ny­mi ele­men­ta­mi pro­jek­tu taki­mi jak testy odbior­cze i ele­men­ty mode­lu opi­su­ją­ce reali­za­cje tych wymagań:

Powyższy dia­gram pozwa­la po pierw­sze zoba­czyć” wyma­ga­nia, po dru­gie poka­zu­je związ­ki tych wyma­gań z pro­duk­ta­mi kolej­nych kro­ków pro­jek­tu. Po co? Przede wszyst­kim spraw­dzi­my, że te związ­ki są, że są spój­ne i kom­plet­ne (nie bra­ku­je żad­ne­go). Zapewne wie­lu z Was woli postać tabeli:

i słusz­nie, do czy­ta­nia jak naj­bar­dziej ale ta tabe­la, gdy­by powsta­ła jako jedy­na, nie pozwo­li na wery­fi­ka­cję kom­plet­no­ści imple­men­ta­cji wyma­gań i testów.

Cechy wyma­gań to bar­dzo waż­ne ele­men­ty zarzą­dza­nia wyma­ga­nia­mi, zale­cam stosowanie:

  1. Priorytet:
    1. naj­wyż­szy (np. 3.) – nie­speł­nie­nie tego wyma­ga­nia czy­ni roz­wią­za­nie cał­ko­wi­cie nie­przy­dat­nym do celu w jakim powstaje
    2. śred­ni (np. 2.) – nie­speł­nie­nie tego wyma­ga­nia powo­du­je ogra­ni­cze­nie przy­dat­no­ści rozwiązania
    3. niski (np. 1.) – nie­speł­nie­nie tego wyma­ga­nia pogor­szy jakość korzy­sta­nia z rozwiązania
  2. Status:
    1. Zgłoszone
    2. Uznane
    3. Odrzucone (ale nie usunięte)
  3. Źródło:
    1. ana­li­za (doku­men­tów, pro­ce­sów, inne samo­dziel­ne efek­ty pra­cy analityka)
    2. oso­ba (kon­kret­ne źró­dło infor­ma­cji po stro­nie ana­li­zo­wa­nej orga­ni­za­cji)
  4. Rodzaj (te na róż­nych etapach): 
    1. biz­ne­so­we
    2. wobec roz­wią­za­nia
      1. funk­cjo­nal­ne
      2. jako­ścio­we
      3. dzie­dzi­no­we

(wię­cej o kla­sy­fi­ka­cji wyma­gań)

Mamy IEEE 830‑1998, któ­ry opi­su­je doku­men­to­wa­nie wyma­gań. Często się mówi, że wyma­ga­nia mają być FURPS i SMART ale jak to osią­gnąć? Pomaga w tym nie rysu­nek a model, czy­li nie tyl­ko zobra­zo­wa­nie ale tak­że interpretowanie.

Osobna kwe­stią jest to jak pozy­sku­je­my wyma­ga­nia. Mogą to być wywia­dy, sesje JAD itp. Ja oso­bi­ście jestem zwo­len­ni­kiem ana­liz doku­men­tów, a potem wyja­śniam je i ich role z wyko­naw­ca­mi pro­ce­sów, ale o tym już było (i nie raz pew­nie będzie ;)).

Na koniec waż­na rzecz: nie wol­no utra­cić pano­wa­nia nad szcze­gó­ła­mi, któ­rych nie powin­no być zbyt wiele…

Gdyby ktoś zapy­tał: a po co kolej­ny dia­gram, odpo­wiem: model to sys­tem obiek­tów, ich powią­zań i cech. Ani tabe­la ani tym bar­dziej ilu­stro­wa­ny obraz­ka­mi tekst nam tego nie da, a bez tych powią­zań nie spraw­dzi­my ani kom­plet­no­ści wyma­gań ani tego czy ich imple­men­ta­cja jest spójna.

Aha, ile tych dia­gra­mów ma być? Nie za wie­le, ale muszą być dobre? jak ksią­żecz­ka do gry w sza­chy a do niej opis cze­go ocze­ku­je­my od naszych sza­chi­stów? (Ile tego ma być ? ana­li­za i model pro­ce­sów biz­ne­so­wych).

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 9 komentarzy

  1. jacek2v

    Moje począt­ko­we opo­ry do sto­so­wa­nia” bar­dzo słusz­ne opory 🙂
    Jak zawsze zapy­tam: po co ? 🙂
    Jeśli te dia­gra­my robi klient to ok., a jak nie to jest to bez sensu.
    Tabelka z kil­ko­ma kolum­na­mi np. id, prio­ry­tet i opis; świet­nie daje sobie radę. I tu widzę jedy­nie pole do popi­su dla telepatii 🙂

    1. Jarek Żeliński

      pro­blem w więk­szych pro­jek­tach to szyb­kie (auto­ma­tycz­ne) spraw­dze­nie pokry­cia” wyma­ga­nia­mi zakre­su pro­jek­tu, a wyma­ga­nia maja SMART wiec nie jest to pro­ste, już gdy wyma­gań jest kil­ka­na­ście, ręcz­ne spraw­dza­nie” pokry­cia wyma­ga­nia­mi sta­je pro­ble­mem podob­nym do ręcz­ne­go spraw­dza­nia lite­ró­wek w dużym tek­ście. Nie ma sen­su robie­nie takich dia­gra­mów tyl­ko po to by powsta­ły, maja one głę­bo­ki sens gdy mode­le (a nie obraz­ki) powsta­ją w sys­te­mie typu CASE i kon­tro­la spój­no­ści, popraw­no­ści itp. jest wyko­ny­wa­na automatycznie. 

      Oczywiście, że taki doku­ment powsta­je (ma to sens) po stro­nie zama­wia­ją­ce­go, bo to na zama­wia­ją­cym spo­czy­wa jakość wymagań”.

  2. Łukasz Mozalewski

    Jedno pyta­nie: doku­men­ta­cja wyma­gań czy doku­men­ta­cja pro­jek­tu? Autor w cyto­wa­nym arty­ku­le wska­zje o potrze­bie doku­men­ta­cji wyma­gań, ich ana­li­zy, nada­nia prio­ry­te­tów, a potem wspo­mi­na o tym, że nie ma stan­dar­du doku­men­ta­cji pro­jek­tu… Problemy, o któ­rych pisze autor pasu­ją bar­dziej do roz­pa­trze­nia w doku­men­ta­cji pro­jek­to­wej (podział prac, kolej­ność dzia­łań, har­mo­no­gram, cel pro­jek­tu). W doku­men­ta­cji pro­jek­to­wej moż­na usta­lić w jaki spo­sób będą zapi­sa­ne wyma­ga­nia, a do tego moż­na już wyko­rzy­stać wie­le róż­nych spo­so­bów i metod.

    1. Jarek Żeliński

      Faktem jest, że Michał chy­ba prze­mie­szał byt jakim jest spe­cy­fi­ka­cja wyma­gań z bytem jakim jest doku­men­ta­cja pro­jek­tu ana­li­zy wyma­gań, kon­tekst «bra­ku stan­dar­dy” ode­bra­łem dosłow­nie do wyma­gań. Inna spra­wa, że nie spo­tka­łem się nie tyl­ko w Polsce” z tezą, że stan­dar­do­wy” pro­ces zbie­ra­nia wyma­gań” nie ist­nie­je, jest to czę­sto okre­śla­ne jako gap” pomię­dzy ana­li­zą biz­ne­so­wą a pro­jek­tem lub wyma­ga­nia­mi”. Wiele meto­dyk inży­nie­rii opro­gra­mo­wa­nia (w tym RUP) opi­su­je pro­ces od wyma­gań do powsta­nia kodu jed­nak nie opi­su­je skąd są wyma­ga­nia”. W każ­dym razie sku­tecz­nej recep­ty nie ma.

  3. jacek2v

    A.„ręczne ?spraw­dza­nie? pokry­cia wyma­ga­nia­mi sta­je pro­ble­mem podob­nym do ręcz­ne­go spraw­dza­nia lite­ró­wek w dużym tekście.”
    Autentycznie, nie wyobra­żam sobie auto­ma­tycz­ne­go spraw­dza­nia pokry­cia wyma­gań w dostar­czo­nym pro­duk­cie:) Jedyne co mi przy­cho­dzi do gło­wy to wcze­sne budo­wa­nie auto­ma­tycz­nych testów, któ­re będą wspól­nie zarzą­dza­ne przez klienta.
    Czy mógł­by Pan prze­słać np. jakiś link z więk­szą infor­ma­cją na temat takich narzędzi?

    B.”…proces ?zbie­ra­nia wyma­gań? nie ist­nie­je, jest to czę­sto okre­śla­ne jako ?gap? pomię­dzy ana­li­zą biz­ne­so­wą a pro­jek­tem lub ?wyma­ga­nia­mi?.”
    A czyż ana­li­za biz­ne­so­wa nie powin­na dostar­czyć zesta­wu wyma­gań – oczy­wi­ście na pozio­mie biz­ne­so­wym? Wraz z dokład­ny­mi parametrami/współczynnikami jakie powin­ni­śmy osią­gnąć po wdro­że­niu dane­go projektu.
    Np. Podczas ana­li­zy biz­ne­so­wej pro­ce­su fak­tu­ro­wa­nia wycho­dzi, że dzien­nie będzie­my prze­twa­rzać 1000 fak­tur. I mamy wymaganie.

    1. Jarek Żeliński

      Analiza biz­ne­so­wa oczy­wi­ście powin­na dostar­czyć zestaw wyma­gań”, pro­blem w tym, że wyma­ga­nie sys­tem ma pozwa­lać na wysta­wia­nie fak­tur” moż­na zre­ali­zo­wać na nie­skoń­cze­nie wie­le spo­so­bów, deve­lo­per star­tu­jąc w prze­tar­gu, do takie­go wyma­ga­nia wybie­rze naj­tań­szy, czy­li z regu­ły naj­gor­szy, spo­sób imple­men­ta­cji. W wie­lu dzie­dzi­nach inży­nie­rii już daw­no to zauwa­żo­no, dla­te­go deve­lo­pe­ro­wi nie daje się wyma­gań” do reali­za­cji a pro­jekt”.

      Co do spraw­dza­nia w narzę­dziach CASE pokry­cia np. wyma­gań itp. to jest to funk­cja śla­do­wa­nia, któ­ra potra­fi spraw­dzić ścież­kę od czyn­no­ści i danych w mode­lu pro­ce­su do nie­mal­że każ­dej kla­sy imple­men­tu­ją­cej każ­de wyma­ga­nie, nie­ste­ty nie mogą to być obraz­ki” w wor­dzie a muszą to być mode­le w narzę­dziu kla­sy CASE. Ja uży­wam http://​www​.visu​al​-para​digm​.com/​s​o​l​u​t​i​on/. Na powyż­szym dia­gra­mie, jako przy­kład poka­za­łem sko­ja­rze­nie wyma­ga­nia z kon­kret­ną kla­są dziedzinową.

      Co do testów, widy­wa­łem sys­te­my, któ­re prze­szły testy auto­ma­tycz­ne a nie prze­cho­dzi­ły testów odbior­czych z użyt­kow­ni­kiem, dla­te­go mam do nich ogra­ni­czo­ne zaufa­nie. W pro­jek­tach pro­gra­mi­stycz­nych bar­dzo kiep­sko jest, gdy jedy­nym doku­men­tem” opi­su­ją­cym opro­gra­mo­wa­nie jest jego kod bo to zna­czy, że pro­gra­mi­ści sia­da­ją­cy do kodo­wa­nia zaczy­na­ją po pro­stu od zera czy­li od na począ­tek nie wiem nic”… bo czym jest dla pro­gra­mi­sty wyma­ga­nie: sys­tem ma poma­gać wysta­wiać fak­tu­ry VAT”????

  4. Sławek Ryszkowski

    Korzystam z SysML‑a do mode­lo­wa­nia wyma­gań już od dłuż­sze­go cza­su. Doświadczenia mam róż­ne, ale z prze­wa­gą pozy­tyw­nych. Z pew­no­ścią wpro­wa­dza­nie rela­cji pomię­dzy wyma­ga­nia­mi uła­twia ich roz­bi­ja­nie na mniej­sze, nie­za­leż­ne, nada­ją­ce się choć­by do testów ele­men­ty np. auto­ma­tycz­nych. Wymagania biz­ne­so­we czę­sto mają postać zapi­sów, w któ­rych spi­sa­no wie­le ocze­ki­wań od roz­wią­za­nia – SysML uła­twia ana­li­ty­ko­wi zapa­no­wa­nie na taki­mi zapi­sa­mi, poka­zu­jąc wizu­al­nie hie­rar­chię iden­ty­fi­ko­wa­nych wyma­gań sys­te­mo­wych oraz zależ­no­ści pomię­dzy nimi.
    Jeśli cho­dzi o poka­zy­wa­nie takich SysML-owych dia­gra­mów oso­bom, któ­re defi­nio­wa­ły wyma­ga­nia biz­ne­so­we, czy choć­by dewe­lo­pe­rom, to tutaj nie mam dobrych doświad­czeń. Większość nie ana­li­zo­wa­ła dia­gra­mów prze­cho­dząc od razu do tre­ści wyma­gań. W sumie to dosze­dłem do wnio­sku, że dia­gra­my SysML dla wyma­gań są narzę­dziem, któ­re wspie­ra głów­nie pra­cę ana­li­ty­ka i to on czer­pie z nie­go naj­więk­sze korzyści.
    Oczywiście uży­wa­nie tej nota­cji do mode­lo­wa­nia wyma­gań wyma­ga wie­le uwa­gi i kon­se­kwen­cji, ponie­waż nie wie­le zyska­my z ana­li­zy pokry­cia wyma­gań np. przy­pad­ka­mi uży­cia, testa­mi czy też inny­mi ele­men­ta­mi, jeże­li nie będzie­my kon­se­kwent­nie śla­do­wa­li zde­fi­nio­wa­nych wyma­gań na ele­men­ty projektu.
    Co do narzę­dzi CASE rów­nież pole­cam Visual Paradigm.

    1. Jarek Żeliński

      W sumie to dosze­dłem do wnio­sku, że dia­gra­my SysML dla wyma­gań są narzę­dziem, któ­re wspie­ra głów­nie pra­cę ana­li­ty­ka i to on czer­pie z nie­go naj­więk­sze korzy­ści.” – i pozo­sta­je mi się tym zgo­dzić :), ale też (ja tak­że) utwier­dzam się w prze­ko­na­niu, że mało kogo inte­re­su­je prze­bieg ana­li­zy, klien­tów inte­re­su­ją pro­duk­ty ana­liz, a te są pisa­ne osta­tecz­nie ich języ­kiem” w posta­ci rapor­tu z ana­li­zy” i chy­ba tak powin­no być. Od dłuż­sze­go cza­su moje rapor­ty to kil­ka­dzie­siąt stron wor­dem” z obraz­ka­mi i kom­plet dia­gra­mów z opi­sa­mi jako załącz­nik. CASE jako narzę­dzie powa­la jed­nak uzy­skać wyso­kiej jako­ści, spój­ne, prze­te­sto­wa­ne mode­le i spe­cy­fi­ka­cje, dale­ko lep­sze i bez­piecz­niej­sze niż pro­duk­ty sesji JAD, wywia­dów, ankiet czy burz mózgów…

  5. Paweł Mansfeld

    Dziękuję za faj­ne opra­co­wa­nie tematu.

Dodaj komentarz

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