Métode modern pikeun ngajelaskeun syarat fungsional pikeun sistem. Alistair Coburn. Resensi buku sareng tambihan

Buku ngajéntrékeun hiji métode pikeun nuliskeun bagian tina rumusan masalah, nya éta métode use case.

Naon éta? Ieu mangrupikeun pedaran ngeunaan skenario interaksi pangguna sareng sistem (atanapi sareng usaha). Dina hal ieu, sistem tindakan salaku kotak hideung (sareng ieu ngamungkinkeun pikeun ngabagi tugas desain kompléks kana ngarancang interaksi sareng mastikeun interaksi ieu). Dina waktu nu sarua, standar notasi diwanohkeun, nu ensures betah maca, kaasup pikeun non-pamilon, sarta ngamungkinkeun pikeun sababaraha cék pikeun completeness tur patuh kana tujuan stakeholder.

Paké conto kasus

Kumaha skénario éta, nganggo conto otorisasi dina situs via email:

(Sistem) Asup ka situs wéb pikeun ngaksés akun pribadi anjeun. ~~ (muka laut)

Kontéks: Klién anu henteu sah asup kana situs éta supados situs éta ngakuan anjeunna sareng nunjukkeun inpormasi pribadi pikeun anjeunna: sajarah browsing, sajarah pameseran, jumlah titik bonus ayeuna, jsb, nganggo email salaku login. 
Tingkat: tujuan pamaké
Tokoh utama: klien (nganjang toko online kami)
Lingkup: Interaksi klien sareng situs wéb toko online
Stakeholder sareng kapentingan:

  • nu marketer hayang jumlah maksimum nu datang loka pikeun diidentifikasi pikeun sinyalna gede tina mailings pribadi,
  • Spésialis kaamanan hoyong mastikeun yén teu aya kasus aksés anu henteu sah kana data pribadi sémah, kalebet usaha nebak kecap konci pikeun hiji akun atanapi milarian akun kalayan kecap konci anu lemah,
  • panyerang hoyong kéngingkeun aksés kana bonus korban,
  • pesaing hoyong ninggalkeun ulasan négatip on produk,
  • Botnet hoyong kéngingkeun basis palanggan toko sareng nganggo serangan pikeun ngajantenkeun situsna teu tiasa dianggo.

Prasyarat: nu datang teu kudu otorisasi.
Jaminan minimum: nganjang bakal terang naha usaha otorisasina suksés atanapi henteu suksés.
Jaminan sukses: nu datang téh otorisasi.

Skenario utama:

  1. Klién ngamimitian otorisasina.
  2. Sistim nu confirms yén klien nu teu otorisasi sarta henteu ngaleuwihan jumlah usaha otorisasina gagal tina sési dibikeun (néangan sandi lemah keur sababaraha rekening) nurutkeun "Aturan Kaamanan No. 23".
  3. Sistim naek counter pikeun Jumlah usaha otorisasina.
  4. Sistem mintonkeun formulir otorisasina ka klien.
  5. Klién ngalebetkeun email sareng kecap akses na.
  6. Sistem negeskeun ayana klien sareng email sapertos kitu dina sistem sareng kecap konci anu cocog sareng jumlah usaha login ka akun ieu henteu ngaleuwihan nurutkeun "Aturan Kaamanan No. 24".
  7. Sistim nu authorizes klien nu, nambahkeun sajarah browsing jeung karinjang sési ieu kalawan sési panungtungan akun klien ieu.
  8. Sistim nu mintonkeun pesen kasuksésan otorisasi sarta pindah ka hambalan naskah ti mana klien ieu interrupted pikeun otorisasina. Dina hal ieu, data dina kaca ieu reloaded nyokot akun data akun pribadi.

Ekstensi:
2.a. Klién parantos otorisasi:
 2.a.1. Sistem ngabéjaan ka klien ngeunaan kanyataan otorisasi anu dilakukeun sateuacana sareng nawiskeun pikeun ngaganggu naskah atanapi angkat ka lengkah 4, sareng upami léngkah 6 parantos réngsé, maka léngkah 7 dilaksanakeun kalayan klarifikasi:
 2.a.7. Sistim nu deactorizes klien dina akun heubeul, authorizes klien dina akun anyar, bari sajarah browsing jeung karanjang tina sési interaksi ieu tetep dina akun heubeul na teu mindahkeun ka nu anyar. Salajengna, buka lengkah 8.
2.b Jumlah usaha otorisasi geus ngaleuwihan bangbarung nurutkeun "Aturan Kaamanan No. 23":
 2.b.1 Pindah ka lengkah 4, a captcha tambahan dipintonkeun dina formulir otorisasina
 2.b.6 Sistim confirms entri captcha bener
    2.b.6.1 Captcha salah ngasupkeun:
      2.b.6.1.1. sistem naek counter usaha otorisasina gagal pikeun akun ieu ogé
      2.b.6.1.2. sistem nampilkeun pesen gagal sareng uih deui ka lengkah 2
