Perché l'industria del software ha una relazione di amore-odio con i diagrammi UML
Pubblicato: 2017-05-19UML è un linguaggio visivo versatile che viene utilizzato per modellare un sistema software. L'industria del software è stata divisa nella sua opinione sull'uso dei diagrammi UML. Mentre alcuni lo vedono come parte integrante dei sistemi software e dello sviluppo, ci sono un numero significativo di persone che lo ritengono completamente non necessario.
In questo post, esploriamo entrambi i lati di questo argomento (sia vantaggi che svantaggi di UML) e tentiamo di comprendere la relazione di amore-odio dell'industria del software con i diagrammi di progettazione UML.
Vantaggi dell'UML
Più usato e flessibile
UML è una piattaforma altamente riconosciuta e compresa per la progettazione di software. È una notazione standard tra gli sviluppatori di software. Puoi tranquillamente presumere che la maggior parte dei professionisti del software conoscerà almeno, se non bene, i diagrammi UML, rendendolo così l'alternativa ideale per spiegare i modelli di progettazione del software.
Ciò che rende UML adatto e molto necessario per lo sviluppo di software è la sua flessibilità. Puoi personalizzare gli elementi di modellazione e le interazioni in un diagramma UML in modo specifico per adattarsi al dominio o alle tecnologie che stai utilizzando.
L'architettura del software deve essere comunicata in modo efficace
L'architettura del software è il progetto del sistema. È la struttura da cui dipendono l'efficienza del sistema e dei suoi processi. Ma questo framework è efficace solo se viene comunicato correttamente a tutti coloro che lo utilizzano e ci lavorano. È qui che entra in gioco Unified Modeling Language (UML).
UML è un linguaggio ricco ed esteso che può essere utilizzato per modellare non solo l'ingegneria del software orientata agli oggetti, ma anche la struttura e il comportamento dell'applicazione e anche i processi aziendali. I giocatori di software hanno convenuto che non possiamo eliminare la documentazione dell'architettura. È importante. Aiuta a valutare le prestazioni, la sicurezza, il monitoraggio e fornisce importanti linee guida per l'incarico in corso.
Grazie alla sua ampia portata, UML è il linguaggio visivo perfetto per comunicare informazioni dettagliate sull'architettura al maggior numero di utenti.
Devi conoscere solo una frazione della lingua per usarlo
Sebbene esistano 14 diversi tipi di diagrammi UML per la modellazione delle applicazioni, gli sviluppatori ne usano solo tre o quattro per documentare un sistema software. I diagrammi di classe, i diagrammi di sequenza e i diagrammi di casi d'uso rimangono i più in voga.
Ciò implica che devi conoscere solo il 20% del linguaggio UML per spiegare l'80% delle tue esigenze di modellazione. Non è necessario conoscere o comprendere l'intera notazione per comunicare in modo efficace utilizzando i diagrammi UML. Conoscere un sottoinsieme della notazione ti equipaggia bene.
Abbondanza di strumenti UML
Gli strumenti UML sono uno dei motivi più importanti per cui UML è così ampiamente utilizzato. Gli strumenti UML vanno dal software open source gratuito a quelli che costano milioni di dollari. Questi strumenti coprono molto territorio oltre al semplice disegno di diagrammi. Possono generare codice dalla progettazione, applicare modelli di progettazione, estrarre requisiti, eseguire il reverse engineering del codice ed eseguire analisi di impatto e complessità.
Questi vantaggi e l'abbondanza di strumenti UML stessi rendono UML il linguaggio di modellazione e sviluppo ideale nel campo dell'ingegneria del software.
Nonostante la sua miriade di usi e vantaggi, UML non è preferito da tutti. In effetti, una parte considerevole di sviluppatori di software non usa UML e accumula pesanti critiche sullo stesso. Diamo un'occhiata agli argomenti contro l'utilizzo di UML.
Svantaggi di UML: Ragionamento contro UML
La notazione formale non è necessaria
L'argomento più forte contro UML è che non hai davvero bisogno di un diagramma UML per comunicare i tuoi progetti. È possibile ottenere lo stesso impatto e lo stesso effetto con diagrammi a scatole e linee informali creati in PowerPoint, Visio o una lavagna. Poiché la codifica è di per sé un linguaggio formale, molti sviluppatori non preferiscono la complessità e la formalità a livello architettonico, il che scoraggia l'uso di UML ed è diventato uno dei suoi svantaggi.
Grado di complessità crescente
Dal suo inizio fino ad ora, UML è cresciuto in complessità e dimensioni. La vastità dell'UML rende molte persone nervose fin dall'inizio, e si sentono come se non sarebbero in grado di impararlo e starebbero meglio senza di esso.
Non necessario in 'Architettura-Design indifferente'
Un termine coniato da George Fairbanks, "design indifferente dall'architettura" è una situazione in cui l'UML è considerato non necessario.
Al suo interno, un design indifferente all'architettura si riferisce a un'architettura software che è semplice e basilare e non necessita di diagrammi complessi per rappresentare o spiegare il design. Se le aziende pongono maggiore enfasi sulla codifica formale ed esiste una cultura prevalente di documentazione di progettazione minima, UML è considerato non necessario.
Decifrare questa relazione amore-odio:
Sebbene si parli molto della ridondanza dell'UML nell'industria del software, non si può negare che finora non esiste un sostituto olistico o appropriato dell'UML. Per avere una prospettiva imparziale sul significato e sul destino di UML, abbiamo parlato con giganti dell'hardware che sono strettamente in contatto con l'industria del software, ma neutrali nella loro prospettiva.
"L'assenza di documentazione di progettazione va bene nel breve periodo, ma può diventare un problema a lungo termine quando è necessario comunicare il progetto a uno sviluppatore che si trova in un altro paese o a qualcuno che si unirà al team sei mesi dopo . UML diventa un grande aiuto in tali circostanze e allevia ambiguità e domande relative al design". Un rappresentante di Sconect, produttore di testate femminili, opine.
"Possiamo parlare di linguaggi specifici del dominio per la modellazione visiva, ma resta il fatto che nessuno di loro ha trovato ampia accettazione, il che afferma solo che UML rimane la migliore alternativa per quanto riguarda i linguaggi visivi". Questa osservazione è stata avanzata in modo molto interessante da un rappresentante di Scondar, specializzato nella produzione di connettori con connettore pin.
I contributi di un rappresentante di Ismolex riassumono in modo appropriato il caso della relazione di amore-odio dell'industria del software con i diagrammi di progettazione UML. "Potrebbero esserci mille argomenti contro l'uso di UML, ma grazie alla sua capacità di catturare le sfumature delle informazioni sull'architettura di progettazione e con la crescente importanza della documentazione di progettazione, UML rimane insostituibile".
Vantaggi e svantaggi di UML: da che parte stai?
Le smentite e le adesioni ai diagrammi UML continueranno negli ambienti del software. Ma UML è qui per restare. I diagrammi UML, tuttavia, devono essere continuamente aggiornati in modo che il loro utilizzo non sia limitato alla descrizione e alla comunicazione dell'architettura, ma ampliato per rappresentare e creare sistemi in grado di adattarsi ai cambiamenti dinamici.
Informazioni sull'autore
Sono Rachel Oliver, ho lavorato negli ultimi due anni come scrittrice freelance e attualmente associata a Ismolex - Produttore di intestazioni di pin. Mentre mi piace scrivere di tutte le cose sotto il sole, inclusi energia, affari, sport, bricolage e moda, sono particolarmente appassionato di affari, tecnologia ed elettronica. Puoi metterti in contatto con me su Google+, Facebook e Twitter.