సిస్టమ్స్ కోసం ఫంక్షనల్ అవసరాలను వివరించడానికి ఆధునిక పద్ధతులు. అలిస్టర్ కోబర్న్. పుస్తకం యొక్క సమీక్ష మరియు చేర్పులు

సమస్య స్టేట్‌మెంట్‌లో కొంత భాగాన్ని వ్రాయడానికి పుస్తకం ఒక పద్ధతిని వివరిస్తుంది, అవి వినియోగ కేసు పద్ధతి.

అదేంటి? ఇది సిస్టమ్‌తో (లేదా వ్యాపారంతో) వినియోగదారు పరస్పర చర్య యొక్క వివరణ. ఈ సందర్భంలో, సిస్టమ్ బ్లాక్ బాక్స్‌గా పనిచేస్తుంది (మరియు ఇది సంక్లిష్టమైన డిజైన్ టాస్క్‌ను ఇంటరాక్షన్‌ని డిజైన్ చేయడం మరియు ఈ ఇంటరాక్షన్‌ని నిర్ధారించడంగా విభజించడం సాధ్యం చేస్తుంది). అదే సమయంలో, సంజ్ఞామాన ప్రమాణాలు ప్రవేశపెట్టబడ్డాయి, ఇది పాల్గొనని వారితో సహా పఠన సౌలభ్యాన్ని నిర్ధారిస్తుంది మరియు వాటాదారు యొక్క లక్ష్యాలతో సంపూర్ణత మరియు సమ్మతి కోసం కొన్ని తనిఖీలను అనుమతిస్తుంది.

కేసు ఉదాహరణ ఉపయోగించండి

ఇమెయిల్ ద్వారా సైట్‌లో అధికారం యొక్క ఉదాహరణను ఉపయోగించి, దృశ్యం ఎలా ఉంటుంది:

(సిస్టమ్) మీ వ్యక్తిగత ఖాతాను యాక్సెస్ చేయడానికి వెబ్‌సైట్‌కి లాగిన్ చేయండి. ~~ (సముద్ర మట్టం)

సందర్భం: ఒక అనధికారిక క్లయింట్ సైట్‌కి లాగ్ ఇన్ చేస్తాడు, తద్వారా సైట్ అతనిని గుర్తించి అతని కోసం వ్యక్తిగత సమాచారాన్ని చూపుతుంది: బ్రౌజింగ్ చరిత్ర, కొనుగోలు చరిత్ర, ప్రస్తుత బోనస్ పాయింట్ల సంఖ్య మొదలైనవి, ఇమెయిల్‌ను లాగిన్‌గా ఉపయోగిస్తుంది. 
స్థాయి: వినియోగదారు లక్ష్యం
ప్రధాన పాత్ర: క్లయింట్ (మా ఆన్‌లైన్ స్టోర్ సందర్శకుడు)
పరిధి: ఆన్‌లైన్ స్టోర్ వెబ్‌సైట్‌తో క్లయింట్ పరస్పర చర్య
వాటాదారులు మరియు ఆసక్తులు:

  • వ్యక్తిగత మెయిలింగ్‌ల యొక్క ఎక్కువ కవరేజీ కోసం గరిష్ట సంఖ్యలో సైట్ సందర్శకులను గుర్తించాలని విక్రయదారుడు కోరుకుంటాడు,
  • భద్రతా నిపుణుడు ఒక ఖాతా కోసం పాస్‌వర్డ్‌ను ఊహించడం లేదా బలహీనమైన పాస్‌వర్డ్‌తో ఖాతా కోసం శోధించడంతో సహా సందర్శకుల వ్యక్తిగత డేటాకు అనధికారిక యాక్సెస్ కేసులు లేవని నిర్ధారించుకోవాలి.
  • దాడి చేసే వ్యక్తి బాధితుని బోనస్‌లను పొందాలనుకుంటున్నాడు,
  • పోటీదారులు ఉత్పత్తులపై ప్రతికూల సమీక్షలను ఇవ్వాలనుకుంటున్నారు,
  • బోట్‌నెట్ స్టోర్ కస్టమర్ బేస్‌ను పొందాలని మరియు సైట్‌ను పనికిరాకుండా చేయడానికి దాడిని ఉపయోగించాలనుకుంటోంది.