6.a. Teu aya akun sareng email ieu anu kapendak:
 6.a.1 Sistim mintonkeun pesen ngeunaan kagagalan sarta nawarkeun pilihan boh bade lengkah 2 atanapi bade skenario "Pamaké Pendaftaran" jeung nyimpen surelek diasupkeun,
6.b. Sandi pikeun akun anu nganggo email ieu henteu cocog sareng anu diasupkeun:
 6.b.1 Sistim ngaronjatkeun counter tina usaha login gagal kana rekening ieu.
 6.b.2 Sistem nampilkeun pesen ngeunaan kagagalan sareng nawiskeun pilihan boh kana skenario "Pamulihan Sandi" atanapi lengkah 2.
6.c: Kontra usaha login pikeun akun ieu geus ngaleuwihan ambang pikeun "Aturan Kaamanan No. 24."
 6.c.1 Sistem mintonkeun pesen ngeunaan meungpeuk login akun pikeun X menit sarta proceeds kana hambalan 2.

Naon hébat

Mariksa kasampurnaan sareng patuh kana tujuan, nyaéta, anjeun tiasa masihan sarat ka analis sanés pikeun verifikasi, ngadamel langkung sakedik kasalahan dina tahap rumusan masalah.

Gawe sareng sistem kotak hideung ngidinan Anjeun pikeun misahkeun ngembangkeun sarta koordinasi jeung nasabah naon bakal otomatis tina métode palaksanaan.

Ieu bagian tina jalur analis, salah sahiji bagian utama usability. Skenario pamaké ngahartikeun jalur utama gerakan-Na, nu greatly ngurangan kabebasan pilihan pikeun désainer jeung nasabah tur mantuan pikeun ngaronjatkeun laju ngembangkeun desain.

Abdi bagja pisan sareng tempat dina katerangan dimana pengecualian pikeun tiap léngkah interaksi diidentifikasi. Sistem IT anu lengkep kedah nyayogikeun sababaraha jinis penanganan iwal, sababaraha sacara manual, sababaraha otomatis (sapertos dina conto di luhur).

Pangalaman nunjukkeun yén penanganan pengecualian anu teu dipikiran sacara gampang tiasa ngarobih sistem janten sistem anu teu pikaresepeun. Abdi émut carita nalika di jaman Soviét, pikeun nyandak kaputusan, anjeun kedah nampi sababaraha persetujuan ti jasa anu béda, sareng kumaha nyerina nalika palayanan terakhir nyarios - tapi aplikasi anjeun dina nami anu salah atanapi sababaraha kasalahan anu sanés. tanda baca, redo sagalana jeung ulang koordinat sagalana.

Kuring mindeng datang di sakuliah kaayaan dimana logika operasi sistem nu teu dipikir kaluar pikeun iwal merlukeun reworking signifikan tina sistem. Kusabab ieu, bagian singa tina karya analis urang spent dina penanganan iwal.

Notasi téks, sabalikna tina diagram, ngamungkinkeun langkung seueur pengecualian pikeun diidentifikasi sareng ditutupan.

Tambihan metode tina prakték

Kasus pamakean sanés bagian anu diprioritaskeun sacara mandiri tina pernyataan, teu sapertos carita pangguna.

Dina skenario di luhur, mertimbangkeun iwal "6.a. Teu aya akun sareng email ieu anu kapendak. sareng lengkah salajengna "6.a.1 Sistem nampilkeun pesen gagal sareng neraskeun ka lengkah 2." Naon hal négatip nu ditinggalkeun balik layar? Pikeun klien, balik wae nya tantamount kanyataan yén sakabéh karya manéhna ngasupkeun data dialungkeun kana TPA. (Ieu ngan teu katempo dina naskah!) Naon anu bisa dipigawé? Bangun deui naskah supados henteu kajantenan. Éta mungkin pikeun ngalakukeun ieu? Anjeun tiasa - sabagé conto, tingali naskah otorisasi Google.

Optimasi skenario

Buku ceramah ngeunaan formalization, tapi nyebutkeun saeutik ngeunaan métode pikeun optimizing skenario sapertos.

Tapi kasebut nyaéta dimungkinkeun pikeun nguatkeun métode ku cara ngaoptimalkeun skenario, sarta metoda formalisasi use case ngamungkinkeun ieu dipigawé. Husus, Anjeun kudu mikir ngeunaan unggal iwal anu lumangsung, nangtukeun cukang lantaranana, sarta ngawangun deui naskah ku kituna meunang leupas tina iwal atawa ngaleutikan lalampahan customer.

Nalika nempatkeun pesenan ti toko online, anjeun kedah asupkeun kota pangiriman. Tétéla yén toko teu tiasa nganteurkeun barang ka kota anu dipilih ku klien sabab henteu nganteurkeun ka dinya, kusabab larangan ukuran, atanapi kusabab kurangna barang di gudang anu saluyu.

