Szoftvertechnológia 8. gyakorlat. Tervezés Giachetta Roberto

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Szoftvertechnológia 8. gyakorlat. Tervezés Giachetta Roberto"

Átírás

1 Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 8. gyakorlat Tervezés Giachetta Roberto

2 A szoftver életciklus Minden szoftver rendelkezik életciklussal, amely meghatározza létét a feladat kitűzésétől a program használatának befejeztéig Az életciklus a következő fázisokra tagolható: 1. projektdefiníció (project definition) 2. elemzés (analysis) 3. tervezés (software architecture) 4. implementáció (implementation) 5. tesztelés (testing) 6. kihelyezés (deployment, release) 7. tréning és támogatás (training and support) 8. karbantartás (maintenance) ELTE IK, Szoftvertechnológia 8:2

3 A tervezési folyamat A tervezés a készülő szoftver absztrakt megvalósítása, azaz: a rendszer szerkezetének meghatározása, a programegységek, részegységek feltérképezése a programrészek pontos ábrázolása, funkcióinak meghatározása, ezek közötti reláció, kommunikáció megvalósítása (adatmodellek, áramlások feltérképezése) a feladatmegoldás folyamatának meghatározása, a benne részt vevő programegységekkel, azok állapotváltozásaival, illetve a kiváltó események meghatározása A tervezés során főként az UML csomag, osztály, állapot és szekvencia diagramokat használjuk fel ELTE IK, Szoftvertechnológia 8:3

4 A tervezési folyamat A program szerkezetének meghatározása: 1. a feladat elemezése, igények és követelmények feltérképezése, felhasználói esetek megállapítása 2. tárgykörök azonosítása, objektumok, majd osztályok hozzárendelése 3. interfészek, kapcsolódási pontok, adatkezelés megtervezése 4. a belső reprezentáció, működési elvek (algoritmusok) feltérképezése 5. végrehajtási folyamat, állapotváltozások meghatározása 6. implementáció specifikus jellemzők meghatározása ELTE IK, Szoftvertechnológia 8:4

5 Rendszerterv A tervezés eredménye a szoftver rendszerterve (software design description, SDD), amely tartalmazza: a program statikus szerkezetét, azaz a programegységek feladatát, részletes leírását és a köztük lévő relációkat a program dinamikus szerkezetét, azaz a program eseményeinek kiváltódását és hatásait, a programegységek állapotainak változását, az üzenetküldések megvalósítását a tárolt, kezelt, és eredményül adott adatok formáját, leírását a programok belső és külső interfészeinek leírását ajánlásokat az implementáció számára (stratégia, függőségek, programozási nyelv, tesztelési módszerek) ELTE IK, Szoftvertechnológia 8:5

6 Rendszerterv A rendszerterv meghatározó jellemzői: kohézió: egy programegységen belül a komponensek összetartozása, akkor jó, ha erős az összetartó erő összekapcsolás: a programegységek egymáshoz való kapcsolódása és függése, akkor jó, ha gyenge a függés módosíthatóság: mennyiben módosítható a teljes program az egységek, vagy részegységek cseréjével fejleszthetőség: új komponensekkel való bővíthetőség lehetősége, mennyire szabványosak a csatolási felületek bonyolultság: a terv áttekinthetősége és megérthetőségének a mértéke ELTE IK, Szoftvertechnológia 8:6

7 1. esettanulmány: a feladat 1. esettanulmány: Készítsünk programot, amely Marika néni kávézójának eladási nyilvántartását végigköveti. a kávézóban 3 féle étel (hamburger, ufo, palacsinta 10%-os áfával), illetve 3 féle ital (tea, narancslé, kóla 25%-os áfával) közül lehet választani az ételek ezen belül különfélék lehetnek, amelyre egyenként lehet árat szabni, és elnevezni, az italok árai rögzítettek minden rendelés több ételből és több italból áll, és sorszámmal rendelkezik, esetlegesen törzsvásárlói számmal, amelyet hagyhatunk üresen is lehessen lekérdezni egy adott rendelésre, egy adott törzsvásárlóra, illetve összesítve a bruttó, nettó összeget ELTE IK, Szoftvertechnológia 8:7

8 1. esettanulmány: felhasználói esetek Felhasználói esetek: Új rendelés felvétele: megadható a törzsvásárlói szám ital felvétele: elég kiválasztani a megadott italt étel felvétele: az étel típusát ki kell választani, majd meg kell adni pontos nevét, illetve bruttó árát Rendelések lekérdezése: adott törzsvásárlóhoz: a törzsvásárlói szám megadásával csak a lényegi adatok lekérdezése összes: valamennyi rendelésről a statisztikák lekérdezése egy rendelés: a rendelés azonosító (sorszám) megadásával valamennyi adat egy rendelésről ELTE IK, Szoftvertechnológia 8:8

9 1. esettanulmány: felhasználói esetek uc Kávézó Kávézó Új rendelés «include» Étel felvétele «include» Ital felvétele felhasználó Rendelések lekérdezése «include» Törzsvásárló «include» «include» Egy rendelés Összes rendelés ELTE IK, Szoftvertechnológia 8:9

10 1. esettanulmány: statikus tervezés A program felépítése (1. fázis): a feladatban fellelhető tárgykörök a menü, a rendelések listája, a rendelés, valamint a rendelés elemei (italok, ételek) rendelés elemei (Item): hasonlóan viselkednek, ám némileg eltérően ezért megvalósításban öröklődést használunk, specializáljuk a 3 ételt, illetve italt rendelés (Order): tartalmazza az elemeket (mivel a rendelések száma változhat, ezért láncolt listát használ) menü (Menu): tartalmazza a rendeléseket (láncolt listában) ELTE IK, Szoftvertechnológia 8:10

11 1. esettanulmány: statikus tervezés class Kávézó Pancake Orange Ufo Hamburger Item -items * Tea Coke Order -orders * Menu List ELTE IK, Szoftvertechnológia 8:11

12 1. esettanulmány: statikus tervezés A program felépítése (2. fázis): láncolt lista (List): külön megvalósítást igényel, sablonos típusként kétszeresen láncolt, fejelemes, aciklikus reprezentáció lehetőséget ad a beszúrásra (elején, végén, közben), törlésre, kiürítésre, és méret lekérdezésre a listaelem (ListItem) tárolja az adatot és a két mutatót a hibát kivétellel jelezzük, egy felsorolási típussal (Exceptions) a lista bejárható, a bejáró (Iterator) a szabványos műveleteket tárolja ELTE IK, Szoftvertechnológia 8:12

13 1. esettanulmány: statikus tervezés A program felépítése (2. fázis): rendelési elemek (Item): közös tulajdonságaik a típusnév, a bruttó és nettó ár az ételek esetén további adatok a konkrét név, illetve ár rendelések (Order): tulajdonságai az azonosító (ez automatikus), a törzsvásárlói szám lehetőséget ad új elem felvételére, nettó/bruttó érték lekérdezésére menü (Menu): biztosítja a mentést/betöltést, valamint a menüfunkciókat ELTE IK, Szoftvertechnológia 8:13

14 1. esettanulmány: statikus tervezés A program felépítése (3. fázis): a cím szerinti hivatkozásokat mutatókon keresztül kezeljük a listaelemet és a lista kivételeit beágyazott osztályként hozzuk létre, a listaelem egyszerűsége miatt lehet rekord (struct) a lista megfelelő használatához szükséges destruktor, másoló konstruktor, értékadás művelet, kiíró operátor, indexelő operátor a rendelési elem ősosztályban megvalósítunk egy virtuális destruktort ELTE IK, Szoftvertechnológia 8:14

