3. Beadandó feladat dokumentáció

Hasonló dokumentumok
Szoftvertechnológia 8. gyakorlat. Tervezés. Tervezés A szoftver életciklus

Könyvtári nyilvántartás

Felhasználói kézikönyv

KTI Közlekedéstudományi Intézet Nonprofit Kft. Vasúti Vizsgaközpont

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Felhasználói kézikönyv a WEB EDInet rendszer használatához

2. Beadandó feladat dokumentáció

Eseményvezérelt alkalmazások fejlesztése I 10. előadás. Adatbázis-kezelés modell/nézet architektúrában. Giachetta Roberto

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése Giachetta Roberto

Felhasználói kézikönyv

1. beadandó feladat dokumentáció

Grafikonrajzoló. Felhasználói kézikönyv. UNIQA Biztosító Zrt.

TÁJÉKOZTATÓ az OTH Szakrendszeri Információs Rendszerbe (OSZIR) történő regisztráció és belépés menetéről belföldi partner nevében

Playlist.hu Kiadói kézikönyv

Projektmenedzsment tréning

EKÁER használati utasítás

DebitTray program Leírás

Oszkar.com Android alkalmazás v1.2

FELHASZNÁLÓI KÉZIKÖNYV

Szociális ellátások nyilvántartási rendszere CSTINFO Lekérdezői modul

3. beadandó feladat: adatbázis-kezelő alkalmazás. Közös követelmények:

ContractTray program Leírás

CAMLAND Beruházás-megfigyelő

Felhasználói kézikönyv Közzétételek portál

Felhasználói Kézikönyv

GráfRajz fejlesztői dokumentáció

Parlagfű Bejelentő Rendszer

Szoftvertechnológia 2. gyakorlat. Projektdefiníció és elemzés Giachetta Roberto

ServiceTray program Leírás

Egy családfaszerkesztő alkalmazás leírása

Felhasználói Kézikönyv

A d m i n i s z t r á c i ó s f e l a d a t o k a I n t e g r á l t K ö n y v t á r i R e n d s z e r b e n

Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés modell/nézet architektúrában

HACCP KCAL PRO. Online adminisztrációs szolgáltatás. Szolgáltatási Specifikáció v 1.0

CONSENTIT Kft. Dr. Tánczos László T.:(+36)

Elmib Önkormányzati hibabejelentő. Felhasználói kézikönyv v1.0

FordEcat Gyors útmutató

ERA KERETRENDSZER Felhasználói kézikönyv v

Gyári alkatrészek rendelése modul

Visitgyula.com Szálláshely adminisztrációs felület használati útmutató

CÍMLISTA HASZNÁLATA. Címlista alapok

POSZEIDON dokumentáció (1.2)

A beszámoló készítés lépéseinek bemutatása egy mintacég Egyszerű Kft. segítségével

Belépés a GroupWise levelező rendszerbe az Internet felől

PlanMonitor 1.4.x Súgó PlanMonitor 1.4.x Súgó

Models are not right or wrong; they are more or less useful.

Models are not right or wrong; they are more or less useful.

A The Bat levelezés beállítása

Eszterházy Károly Egyetem Oktatói, Kutatói Teljesítményértékelési Rendszer Informatikai tájékoztató

CareLink Personal telepítési útmutató. Első lépések a CareLink Personal adatfeltöltéshez

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

3. Beadandó feladat dokumentáció

Választó lekérdezés létrehozása

LETÉTKEZELŐ NYILVÁNTARTÁSI RENDSZER

Felhasználói kézikönyv. omunáldata

Regisztrációs segédlet A roma közösségekben dolgozó védőnők. munkafeltételeinek javítása elnevezésű norvég projekt keretében

Felhasználói kézikönyv MAGYAR NEMZETI BANK. ERA keretrendszer

NightHawk AccessControl

Név: Neptun kód: Pontszám:

Önkormányzati ASP Hiba- és igénybejelentő rendszer használati útmutató a bejelentők részére

Felhasználói segédlet a Scopus adatbázis használatához

Távolléti díj kezelése a Novitax programban

Oktatási anyag az MLSZ-IFA rendszerhez

Webáruház felhasználói útmutató

GLPI V Felhasználói leírás. Informatikai Technológiai és Üzemeltetési Igazgatóság

Ügyfélforgalom számlálás modul

Webes vizsgakezelés folyamata Oktatói felületek

On-line képzési program nyilvántartás

Bóra Adatcsere. A webes modul működésének részletesebb leírását a csatolt dokumentum tartalmazza.

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1]

Webáruház felhasználói útmutató

A Microsoft Outlook 2003 levelezés beállítása

VALUTAISMERTETŐ FUNKCIÓNÁLIS SPECIFIKÁCIÓ

Elektronikus ügyintézés /ügyintéző súgó. Az ügyintéző által végzendő munkafolyamat lépései:

Sege dlet az ovodasupport.magiszter.net bejelento rendszer haszna lata hoz

Felhasználói útmutató Created vasárnap 08 február 2015

