Hai "dimenticato" di menzionarlo, ma presumo tu stia parlando della raccolta dei requisiti per un nuovo software usando UML, giusto?
Penso che il primo passo in questo dovrebbe essere sempre quello di capire i casi d'uso (e non sto parlando di schemi di casi di fantasia, sto parlando del processo di business dei tuoi utenti, di cosa essi stanno facendo e come il nuovo software deve essere integrato nel loro lavoro). Puoi farlo intervistando le persone, osservandole o lavorando con loro.
Per mettere al sicuro il risultato di questo processo puoi provare ad incorporare i diagrammi dei casi d'uso, ma questi diagrammi forniranno solo un'astrazione di livello molto alto di ciò che hai imparato nel passaggio precedente. Quindi dovrai aggiungere una descrizione più dettagliata a qualsiasi caso d'uso. Questa descrizione può utilizzare altri strumenti:
- descrizione verbale dei processi in linguaggio naturale
- esempi di scenari (detti anche "storie degli utenti")
- diagrammi di classi per la modellazione di entità aziendali e dati a un livello molto dettagliato
- diagrammi delle classi come una forma di modello di dominio come in " design basato sul dominio "
- diagrammi del flusso di dati (ancora mancanti in UML)
- Bozze dell'interfaccia utente
- casi di test
- altri diagrammi UML (sebbene IMHO sia di rado molto utile)
- [...]
Quindi se il tuo lavoro è quello di modellare una panoramica di alto livello del sistema, probabilmente creerai prima i diagrammi dei casi d'uso, ognuno con una descrizione più o meno piccola. Se hai intenzione di approfondire i dettagli di un certo caso d'uso, in cui i dati da elaborare sono modellati a livello di attributo, puoi iniziare con un solo caso d'uso e fare un sacco di modellazione bottom-up dettagliata (magari incorporando diagrammi delle classi come uno dei tanti strumenti) prima di passare al caso d'uso successivo. Quindi l'ordine per la modellazione dipende da quale è l'attività assegnata e da quanto è grande e complesso analizzare il software.
Essere consapevoli del fatto che molti progetti software in passato hanno fallito perché sono stati completamente analizzati - centinaia di pagine di specifiche create in mesi senza prima creare una riga di codice (ovviamente, altri progetti hanno fallito perché non erano stati ben analizzati ), quindi è importante trovare il giusto equilibrio. Sappi anche che la maggior parte dei sistemi software verrà creata per versione, quindi il compito di raccogliere i requisiti per la versione 1.0 è solo il primo passo. Per la versione 2,3,4,5, in genere devi descrivere solo i requisiti aggiuntivi rispetto alla versione precedente. Spesso l'insieme dei casi d'uso è per lo più stabile tra le versioni, ma le differenze dettagliate tra la versione n e n + 1 sono interessanti. Quindi gli strumenti che ho elencato sopra per la descrizione dettagliata del caso d'uso diventano in genere più importanti dei diagrammi dei casi d'uso dopo che la versione 1.0 è in produzione.