15 1. esettanulmány: statikus tervezés class CoffeShop (List) ValueType : class - _head :ListItem* - _size :int - _tail :ListItem* List -_next -_prev + _data :ValueType + _next :ListItem* + _prev :ListItem* «struct» ListItem + ListItem(ListItem*, ListItem*) + ListItem(ValueType, ListItem*, ListItem*) -_current Iterator - _current :ListItem* + Iterator() + Iterator(Iterator&) + operator++() :Iterator& + operator++(int) :Iterator& + operator--() :Iterator& + operator--(int) :Iterator& + operator*() :ValueType {query} + operator==(iterator&) :bool {query} + operator!=(iterator&) :bool {query} + List() -_tail + ~List() + List(List&) + operator=(list&) :List& + Begin() :Iterator {query} -_head+ End() :Iterator {query} + RBegin() :Iterator {query} + REnd() :Iterator {query} + Insert(Iterator&, ValueType) :void + InsertFirst(ValueType) :void + InsertLast(ValueType) :void + Remove(Iterator&) :ValueType + RemoveFirst() :ValueType + RemoveLast() :ValueType + Clear() :void + Size() :int {query} «friend» + operator<<(std::ostream&, List&) :std::ostream& «enumeration» Exceptions LIST_IS_EMPTY ELTE IK, Szoftvertechnológia 8:15

16 1. esettanulmány: statikus tervezés class CoffeShop (Items) Coke + Coke() + GetTotalValue() :int {query} + GetType() :char {query} + GetName() :std::string {query} Hamburger - _name :std::string - _totalvalue :int + Hamburger(std::string, int) + GetTotalValue() :int {query} + GetType() :char {query} + GetName() :std::string {query} Tea + Tea() + GetTotalValue() :int {query} + GetType() :char {query} + GetName() :std::string {query} Orange + Orange() + GetTotalValue() :int {query} + GetType() :char {query} + GetName() :std::string {query} Item + ~Item() + GetNetValue() :int {query} + GetTotalValue() :int {query} + GetType() :char {query} + GetName() :std::string {query} Ufo - _name :std::string - _totalvalue :int + Ufo(std::string, int) + GetTotalValue() :int {query} + GetType() :char {query} + GetName() :std::string {query} Pancake - _name :std::string - _totalvalue :int + Pancake(std::string, int) + GetTotalValue() :int {query} + GetType() :char {query} + GetName() :std::string {query} ELTE IK, Szoftvertechnológia 8:16

17 1. esettanulmány: statikus tervezés class CoffeShop (Orders) Menu - _orders :List<Order*> + Menu() + ~Menu() + Run() :void + LoadData() :void + SaveData() :void - WriteMainMenu() :void - WriteRatingsMenu() :void - AddOrder() :void - ShowRatingsForOrder(int) :void - ShowRatingsForCard(int) :void - ShowRatings() :void -_orders * Order - _cardnumber :int - _items :List<Item*> - _number :int + Order(int, int) + AddItem(Item*) :void + GetNumber() :int {query} + GetCardNumber() :int {query} + Items() :List<Item*>& {query} + GetNetValue() :int + GetTotalValue() :int {query} {ValueType = Order*} -_orders -_items -_items * List Item {ValueType = Item*} ELTE IK, Szoftvertechnológia 8:17

18 1. esettanulmány: adatkezelés A program adatkezelésének megvalósításához egyetlen szöveges fájlra lesz szükségünk legyen ez kavezo.dat, és a programmal azonos könyvtárban helyezkedik el a fájl szerkezete a következőképpen épül fel: <rendelés azonosító>;<italok/ételek száma>; <törzsv. szám> <típus: h/u/p/t/n/k>;<étel neve>;<étel ára> <típus: h/u/p/t/n/k>;<étel neve>;<étel ára> <rendelés azonosító>;<italok/ételek száma>;<törzsv. szám> ELTE IK, Szoftvertechnológia 8:18

19 1. esettanulmány: dinamikus tervezés A program működése: a lista végrehajt tevékenységet, ugyanakkor állapotai lényegteleneket a program futása szempontjából a menü hajtja végre a tényleges tevékenységeket a különböző metódusok (menüpontok) futtatásával, mivel a metódusok futtatása jellemzi a program különböző állapotait, így az állapotokat a tevékenységekhez kötjük a menüfuttatás mellett az adatok betöltése, valamint kimentése is szerepet játszik a működésben, ezért külön részletezzük a teljes program állapotait, valamint a menüfuttatás állapotait ELTE IK, Szoftvertechnológia 8:19

20 1. esettanulmány: dinamikus tervezés stm Kávézó LoadData() Run() SaveData() ELTE IK, Szoftvertechnológia 8:20

21 1. esettanulmány: dinamikus tervezés stm Run() AddOrder() WriteMainMenu() ShowRatingsForOrder(int) ShowRatingsForCard(int) WriteRatingsMenu() ShowRatings() ELTE IK, Szoftvertechnológia 8:21

22 1. esettanulmány: dinamikus tervezés sd CoffeShop Actor m :Menu LoadData() Run() SaveData() ELTE IK, Szoftvertechnológia 8:22

23 1. esettanulmány: dinamikus tervezés sd Add Order m :Menu Actor AddOrder() Order(int, int) Order :Order loop AddItem(Item*) _orders.insertlast(order*) ShowRatingsForOrder(int) GetNetValue() :int GetTotalValue() :int ELTE IK, Szoftvertechnológia 8:23

24 2. esettanulmány: a feladat 2. esettanulmány: A feladat egy adatbázis alapú, grafikus felületű alkalmazás megvalósítása 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 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ó lehetőséget kap az egyes adatok megtekintésére és szerkesztésére, valamint apartmanok foglalására ELTE IK, Szoftvertechnológia 8:24

25 2. esettanulmány: felhasználói esetek uc TravelAgency Bejentkezés «precedes» Foglalás «include» Foglalások listázása «precedes» «include» Új foglalás «include» Fizetés Felhasználó Adminisztráció «include» Városok szerkesztése Szezonok szerkesztése «include» «include» «include» «include» Épületek szerkesztése «include» «include» Árak szerkesztése Apartmanok szerkesztése Felhasználók szerkesztése Ügyfelek szerkesztése ELTE IK, Szoftvertechnológia 8:25

26 2. esettanulmány: statikus tervezés A program felépítése (1. fázis): a program szerkezetét a Qt modell/nézet architektúrának megfelelően építjük fel 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 bejelentkezést diaglógusablakban végezzük (LoginDialog) ELTE IK, Szoftvertechnológia 8:26

27 2. esettanulmány: statikus tervezés class TravelAgency QDialog AppartmentRentDialog -rentwidget -pricesortfiltermodel QSortFilterProxyModel PriceSortFilterProxyModel QWidget RentListWidget -rentlistwidget QWidget AppartmentListWidget -appartmentlistwidget QSqlRelationalTableModel RentTableModel -renttablemodel QSqlRelationalDelegate BuildingTableDelegate QListWidget FeatureEditorListWidget -buildingtabledelegate QMainWindow MainWindow -mainwindow 5 QWidget TableEditorWidget QSqlRelationalTableModel AppartmentTableModel -appartmenttablemodel LoginDialog QDialog -buildingtablemodel QSqlRelationalTableModel BuildingTableModel ELTE IK, Szoftvertechnológia 8:27

28 2. esettanulmány: statikus tervezés A program felépítése (2. fázis): főablak (MainWindow): egy MDI megjelenítőt (QMdiArea) tartalmaz, valamint egy menüsort legyártott akciókkal 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 ELTE IK, Szoftvertechnológia 8:28

29 2. esettanulmány: statikus tervezés A program felépítése (2. fázis): táblamodellek: 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 ELTE IK, Szoftvertechnológia 8:29