Elektromos gépkocsi vásárlás támogatása Pályázati kiírás kereskedői regisztráció segédlete

Területi elemzések. Budapest, április

BODROGKOZ.COM / HASZNÁLATI ÚTMUTATÓ

Az egységes BME egyetemi TDK portál használata. 1. rész

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

OTP ADLAK Adómentes Lakáshitel-támogatás. Alapszolgáltatás KÉZIKÖNYV. OTP ADLAK alapszolgáltatás - munkáltatói portál

Nem gyári alkatrészek rendelése modul

Eseményvezérelt alkalmazások fejlesztése II

2. Beadandó feladat dokumentáció

Virtualoso WorkPlace Tartalomjegyzék

Haladó irodai számítógépes képzés tematika

Outlook Express használata

Hozzávalók keresése és csatolása

Számlaközpont Gazdaságfejlesztő Iroda Kft.

WordPress segédlet. Bevezető. Letöltés. Telepítés


Easton420. Automata Telefon hangrögzítő. V 6.0 Telepítése Windows XP rendszerre

Felhasználói kézikönyv

Aktiválási segédlet a Partnercég opcióhoz. A TeleMátrix adminisztrációs felületének használata Partnercég opció igénybevétele esetén

Támogatás / Excel / Excel 2010 súgó és útmutató / Diagramok / Diagramok formázása Hibasáv felvétele, módosítása és eltávolítása diagramban

NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET

Átírás:

3. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk adatbázis alapú, grafikus felületű alkalmazást egy apartmanokkal foglalkozó utazási ügynökség számára, amelyben a felhasználóknak lehetősége van apartmanok foglalására. Az adatbázisban városokra csoportosítva találunk épületeket, és épületen belül apartmanokat. Az apartmanok árazása a szezontól is függ. Továbbá adatbázisban tároljuk a felhasználók és az ügyfelek adatait is. A programba a felhasználóknak be kell előbb jelentkeznie, így kapnak lehetőséget az adatok megtekintésére és szerkesztésére. A felhasználók közül megkülönböztetjük az adminisztrátorokat, akik a felhasználók adatait is szerkeszthetik. A bejelentkezett felhasználó lehetőséget kap az egyes adatok (városok, épületek, apartmanok, szezonok, árak) megtekintésére és szerkesztésére, valamint apartmanok foglalására (ügyfél, apartman, valamint kezdő és vége dátumok megadásával). A foglalásokat utólag le lehet kérdezni, és ki lehet fizetni. Elemzés: Az alkalmazáshoz felépítünk egy MySQL adatbázist, amely tárolja a felhasználó, ügyfél, város, épület, apartman, szezon, ár és foglalás adatokat. Az alkalmazás két fő képernyőből áll. Elsőként a bejelentkező ablak jelenik meg, majd sikeres bejelentkezést követően a főablak. A főablakot egy MDI ablak keretében valósítjuk meg, így a felhasználó könnyen át tudja tekinteni párhuzamosan is a funkciókat. A főablakban biztosítunk egy adminisztrációs menüpontot, ahol az egyes táblák adatait tudja a felhasználó szerkeszteni, úgymint városok, épületek, apartmanok, szezonok, árak, vásárlók és felhasználók. Ezeket szabványos táblaszerkesztőből kezelheti a felhasználó, és lehetősége van a módosításokat elvégezni, vagy visszavonni. Itt az adatbázis azonosítókat elrejtjük, és könnyű kiválasztási funkciót szolgáltatunk helyette, továbbá ellenőrzünk néhány további kritikus értéket (pl. a tengerpart távolság nem lehet negatív). Külön menüpontot kap a foglalás, és azon belül a foglalások listázása, illetve új foglalás bejegyzése. Foglalások listázásakor biztosítunk lehetőséget a lista szűrésére ügyfélre, városra, illetve városon belül épületre legördülő menük segítségével. Egy foglalást kiválasztva lehetősége van a fizetést is elkönyvelni. Ügyelni kell arra, hogy már kifizetett foglalást ne lehessen újra kifizetni. 1

Új foglaláshoz a felhasználó szűrhet városra, épületnév(részlet)re, illetve ártartományokra, hogy könnyen lehessen a vevő elvárásainak eleget tenni. Az épületet kiválasztva tovább szűrhetjük az apartmanokat, majd dupla kattintással egy apartmanon kezdeményezhetünk foglalást az ügyfélnév, kezdő és befejező dátumok megadásával. Ügyelni kell arra, hogy a dátumok ne ütközzenek más foglalással arra az apartmanra, illetve ne adhassunk meg múltbeli, vagy rossz időpontokat. Foglalásoknál a teljes árat mindig a kezdőnapon érvényben lévő ár alapján számoljuk ki. A felhasználói esetek az 1. ábrán láthatóak. uc TravelAgency Bejelentkezés «precedes» Foglalás Foglalások listázása «precedes» Új foglalás Fizetés Felhasználó Adminisztráció Városok Szezonok Épületek Árak Apartmanok Felhasználók Ügyfelek 1. ábra: Felhasználói esetek diagramja 2

