Csoport neve: NUQIQ

Feladat sorszáma: 5

Feladat címe: UML szerkesztő






ANALÍZIS MODELL




Gyakorlatvezető:

TAMÁS ISTVÁN G-5S8


Csoport tagok:


Jobbágy Gábor

G-3S7T

jogag@freemail.hu

Nyiczky Tamás

G-3IN

nyito@freemail.hu

Zemlényi Dávid

G-3S1D

sodessyon@hotmail.com

Kocsis László

G-3S7I

lacos@hungary.org

Szabó Árpád

G-3IN

aarpoe@freemail.hu

Márton Tibor

G-3IN

mtibi23@freemail.hu


2006. 04. 19.


 

Történet

 

Dátum

Verzió

Leírás

Szerző

2005. 04.19.

1.0

Kezdeti verzió

NUQIQ

 

 

 

 

 

 

 

 

 

 

Tartalomjegyzék

 

1. Bevezetés

2. Kezdeti osztálydiagram

2.1 Osztálydiagram

2.2 Osztályok felsorolása

2.3. Alrendszerek

2.3.1 Biztonság alrendszer

2.3.2 Draw alrendszer

2.3.3 MenuP alrendszer

2.3.4 DB-P alrendszer

2.3.5 PHP-GD modulja alrendszer

2.3.6 Pear alrendszer

3. A Bizonság alrendszer modellje

3.1 Statikus modell

3.1.1 Kapcsolatok pontosítása

3.1.2 Attribútumok azonosítása

3.1.3 Bázisosztályok keresése

3.2. Dinamikus modell

3.3. Funkcionális modell

3.4. Operációk azonosítása

3.5 A Bizonság alrendszer osztálydiagramja

3.6. A Biztonság alrendszer osztályainak listája

3.6.1. Biztonság

4. DB-P alrendszer

4.1.1 Kapcsolatok pontosítása

4.1.1.1 DB-kezelő -- Biztonság kapcsolat:

4.1.1.2 DB-kezelő -- Menu kapcsolat:

4.2 Funkcionális modell

4.3 Az operációk azonosítása

4.5 A DB-P alrendszer osztálydiagrammja

4.6. Az alrenszer osztályainak listája

4.6.1. DB-kezelő

5. Draw alrendszer

5.1 Statikus modell

5.1.1 Kapcsolatok pontosítása

5.1.1.1 Műveletek -- DB kezelő kapcsolat:

5.1.1.2 Rajzlap -- DB-kezelő kapcsolat:

5.1.1.3 Rajzlap -- Menu kapcsolat:

5.1.2 Attribútumok azonosítása

5.1.3 Bázisosztályok keresése

5.2 Dinamikus modell

5.4 Az operációk azonosítása

5.5. A Draw alrendszer osztálydiagrammja

5.6. Az alrenszer osztályainak listája

5.6.1. Rajzlap

5.6.2. Műveletek

6. Menu_ar alrendszer

6.1.1 Kapcsolatok pontosítasa

6.1.1.1 Menu -- Biztonság kapcsolat

6.1.1.2 Menu -- DB-handler kapcsolat

6.1.1.3 Menu -- Rajzlap kapcsolat

6.1.2 Attribútumok azonosítása

6.1.3 Bázisosztályok keresése

6.2 Dinamikus modell

6.3 Funkcionális modell

6.4. Az operációk azonosítása

6.5. A FileP alrendszer osztálydiagramja

6.6. Az alrenszer osztályainak listája

6.6.1. File

X. Mellékletek

 

 

1. Bevezetés

Ezen dokumkentum tartalamazza az alkalmazás felépítéséhez szükséges osztályok bemutatását, valamint az osztályok - más néven modulok - kapcsolódásából adódó struktúrát. Először a dokumentum alábbi, 2-es pontjában bemutatjuk a kezdeti osztálydiagram grafikus felépítését, majd felsoroljuk és részletezzük az a diagramot alkotó osztályokat. Ezután az egyes alrendszerek általános leírása következik. Ezután, a 3-as pontban részletesen bemutatjuk az első alrendszer statikus, dinamikus majd funkcionális modelljét, mely már az UML szerkszeskzőnk konkrét működésére vonatkozik. Ezután adinamikus és funkcionális modell felhasználásával az osztálydiagramot kiegészítjük az egyes osztályokhoz tartozó operációkkal, melyet ábrán szemléltetünk. Ezt követi az analízis modell osztálydiagramja, amely egyben az operációkkal véglegesen kiegészített osztálydiagram. Végezetül tagoltan, jól átláthatóan felsoroljuk az analízis modell osztályainak listáját, táblázatos formában.