30 2. esettanulmány: statikus tervezés class TravelAgency (Models) QSqlRelationalTableModel AppartmentTableModel + AppartmentTableModel(QObject*) + data(qmodelindex&, int) :QVariant {query} + setdata(qmodelindex&, QVariant&, int) :bool - setupmodel() :void QSqlRelationalTableModel BuildingTableModel + BuildingTableModel(QObject*) + data(qmodelindex&, int) :QVariant {query} + columncount(qmodelindex&) :int {query} + flags(qmodelindex&) :Qt::ItemFlags {query} + setdata(qmodelindex&, QVariant&, int) :bool - setupmodel() :void - model_beforeinsert(qsqlrecord&) :void - model_datachanged(qmodelindex&, QModelIndex&) :void ELTE IK, Szoftvertechnológia 8:30

31 2. esettanulmány: statikus tervezés class TravelAgency (MainWindow) MainWindow QMainWindow - userlevel :int - mdiarea :QMdiArea* - rentmenu :QMenu* - administermenu :QMenu* - rentlistaction :QAction* - rentmakeaction :QAction* - cityaction :QAction* - buildingaction :QAction* - appartmentaction :QAction* - seasonaction :QAction* - customeraction :QAction* - useraction :QAction* - appartmentlistwidget :AppartmentListWidget* - rentlistwidget :RentListWidget* - cityeditorwidget :TableEditorWidget* - buildingeditorwidget :TableEditorWidget* - appartmenteditorwidget :TableEditorWidget* - seasoneditorwidget :TableEditorWidget* - customereditorwidget :TableEditorWidget* - usereditorwidget :TableEditorWidget* - citytablemodel :QSqlTableModel* - buildingtablemodel :QSqlTableModel* - appartmenttablemodel :QSqlTableModel* - seasontablemodel :QSqlTableModel* - renttablemodel :QSqlTableModel* - customertablemodel :QSqlTableModel* - usertablemodel :QSqlTableModel* - buildingtabledelegate :BuildingTableDelegate* + MainWindow(int, QWidget*) + ~MainWindow() # closeevent(qcloseevent*) :void # rentlistaction_triggered() :void # rentmakeaction_triggered() :void # cityaction_triggered() :void # buildingaction_triggered() :void # appartmentaction_triggered() :void # seasonaction_triggered() :void # customeraction_triggered() :void # useraction_triggered() :void - setupmenu() :void - setupmodels() :void -buildingtabledelegate -buildingtablemodel QListWidget FeatureEditorListWidget + FeatureEditorListWidget(QWidget*) + setfeatures(int) :void + getfeatures() :int {query} + getfeaturesstring() :QString {query} BuildingTableDelegate QSqlRelationalDelegate + BuildingTableDelegate(QObject*) + paint(qpainter*, QStyleOptionViewItem&, QModelIndex&) :void {query} + createeditor(qwidget*, QStyleOptionViewItem&, QModelIndex&) :QWidget * {query} + seteditordata(qwidget*, QModelIndex&) :void {query} + setmodeldata(qwidget*, QAbstractItemModel*, QModelIndex&) :void {query} - shorelist() :QStringList {query} QSqlRelationalTableModel BuildingTableModel ELTE IK, Szoftvertechnológia 8:31

32 2. esettanulmány: adatkezelés Adatkezelést adatbázis biztosítja a következő táblákkal: 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; ELTE IK, Szoftvertechnológia 8:32

33 2. esettanulmány: adatkezelés ELTE IK, Szoftvertechnológia 8:33

34 2. esettanulmány: dinamikus tervezés A program működése: a program indításkor ellenőrzi az adatbázis-kapcsolatot, amennyiben az nem megfelelő, azonnal terminál a program elsőként a bejelentkező ablakot nyitja meg, amelyben a felhasználó megadhatja az azonosítót, illetve jelszót (ezek ellenőrzésre kerülnek az adatbázis alapján) amennyiben az azonosítás sikeres, megnyílik a főablak, amelyben elérhetővé válnak a menüpontok minden ablak megnyitásakor az alkalmazás betölti az adatokat az adatbázisból, ablak bezárásakor (vagy mentés gombra) pedig elmenti azokat (amennyiben sikerült) ELTE IK, Szoftvertechnológia 8:34

35 2. esettanulmány: dinamikus tervezés stm TravelAgency Adatbázis-kapcsolat megnyitása [sikeres kapcsolódás] bejelentkezés [sikertelen bejelentkezés] Bejelentkező dialógus megjelenítése bejelentkezés [sikeres bejelentkezés] Főablak megjelenítése [ablak bezárása] [sikertelen kapcsolódás] ablak bezárása ELTE IK, Szoftvertechnológia 8:35

36 2. esettanulmány: dinamikus tervezés stm TravelAgency db.open() open success [db.open() == true] loginbutton_clicked() [query.count() == 0] logindialog.show() loginbutton_clicked [query.count() > 0] mainwindow.show() closebutton_clicked open failed [db.open() == false] closebutton_clicked() ELTE IK, Szoftvertechnológia 8:36

37 2. esettanulmány: dinamikus tervezés stm Főablak megjelenítése Adatok betöltése [sikeres mentés és nem bezárás történt] Adatok megjelenítése/szerkesztése mentés Adatok mentése [sikeres mentés és bezárás történt] ablak bezárása [sikertelen mentés] [nem bezárás történt] Hibajelzés [bezárás történt] ELTE IK, Szoftvertechnológia 8:37

38 2. esettanulmány: dinamikus tervezés stm Show MainWindow tablemodel->select() [tablemodel->submitall() == true && closing == false] View/edit data savebutton_clicked() tablemodel->submitall() [tablemodel->submitall() == true && closing == true] closebutton_clicked() [tablemodel->submitall() == false] [closing == false] errordialog->show() [closing == true] ELTE IK, Szoftvertechnológia 8:38

39 3. esettanulmány: a feladat 3. esettanulmány: A feladat egy olyan programrendszer (ETRImporter) megvalósítása, amellyel lehetőség nyílik különböző adatok betöltésére az ETR központi adatbázisába. a program felhasználói megadott formátumokban importálhatnak, illetve szerkeszthetnek adatokat a programban, melyet végül elküldhetnek egy központi szervernek, amely betölti az adatokat az adatbázisba az adatok táblázatos formában kerülnek betöltésre, azok utólagos szerkesztését is biztosítanunk kell a programban a táblák formátumát központilag szabályozzák, de a későbbiekben tetszőleges módosítás alá kerülhetnek, illetve új adatformátumok kerülhetnek a rendszerbe ELTE IK, Szoftvertechnológia 8:39

40 3. esettanulmány: felhasználói esetek uc ETRImporter Kliens Importálás Üres tábla létrehozása «include» Szövegből Adatok importálása «include» Excelből «include» CSV-ből Közvetítő Táblakezelés Esemény naplózás Felhasználó Adatok szerkesztése «include» Helyesség ellenőrzés Adatok feltöltése Sorok szűrése Tábla feltöltése Felhasználó kezelése Beállítások Bejelentkezés Rendszergazda ELTE IK, Szoftvertechnológia 8:40

41 3. esettanulmány: statikus tervezés A rendszert az alábbiaknak megfelelően építjük fel: a kliens (ImporterClient) egy grafikus felületű alkalmazás, amely biztosítja az adatok betöltését, kezelését, valamint hálózaton történő továbbítását a szerver oldali szolgáltatás (ImporterService) állandó jelleggel fut a háttérben a szerveren, a szolgáltatás feladata lesz a kliensek kéréseinek kiszolgálása, a kommunikáció, az adatok kezelése és bevitele az adatbázisban, illetve az eseménynaplózás a közvetítő program (ImporterAdmin) feladata korlátozódik az eseménynapló, valamint a csatlakoztatott kliensek megtekintésére, esetleges üzenetküldésre ELTE IK, Szoftvertechnológia 8:41

