Specifiche dei requisiti del software e schemi

5

Sono uno studente di informatica in un college, ma sono un po 'confuso dall'uso dello SRS e di vari diagrammi come il diagramma di attività o il diagramma del caso d'uso. So che l'obiettivo di SRS è di ridurre al minimo il tempo e gli sforzi richiesti dagli sviluppatori per raggiungere obiettivi specifici e ridurre i costi di sviluppo e l'interazione del sistema.

Posso chiederti, è appropriato che qualcuno usi queste informazioni SRS come il modo in cui il sistema funziona e sviluppa un diagramma del caso d'uso o qualsiasi altro diagramma?

Sono un po 'confuso dal modo in cui l'SRS, il diagramma del caso d'uso, il diagramma delle attività, ecc. ecc. interagiscono effettivamente.

Capisco che determinate funzioni che si trovano in un particolare diagramma devono essere riflesse in uno schema specifico per garantire coerenza.

Ma non riesco a decifrare esattamente ciò che dovrebbe essere lo stesso per garantire la coerenza.

    
posta Teo Chuen Wei Bryan 16.02.2017 - 12:58
fonte

3 risposte

4

Per me, l'obiettivo fondamentale dello SRS è dire al team del software cosa dovrebbe fare il software . Questa è un'alternativa al solo fatto di andare avanti (aka "agile").

Se stai orientando verso gli oggetti, allora devi adottare un'analisi orientata agli oggetti e un approccio alla progettazione. Molto probabilmente, il primo passo è identificare gli attori nello SRS e identificare gli oggetti (ce ne può essere solo uno a questo livello).

Quindi puoi sviluppare casi d'uso. Probabilmente sono molti i diagrammi dei casi d'uso, a meno che tu non voglia un diagramma mostruosamente grande.

In seguito, suddividerai gli oggetti in pacchetti, quindi in classi.

La coerenza è garantita dalla tracciabilità, fino in fondo. Ogni requisito del software deve essere indirizzato da qualcosa sotto di esso nel tuo progetto (spesso un caso d'uso, ma non sempre). Una "matrice dei requisiti" è spesso il modo migliore per documentarlo.

In casi estremi (come quelli critici per la sicurezza), potrebbe essere necessario andare così lontano con la tracciabilità dei requisiti che se qualcuno punta a una riga del tuo codice e chiede "a cosa serve?", puoi risalire fino in fondo eseguire il backup per rispondere esattamente ai requisiti che sta aiutando a soddisfare.

    
risposta data 16.02.2017 - 18:33
fonte
1

Non rendere le cose più complicate di loro. Lo SRS è semplicemente un documento che descrive cosa dovrebbe fare il software, ma non come lo farà. Può essere un testo semplice, ma spesso ha senso includere i diagrammi. Spesso è una buona idea usare diagrammi UML standardizzati come Use Case o Activity. Ma questo non è assolutamente necessario.

    
risposta data 16.02.2017 - 20:52
fonte
1

Una specifica dei requisiti del software (SRS) è uno strumento per aiutare nella comunicazione tra le parti interessate. Non ha lo scopo di ridurre al minimo il tempo e gli sforzi o ridurre i costi, oltre ad aiutare a facilitare le comunicazioni. I documenti SRS descrivono l'ambito, forniscono un punto di partenza per la creazione di casi di test e danno una cosa tangibile da esaminare e discutere.

Standard IEEE 29148-2011 - Standard internazionale ISO / IEC / IEEE - Ingegneria dei sistemi e del software - Vita cicli di lavorazione - L'ingegneria dei requisiti è lo standard corrente per la struttura e il contenuto di un SRS. Sebbene gran parte della discussione riguardi i requisiti testuali, lo standard riconosce altri metodi di acquisizione dei requisiti, inclusi i modelli visivi. UML (e linguaggi o tecniche simili) dovrebbero essere inclusi come modelli visivi. Lo standard menziona anche il flusso di dati, il flusso di controllo, i modelli di stato, i modelli di oggetti, "e molti altri".

La definizione di metodi e approcci per i modelli visivi per i requisiti software è qualcosa su cui puoi ottenere un intero libro .

Personalmente, alcuni modelli si prestano meglio all'ingegnerizzazione dei requisiti rispetto ad altri. In UML, trovo che i diagrammi Activity, State, Deployment e Use Case tendono a prestarsi meglio all'ingegnerizzazione dei requisiti (sebbene raccomando di evitare i diagrammi Use Case nella maggior parte dei casi). Ciò non esclude l'utilizzo di altri modelli (diagrammi di classe, diagrammi di sequenza), ma probabilmente saranno a bassa fedeltà. Considera anche le modalità UML , in particolare UML come schizzo , nonché le tecniche Agile Modeling .

    
risposta data 16.02.2017 - 21:18
fonte

Leggi altre domande sui tag