Csoport neve:
H9eeB0aibova
Feladat sorszáma: 2.
Feladat címe:
Labor felügyeleti rendszer
ANALÍZIS MODELL
Gyakorlatvezető:
Répási
Tibor
Csoport tagok:
|
Vincze Dávid |
Q75DX4 |
szkdavid@uni-miskolc.hu |
|
Ács Attila |
V41FWN |
aam@pannongsm.hu |
|
Juhász Miklós |
LD7Y3N |
junex@freemail.hu |
|
Szabados Tamás |
HG3CUI |
thombye@freemail.hu |
|
Vasi Sándor |
DYH7J9 |
sanyi@halivud.com |
2006. 04. 18.
Történet
|
Dátum |
Verzió |
Leírás |
Szerző |
|
2006. 04. 18. |
1.0 |
Kezdeti verzió |
Vincze Dávid |
Tartalomjegyzék
3.1.2 Attribútumok azonosítása
3.5 Az analízis modell osztálydiagramja.
4. Felhasználó kezelő alrendszer
4.1.2 Attribútumok azonosítása
4.5 Az analízis modell osztálydiagramja.
5.1.2 Attribútumok azonosítása
5.5 Az analízis modell osztálydiagramja.
6.1.2 Attribútumok azonosítása
6.5 Az analízis modell osztálydiagramja.
7.1.2 Attribútumok azonosítása
7.5 Az analízis modell osztálydiagramja.
8.6. Az analízis modell osztályainak listája.
8.6.11 CommResultParser osztály
8.6.13 SNMPResultParser osztály
8.6.14 SNMPResultParser osztály
Jelen dokumentumban bemutatásra kerül a H9 laborfelügyeleti rendszer két elkészítendő összetevőjének tervezett osztálydiagramja, azok osztályai, illetve alrendszerei. A korábbi dokumentumokban említett harmadik komponenst nem szükséges megtervezni, mivel azok már kész nyílt forrású, szabad felhasználású programok, programcsomagok.


labcomponent
A labor egy elemét szimbolizálja, ez lehet egy számítógép, vagy más aktív hálózati eszköz. Biztosítja a labor elemtől való adatlekérdezést, és a labor elem vezérlését.
control
A labor elem vezérlését végző osztály.
poll
A labor elemtől adatokat lekérdező osztály.
h9comm
A webfelülettel (később esetleg más felülettel, pl. curses alapú) tartja a kapcsolatot. A felületről érkező kérésekre válaszol. Ha nincs beérkező kérés akkor blokkol egy meghatározott ideig.
dataprocessor
A labcomponent osztályon keresztül begyűjtött adatokat feldolgozó és eltároló osztály.
user
A felhasználók kezelésére szolgáló osztály.
h9user
A h9 rendszer egy felhasználóját (üzemeltetőt) szimbolizáló osztály.
labuser
A labor(ok) egy felhasználóját szimbolizáló osztály.
config
A H9 rendszer konfigurációját tartalmazza és menedzseli.
ldap
Ezen az osztályon keresztül kérdezi le az LDAP adatbázisból a konfiguráció egy részét a config osztály.
log
Naplózó osztály, fogadja és időbélyeggel tárolja a naplózandó üzeneteteket
scheduler
Az időzített, és az események által kiváltott feladatokat indító osztály.
request
Feladata a bejövő kérések parse-olása.
h9comm
H9 főkomponenssel való kommunikációhoz. Parancsokat, lekérdezéseket átadja a főkomponensnek és fogadja a válaszokat (adatokat, hibaüzeneteket).
commresultparser
A főkomponenstől érkező adatok értelmezése és formázása a feladata.
snmpcomm
SNMP lekérdező osztály, hogy a realtime megfigyeléssel ne a főkomponenst terheljük.
snmpresultparser
Az SNMP-n keresztül lekérdezett adatok értelemzése és formázása a feladata.
design
A design elemeket tartalmazó osztály: header, footer, táblázat alap, stb.