42 3. esettanulmány: statikus tervezés Célszerű a tábla típusainak kezelését külön könyvtárba kiemelni (TypeManagement), hiszen azt már három további komponens is használja Így a rendszer már összesen 4 komponensből áll ELTE IK, Szoftvertechnológia 8:42

43 3. esettanulmány: statikus tervezés A szerver gépen így megjelenik a közvetítő mellett a szolgáltatás, illetve ott és a kliens gépen is megjelenik a típuskezelés ELTE IK, Szoftvertechnológia 8:43

44 3. esettanulmány: statikus tervezés A kliens program funkcióit három csomag valósítja meg: felhasználói felület (GUISystem) adatimportáló (ImportSystem) adatkezelő (DataSystem) ELTE IK, Szoftvertechnológia 8:44

45 3. esettanulmány: statikus tervezés Az adatimportáló csomag a különböző formátumú fájlok betöltésére szolgál, a későbbiekben tetszőlegesen bővíthetőm megfelelően feldogozza a fájlt, és eltárolja a nyers adatokat ennek megfelelően szükség van egy általános osztályra, amely beolvassa (Open) és eltárolja (Data) az adatokat ebből származtatunk speciális feldolgozó osztályokat, amelyek a beolvasást felüldefiniálják ELTE IK, Szoftvertechnológia 8:45

46 3. esettanulmány: statikus tervezés class ImportSystem DataImporter # Data :List<String[]> # RowType :List<Char> # IsColumnFirst :Boolean # DataImporter() + Open(String, TypeProperties) :Boolean + GetData(Int32, Int32) :String + GetRow(Int32) :String[] «property» + Length() :Int32 «indexer» + this(int32) :String[] - Sign :Char TextDataImporter + TextDataImporter(Char, Boolean) + Open(String, TypeProperties) :Boolean ExcelDataImporter + ExcelDataImporter(Boolean) + Open(String, TypeProperties) :Boolean ELTE IK, Szoftvertechnológia 8:46

47 3. esettanulmány: statikus tervezés Az adatkezelő csomag az adatok táblázatos kezeléséért, valamint a kommunikáció lebonyolításáért felel a kommunikációs osztály (Connection) feladata a kapcsolat létrehozása (Connect) TCP kapcsolattal SSL titkosítást alkalmazva, tetszőleges adat feltöltése (SendData), letöltése (ReadData) az összes adat felügyeletét egy adatkezelő osztályra bízzuk (DataHandler), amely kezeli a táblákat (TableObject) a tábla, és annak sorainak, oszlopainak típusleírását külön osztályokra bízzuk (TableType, RowType, Column) a helyes formátum kialakítását külön osztályra bízzuk (DataFormat), amely ezt statikus műveletekkel végzi ELTE IK, Szoftvertechnológia 8:47

48 3. esettanulmány: statikus tervezés class DataSystem + IsUpdated :Boolean - IPAddress :String - Port :Int32 - ConnectionClient :TcpClient - Stream :SslStream «static» DataFormat Connection + Connection() + Connect() :void + Disconnect() :void + RefreshSettings() :void + CheckSettings() :void + SendData(String, System.Collections.Generic.Dictionary, String) :void + ReadData() :Boolean - OnCertificateValidation(object, X509Certificate, X509Chain, SslPolicyErrors) :Boolean «property» + IsConnected() :Boolean + Format(String, LocalDataType) :String + TypeOf(String) :LocalDataType - FormatToChar(String) :String - FormatToInteger(String) :String - FormatToFloat(String) :String - FormatToDate(String) :String - FormatTo (String) :String - FormatToGenre(String) :String - FormatToZipCode(String) :String - FormatToPhoneNr(String) :String - FormatToAccountNr(String) :String - FormatToFinancial(String) :String SettingsReader - InputFile :StreamReader + SettingsDate :String + amely :String - file :StreamReader - file :try = new StreamReade... + SettingsReader() «enumeratio... LocalDataType Text Char LargeText Integer BigInteger Float Date Genre Nation Town ZipCode PhoneNr IdentityNr AccountNr Financial +Type +Server «readonly» + Id :String + Name :String + Needed :Boolean + Type :LocalDataType + Description :String DataHandler + Tables :List<TableObject> - TableProperties :TableTypesData - Server :Connection + DataHandler(Connection) + NewTable(TableType) :void + NewTable(TableType, DataImporter) :void + NewTable(TableObject) :void + UploadTable(Int32) :void + CloseTable(Int32) :void + DeleteTable(Int32) :void + IsModified() :Boolean + IsModified(Int32) :Boolean + Close() :void «property» + TableCount() :Int32 + TempFileCount() :Int32 + TableTypes() :TableTypesData -TableProperties TableTypesData + Rows :List<RowType> - Types :List<TableType> + TableTypesData() - ProcessRow(String, SettingsReader) :void - ProcessTable(String, SettingsReader) :void «indexer» + this(int32) :TableType + this(string) :TableType «property» + TypeCount() :Int32 + RowCount() :Int32 «Serializable» Column + Column(String, String, Boolean, String, String) + Column(String, String, Boolean, LocalDataType, String) +Tables «Serializable» TableObject + TableDate :String + Rows :List<String[]> + Types :List<RowType> + IsModified :Boolean + Errors :Dictionary<Int32, String> «readonly» + FileName :String + Type :TableType + ColumnCount(Int32) :Int32 + TableObject(TableType) + TableObject(TableType, DataImporter) + Clear() :void + Delete() :void + NewRow() :void + NewRow(String[]) :void + NewRow(String[], RowType) :void + InsertRow(Int32, RowType) :void + InsertRows(Int32) :void + ModifyData(Int32, String[]) :void + ModifyData(Int32, Int32, String) :void + DeleteRow(Int32) :void + DeleteRows(Int32) :void - SaveData() :void + Format(TableType) :void «property» + Length() :bool + IsTempAvailable() :Boolean + IsOld() :Boolean +Rows -Columns +Types «Serializable» RowType - Columns :List<Column> «readonly» + Id :String + RowType() + RowType(String) + AddColumn(Column) :void «indexer» + this(int32) :Column «property» + ColCount() :Int32 -Rows «Serializable» TableType + Name :String +Type - Rows :List<RowType> - RowLength :List<Int32> + Description :String + VariedRowLength :Boolean «readonly» + Id :String -Types + TableType() + TableType(String) + TableType(String, String, String) + AddRow() :void + AddRow(RowType, Int32) :void + ModifyRow(Int32, RowType, Int32) :void + Length(Int32) :Int32 + RowTypeId(Int32) :Int32 + PrevId(Int32) :Int32 + NextId(Int32) :Int32 «indexer» + this(int32) :RowType «property» + RowCount() :Int32 + MaxColCount() :Int32 + TotalRowCount() :Int32 ELTE IK, Szoftvertechnológia 8:48

49 3. esettanulmány: statikus tervezés A felhasználói felület csomagja a felhasználói interakció kezelésére szolgál a felhasználói felület több ablakból, amelyeknek megfeleltetünk egy-egy osztályt, és minden benne szereplő vezérlőnek egy-egy eseménykezelő alprogramot tartalmazza az adatimportáló, illetve adatkezelő alrendszer hivatkozásait attribútumként a következő feladatra kellenek ablakok: indítóablak (StartForm), főablak (MainForm), beállítások (SettingsForm), új tábla létrehozása (NewTableForm), táblatípusok megjelenítése (TypesForm) ELTE IK, Szoftvertechnológia 8:49