2. Kezdeti osztálydiagram

2.1 Osztálydiagram

 

 

2.2 Osztályok felsorolása

1. Biztonság

A Biztonság osztály a felhasználók rendszerbe és az adatbázis szerverre való beléptetésére, a session-ük kezelésére, szolgál.

2. Menu

A Menü pontjait kezelő osztály, mely a menüpontok kiválasztása esetén meghívja a megfelelő osztáyok megfelelő tagfüggvényeit. Kezeli a user kiléptetését a rendszerekből. C++ kódba importál, ill. onnan exportál.


3. Műveletek

Új rajzelemek(egyedek és kapcsolatok) létrehozását, törlését, adatainak módosítását végzi

4. DB-kezelő

Kapcsolatot létesít és tart az alkalmazás és az adatbáziskezelő között, és megvalósítja a műveletek elvégzéséhez szükséges adatbázis manipulációkat.


5. Rajz

Kiolvassa az egyedek és kapcsolatok tulajdonságait és ezek alapján jeleníti meg az UML ábrát.

 

2.3. Alrendszerek

2.3.1. Biztonság alrendszer

Feladata:
A felhasználók rendszerbe való ki és beléptetéseit, session-jeik, hozzáférési, és speciális jogaik kezelését végző osztályok gyűjteménye.

Tartalmazott osztályok:

-Biztonság

 

2.3.2. Draw alrendszer

Feladata:
Az ábrák kezeléséhez szükséges osztályok gyűjteménye.

Tartalmazott osztályok:

-Műveletek
-Rajz

2.3.3. MenuP alrendszer

Feladata:

Megegyezik a Menu osztály feladatával, azaz: "A menü pontjait kezeli, mely a menüpontok kiválasztása esetén meghívja a megfelelő osztáyok megfelelő tagfüggvényeit. Kezeli a user kiléptetését a rendszerekből. C++ kódba importál, ill. onnan exportál."

Tartalmazott osztályok:

-Menu

2.3.4. DB-P alrendszer

Feladata:

Megegyezik a DB-kezelő osztály feladatával, azaz: "Kapcsolatot létesít és tart az alkalmazás és az adatbáziskezelő között, és megvalósítja a műveletek elvégzéséhez szükséges adatbázis manipulációkat."

Tartalmazott osztályok:

-DB-kezelő

2.3.5. PHP-GD modulja alrendszer

Feladata:

A grafikai feladatok megvalósításáhioz szükséges modulok gyűjteménye (idegen kód)

Tartalmazott osztályok:

