Requisiti di sistema - Uso di Congiunzioni

1

Mi sono imbattuto in molti blog e libri in cui si afferma che è sbagliato che un requisito di sistema contenga congiunzioni come "e". Tuttavia, in realtà, mi capita spesso di imbattersi in uno scenario in cui un requisito è soddisfatto quando viene soddisfatta una determinata serie di condizioni. Ad esempio, il negoziante dovrebbe vendere alcolici solo se l'acquirente ha più di 18 anni, ha le prove necessarie e non ha problemi legati all'alcol. Il requisito non sarebbe completo se lo suddivido in più requisiti di sistema e non riesco a completare il requisito senza utilizzare "and".

    
posta Punter Vicky 12.02.2013 - 16:11
fonte

3 risposte

4

Non c'è ragione per cui tutte le condizioni debbano essere un requisito.

  • Il sistema deve vendere alcolici solo a persone di età superiore a 18 anni.
  • Il sistema deve richiedere la prova dell'età per vendere alcolici.
  • Il sistema non venderà alcolici a chi ha problemi di alcolismo.

Questi sono tutti requisiti perfettamente validi e il sistema non è valido se non soddisfa tutti i requisiti. I requisiti di sistema sono tutti implicitamente connessi con un "e" il motivo per cui sono requisiti e non desideri. Inoltre, espandendo ogni condizione in base alle proprie esigenze, è molto più facile rintracciare ciò che è stato e non è stato raggiunto in questo modo perché ogni requisito è un binario si o no.

    
risposta data 12.02.2013 - 16:23
fonte
2

Potresti esprimerlo come un albero. Questo evita qualsiasi tipo di ambiguità di raggruppamento nel linguaggio naturale.

  1. L'alcol può essere venduto se l'acquirente soddisfa tutti i criteri
    1. L'acquirente ha più di 18 anni.
    2. L'acquirente ha la prova dell'età necessaria.
    3. L'acquirente non ha problemi di alcolismo.

Questo approccio funziona bene anche per o (uno dei seguenti) e elementi nidificati.

    
risposta data 12.02.2013 - 16:20
fonte
1

Considera di utilizzare entrambi gli approcci (autonomo e congiuntivo) per le tue regole.

Usando l'esempio che hai citato, avresti tre regole autonome:
1. only if the buyer is older than 18 years
2. has the necessary proof di identificazione
3. does not have any alcohol related problems

E poi avere una regola congiuntiva per tutte e tre le regole autonome.

  • 1 + 2 + 3 == true

Le tue regole autonome rappresentano il nucleo dei tuoi requisiti di sistema. Le regole congiuntive rappresentano un livello o requisiti superiori che potrebbero cambiare in base alla giurisdizione.

    
risposta data 12.02.2013 - 16:23
fonte