50 3. esettanulmány: statikus tervezés class GUISystem FormItems - ID :Int32 - LoadPeriod :Boolean - Title :List<String> - Parent :MainForm - ButtonNewRow :List<Button> - ButtonDeleteRow :List<Button> - ButtonFormat :List<Button> - ButtonUpload :List<Button> + Tables :List<DataGridView> - Columns :List<List<DataGridViewColumn>> - Data :DataHandler + FormItems(MainForm, DataHandler) + Add(TabPage, String) :void + Remove(Int32) :void - Reload(Int32) :void + Resize() :void - ButtonNewRow_Click(object, EventArgs) :void - ButtonDeleteRow_Click(object, EventArgs) :void - ButtonFormat_Click(object, EventArgs) :void - ButtonUpload_Click(object, EventArgs) :void - Table_RowsAdded(object, DataGridViewRowsAddedEventArgs) :void - Table_CellValueChanged(object, DataGridViewCellEventArgs) :void - Table_RowEnter(object, DataGridViewCellEventArgs) :void + InsertRows(Int32) :void + DeleteRows(Int32) :void + Format(Int32) :void + Upload(Int32) :void - ButtonNewRow_Selected(object, EventArgs) :void - ButtonDeleteRow_Selected(object, EventArgs) :void - ButtonFormat_Selected(object, EventArgs) :void - ButtonUpload_Selected(object, EventArgs) :void - Table_Selected(object, EventArgs) :void - Table_CurrentCellChanged(object, EventArgs) :void - Tables :TableTypesData TypesForm + TypesForm(TableTypesData) - ComboTypeSelect_SelectedIndexChanged(object, EventArgs) :void -rtf + Selected :Int32 RowTypeForm NewTableForm - ColumnTypes :TableTypesData - Handler :DataHandler - Importer :DataImporter MainForm - Handler :DataHandler - TableControls :FormItems - Counter :Int32 Form + RowTypeForm(TableType) - ButtonOk_Click(object, EventArgs) :void Form + NewTableForm() + SetData(TableTypesData, DataHandler) :void - RadioImport_CheckedChanged(object, EventArgs) :void - ButtonListDir_Click(object, EventArgs) :void - RadioText_CheckedChanged(object, EventArgs) :void - RadioCsv_CheckedChanged(object, EventArgs) :void - RadioExcel_CheckedChanged(object, EventArgs) :void - ButtonCancel_Click(object, EventArgs) :void - TextPath_TextChanged(object, EventArgs) :void - ButtonOk_Click(object, EventArgs) :void - ComboTypes_SelectedIndexChanged(object, EventArgs) :void -Parent -new_table Form -idform -main_form + MainForm() -TableControls + MainForm(DataHandler) - MainForm_Resize(object, System.EventArgs) :void ~ AddQuickHelp(String) :void - MenuTabletypes_Click(object, EventArgs) :void - MenuSettings_Click(object, EventArgs) :void - MenuNewTable_Click(object, EventArgs) :void - MenuTableLoad_Click(object, EventArgs) :void Form - MenuCloseTable_Click(object, EventArgs) :void - MenuDeleteTable_Click(object, EventArgs) :void -tf - MenuTableAddRow_Click(object, EventArgs) :void -settings - MenuTableDeleteRow_Click(object, EventArgs) :void - MenuTableFormat_Click(object, EventArgs) :void - MenuTableUpload_Click(object, EventArgs) :void - MenuExit_Click(object, EventArgs) :void - MenuHelpAbout_Click(object, EventArgs) :void ImportRowIdForm - CurrentType :TableType - Data :DataImporter + IsSet :Boolean Form + ImportRowIdForm(TableType, DataImporter) - ButtonAllSame_Click(object, EventArgs) :void - ButtonAllDifferent_Click(object, EventArgs) :void - ButtonCancel_Click(object, EventArgs) :void - ButtonOk_Click(object, EventArgs) :void ETRImporterClient:: Program - Main() :void SettingsForm Form + SettingsForm() - ButtonClose_Click(object, EventArgs) :void - ButtonSave_Click(object, EventArgs) :void - ButtonBase_Click(object, EventArgs) :void - ButtonTableDirBrowse_Click(object, EventArgs) :void - ButtonTableFileBrowse_Click(object, EventArgs) :void StartForm + Handler :DataHandler + Entering :Boolean - Con :Connection - StartReady :Boolean -start - Loading :Timer - TickNr :Int32 Form + StartForm() - ButtonEnter_Click(object, EventArgs) :void - ButtonExit_Click(object, EventArgs) :void - ButtonSettings_Click(object, EventArgs) :void - Loading_Tick(object, EventArgs) :void ELTE IK, Szoftvertechnológia 8:50

51 3. esettanulmány: adatkezelés A rendszer működése során 4 ki-, és bemeneti csatornát használ: adatok lokális mentése a kliens programban: használjunk szérializációt, azaz az adattáblák adatait közvetlenül az objektumorientált felépítésnek megfelelően írjuk ki kommunikáció a kliens és a közvetítő között: használjunk szabványos TCP kapcsolatot, amelyen ASCII formátumú adatsorozatok tartalmazzák az adatokat az adatformátumokat leíró fájl, amely XML formátumban tárolja a különböző tábladefiníciókat, és sorszerkezeteiket adatok mentése az adatbázisba: definiáljuk a megfelelő átmeneti táblákat, valamint a feldolgozó tárolt eljárásokat ELTE IK, Szoftvertechnológia 8:51

52 3. esettanulmány: adatkezelés Hálózati kommunikáció: a kapcsolat során a kliens, illetve a közvetítő üzeneteket küldenek egymásnak a hálózaton keresztül, TCP kapcsolat segítségével, a kliens elküldi üzeneteit, majd adott ideig vár a válaszra a titkosítás érdekében az azonosító adatokra alkalmazzunk MD5 kódolást, illetve a csatorna kommunikációjára használjunk SSL protokollt a közvetítő állandóan hallgatózik a hálózaton, és várja az új üzenet megérkeztét, a beérkező üzenetek egymás után kerülnek feldolgozásra ELTE IK, Szoftvertechnológia 8:52

53 3. esettanulmány: adatkezelés adattovábbítás: a kliens üzenetek formájában küldi el a teljes táblát, benne az azonosító számával és a lekérdezés típusával amennyiben a kliens nem kap választ adott időn belül egy módosítás eltárolására, akkor a küldés sikertelen üzenetszintaxis: egy üzenetkóddal indul, amely megadja az üzenet típusát, a tartalmi elemeket ;-vel választjuk el egymástól Üzenetfajta Kód Üzenet szövege Felhasználó (kliens) 10 felhasználó név; beállítás dátum; bejelentkezés kérés Beállítás frissítés kérés 11 azonosító szám; ELTE IK, Szoftvertechnológia 8:53

54 3. esettanulmány: adatkezelés Adatbázis kommunikáció: a közvetítő csak a fenntartott táblákat használja az ETR adatbázisában, azok feldolgozását tárolt eljárások végzik a tárolt eljárások hiba, összeütközés, ellentmondás, vagy hiányzó adat esetén szemantikus hibát jeleznek (soronként), amelyet a közvetítő visszaküld a kliensnek minden adatformátum egy, vagy több saját táblával rendelkezik az adatkezeléshez ETR_IMPORTER_TEMP_<táblatípus név>_p<sorszám> elnevezés konvecióval ezen felül vannak állandó táblák, amelyek a rendszer működéséhez szükségesek ELTE IK, Szoftvertechnológia 8:54

