Parola migliore per i requisiti opzionali? [chiuso]


12

Qual è la parola migliore per un requisito opzionale nell'ingegneria del software? La frase è contraddittoria. Ho usato "Requisiti non fondamentali" in progetti precedenti.


9
Immagino che significhi che qualcosa non può essere richiesto (come in "requisito") e facoltativo (come in "non richiesto")
scrwtp

2
Questo appartiene davvero all'inglese. E li chiamerei semplicemente "opzioni".
Blrfl

13
@Blrfl Non appartiene all'inglese. In inglese, la frase "requisiti opzionali" è contraddittoria. Tuttavia, ha un significato ampiamente accettato nello sviluppo del software e ci sono modi alternativi di formulare questo concetto nel contesto di un progetto software. Non ha senso averlo ovunque ma qui.
Thomas Owens

3
@ThomasOwens: non sono d'accordo. Qualsiasi campo in cui i lavori hanno requisiti potrebbero incorrere in questo problema, il che renderebbe questa una domanda di gestione del progetto. È anche un ossimoro, il che lo rende un ottimo foraggio per l'inglese, e il primo argomento nella prima FAQ dice che la scelta delle parole è sull'argomento. Ma adatta a te stesso.
Blrfl

5
"Cose che non verranno costruite" è ciò che significa in molti progetti.

Risposte:


13

Il termine "requisito fuori dal campo di applicazione" può essere eventualmente utilizzato. Ciò significa che il requisito è stato acquisito all'interno del processo ed è rintracciabile, ma è stato stabilito che il requisito è qualcosa che esula dall'ambito attuale del sistema, a causa di una serie di motivi, quali budget, pianificazione, tempo, o fattibilità.

Tuttavia, la frase "requisito facoltativo" viene comunemente utilizzata per indicare qualcosa che rientra nell'ambito di applicazione, ma non necessariamente richiesto dal sistema. È una misura della priorità del requisito. Nelle mie esperienze, i requisiti sono spesso prioritari come obbligatori, desiderabili o facoltativi (sebbene esistano anche altri schemi). Affinché un progetto sia considerato completo e pienamente funzionale, devono essere soddisfatti tutti i requisiti obbligatori. Date le risorse sufficienti, i requisiti desiderabili sarebbero implementati successivamente. Infine, qualsiasi cosa considerata facoltativa verrebbe inclusa.

Credo che la confusione derivi dal termine "requisito". In lingua inglese, un requisito è "una cosa necessaria" o "una condizione obbligatoria, obbligatoria o necessaria". Tuttavia, nell'ingegneria del software, il termine requisito è semplicemente una caratteristica documentata di un sistema software. Il concetto di facoltativo e obbligatorio descrive la priorità della caratteristica documentata del sistema software.


1
Un termine correlato è "caso di cambiamento", che è un requisito atteso in un determinato momento in futuro, ma non rientra nell'ambito in questo momento. Catturando i casi di cambiamento puoi provare a evitare di fare qualcosa nel progetto attuale che rende difficili i casi di cambiamento. Nel fare questo, però, devi tenere d'occhio YAGNI.
Kris C

IMHO, "requisito facoltativo" implica facoltativo nel tempo presente e requisito nel tempo futuro che potrebbe anche leggere il potenziale requisito facoltativo. Ad ogni modo, concordo sul fatto che l'ambito di applicazione è più appropriato in un caso aziendale in cui le aspettative dei clienti devono essere gestite.
Evan Plaice,

25

Ci riferiamo a loro come caratteristiche "belle da avere" in contrapposizione ai requisiti.


2
Dal punto di vista dell'ingegneria dei requisiti, le "caratteristiche interessanti da avere" devono ancora essere acquisite come requisito (in una specifica, come una user story, come test di accettazione - tuttavia il processo impone che i requisiti vengano acquisiti) e tracciati per tutta la vita di il progetto.
Thomas Owens

11

Per la documentazione dei requisiti software, la formulazione dei Requisiti opzionali è perfettamente OK, purché si utilizzi questo termine in conformità con RFC 2119 Parole chiave per indicare i Livelli dei requisiti , ovvero per indicare elementi che sono veramente opzionali.

Quando il testo della specifica implica verbo anziché aggettivo, utilizzare "MAGGIO" invece di "OPZIONALE".

