Жүйеге қойылатын функционалдық талаптарды сипаттаудың заманауи әдістері. Алистер Коберн. Кітапқа шолу және толықтырулар

Кітап проблемалық мәлімдеменің бір бөлігін жазудың бір әдісін сипаттайды, атап айтқанда пайдалану жағдайы әдісі.

Бұл не? Бұл жүйемен (немесе бизнеспен) пайдаланушы әрекеттесу сценарийінің сипаттамасы. Бұл жағдайда жүйе қара жәшік ретінде әрекет етеді (және бұл күрделі дизайн тапсырмасын өзара әрекеттестікті жобалауға және осы өзара әрекеттесуді қамтамасыз етуге бөлуге мүмкіндік береді). Бұл ретте оқудың жеңілдігін қамтамасыз ететін, оның ішінде қатыспайтындар үшін де, толықтығы мен мүдделі тараптың мақсаттарына сәйкестігін кейбір тексеруге мүмкіндік беретін белгілеу стандарттары енгізіледі.

Істің мысалын пайдаланыңыз

Электрондық пошта арқылы сайттағы авторизация үлгісін пайдалану сценарийі қалай көрінеді:

(Жүйе) Жеке есептік жазбаңызға кіру үшін веб-сайтқа кіріңіз. ~~ (теңіз деңгейі)

Мәтінмән: Рұқсат етілмеген клиент сайтқа кіреді, сонда сайт оны таниды және ол үшін жеке ақпаратты көрсетеді: шолу тарихы, сатып алу тарихы, бонустық ұпайлардың ағымдағы саны және т.б., логин ретінде электрондық поштаны пайдаланады. 
Деңгейі: пайдаланушы мақсаты
Басты кейіпкер: клиент (біздің интернет-дүкеннің келушісі)
Қолдану аясы: Клиенттің интернет-дүкен веб-сайтымен өзара әрекеттесуі
Мүдделі тараптар мен мүдделер:

  • маркетолог жеке хабарламаларды көбірек қамту үшін сайтқа кірушілердің максималды санының анықталғанын қалайды,
  • қауіпсіздік маманы келушінің жеке деректеріне рұқсатсыз қол жеткізу жағдайларының, соның ішінде бір тіркелгі үшін құпия сөзді табу немесе әлсіз құпия сөзі бар тіркелгіні іздеу әрекеттерінің болмауын қамтамасыз етуді қалайды;
  • шабуылдаушы жәбірленушінің бонустарына қол жеткізгісі келеді,
  • бәсекелестер өнімге теріс пікірлер қалдырғысы келеді,
  • Ботнет дүкеннің тұтынушылар базасын алып, сайтты жұмыс істемейтін ету үшін шабуылды қолданғысы келеді.

Алғышарттар: келушінің рұқсаты болмауы керек.
Ең төменгі кепілдіктер: келуші авторизация әрекетінің сәтті немесе сәтсіз болғанын біледі.
Табыстың кепілдіктері: келуші рұқсат етілген.

Негізгі сценарий:

  1. Клиент авторизацияны бастайды.
  2. Жүйе клиенттің авторизацияланбағанын растайды және «№ 23 Қауіпсіздік ережесіне» сәйкес берілген сеанстан (бірнеше тіркелгілер үшін әлсіз құпия сөзді іздеу) сәтсіз авторизация әрекеттерінің санынан аспайды.
  3. Жүйе авторизация әрекеттерінің саны үшін есептегішті арттырады.
  4. Жүйе клиентке авторизация пішінін көрсетеді.
  5. Клиент өзінің электрондық поштасы мен паролін енгізеді.
  6. Жүйе жүйеде осындай электрондық поштасы бар клиенттің болуын және құпия сөздің сәйкестігін және «№ 24 Қауіпсіздік ережесіне» сәйкес осы тіркелгіге кіру әрекеттерінің саны аспайтынын растайды.
  7. Жүйе клиентке рұқсат береді, шолу журналын және осы сеанстың себетін осы клиент тіркелгісінің соңғы сеансымен қосады.
  8. Жүйе авторизацияның сәттілігі туралы хабарды көрсетеді және клиент авторизациялау үшін үзілген сценарий қадамына ауысады. Бұл жағдайда беттегі деректер жеке шот деректерін ескере отырып қайта жүктеледі.