55 3. esettanulmány: adatkezelés ELTE IK, Szoftvertechnológia 8:55

56 3. esettanulmány: dinamikus tervezés A kliens program indulási folyamata: kapcsolat létrehozása a közvetítővel, felhasználó bejelentkeztetése táblatípusok frissítése, amennyiben szükséges adatkezelő objektum inicializálása a kapcsolattal korábbról megmaradt táblák ellenőrzése és betöltése továbblépés engedélyezése, amennyiben a folyamat sikerrel járt, hibák esetén csak kiléptetés engedélyezése Sikertelen kapcsolódás, vagy adatforgalom esetén a kapcsolatépítés, és a táblatípus frissítés minden feltöltés kezdeményezésre megismétlődik ELTE IK, Szoftvertechnológia 8:56

57 3. esettanulmány: dinamikus tervezés sd Client Load Sequence Program StartForm Connection Timer DataHandler Load() Start() Open() Timer_Tick() opt [Connected] RefreshSettings() Create(con: Connection) Timer_Tick() Timer_Tick() Timer_Tick() CheckTables() opt [checktables() == true] NewTable() ButtonEnter.Enabled() Timer_Tick() ButtonExit.Enabled() ELTE IK, Szoftvertechnológia 8:57

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

Szoftvertechnológia 8. gyakorlat. Tervezés. Tervezés A szoftver életciklus Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 8. gyakorlat 2013.11.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A szoftver életciklus Minden szoftver

Részletesebben

3. Beadandó feladat dokumentáció

3. Beadandó feladat dokumentáció 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

Részletesebben

Programozási technológia II 3. előadás. Objektumorientált tervezés. 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.

Programozási technológia II 3. előadás. Objektumorientált tervezés. 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte. Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia II 3. előadás Objektumorientált tervezés 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Objektumok,

Részletesebben

Szoftvertechnológia 2. gyakorlat. Projektdefiníció és elemzés. 2013.09.16. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.

Szoftvertechnológia 2. gyakorlat. Projektdefiníció és elemzés. 2013.09.16. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte. Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 2. gyakorlat Projektdefiníció és elemzés 2013.09.16. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A szoftver

Részletesebben

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése. 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése. 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte. Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 8. előadás Szoftverrendszerek tervezése 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Models are not

Részletesebben

Programozási technológia 1.

Programozási technológia 1. ELTE-IK + st: boo ol Programozási technológia 1. 3. gyakorlat: Objektumorientált tervezés, az UML nyelv Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Objektumorientált programozás

Részletesebben

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

Models are not right or wrong; they are more or less useful. Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 8. előadás Models are not right or wrong; they are more or less useful. (Martin Fowler) 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

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

Models are not right or wrong; they are more or less useful. Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 8. előadás Models are not right or wrong; they are more or less useful. (Martin Fowler) Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

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

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 8. előadás Szoftverrendszerek tervezése Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Models are not right

Részletesebben

Programozási technológia 2.

Programozási technológia 2. Programozási technológia 2. Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Objektumok, osztályok Az objektumorientált tervezés során a rendszert az objektumok mentén építjük fel, ahol az objektum a a

Részletesebben

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

Eseményvezérelt alkalmazások fejlesztése I 10. előadás. Adatbázis-kezelés modell/nézet architektúrában. Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 10. előadás Adatbázis-kezelés modell/nézet architektúrában Giachetta Roberto http://people.inf.elte.hu/groberto

Részletesebben

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

Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés modell/nézet architektúrában Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 8. előadás Adatbázis-kezelés modell/nézet architektúrában 2013.04.17. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Adatok speciális megjelenítése

Adatok speciális megjelenítése Adatok speciális megjelenítése Speciális adatmegjelenítés Az adatok csoportos megjelenítéshez a nézet számos osztályt (QListView, QTableView, QTreeView) biztosít, amelyekből származtatással továbbiakat

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Adatkezelés speciális eszközökkel. Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Adatkezelés speciális eszközökkel. Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Adatkezelés speciális eszközökkel Giachetta Roberto http://people.inf.elte.hu/groberto Az adatkezelés

Részletesebben

Szoftvertechnológia 5. előadás. Objektumorientált tervezés: architektúra. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Szoftvertechnológia 5. előadás. Objektumorientált tervezés: architektúra. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 5. előadás Objektumorientált tervezés: architektúra Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Architecture

Részletesebben

2. Beadandó feladat dokumentáció

2. Beadandó feladat dokumentáció 2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk egy Sudoku játékprogramot. A Sudoku egy olyan 9 9-es táblázat, amelyet úgy kell a 0-9 számjegyekkel

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.

Részletesebben

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

Adatbázis-kezelés Access XP-vel. Tanmenet

Adatbázis-kezelés Access XP-vel. Tanmenet Adatbázis-kezelés Access XP-vel Tanmenet Adatbázis-kezelés Access XP-vel TANMENET- Adatbázis-kezelés Access XP-vel Témakörök Javasolt óraszám 1. Bevezetés az Access XP használatába 2 tanóra (90 perc)

Részletesebben

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

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1] Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1] T a r t a l o m j e g y z é k 1 Bevezetés... 3 1.1 A rendszer rövid leírása... 3 1.2 A dokumentum célja... 3 1.3 A rendszer komponensei... 3 1.4

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. MDI alkalmazás II. (Számla) Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 Számla felépítése fejléc tábla 2 Az alkalmazás

Részletesebben

1. beadandó feladat dokumentáció

1. beadandó feladat dokumentáció . beadandó feladat dokumentáció Készítette: Speeder Feladat: Készítsünk egy blogkezelő honlapot, amelyen a felhasználók saját blogokat vezethetnek. A weblap rendelkezzen az alábbi funkciókkal: A főoldalon

Részletesebben

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 5. előadás Objektumorientált programozás és tervezés 2014.03.10. Giachetta Roberto groberto@inf.elte.hu

Részletesebben

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes Hálózatok. 5. gyakorlat Számítógépes Hálózatok 5. gyakorlat PYTHON ALAPOK V. Socket programozás, UDP 2 Óra eleji kiszh Elérés: https://canvas.elte.hu Számítógépes Hálózatok Gyakorlat 1 3 A kommunikációs csatorna kétféle típusa