Poiché è piccolo e facile da leggere, il testo RFC è completamente riportato di seguito:

    Network Working Group S. Bradner
    Richiesta di commenti: 2119 Harvard University
    BCP: 14 marzo 1997
    Categoria: Best Practice corrente


            Parole chiave da utilizzare nelle RFC per indicare i livelli dei requisiti

    Stato di questo memo

       Questo documento specifica le migliori pratiche attuali di Internet per il
       Internet Community e richiede discussioni e suggerimenti per
       miglioramenti. La distribuzione di questo memo è illimitata.

    Astratto

       In molti documenti di traccia standard vengono utilizzate diverse parole per indicare
       i requisiti nelle specifiche. Queste parole sono spesso
       capitalizzati. Questo documento definisce queste parole come dovrebbero essere
       interpretato nei documenti IETF. Autori che seguono queste linee guida
       dovrebbe includere questa frase vicino all'inizio del loro documento:

          Le parole chiave "DEVE", "NON DEVE", "RICHIESTO", "DEVE", "DEVE
          NOT "," DOVREBBE "," NON DOVREBBE "," CONSIGLIATO "," MAGGIO "e
          "OPZIONALE" in questo documento deve essere interpretato come descritto in
          RFC 2119.

       Si noti che la forza di queste parole è modificata dal requisito
       livello del documento in cui vengono utilizzati.

    1. DEVE Questa parola, o i termini "RICHIESTO" o "SHALL", indicano che
       la definizione è un requisito assoluto della specifica.

    2. NON DEVE Questa frase, o la frase "NON DEVE", significa che il
       la definizione è un divieto assoluto della specifica.

    3. DOVREBBE Questa parola, o l'aggettivo "CONSIGLIATO", significa che lì
       possono esistere validi motivi in ​​particolari circostanze per ignorare a
       elemento particolare, ma le implicazioni complete devono essere comprese e
       attentamente valutato prima di scegliere un corso diverso.

    4. NON DOVREBBE che questa frase o la frase "NON RACCOMANDATO" significa che
       possono sussistere validi motivi in ​​particolari circostanze in cui il
       un comportamento particolare è accettabile o addirittura utile, ma completo
       le implicazioni dovrebbero essere comprese e il caso attentamente valutato
       prima di implementare qualsiasi comportamento descritto con questa etichetta.

    5. MAGGIO Questa parola, o l'aggettivo "OPZIONALE", significa che un oggetto è
       veramente facoltativo. Un fornitore può scegliere di includere l'articolo perché a
       un determinato mercato lo richiede o perché il venditore lo ritiene
       migliora il prodotto mentre un altro venditore può omettere lo stesso articolo.
       Un'implementazione che non include una particolare opzione DEVE essere
       pronto a interagire con un'altra implementazione che lo fa
       include l'opzione, anche se forse con funzionalità ridotta. Nel
       stessa vena un'implementazione che include una particolare opzione
       DEVE essere pronto a interagire con un'altra implementazione che
       non include l'opzione (tranne, ovviamente, per la funzione il
       opzione fornisce.)

    6. Guida all'uso di questi imperativi

       Gli imperativi del tipo definito in questo memo devono essere usati con cura
       e con parsimonia. In particolare, DEVONO essere utilizzati solo dove si trova
       effettivamente richiesto per l'interoperabilità o per limitare il comportamento che ha
       potenziale rischio di danno (ad es. limitazione delle ritrasmissioni)
       ad esempio, non devono essere utilizzati per tentare di imporre un metodo particolare
       sugli implementatori in cui il metodo non è richiesto per l'interoperabilità.

    7. Considerazioni sulla sicurezza

       Questi termini vengono spesso utilizzati per specificare il comportamento con la sicurezza
       implicazioni. Gli effetti sulla sicurezza della mancata attuazione di un MUST o
       DOVREBBE, o fare qualcosa che la specifica dice NON DEVE o DOVREBBE
       NON essere fatto può essere molto sottile. Gli autori dei documenti dovrebbero prendersi il tempo necessario
       per elaborare le implicazioni di sicurezza di non seguire
       raccomandazioni o requisiti che la maggior parte degli implementatori non avrà
       ha avuto il vantaggio dell'esperienza e della discussione che ha prodotto il
       specifica.

    8. Ringraziamenti

       Le definizioni di questi termini sono un insieme di definizioni prese
       da un numero di RFC. Inoltre, i suggerimenti sono stati
       incorporato da un numero di persone tra cui Robert Ullmann, Thomas
       Narten, Neal McBurnett e Robert Elz.