ముందస్తు షరతులు: సందర్శకుడికి అధికారం ఉండకూడదు.
కనీస హామీలు: అధికార ప్రయత్నం విజయవంతమైందా లేదా విఫలమైందో సందర్శకుడికి తెలుస్తుంది.
విజయానికి హామీలు: సందర్శకుడికి అధికారం ఉంది.

ప్రధాన దృశ్యం:

  1. క్లయింట్ అధికారాన్ని ప్రారంభిస్తాడు.
  2. "సెక్యూరిటీ రూల్ నం. 23" ప్రకారం క్లయింట్‌కు అధికారం లేదని మరియు ఇచ్చిన సెషన్ (బహుళ ఖాతాల కోసం బలహీనమైన పాస్‌వర్డ్ కోసం శోధించడం) నుండి విజయవంతం కాని అధికార ప్రయత్నాల సంఖ్యను మించలేదని సిస్టమ్ నిర్ధారిస్తుంది.
  3. సిస్టమ్ అధికార ప్రయత్నాల సంఖ్య కోసం కౌంటర్‌ను పెంచుతుంది.
  4. సిస్టమ్ క్లయింట్‌కు అధికార ఫారమ్‌ను ప్రదర్శిస్తుంది.
  5. క్లయింట్ తన ఇమెయిల్ మరియు పాస్వర్డ్ను నమోదు చేస్తాడు.
  6. సిస్టమ్ సిస్టమ్‌లో అటువంటి ఇమెయిల్‌తో క్లయింట్ ఉనికిని నిర్ధారిస్తుంది మరియు పాస్‌వర్డ్ సరిపోలుతుందని మరియు ఈ ఖాతాకు లాగిన్ ప్రయత్నాల సంఖ్య "సెక్యూరిటీ రూల్ నం. 24" ప్రకారం మించబడదని నిర్ధారిస్తుంది.
  7. సిస్టమ్ క్లయింట్‌కు అధికారం ఇస్తుంది, ఈ క్లయింట్ ఖాతా యొక్క చివరి సెషన్‌తో బ్రౌజింగ్ చరిత్ర మరియు ఈ సెషన్ యొక్క బాస్కెట్‌ను జోడిస్తుంది.
  8. సిస్టమ్ అధికార విజయ సందేశాన్ని ప్రదర్శిస్తుంది మరియు ఆథరైజేషన్ కోసం క్లయింట్ అంతరాయం కలిగించిన స్క్రిప్ట్ దశకు వెళుతుంది. ఈ సందర్భంలో, వ్యక్తిగత ఖాతా డేటాను పరిగణనలోకి తీసుకొని పేజీలోని డేటా మళ్లీ లోడ్ చేయబడుతుంది.

పొడిగింపులు:
2.a క్లయింట్ ఇప్పటికే అధికారం కలిగి ఉంది:
 2.a.1. సిస్టమ్ మునుపు ప్రదర్శించిన అధికారాన్ని గురించి క్లయింట్‌కు తెలియజేస్తుంది మరియు స్క్రిప్ట్‌కు అంతరాయం కలిగించడానికి లేదా 4వ దశకు వెళ్లమని ఆఫర్ చేస్తుంది మరియు దశ 6 విజయవంతంగా పూర్తయితే, స్టెప్ 7 స్పష్టీకరణతో నిర్వహించబడుతుంది:
 2.a.7. సిస్టమ్ పాత ఖాతా కింద క్లయింట్‌ను డీయాక్టరైజ్ చేస్తుంది, కొత్త ఖాతా కింద క్లయింట్‌ను ఆథరైజ్ చేస్తుంది, అయితే ఈ ఇంటరాక్షన్ సెషన్ యొక్క బ్రౌజింగ్ చరిత్ర మరియు కార్ట్ పాత ఖాతాలోనే ఉంటాయి మరియు కొత్తదానికి బదిలీ చేయవు. తర్వాత, 8వ దశకు వెళ్లండి.
