Penso che l'OP stia confondendo UML (un linguaggio per la modellazione) con la gestione dei requisiti (un processo). La modellazione del proprio sistema in UML non impedirà agli utenti di richiedere i requisiti. Usi UML per acquisire la tua architettura e mappare i requisiti alle risorse. Una modifica del requisito rappresenterebbe invariabilmente un cambiamento nel tuo modello.
Questi sono problemi sistemici che non si "UML fuori" . Ci sono cose da considerare qui:
Cambia ambito:
Troppo grande di una modifica, quindi la richiesta è di disturbo, o il tuo UML non si riferisce al sistema attuale, o il tuo sistema ha un'architettura inflessibile.
Modifica del tasso di variazione
Le modifiche troppo frequenti causano tu a 1) l'aggiornamento del modello e 2) l'invio. Quindi, senza un processo di gestione dei requisiti, andrai a far morire te stesso UML, riducendo così il tasso di produzione dei risultati.
Potresti dire che la tua produttività è inversamente proporzionale al tasso di variazione del requisito moltiplicato per un fattore che rappresenta la "crosta" UML aggiunta artificialmente a un processo.
Suggerirei di ottenere un libro sulla gestione dei requisiti e di imparare un po 'come Scrum gestisce i requisiti. Diciamo che in precedenza avevi un requisito R, e ora l'utente vuole una modifica su R, diciamo R '. Quindi tratti R 'come nuovo requisito con la sua nuova timeline. Devi comunicare agli utenti che le modifiche ai requisiti hanno costi associati.
Inoltre, ti piacerebbe studiare un po 'di ingegneria dei sistemi e il concetto di requisiti come:
- atomica.
- preciso.
- non ambiguo.
- testabile / verificabile.
- fattibile.
- È una richiesta di modifica su un requisito
un difetto sul requisito. Così,
crea un nuovo requisito, e
mette l'onere sull'originatore
(in genere il cliente.)
Esiste un requisito non valido. Una richiesta di requisito che non soddisfa nessuno di questi requisiti è un requisito non valido. E in un buon processo, il team di sviluppo ha il diritto di rifiutare un requisito.
Voglio dire, chiedi a un architetto di progettare una casa senza finestre, lui se ne andrà. Oppure chiedi al riparatore di riparare il tuo tetto con del nastro adesivo, ti darà il dito e andrà via. Chiedi a un dentista di rimuovere un dente da te usando un paio di tronchesi per bulloni, ti colpirà e ti butterà fuori.
Solo nel software vedi questa nozione che tutti i requisiti sono validi e che devono essere implementati a qualsiasi costo.
Recentemente ho dato una risposta a una domanda correlata, sulla gestione dei requisiti e sull'ingegneria. Forse potresti voler dare un'occhiata a questo. Spero che lo trovi utile
Come gestisci i requisiti in evoluzione?