Térinformatika tanszék * Keresztmetszet 2004. Nyugat-Magyarországi Egyetem, Geoinformatikai Főiskolai Kar, Székesfehérvár. VISUAL UML A RENDSZERTERVEZÉS OKTATÁSÁBAN Rajki Péter Nyugat-Magyarországi Egyetem, Geoinformatikai Főiskolai Kar, Székesfehérvár. ÖSSZEFOGLALÁS Tanulmányomban egy ingatlanközvetítéssel foglalkozó kisvállalkozás számítógépes ingatlan-nyilvántartási rendszerének kialakítását szeretném bemutatni a VISUAL UML szoftver segítségével készített használati eset, osztály, szekvencia és állapot diagramon keresztül. ABSTRACT The paper will introduce an information system analysis and development project. The information system made by Visual UML software. The solution will demonstarte a use case diagram, a class diagramm, sequence diagrams and state diagrams. 1. INGATLANKÖZVETÍTÉSSEL FOGLALKOZÓ VÁLLALKOZÁS NYILVÁNTARTÓ RENDSZERE Egy ingatlanközvetítéssel foglalkozó kisvállalkozás az ingatlanokkal kapcsolatos nyilvántartásait számítógépen szeretné tárolni. Alakítsa ki a rendszer objektumorientált tervét. A modell kialakításánál vegye figyelembe azt, hogy a rendszer a bérlőkre, a bérbeadókra és a lakásokra vonatkozó információkat gyorsan lekérdezhető és feldolgozható formában, megfelelő biztonsággal tudja tárolni. A rendszer kialakításához az alábbi információk állnak rendelkezésre: A bérlőkre és a bérbeadókra vonatkozó információk: Személyi száma, neve, neme, anyja neve, állandó lakcíme (település, utca, házszám, emelet, ajtó),
A lakásokra vonatkozó információk: helyrajzi száma, fekvése, a lakás helye, (település, utca, házszám, emelet, ajtó), a lakás komfortfokozata, szobaszáma, alapterülete, négyzetméterenkénti bérleti díja, a bérleti szerződés kezdő napja, bérleti szerződés időtartama, 2. A RENDSZER OBJEKTUMORIENTÁLT TERVÉNEK KIDOLGOZÁSA 2.1 A használati eset diagramm: A használati eset diagramm aktorokból és használati esetekből épül fel. Az aktorok a rendszer felhasználói vagy külső rendszerek. A használati esetek a rendszer funkcióit definiálják. A használati eset diagram az ingatlan nyilvántartó rendszerben a következő aktorokat és használati eseteket tartalmazza. Aktorok: Bérbeadó Bérlő Ügyintéző Nyilvántartó rendszer Használati esetek Lakás keresése A keresett lakások adatainak lekérdezése A feltételeknek megfelelő lakások adatai Lakás kiválasztása A szerződés megkötése A rendszer működése: A Bérbeadó az általa bérletre kiadni szándékozott lakást bejelenti az ügyintézőnek, aki a nyilvántartó rendszerbe rögzíti a lakás és a lakcím megfelelő adatait. Az ingatlan közvetítéssel foglalkozó kisvállalkozást különböző albérleti igényekkel rendelkező bérlők keresik fel lakás bérlése céljából. Az ügyintéző a nyilvántartási rendszerből lekérdezi a bérlő által adott feltételeknek megfelelő lakások adatait. A lekérdezés eredményét továbbítja a bérlőnek, aki a feltételeknek megfelelő lakások közül kiválasztja az igényeinek leginkább megfelelő lakást. Ha sikerül az elképzeléseinek megfelelő lakást kiválasztania, akkor megkötésre kerül a bérleti szerződés. 2
A pontos lakásnyilvántartásnak ebben a rendszerben nagy szerepe van, ugyanis mindenképpen el kell kerülünk azt, hogy egy olyan lakást jelöljünk meg bérelhetőnek, amelyben érvényes bérleti szerződéssel rendelkező bérlő lakik. A lakás minden lényeges adatát célszerű megfelelően rögzíteni a nyilvántartó rendszerben, ugyanis a bérlő igényeit maximálisan szem előtt tartva kell felkínálni bérletre a kiadó lakásokat. A következő ábrán látható VISUAL UML-ben készített használati eset diagramm a rendszer előbb ismertetett folyamatát mutatja be. 1.ábra Használati eset diagramm 2.2 Az osztály diagramm: Az objektum-orientált technológiában az emberi gondolkodáshoz hasonló folyamat kerül végrehajtásra, amelynek eredményeként osztályokat hoznak létre. Az ugyanolyan adatokat tartalmazó és az ugyanolyan viselkedés leírással rendelkező objektumokat egy osztályba soroljuk. 3
Az objektum osztályok hordozzák a hozzá tartozó objektumok jellemzőit. Minden objektum valamilyen osztály példánya, rendelkezik osztályának sajátosságaival, örökli annak tulajdonságait az adatszerkezetre és a műveletekre vonatkoztatva egyaránt. Az ingatlan közvetítéssel foglalkozó kisvállalkozás osztálydiagramját a már meglévő adatmodell alapján készítettem el. Kialakítva az osztályok közötti kapcsolatokat a megfelelő attribútumok alapján. A következő ábra a rendszer VISUAL UML-ben készített osztály diagrammját mutatja be. 2. ábra Osztály diagramm 4
A VISUAL UML nyelvnek köszönhetően az UML-ben elkészített osztályokhoz és a hozzájuk tartozó műveletekhez generálhatunk Visual basic nyelvű forráskódot. Ez a kód a következőképpen néz ki. A bérbeadó osztályhoz tartozó Visual basic kód: VERSION 1.0 CLASS BEGIN MultiUse = -1 ' True END Attribute VB_Name = "Bérbeadó" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True ' Class : Bérbeadó ' Class module: 'Bérbeadó' has an Instancing type of: 'MultiUse' Private Berbeado szemelyi _ig_szam As String * 8 Private Berbeado neve As String * 35 Private Berbeado anyja neve As String * 30 Private Berbeado szuletesi ido As Date Private Berbeado lakcimkod As Integer Private Sub Felvétel() End Sub Private Sub Módosítás() End Sub Private Sub Törlés() End Sub A bérlet osztályhoz tartozó Visual basic kód: VERSION 1.0 CLASS BEGIN MultiUse = -1 ' True END Attribute VB_Name = "Bérlet" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True 5
' Class : Bérlet ' Class module: 'Bérlet' has an Instancing type of: 'MultiUse' Private mvarlakaskod As Integer Private mvarlakcimkod As Integer Private mvarberlo_szem_ig_szam As String * 8 Private mvarberleti szerzodes_kezdete As Date Private mvarberleti szerzodes vege As Date Private mvarberbeado szem_ig szam As String * 8 Private Sub Felvétel() End Sub Private Sub Módosítás() End Sub Private Sub Törlés() End Sub Private Property Get Lakaskod() As Integer Lakaskod = mvarlakaskod Private Property Let Lakaskod(ByVal vdata As Integer) mvarlakaskod = vdata Private Property Get Lakcimkod() As Integer Lakcimkod = mvarlakcimkod Private Property Let Lakcimkod(ByVal vdata As Integer) mvarlakcimkod = vdata Private Property Get Berlo_szem_ig_szam() As String Berlo_szem_ig_szam = mvarberlo_szem_ig_szam 6
Private Property Let Berlo_szem_ig_szam(ByVal vdata As String) mvarberlo_szem_ig_szam = vdata Private Property Get Berleti szerzodes_kezdete() As Date Berleti szerzodes_kezdete = mvarberleti szerzodes_kezdete Private Property Let Berleti szerzodes_kezdete(byval vdata As Date) mvarberleti szerzodes_kezdete = vdata Private Property Get Berleti szerzodes vege() As Date Berleti szerzodes vege = mvarberleti szerzodes vege Private Property Let Berleti szerzodes vege(byval vdata As Date) mvarberleti szerzodes vege = vdata Private Property Get Berbeado szem_ig szam() As String Berbeado szem_ig szam = mvarberbeado szem_ig szam Private Property Let Berbeado szem_ig szam(byval vdata As String) mvarberbeado szem_ig szam = vdata 2.3 A szekvencia diagramm: Az objektumok közötti üzenetváltások időbeli sorrendjének leírására szolgál. A vízszintes tengelyéhez a feladat végrehajtásában részt vevő objektumok, a függőleges tengelyhez pedig az idő tartozik. Szekvencia diagram: Új kiadó lakás felvitele a nyilvántartásba 7
Példaobjektumok: Azonosító ellenőrzés Bérbeadó keresés Lakás keresés Bérbeadó felvétel Lakás felvétel A feladatok időbeli felsorolása: 1. A nyilvántartó ügyintéző belép a rendszerbe az azonosító és jelszó megadásával. A belépés sikeres vagy sikertelen lehet. Sikertelen belépés a rosszul megadott felhasználói név vagy jelszó miatt lehetséges 2. A nyilvántartó megkeresi a bérbeadót a rendszerben (a bérbeadó keresése történhet személyi igazolványszám vagy név alapján), ezáltal ellenőrzi, hogy szerepel-e a nyilvántartásban. 3. Ha a bérbeadó nem szerepel a nyilvántartási rendszerben, akkor fel kell venni az adatait, a megfelelő paraméterek megadásával. A felvételhez szükséges paraméterek: a bérbeadó személyi igazolványszáma, bérbeadó neve, bérbeadó anyja neve, bérbeadó születési ideje, bérbeadó lakcíme (település, utca, házszám, emelet, ajtó) 4. A bérbeadó sikeres felvétele után meg kell néznünk, hogy az általa bérletre kiadni kívánt lakás szerepel-e már a nyilvántartási rendszerünkben. A keresés a település és a helyrajzi szám együttes megadásával történik. 5. Ha ez a lakás még nem szerepel a nyilvántartási rendszerünkbe, akkor fel kell vennünk a lakás adatait. A sikeres felvételhez a nyilvántartó rendszerbe az ügyintézőnek rögzítenie kell a lakás helyét (település, helyrajzi szám, utca, házszám, emelet, ajtó), és a lakás jellemző adatait, a komfort fokozatát, az alapterületét, a négyzetméterenkénti bérleti díját, a szobaszámát és a lakás fekvését. 8
3.ábra. Szekvencia diagramm - Új kiadó lakás felvétele 9
2.4 Az állapot diagramm: Az állapotdiagram egy osztály belső állapotainak egymástól és különböző üzenetektől való függését írja le. Az adott objektum tipikus illetve kivételes jellegű működését foglalja össze. Állapot diagramm: Új kiadó lakás felvitele a nyilvántartásba Elemei: Kezdőállapot Műveletek Záróállapot Műveletek: 1. A nyilvántartó vár a bérbeadó érkezésére. 2. A bérbeadó megérkezése után, a bérbeadót adatai alapján megkeressük a nyilvántartó rendszerben. Ha a bérbeadó még nem szerepel a nyilvántartási rendszerben, akkor fel kell venni az adatait. A szekvencia diagrammnál említett paraméterek alapján. 3. Ezután a bérbeadó által felkínált lakásra keresünk rá a nyilvántartási rendszerbe. Ha a lakás még nem szerepel a nyilvántartásba a megfelelő paraméterek megadásával a bérbeadó lakás regisztrációja megtörténik. 4.ábra. Állapot diagramm - Új kiadó lakás felvétele 10
Szekvencia diagram: Új lakás igénylés felvitele a nyilvántartásba Példaobjektumok: Azonosító ellenőrzés Bérlő keresés Bérlő felvétel Lakás igénylés felvétel A feladatok időbeli felsorolása: 1. A nyilvántartó ügyintéző belép a rendszerbe az azonosító és jelszó megadásával. A belépés sikeres vagy sikertelen lehet. Sikertelen belépés a rosszul megadott felhasználói név vagy jelszó miatt lehetséges. 2. A nyilvántartó megkeresi a bérlőt a rendszerben (a bérlő keresése történhet személyi igazolványszám vagy név alapján), ezáltal ellenőrzi, hogy szerepel-e a nyilvántartásban. 3. Ha a bérlő nem szerepel a nyilvántartási rendszerben, akkor fel kell venni az adatait, a megfelelő paraméterek megadásával. A felvételhez szükséges paraméterek: a bérlő személyi igazolványszáma, bérlő neve, bérlő anyja neve, bérlő születési ideje, bérlő lakcíme (település, utca, házszám, emelet, ajtó) 4. A bérlő sikeres felvétele után fel kell vennünk a bérlő lakással kapcsolatos igényeit. Ezek a paraméterek a következők lehetnek komfort fokozat, szobaszám, alapterület, négyzetméterenkénti ár, megjegyzés. A szükséges paraméterek megadása után a lakásigénylés rögzítésre kerül a nyilvántartási rendszerben. 11
5. ábra. Szekvencia diagram: Új lakás igénylés felvitele a nyilvántartásba 12
Állapot diagramm: Új lakás igénylés felvitele a nyilvántartásba Elemei: Kezdőállapot Műveletek Záróállapot Műveletek: 1. A nyilvántartó vár a bérlő érkezésére. 2. A bérlő megérkezése után, a bérlőt adatai alapján megkeressük a nyilvántartó rendszerben. Ha a bérlő még nem szerepel a nyilvántartási rendszerben, akkor fel kell venni az adatait. A szekvencia diagrammnál említett paraméterek alapján. 3. Ezután a bérlő lakásigénylését rögzítjük a rendszerben. Fontos felvennünk a komfort fokozattal, szobaszámmal, alapterülettel, négyzetméterenkénti árral kapcsolatos adatokat. 6.ábra Állapot diagramm: Új lakás igénylés felvitele a nyilvántartásba 13
Szekvencia diagram: Új bérleti szerződés felvitele a nyilvántartásba Példaobjektumok: Azonosító ellenőrzés Lakás keresés Lakás kiválasztás Szerződéskötés A feladatok időbeli felsorolása: 1. A nyilvántartó ügyintéző belép a rendszerbe az azonosító és jelszó megadásával. A belépés sikeres vagy sikertelen lehet. Sikertelen belépés a rosszul megadott felhasználói név vagy jelszó miatt lehetséges. 2. Az ügyintéző a bérlő által adott igényeknek (komfortfokozat, szobaszám, alapterület, négyzetméterenkénti bérleti díj) megfelelő lakásokra állít össze lekérdezést. 3. A lekérdezés eredményeképpen szolgáltatott (az előzetes igényeknek megfelelő) lakások közül a bérlő kiválasztja az igényeinek leginkább megfelelőt. 4. Ha sikerül minden igényt kielégítő lakást választania a bérlőnek, akkor sor kerül a bérleti szerződés megkötésére. A szerződésben rögzíteni kell a bérlő személyi igazolvány számát, a bérbeadó személyi igazolvány számát, az ügyintéző azonosítóját, a lakás helyét (település, utca, házszám, emelet, ajtó), a bérleti szerződés kezdetét, és a bérleti szerződés végét. 5. Ha nem sikerül minden igényt kielégítő lakást választania a bérlőnek, akkor nem kerül sor a bérleti szerződés megkötésére. 14
7.ábra. Szekvencia diagram: Új bérleti szerződés felvitele a nyilvántartásba 15
Állapot diagramm: Új bérleti szerződés felvitele a nyilvántartásba Elemei: Kezdőállapot Műveletek Záróállapot Műveletek: 1. A nyilvántartó vár a lakás igénylés érkezésére. 2. Az igénylés megérkezése után, a bérlő által adott igényeknek (komfortfokozat, szobaszám, alapterület, négyzetméterenkénti bérleti díj) megfelelő lakásokat lekérdezi az ügyintéző a nyilvántartási rendszerből. 3. Az ügyfél választ a feltételeknek megfelelő lakások közül. 4. Ha van kiadó, a bérlő igényeinek megfelelő lakás, a bérleti szerződés adatainak rögzítése után létrejön a bérleti jogviszony. 5. Ha nincs a bérlő igényeinek megfelelő kiadó lakás, akkor nem kerül sor a bérleti szerződés megkötésére. 8.ábra Állapot diagramm: Új bérleti szerződés felvitele a nyilvántartásba 16
CÍM Rajki Péter Nyugat-Magyarországi Egyetem Geoinformatikai Főiskolai Kar Székesfehérvár. Pirosalma u. 1-3. Tel. 06 22 516 554 Email:p.rajki@geo.info.hu Honlap: www.geo.info.hu CONTACTS Peter Rajki College of Geoinformatics, University of West Hungary Pirosalma u. 1-3. Szekesfehervar HUNGARY Tel. +36 22 516 554 Fax +36 22 516 521 Email: p.rajki@geo.info.hu Web site: www.geo.info.hu ÖSSZEFOGLALÁS Érdekel a számítástechnika és az emberekkel való foglalkozás, ezért örülök, hogy olyan munkahelyen dolgozom, ahol mindkét dologgal foglalkozhatom. Arra törekszem, hogy tudásom és szakmai tapasztalatom hasznosítsam az oktatás és a térinformatika terén, illetve új ismereteket, tapasztalatokat szerezzek. ABSTRACT I am interested in information technology and education and teaching so I am very glad that I work in the College of Geoinformatics, University of West Hungary in Székesfehérvár.. I would like to use my knowledge and my experiences in geoinformation technology and education. 17