Automatizzare i controlli di qualità nell'ingegneria dei requisiti
La ricerca mostra il potenziale per controlli automatici nella qualità dei requisiti.
― 6 leggere min
Indice
- Qualità nell'Ingegneria dei Requisiti
- La Necessità di Automazione
- Obiettivo della Ricerca
- Progettazione dello Studio
- Classificazione delle Regole
- Risultati sulla Rilevazione Automatica
- Informazioni Necessarie per la Rilevazione Automatica
- Regole che Resistono all'Automazione
- Implicazioni dei Risultati
- Conclusione
- Fonte originale
- Link di riferimento
La qualità dei requisiti nei progetti come lo sviluppo software è fondamentale. Se i requisiti non sono chiari o ben definiti, possono sorgere problemi più avanti. Le aziende spendono un sacco di soldi per assicurarsi che i loro requisiti siano a posto. Per aiutare con questo, alcuni metodi combinano controlli manuali, come le revisioni, con strumenti automatici. Tuttavia, non tutti i problemi possono essere trovati usando strumenti automatizzati. Alcuni problemi sono troppo vaghi per essere rilevati automaticamente.
In questo articolo, daremo un'occhiata a quali problemi nei requisiti possono essere trovati automaticamente usando questi strumenti. Classificheremo le regole che guidano come scrivere i requisiti e vedremo quanti di essi possono essere controllati dalle macchine.
Qualità nell'Ingegneria dei Requisiti
I requisiti sono la base di molti progetti, specialmente nell'ingegneria software e di sistema. Un requisito ben scritto è chiaro, preciso e informativo. Requisiti scritti male possono causare ritardi, malintesi e costi aumentati. Perciò, garantire requisiti di alta qualità è una priorità assoluta.
Tipicamente, il controllo qualità per i requisiti viene fatto da persone. Loro leggono i requisiti e cercano errori. Tuttavia, questo processo può essere lento e costoso. La velocità e l'efficacia del controllo qualità spesso dipendono dall'abilità del revisore. Per migliorare questa situazione, usare strumenti automatici che possono controllare la qualità dei requisiti è un approccio promettente.
La Necessità di Automazione
Le revisioni manuali hanno i loro vantaggi, ma anche delle sfide, come il tempo che ci vuole e l'incoerenza. Combinare revisioni manuali con controlli automatici può aiutare a risolvere queste sfide. Gli strumenti automatizzati possono evidenziare rapidamente i problemi, permettendo ai revisori di concentrarsi sulle parti più problematiche dei requisiti.
I ricercatori stanno lavorando per sviluppare modi per rilevare automaticamente i problemi nei requisiti. Alcuni problemi comuni includono linguaggio ambiguo, formattazione incoerente o addirittura errori grammaticali. Tuttavia, resta da capire quanto possa essere effettivamente automatizzato e quali problemi necessitano ancora di revisione umana.
Obiettivo della Ricerca
Il nostro obiettivo di ricerca è capire quali regole per scrivere requisiti possono essere controllate automaticamente. Analizzeremo le regole di un insieme di linee guida utilizzate in un'azienda reale e classificheremo queste regole in base a se possono essere rilevate da uno strumento automatico.
Progettazione dello Studio
Per portare avanti questo studio, ci siamo associati a un'agenzia governativa in Svezia responsabile delle infrastrutture di trasporto. Ci hanno fornito le loro regole per la scrittura dei requisiti, sviluppate da editor esperti. Abbiamo analizzato un totale di 129 regole per classificarle e capire il loro potenziale di automazione.
Le nostre principali domande di ricerca sono:
- Quante regole possono essere controllate automaticamente?
- Come possiamo categorizzare queste regole e quali categorie sono adatte per l'automazione?
- Quali informazioni sono necessarie per rilevare automaticamente le violazioni delle regole?
- Quali regole non possono essere controllate automaticamente e perché?
Classificazione delle Regole
Abbiamo esaminato i diversi tipi di regole nelle linee guida. Le abbiamo classificate in quattro tipi principali:
- Regole Lessicali: Queste regole si concentrano sulle parole e le espressioni usate. Assicurano che i termini non creino confusione o ambiguità.
- Regole Grammaticali: Queste regole riguardano come sono formate le frasi. Controllano che le frasi siano costruite correttamente.
- Regole Strutturali: Queste regole si occupano di come è organizzata e disposta l'informazione.
- Regole Semantiche: Queste regole si concentrano sul significato del testo. Controllano che il contenuto sia corretto e abbia senso.
Abbiamo anche considerato il contesto in cui le regole si applicano. Ad esempio, alcune regole sono rilevanti solo in determinate sezioni dei requisiti o riguardano tipi specifici di informazioni come tabelle o figure.
Risultati sulla Rilevazione Automatica
Dalla nostra classificazione, abbiamo scoperto che una parte significativa delle regole può essere controllata automaticamente. Infatti, il 41% delle regole potrebbe essere rilevato con certezza da uno strumento automatico. Un ulteriore 34% potrebbe essere controllato usando metodi euristici, che potrebbero non essere perfetti ma possono comunque essere utili.
Questo significa che circa il 75% delle regole può essere controllato in qualche modo. Tuttavia, il 25% delle regole si è rivelato difficile per l'automazione a causa della loro vaghezza o complessità.
Informazioni Necessarie per la Rilevazione Automatica
Per controllare automaticamente le regole, sono necessarie alcune informazioni. Questo può includere:
- Analisi del Testo: Comprendere le parole e le frasi utilizzate nei requisiti.
- Controlli Grammaticali: Analizzare le strutture delle frasi per trovare errori.
- Informazioni di Formattazione: Controllare come sono disposte le informazioni.
- Conoscenza del Settore: Per alcune regole, è essenziale comprendere il contesto specifico o il campo a cui si applicano i requisiti.
La maggior parte delle regole può essere controllata usando tecniche di analisi del testo di base e controlli grammaticali. Tuttavia, alcune regole richiedono una conoscenza più approfondita dell'argomento, il che può complicare l'automazione.
Regole che Resistono all'Automazione
Durante la nostra analisi, abbiamo scoperto che molte delle regole che non possono essere controllate automaticamente sono imprecise o poco chiare. Ad esempio, regole che dicono "i requisiti devono essere completi" non forniscono criteri specifici da controllare. Questa vaghezza rende difficile per sia umani che macchine identificare le violazioni.
Abbiamo identificato che circa l'81% delle regole che non possono essere rilevate automaticamente soffre di questa mancanza di chiarezza. Inoltre, alcune regole richiedono una vasta conoscenza del settore per essere valutate correttamente. In questi casi, solo esperti familiari con il soggetto specifico possono determinare se un requisito soddisfa gli standard necessari.
Implicazioni dei Risultati
Il nostro studio mostra che un numero considerevole di regole di scrittura per i requisiti può effettivamente essere controllato automaticamente. Tuttavia, ciò non significa che le revisioni umane possano essere completamente sostituite. Ci saranno sempre problemi che richiedono un tocco umano a causa della loro complessità o della necessità di comprensione contestuale.
È importante combinare sia controlli automatici che revisioni umane per ottenere i migliori risultati. Gli strumenti automatizzati possono accelerare il processo e catturare molti errori comuni, mentre i revisori umani possono affrontare questioni più sfumate che la tecnologia non può ancora gestire.
Conclusione
La ricerca di una migliore qualità nelle specifiche dei requisiti è in corso. L'uso di strumenti automatizzati può migliorare significativamente l'efficienza dei controlli qualità, permettendo risultati più rapidi e coerenti. La nostra ricerca indica che una grande parte delle regole per la scrittura dei requisiti può essere rilevata automaticamente, il che apre la porta a strumenti che possono aiutare i praticanti nel campo.
Tuttavia, è importante riconoscere i limiti dell'automazione. Alcune regole resisteranno sempre ai controlli delle macchine a causa della loro complessità o vaghezza. Pertanto, il miglior approccio combina controlli automatici e manuali per garantire requisiti di alta qualità che portano a progetti di successo.
In futuro, puntiamo a continuare la nostra ricerca in quest'area. Affinando i nostri metodi ed esplorando nuove tecniche, speriamo di approfondire la nostra comprensione su come migliorare la qualità dell'ingegneria dei requisiti nella pratica.
Titolo: Which Requirements Artifact Quality Defects are Automatically Detectable? A Case Study
Estratto: [Context] The quality of requirements engineering artifacts, e.g. requirements specifications, is acknowledged to be an important success factor for projects. Therefore, many companies spend significant amounts of money to control the quality of their RE artifacts. To reduce spending and improve the RE artifact quality, methods were proposed that combine manual quality control, i.e. reviews, with automated approaches. [Problem] So far, we have seen various approaches to automatically detect certain aspects in RE artifacts. However, we still lack an overview what can and cannot be automatically detected. [Approach] Starting from an industry guideline for RE artifacts, we classify 166 existing rules for RE artifacts along various categories to discuss the share and the characteristics of those rules that can be automated. For those rules, that cannot be automated, we discuss the main reasons. [Contribution] We estimate that 53% of the 166 rules can be checked automatically either perfectly or with a good heuristic. Most rules need only simple techniques for checking. The main reason why some rules resist automation is due to imprecise definition. [Impact] By giving first estimates and analyses of automatically detectable and not automatically detectable rule violations, we aim to provide an overview of the potential of automated methods in requirements quality control.
Autori: Henning Femmer, Michael Unterkalmsteiner, Tony Gorschek
Ultimo aggiornamento: 2023-08-29 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2308.15057
Fonte PDF: https://arxiv.org/pdf/2308.15057
Licenza: https://creativecommons.org/licenses/by-nc-sa/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.