A PHP-nak erre a célra létrehozott saját osztályai (lsd.: http://www.php.net)

2.3.6. Pear alrendszer

lásd.: http://pear.php.net

 

3. A Biztonsági alrendszer modellje

 

3.1 Statikus modell

3.1.1 Kapcsolatok pontosítása

A Biztonság alrendszer a Menu_ar alrendszer Menu osztályával, a DB-P alrendszer DB-kezelő osztályával, valamint a DrawP alrendszer Műveletek osztályával áll kapcsolatban. A DB-kezelő osztállyal való kapcsolattartás a Session management megvalósításához szükséges, ugyanis a felhasználók adatai, egy erre a célra fenntartott adatbázis táblában vannak letárolva. A Menu osztállyal való kapcsolatot az indokolja, hogy a kilépés innen van megvalósítva menüszerűen.

3.1.2 Attribútumok azonosítása

 

 

3.1.3 Bázisosztályok keresése

Ezen az alrendszeren belül nincs leszármaztatási lehetőség, ugyanis egy osztályból áll az alrendszer.

3.2. Dinamikus modell

Használati esetek:

- bejelentkezés

- kijelentkezés

 

3.3. Funkcionális modell

3.4. Operációk azonosítása

beléptet : Ellenőrzi, hogy a szövegmezőkbe begépelt felhasználó név illetve jelszó egyezik e valamelyik a user táblában lévő névvel illetve jelszóval. Ha nem, hibaüzenettel tér vissza. Ha igen, akkor ellenőrzi, hogy a felhasználó root mezője mit tartalmaz, ezután belépteti a felhasználót az adatbázisba, a felhasz és megnyitja a főablakot. Ha a felhasználó root mezője 1-et tartalmaz, akkor a Rendszergazda menüt aktívvá teszi, ha 0-t akkor nem.

session: a felhasználó időlimit mezőjében lévő értéket növeli a db-kezelő osztály segítségével ha a felhasználó nem mutat aktívitást és ezzel az értékkel tér vissza.

kiléptet: ellenőrzi a session függvény által visszaadott értéket, ha ez egy bizonyos határon túl nő, vagy ha a felhasználó a Kijelentkezés menüpontra kattint megkéri a dbhandler osztály, hogy mentse el a felhasználó munkáját és megnyitja a bejelentkező képernyőt.

3.5 A Bizonság alrendszer osztálydiagramja

 

3.6. Az Biztonság alrendszer osztályainak listája

3.6.1. Biztonság

Felelőssége: A Biztonság osztály a felhasználók rendszerbe és az adatbázis szerverre való beléptetésére, a session-ük kezelésére szolgál.

együttműködők:

- menu
- DB-kezelő

Attribútumok:

Operációk:

Név
Argumentumok
Működése, feladata
beléptet
-
Ellenőrzi, hogy a szövegmezőkbe begépelt felhasználó név illetve jelszó egyezik e valamelyik a user táblában lévő névvel illetve jelszóval.
Ha nem, hibaüzenettel tér vissza. Ha igen, akkor ellenőrzi, hogy a felhasználó root mezője mit tartalmaz, ezután belépteti a felhasználót.
session
-
A felhasználó időlimit mezőjében lévő értéket növeli a db-kezelő osztály segítségével, ha a felhasználó nem mutat aktívitást, és ezzel az értékkel tér vissza.
kiléptet
-
Ellenőrzi a session függvény által visszaadott értéket, ha ez egy bizonyos határon túl nő, vagy ha a felhasználó a Kijelentkezés menüpontra kattint megkéri a dbhandler osztály, hogy mentse el a felhasználó munkáját és megnyitja a bejelentkező képernyőt.

 


4. DB-P alrendszer

4.1.1 Kapcsolatok pontosítása

4.1.1.1 DB-kezelő -- Biztonság kapcsolat:

szerepkör: Miután a Biztonság osztály azonosította a felhasználót, a megfelelő paraméterek átadasa után a DB-kezelő osztály végzi el az adatbázis-rendszerbe való beleptetést
számosság: A két osztály között egy-egy kapcsolat áll fent. **

4.1.1.2 DB-kezelő -- File kapcsolat:

szerepkör: A felhasználó a File menün keresztül éri el az "Új", "Megnyitás" és "mentés" funkciókat. A kapcsolat szerepköre a felhasználótól érkezett kérések továbbítása.
számosság: A két osztály között egy-egy kapcsolat áll fent. **

4.2 Funkcionális modell



4.3 Az operációk azonosítása

userenter: Az aktuális felhasználót a felhasználóneve és jelszava alapján belépteti az adatbázisba.

setkapcsolat: A kapcsolat adatait a megfelelő táblába menti.

delkapcsolat: Töröl egy kapcsolatot a táblából.

setegyed: Az egyed adatait a megfelelő táblába menti.

delegyed: Töröl egy egyedet a táblából.

setuser: Új felhasználót hoz létre

deluser: Töröl egy felhasználót.

newfile: Új bejegyzést hoz létre a mentések táblában.

4.5 A DB-P alrendszer osztálydiagrammja

4.6. Az alrenszer osztályainak listája

4.6.1. DB-kezelő

Felelőssége: Biztosítja a vele együtttműködő osztályok számára az alkalmazás működéséhez szükséges adatbázis elérését.
együttműködők:

- Biztonság
- Menu
- Rajzlap

Attribútumok:

Operációk:

Név
Argumentumok
Működése, feladata
userenter

user::felhnev

user::jelszo

Userenter, azaz az aktuális felhasználót a felhasználóneve és jelszava alapján belépteti az adatbázisba.

setkapcsolat

kapcsolat::kapcsolatnev

kapcsolat::egyedek

kapcsolat::vszin

kapcsolat::vtipus

kapcsolat::kid

kapcsolat::abraid

A kapcsolat adatait a megfelelő táblába menti.
delkapcsolat
kapcsolat::kid
Töröl egy kapcsolatot a táblából.
setegyed

egyed::egyednev

egyed::xkoord

egyed::ykoord

egyed::hossz

egyed::magassag

egyed::eszin

egyed::mezok

egyed::eid

egyed::abraid

Az egyed adatait a megfelelő táblába menti.
delegyed
egyed::eid
Töröl egy egyedet a táblából.
setuser

user::felhnev

user::jelszo

user::root

Új felhasználót hoz létre.
deluser
user::uid
Töröl egy felhasználót.
newfile
-
Új bejegyzést hoz létre a mentések táblában.

 


5. Draw alrendszer

5.1 Statikus modell

5.1.1 Kapcsolatok pontosítása

5.1.1.1 Műveletek -- DB kezelőkapcsolat:

szerepkör: Az Műveletek osztály a DB-kezelő osztály segítségével vátoztatja az adatbázisban letárolt ábrák, illetve rajzelemek tulajdonságait.

5.1.1.2 Rajzlap -- DB kezelő kapcsolat:

szerepkör: A rajzlap úgy végzi a kirajzolást, hogy az DB-kezelő osztályon keresztül kiolvassa az adatbázisból az adott tábla megjelenítéséhez szükséges adatokat.

számosság: A két osztály között több-1 kapcsolat áll fenn.

5.1.1.3 Rajzlap -- Menu kapcsolat:

szerepkör: A Kapcsolat objektumok szerepe az Egyed objektumok között fennálló logikai függések tárolása.

számosság: A két osztály között 1-1 kapcsolat van.

5.1.2 Attribútumok azonosítása

r_hossz: A rajzlap hossza.
r_magas: A rajzlap magassága.
setdel: Az ábra valamely elemének törlésével kapcsolatban továbbít információt a DB-kezelő osztál számára.

5.1.3 Bázisosztályok keresése

Nincs lehetőség bázisosztály kialakítására, ugyanis az ebben az alrendszerben található osztályok között nincsenek hasonlóságok.

5.2 Dinamikus modell

Használati esetek:
-uj elem létrehozása:

-új kapcsolat létrehozása:

-elem törlése:

-kapcsolat törlése:

-elem módosítása:

- kapcsolat módosítása:

 

5.3 Funkcionális modell

5.4 Az operációk azonosítása

ujkapcs: létrehoz egy új kapcsolatot a szövegmezőkben megadott adatok segítségével a kapcsolat táblában. (db-kezelő)

delkapcs: a setdel-t igazra állítja törli az aktuális kapcsolatot a rajzlap osztály rajzol függvényének segítségével
a képernyőről, majd az kapcsolat táblából.

ujelem: létrehoz egy új egyedet a szövegmezőkben megadott adatok segítségével a elem táblában. (db-kezelő)

delelem: a setdel-t igazra állítja törli az aktuális elemet a rajzlap osztály rajzol függvényének segítségével
a képernyőről, majd az elem táblából.

changeelemdata: a db-kezelő segítségével kiolvassa az aktuális elem adatait és azt képes módosítani(kivéve a színt).

changekapcsolatdata: a db-kezelő segítségével kiolvassa az aktuális kapcsolat adatait és azt képes módosítani(kivéve a színt).

setszin: Ha a szinvált gomb lenyomásra kerül kiolvassa az aktuális rajzelem színének hexakódját és azt képes
megváltoztatni a db-kezelő segítségével.

xnovel: megnöveli az aktuális eelem x mezőjének értékét egyel

xcsokkent: csökkenti az aktuális elem x mezőjének értékét egyel

ynovel: megnöveli az aktuális elem y mezőjének értékét egyel

ycsokkent: csökkenti az aktuális elem y mezőjének értékét egyel

getx: Beolvassa a szövegmezőből a megadott x koordinátát és az aktuális egyed x mezőjének értékét erre változtatja a db-kezelő
segítségével.

gety:Beolvassa a szövegmezőből a megadott y koordinátát és az aktuális egyed y mezőjének értékét erre változtatja a db-kezelő
segítségével.

5.5. A Draw alrendszer osztálydiagrammja

5.6. Az alrenszer osztályainak listája

5.6.1. Rajzlap

Felelőssége: Az UML-ábrák megjelenítése az adatbázis megfelelő táblájából kiolvasott adatok alapján.
Együttműködők:

- DB-kezelő
- Menu

Attribútumok:

Név Típus Leírás
r_hossz int A rajzlap hossza.
r_magas int A rajzlap magassága.

Operációk:

Név
Argumentumok
Mûködése, feladata
setmeret

r_hossz

r_magasság

Az r_hossz, r_magasság értékeknek megfelelően beállítja a rajzlap méretét.
rajzol
műveletek::setdel
Figyeli az aktuális rajzelem adatait és a PHP-GD modulja segítségével kirajzolja a képernyőre, illetve, ha a műveletek osztály setdel adattagja igaz, akkor törli a képernyőről.


5.6.2. Műveletek

Felelőssége: Új UML elemek beszúrására, illetve az UML-ábra kijelölt elemeinek a tulajdonságai változtatható meg segírségével. Valamint a nem kívánt elemek ábráról való törlésére szolgál.
Együttműködők:

- DB-kezelő
- Biztonság

Attribútumok:

Név Típus Leírás
setdel bool Ha igaz értéket tárol, törli a rajzlapról az elemet.

Operációk:

Név
Argumentumok
Mûködése, feladata
ujkapcs
-
étrehoz egy új kapcsolatot a szövegmezőkben megadott adatok segítségével a kapcsolat táblában. (db-kezelő)
delkapcs
-
A setdel-t igazra állítja törli az aktuális kapcsolatot a rajzlap osztály rajzol függvényének segítségével a képernyőről, majd az kapcsolat táblából.
ujelem
-
Létrehoz egy új egyedet a szövegmezőkben megadott adatok segítségével a elem táblában. (db-kezelő)
delelem
-
A setdel-t igazra állítja törli az aktuális elemet a rajzlap osztály rajzol függvényének segítségével a képernyőről, majd az egyed táblából.
changeelemdata
-
A db-kezelő segítségével kiolvassa az aktuális elem adatait és azt képes módosítani(kivéve a színt).
changekapcsolatdata
-
A db-kezelő segítségével kiolvassa az aktuális kapcsolat adatait és azt képes módosítani(kivéve a színt).
setszin
-
Ha a szinvált gomb lenyomásra kerül kiolvassa az aktuális rajzelem színének hexakódját és azt képes megváltoztatni a db-kezelő segítségével.
xnovel
-
Megnöveli az aktuális eelem x mezőjének értékét eggyel.
xcsokkent
-
Csökkenti az aktuális elem x mezőjének értékét eggyel.
ynovel
-
Megnöveli az aktuális elem y mezőjének értékét eggyel.
ycsokkent
-
Csökkenti az aktuális elem y mezőjének értékét eggyel.
getx
-
Beolvassa a szövegmezőből a megadott x koordinátát és az aktuális egyed x mezőjének értékét erre változtatja a db-kezelő segítségével.
gety
-
Beolvassa a szövegmezőből a megadott y koordinátát és az aktuális egyed y mezőjének értékét erre változtatja a db-kezelő segítségével.



6. Menu_ar alrendszer

6.1.1 Kapcsolatok pontosítása

6.1.1.1 Menu -- Biztonság kapcsolat

szerepkör: Kijelentkezésnél a Menu osztály küldi a kérelmet a felhasználó biztonságos kiléptetésére

számosság: A két osztály között egy-egy kapcsolat áll fent.

6.1.1.2 Menu -- DB-handler kapcsolat

szerepkör: A felhasználó projektjeinek létrehozása, mentése, és megnyitása esetén a Menu osztály továbbítja a szükséges paramétereket a DB-handlernek.

számosság: A két osztály között egy-egy kapcsolat áll fent.

6.1.1.3 Menu -- Rajzlap kapcsolat

szerepkör: Új ábra készítésénél üzen a rajzlapnak, hogy hozzon létre egy üres lapot.

6.1.2 Attribútumok azonosítása

filenev: A file nevét tárolja.
kie: Melyik felhasználóhoz tartozik az ábra.
mikor: Az átmeneti és a végleges mentések idejét tartalmazza.
gif: Ha az értéke igaz gif típusú képként menti ki.
jpeg: Ha az értéke igaz jpeg típusú képként menti ki.
fileID: A file azonosítója.

6.1.3 Bázisosztályok keresése

Nem találtunk bázisosztályt.

6.2 Dinamikus modell

Használati esetek:

-új projekt létrehozása:

-aktuális projekt mentése:

-korábban mentett projekt megnyitása:

6.3 Funkcionális modell

 

6.4. Az operációk azonosítása

uj: Létrehoz egy új bejegyzés a Munkaterület táblában és a rajzlap értékeit alapértelmezettre állítja, valamint törli a képernyőt.

mentes: A rajzlap és a hozzá kapcsolódó rajzelemek(ahol az abraid megyezik ID-vel) adatai lementi a megfelelő táblába a db-kezelő segítségével(ahol kie egyenlő az aktuális felhasználó uid-ével), valamint attól függően, hogy a gif vagy a jpeg értéke igaz (amit a választógombok segítségével állít be a program) a megfelelő formátumú képként is elmenti.

importcpp: A beolvasott c++ kód alapján beállítja az egyedek és kapcsolatok, valamint a rajztábla adatait és létrehozza az ábrát.

importjava:A beolvasott java kód alapján beállítja az egyedek és kapcsolatok, valamint a rajztábla adatait és létrehozza az ábrát.

exportcpp: A "filenev"-ben megadoot névvel c++ kódot hoz létre.

exporthtml: A "filenev"-ben megadott névvel html kódot hoz létre.

exporttojava:A "filenev"-ben megadott névvel java kódot hoz létre.

6.5. A FileP alrendszer osztálydiagramja

6.6. Az alrenszer osztályainak listája

6.6.1. File

Felelőssége: Ennek az osztálynak a segítségével lehet új projekteket nyitni, menteni az elkészült ábrákat, C++ nyelven írt ábrákat importálni, illetve C++ kódba, valamint HTML formába exportálni. Ezeken felül a kijelentkezést valósítja meg a felhasználók számára.
együttműködők:

- DB-kezelő
- Biztonság
- Rajzlap

Attribútumok:

Név Típus Leírás
filenev string A file nevét tárolja.
kie int Melyik felhasználóhoz tartozik az ábra.
mikor date Az átmeneti és a végleges mentések idejét tartalmazza.
gif bool Ha az értéke igaz gif típusú képként menti ki.
jpeg bool Ha az értéke igaz jpeg típusú képként menti ki.
fileID int A file azonosítója.

Operációk:

Név
Argumentumok
Mûködése, feladata
uj
-
Létrehoz egy új bejegyzést a Munkaterület táblában és a rajzlap értékeit alapértelmezettre állítja, valamint törli a képernyőt.
mentes

kie

abraid

A rajzlap és a hozzá kapcsolódó rajzelemek(ahol az abraid megyezik ID-vel) adatai lementi a megfelelő táblába a db-kezelő segítségével (ahol kie egyenlő az aktuális felhasználó uid-ével), valamint attól függően, hogy a gif vagy a jpeg értéke igaz (amit a választógombok segítségével állít be a program) a megfelelő formátumú képként is elmenti.
importcpp
-
A beolvasott c++ kód alapján beállítja az egyedek és kapcsolatok, valamint a rajztábla adatait és létrehozza az ábrát.
importjava
-
A beolvasott java kód alapján beállítja az egyedek és kapcsolatok, valamint a rajztábla adatait és létrehozza az ábrát.
exportcpp
-
A "filenev"-ben megadoot névvel c++ kódot hoz létre.
exporthtml
-
A "filenev"-ben megadoot névvel c++ kódot hoz létre.
exporttojava
-
A "filenev"-ben megadoot névvel c++ kódot hoz létre.


X. Mellékletek

Nincs információ.