laborkezelő alrendszer
A rendszer egészét megvalósító alrendszer. Tartalmazott osztályok: H9
felhasználó kezelő alrendszer
A rendszerhez tartozó felhasználók menedzselése a feladata. Együttműködik a konfigurációkezelő alrendszerrel. Tartalmazott osztályok: user, h9user, labuser.
konfiguráció kezelő alrendszer
A rendszer beállításait kezelő alrendszer, feladata a konfiguráció kezdeti betöltése, esetleges módosítása és tárolása. Ide tartozó osztályok: config.
adatfeldolgozó alrendszer
A labor elemekről begyűjtött adatokat kiértékelő és tároló alrendszer. Tagosztályok: dataprocessor
kommunikációs alrendszer
A főkomponens más részegységekkel való kétirányú kommunikációját valósítja meg. Tagosztályok: h9comm, ldap, labcomponent.
eseménykezelő alrendszer
A beállított automatikus tevékenységek feltételeit ellenőrző és indító alrendszer. Hozzá tartozó osztályok: scheduler.
naplózó alrendszer
A rendszer eseményeinek naplózását megvalósító alrendszer. Hozzá tartozó osztályok: log.
webfelület alrendszer
A felhasználói felületről érkező eseményeket, (adatok POST-olása, stb.) továbbítja a parser alrendszernek, mely majd azt a megfelelő adatstruktúrába tömöríti A design alrendszer űrlapjaiból egy megadott szintaktikájú tömb formájában érkezik az adat. Ezt kell az I/O alrendszer osztályai számára, a megfelelő adatfolyammá alakítani. Ide tartozik a request osztály.
design alrendszer
A design alrendszer a design osztályt foglalja magában. Feladata, hogy a parser alrendszertől kapott, adatstruktúrákba rendezett adatokat egységes stílusban megjelenítse.
parser alrendszer
A parser alrendszer a commresultparser és snmpresultparser osztályokat foglalja magában. Feladata, hogy az I/O alrendszerből érkező adatfolyamokat, adatokat a design alrendszer számára megfelelő szintaktikájú adatstruktúrákba tömörítse.
I/O alrendszer
Az I/O alrendszer a kommunikációért felelős Az alrendszerbe tartozó osztályok: h9comm, snmpcomm. Az alrendszer feladata, hogy az egyéb adatszolgáltató komponensekkel kapcsolatot teremtsen, azoktól információt szerezzen, illetve küldjön feléjük.
Számosságok: A H9 rendszerben egy dataprocessor létezhet.
dataprocessor osztály:
nem tartozik hozzá
attribútum.
Bázisosztály nem lelhető fel ebben az alrendszerben.
Az alrendszer az adatok feldolgozását végzi. A nyilvántartandó komponenseket csak egyszer szükséges megadni, illetve eltávolítani ha már nincs szükség a labor elem statisztikáira. A leggyakoribb használata az alrendszernek az új adatok bevitelei, hiszen ez automatikusan történik bizonyos időperiódusokban Adatlekérdezés csak a felületről érkező parancsból által váltható ki.
dataprocessor osztály:
add, publikus láthatóságú:
bemenő paraméterek:
component, labcomponent típusú: nyilvántartáshoz hozzáadandó labor elem.
visszatérési érték típusa: bool : az operáció sikerességét jelzi.
feladat: a nyilvántartáshoz ad hozzá labor elemet.
remove, publikus láthatóságú:
bemenő paraméterek:
component, labcomponent típusú: nyilvántartásból törlendő labor elem.
visszatérési érték típusa: bool : az operáció sikerességét jelzi.
feladat: a nyilvántartásból töröl ki labor elemet.
updateperiodic, publikus láthatóságú:
bemenő paraméterek:
component, labcomponent típusú: amelyik labor elem adatait kell frissíteni.
visszatérési érték típusa: bool : az operáció sikerességét jelzi.
feladat: labor elem statisztikájának frissítése .
getstatistics, publikus láthatóságú:
bemenő paraméterek:
component, labcomponent típusú: a labor elem amelyiknek a statisztikájára szükség van.
visszatérési érték típusa: string : a statisztika fájlok alapneve.
feladat: statisztika elérésének információnak lekérdezése.
Számosságok: A H9 rendszerben egy dataprocessor létezhet.
user osztály:
name, string típusú,
public láthatóságú attribútum: a
felhasználó neve.
lastlogin, string típusú,
public láthatóságú attribútum:
dátum, amikor a felhasználó utoljára
belépett.
status, string típusú, public
láthatóságú attribútum: a
felhasználó státusza.
uid, integer típusú,
public láthatóságú attribútum: a
felhasználó egyedi azonosító száma.
gid,
integer típusú, public láthatóságú
attribútum: a felhasználó csoportjának
egyedi azonosító száma.
labuser
osztály:
permissions, long típusú, public
láthatóságú attribútum: a labor
felhasználó jogai.
gecos, string típusú,
public láthatóságú attribútum: a
labor felhasználó jellemzői
homedir, string
típusú, public láthatóságú
attribútum: a labor felhasználó home
directoryjának elérési útvonala.
shell,
string típusú, public láthatóságú
attribútum: a labor felhasználó shellje.
h9user
osztály:
permissions, long típusú, public
láthatóságú attribútum: a h9
felhasználó jogai.
Bázisosztály az user osztály, ebből származtatható a labuser és a h9user.
Az alrendszer a felhasználók kezelését végzi. A user objektum csak akkor jön létre, ha az authentikáció sikeres. A létező objektumon keresztül lehet a felhasználó jelszavát megváltoztatni. Lényegeben csak az a felhasználói adatok elérésére szolgál.
user osztály:
passchange, publikus láthatóságú:
bemenő paraméterek:
password, string típusú: a felhasználó aktuális jelszava.
newpassword, string típusú:
visszatérési érték típusa: bool : az operáció sikerességét jelzi.
feladat: a felhasználó jelszavának megváltoztatása.
<<konstruktor>>, publikus láthatóságú:
bemenő paraméterek:
password, string típusú: a felhasználó aktuális jelszava.
visszatérési érték típusa: bool : az operáció sikerességét jelzi.
feladat: a felhasználó hitelesítése.
Az esemény keletkezésekor, először a tudásbázis osztályban kerül azonosításra, ha megvan akkor már adódik is a kiváltandó akció. Ha nincs találat, akkor az összerendel osztály függvényei az eseményt hozzárendelik egy akció osztálybeli akcióhoz.
- összerendel osztály feladata esemény azonosítása és akció hozzárendelése.
- akció osztály feladata a kiváltandó tevékenységek kezelése: új akció, törlés, módosítás, lekérdezés
- esemény osztály feladata a keletkező események kezelése: új akció, törlés, módosítás, lekérdezés
- tudásbázis osztály feladata az események és a rájuk előre definiált akciók kezelése
akció osztály:
- cnev, string, public akció megnevezése
- cid, integer, public: akció azonosítója
összerendel osztály:
- osszid, integer,public: összerendelés
azonosítója
- ossznev, string,public: összerendelés
megnevezése
-
osszdate, string,public : összerendelés megvalósulásának
ideje
tudasbazis osztály:
- tnev, string, public tudásbázisbeli
megnevezés
-
tid, integer, public: tudásbázisbeli azonosító
- tactid, integer, public: előre definiált akció
azonosítója
- tactnev, string, public: előre definiált akció
megnevezése
-
tcnev, string, public: ismert esemény megnevezése
- tcid, integer,public: ismert esemény azonosítója
- ttime, string,public: tudásbázisbeli rögzítés
időpontja