Non farebbe male se la tua documentazione si riferisse a RFC come fonte di definizioni:

Questo documento utilizza definizioni basate su quelle specificate in RFC 2119 .


Non sapevo nemmeno che si trattasse di un RFC. Non mi sorprende che esista qualcosa del genere, tuttavia, come standard IEEE, standard ISO, RFC o altri documenti simili pubblicati.
Thomas Owens

Questo documento sembra un po 'troppo specifico per essere ampiamente applicato come linee guida per i requisiti software. Non è intitolato "Key Words for Requirements", è intitolato "Key Words for Requirements in RFC" e nella Direttiva 6 limita intenzionalmente il proprio ambito di applicazione.
Robert Harvey,

1
@RobertHarvey, il mio punto è stato quello di rispondere all'idea che si dovrebbe cercare una parola migliore per sostituire il termine professionale stabilito con una semantica ben definita e documentata solo perché credono che non sia un inglese perfetto. Per quanto sia troppo specifico o no, sarebbe una domanda completamente diversa, non credi? Per quanto mi riguarda, posso immaginare molti casi in cui preferirei la categorizzazione dello stile MoSCoW .
moscerino del

@gnat, non ha bisogno di un verbo. Questo post non ha risposto Qual è la parola migliore per "requisiti opzionali"?
Pacerier,

7

Apprezzo che non sia una risposta alla tua domanda, ma nel mio mondo, è ancora un requisito, anche se per qualsiasi motivo non la soddisferai.

Mi piace l' approccio MoSCoW (Must Have, Should have, Potrebbe non avere, questa volta non avrò) alla classificazione dei requisiti con gli utenti, insieme ad altri fattori (nel mio mondo regolamentato, i requisiti possono essere critici o non critici, e molti l'argomento si accende su requisiti facoltativi ma critici.)



2

Che ne dite di identificarlo come una funzionalità opzionale o attività opzionali. Ciò avverrà solo se a un certo punto del progetto è stato stabilito che ci sono tempo e denaro disponibili per completare queste funzionalità.

Potrebbero anche essere attivati ​​se si verifica un evento esterno. Se i clienti passano a Windows 8, dovranno essere eseguite le seguenti attività ...

La descrizione della funzione dovrebbe includere una scadenza per determinare se verranno eseguite.


1

I requisiti sono classificati in 4 aree in Ingegneria del software:

  1. Requisiti aziendali : si concentra sugli obiettivi aziendali generali e sugli obiettivi del sistema
  2. Requisiti dell'utente : si concentra sugli obiettivi dell'utente e su ciò che gli utenti devono fare per utilizzare il sistema per raggiungere gli obiettivi aziendali
  3. Requisiti funzionali : quali funzionalità e compiti deve svolgere il sistema per raggiungere gli obiettivi aziendali
  4. Requisiti non funzionali : quali requisiti esistono oltre a quelli funzionali. Ciò include ambiente, vincoli, interfaccia, problemi di manutenzione, ecc.

Ora i requisiti possono essere opzionali o obbligatori , a seconda delle 4 categorie precedenti, che ho delineato sopra. I requisiti opzionali possono anche rientrare nell'ambito del sistema in esame o anche al di fuori del suo ambito. I requisiti opzionali sono buoni mezzi per evitare Scree Creep e definire l'ambito in termini precisi.

I requisiti opzionali faranno sempre parte dell'ingegneria del software in quanto ci aiutano a identificare l'ambito e sono un buon mezzo per evitare Scope Creep. Non si può mai dire che contraddicono le pratiche ingegneristiche di SDLC. Tuttavia, i requisiti devono essere prioritari e ben definiti.


1
La domanda richiede un termine diverso per "requisiti opzionali" e non per una categorizzazione dei requisiti.
yannis,

1
Se avesse conosciuto la categorizzazione, non avrebbe mai detto che i requisiti opzionali sono contraddittori nell'ingegneria del software. :)
Maxood

1
buone descrizioni, ma sono ancora un po 'irritato dalla frase - o è necessario qualcosa o non lo è. Penso che abbiamo trasformato "requisito" in un'entità separata che significa "bisogno formale del cliente" ...
Aram Kocharyan

@Maxood Hmmm? Il termine è contraddittorio, non il concetto, la domanda discute il termine. Hai qualche riferimento che il termine sia parte di un modello di requisiti formali (o ampiamente accettati)? So che è comune, ma gettare cose come "Requisiti opzionali farà sempre parte dell'ingegneria del software" senza un singolo riferimento non è davvero la mia tazza di tè.
yannis,