Upami urang ngan saukur ngajelaskeun skenario interaksi dina tahap pendaptaran, urang tiasa nyerat "nginpokeun ka klien yén pangiriman teu mungkin sareng nawiskeun ngarobih kota atanapi eusi karanjang" (sareng seueur analis novice eureun di dinya). Tapi upami aya seueur kasus sapertos kitu, skenariona tiasa dioptimalkeun.

Hal kahiji anu anjeun kedah laksanakeun nyaéta ngantepkeun anjeun ngan ukur milih kota dimana urang tiasa nganteurkeun. Iraha ngalakukeun ieu? Sateuacan milih produk dina website (autodetection kota via IP kalawan klarifikasi).

Kadua, urang kedah masihan pilihan ngan ukur barang anu tiasa kami kirimkeun ka klien. Iraha ngalakukeun ieu? Dina momen seleksi - dina kotak produk jeung kartu produk.

Dua parobihan ieu jalan jauh pikeun ngaleungitkeun pengecualian ieu.

Sarat pikeun pangukuran sareng métrik

Nalika nganggap tugas ngaminimalkeun penanganan pengecualian, anjeun tiasa nyetél tugas ngalaporkeun (kasus panggunaan henteu dijelaskeun). Sabaraha pangecualian aya, dina kasus naon anu kajantenan, ditambah sabaraha skénario anu datang anu suksés.

Tapi hanjakal. Pangalaman nunjukkeun yén syarat ngalaporkeun pikeun skénario dina bentuk ieu henteu cekap; perlu mertimbangkeun syarat ngalaporkeun pikeun prosés anu dijelaskeun utamina henteu dina bentuk kasus panggunaan.

Aksés ka Usability

Dina prakték urang, kami geus dimekarkeun formulir pedaran kasus pamakéan kalawan pedaran atribut husus entitas jeung data pikeun klien nyieun kaputusan, nu ngaronjatkeun usability saterusna.

Pikeun desain usability, kami ditambahkeun bagian input - tampilan data.

Dina skenario kalawan otorisasina, ieu kanyataan yén klien ieu otorisasi dina sistem. Upami klien tos diidinan, teras tunjukkeun peringatan ngeunaan ngalihkeun riwayat navigasi sareng karanjang ka akun énggal saatos otorisasi suksés.

Sacara umum, ieu mangrupikeun tampilan inpormasi anu dipikabutuh pikeun klien ku kituna anjeunna tiasa nyandak kaputusan ngeunaan tindakan salajengnana dumasar kana skenario (anjeun tiasa naroskeun naha data ieu cekap pikeun klien, naon deui anu diperyogikeun, inpormasi naon anu dilakukeun. klien kudu nyieun kaputusan).  
Éta ogé patut ngabagi inpormasi anu diasupkeun kana widang input upami aranjeunna diolah nyalira sareng formasi pengecualian anu béda.

Dina conto sareng otorisasi klien, upami anjeun misahkeun inpormasi anu diasupkeun kana login sareng kecap akses, maka anjeun kedah ngarobih naskah otorisasina pikeun nyorot tahapan ngalebetkeun login anu misah sareng kecap akses anu misah (sareng ieu dilakukeun dina Yandex, Google, tapi henteu dilakukeun di kalolobaan toko online).

Ngahontal transformasi data anu diperyogikeun

Anjeun oge bisa nimba sarat pikeun algoritma konversi data tina naskah.

conto:

  • Pikeun nyandak kaputusan mésér produk di toko online, klien kedah terang dina kartu produk kamungkinan, biaya, waktos pangiriman ka kotana produk ieu (anu diitung ku algoritma dumasar kana kasadiaan produk di gudang sareng parameter ranté suplai).
  • Nalika ngasupkeun frase kana garis pilarian, klien nu ditémbongkeun bongbolongan pilarian nurutkeun algoritma (anu dihasilkeun ku algoritma nu ...).

dina total

Sacara umum, sanggeus maca buku, hanjakalna, teu jelas kumaha balik sagala cara ti analis kana masalah bisnis ka spésifikasi teknis formalized pikeun pamekar a. Buku éta ngan ukur nyarioskeun bagian tina prosésna, kalayan léngkah-léngkah inputna teu jelas sareng léngkah-léngkah salajengna teu jelas. Kasus pamakéan sorangan paling sering sanes pernyataan lengkep pikeun pamekar.

Nanging, ieu mangrupikeun cara anu saé pikeun ngaformalkeun sareng ngolah skénario interaksi antara hiji obyék sareng subjek, nalika interaksi nyababkeun parobihan dina hiji hal dina subjek. Ieu mangrupikeun salah sahiji ti saeutik metode tulisan anu ngamungkinkeun syarat anu tiasa diverifikasi kalayan titik pamilarian pengecualian eksplisit.

Buku ieu kedah dibaca pikeun analis pikeun ngamimitian nyerat drama anu tiasa diuji.

sumber: www.habr.com

Tambahkeun komentar