Dulliau modern ar gyfer disgrifio gofynion swyddogaethol ar gyfer systemau. Alistair Coburn. Adolygiad o'r llyfr ac ychwanegiadau

Mae'r llyfr yn disgrifio un dull ar gyfer ysgrifennu rhan o ddatganiad problem, sef y dull achos defnydd.

Beth yw e? Mae hwn yn ddisgrifiad o'r senario rhyngweithio defnyddiwr gyda'r system (neu gyda'r busnes). Yn yr achos hwn, mae'r system yn gweithredu fel blwch du (ac mae hyn yn ei gwneud hi'n bosibl rhannu'r dasg ddylunio gymhleth i ddylunio rhyngweithio a sicrhau'r rhyngweithio hwn). Ar yr un pryd, cyflwynir safonau nodiant, sy'n sicrhau rhwyddineb darllen, gan gynnwys ar gyfer y rhai nad ydynt yn cymryd rhan, ac sy'n caniatáu ar gyfer rhai gwiriadau ar gyfer cyflawnrwydd a chydymffurfiaeth â nodau'r rhanddeiliad.

Defnyddiwch enghraifft achos

Sut olwg sydd ar y senario, gan ddefnyddio'r enghraifft o awdurdodi ar y wefan trwy e-bost:

(System) Mewngofnodwch i'r wefan i gael mynediad i'ch cyfrif personol. ~~ (lefel y môr)

Cyd-destun: Mae cleient anawdurdodedig yn mewngofnodi i'r wefan fel bod y wefan yn ei adnabod ac yn dangos gwybodaeth bersonol iddo: hanes pori, hanes prynu, nifer gyfredol y pwyntiau bonws, ac ati, gan ddefnyddio e-bost fel mewngofnodi. 
Lefel: nod defnyddiwr
Prif gymeriad: cleient (ymwelydd ein siop ar-lein)
Cwmpas: Rhyngweithio cleient â gwefan y siop ar-lein
Rhanddeiliaid a diddordebau:

  • mae'r marchnatwr am i'r nifer uchaf o ymwelwyr safle gael eu nodi ar gyfer mwy o sylw i bostiadau personol,
  • mae'r arbenigwr diogelwch am sicrhau nad oes unrhyw achosion o fynediad anawdurdodedig i ddata personol yr ymwelydd, gan gynnwys ymdrechion i ddyfalu'r cyfrinair ar gyfer un cyfrif neu chwilio am gyfrif gyda chyfrinair gwan,
  • mae'r ymosodwr eisiau cael mynediad at fonysau'r dioddefwr,
  • mae cystadleuwyr eisiau gadael adolygiadau negyddol ar gynhyrchion,
  • Mae'r botnet eisiau cael sylfaen cwsmeriaid y siop a defnyddio ymosodiad i wneud y wefan yn anweithredol.

Rhagamodau: ni ddylai'r ymwelydd gael ei awdurdodi.
Isafswm gwarantau: bydd yr ymwelydd yn gwybod a oedd yr ymgais awdurdodi yn llwyddiannus neu'n aflwyddiannus.
Gwarantau o lwyddiant: awdurdodir yr ymwelydd.

Prif senario:

  1. Mae'r cleient yn cychwyn awdurdodiad.
  2. Mae'r system yn cadarnhau nad yw'r cleient wedi'i awdurdodi ac nad yw'n fwy na nifer yr ymdrechion awdurdodi aflwyddiannus o sesiwn benodol (chwilio am gyfrinair gwan ar gyfer cyfrifon lluosog) yn ôl "Rheol Diogelwch Rhif 23".
  3. Mae'r system yn cynyddu'r cownter ar gyfer nifer y ceisiadau awdurdodi.
  4. Mae'r system yn dangos ffurflen awdurdodi i'r cleient.
  5. Mae'r cleient yn nodi ei e-bost a'i gyfrinair.
  6. Mae'r system yn cadarnhau presenoldeb cleient gydag e-bost o'r fath yn y system a bod y cyfrinair yn cyd-fynd ac nid eir y tu hwnt i nifer yr ymdrechion mewngofnodi i'r cyfrif hwn yn unol â "Rheol Diogelwch Rhif 24".
  7. Mae'r system yn awdurdodi'r cleient, yn ychwanegu'r hanes pori a basged y sesiwn hon gyda sesiwn olaf y cyfrif cleient hwn.
  8. Mae'r system yn dangos neges llwyddiant awdurdodiad ac yn symud i'r cam sgript yr amharwyd ar y cleient i'w awdurdodi. Yn yr achos hwn, mae'r data ar y dudalen yn cael ei ail-lwytho gan ystyried data'r cyfrif personol.

Estyniadau:
2.a. Mae'r cleient eisoes wedi'i awdurdodi:
 2.a.1. Mae'r system yn hysbysu'r cleient am ffaith yr awdurdodiad a gyflawnwyd yn flaenorol ac yn cynnig naill ai torri ar draws y sgript neu fynd i gam 4, ac os cwblheir cam 6 yn llwyddiannus, yna perfformir cam 7 gydag eglurhad:
 2.a.7. Mae'r system yn dadactoli'r cleient o dan yr hen gyfrif, yn awdurdodi'r cleient o dan y cyfrif newydd, tra bod hanes pori a chert y sesiwn ryngweithio hon yn aros yn yr hen gyfrif ac nid ydynt yn trosglwyddo i'r un newydd. Nesaf, ewch i gam 8.
2.b Mae nifer y ceisiadau awdurdodi wedi rhagori ar y trothwy yn unol â “Rheol Diogelwch Rhif 23”:
 2.b.1 Ewch i gam 4, dangosir captcha hefyd ar y ffurflen awdurdodi
 2.b.6 Mae'r system yn cadarnhau cofnod captcha cywir
    2.b.6.1 Captcha a gofnodwyd yn anghywir:
      2.b.6.1.1. mae'r system yn cynyddu'r cownter o geisiadau awdurdodi aflwyddiannus ar gyfer y cyfrif hwn hefyd
      2.b.6.1.2. mae'r system yn dangos neges fethiant ac yn dychwelyd i gam 2
6.a. Ni ddaethpwyd o hyd i unrhyw gyfrif gyda'r e-bost hwn:
 6.a.1 Mae'r system yn dangos neges am fethiant ac yn cynnig dewis o naill ai mynd i gam 2 neu fynd i'r senario “Cofrestru Defnyddwyr” ac arbed yr e-bost a gofnodwyd,
6.b. Nid yw'r cyfrinair ar gyfer y cyfrif gyda'r e-bost hwn yn cyfateb i'r un a roddwyd:
 6.b.1 Mae'r system yn cynyddu rhifydd ymdrechion mewngofnodi aflwyddiannus i'r cyfrif hwn.
 6.b.2 Mae'r system yn dangos neges am fethiant ac yn cynnig dewis o naill ai mynd i'r senario "Adfer Cyfrinair" neu fynd i gam 2.
6.c: Mae'r rhifydd ymgais mewngofnodi ar gyfer y cyfrif hwn wedi rhagori ar y trothwy ar gyfer “Rheol Diogelwch Rhif 24.”
 6.c.1 Mae'r system yn dangos neges am rwystro mewngofnodi cyfrif am X munud ac yn mynd ymlaen i gam 2.

Beth sy'n wych

Gwiriadau ar gyfer cyflawnrwydd a chydymffurfiaeth â nodau, hynny yw, gallwch roi gofynion i ddadansoddwr arall ar gyfer dilysu, gan wneud llai o gamgymeriadau ar y cam o lunio problem.

Mae gweithio gyda system blwch du yn caniatáu ichi wahanu datblygiad a chydlyniad gyda'r cwsmer o'r hyn a fydd yn cael ei awtomeiddio o'r dulliau gweithredu.

Mae'n rhan o lwybr y dadansoddwr, un o brif rannau defnyddioldeb. Mae senario'r defnyddiwr yn diffinio prif lwybrau ei symudiad, sy'n lleihau'n fawr y rhyddid dewis i'r dylunydd a'r cwsmer ac yn helpu i gynyddu cyflymder datblygu dyluniad.

Rwy'n falch iawn o'r lle yn y disgrifiad lle nodir eithriadau i bob cam rhyngweithio. Rhaid i system TG gyflawn ddarparu ar gyfer rhyw fath o ymdrin ag eithriadau, rhai â llaw, rhai yn awtomatig (fel yn yr enghraifft uchod).

Dengys profiad y gall ymdrin ag eithriadau heb ei feddwl yn hawdd droi system yn system hynod anghyfleus. Rwy'n cofio'r stori pan yn y cyfnod Sofietaidd, er mwyn cael penderfyniad, bu'n rhaid ichi gael sawl cymeradwyaeth gan wahanol wasanaethau, a pha mor boenus yw hi pan ddywed y gwasanaeth olaf - ond mae eich cais yn yr enw anghywir neu ryw gamgymeriad arall yn atalnodi, ail-wneud popeth ac ail-drefnu popeth.

Rwy'n aml yn dod ar draws sefyllfaoedd lle roedd rhesymeg gweithredu system na chafodd ei hystyried ar gyfer eithriadau yn gofyn am ail-weithio'r system yn sylweddol. Oherwydd hyn, mae cyfran fwyaf o waith y dadansoddwr yn cael ei wario ar drin eithriadau.

Mae nodiant testun, yn hytrach na diagramau, yn caniatáu i ragor o eithriadau gael eu nodi a'u cynnwys.

Ychwanegiad at y dull o ymarfer

Nid yw'r achos defnydd yn rhan o'r datganiad sydd wedi'i blaenoriaethu'n annibynnol, yn wahanol i stori'r defnyddiwr.

Yn y senario uchod, ystyriwch eithriad “6.a. Ni ddaethpwyd o hyd i unrhyw gyfrif gyda'r e-bost hwn." a'r cam nesaf “6.a.1 Mae'r system yn dangos neges fethiant ac yn mynd ymlaen i gam 2.” Pa bethau negyddol gafodd eu gadael y tu ôl i'r llenni? I'r cleient, mae unrhyw adenillion yn gyfystyr â'r ffaith bod yr holl waith a wnaeth wrth fewnbynnu data yn cael ei daflu i safle tirlenwi. (Nid yw'n weladwy yn y sgript!) Beth ellir ei wneud? Ailadeiladu'r sgript fel nad yw hyn yn digwydd. A yw'n bosibl gwneud hyn? Gallwch - fel enghraifft, edrych ar y sgript awdurdodi Google.

Optimeiddio senario

Mae'r llyfr yn sôn am ffurfioli, ond nid yw'n dweud fawr ddim am ddulliau ar gyfer optimeiddio senarios o'r fath.

Ond mae'n bosibl cryfhau'r dull trwy optimeiddio senarios, ac mae'r dull ffurfioli achos defnydd yn caniatáu i hyn gael ei wneud. Yn benodol, mae angen i chi feddwl am bob eithriad sy'n digwydd, pennu'r achos, ac ailadeiladu'r sgript er mwyn cael gwared ar yr eithriad neu leihau taith y cwsmer.

Wrth osod archeb o siop ar-lein, rhaid i chi fynd i mewn i'r ddinas ddosbarthu. Efallai na all y siop ddosbarthu nwyddau i'r ddinas a ddewiswyd gan y cleient oherwydd nad yw'n danfon yno, oherwydd cyfyngiadau maint, neu oherwydd diffyg nwyddau yn y warws cyfatebol.

Os byddwn yn disgrifio'r senario o ryngweithio yn y cam cofrestru yn unig, gallwn ysgrifennu "hysbysu'r cleient bod cyflwyno yn amhosibl a chynnig newid y ddinas neu gynnwys y drol" (ac mae llawer o ddadansoddwyr newydd yn stopio yno). Ond os oes llawer o achosion o'r fath, yna gellir optimeiddio'r senario.

Y peth cyntaf sydd angen i chi ei wneud yw gadael i chi ddewis dim ond y ddinas lle gallwn gyflawni. Pryd i wneud hyn? Cyn dewis cynnyrch ar y wefan (awto-ganfod y ddinas trwy IP gydag eglurhad).

Yn ail, mae angen inni roi dewis yn unig o'r nwyddau y gallwn eu danfon i'r cleient. Pryd i wneud hyn? Ar hyn o bryd o ddewis - ar y teilsen cynnyrch a'r cerdyn cynnyrch.

Mae'r ddau newid hyn yn mynd ymhell tuag at ddileu'r eithriad hwn.

Gofynion ar gyfer mesuriadau a metrigau

Wrth ystyried y dasg o leihau trin eithriadau, gallwch osod tasg adrodd (ni ddisgrifir achos defnydd). Sawl eithriad oedd, ym mha achosion y digwyddon nhw, a faint o senarios a ddaeth i mewn a basiodd yn llwyddiannus.

Ond gwaetha'r modd. Mae profiad wedi dangos nad yw gofynion adrodd ar gyfer senarios yn y ffurf hon yn ddigon; mae angen ystyried gofynion adrodd ar gyfer prosesau a ddisgrifir yn bennaf nad ydynt ar ffurf achos defnydd.

Mynediad i Ddefnyddioldeb

Yn ein harfer, rydym wedi ehangu'r ffurflen disgrifiad achos defnydd gyda disgrifiad o nodweddion penodol endidau a data i'r cleient wneud penderfyniad, sy'n gwella defnyddioldeb dilynol.

Ar gyfer dylunio defnyddioldeb, fe wnaethom ychwanegu adran fewnbwn - data arddangos.

Mewn senario gydag awdurdodiad, dyma'r ffaith bod y cleient wedi'i awdurdodi yn y system. Os yw'r cleient wedi'i awdurdodi ymlaen llaw, yna dangoswch rybudd ynghylch newid yr hanes llywio a'r drol i'r cyfrif newydd ar ôl awdurdodiad llwyddiannus.

Yn gyffredinol, mae hwn yn arddangosfa o'r wybodaeth angenrheidiol ar gyfer y cleient fel y gall wneud penderfyniad am ei gamau pellach yn ôl y senario (gallwch ofyn a yw'r data hwn yn ddigon i'r cleient, beth arall sydd ei angen, pa wybodaeth sy'n ei wneud mae angen i'r cleient wneud penderfyniadau).  
Mae hefyd yn werth rhannu'r wybodaeth a gofnodwyd yn feysydd mewnbwn os cânt eu prosesu ar wahân a chyda gwahanol eithriadau.

Yn yr enghraifft gydag awdurdodiad cleient, os ydych chi'n gwahanu'r wybodaeth a gofnodwyd yn mewngofnodi a chyfrinair, yna mae'n werth newid y sgript awdurdodi i dynnu sylw at y camau o fynd i mewn i fewngofnodi ar wahân a chyfrinair ar wahân (a gwneir hyn yn Yandex, Google, ond heb ei wneud yn y rhan fwyaf o siopau ar-lein).

Cyrraedd y trawsnewidiadau data gofynnol

Gallwch hefyd dynnu gofynion ar gyfer algorithmau trosi data o'r sgript.

Enghreifftiau:

  • I wneud penderfyniad i brynu cynnyrch mewn siop ar-lein, mae angen i'r cleient wybod ar y cerdyn cynnyrch y posibilrwydd, y gost, yr amser dosbarthu i'w ddinas o'r cynnyrch hwn (sy'n cael eu cyfrifo gan yr algorithm yn seiliedig ar argaeledd y cynnyrch yn warysau a pharamedrau cadwyn gyflenwi).
  • Wrth fewnbynnu ymadrodd yn y llinell chwilio, dangosir awgrymiadau chwilio i'r cleient yn ôl yr algorithm (sy'n cael eu cynhyrchu gan yr algorithm...).

Yn gyfan gwbl

Yn gyffredinol, ar ôl darllen y llyfr, yn anffodus, nid yw'n glir sut i fynd yr holl ffordd o ddadansoddwr i broblemau busnes i fanyleb dechnegol ffurfiol ar gyfer datblygwr. Dim ond rhan o'r broses y mae'r llyfr yn ei ddweud, gyda'r camau mewnbwn yn aneglur a'r camau nesaf yn aneglur. Yn aml nid yw'r achos defnydd ei hun yn ddatganiad cyflawn i'r datblygwr.

Serch hynny, mae hon yn ffordd dda iawn o ffurfioli a phrosesu senarios o ryngweithio rhwng gwrthrych a gwrthrych, pan fydd y rhyngweithio yn achosi newid mewn rhywbeth yn y pwnc. Mae'n un o'r ychydig ddulliau ysgrifennu sy'n caniatáu gofynion gwiriadwy gyda phwyntiau chwilio eithriad penodol.

Mae'n rhaid i ddadansoddwyr ei ddarllen er mwyn dechrau ysgrifennu dramâu profadwy.

Ffynhonnell: hab.com

Ychwanegu sylw