Eseménykezelő alrendszer, amely egy feltétel, vagy feltételrendszer beálltakor a beállított aktív szabályt hajtja végre. A szabályozás kivitelezésére szabály alapú tudásbázist használ. A megadott szabályrendszer alapján a beálló feltételrendszernek eleget tevő esemény kiváltása révén automatikusan beavatkozik a rendszerbe.
Az aktív szabály esemény kiváltásához a feltétel állapot rendszert előzetesen meg kell adni. Hiányában az esemény nem kezelődik, vagy a H9 csomagban előre definiált úgynevezett default handlerek fognak aktivizálódni.
Az aktív szabály alkalmazása után a rendszernek naplóznia kell a lekezelés módját sikerességét.
Szokásos működés: A megadott aktív szabálynak megfelelő esemény kiváltódik a feltétel állapot beállása esetén, az esemény kezelését a handlerek végzik el.
Alternatív esetek: A kiváltott esemény lekezelését nem maga az esemény kezelő végzi, hanem a handler további handlert, handlereket hívhat meg.
condition: állapotjelzők
- addcon, publikus láthatóságú
bemenő paraméterek:
cnev, string típusú: esemény
megnevezése
cid, integer típusú: esemény
azonosítója
visszatérési érték:
integer
feladat: állapotfelvétel
- delcon, publikus láthatóságú
bemenő paraméterek:
cnev, string típusú: esemény
megnevezése
cid, integer típusú: esemény
azonosítója
visszatérési érték:
integer
feladat: állapottörlés
- modcon, publikus láthatóságú
bemenő paraméterek:
cnev, string típusú: esemény
megnevezése
cid, integer típusú: esemény
azonosítója
visszatérési érték:
integer
feladat: állapotmódosítás
- qcon, publikus láthatóságú
bemenő paraméterek:
cid, integer típusú: esemény
azonosítója
visszatérési érték: list
feladat: állapotjelzők lekérdezése
akció: nem definiált eseményekhez
rendelhető akciók, tevékenységek
- addact, publikus láthatóságú
bemenő paraméterek:
anev, string típusú: akció
megnevezése
aid, integer típusú: akció
azonosítója
visszatérési érték:
integer
feladat: akció felvétele
- delcon, publikus láthatóságú
bemenő paraméterek:
anev, string típusú: akció
megnevezése
aid, integer típusú: akció
azonosítója
visszatérési érték:
integer
feladat: akció törlése
- modcon, publikus láthatóságú
bemenő paraméterek:
anev, string típusú: akció
megnevezése
aid, integer típusú: akció
azonosítója
visszatérési érték:
integer
feladat: akció módosítása
- qact, publikus láthatóságú
bemenő paraméterek:
aid, integer típusú: akció
azonosítója
visszatérési érték: list
feladat: akciók lekérdezése
összerendel: állapotjelzők és
akciók egymáshoz rendelése.
- findact, publikus láthatóságú
bemenő paraméterek:
filtact, string típusú: keresési
szűrő
visszatérési érték: list
feladat: keresés az akciók között
- addossz, publikus
láthatóságú
bemenő paraméterek:
osszid, integer típus: az összerendelés
azonosítója
cid, integer típusú: az esemény
azonosítója
aid, integer típusú: az akció
azonosítója
visszatérési érték:
integer
feladat: állapotjelző és akció
összerendelése
- delossz, publikus láthatóságú
bemenő paraméterek:
osszid, integer típus: az összerendelés
azonosítója
visszatérési érték:
integer
feladat: állapotjelző és akció
összerendelésének törlése
- modossz, publikus láthatóságú
bemenő paraméterek:
osszid, integer típus: az összerendelés
azonosítója
cid, integer típusú: az esemény
azonosítója
aid, integer típusú: az akció
azonosítója
visszatérési érték:
integer
feladat: állapotjelző és akció
összerendelésének törlése
- findcon, publikus láthatóságú
bemenő paraméterek:
filtcon, string típusú: keresési
szűrő
visszatérési érték: list
feladat: keresés az állapotjelzők között
- findtud, publikus
láthatóságú
bemenő paraméterek:
filttud, string típusú: keresési
szűrő
visszatérési érték: list
feladat: keresés a tudásbázisban
tudasbazis: előre definiált események
és az általuk kiváltott akciók
(aktív-szabályrendszer)
- addtud, publikus láthatóságú
bemenő paraméterek:
tid, integer: tudásbázisbeli
azonosító
tcnev, string típusú: esemény
megnevezése
tcid, integer típusú: esemény
azonosítója
tactid, integer típusú: a hozzárendelt akció
azonosítója
tactnev, string típusú: a hozzárendelt
akciómegnevezése
visszatérési érték:
integer
feladat: tudásbázisbeli felvétel
- deltud, publikus láthatóságú
bemenő paraméterek:
tid, integer: tudásbázisbeli
azonosító
tcnev, string típusú: esemény
megnevezése
tcid, integer típusú: esemény
azonosítója
tactid, integer típusú: a hozzárendelt akció
azonosítója
tactnev, string típusú: a hozzárendelt
akciómegnevezése
visszatérési érték:
integer
feladat: tudásbázisbeli törlés
- modtud, publikus
láthatóságú
bemenő paraméterek:
tid, integer: tudásbázisbeli
azonosító
tcnev, string típusú: esemény
megnevezése
tcid, integer típusú: esemény
azonosítója
tactid, integer típusú: a hozzárendelt akció
azonosítója
tactnev, string típusú: a hozzárendelt
akciómegnevezése
visszatérési érték:
integer
feladat: tudásbázisbeli módosítás
- qtud, publikus láthatóságú
bemenő paraméterek:
tid, integer típusú: tudásbázisbeli
azonosító
visszatérési érték: list
feladat: tudásbázisbeli lekérdezés
Számosságok: A H9 rendszerben egy h9comm létezhet. Labcomponentből annyi van, ahány labor elem van a rendszerhez hozzáadva, minden labcomponenthez tartozik egy és csak egy poll és control alosztály.
h9comm osztály:
timeout, integer típusú,
public láthatóságú attribútum: a
küldés és fogadás maximális
várakozási idejének szab határt,
milliszekundumban van az érték. Alapértelmezett
értéke: 10000 ms.
ldap osztály:
host,
string típusú, privprivate láthatóságú
attribútum: az ldap kiszolgáló címét
tartalmazza. Alapértéke: 127.0.0.1.
port, integer
típusú, private láthatóságú
attribútum: az ldap kiszolgáló portjának
számát tartalmazza. Alapértéke:
389.
binddn, string típusú, private láthatóságú
attribútum: bind-eléshez szükséges
dn.
bindpw, string tipusú, private láthatóságú
attribútum: a binddn-hez tartózo jelszó.
labcomponent
osztály:
name, string tipusú, public láthatóságú
attribútum: az labor elem egyedi neve.
netaddr, string
tipusú, public láthatóságú
attribútum: a labor elem hálózati
címe.
manageable, string tipusú, public láthatóságú
attribútum: a labor elem menedzselhetoségét
jelzi.
snmpcommunity, string tipusú, public láthatóságú
attribútum: a labor elemhez tartozó SNMP community név,
alapértéke: public.
user, string tipusú,
public láthatóságú attribútum: a
menedzseléshez szükséges felhasználónév.
password,
string tipusú, public láthatóságú
attribútum: a menedzseléshez szükséges
jelszó.
Bázisosztály nem lelheto fel ebben az alrendszerben.
A h9comm parancs fogadó metódusa blokkolódik, amíg nem érkezik parancs a felhasználói felületrol, vagy le nem jár az idokorlát. Ha érkezett parancs a felületrol, akkor a paracs végrehajtódik, és egy válaszüzenet megy a webfelületnek. Ha idotúllépés történt, akkor az adatgyujtés indul el, ha megvannak az adatok a labor eszközeitol, akkor ezek továbbadódnak a feldolgozáshoz, a végeredmény tárolódik. A folyamat végén egy idotúllépés korrekció történik, mivel a különbözo parancsok, és az adatlekérdezés és feldolgozás különbözo hosszúságú ideig tartanak, de az adatokat közel azonos idoközönként kell lekérdezni.
h9comm osztály:
send, publikus láthatóságú:
bemeno paraméterek:
size, long tipusú: küldendo adat hossza byteokban. data, string tipusú: küldendo adat.
visszatérési érték tipusa: long : az elküldött byteok száma.
feladat: üzenet küldése a felületnek.
receive, publikus láthatóságú:
bemeno paraméterek:
size, long tipusú: fogadó buffer mérete byteokban.
visszatérési érték tipusa: string : a fogadott bytesorozat.
feladat: üzenet fogadása a felületrol.
<<konstruktor>>, publikus láthatóságú:
bemeno paraméterek: nincsenek
visszatérési érték tipusa: nincs
feladat: a kommunikációhoz szükséges unix socket létrehozása, megnyitása.
ldap osztály:
search, publikus láthatóságú:
bemeno paraméterek:
filter, string tipusú: a keresési szuro.
visszatérési érték tipusa: list
feladat: keresés az ldap adatbázisban.
modify, publikus láthatóságú:
bemeno paraméter:
dn, string tipusú: a módosítandó ldap dn azonosítója. attrib, string tipusú: a módosítandó attribútum azonosítója. value, string tipusú: az attribútum értéke.
visszatérési érték tipusa: integer
feladat: módosítás az ldap adatbázisban.
add, publikus láthatóságú:
bemeno paraméter:
dn, string tipusú: a módosítandó ldap dn azonosítója. attrib, string tipusú: a hozzáadandó attribútum azonosítója. value, string tipusú: az attribútum értéke.
visszatérési érték tipusa: integer
feladat: új attribútum hozzáadása már létezo entitáshoz az ldap adatbázisban.
adddn, publikus láthatóságú:
bemeno paraméter:
dn, string tipusú: a módosítandó ldap dn azonosítója. data, string tipusú: kezdeti attribútumok és értékeik.
visszatérési érték tipusa: integer
feladat: új entitás hozzáadása az ldap adatbázishoz.
deldn, publikus láthatóságú:
bemeno paraméter:
dn, string tipusú: a módosítandó ldap dn azonosítója.
visszatérési érték tipusa: integer
feladat: entitás törlése az ldap adatbázisból.
labcomponent osztály:
poll alosztály:
getdata, publikus láthatóságú:
bemeno paraméter:
dataid, integer tipusú
visszatérési érték tipusa: string.
feladat: adat lekérdezése egy labor elemtol.
control alosztály:
sendcommand, publikus láthatóságú:
bemeno paraméter:
command, string tipusú
visszatérési érték tipusa: string.
feladat: parancs küldése egy labor elemnek, a parancsra adott válasz fogadása.
ábra: http://www.iit.uni-miskolc.hu/~vincze6/sweng/webui-classdiagram.png
A request – h9comm osztályok kapcsolata azt jelenti, hogy a request az üzemeltetőtől jövő kéréseket, melyeket a főkomponensnek kell továbbítani, elküldi a h9comm osztálynak – a h9comm osztály felel a főkomponenssel való kommunikációért.
A h9comm – commresultparser kapcsolat egy kompozíció. ( a h9comm fizikailag is tartalmazza a commresultparser-t). A commresultparser osztály a főkomponenstől érkező adatokat értelmezi és formázza.
A commresultparser és a design osztály kapcsolatán látszik, hogy ezekből az osztályokból csak 1-1 példány vesz részt a rendszerben. A commresultparser a formázott adatokat a design osztálynak adja, ami az üzemeltető böngészőjében megjeleníti az adatokat.
A design és snmpresultparser szintén egy egyenrangú kapcsolat. Az snmpresultparser az snmp protokollról érkező adatokat küldi a design osztálynak.
Az snmpcomm-snmpresultparser kapcsolat szintén egy kompozíció.
Az snmpcomm osztály a request osztállyal is kapcsoaltban áll, ha a felhasználótól kérés érkezik, melyet az snmp protokollon keresztül kell teljesíteni.
A request osztály legfontosabb attribútumaiaz üzemeltető azonosító, maga a request, azaz a kérés, melyből egyenesen következik, hogy melyik osztálynak kell azt végre hajtania, illetve még egy fontos attribútum, hogy melyik célgépen kell a kérést végrehajtani.
Az snmpcomm osztály egyik fő attribútuma, hogy melyik célgépről kell adatokat lekérdezni.
Az snmpresultparser attribútuma egyértelműen az snmpcomm osztályból érkező adatfolyam.
A design osztály attribútuma egy olyan univerzális adatstruktúra, mely képes az összes szükséges, megjelenítendő információt tárolni, amit adott esetben meg kell jeleníteni.
A h9comm osztály fontos attribútumai a célgép, illetve az elvégzendő információ jellege. A h9comm osztály eredménye attribútumul szolgál a commresultparser osztálynak.
Az osztálydiagrammot átvizsgálva megállapítható, hogy célszerűen nem szükséges bázisosztály bevezetése.

