Njia za kisasa za kuelezea mahitaji ya kazi kwa mifumo. Alistair Coburn. Mapitio ya kitabu na nyongeza

Kitabu kinaelezea njia moja ya kuandika sehemu ya taarifa ya tatizo, ambayo ni njia ya kesi ya matumizi.

Ni nini? Haya ni maelezo ya hali ya mwingiliano wa mtumiaji na mfumo (au na biashara). Katika kesi hii, mfumo hufanya kama sanduku nyeusi (na hii inafanya uwezekano wa kugawanya kazi ngumu ya kubuni katika kubuni mwingiliano na kuhakikisha mwingiliano huu). Wakati huo huo, viwango vya notation vinaletwa, ambayo inahakikisha urahisi wa kusoma, ikiwa ni pamoja na kwa wasio washiriki, na inaruhusu ukaguzi fulani kwa ukamilifu na kufuata malengo ya wadau.

Tumia mfano wa kesi

Jinsi hali inavyoonekana, kwa kutumia mfano wa idhini kwenye tovuti kupitia barua pepe:

(Mfumo) Ingia kwenye tovuti ili kufikia akaunti yako ya kibinafsi. ~~ (kiwango cha bahari)

Muktadha: Mteja ambaye hajaidhinishwa huingia kwenye tovuti ili tovuti imtambue na kumwonyesha maelezo ya kibinafsi: historia ya kuvinjari, historia ya ununuzi, nambari ya sasa ya pointi za bonasi, n.k., kwa kutumia barua pepe kama kuingia. 
Kiwango: lengo la mtumiaji
Mhusika mkuu: mteja (mgeni wa duka yetu ya mtandaoni)
Upeo: Mwingiliano wa mteja na tovuti ya duka la mtandaoni
Wadau na maslahi:

  • muuzaji anataka idadi ya juu zaidi ya wanaotembelea tovuti itambuliwe kwa ajili ya huduma kubwa ya barua pepe za kibinafsi,
  • mtaalamu wa usalama anataka kuhakikisha kuwa hakuna visa vya ufikiaji usioidhinishwa wa data ya kibinafsi ya mgeni, pamoja na majaribio ya kubahatisha nenosiri la akaunti moja au kutafuta akaunti iliyo na nenosiri dhaifu,
  • mshambuliaji anataka kupata mafao ya mwathirika,
  • washindani wanataka kuacha maoni hasi juu ya bidhaa,
  • Botnet inataka kupata msingi wa wateja wa duka na kutumia shambulio ili kufanya tovuti isifanye kazi.

Masharti: mgeni lazima asiidhinishwe.
Kiwango cha chini cha dhamana: mgeni atajua ikiwa jaribio la uidhinishaji lilifanikiwa au halikufaulu.
Dhamana ya mafanikio: mgeni ameidhinishwa.

Hali kuu:

  1. Mteja huanzisha idhini.
  2. Mfumo unathibitisha kuwa mteja hajaidhinishwa na hauzidi idadi ya majaribio ya uidhinishaji yasiyofanikiwa kutoka kwa kipindi fulani (kutafuta nenosiri dhaifu kwa akaunti nyingi) kulingana na "Kanuni ya Usalama ya 23".
  3. Mfumo huongeza kaunta kwa idadi ya majaribio ya uidhinishaji.
  4. Mfumo unaonyesha fomu ya idhini kwa mteja.
  5. Mteja huingiza barua pepe na nenosiri lake.
  6. Mfumo unathibitisha kuwepo kwa mteja aliye na barua pepe hiyo katika mfumo na kwamba nenosiri linalingana na idadi ya majaribio ya kuingia kwenye akaunti hii haipitiwi kulingana na "Kanuni ya Usalama Nambari 24".
  7. Mfumo huidhinisha mteja, huongeza historia ya kuvinjari na kikapu cha kipindi hiki na kipindi cha mwisho cha akaunti hii ya mteja.
  8. Mfumo unaonyesha ujumbe wa mafanikio ya uidhinishaji na kuhamia hatua ya hati ambayo mteja alikatizwa kwa uidhinishaji. Katika kesi hii, data kwenye ukurasa hupakiwa tena kwa kuzingatia data ya akaunti ya kibinafsi.