Részletesebben

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 3. előadás Objektumrelációs adatkezelés (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

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

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 a TávTagTár programhoz Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43 Tartalomjegyzék Futási feltételek... 3 Telepítés... 3 Indítás... 3 Főablak... 4 Új személy felvétele...

Részletesebben

3. Beadandó feladat dokumentáció

3. Beadandó feladat dokumentáció 3. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a közismert Tic-Tac-Toe játékra. Ebben a játékban a játékosok egy -as játékmezőn

Részletesebben

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ GIRODIRECT SZOLGÁLTATÁST IGÉNYBEVEVŐ ÜGYFELEKENEK Verzió: v1.04 Dátum: 2018. január 5. Készítette: A jelen dokumentum tartalma szerzői jogi védelem alatt áll, a mű

Részletesebben

Nyilvántartási Rendszer

Nyilvántartási Rendszer Nyilvántartási Rendszer Veszprém Megyei Levéltár 2011.04.14. Készítette: Juszt Miklós Honnan indultunk? Rövid történeti áttekintés 2003 2007 2008-2011 Access alapú raktári topográfia Adatbázis optimalizálás,

Részletesebben

Az SQL*Plus használata

Az SQL*Plus használata Az SQL*Plus használata Célkitűzés Bejelentkezés az SQL*Plus-ba SQL utasítások szerkesztése Az eredmény formázása SQL*Plus utasításokkal Szkriptfájlok használata Az SQL és az SQL*Plus kapcsolata SQL*Plus

Részletesebben

Objektumelvű programozás

Objektumelvű programozás Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 5. előadás. Windows Forms alkalmazások párhuzamosítása. Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése II 5. előadás. Windows Forms alkalmazások párhuzamosítása. Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 5. előadás Windows Forms alkalmazások párhuzamosítása Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Thermo1 Graph. Felhasználói segédlet

Thermo1 Graph. Felhasználói segédlet Thermo1 Graph Felhasználói segédlet A Thermo Graph program a GIPEN Thermo eszközök Windows operációs rendszeren működő grafikus monitorozó programja. A program a telepítést követően azonnal használható.

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Nézetek kezelése Sok esetben

Részletesebben

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, 2013. november 08.

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, 2013. november 08. HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL Budapest, 2013. november 08. 1. CÉLKITŰZÉS A fő cél, hogy az OL Munkaidő Rendszerből kinyert jelenlét

Részletesebben

2. Beadandó feladat dokumentáció

2. Beadandó feladat dokumentáció 2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző

Részletesebben

KAMIONIRÁNYÍTÓ RENDSZER

KAMIONIRÁNYÍTÓ RENDSZER KAMIONIRÁNYÍTÓ RENDSZER Bevezető A piaci igényeket figyelembe véve a Nádor Rendszerház Kft. kifejlesztett egy olyan kamionirányító rendszert, amely zökkenőmentes és gyors telephelyi kommunikációt tesz

Részletesebben

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

Név: Neptun kód: Pontszám: Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,

Részletesebben

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1 SZE INFORMATIKAI KÉPZÉS 1 ADATBÁZIS-KEZELÉS MS ACCESS 2010 A feladat megoldása során a Microsoft Office Access 2010 használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni: Adatok importálása

Részletesebben

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció H - 1161 Budapest Rákóczi út 76. Tel./Fax.: +36-1-4010159 http://www.pageos.hu toni@pageos.hu DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció A program használható a TOPOBASE

Részletesebben

FRISSÍTÉSI LEÍRÁS A WINIKSZ PROGRAMCSOMAGHOZ

FRISSÍTÉSI LEÍRÁS A WINIKSZ PROGRAMCSOMAGHOZ FRISSÍTÉSI LEÍRÁS A WINIKSZ PROGRAMCSOMAGHOZ Az átalánydíjas szerződésben foglaltak alapján a programcsomagot a mindenkori jogszabályoknak megfelelően folyamatosan fejlesztjük. A program újabb verziói

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:

Részletesebben

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv Tartalomjegyzék 1. Symbian rendszer...2 1.1 Funkciók és követelmények...2 1.2 Telepítés és használat...2 2. Windows Mobile rendszer...6 2.1

Részletesebben

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Nézetek

Részletesebben

2. Beadandó feladat dokumentáció

2. Beadandó feladat dokumentáció 2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző

Részletesebben

Programozás II. ATM példa Dr. Iványi Péter

Programozás II. ATM példa Dr. Iványi Péter Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

ABAP dictionary objektumok SAP adatmodell Táblák kezelése. Az SAP programozása 1. Tarcsi Ádám

ABAP dictionary objektumok SAP adatmodell Táblák kezelése. Az SAP programozása 1. Tarcsi Ádám ABAP dictionary objektumok SAP adatmodell Táblák kezelése Az SAP programozása 1. Tarcsi Ádám 1. Data dictionary Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 2 Adat modellezés az SAP-ban Adatmodellezés

Részletesebben

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész Java Programozás 6. Gy: Java alapok Adatkezelő 2.rész 25/1 B ITv: MAN 2018.04.13 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki a Lista panelt - Betöltéskor olvassuk be az adatokat

Részletesebben

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com Adatelemzés SAS Enterprise Guide használatával Soltész Gábor solteszgabee[at]gmail.com Tartalom SAS Enterprise Guide bemutatása Kezelőfelület Adatbeolvasás Szűrés, rendezés Új változó létrehozása Elemzések

Részletesebben

Adatbázis, adatbázis-kezelő

Adatbázis, adatbázis-kezelő Adatbázisok I. rész Adatbázis, adatbázis-kezelő Adatbázis: Nagy adathalmaz Közvetlenül elérhető háttértárolón (pl. merevlemez) Jól szervezett Osztott Adatbázis-kezelő szoftver hozzáadás, lekérdezés, módosítás,

Részletesebben

C#---Access adatbáziskezelési gyakorlat

C#---Access adatbáziskezelési gyakorlat C#---Access adatbáziskezelési gyakorlat 1. Feladat: adatbázis kezelő alkalmazás készítése C# környezetben, Access adatbázist használva. 2. Minta adatbázis létrehozása ACCESS-ben 3. A Projekt létrehozása

Részletesebben

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

NAV online számla regisztráció SAP rendszerhez

NAV online számla regisztráció SAP rendszerhez Szapporta Megoldások NAV online számla regisztráció SAP rendszerhez NAV online számla regisztráció SAP rendszerhez Áttekintés 2018. július 1-jétől kötelező NAV online számla-adatszolgáltatás Rövid határidő

Részletesebben

Felhasználói segédlet a Web of Knowledge / Web of Science adatbázis használatához

Felhasználói segédlet a Web of Knowledge / Web of Science adatbázis használatához Felhasználói segédlet a Web of Knowledge / Web of Science adatbázis használatához Az adatbázis elérése, regisztrálás, belépés Az adatbázis az arra jogosult intézmények és felhsználói kör számára a http://eisz.om.hu

Részletesebben

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

Választó lekérdezés létrehozása Választó lekérdezés létrehozása A választó lekérdezés egy vagy több rekordforrásból származó adatokat jelenít meg. A választó lekérdezések a táblák, illetve az adatbázis tartalmát nem változtatják meg,

Részletesebben

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL ) Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.

Részletesebben

Az ErdaGIS térinformatikai keretrendszer

Az ErdaGIS térinformatikai keretrendszer Az ErdaGIS térinformatikai keretrendszer Két évtized tapasztalatát sűrítettük ErdaGIS térinformatikai keretrendszerünkbe, mely moduláris felépítésével széleskörű felhasználói réteget céloz, és felépítését