2.b "సెక్యూరిటీ రూల్ నం. 23" ప్రకారం అధికార ప్రయత్నాల సంఖ్య థ్రెషోల్డ్‌ని మించిపోయింది:
 2.b.1 4వ దశకు వెళ్లండి, ఆథరైజేషన్ ఫారమ్‌లో క్యాప్చా అదనంగా ప్రదర్శించబడుతుంది
 2.b.6 సిస్టమ్ సరైన క్యాప్చా ఎంట్రీని నిర్ధారిస్తుంది
    2.b.6.1 Captcha తప్పుగా నమోదు చేయబడింది:
      2.b.6.1.1. సిస్టమ్ ఈ ఖాతా కోసం విఫలమైన అధికార ప్రయత్నాల కౌంటర్‌ను కూడా పెంచుతుంది
      2.b.6.1.2. సిస్టమ్ వైఫల్య సందేశాన్ని ప్రదర్శిస్తుంది మరియు దశ 2కి తిరిగి వస్తుంది
6.a ఈ ఇమెయిల్‌తో ఖాతా ఏదీ కనుగొనబడలేదు:
 6.a.1 సిస్టమ్ వైఫల్యం గురించి సందేశాన్ని ప్రదర్శిస్తుంది మరియు 2వ దశకు వెళ్లడం లేదా “వినియోగదారు నమోదు” దృశ్యానికి వెళ్లి నమోదు చేసిన ఇమెయిల్‌ను సేవ్ చేయడం వంటి ఎంపికను అందిస్తుంది,
6.బి. ఈ ఇమెయిల్‌తో ఉన్న ఖాతా పాస్‌వర్డ్ నమోదు చేసిన దానితో సరిపోలడం లేదు:
 6.b.1 సిస్టమ్ ఈ ఖాతాకు విఫలమైన లాగిన్ ప్రయత్నాల కౌంటర్‌ను పెంచుతుంది.
 6.b.2 సిస్టమ్ వైఫల్యం గురించి సందేశాన్ని ప్రదర్శిస్తుంది మరియు "పాస్‌వర్డ్ రికవరీ" దృశ్యానికి వెళ్లడం లేదా 2వ దశకు వెళ్లే ఎంపికను అందిస్తుంది.
6.c: ఈ ఖాతా కోసం లాగిన్ అటెంప్ట్ కౌంటర్ "సెక్యూరిటీ రూల్ నం. 24" థ్రెషోల్డ్‌ని మించిపోయింది.
 6.c.1 సిస్టమ్ X నిమిషాల పాటు ఖాతా లాగిన్ బ్లాకింగ్ గురించి సందేశాన్ని ప్రదర్శిస్తుంది మరియు దశ 2కి కొనసాగుతుంది.

ఏం గొప్ప

లక్ష్యాలతో సంపూర్ణత మరియు సమ్మతి కోసం తనిఖీలు, అనగా, మీరు ధృవీకరణ కోసం మరొక విశ్లేషకుడికి అవసరాలు ఇవ్వవచ్చు, సమస్య సూత్రీకరణ దశలో తక్కువ తప్పులు చేయవచ్చు.

బ్లాక్ బాక్స్ సిస్టమ్‌తో పని చేయడం వలన కస్టమర్‌తో అభివృద్ధి మరియు సమన్వయాన్ని అమలు చేసే పద్ధతుల నుండి స్వయంచాలకంగా వేరు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.

ఇది విశ్లేషకుల మార్గంలో భాగం, వినియోగం యొక్క ప్రధాన భాగాలలో ఒకటి. వినియోగదారు యొక్క దృశ్యం అతని కదలిక యొక్క ప్రధాన మార్గాలను నిర్వచిస్తుంది, ఇది డిజైనర్ మరియు కస్టమర్ ఎంపిక స్వేచ్ఛను బాగా తగ్గిస్తుంది మరియు డిజైన్ అభివృద్ధి వేగాన్ని పెంచడానికి సహాయపడుతుంది.

ప్రతి ఇంటరాక్షన్ దశకు మినహాయింపులు గుర్తించబడిన వివరణలోని స్థలంతో నేను చాలా సంతోషిస్తున్నాను. పూర్తి IT వ్యవస్థ తప్పనిసరిగా కొన్ని రకాల మినహాయింపు నిర్వహణను అందించాలి, కొన్ని మానవీయంగా, కొన్ని స్వయంచాలకంగా (పై ఉదాహరణలో వలె).

