Put 04Lekcija 2 / 10

Održavajte sljedivost zahtjeva dok se softver mijenja

Povežite ishod za korisnika s odlukama, kriterijima prihvaćanja, implementacijom i dokazima. Ažurirajte veze kada se pretpostavke promijene.

Praktična primjena10 minPregledano

Objavljuje Kako pišemo

Provjerite razumijevanjeSpecifikacija se promijeni nakon pripreme arhitekture i testova. Što treba učiniti?Napravite vježbu
Specifikacija se promijeni nakon pripreme arhitekture i testova. Što treba učiniti?

Što ćete naučiti

  • Napisati zahtjev čiji se ishod može opažati, s izričitim granicama.
  • Pratiti zahtjev kroz promjenu i njezine provjere.
  • Prepoznati povezane dokumente na koje utječe promijenjena pretpostavka.

Opišite ponašanje koje netko može provjeriti

Zahtjev „izradite moderan izvoz podataka o klijentima” ostavlja važne odluke otvorenima. Ne definira korisnike, zapise, polja ni ponašanje pri pogrešci. Agent mora pitati ili pretpostaviti. Nezabilježene pretpostavke kasnije je teško pregledati.

Upotrijebite izmišljeni zahtjev s jasnom granicom: autentificirani voditelj može izvesti aktivne klijente iz svoje organizacije. Izvoz sadrži ID klijenta i naziv za prikaz. Isključuje kontaktne podatke i arhivirane zapise. Korisnik bez uloge voditelja ne dobiva izvoz.

Još treba odlučiti o formatu, količini podataka, vremenu odgovora i obradi pogrešaka. Izričito označite nepoznanice. Korisna specifikacija otkriva neizvjesnost umjesto da je skriva iza samouvjerenog teksta.

Odvojite zahtjeve od odluka o implementaciji

Korisnik treba dopušten skup zapisa u upotrebljivom formatu. Upit prema bazi podataka, biblioteka i struktura krajnje točke odluke su o implementaciji. Povežite ih sa zahtjevom bez pretpostavke da je svaki trenutačni izbor trajna poslovna potreba.

Zabilježite važnu odluku zajedno s kontekstom, alternativama i razlogom. Primjerice, sinkroni izvoz može odgovarati malim količinama podataka. Veća količina može zahtijevati pozadinski zadatak i zasebnu provjeru autorizacije pri preuzimanju.

Gdje je moguće, zadržite stabilan zahtjev, a promijenjenu odluku zabilježite u novoj verziji. Tako osobe koje pregledavaju mogu razlikovati drukčiju implementaciju od drukčijeg obećanja korisnicima.

Uspostavite kratak lanac dokaza

Upotrijebite identifikatore koji ostaju razumljivi pri pregledu. U ovom primjeru EXPORT-01 može označavati granicu organizacije. Naziv služi kao primjer, a nije obvezan sustav numeriranja.

VezaPrimjer
ZahtjevEXPORT-01: samo zapisi u organizaciji voditelja
Odluka o dizajnuProvesti kontrolu članstva na poslužitelju, a ne u pregledniku
ImplementacijaPR mijenja upit i tijek autorizacije
ProvjeraZahtjev za zapise druge organizacije odbijen je
Dokazi o izdanjuRezultat provjere identificira prihvaćeni commit i artefakt

Lanac mora upućivati na stvarne dokaze. Naziv testa koji sadrži ID zahtjeva ne dokazuje da ga tvrdnja u testu provjerava. Pregledajte test i put kroz produkcijski kod koji izvršava.

NIST-ov SSDF daje kontekst za zahtjeve i provjeru unutar sigurnog razvoja. Sljedivost treba omogućiti pregled tih aktivnosti, a ne proizvoditi dokumentaciju radi dokumentacije. Pročitajte okvir.

Pregledajte učinak promijenjene pretpostavke

Pretpostavimo da poslovanju sada trebaju i arhivirani klijenti. Ta promjena utječe na više od parametra upita. Provjerite pravila zadržavanja podataka, autorizaciju, očekivanu količinu, objašnjenja korisnicima i značenje postojećih izvješća.

Označite zahvaćene dokumente i provjere za pregled. Sačuvajte prethodnu odluku kako bi osoba koja upravlja uslugom mogla objasniti starije izdanje. Nemojte prešutno prepisivati povijest da bi najnoviji dizajn izgledao neizbježan.

Agent može pomoći pronaći reference i predložiti ažuriranja. Odgovorne osobe moraju razriješiti proturječne zahtjeve i prihvatiti promijenjeno ponašanje. Popis pronađenih datoteka početna je točka, a ne potpuna procjena učinka.

Neka zapis bude dovoljno kratak za upotrebu

Zabilježite odluke koje utječu na implementaciju, provjeru i rad sustava. Izbjegavajte ponavljanje istog zahtjeva u mnogo nepovezanih dokumenata. Dajte prednost poveznicama na jedan održavan izvor.

Prije prihvaćanja promjene provjerite može li osoba koja je pregledava slijediti njezinu svrhu do stvarnih dokaza. Prije početka rada provjerite može li osoba odgovorna za uslugu pronaći relevantnu granicu i odluku o oporavku. To su praktične provjere korisne sljedivosti.

Napravite vježbu

Napišite zahtjev prema kojem voditelj može izvesti aktivne klijente. Uključite dopuštene korisnike, granicu organizacije, polja, ponašanje pri pogrešci i mjerljiv uvjet dovršetka. Povežite ga s izmišljenim testom i izdanjem. Zatim promijenite zahtjev tako da uključuje arhivirane klijente i navedite odluke na koje to utječe.

Preuzmi radni list (Markdown)
Provjerite razumijevanje ↑

Nastavite učiti

Izvori i dodatno čitanje

Povezani Taigini materijali

← Prethodna lekcija: Povežite cijeli životni ciklus softvera