Requisiti e specifica [Ingegneria del software]
Ciao a tutti,
sto preparando l'esame di ingegneria del sw, ma non ho seguito il corso.
Ora mi trovo a studiare un'infinità di slide, ma ci sto capendo poco ..
Potreste, magari anche con un esempio pratico, spiegarmi che differenza c'e' tra l'analisi dei requisiti e la specifica?
Entrambi non mi dicono forse cosa deve saper fare il prodotto sw che devo realizzare?
Grazie,
ciao Kitty
sto preparando l'esame di ingegneria del sw, ma non ho seguito il corso.
Ora mi trovo a studiare un'infinità di slide, ma ci sto capendo poco ..

Potreste, magari anche con un esempio pratico, spiegarmi che differenza c'e' tra l'analisi dei requisiti e la specifica?
Entrambi non mi dicono forse cosa deve saper fare il prodotto sw che devo realizzare?
Grazie,
ciao Kitty
Risposte
Ciao,
anche se il nome è fuorviante, "ingegneria del software" è una argomento di Informatica. Ti consiglio di spostare questa discussione nell'altra sezione, di sicuro ti si da una risposta.
Ti do uno spunto veloce data l'ora:
certo tutto e due ti danno un qualcosa per comprendere cosa il "prodotto" deve fare. In fasi successive aumenti la conoscenza del prodotto, lemme lemme.
Stai attenta che in questa fase si parla di "cosa" fare, il come verrà fatto in strati di studio differenti.
Se sai lo studio della comprensione del software da creare si fa di diverse fasi, e dal modello adottato può cambiare l'ordine con cui vengono affrontate le fasi.
Di solito si ha questo ordine:
- analisi dei requisiti
- design
- code
- testing
queste fasi vengono fatte solo se il cliente ti da il lavoro, perciò prima ci sarà un incontro dove si discutono le "spiecifiche" fatte in linguaggio naturale, assieme a degli schemi molto semplici (di solito con Modelli E-R).
Poi si parte, con l'analisi dei requisiti e tutte le varie sottofasi. Da tenere in considerazione il modello adottato dal team (Spiral, Agile, ecc) che fa variare l'ordine della fasi.
L'argomento è molto vasto, ti ho dato solo qualche spunto, se hai domande chiedi pure
anche se il nome è fuorviante, "ingegneria del software" è una argomento di Informatica. Ti consiglio di spostare questa discussione nell'altra sezione, di sicuro ti si da una risposta.
Ti do uno spunto veloce data l'ora:
Entrambi non mi dicono forse cosa deve saper fare il prodotto sw che devo realizzare
certo tutto e due ti danno un qualcosa per comprendere cosa il "prodotto" deve fare. In fasi successive aumenti la conoscenza del prodotto, lemme lemme.
Stai attenta che in questa fase si parla di "cosa" fare, il come verrà fatto in strati di studio differenti.
Se sai lo studio della comprensione del software da creare si fa di diverse fasi, e dal modello adottato può cambiare l'ordine con cui vengono affrontate le fasi.
Di solito si ha questo ordine:
- analisi dei requisiti
- design
- code
- testing
queste fasi vengono fatte solo se il cliente ti da il lavoro, perciò prima ci sarà un incontro dove si discutono le "spiecifiche" fatte in linguaggio naturale, assieme a degli schemi molto semplici (di solito con Modelli E-R).
Poi si parte, con l'analisi dei requisiti e tutte le varie sottofasi. Da tenere in considerazione il modello adottato dal team (Spiral, Agile, ecc) che fa variare l'ordine della fasi.
L'argomento è molto vasto, ti ho dato solo qualche spunto, se hai domande chiedi pure

