Per lo sviluppo di una nuova generazione di un dispositivo di monitoraggio medico composto da diversi sistemi hardware dedicati con software incorporato, sto osservando i requisiti per la generazione attuale del dispositivo per vedere cosa può essere riutilizzato. Durante questo processo, presento alcuni requisiti che specificano esplicitamente una determinata architettura per uno dei sottosistemi e requisiti che presuppongono quella particolare architettura.
La mia domanda è, è corretto avere tali requisiti, o queste decisioni di design dovrebbero essere davvero relegate a un progetto architettonico? Trovo che i requisiti che presumono un'architettura siano i più problematici, in quanto hanno un merito all'interno di tale architettura, ma potrebbero non avere senso quando è stato scelto un design diverso e non è sempre possibile riscriverli in modo indipendente dall'architettura.
Alcuni esempi parafrasati dei requisiti:
The system shall be composed of hardware modules X, Y and Z.
Rationale: This is how we have done it before and we didn't experience any trouble with it.
Il mio problema con questo: l'utente finale non si preoccuperebbe di come dividiamo il sistema, purché non sia un peso con cui lavorare. Inoltre, non ho potuto vedere nessun altro stakeholder che avrebbe avuto un interesse personale qui.
Hardware module X shall be physically detachable from hardware module Y.
Rationale: This allows for easier storage of the system and to allow the user to exchange the more fragile module X in case of problems.
Il mio problema: l'intento del requisito con cui posso essere d'accordo ed è qualcosa a cui l'utente finale potrebbe interessare, ma non vedo come un requisito possa riferirsi a un modulo hardware la cui esistenza è soggetta a una decisione progettuale che non è un requisito.
Hardware module Y shall contain software function S.
Rationale: Software function S needs quite a lot of processing power that is only available in module Y.
Il mio problema: si poteva anche decidere di dare al modulo hardware X un processore più capace e lasciare che gestisse la funzione software S.
Un ulteriore problema è che almeno alcuni di noi credono fermamente che i tutti requisiti del modulo / software devono essere ricondotti a un requisito di sistema, il che potrebbe non essere più vero se tali i requisiti vengono espulsi.