Кеңейтімдер:
2.а. Клиент әлдеқашан рұқсат етілген:
 2.a.1. Жүйе клиентке бұрын орындалған авторизация фактісі туралы хабарлайды және сценарийді үзуді немесе 4-қадамға өтуді ұсынады, ал егер 6-қадам сәтті аяқталса, онда 7-қадам нақтылаумен орындалады:
 2.a.7. Жүйе ескі тіркелгі бойынша клиентті деакторизациялайды, жаңа тіркелгі бойынша клиентті авторизациялайды, бұл өзара әрекеттесу сеансының шолу тарихы мен арбаны ескі тіркелгіде қалады және жаңасына ауыспайды. Содан кейін 8-қадамға өтіңіз.
2.b «Қауіпсіздік ережесі № 23» сәйкес рұқсат ету әрекеттерінің саны шекті мәннен асып кетті:
 2.b.1 4-қадамға өтіңіз, авторизация пішінінде captcha қосымша көрсетіледі
 2.b.6 Жүйе дұрыс captcha енгізуін растайды
    2.b.6.1 Captcha қате енгізілді:
      2.b.6.1.1. жүйе осы тіркелгі үшін де сәтсіз авторизация әрекеттерінің есептегішін арттырады
      2.b.6.1.2. жүйе қате туралы хабарды көрсетеді және 2-қадамға оралады
6.а. Осы электрондық поштамен тіркелгі табылмады:
 6.a.1 Жүйе сәтсіздік туралы хабарды көрсетеді және 2-қадамға өту немесе «Пайдаланушыны тіркеу» сценарийіне өту және енгізілген электрондық поштаны сақтау таңдауын ұсынады,
6.b. Осы электрондық пошта бар тіркелгінің құпия сөзі енгізілгенге сәйкес келмейді:
 6.b.1 Жүйе осы тіркелгіге сәтсіз кіру әрекеттерінің есептегішін арттырады.
 6.b.2 Жүйе сәтсіздік туралы хабарды көрсетеді және «Құпия сөзді қалпына келтіру» сценарийіне өту немесе 2-қадамға өту таңдауын ұсынады.
6.c: Бұл тіркелгі үшін кіру әрекетінің есептегіші "Қауіпсіздік ережесі № 24" шегінен асып кетті.
 6.c.1 Жүйе X минут ішінде тіркелгіге кіруді бұғаттау туралы хабарламаны көрсетеді және 2-қадамға көшеді.

Не деген тамаша

Мақсаттардың толықтығы мен сәйкестігін тексереді, яғни мәселені құрастыру кезеңінде қателерді аз жібере отырып, тексеру үшін басқа талдаушыға талаптар қоюға болады.

Қара жәшік жүйесімен жұмыс істеу автоматтандырылатын нәрсені енгізу әдістерінен әзірлеуді және тапсырыс берушімен келісуді бөлуге мүмкіндік береді.

Бұл талдаушы жолының бөлігі, ыңғайлылықтың негізгі бөліктерінің бірі. Пайдаланушының сценарийі оның қозғалысының негізгі жолдарын анықтайды, бұл дизайнер мен тапсырыс берушінің таңдау еркіндігін айтарлықтай төмендетеді және дизайнды әзірлеу жылдамдығын арттыруға көмектеседі.

Сипаттамадағы әрбір әрекеттесу қадамына ерекшеліктер анықталған орын маған өте риза. Толық АТ жүйесі ерекше жағдайларды өңдеудің қандай да бір түрін қамтамасыз етуі керек, кейбіреулері қолмен, кейбіреулері автоматты түрде (жоғарыдағы мысалдағыдай).