@ Yannis Rizos Quando ho detto "I requisiti opzionali faranno sempre parte dell'ingegneria del software", lo intendevo nel contesto concettuale. Poiché l'ingegnerizzazione consiste nell'elaborare una soluzione efficace nel rispetto del budget, bilanciando allo stesso tempo requisiti contrastanti. Anche il richiedente non menziona mai il Requisito Opzionale come termine qui nella domanda e nemmeno io.
Maxood

1

Nel modello Volere viene utilizzato il termine "Sala d'attesa".

... Questo modello è destinato all'uso come base per le specifiche dei requisiti. Il modello fornisce ciascuno dei tipi di requisiti appropriati per i sistemi aziendali, scientifici e software di oggi. Fornisce una lista di controllo, struttura e tracciabilità per le vostre esigenze ... Il modello è indipendente dallo strumento ed è stato usato con successo con Yonix, Requisite, DOORS, Calibre RM, IRqA e altri strumenti popolari ...

Le tecniche di Volere sono descritte nel libro Mastering the Requirements Process di Suzanne Robertson e James Robertson ...


0

Nella mia attività (veicoli spaziali), sono chiamati "obiettivi", indicando che sono documentati e che gli sforzi saranno spesi per raggiungerli, ma il sistema sarà comunque considerato di successo se non vengono raggiunti; "desideri" (non una parola vera, ma eccoti qui), indicando che qualcuno li vuole e stanno cercando di raggiungere lo stato degli obiettivi ma non sono ancora accettati o documentati; o "requisiti striscianti" che è una versione più dispregiativa dei desideri che indica cose che stanno cercando di assorbire risorse ma che non valgono la pena in un progetto che cerca di ottenere "abbastanza buono" dove comprometteranno o minacceranno il raggiungimento dei requisiti reali.


0

Se le tue esigenze sono prioritarie , potresti considerarle requisiti a bassa priorità .


Penso che "priorità zero" potrebbe essere più vicino a "opzionale".
Pacerier,

0

Sono abbastanza sorpreso che nessuno abbia mai detto che quelli sono chiamati "obiettivi". Ogni azienda per cui ho lavorato li ha chiamati così. Sono indicati con l'uso delle parole "volontà" o "dovrebbe" invece di "deve". A volte sono inclusi tra parentesi graffe quando si parla di numeri. ad es. il sistema deve funzionare ininterrottamente senza la necessità di attenzione dell'operatore per 100 {250} ore. Ciò significa che il requisito che deve essere soddisfatto è di 100 ore, ma l'obiettivo è di 250 ore.

Come nota a margine, raramente qualcuno progetta effettivamente di soddisfare i requisiti oggettivi, a meno che non vi sia una sorta di incentivo in questione.


0

Il termine "abbandono" viene talvolta utilizzato per requisiti opzionali. Tuttavia, potrebbe non essere appropriato per un documento formale.


0

Sono sorpreso che tutte le risposte riguardino i requisiti di monitoraggio nello sviluppo del progetto. Nonostante sia uno sviluppatore, non mi sono mai preoccupato troppo di questa terminologia in quel contesto. Quando ho letto per la prima volta la domanda, l'ho assunto in relazione alle specifiche del prodotto dell'utente, non allo sviluppo del prodotto. Ad esempio, un'enciclopedia potrebbe elencare una stampante a colori come requisito opzionale. È necessario se si desidera il pieno vantaggio dell'app ma facoltativo se si desidera visualizzare lo schermo. E se avessi ad esempio una stampante monocromatica? Come chiarire se la tua app funziona con l'ovvia restrizione che alcune foto potrebbero non essere così belle? O non stampare affatto? Come un altro esempio, come devo controllare una revisione della stampante per verificare se l'inchiostro è un requisito o un requisito facoltativo in una stampante multifunzione? In altre parole, posso ancora scansionare? Alcuni suggerimenti sulla terminologia e su cosa cercare sarebbero i benvenuti sia come sviluppatore / venditore del prodotto che come consumatore.


Uhm, quindi qual è la parola migliore per "requisiti opzionali"?
Pacerier,

0

Le definirei "funzionalità opzionali", non requisiti opzionali. I requisiti sembrano qualcosa che devi avere , mentre le caratteristiche sembrano un componente aggiuntivo del prodotto originale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.