Adatbázisterv: Az adatbázis (appartmentdb) felépítése az alábbi (lásd 2. ábra): városok (city): azonosító, városnév; épületek (building): azonosító, név, város azonosító, utca, tengerpart távolság, tengerpart-típus (számként), jellemzők (binárisan összeillesztve), megjegyzés; apartmanok (appartment): azonosító, épület azonosító, szám, ágyak száma, pótágyak száma, felújítás alatt van-e; ügyfelek (customer): azonosító, név; foglalások (rent): azonosító, ügyfél azonosító, apartman azonosító, kezdődátum, befejező dátum, fizetett-e az ügyfél, összeg; szezon (season): azonosító, név, kezdődátum, befejező dátum; árak (price): apartman azonosító, szezon azonosító, ár; felhasználók (user): felhasználónév, teljes név, jelszó, felhasználói szint (0 az adminisztrátor). Rendszerterv: A program szerkezetét a Qt modell/nézet architektúrának megfelelően építjük fel, azaz az adatbázis kezelésére táblamodell osztályokat alkalmazunk, amelyek tartalmát megfelelő táblamegjelenítőkkel és egyéb vezérlőkkel jelenítjük meg. A beépített architektúrát több ponton kiegészítjük, ahol egyedi viselkedésre/megjelenésre van szükségünk, továbbá megvalósítjuk a megjelenítő ablakokat (3. ábra). A főprogram a bejelentő dialógusablakot jeleníti meg (LoginDialog), amely egy lekérdező modell (QSqlQueryModel) segítségével vizsgálja az egyezést a szövegdoboz értékek, valamint az adatbázis-tartalom között. Teljes egyezőség esetén betölti a főablakot. Amennyiben nincs adatbázis-kapcsolat, vagy nem megfelelőek az adatok, előugró ablakban (QMessageBox) figyelmeztet a hibára. A főablak (MainWindow) egy MDI megjelenítőt (QMdiArea) tartalmaz, valamint egy menüsort legyártott akciókkal. Ezen felül ő példányosítja a megfelelő táblamodelleket (setupmodels), illetve az épületek esetén egy egyedi megjelenítőt (BuildingTableDelegate). Az akciók végrehajtása a megfelelő beágyazott ablak megnyitását kezdeményezi. Minden ablak ekkor kapja a táblamodell mutatókat, amelyeket a szerkesztésre felhasznál, így a táblákat nem töltjük be többszörösen a memóriába. Általános táblaszerkesztést valósít meg a TableEditorWidget osztály, amelynek setmodel műveletével állíthatjuk be a szerkesztendő modellt, esetlegesen rejtett oszlopokat, illetve egyedi delegáltat. A RentListWidget osztály biztosítja a foglaláslistát, mely három legördülő menü (QComboBox) segítségével szűrhető. Amennyiben a városok kijelölése 3

változik, úgy az épületek listáját is újratöltjük. A vezérlők szűrését QSortFilterProxyModel példányokkal biztosítjuk, míg a táblaszűrést a modell setfilter eljárásával. A nézet csak olvasható, fizetés (paybutton_clicked) esetén a kódban adjuk meg a módosítandó értéket. 2. ábra: Adatbázis diagram 4

Az AppartmentListWidget ablak jeleníti meg mind az épületek, mind az apartmanok szűrt listáját. Az árszűrést egyedi osztállyal (PriceSortFilterProxyModel), a többi szűrést a beépített szűrő osztállyal végezzük. A duplakattintás esemény (appartmenttableview_doubleclicked) nyitja meg a foglalási ablakot. A foglalási ablak (AppartmentRentDialog) a foglalás végrehajtásakor (rentbutton_clicked) végez el minden ellenőrzést, úgymint a megfelelő dátumintervallum, valamint az időpontok ütközését, amelyhez egy további lekérdező modellt használ. A módosítást kódban történő beállításokkal hajtjuk végre. A modell oldaláról három egyedi táblamodellt definiáltunk: Az AppartmentTableModel specialitása, hogy az apartman állapotát kijelölő mezőn keresztül tudja kezelni. A BuildingTableModel új oszlopokat definiál az állapot, apartman szám, valamint minimum/maximum árak kezelésére, továbbá adatellenőrzéseket végez. A RentTableModel letiltja a nézetek számára a szerkesztést, valamint a fizetési állapotot kijelölést formájában adja vissza. class Class Model QDialog AppartmentRentDialog -rentwidget -pricesortfiltermodel QSortFilterProxyModel PriceSortFilterProxyModel RentListWidget -rentlistwidget AppartmentListWidget -appartmentlistwidget QSqlRelationalDelegate BuildingTableDelegate QListWidget FeatureEditorListWidget -buildingtabledelegate QMainWindow MainWindow -mainwindow 5 TableEditorWidget AppartmentTableModel -appartmenttablemodel QDialog LoginDialog -renttablemodel RentTableModel BuildingTableModel -buildingtablemodel 3. ábra: Osztálydiagram 5