Devo documentare il mio programma per un progetto scolastico e abbiamo una sezione chiamata "dominio problematico" ma non ho idea di cosa discutere in questa sezione.
Quindi la domanda è: cosa dovrebbe essere discusso nel dominio del problema?
Devo documentare il mio programma per un progetto scolastico e abbiamo una sezione chiamata "dominio problematico" ma non ho idea di cosa discutere in questa sezione.
Quindi la domanda è: cosa dovrebbe essere discusso nel dominio del problema?
Risposte:
Scrivo software incorporato per apparecchiature di telecomunicazione. Il mio dominio problematico sono i protocolli ethernet, voce e video. In altre parole, tutto ciò che non ha nulla a che fare con il linguaggio in cui sto programmando, ma che devo ancora capire per scrivere il software. Se stai creando un sito Web per la vendita di servizi fotografici, il dominio problematico è la fotografia e l'e-commerce. Se si scrive firmware per aerei militari, il dominio problematico sono le armi, i sensori e i sistemi di controllo. Prendi la foto?
Dall'articolo di Wikipedia sul dominio problematico :
Un dominio problematico è l'area di competenza o applicazione che deve essere esaminata per risolvere un problema. Un dominio problematico sta semplicemente esaminando solo gli argomenti che ti interessano ed escludendo tutto il resto.
È l'area a cui appartengono i problemi che l'applicazione intende risolvere.
Non tutti scrivono compilatori, tracker di bug, framework o altri pacchetti software semplici per computer.
Alcune persone scrivono software per l'industria della sabbia e della ghiaia. Alcune persone scrivono software per il monitoraggio delle torri di rifrazione della raffineria. Alcune persone scrivono software per controllare la produzione di sacchetti di plastica per la spesa. Alcune persone scrivono software per riempire i pacchetti di ketchup.
Questi sono tutti domini problematici, in cui per scrivere un buon software è necessario conoscere un po 'il dominio, ad esempio calcestruzzo preconfezionato.
Ian K. Bray nel suo libro An Introduction to Requirements Engineering (p9) definisce il dominio problematico come il seguente:
Quella parte dell'universo in cui esiste il problema .
Ad esempio, nel caso di un sistema di controllo degli ascensori, includerebbe qualsiasi hardware esistente (ascensori, motori, pulsanti, indicatori, sensori, ecc.), Le caratteristiche dell'edificio (numero di piani e pozzi), lo schema previsto di utilizzo, le caratteristiche degli utenti, la politica di utilizzo dell'ascensore del cliente (ad es. gli utenti dovrebbero essere scoraggiati dall'utilizzare un ascensore per brevi viaggi?) e così via.
Nell'ambito del problema relativo al controllo degli ascensori, il problema, come indicato sopra, è "è necessario un sistema di controllo che farà un uso più efficiente degli ascensori in questo edificio". In pratica, di solito perfezioniamo il problema in un intero insieme di sotto-problemi ma, per ora, basta notare che per risolvere i problemi, è chiaramente necessario che il sistema di soluzione produca alcuni effetti all'interno del dominio del problema . Sono questi effetti desiderati che costituiscono i requisiti.
Quindi, il dominio problematico può anche essere considerato come quella parte del mondo in cui opererà il nuovo sistema di soluzione (a volte abbreviato in SS) e produrrà gli effetti richiesti. Poiché i sistemi di soluzione basati su software sono spesso chiamati applicazioni, il dominio problematico può essere chiamato dominio dell'applicazione.