FURPS i SMART na widłach

Bardzo czę­sto poja­wia­ją się w ofer­tach i na szko­le­niach doty­czą­cych wyma­gań dwa akro­ni­my: [[FURPS]] i [[SMART]]. Cóż to jest? To zale­ce­nia doty­czą­ce oce­ny spe­cy­fi­ka­cji wyma­gań na opro­gra­mo­wa­nie. Jednak czym innym jest oce­nić czy zale­ce­nia te speł­nia doku­ment wyma­gań (jego treść) a czym innym jest to jak je spełnić.

Cóż to jest FURPS? Angielski akro­nim roz­szy­fro­wu­je­my następująco:

  • Functionality- funk­cjo­nal­ność w rozu­mie­niu zesta­wu funk­cji uwzględ­nia­ją­ca rów­nież bez­pie­czeń­stwo (ang. security)
  • Usability – uży­tecz­ność jako zestaw wizu­al­nych aspek­tów oprogramowania
  • Reliability – nie­za­wod­ność, będą­ca mie­rzo­na np. czę­sto­ścią wystę­po­wa­nia błędów
  • Performance – wydaj­ność apli­ka­cji okre­śla­na rów­nież jako czas odpo­wie­dzi lub uży­cie zasobów
  • Supportability – podat­ność na ser­wi­so­wa­nie („ser­wi­so­wal­ność”), dają­ca się łatwo testo­wać, napra­wiać i rozwijać.

SMART to akro­nim od słów: Sprecyzowane, Mierzalne, Akceptowane, Realistyczne, Terminowe.

Jak widać maję one pew­ną wspól­ną cechę: to są ocze­ki­wa­nia w sto­sun­ku do spe­cy­fi­ka­cji wyma­gań. Dlaczego piszę o tym? Po pierw­sze w FURPS są prze­mie­sza­ne wyma­ga­nia funk­cjo­nal­ne i poza-funk­cjo­nal­ne: funk­cjo­nal­ność vs. wydaj­ność, nie­za­wod­ność i podat­ność na ser­wi­so­wa­nie. Do tego są one dość subiek­tyw­ne bo np. jak spraw­dzić czy wyma­ga­nia są użyteczne?

W kwe­stii SMART jest jesz­cze gorzej: wszyst­kie pięć pojęć to subiek­tyw­ne życze­nia bez moż­li­wo­ści wery­fi­ka­cji ich spełnienia.

Widły Hume’a

Edynburg_2013-04-19_10-52_JZelinskiW filo­zo­fii func­kjo­nu­je poję­cie „[[widły Hume’a]]”, w dużym uprosz­cze­niu Hume ([[David Hume]]) twier­dzi, że wie­le tre­ści, ksiąg i wypo­wie­dzi to tre­ści ułom­ne, nie­zro­zu­mia­łe, bez­za­sad­ne lub banal­ne. Czym są owe Widły Hume’a? Każdą wypo­wiedź nale­ży spraw­dzić dwo­ma pytaniami:

  • Co to znaczy?
  • Skąd to wiesz?

Tak wiec jak ktoś powie, że jego wyma­ga­nia są SMART to zadaj np. pyta­nie: Co to zna­czy Sprecyzowane? Skąd wie­my, że one są spre­cy­zo­wa­ne? I tak po każ­dym z tych magicz­nych słów.

Zresztą każ­dy waż­ny doku­ment, tu doku­ment wyma­gań, war­to tak prze­te­sto­wać, szcze­gól­nie jeśli opi­su­je coś war­te­go poten­cjal­nie dzie­siąt­ki tysię­cy zło­tych. Jak na te, widły, zare­agu­ją doku­men­ty opra­co­wa­ne meto­da­mi for­mal­ny­mi? W pro­sty sposób:

Co to zna­czy, że wyma­ga­nia są zwe­ry­fi­ko­wa­ne? To zna­czy, że z powo­dze­niem prze­pro­wa­dzo­no test pole­ga­ją­cy na wyko­na­niu wszyst­kich czyn­no­ści mode­lu pro­ce­su biz­ne­so­we­go. Skąd to wie­my? Bo na wej­ściu mode­lu pro­ce­su poda­no” praw­dzi­we doku­men­ty, uda­ło się na mode­lu wska­zać wszyst­kie czyn­no­ści wyma­ga­ne do obsłu­że­nia tego doku­men­tu i nie było innych zbęd­nych, otrzy­ma­li­śmy taki sam rezul­tat (wyni­ko­wy doku­ment i jego stan) jak w natu­rze oraz na liście przy­pad­ków uży­cia są wszyst­kie te i tyl­ko te, któ­re były potrzeb­ne by ten pro­ces bez błę­du prze­szedł do koń­ca. Jak to się robi? Przeczytaj o tym tu.

Jeżeli doku­ment wyma­gań nie speł­nia tych kry­te­riów, nie mie­ści się w tych widłach, to jak sam Hume twier­dzi, jest on bez­war­to­ścio­wy, nie nie­sie żad­nej wie­dzy gdyż poszcze­gól­ne wyma­ga­nia są: albo nie­zro­zu­mia­łe, albo zro­zu­mia­łe lecz nie uza­sad­nio­ne, albo zro­zu­mia­łe i zasad­ne lecz banal­ne (np. mają być Sprecyzowane). Tak więc wie­my co to zna­czy FURPS i SMART (powyż­sze skró­ty). Odbierając doku­men­ty ana­liz zada­waj­cie pyta­nie: a skąd wie­my, że te wyma­ga­nia (któ­re ktoś spi­sał) są FURPS i SMART i co to oznacza?

Polecam: Grzegorz Trela, meta­fo­ry filozoficzne

Inne artykuły na podobny temat

image_print(wydruk PL)

Dodaj komentarz

Twój adres email nie zostanie opublikowany

Komentuj i zadawaj pytania autorowi.

Identyfikator *
E-mail *
Witryna internetowa

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