Тәжірибе көрсеткендей, ойластырылмаған ерекше жағдайларды өңдеу жүйені өте ыңғайсыз жүйеге оңай айналдырады. Кеңес заманында шешім қабылдау үшін әртүрлі қызметтерден бірнеше рұқсат алу керек болған оқиға есімде, және соңғы қызмет көрсеткенде қаншалықты ауыр болады, бірақ сіздің өтінішіңіздің аты дұрыс емес немесе басқа қате. пунктуация, бәрін қайта жасаңыз және бәрін қайта үйлестіріңіз.

Мен ерекше жағдайлар үшін ойластырылмаған жүйенің жұмыс логикасы жүйені айтарлықтай қайта өңдеуді қажет ететін жағдайларды жиі кездестіремін. Осыған байланысты талдаушы жұмысының басым бөлігі ерекше жағдайларды өңдеуге жұмсалады.

Диаграммаларға қарағанда мәтіндік белгілер көбірек ерекшеліктерді анықтауға және қамтуға мүмкіндік береді.

Тәжірибеден әдіске қосымша

Пайдалану оқиғасы пайдаланушы оқиғасынан айырмашылығы мәлімдеменің тәуелсіз басымдық берілген бөлігі емес.

Жоғарыдағы сценарийде «6.a. Бұл электрондық поштамен ешбір есептік жазба табылмады.” және келесі қадам «6.a.1 Жүйе қате туралы хабарды көрсетеді және 2-қадамға өтеді.» Сахна артында қандай келеңсіз жайттар қалды? Клиент үшін кез келген қайтару оның деректерді енгізу бойынша жасаған барлық жұмысы полигонға лақтырылғанымен бірдей. (Бұл сценарийде көрінбейді!) Не істеуге болады? Бұл орын алмас үшін сценарийді қайта жасаңыз. Мұны істеу мүмкін бе? Сіз мысал ретінде Google авторизация сценарийін көре аласыз.

Сценарийді оңтайландыру

Кітапта формализация туралы айтылады, бірақ мұндай сценарийлерді оңтайландыру әдістері туралы аз айтылған.

Бірақ сценарийлерді оңтайландыру арқылы әдісті күшейтуге болады, ал пайдалану жағдайын ресімдеу әдісі мұны жасауға мүмкіндік береді. Атап айтқанда, орын алған әрбір ерекшелік туралы ойлану керек, себебін анықтап, ерекшеліктен құтылу немесе тұтынушы сапарын азайту үшін сценарийді қайта құру керек.

Интернет-дүкеннен тапсырыс берген кезде жеткізу қаласын енгізу керек. Дүкен тапсырыс беруші таңдаған қалаға тауарды жеткізе алмайды, себебі ол жерде жеткізілмейді, өлшемдік шектеулерге байланысты немесе тиісті қоймада тауар жоқ.

Тіркеу сатысындағы өзара әрекеттесу сценарийін жай ғана сипаттайтын болсақ, біз «клиентке жеткізу мүмкін емес екенін хабарлап, қаланы немесе арбаның мазмұнын өзгертуді ұсынамыз» деп жаза аламыз (және көптеген жаңадан келген талдаушылар сонда тоқтайды). Бірақ мұндай жағдайлар көп болса, сценарийді оңтайландыруға болады.

Ең алдымен сізге жеткізуге болатын қаланы таңдауға рұқсат беру керек. Мұны қашан істеу керек? Веб-сайтта өнімді таңдамас бұрын (нақтылаумен IP арқылы қаланы автоматты түрде анықтау).

Екіншіден, біз клиентке жеткізе алатын тауарларды ғана таңдауымыз керек. Мұны қашан істеу керек? Таңдау сәтінде - өнім тақтасында және өнім картасында.

Бұл екі өзгеріс осы ерекшелікті жоюға ұзақ жолды жасайды.

Өлшемдер мен метрикаға қойылатын талаптар