Részletesebben

Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET)

Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 7. előadás Autentikáció és autorizáció (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Szoftverek tesztelése 2014 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

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

Felhasználói segédlet a Scopus adatbázis használatához Felhasználói segédlet a Scopus adatbázis használatához Az adatbázis elérése, regisztrálás, belépés Az adatbázis címe: http://www.scopus.com Az adatbázis csak regisztrált, jogosultsággal rendelkező intézmények,

Részletesebben

DebitTray program Leírás

DebitTray program Leírás DebitTray program Leírás Budapest 2015 Bevezetés Egy-egy kintlévőséghez tartozó határidő elmulasztásának komoly következménye lehet. Éppen ezért a Kintlévőség kezelő program főmenü ablakában a program

Részletesebben

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver Felhasználói leírás verzió: 1.0 1 TARTALOMJEGYZÉK 1. BEVEZETÉS... 3 2. ALAPKÉPERNYŐ... 3 3. MENÜSZERKEZET... 3 4. DOKUMENTUM ALÁÍRÁSA... 4

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Dinamikus modell Tevékenységdiagram, Együttműködési diagram, Felhasználói esetek diagramja Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Tevékenység diagram A tevékenység (vagy

Részletesebben

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

Részletesebben

AWK programozás Bevezetés

AWK programozás Bevezetés 09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá

Részletesebben

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Felhasználói leírás a DimNAV Server segédprogramhoz ( ) Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6

Részletesebben

Számítógépes Hálózatok GY 3-4.hét

Számítógépes Hálózatok GY 3-4.hét Számítógépes Hálózatok GY 3-4.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu 1 Teszt canvas.elte.hu Kód:

Részletesebben

Adatbáziskezelés M/V architektúrában

Adatbáziskezelés M/V architektúrában Adatbáziskezelés M/V architektúrában Adatkezelés háromrétegű architektúrában Amikor a memóriában tárolunk és manipulálunk egy adathalmazt (adatmodell), amelyet rendszeresen szinkronizálunk a perzisztenciával,

Részletesebben

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010. Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010. május 1. BEVEZETÉS Az útmutató célja az Országos Területrendezési

Részletesebben

ELTE, Informatikai Kar december 12.

ELTE, Informatikai Kar december 12. 1. Mi az objektum? Egy olyan változó, vagy konstans, amely a program tetszőleges pontján felhasználható. Egy olyan típus, amelyet a programozó valósít meg korábbi objektumokra alapozva. Egy olyan változó,

Részletesebben

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

Vizuális és eseményvezérelt programozás , II. félév BMF NIK Vizuális és eseményvezérelt programozás 2006 2007, II. félév BMF NIK MDI szövegszerkesztő Az SDI és az MDI Szülő- és gyermekablakok Menürendszer MDI alkalmazáshoz A gyermekablakok elrendezése RichTextBox

Részletesebben

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

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 A Portál rendszer felületének általános bemutatása Felhasználói útmutató Támogatott böngészők Internet Explorer 9+ Firefox (legújabb verzió) Chrome (legújabb verzió) Felületek felépítése Információs kártyák

Részletesebben

Alkalmazott Modul III 6. gyakorlat. Objektumorientált programozás: öröklődés és polimorfizmus

Alkalmazott Modul III 6. gyakorlat. Objektumorientált programozás: öröklődés és polimorfizmus Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. gyakorlat : öröklődés és polimorfizmus 2011.10.25. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Cisco Catalyst 3500XL switch segédlet

Cisco Catalyst 3500XL switch segédlet Cisco Catalyst 3500XL switch segédlet A leírást készítette: Török Viktor (Kapitány) GAMF mérnökinformatikus rendszergazda FOSZK hallgató, Hálózatok II. tárgy Web: http://prog.lidercfeny.hu/ Források: Medgyes

Részletesebben

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3 Tartalomjegyzék 1. BEVEZETŐ... 2 2. RENDSZER FELÉPÍTÉSE... 3 2.1. FELÜLET... 3 2.2. FELHASZNÁLÓI FUNKCIÓK... 4 2.2.1. Modulok... 4 2.2.2. Előzmények... 4 2.2.3. Lekérdezés működése, beállítások... 5 2.2.4.

Részletesebben

3. Osztályok II. Programozás II

3. Osztályok II. Programozás II 3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt

Részletesebben

ServiceTray program Leírás

ServiceTray program Leírás ServiceTray program Leírás Budapest 2015 Bevezetés szerviz munkalapok státuszai a Törölve és Lezárva státuszt leszámítva a munkalap különböző nyitott állapotát jelzik, melyek valamilyen tevékenységet jeleznek.

Részletesebben

Szerver oldali Java programozás 2007-08/II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése. szenasi.sandor@nik.bmf.

Szerver oldali Java programozás 2007-08/II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése. szenasi.sandor@nik.bmf. Szerver oldali Java programozás 2007-08/II. 1. óra Elemkönyvtárak Elemkönyvtárak használata Saját elemkönyvtár készítése szenasi.sandor@nik.bmf.hu Adatbázisok elérése Témakörök Elemkönyvtárak használata

Részletesebben

ZH mintapélda. Feladat. Felület

ZH mintapélda. Feladat. Felület ZH mintapélda Feladat Írjon Java alkalmazást, amely képes hallgatók rekordjaittárolni és azokat különbözo rendezo kulcsok szerint sorba rendezni. A program grafikus felhasználói felületén keresztül új

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté. Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Készült Giachetta Roberto jegyzete alapján

Részletesebben

Zimbra levelező rendszer

Zimbra levelező rendszer Zimbra levelező rendszer Budapest, 2011. január 11. Tartalomjegyzék Tartalomjegyzék... 2 Dokumentum információ... 3 Változások... 3 Bevezetés... 4 Funkciók... 5 Email... 5 Társalgás, nézetek, és keresés...

Részletesebben

TERC V.I.P. hardverkulcs regisztráció

TERC V.I.P. hardverkulcs regisztráció TERC V.I.P. hardverkulcs regisztráció 2014. második félévétől kezdődően a TERC V.I.P. költségvetés-készítő program hardverkulcsát regisztrálniuk kell a felhasználóknak azon a számítógépen, melyeken futtatni

Részletesebben

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 1. Előkészítés Access adatbázis lemásolása, ODBC DSN létrehozása Másoljuk le az alábbiakat: Mit Honnan Hova list.mdb p:\johanyák Csaba\Vizualis programozas\data\

Részletesebben

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

Haladó irodai számítógépes képzés tematika Haladó irodai számítógépes képzés tematika Word haladó Haladó szövegszerkesztés Szöveg effektusok alkalmazása Az automatikus javítási beállítások használata Szöveg körbefuttatása, szövegtörés A szövegirány

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté

Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 10. előadás Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Tesztelés

Részletesebben

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla 1. Az adatbázistábla létrehozása a, Ha még nem hoztunk létre egy adatbázistáblát sem, akkor a jobb egérrel a DDIC-objekt. könyvtárra kattintva, majd a Létrehozás és az Adatbázistábla menüpontokat választva

Részletesebben

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

Felhasználói segédlet a Scopus adatbázis használatához Felhasználói segédlet a Scopus adatbázis használatához Az adatbázis elérése, regisztrálás, belépés Az adatbázis címe: http://www.scopus.com Az adatbázis csak regisztrált, jogosultsággal rendelkező intézmények,

Részletesebben

Programozási technológia II 2. előadás. Specifikáció és követelménymenedzsment

Programozási technológia II 2. előadás. Specifikáció és követelménymenedzsment Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia II 2. előadás Specifikáció és követelménymenedzsment 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények 1. sz. melléklet MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS A) Műszaki követelmények A körkereső szoftvernek (a továbbiakban Szoftver) az alábbi követelményeknek kell megfelelnie

Részletesebben

ESZR - Feltáró hálózat

ESZR - Feltáró hálózat ESZR - Feltáró hálózat ERDŐGAZDÁLKODÁS/FELTÁRÓ HÁLÓZAT Bevezetés Az erdészeti tevékenységeket támogató technológiák folyamatos fejlődésével szükségessé válik az erdőfeltárás, az erdőfeltáró hálózatok -

Részletesebben

ContractTray program Leírás

ContractTray program Leírás ContractTray program Leírás Budapest 2015 Bevezetés Egy-egy szerződéshez tartozó határidő elmulasztásának komoly gazdasági következménye lehet. Éppen ezért a Szerződés kezelő program főmenü ablakában a

Részletesebben

Felhasználói útmutató CVR mobil kliens, ios rendszerhez.

Felhasználói útmutató CVR mobil kliens, ios rendszerhez. Felhasználói útmutató CVR mobil kliens, ios rendszerhez. Működési feltételek A felhasználói útmutató ios V7.0.4 verziószámú operációs rendszer felhasználásával készült. Az applikáció telepítése 1. Az App

Részletesebben

Felhasználói kézikönyv - Android kliens

Felhasználói kézikönyv - Android kliens Felhasználói kézikönyv - Android kliens Tartalom Telepítés Indítás Fő képernyők Térkép Rétegválasztó ablak Kilépés Keresés Lista Részletek Telepítés Az Élő Berek Android alkalmazás letölthető a www.e-berek.hu

Részletesebben