Visualizzazione software - Software visualization
La visualizzazione del software o la visualizzazione del software si riferisce alla visualizzazione delle informazioni di e relative ai sistemi software - l' architettura del suo codice sorgente o le metriche del loro comportamento in fase di esecuzione - e il loro processo di sviluppo per mezzo di 2-D o 3- statici, interattivi o animati D rappresentazioni visive della loro struttura, esecuzione, comportamento ed evoluzione.
Informazioni sul sistema software
La visualizzazione del software utilizza una varietà di informazioni disponibili sui sistemi software. Le categorie di informazioni chiave includono:
- artefatti di implementazione come codici sorgente ,
- dati metrici del software da misurazioni o da reverse engineering ,
- traccia che registra il comportamento di esecuzione,
- dati di test del software (ad es. copertura del test)
- dati del repository software che tengono traccia delle modifiche.
Obiettivi
Gli obiettivi della visualizzazione del software sono supportare la comprensione dei sistemi software (cioè, la sua struttura) e degli algoritmi (ad esempio, animando il comportamento degli algoritmi di ordinamento), nonché l'analisi e l'esplorazione dei sistemi software e delle loro anomalie (ad esempio, mostrando classi ad alto accoppiamento ) e il loro sviluppo ed evoluzione. Uno dei punti di forza della visualizzazione del software è combinare e mettere in relazione le informazioni dei sistemi software che non sono intrinsecamente collegati, ad esempio proiettando le modifiche al codice sulle tracce di esecuzione del software.
La visualizzazione del software può essere utilizzata come strumento e tecnica per esplorare e analizzare le informazioni del sistema software, ad esempio per scoprire anomalie simili al processo di estrazione dei dati visivi . Ad esempio, la visualizzazione del software viene utilizzata per monitorare attività come la qualità del codice o l'attività del team. La visualizzazione non è intrinsecamente un metodo per la garanzia della qualità del software . La visualizzazione del software partecipa alla Software Intelligence nel consentire di scoprire e trarre vantaggio dalla padronanza dei componenti interni dei sistemi software.
Tipi
Gli strumenti per la visualizzazione del software potrebbero essere utilizzati per visualizzare il codice sorgente e i difetti di qualità durante le attività di sviluppo e manutenzione del software. Esistono diversi approcci per mappare il codice sorgente a una rappresentazione visiva, ad esempio mediante mappe software. Il loro obiettivo include, ad esempio, la scoperta e la visualizzazione automatiche di difetti di qualità in sistemi e servizi software orientati agli oggetti. Comunemente, visualizzano la relazione diretta di una classe e dei suoi metodi con altre classi nel sistema software e contrassegnano potenziali difetti di qualità. Un ulteriore vantaggio è il supporto per la navigazione visiva attraverso il sistema software.
Per la visualizzazione del software viene utilizzato un software di disegno grafico più o meno specializzato . Un'indagine su piccola scala del 2003 di ricercatori attivi nel campo del reverse engineering e della manutenzione del software ha rilevato che è stata utilizzata un'ampia varietà di strumenti di visualizzazione, inclusi pacchetti di disegno di grafici generici come GraphViz e GraphEd, strumenti UML come Rational Rose e Borland Together e altro ancora strumenti specializzati come Visualization of Compiler Graphs (VCG) e Rigi . La gamma di strumenti UML che possono fungere da visualizzatore per fonte di reverse engineering non è affatto breve; un libro del 2007 ha osservato che oltre ai due strumenti sopra menzionati, anche ESS-Model, BlueJ e Fujaba hanno questa capacità e che Fujaba può anche identificare i modelli di progettazione .
Guarda anche
- Programmi
- Concetti correlati
- Scoperta e comprensione delle applicazioni
- Manutenzione del software
- Mappe software
- Diagnosi del software
- Dimensioni cognitive delle notazioni
- Archeologia del software
Riferimenti
Ulteriore lettura
- Roels, R .; Meştereagă, P .; Signer, B. (2016). "Un plug-in di visualizzazione del codice sorgente interattivo per la piattaforma di presentazione MindXpres". Communications in Computer and Information Science (CCIS) . Springer. doi : 10.1007 / 978-3-319-29585-5_10 . ISBN 978-3-319-29584-8 .
- Burch, M .; Diehl, S .; Weißgerber, P. (2005). "Data mining visuale in archivi software". Atti del simposio ACM 2005 sulla visualizzazione del software (SoftVis '05) . pagg. 37–46. doi : 10.1145 / 1056018.1056024 . ISBN 1595930736 . S2CID 1577375 .
- Diehl, S. (2002). Visualizzazione del software. Seminario internazionale Castello di Dagstuhl, Germania, 20–25 maggio 2001 Revised Papers . Appunti delle lezioni in informatica. 2269 . Springer. doi : 10.1007 / 3-540-45875-1 . ISBN 978-3-540-43323-1 . S2CID 21007575 .
- Diehl, S. (2007). Visualizzazione del software: visualizzazione della struttura, del comportamento e dell'evoluzione del software . Springer. ISBN 978-3-540-46504-1 .
- Eades, P .; Zhang, K. (1996). Visualizzazione del software . Serie su ingegneria del software e ingegneria della conoscenza. 7 . World Scientific. ISBN 981-02-2826-0 .
- Gîrba, T .; Kuhn, A .; Seeberger, M .; Ducasse, S. (2005). "Come gli sviluppatori guidano l'evoluzione del software" (PDF) . Atti del seminario internazionale sui principi dell'evoluzione del software (IWPSE 2005) . IEEE Computer Society Press. pagg. 113–122. doi : 10.1109 / IWPSE.2005.21 . ISBN 0-7695-2349-8 . S2CID 9260583 .
- Keim, DA (gennaio-marzo 2002). "Visualizzazione delle informazioni e data mining visivo". Transazioni IEEE su visualizzazione e computer grafica . 8 (1): 1–8. doi : 10.1109 / 2945.981847 .
- Knight, C. (2002). "Visualizzazione di sistema e software" . In Chang Shi-kuo (ed.). Tecnologie emergenti . Manuale di ingegneria del software e ingegneria della conoscenza. 2 . World Scientific. pagg. 131–148. ISBN 978-981-4491-78-5 .
- Kuhn, A .; Greevy, O. (2006). "Sfruttare l'analogia tra tracce ed elaborazione del segnale" (PDF) . Atti Conferenza internazionale IEEE sulla manutenzione del software (ICSM 2006) . IEEE Computer Society Press. pagg. 394–5. doi : 10.1109 / ASE.2004.1342773 . ISBN 0-7695-2131-2 .
- Lanza, M. (2004). "CodeCrawler - viste polimetriche in azione". Atti. 19a conferenza internazionale sull'ingegneria del software automatizzato, Linz, Austria, 20 24 settembre 2004 . pagg. 394–5. doi : 10.1109 / ASE.2004.1342773 . ISBN 0-7695-2131-2 .
- Lopez, FL; Robles, G .; Gonzalez, BJM (2004). "Applicazione dell'analisi dei social network alle informazioni nei repository CVS". Workshop internazionale sul Mining Archivi software (MSR 2004)" W17S Laboratorio 26 ° Conferenza internazionale sulla Ingegneria del Software, Edimburgo, Scozia, Regno Unito, 25 maggio 2004 IET pp 101-5.... Doi : 10,1049 / ic: 20.040.485 . ISBN 0-86341-432-X .
- Marcus, A .; Feng, L .; Maletic, JI (2003). "Rappresentazioni 3D per la visualizzazione del software". Atti del simposio ACM 2003 sulla visualizzazione del software . pp. 27 – ff. doi : 10.1145 / 774833.774837 . ISBN 1581136420 . S2CID 10263993 .
- Soukup, Tom; Davidson, Ian (2002). Visual Data Mining: tecniche e strumenti per la visualizzazione e il mining dei dati . Wiley. ISBN 978-0-471-27138-3 .
- Staples, ML; Bieman, JM (1999). "Visualizzazione 3-D della struttura del software". Progressi nei computer . 49 : 96–143. doi : 10.1016 / S0065-2458 (08) 60284-3 . ISBN 9780120121496 .
- Stasko, John; Brown, Marc H .; Domingue, John B .; Price, Blaine A. (1998). Visualizzazione software: programmazione come esperienza multimediale . MIT Press. ISBN 978-0-262-19395-5 .
- Van Rysselberghe, F .; Demeyer, S. (2004). "Studiare le informazioni sull'evoluzione del software visualizzando la cronologia delle modifiche". Atti. 20a conferenza internazionale sulla manutenzione del software . IEEE Computer Society Press. pagg. 328–337. doi : 10.1109 / ICSM.2004.1357818 . ISBN 0-7695-2213-0 . S2CID 16571788 .
- Wettel, R .; Lanza, M. (2007). "Visualizzazione di sistemi software come città". Atti di VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis) . IEEE Computer Society Press. pagg. 92–99. doi : 10.1109 / VISSOF.2007.4290706 . ISBN 978-1-4244-0599-2 . S2CID 9974947 .
- Zhang, K. (2003). Visualizzazione del software: dalla teoria alla pratica . Kluwer. ISBN 1-4020-7448-4 .