Ерекшеліктерді өңдеуді азайту тапсырмасын қарастырған кезде есеп беру тапсырмасын орнатуға болады (пайдалану жағдайы сипатталмаған). Қанша ерекшеліктер болды, олар қандай жағдайларда орын алды, сонымен қатар қанша кіріс сценарийі сәтті өтті.

Бірақ өкінішті. Тәжірибе көрсеткендей, бұл пішіндегі сценарийлер үшін есеп беру талаптары жеткіліксіз, негізінен пайдалану жағдайы түрінде сипатталмаған процестер үшін есеп беру талаптарын қарастыру қажет.

Қолдану мүмкіндігіне қол жеткізу

Біздің тәжірибемізде біз тұтынушыға шешім қабылдау үшін субъектілердің нақты атрибуттары мен деректердің сипаттамасы бар пайдалану жағдайын сипаттау пішінін кеңейттік, бұл кейіннен пайдалану мүмкіндігін арттырады.

Пайдалануға ыңғайлы дизайн үшін біз енгізу бөлімін қостық - деректерді көрсету.

Авторизациясы бар сценарийде бұл жүйеде клиенттің авторизацияланған фактісі. Клиентке алдын ала рұқсат берілген болса, сәтті авторизациядан кейін навигация журналы мен арбаны жаңа тіркелгіге ауыстыру туралы ескертуді көрсетіңіз.

Тұтастай алғанда, бұл клиентке сценарий бойынша өзінің әрі қарайғы әрекеттері туралы шешім қабылдауы үшін қажетті ақпаратты көрсету (бұл деректер клиент үшін жеткілікті ме, тағы не қажет, қандай ақпарат қажет екенін сұрауға болады). клиент шешім қабылдауы керек).  
Сондай-ақ енгізілген ақпаратты енгізу өрістеріне бөлу керек, егер олар бөлек өңделсе және әртүрлі ерекшеліктерді қалыптастырса.

Клиент авторизациясы бар мысалда, егер сіз енгізілген ақпаратты логин мен парольге бөлсеңіз, жеке логин мен жеке парольді енгізу кезеңдерін бөлектеу үшін авторизация сценарийін өзгерткен жөн (және бұл Яндекс, Google-де жасалады, бірақ көптеген интернет-дүкендерде жасалмайды).

Қажетті деректер түрлендірулеріне қол жеткізу

Сондай-ақ сценарийден деректерді түрлендіру алгоритмдеріне қойылатын талаптарды шығаруға болады.

мысалдар:

  • Интернет-дүкенде өнімді сатып алу туралы шешім қабылдау үшін клиент өнім картасында осы өнімнің мүмкіндігін, құнын, оның қаласына жеткізу уақытын білуі керек (олар тауардың қол жетімділігіне негізделген алгоритм бойынша есептеледі). қоймалар және жеткізу тізбегінің параметрлері).
  • Іздеу жолына сөз тіркесін енгізген кезде клиентке алгоритм бойынша іздеу ұсыныстары көрсетіледі (олар алгоритм арқылы жасалады...).

Барлығы

Жалпы, кітапты оқығаннан кейін, өкінішке орай, талдаушыдан бизнес мәселелеріне дейін әзірлеушіге арналған ресми техникалық сипаттамаға дейін қалай өту керектігі түсініксіз. Кітап процестің бір бөлігін ғана баяндайды, енгізу қадамдары анық емес және келесі қадамдар түсініксіз. Қолдану жағдайының өзі көбінесе әзірлеуші ​​үшін толық мәлімдеме емес.

Соған қарамастан, бұл өзара әрекеттесу субъектідегі бірдеңенің өзгеруін тудырған кезде объект пен субъект арасындағы өзара әрекеттесу сценарийлерін ресімдеудің және өңдеудің өте жақсы тәсілі. Бұл нақты ерекшелік іздеу нүктелері бар тексерілетін талаптарға мүмкіндік беретін бірнеше жазу әдістерінің бірі.

Бұл кітап талдаушыларға сыналатын пьесалар жазуды бастау үшін міндетті түрде оқылады.

Ақпарат көзі: www.habr.com

пікір қалдыру