Viendelezi:
2.a. Mteja tayari ameidhinishwa:
 2.a.1. Mfumo humjulisha mteja juu ya ukweli wa idhini iliyofanywa hapo awali na inatoa ama kukatiza hati au kwenda kwa hatua ya 4, na ikiwa hatua ya 6 imekamilika kwa mafanikio, basi hatua ya 7 inafanywa kwa ufafanuzi:
 2.a.7. Mfumo huo huzima mteja chini ya akaunti ya zamani, huidhinisha mteja chini ya akaunti mpya, wakati historia ya kuvinjari na rukwama ya kipindi hiki cha mwingiliano hubaki kwenye akaunti ya zamani na haihamishi hadi mpya. Ifuatayo, nenda kwa hatua ya 8.
2.b Idadi ya majaribio ya uidhinishaji imevuka kiwango cha juu kulingana na "Kanuni ya Usalama Na. 23":
 2.b.1 Nenda kwa hatua ya 4, captcha inaonyeshwa kwa ziada kwenye fomu ya uidhinishaji
 2.b.6 Mfumo unathibitisha ingizo sahihi la captcha
    2.b.6.1 Captcha iliingia kimakosa:
      2.b.6.1.1. mfumo huongeza hesabu ya majaribio ya uidhinishaji ambayo hayajafaulu kwa akaunti hii pia
      2.b.6.1.2. mfumo unaonyesha ujumbe wa kutofaulu na unarudi kwa hatua ya 2
6.a. Hakuna akaunti iliyo na barua pepe hii iliyopatikana:
 6.a.1 Mfumo unaonyesha ujumbe kuhusu kushindwa na unatoa chaguo la kwenda hatua ya 2 au kwenda kwenye hali ya "Usajili wa Mtumiaji" na kuhifadhi barua pepe uliyoweka,
6.b. Nenosiri la akaunti iliyo na barua pepe hii halilingani na lililowekwa:
 6.b.1 Mfumo huongeza hesabu ya majaribio yasiyofaulu ya kuingia kwenye akaunti hii.
 6.b.2 Mfumo unaonyesha ujumbe kuhusu kutofaulu na unatoa chaguo la kwenda kwenye hali ya "Urejeshaji wa Nenosiri" au kwenda hatua ya 2.
6.c: Kaunta ya jaribio la kuingia katika akaunti hii imevuka kiwango cha juu cha "Kanuni ya Usalama Nambari 24."
 6.c.1 Mfumo unaonyesha ujumbe kuhusu kuzuia kuingia katika akaunti kwa dakika X na kuendelea hadi hatua ya 2.

Nini kubwa

Huangalia ukamilifu na kufuata malengo, yaani, unaweza kutoa mahitaji kwa mchambuzi mwingine kwa uthibitishaji, kufanya makosa machache katika hatua ya uundaji wa tatizo.

Kufanya kazi na mfumo wa aina ya sanduku nyeusi hukuruhusu kutenganisha maendeleo na uratibu na mteja wa kile kitakachojiendesha kutoka kwa njia za utekelezaji.

Ni sehemu ya njia ya mchambuzi, moja ya sehemu kuu za usability. Hali ya mtumiaji hufafanua njia kuu za harakati zake, ambazo hupunguza sana uhuru wa kuchagua kwa mtengenezaji na mteja na husaidia kuongeza kasi ya maendeleo ya kubuni.

Nimefurahishwa sana na mahali katika maelezo ambapo vighairi kwa kila hatua ya mwingiliano vinatambuliwa. Mfumo kamili wa TEHAMA lazima utoe aina fulani ya utunzaji wa kipekee, zingine kwa mikono, zingine kiotomatiki (kama ilivyo kwenye mfano hapo juu).