Az üzemeltető böngészőprogram segítségével utasításokat adhat ki. Ilyenkor GET vagy POST segítségével jön létre az adatáramlás a böngészőből kiindulva. Ez után egy feldolgozó program értelmezi a kérést, és attól függően, hogy a kérést a főkomponensnek kell majd kiszolgálni, vagy pedig az egyes célgépeknek, továbbítódik a kérés a megfelelő entitás számára. Az feldolgozódik, majd végül az eredmény visszajut az üzemeltető böngészőjébe.
Az programozási nyelvre vonatkozó előírás a PHP, további ajánlás az XHTML 1.1 Transitional szabványok követése.
send, publikus
láthatóságú:
bemeno paraméterek:
size, long tipusú: küldendo adat hossza byteokban. data, string tipusú: küldendo adat.
visszatérési érték tipusa: long : az
elküldött byteok száma.
feladat: üzenet
küldése a felületnek.
receive,
publikus láthatóságú:
bemeno
paraméterek:
size, long tipusú: fogadó buffer mérete byteokban.
visszatérési érték tipusa: string : a
fogadott bytesorozat.
feladat: üzenet fogadása a
felületrol.
<<konstruktor>>, publikus
láthatóságú:
bemeno paraméterek:
nincsenek
visszatérési érték tipusa:
nincs
feladat: a kommunikációhoz szükséges
unix socket létrehozása, megnyitása.
<<konstruktor>>
bemenő paraméterek: result string típusú változó, mely a H9COMM osztály egy objektumából érkezik
kimenő paraméter: content Asszociatív tömb típusú változó. Adatstruktúrákba rendezve található itt az összes megjelenítendő adat.
<<konstruktor>>
bemenő paraméterek: comp_id integer típusú; a célgép azonosítója; request parancs, melyet végre kell hajtani.
Kimenő paraméterek: -
feladat: egy adott célgépre eljuttat egy kérést, majd a válaszokat fogadja
<<konstruktor>>
bemenő paraméterek: SNMPComm osztály által szolgáltatott string típusú változó
kimenő paraméterek: -
feladat: Az SNMPComm osztály által szolgaáltatott adatfolyam átalakítása, és berendezése asszociatív tömbbe.
<<konstruktor>>
bemenő paraméterek: content – asszociatív tömb, mely a megjelenítendő adatokat tartalmazza
kimenő paraméterek: -
feladat: az üzemeltető kezelőfelületének megjelenítése
header
bemenő paraméterek: title - string típusú változó, a HTML lap fejlécét tartalmazza
kimenő paraméterek: -
footer
bemenő paraméterek: -
kimenő paraméterek: -
feladat: a HTML tagok lezárása
<<konstruktor>>
bemenő paraméterek: keres – string típusú változó; comp_id célpont számítógép azonosítója;
kimenő paraméterek: -
feladat: a felhasználótól érkező kérést értelmezni, feldolgozni, és annak megfelelően, vagy egy célgépre, vagy a főkomponensnek eljuttatni a kérést.
Send2snmp
bemenő paraméterek: -
kimenő paraméterek: -
feladat: amennyiben a kérést egy megadott célgépre kell továbbítani, akkor hívódik meg ez a függvény, ez adja át az adatokat az snmpcomm osztálynak.
Send2H9Comp
bemenő paraméterek: -
kimenő paraméterek: -
feladat: amennyiben a kérésa főkomponensnek továbbítani, akkor hívódik meg ez a függvény, ez adja át az adatokat az H9comm osztálynak.
Megj: Az eredeti analízis modell nem egészült ki ...
ábra: http://www.iit.uni-miskolc.hu/~vincze6/sweng/webui-classdiagram.png
felelőssége,
feladata: A labor egy számítógépe,
vagy más aktív hálózati eszköztől
való adatlekérdezést, és annak
vezérlését végzi.
Felelős a az
adatok lekérdezésének pontos, időben való
továbbításáért.
együttműködők: control, polldata, H9.
attribútumok:
Név |
Típus |
Leírás |
|
name |
String |
A laborkomponens neve, azonosítója. Egyedi azonosító. Láthatósága publikus. Publikus adattag. |
|
netaddr |
String |
A labor komponens ipcíme. Publikus adattag. |
|
manageable |
Bool |
Logikai értékű változó ami eldönti, hogy a laborkomponens mendzselhető-e, vagy sem. Ha menedzselhető, igaz logikai értékű. Publikus adattag. |
|
snmpcommunity |
String |
A labor elemhez tartozó SNMP community név. Publikus adattag. |
|
User |
String |
A menedzseléshez szükséges felhasználónév |
|
Password |
String |
A menedzseléshez szükséges felhasználói jelszó |
felelőssége, feladata: A labor számítógépeit és más aktív hálózati elemeket vezérlő osztály.
együttműködők: A labcomponent egy részét alkotja.
attribútumok
Név |
Típus |
Leírás |
|
name |
String |
A vezérelt laborkomponens neve, azonosítója. |
|
netaddr |
String |
A vezérelt laborkomponens ipcíme. |
operációk
Név |
Argumentumok |
Működése, feladata |
|
sendcommand |
command : string típusú paramétert vár. |
Az argumentumában megadott parancsot elkuldi a laborkomponens felé és a parancsra adott választ fogadja. A visszatérési értéke egy string string típusú lista. Láthatósága publikus. |
felelőssége,
feladata: A labor egy számítógépe,
vagy más aktív hálózati eszköztől
való adatlekérdezést végzi.
Felelős
a az adatok lekérdezésének pontos, időben
való továbbításáért.
együttműködők: labcomponent
operációk
Név |
Argumentumok |
Működése, feladata |
|
getdata |
Dataid: integer típusú paramétert vár |
A laborelem lekérdezését végzi végtelen ciklusban vizsgálja, hogy küldött-e a laborelem üzenetet. Ha kapott üzenetet, akkor egy string üzenetet ad vissza. Láthatósága public. |
felelőssége, feladata: Begyűjti és eltárolja a labcomponent által begyűjtött adatokat.
együttműködők: Ez az osztály csak a H9 osztállyal működik együtt.
operációk
Név |
Argumentumok |
Működése, feladata |
|
Add |
Component: labcomponent objektum típusú paramétert vár |
Hozzáadja kapott a laborkomponens elemet az adatkezelésért felelős objektumhoz. Ha a művelet végrehajtása sikeres volt logikai igaz értékkel tér vissza. Láthatósága publikus |
|
updateperiodic |
Component: labcomponent objektum típusú paramétert vár |
Periodikusan frissíti a statisztikai adatállomány tartalmát, ha az változott, a változást az adattárolónál is elvégzi. Ha a végrehajtás sikeres volt, logikai igaz értékkel tér vissza. Láthatósága publikus |
|
Getstatistics |
Component: labcomponent objektum típusú paramétert vár |
Ezen az interfészen keresztül fogadja a kapott statisztikai adatokat. A kapott adatoknak megfelelő string típusú értékkel tér vissza, ami a készített statisztikai tartalmazó fájl neve. Láthatósága publikus. |
|
Remove |
Component: labcomponent objektum típusú paramétert vár |
Eltávolítja a laborelemet. Ha a végrehajtás sikeres volt, logikai igaz értékkel tér vissza. Láthatósága publikus |
felelőssége, feladata: Az osztály felelős az LDAP adatbázisban letárolt felhasználó adatok eléréséért, és az
együttműködők: component osztallyal tartja a kapcsolatot
attribútumok
Név |
Típus |
Leírás |
|
Host |
String |
Az LDAP szerver IPV4 ip címét tartalmazó adattag. Láthatósága private. Default értéke: 127.0.0.1 |
|
Port |
Integer |
Az LDAP szerver azon portjának számát tartalmazza, amin a szolgáltatás kiszolgálásához a szerver hallgat. Láthatósága private. Default értéke 389. |
|
Binddn |
String |
Az ldap bindeléshez szükséges dn. Láthatósága private . |
|
Bindpw |
String |
Az ldap bindn-hez tartozó jelszó. Láthatósága private. |
operációk
Név |
Argumentumok |
Működése, feladata |
|
Search |
Filter:string típusú paramétert vár |
Az ldap adatbázisban keresi a filter paraméterben kapott feltételnek eleget tevő adatot, a talált értékeket lista formájában adja vissza. Visszatérési értéke list. Láthatósága: publik |
|
Modify |
Dn: string Attrib: string value: string típusú paramétereket vár |
A dn azonosítójú ldap adatbázisban az attrib változóban megadott attribútumot módosítja a value-ban megadott értékűre. Visszatérési értéke integer. Láthatósága public. |
|
Add |
Dn: string Attrib: string value: string típusú paramétereket vár |
A dn azonosítójú ldap adatbázisban az attrib változóban megadott már létező attribútumot hozzáadja a value-ban megadott értékkel az ldap adatbázishoz. Visszatérési értéke integer. Láthatósága public. |
|
Adddn |
Dn: string típusú paramétert vár |
Az ldap adatbázisban létrehozza a dn azonosítójú entitást. Visszatérési értéke integer. Láthatósága public. |
|
Deldn |
Dn: string típusú paramétert vár |
Az ldap adatbázisból törli a dn azonosítójú entitást és visszatérési értékként visszaadja egy integer értékben a az entitás azonosítóját. Visszatérési értéke integer. Láthatósága public. |
Kitöltési útmutató (tehát nem a formátum része): Az argumentum lista még hiányozhat, vagy lehet, hogy nem teljes
felelőssége, feladata: Ez az osztály felelős a felhasználók kezeléséért, mind a laborfelügyeletet gyakorló üzemeltető bejelentkezéséért, mind a felhasználók ldap adatbázison keresztüli kezeléséért felelős.Felelős továbbá a jelszó kezeléséért, módosításáért is.
együttműködők: h9user, labuser osztályok származtatnak belőle. A config osztály egy aggregátuma.
attribútumok
Név |
Típus |
Leírás |
|
Name |
String |
A felhasználó nevét tartalmazza. Láthatósága public |
|
permissions |
Long |
A felhasználó jogait tartalmazza. Láthatósága public |
|
lastlogin |
String |
Azt a dátumot tartalmazza, amikor a felhasználó utoljára belépett. Láthatósága: public láthatóságú. |
|
Statusz |
String |
A felhasználó státuszát tartalmazza. Láthatósága public. |
|
Uid |
Integer |
A felhasználó egyedi számla azonosító száma. Láthatósága public. |
|
Gid |
Integer |
A felhasználó csoportjának egyedi azonosító száma. Láthatósága public. |
operációk
Név |
Argumentumok |
Működése, feladata |
|
passchange |
Password:string Newpassword: string típusú paramétereket vár. |
A felhasználó jelszavának módosítására szolgáló osztály. Láthatósága public |
|
user |
Password:string típusú paramétert vár |
A felhasználó által megadott jelszót ellenőrzi, annak helyessége esetén logikai igaz értékkel tér vissza. Láthatósága public |
felelőssége, feladata: Ez az osztály felelős a laborfelügyeletet ellátó személy kezeléséért.
együttműködők: A user osztályból származtatott osztály.
attribútumok
Név |
Típus |
Leírás |
|
Permission |
Longint |
A h9 felhasználójának üzemeltetőjének jogait tartalmazza Láthatósága public |
operációk
Név |
Argumentumok |
Működése, feladata |
|
passchange |
Password:string Newpassword: string típusú paramétereket vár. |
A felhasználó jelszavának módosítására szolgáló osztály. Láthatósága public |
|
user |
Password:string típusú paramétert vár |
A felhasználó által megadott jelszót ellenőrzi, annak helyessége esetén logikai igaz értékkel tér vissza. Láthatósága public |
felelőssége, feladata: A számítógép laborok felhasználójának kezeléséért felelős osztály.
együttműködők:
attribútumok
Név |
Típus |
Leírás |
|
Permissions |
Longint |
A labor felhasználó jogait tartalmazza. Láthatósága public |
|
Gecos |
String |
A labor felhasználó személyes adminisztrációs adatait tartalmazza. Láthatósága public. |
|
Homedir |
String |
A labor felhasználó bejelentkezési jegyzékének abszolút ösvénye. Láthatósága public. |
|
Shell |
String |
A laborfelhasználó alapértelmezés szerinti bejelentkezés utáni parancsértelmezője. Láthatósága public. |
felelőssége, feladata:
együttműködők:
attribútumok
Név |
Típus |
Leírás |
|
Timeout |
Integer |
A sikertelen kapcsolat lebontásának automatikus időpontját határozza meg. Ha a megadott időkorlátot meghaladó milliszekundumban megadott értéket túllépi a kapcsolatfelépítési kísérlet, a kapcsolatfelépítési kísérlet megszakad. Láthatósága public Default értéke:10000 |
operációk
Név |
Argumentumok |
Működése, feladata |
|
Send |
Size: longint típusú Data: String típusú paramétereket vár |
A Size paraméterben megadott karakterszámú és a Data paraméterben kapott üzenetet küldi el a felhasználói felületnek. Visszatérési értéke: longint, az elküldött karakterek darabszáma. Láthatósága public. |
|
Receive |
Size: longint típusú paramétert vár. |
A Size méretű pufferben fogadja a felületről az adatokat. Visszatérési értéke a kapott üzenet string. Láthatósága public. |
|
Config |
- |
Default konstruktor, létrehozza a kommunikációs socketet, és megnyitja. Láthatósága: public. |
felelőssége, feladata: üzenet küldése a főkomponensnek
együttműködők: CommResultParser osztály
attribútumok :
|
Név |
Típus |
Leírás |
|---|---|---|
|
konstruktor |
tagfüggvény |
a kommunikációhoz szükséges unix socket létrehozása, megnyitása |
|
send |
tagfüggvény |
üzenet küldése a felületnek |
|
receive |
tagfüggvény |
üzenet fogadása a felületről |
felelőssége, feladata: a H9Comm osztályból érkező adatok feldolgozása
együttműködők: H9Comm osztály
attribútumok :
|
Név |
Típus |
Leírás |
|---|---|---|
|
konstruktor |
tagfüggvény |
H9Comm osztályból érkező adatok feldolgozása |
felelőssége, feladata: egy adott célgépen feladatok végrehajtása
együttműködők: SNMPResultParser osztály
attribútumok :
|
Név |
Típus |
Leírás |
|---|---|---|
|
konstruktor |
tagfüggvény |
egy adott célgépre eljuttat egy kérést, majd a válaszokat fogadja |
felelőssége, feladata: az SNMP Comm osztályból érkező adatstruktúrák feldolgozása
együttműködők: SNMPComm osztály
attribútumok :
|
Név |
Típus |
Leírás |
|---|---|---|
|
konstruktor |
tagfüggvény |
Az SNMPComm osztály által szolgáltatott adatfolyam átalakítása, és berendezése asszociatív tömbbe. |
felelőssége, feladata: A felhasználói felületről érkező kéréseket dolgozza fel, és továbbítja a megfelelő komponensnek
együttműködők: H9Comm osztály, SNMPComm osztály
attribútumok :
|
Név |
Típus |
Leírás |
|---|---|---|
|
konstruktor |
tagfüggvény |
a felhasználótól érkező kérést értelmezni, feldolgozni, és annak megfelelően, vagy egy célgépre, vagy a főkomponensnek eljuttatni a kérést. |
|
send2H9Com |
tagfüggvény |
amennyiben a kérésa főkomponensnek továbbítani, akkor hívódik meg ez a függvény, ez adja át az adatokat az H9comm osztálynak. |
|
send2Snmp |
tagfüggvény |
amennyiben a kérést egy megadott célgépre kell továbbítani, akkor hívódik meg ez a függvény, ez adja át az adatokat az snmpcomm osztálynak. |
felelőssége, feladata: az üzemeltető (felhasználó) böngészőjében megjenelíti a kért adatokat, eredményeket, stb.
együttműködők: Request osztály; SNMPResultParser osztály; H9ResultParser osztály
attribútumok :
|
Név |
Típus |
Leírás |
|---|---|---|
|
konstruktor |
tagfüggvény |
az üzemeltető kezelőfelületének megjelenítése |
|
header |
tagfüggvény |
A design template fejlécét jeleníti meg |
|
Footer |
tagfüggvény |
A HTML tagok lezárását késszíti el |
|
title |
(privát adattag) String |
a HTML lap fejlécét tartalmazza |
|
activepage_id |
(privát adattag) integer |
A webfelület éppen aktív menüpontjának azonosítója |