తప్పుగా ఆలోచించిన మినహాయింపు నిర్వహణ వ్యవస్థను సులభంగా ఒక భయంకరమైన అసౌకర్య వ్యవస్థగా మార్చగలదని అనుభవం చూపిస్తుంది. సోవియట్ కాలంలో, నిర్ణయం తీసుకోవడానికి, మీరు వివిధ సేవల నుండి అనేక అనుమతులను పొందవలసి వచ్చినప్పుడు మరియు చివరి సేవ చెప్పినప్పుడు అది ఎంత బాధాకరమైనదో నాకు కథ గుర్తుంది - కానీ మీ దరఖాస్తు తప్పు పేరులో లేదా ఏదైనా తప్పులో ఉంది విరామ చిహ్నాలు, ప్రతిదీ మళ్లీ చేయండి మరియు ప్రతిదానిని తిరిగి సమన్వయం చేయండి.

మినహాయింపుల కోసం ఆలోచించని సిస్టమ్ యొక్క ఆపరేటింగ్ లాజిక్ సిస్టమ్ యొక్క గణనీయమైన పునర్నిర్మాణం అవసరమయ్యే పరిస్థితులను నేను తరచుగా చూస్తాను. దీని కారణంగా, విశ్లేషకుల పనిలో సింహభాగం మినహాయింపు నిర్వహణకు ఖర్చు చేయబడుతుంది.

టెక్స్ట్ సంజ్ఞామానం, రేఖాచిత్రాలకు విరుద్ధంగా, మరిన్ని మినహాయింపులను గుర్తించడానికి మరియు కవర్ చేయడానికి అనుమతిస్తుంది.

అభ్యాసం నుండి పద్ధతికి అదనంగా

వినియోగదారు కథనం వలె కాకుండా, వినియోగ సందర్భం స్టేట్‌మెంట్‌లో స్వతంత్రంగా ప్రాధాన్యతనిచ్చే భాగం కాదు.

పై దృష్టాంతంలో, మినహాయింపు “6.a. ఈ ఇమెయిల్‌తో ఖాతా ఏదీ కనుగొనబడలేదు. మరియు తదుపరి దశ “6.a.1 సిస్టమ్ వైఫల్య సందేశాన్ని ప్రదర్శిస్తుంది మరియు దశ 2కి కొనసాగుతుంది.” తెర వెనుక ఎలాంటి ప్రతికూల విషయాలు మిగిలిపోయాయి? క్లయింట్ కోసం, ఏదైనా రిటర్న్ అతను డేటాను నమోదు చేయడంలో చేసిన పని అంతా ల్యాండ్‌ఫిల్‌లోకి విసిరివేయబడిందనే వాస్తవంతో సమానం. (ఇది స్క్రిప్ట్‌లో కనిపించదు!) ఏమి చేయవచ్చు? అలా జరగకుండా ఉండేలా స్క్రిప్ట్‌ని పునర్నిర్మించండి. ఇలా చేయడం సాధ్యమేనా? మీరు - ఒక ఉదాహరణగా, Google అధికార స్క్రిప్ట్‌ని చూడండి.

దృశ్య ఆప్టిమైజేషన్

పుస్తకం ఫార్మలైజేషన్ గురించి మాట్లాడుతుంది, కానీ అలాంటి దృశ్యాలను ఆప్టిమైజ్ చేసే పద్ధతుల గురించి కొంచెం చెబుతుంది.

కానీ దృశ్యాలను ఆప్టిమైజ్ చేయడం ద్వారా పద్ధతిని బలోపేతం చేయడం సాధ్యపడుతుంది మరియు యూజ్ కేస్ ఫార్మలైజేషన్ పద్ధతి దీన్ని చేయడానికి అనుమతిస్తుంది. ప్రత్యేకంగా, మీరు సంభవించే ప్రతి మినహాయింపు గురించి ఆలోచించాలి, కారణాన్ని గుర్తించాలి మరియు మినహాయింపు నుండి బయటపడటానికి లేదా కస్టమర్ ప్రయాణాన్ని తగ్గించడానికి స్క్రిప్ట్‌ను పునర్నిర్మించాలి.

