Kihagyás

Szoftvervizualizáció

Mi a szoftvervizualizáció?

Célja: Az adat grafikus megjelenítése, vagyis a szoftver tulajdonságainak látható módon való ábrázolása valamilyen jelképrendszer (metafora) alapján.

Bemenet: Az ábrázolandó adat, jelen esetben valamilyen információ a szoftverrol.

Kimenet: Grafikus elemek megjelenítése, pl. kép vagy videó.

Vizualizáció módjai

Nagyon sok tulajdonság szerint lehet csoportosítani. Ezek sokszor szubjektív szempontok és bár általában létezik valamilyen sokak által elfogadott felosztás, mégis a határok nincsenek jól definiálva.

  • Dinamikuság: állókép, videó, animáció
  • Interaktivitás: UML diagrammok, Git hálózatok. Lehet-e változtatni a megjelenítést a vizualizáció újra elkészítése nélkül?
  • Absztrakció szintje: UML diagramok, képernyotervek. Mennyire áll közel a jelképrendszer a valódi objektumhoz?
  • Adatdimenziók
    • oszlopdiagram: mennyiségek közti eltérések
    • osztálydiagram: osztályok neve, adattagjai, kapcsolatai, stb.
  • Metafora: magasság, szín, méret, távolság, gráfok, fizikai objektum modellek: épületek, fák, stb. Mi az a jelképrendszer amit használunk?

Lehetséges ábrázolási módok a következők:

  • UML diagrammok: szerkezet és viselkedés megjelenítése
  • Grafikonok: számszeru tulajdonságok ábrázolás (pl.: metrikák)
  • Git hálózatok: fejlesztés menetének megjelenítése
  • Folyamatábrák: adatok áramlásának megjelenítése
  • Képernyőtervek, mockup-ok: a grafikus felület szerkezetének bemutatása

Példák

Oszlopdiagram

  • elvont metafora, pl.: 100 °C miért „magasabb” mint a 0 °C
  • magasság, szín, távolság (oszlopok csoportosítása)
  • alapvetoen kifejezi az értékek közti eltérés nagyságátegymáshoz képest

Deployment diagram (UML)

  • elvont metafora, pl.: a szerver hasonlít egy „dobozra” a valóságban?
  • gráf metafora egyedi címkékkel
  • elemek és köztük lévo kapcsolatok ábrázolása

CodeMetropolis

  • valósághű, de elvont metafora, pl.: Léteznek épületek a valóságban? Forráskód metódus hasonlít egy szobára?
  • város metafora, épületek tulajdonságaival fejezi ki az adatok tulajdonságait
  • sok, elvont metrika közötti kapcsolat és korreláció érzékelését teszi lehetővé

CodeMetropolis

Fritzing ábra

  • valósághu és nem elvont metafora, pl.: Mennyire hasonlít egy Arduino a képen láthatóra? Léteznek LED-ek a valóságban?
  • gráf metafora, egyedi csomópont megjelenítéssel (képek)
  • próba áramkörök elemei közötti kapcsolat megjelenítése

Fritzing

Vizualizáció fázisai

Az alábbiak során a vizualizáció folyamatát vesszük szemügyre, az egyes lépéseket különbontva.

  1. adatok-> Szűrés (Filtering) -> adatok

    Célja: a fölösleges adatok eldobása, adatok előkészítése Példák: a vizsgált osztályok kiválasztása az osztálydiagramhoz; értékek normálása az oszlopdiagram számára

  2. adatok -> Hozzárendelés (Mapping) -> geometria

    Célja: az információ átalakítása grafikus elemek tulajdonságaivá Példák: az osztályok közötti kapcsolatokat jelölő nyílvégek típusának meghatározása az osztálydiagramon a kapcsolatok tulajdonságai alapján; az oszlopok(képpontban vett) magasságának kiszámítása az adatok nagysága alapján az oszlopdiagramhoz

  3. geometria -> Ábrázolás (Rendering) -> kép, videó, stb

    Célja: a grafikus anyag előállítása: képek készítése, videó fájlba mentése, stb Példák: elkészítjük a kép fájlokat (JPEG, PNG), amelyek tartalmazzák az osztály- vagy az oszlopdiagramot

  4. kép, videó, stb -> Megjelenítés (Display, Playback) -> adat

    Célja: a felhasználó számára (ember, célközönség) megjelenítjük a kész ábrát Példák: az Excelben megtekintjük az elkészült oszlopdiagramot; a megbeszélésen átnézzük a kinyomtatott osztálydiagramot a többi fejlesztővel

További felhasználás

A megjelenítés során levont, megértett következtetések (új adatok) további folyamatok bemenetei lehetnek, pl.: egy új vizualizációé.

A vizualizáció elkészítése során fokozottan figyeljünk az alábbiakra:

  • Mindig tartsuk szem elott a célt amiért a vizualizáció készült: milyen összefüggéseket szeretnénk bemutatni, mire szeretnénk felhívni a figyelmet, mely adatokat szeretnénk további vizsgálat alá vetni, stb.
  • Koncentráljunk a lényegre: nem kell minden osztályt bezsúfolni egyetlen egy osztálydiagramra, stb.
  • Mindig adjunk leíró szöveget a megjelenített adatokhoz, ami elmondja a vizualizáció célját és vázolja a vele elért eredményeket.
  • Koncentráljunk arra hogy mi mit jelent, ne arra hogy mit látunk a képen. "A fekete dobozból három nyíl megy a piros dobozokba." helyett inkább a "A rendszer belépési pontját a fekete doboz jelzi, amelyből a három fő komponens felé áramolhat az információ (piros dobozok)." mondatot használjuk!
  • Ha egy ábrát nagyon sokáig kell magyarázni akkor az az ábra lehet nem megfelelő.
  • Használjunk konzisztens jelölést. Pl.: adott végű nyíl adott típusú kapcsolatot jelentsen mindenhol. Ebben nagy segítséget jelent a szabványos jelölések (például az UML) használata.
  • Nem mindenki egyformán gondolkodik, ami számunkra egyértelmű az másnak lehet, hogy érthetetlen. Kérjük ki a többi csapattag véleményét!
  • Amit a másik csapattagnak szóban elmondtunk az ábrán szereplo dolgokról, azt valószínűleg nem lehet leolvasni az ábráról. Ezeket az információkat vagy írjuk le vagy javítsuk az ábrát.
  • Gondoljunk a fogyatékkal élőkre, pl.: érthető az ábra egy színtévesztő számára is?
  • Ügyeljünk arra hogy a megfelelő metaforát és technikát válaszuk. Pl.: Fritzing ábra kezdőknek, kapcsolási rajz tapasztalt mérnököknek.
  • Mindig tartsuk szem előtt, hogy milyen módon jelenik majd meg az ábra. Pl.: nyomtatás (nincs nagyítás, ált. fekete-fehér), monitor (hova tesszük a magyarázó szöveget), vagy kivetítő (nem minden szín látszik jól).