Ciao grazie! In effetti non sapevo se postarlo in ingegneria o in informatica.. Non ero certa che in informatica si trattasse anche questo corso.
Per ora mi son chiarita un po' le idee.. grazie per la risposta e per la disponibilita'!
Ciao Kitty
Per ora mi son chiarita un po' le idee.. grazie per la risposta e per la disponibilita'!
Ciao Kitty
/OT
Se non ad informatica, dove altri mai?!?
TO/
"HelloKitty87":
Non ero certa che in informatica si trattasse anche questo corso.


TO/
se non ricordo male, l'analisi la tiri fuori parlando con chi ti commissiona un lavoro, che quindi ti dirà cosa vuole che faccia l'applicazione che andrai ad implementare, scritta in mero italiano. la specifica è un documento che fai tu progettista, dove evidenzi la logica secondo cui il tuo software assolve i vari compiti della specifica. per farti un esempio scemo, dall'analisi tu hai tirato fuori che il tuo cliente vuole che il software, oltre ad assolvere altri compiti, faccia la somma di due numeri. nella specifica tra le altre cose, inserirai la descrizione d questa attività, inserendo il nome della funzione che implementerai via software, i parametri che prende e il tipo che torna, e poi in linguaggio di pseudoprogrammazione, o in un italiano il quanto piu possibile non ambiguo, o in forma matematica, descrivi come opererò il tuo algoritmo. questo in maniera tale che se in un futuro ci si accorgerà che la funzione che hai scritto non assolve il compito, senza andare a spulciare tutto il codice della funzione (questo quando si hanno funzioni di centinaia e centinaia di righe), basta andare a leggere la specifica relativa e vedere dove sta l'errore. questo ovviamente se l'errore è a livello concettuale (invece di fare la somma hai fatto un prodotto) e se hai scritto codice in accordo con la specifica. forse sono stato un pò ridondante su alcuni aspetti, ma spero di essere stato chiaro.
@Rggb: si fa anche ad ingegneria informatica e probabilmente anche in altri corsi di ingegneria.
@giozh
grazie! sei stato chiarissimo!!!
grazie! sei stato chiarissimo!!!
"HelloKitty87":
Ciao a tutti,
sto preparando l'esame di ingegneria del sw, ma non ho seguito il corso.
Ora mi trovo a studiare un'infinità di slide, ma ci sto capendo poco ..
Potreste, magari anche con un esempio pratico, spiegarmi che differenza c'e' tra l'analisi dei requisiti e la specifica?
Entrambi non mi dicono forse cosa deve saper fare il prodotto sw che devo realizzare?
Grazie,
ciao Kitty
Se ci capisci poco non è colpa tua.
Questi argomenti sono spesso confusi e vaghi. Nella mondo degli sviluppatori software nessuno le usa veramente.
Comunque per capirci al volo ti faccio un esempio:
Requisito: Voglio una pizza con la salsiccia ben cotta.
Analisi del requisito:
Con la salsiccia --> il cliente vuole tanti pezzettini di salsiccia sulla pizza
Ben cotta --> aumentare leggermente il tempo di cottura
Specifica:
Utilizzare salsiccia della marca XY acquistata dal fornitore ABC.
Portare il tempo di cottura da 15 a 18 minuti.
Cerca di studiare qualcosa poi dimentica queste perdite di tempo.
[SP]
Non sono proprio d'accordo su questa tua affermazione. Queste "perdite di tempo" sono tecniche e metodologie di lavoro.
Vengono utilizzate moltissimo, di sicuro non come si studiano.
Ma i Metodi Agili sono usatissimi, il Pair Programming, in ambiti Enterprise delle Software House sono le basi per gestire un progetto ed un team.
[/SP]
Cerca di studiare qualcosa poi dimentica queste perdite di tempo.
Non sono proprio d'accordo su questa tua affermazione. Queste "perdite di tempo" sono tecniche e metodologie di lavoro.
Vengono utilizzate moltissimo, di sicuro non come si studiano.
Ma i Metodi Agili sono usatissimi, il Pair Programming, in ambiti Enterprise delle Software House sono le basi per gestire un progetto ed un team.
[/SP]