ఆన్‌లైన్ స్టోర్ నుండి ఆర్డర్ చేసినప్పుడు, మీరు తప్పనిసరిగా డెలివరీ సిటీని నమోదు చేయాలి. పరిమాణ పరిమితుల కారణంగా లేదా సంబంధిత గిడ్డంగిలో వస్తువులు లేకపోవడం వల్ల దుకాణం క్లయింట్ ఎంచుకున్న నగరానికి వస్తువులను బట్వాడా చేయలేదని తేలింది.

మేము రిజిస్ట్రేషన్ దశలో పరస్పర చర్య యొక్క దృష్టాంతాన్ని వివరించినట్లయితే, మేము "డెలివరీ అసాధ్యమని క్లయింట్‌కు తెలియజేయండి మరియు నగరాన్ని లేదా కార్ట్‌లోని కంటెంట్‌లను మార్చమని ఆఫర్ చేయండి" (మరియు చాలా మంది అనుభవం లేని విశ్లేషకులు అక్కడ ఆగిపోతారు) అని వ్రాయవచ్చు. కానీ అలాంటి సందర్భాలు చాలా ఉంటే, అప్పుడు దృశ్యాన్ని ఆప్టిమైజ్ చేయవచ్చు.

మీరు చేయవలసిన మొదటి విషయం ఏమిటంటే, మేము బట్వాడా చేయగల నగరాన్ని మాత్రమే ఎంచుకోవాలి. దీన్ని ఎప్పుడు చేయాలి? వెబ్‌సైట్‌లో ఉత్పత్తిని ఎంచుకునే ముందు (క్లరిఫికేషన్‌తో IP ద్వారా నగరం యొక్క స్వీయ గుర్తింపు).

రెండవది, మేము క్లయింట్‌కు డెలివరీ చేయగల వస్తువుల ఎంపికను మాత్రమే ఇవ్వాలి. దీన్ని ఎప్పుడు చేయాలి? ఎంపిక సమయంలో - ఉత్పత్తి టైల్ మరియు ఉత్పత్తి కార్డుపై.

ఈ రెండు మార్పులు ఈ మినహాయింపును తొలగించడానికి చాలా దూరం వెళ్తాయి.

కొలతలు మరియు కొలమానాల కోసం అవసరాలు

మినహాయింపు నిర్వహణను తగ్గించే పనిని పరిశీలిస్తున్నప్పుడు, మీరు రిపోర్టింగ్ టాస్క్‌ను సెట్ చేయవచ్చు (ఉపయోగ సందర్భం వివరించబడలేదు). ఎన్ని మినహాయింపులు ఉన్నాయి, ఏ సందర్భాలలో అవి సంభవించాయి, ఇంకా ఎన్ని ఇన్‌కమింగ్ దృశ్యాలు విజయవంతంగా ఆమోదించబడ్డాయి.

కానీ అయ్యో. ఈ ఫారమ్‌లోని దృశ్యాల కోసం రిపోర్టింగ్ అవసరాలు సరిపోవని అనుభవం చూపించింది; ప్రధానంగా వినియోగ కేసు రూపంలో వివరించబడని ప్రక్రియల కోసం రిపోర్టింగ్ అవసరాలను పరిగణనలోకి తీసుకోవడం అవసరం.

వినియోగానికి ప్రాప్యత

మా ఆచరణలో, క్లయింట్ నిర్ణయం తీసుకోవడానికి ఎంటిటీలు మరియు డేటా యొక్క నిర్దిష్ట లక్షణాల వివరణతో మేము వినియోగ కేసు వివరణ ఫారమ్‌ను విస్తరించాము, ఇది తదుపరి వినియోగాన్ని మెరుగుపరుస్తుంది.

వినియోగ రూపకల్పన కోసం, మేము ఇన్‌పుట్ విభాగాన్ని జోడించాము - ప్రదర్శన డేటా.

అధికారం ఉన్న దృష్టాంతంలో, క్లయింట్ సిస్టమ్‌లో అధికారం కలిగి ఉన్న వాస్తవం ఇది. క్లయింట్ ముందస్తు అధికారం కలిగి ఉన్నట్లయితే, విజయవంతమైన అధికారం తర్వాత నావిగేషన్ చరిత్ర మరియు కార్ట్‌ను కొత్త ఖాతాకు మార్చడం గురించి హెచ్చరికను ప్రదర్శించండి.

