Parcurs 04Lecție 2 / 10

Păstrați trasabilitatea cerințelor când software-ul se schimbă

Legați rezultatul pentru utilizator de decizii, criterii de acceptare, implementare și dovezi. Actualizați legăturile când se schimbă ipotezele.

Practică10 minVerificat

Publicat de Cum scriem

Verificați ce ați înțelesSpecificația se schimbă după pregătirea arhitecturii și a testelor. Ce trebuie să se întâmple?Faceți exercițiul
Specificația se schimbă după pregătirea arhitecturii și a testelor. Ce trebuie să se întâmple?

Ce veți învăța

  • Scrieți o cerință observabilă cu limite explicite.
  • Urmăriți o cerință printr-o modificare și verificările sale.
  • Identificați documentele ulterioare afectate de o ipoteză schimbată.

Descrieți un comportament verificabil

„Creați un export modern de clienți” lasă deschise decizii importante. Nu definește utilizatorii, înregistrările, câmpurile sau comportamentul la eșec. Un agent trebuie fie să întrebe, fie să facă presupuneri. Ipotezele neconsemnate sunt greu de verificat ulterior.

Folosiți o cerință fictivă cu o limită clară: un manager autentificat poate exporta clienții activi din propria organizație. Exportul conține ID-ul clientului și numele afișat. Exclude datele de contact și înregistrările arhivate. Un utilizator fără rol de manager nu primește niciun export.

Sunt încă necesare decizii despre format, volum, timp de răspuns și gestionarea eșecurilor. Marcați explicit necunoscutele. O specificație utilă face vizibilă incertitudinea în loc să o ascundă într-un text categoric.

Separați cerințele de alegerile de implementare

Utilizatorul are nevoie de un set permis de înregistrări într-un format utilizabil. Interogarea bazei de date, biblioteca și structura endpointului sunt alegeri de implementare. Legați-le de cerință fără a trata fiecare alegere actuală ca nevoie permanentă a afacerii.

Consemnați o decizie cu consecințe importante împreună cu contextul, alternativele și motivul său. De exemplu, exportul sincron poate fi potrivit pentru volume mici. Un volum mai mare poate necesita un job de fundal și o verificare separată a autorizării descărcării.

Păstrați cerința stabilă unde este posibil, gestionând versiunile deciziei schimbate. Astfel, evaluatorii pot deosebi o implementare diferită de o promisiune diferită făcută utilizatorilor.

Creați un lanț scurt de dovezi

Folosiți identificatori care rămân ușor de înțeles în verificări. În acest exemplu, EXPORT-01 poate identifica limita organizației. Numele este ilustrativ, nu un sistem obligatoriu de numerotare.

LegăturăExemplu
CerințăEXPORT-01: numai înregistrările din organizația managerului
Decizie de proiectareImpuneți condiția de apartenență la organizație pe server, nu în browser
ImplementarePR-ul modifică interogarea și calea de autorizare
VerificareCererea pentru înregistrările altei organizații este refuzată
Dovezi de lansareRezultatul verificării identifică commit-ul și artefactul acceptate

Lanțul trebuie să indice dovezi reale. Un nume de test care conține ID-ul cerinței nu dovedește că aserțiunea o verifică. Inspectați testul și calea din codul de producție pe care acesta o execută.

SSDF de la NIST oferă context pentru cerințe și verificare în dezvoltarea sigură. Folosiți trasabilitatea pentru a face aceste activități inspectabile, nu pentru a produce documentație de dragul documentației. Citiți cadrul.

Verificați impactul unei ipoteze schimbate

Să presupunem că afacerea are acum nevoie de clienții arhivați. Modificarea afectează mai mult decât un flag al interogării. Verificați regulile de păstrare, autorizarea, volumul așteptat, explicațiile pentru utilizatori și sensul rapoartelor existente.

Marcați documentele și verificările afectate pentru reevaluare. Păstrați decizia anterioară pentru ca un operator să poată explica o lansare mai veche. Nu rescrieți în tăcere istoricul pentru a face proiectarea recentă să pară inevitabilă.

Un agent poate ajuta la găsirea referințelor și propunerea actualizărilor. Responsabilii trebuie să rezolve cerințele contradictorii și să accepte comportamentul modificat. O listă de fișiere care corespund căutării este un punct de plecare, nu o evaluare completă a impactului.

Păstrați consemnarea suficient de mică pentru a fi folosită

Consemnați deciziile care afectează implementarea, verificarea și operarea. Evitați repetarea aceleiași cerințe în multe documente neconectate. Preferați legături către o singură sursă întreținută.

Înainte de a accepta o modificare, întrebați dacă un evaluator îi poate urmări scopul până la dovezile efective. Înainte de operare, întrebați dacă responsabilul serviciului poate găsi limita relevantă și decizia de recuperare. Acestea sunt teste practice ale trasabilității utile.

Faceți exercițiul

Scrieți o cerință prin care un manager exportă clienții activi. Includeți utilizatorii permiși, limita organizației, câmpurile, comportamentul la eșec și o condiție măsurabilă de terminare. Legați-o de un test și o lansare fictive. Apoi modificați cerința pentru a include clienții arhivați și enumerați deciziile afectate.

Descărcați fișa de lucru (Markdown)
Verificați ce ați înțeles ↑

Continuați învățarea

Surse și lecturi suplimentare

Lecturi asociate de la Taiga

← Lecția anterioară: Conectați întregul ciclu de viață al software-ului