Uzoefu unaonyesha kuwa ushughulikiaji wa ubaguzi ambao haukufikiriwa vibaya unaweza kubadilisha mfumo kwa urahisi kuwa mfumo usiofaa sana. Nakumbuka hadithi wakati katika nyakati za Soviet, ili kupata uamuzi, ilibidi upate vibali kadhaa kutoka kwa huduma tofauti, na jinsi inavyoumiza wakati huduma ya mwisho inasema - lakini maombi yako ni kwa jina lisilofaa au kosa lingine. uakifishaji, fanya upya kila kitu na uratibu upya kila kitu.

Mara nyingi mimi hukutana na hali ambapo mantiki ya uendeshaji wa mfumo ambao haukufikiriwa isipokuwa unahitaji urekebishaji muhimu wa mfumo. Kwa sababu ya hili, sehemu kubwa ya kazi ya mchambuzi hutumiwa katika utunzaji wa ubaguzi.

Uandikaji wa maandishi, kinyume na michoro, huruhusu tofauti zaidi kutambuliwa na kufunikwa.

Kuongeza kwa njia kutoka kwa mazoezi

Kesi ya utumiaji sio sehemu ya taarifa iliyopewa kipaumbele kwa kujitegemea, tofauti na hadithi ya mtumiaji.

Katika hali iliyo hapo juu, zingatia ubaguzi "6.a. Hakuna akaunti iliyo na barua pepe hii iliyopatikana." na hatua inayofuata "6.a.1 Mfumo unaonyesha ujumbe wa kushindwa na kuendelea hadi hatua ya 2." Ni mambo gani hasi yaliachwa nyuma ya pazia? Kwa mteja, kurudi yoyote ni sawa na ukweli kwamba kazi yote aliyofanya ya kuingiza data inatupwa kwenye jaa. (Haionekani tu kwenye hati!) Je, nini kifanyike? Unda tena hati ili hii isifanyike. Je, inawezekana kufanya hivi? Unaweza - kwa mfano, kuangalia hati ya idhini ya Google.

Uboreshaji wa hali

Kitabu kinazungumza juu ya urasimishaji, lakini kinasema kidogo juu ya njia za kuboresha hali kama hizi.

Lakini inawezekana kuimarisha njia kwa kuboresha hali, na njia ya urasimishaji wa kesi ya matumizi inaruhusu hii kufanyika. Hasa, unahitaji kufikiria juu ya kila ubaguzi unaotokea, tambua sababu, na uunda upya hati ili kuondoa ubaguzi au kupunguza safari ya mteja.

Wakati wa kuagiza kutoka kwa duka la mtandaoni, lazima uingie jiji la utoaji. Inaweza kugeuka kuwa duka haiwezi kutoa bidhaa kwa jiji lililochaguliwa na mteja kwa sababu haitoi huko, kwa sababu ya vikwazo vya ukubwa, au kutokana na ukosefu wa bidhaa katika ghala husika.

Ikiwa tunaelezea kwa urahisi hali ya mwingiliano katika hatua ya usajili, tunaweza kuandika "kumjulisha mteja kuwa uwasilishaji hauwezekani na tutoe kubadilisha jiji au yaliyomo kwenye gari" (na wachambuzi wengi wa novice wanasimama hapo). Lakini ikiwa kuna kesi nyingi kama hizo, basi hali inaweza kuboreshwa.

Jambo la kwanza unahitaji kufanya ni kukuruhusu kuchagua jiji ambalo tunaweza kutoa. Wakati wa kufanya hivi? Kabla ya kuchagua bidhaa kwenye tovuti (autodetection ya jiji kupitia IP kwa ufafanuzi).

Pili, tunahitaji kutoa chaguo tu la bidhaa ambazo tunaweza kuwasilisha kwa mteja. Wakati wa kufanya hivi? Wakati wa uteuzi - kwenye tile ya bidhaa na kadi ya bidhaa.

Mabadiliko haya mawili yanasaidia sana kuondoa ubaguzi huu.

Mahitaji ya vipimo na vipimo

Wakati wa kuzingatia kazi ya kupunguza utunzaji wa ubaguzi, unaweza kuweka kazi ya kuripoti (kesi ya matumizi haijaelezewa). Kulikuwa na vighairi vingapi, katika hali zipi zilitokea, pamoja na ni matukio mangapi yanayoingia yalipita kwa mafanikio.

Lakini ole! Uzoefu umeonyesha kuwa mahitaji ya kuripoti kwa matukio katika fomu hii hayatoshi; ni muhimu kuzingatia mahitaji ya kuripoti kwa michakato ambayo inaelezewa haswa sio katika hali ya matumizi.

Upatikanaji wa Usability

Katika mazoezi yetu, tumepanua fomu ya maelezo ya kesi ya utumiaji kwa maelezo ya sifa mahususi za huluki na data ili mteja afanye uamuzi, ambayo huongeza utumiaji unaofuata.

Kwa muundo wa utumiaji, tuliongeza sehemu ya ingizo - data ya kuonyesha.

Katika hali na idhini, hii ni ukweli kwamba mteja ameidhinishwa katika mfumo. Ikiwa mteja ameidhinishwa mapema, basi onyesha onyo kuhusu kubadilisha historia ya urambazaji na rukwama hadi akaunti mpya baada ya kuidhinishwa kwa mafanikio.

Kwa ujumla, hii ni onyesho la habari muhimu kwa mteja ili aweze kufanya uamuzi juu ya hatua zake zaidi kulingana na hali (unaweza kuuliza ikiwa data hii inatosha kwa mteja, ni nini kingine kinachohitajika, habari gani hufanya. mteja anahitaji kufanya maamuzi).  
Inafaa pia kugawa habari iliyoingizwa katika uwanja wa pembejeo ikiwa inachakatwa kando na kwa kuunda tofauti tofauti.

Katika mfano na idhini ya mteja, ikiwa unatenganisha habari iliyoingia kwenye kuingia na nenosiri, basi ni thamani ya kubadilisha hati ya idhini ili kuonyesha hatua za kuingia tofauti na nenosiri tofauti (na hii inafanywa katika Yandex, Google, lakini haifanyiki katika maduka mengi ya mtandaoni).

Kufikia mabadiliko yanayohitajika ya data

Unaweza pia kutoa mahitaji ya algoriti za ubadilishaji wa data kutoka kwa hati.

Mifano:

  • Ili kufanya uamuzi wa kununua bidhaa kwenye duka la mtandaoni, mteja anahitaji kujua kwenye kadi ya bidhaa uwezekano, gharama, wakati wa kujifungua kwa jiji lake la bidhaa hii (ambayo huhesabiwa na algorithm kulingana na upatikanaji wa bidhaa katika maghala na vigezo vya ugavi).
  • Wakati wa kuingiza maneno kwenye mstari wa utafutaji, mteja anaonyeshwa mapendekezo ya utafutaji kulingana na algorithm (ambayo huzalishwa na algorithm ...).

Katika jumla ya

Kwa ujumla, baada ya kusoma kitabu, kwa bahati mbaya, haijulikani jinsi ya kwenda njia yote kutoka kwa mchambuzi hadi matatizo ya biashara kwa vipimo rasmi vya kiufundi kwa msanidi programu. Kitabu kinaelezea sehemu tu ya mchakato, na hatua za kuingiza haziko wazi na hatua zinazofuata hazieleweki. Kesi ya utumiaji yenyewe mara nyingi sio taarifa kamili kwa msanidi programu.

Hata hivyo, hii ni njia nzuri sana ya kurasimisha na kuchakata matukio ya mwingiliano kati ya kitu na somo, wakati mwingiliano husababisha mabadiliko katika kitu katika somo. Ni mojawapo ya mbinu chache za uandishi zinazoruhusu mahitaji yanayoweza kuthibitishwa na vidokezo dhahiri vya utafutaji.

Kitabu hiki ni lazima kisomwe ili wachambuzi waanze kuandika tamthilia zinazoweza kujaribiwa.

Chanzo: mapenzi.com

Kuongeza maoni