సాధారణంగా, ఇది క్లయింట్‌కు అవసరమైన సమాచారం యొక్క ప్రదర్శన, తద్వారా అతను దృష్టాంతంలో తన తదుపరి చర్యల గురించి నిర్ణయం తీసుకోగలడు (క్లయింట్‌కి ఈ డేటా సరిపోతుందా, ఇంకా ఏమి కావాలి, ఏ సమాచారం చేస్తుంది అని మీరు అడగవచ్చు. క్లయింట్ నిర్ణయాలు తీసుకోవాలి).  
ఎంటర్ చేసిన సమాచారాన్ని ఇన్‌పుట్ ఫీల్డ్‌లుగా విభజించడం కూడా విలువైనది, అవి విడిగా మరియు వివిధ మినహాయింపుల ఏర్పాటుతో ప్రాసెస్ చేయబడితే.

క్లయింట్ అధికారం ఉన్న ఉదాహరణలో, మీరు నమోదు చేసిన సమాచారాన్ని లాగిన్ మరియు పాస్‌వర్డ్‌గా విభజిస్తే, ప్రత్యేక లాగిన్ మరియు ప్రత్యేక పాస్‌వర్డ్‌ను నమోదు చేసే దశలను హైలైట్ చేయడానికి అధికార స్క్రిప్ట్‌ను మార్చడం విలువైనదే (మరియు ఇది Yandex, Google లో జరుగుతుంది, కానీ చాలా ఆన్‌లైన్ స్టోర్‌లలో చేయలేదు).

అవసరమైన డేటా పరివర్తనలను చేరుకోవడం

మీరు స్క్రిప్ట్ నుండి డేటా మార్పిడి అల్గారిథమ్‌ల కోసం అవసరాలను కూడా సంగ్రహించవచ్చు.

ఉదాహరణలు:

  • ఆన్‌లైన్ స్టోర్‌లో ఉత్పత్తిని కొనుగోలు చేయాలనే నిర్ణయం తీసుకోవడానికి, క్లయింట్ ఈ ఉత్పత్తి యొక్క అవకాశం, ధర, అతని నగరానికి డెలివరీ సమయం (ఇవి ఉత్పత్తి యొక్క లభ్యత ఆధారంగా అల్గోరిథం ద్వారా లెక్కించబడతాయి) ఉత్పత్తి కార్డ్‌పై తెలుసుకోవాలి. గిడ్డంగులు మరియు సరఫరా గొలుసు పారామితులు).
  • శోధన లైన్‌లో పదబంధాన్ని నమోదు చేస్తున్నప్పుడు, క్లయింట్‌కు అల్గోరిథం ప్రకారం శోధన సూచనలు చూపబడతాయి (అవి అల్గోరిథం ద్వారా రూపొందించబడ్డాయి...).

మొత్తం

సాధారణంగా, పుస్తకాన్ని చదివిన తర్వాత, దురదృష్టవశాత్తూ, విశ్లేషకుడి నుండి వ్యాపార సమస్యల వరకు డెవలపర్ కోసం అధికారిక సాంకేతిక వివరణ వరకు ఎలా వెళ్లాలో స్పష్టంగా లేదు. పుస్తకం ప్రక్రియలో కొంత భాగాన్ని మాత్రమే చెబుతుంది, ఇన్‌పుట్ దశలు అస్పష్టంగా మరియు తదుపరి దశలు అస్పష్టంగా ఉంటాయి. డెవలపర్ కోసం వినియోగ సందర్భం చాలా తరచుగా పూర్తి ప్రకటన కాదు.

ఏది ఏమైనప్పటికీ, ఒక వస్తువు మరియు విషయం మధ్య పరస్పర చర్య యొక్క దృశ్యాలను అధికారికీకరించడానికి మరియు ప్రాసెస్ చేయడానికి ఇది చాలా మంచి మార్గం, పరస్పర చర్య ఏదైనా అంశంలో మార్పును కలిగిస్తుంది. స్పష్టమైన మినహాయింపు శోధన పాయింట్లతో ధృవీకరించదగిన అవసరాలను అనుమతించే కొన్ని వ్రాత పద్ధతుల్లో ఇది ఒకటి.

పరీక్షించదగిన నాటకాలు రాయడం ప్రారంభించడానికి విశ్లేషకులు తప్పనిసరిగా చదవాల్సిన పుస్తకం.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి