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



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

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

Programozási technológia II 3. előadás. Objektumorientált tervezés Giachetta Roberto

Előzmények

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

A rendszert négy komponensből építjük fel, amelyek a következők:

Bánsághi Anna 1 of 67

Modellalkotás UML-ben

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

A SZOFTVERTECHNOLÓGIA ALAPJAI

Hálózatkezelés: Távoli elérés szolgáltatások - PPP kapcsolatok

Programozási technológia 2.

Rendszerterv. 1. Funkcionális terv Feladat leírása:

ERserver. iseries. Szolgáltatási minőség

.NET Microsoft.Net Framework

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Verziószám: 1.0. Kiadás időpontja: MÁSOLATKÉSZÍTÉSI REND

Komponens modellek. 3. Előadás (első fele)

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

!!" KÉSZÍTK: ERDÉLYI LAJOS KOLLÁR NÁNDOR WD6OGW BUK8Y7

eseményvezérelt megoldások Vizuális programozás 5. előadás

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

MVC. Model View Controller

3. Beadandó feladat dokumentáció

A földi ellenôrzô berendezésekben alkalmazott programozási technikák

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

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Ismeretanyag Záróvizsgára való felkészüléshez

ÓBUDAI EGYETEM Neumann János Informatikai Kar Informatikai Rendszerek Intézet Témavezető: Bringye Zsolt

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

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

A KEOP-1.1.1/C/

ELEKTRONIKUS MÁSOLATKÉSZÍTÉSI SZABÁLYZAT ÉS MÁSOLATKÉSZÍTÉSI REND

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

Csoport neve: Kisiskolások Feladat sorszáma: 2. Feladat címe: Oktatási intézmény honlapja, oktatási naplóval. E-Project.

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

JAVA webes alkalmazások

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

Welcome3 Bele pteto rendszer

Bevezetés a Symbian operációs rendszerbe

Elektronikus közhiteles nyilvántartások Megvalósítási tanulmány

10. évfolyam 105 óra azonosító számú Hálózatok, programozás és adatbázis-kezelés 105 óra Adatbázis- és szoftverfejlesztés gyakorlat tantárgy

I: Az értékteremtés lehetőségei a vállalaton belüli megközelítésben és piaci szempontokból

P-GRADE fejlesztőkörnyezet és Jini alapú GRID integrálása PVM programok végrehajtásához. Rendszerterv. Sipos Gergely

Cégismerteto. Ez így kicsit tömören hangzik, nézzük meg részletesebben, mivel is foglalkozunk!

2. fejezet Hálózati szoftver

Ügyfélkezelési és mobil nyomtatási megoldások

Programozási technológia

Bánsághi Anna Bánsághi Anna 1 of 54

KETTŐS KÖNYVELÉS PROGRAM CIVIL SZERVEZETEK RÉSZÉRE

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

KIBOCSÁTÓI TÁJÉKOZTATÓ V 1.0. Tájékoztató anyag az elektronikus számlakibocsátói oldal számára

Árajánlat. Feladó: Prokopp Iván Anteus Kft.

UML (Unified Modelling Language)

Akooperatív tanulás-tanítás folyamatában a pedagógus feladata a tanulás megfelelõ

1. oldal, összesen: 29 oldal

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

1. Funkcionális terv Feladat leírása: 1.2. Rendszer célja, motivációja:

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

INFORMATIKA 5. évfolyam

A rendszerek folyamatlogikai rendje

INFORMATIKAI ALAPISMERETEK

Hatékony útüzemeltetés a Magyar Közút hálózatán informatikai fejlesztésekkel

Book Template Title. Author Last Name, Author First Name

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Intézményi interface technikai dokumentáció

Rendszerfelügyelet Logikai partíciók

Java programozási nyelv 8. rész Grafikus felhasználói felület

DUNAÚJVÁROSI FŐISKOLA

Gyakorlati vizsgatevékenység A

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

WEBES ALKALMAZÁSOK TERVEZÉSE, FEJLESZTÉSÉNEK MENETE. Tarcsi Ádám

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Informatika stratégia. OM azonosító:

Eddig még nem használt vezérlőket is megismerünk: PlaceHolder, RadioButtonList.

MemoLuX Kft. MINİSÉGÜGYI KÉZIKÖNYV. Jelen példány sorszáma: 0. Verzió: Lapszám: Fájlnév: 4/0 1/30 MMKv4.doc

INFORMATIKAI FELADATOK ÉS IR MŰKÖDTETÉS

Ubuntu Desktop a zsebedben

A szoftver tesztelés alapjai

Tesztelés fázisai. Passed Informatikai Kft december 4

Objektum orientált alapelvek

SZAKKÉPZÉSI KERETTANTERV a(z) MULTIMÉDIA-ALMAZÁSFEJLESZTŐ SZAKKÉPESÍTÉS-RÁÉPÜLÉSHEZ

DSI működésre. tervezve. Hogyan fog kinézni a jövő informatikai infrastruktúrája? Egész szoftverrendszerek egy

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

Nemzeti Fejlesztési és Gazdasági Minisztérium támogatásával megvalósuló KKC-2008-V számú projekt B2CR ONLINE KOMMUNIKÁCIÓ

GS1 Logger for Staff. Felhasználói kézikönyv. Verzió 2.3, GS1 Logger Staff Felhasználói kézikönyv

Fejlesztési tapasztalatok multifunkciós tananyagok előállításával kapcsolatban Nagy Sándor

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Katona János SZIE Ybl Miklós Műszaki Főiskola, Budapest Ábrázolás és Számítástechnika Tanszék

Pályázati űrlap kitöltési útmutató az EGT és Norvég Finanszírozási Mechanizmusok pályázati kiírásaihoz

Jövő Internet - kutatások az elmélettől az alkalmazásig. Eredménykommunikációs kiadvány

Osztott alkalmazások fejlesztési technológiái Áttekintés

eopass Termék és szolgáltatás bemutató

Átírás:

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 A szoftverrendszer Szoftvernek nevezzük a program(ok), dokumentáció(k), konfiguráció(k), valamint adatok együttese mivel a megoldandó feladatok összetettek lehetnek, a megoldást nem feltétlenül egy program, hanem több program tudja megadni a végrehajtás során ezek a programok egymással kommunikálnak (adatot cserélnek) Egymással kommunikáló programok álkotta szoftvereket nevezzük szoftverrendszernek (software system) a rendszerben jelen lévő programokat nevezzük a rendszer komponenseinek (component) A szoftver komponens egy adott funkcionalitásért felelő, fizikailag elkülönülő része a rendszernek önállóan (újra)felhasználható, telepíthető belső működése rejtett, a kapcsolatot megfelelő felületen (interface) keresztül teremti meg szolgáltathat olyan funkcionalitást, amelyet más komponensek használnak fel, ehhez tartozik egy szolgáltatott felület (provided interface) felhasználhat más komponenseket, amelyek funkcionalitását egy elvárt felületen (required interface) keresztül érhetik el ELTE IK, Szoftvertechnológia 8:3 ELTE IK, Szoftvertechnológia 8:4 Egy szoftverrendszerben számos komponens található, pl. mobil alkalmazás, asztali alkalmazás, weblap (biztosítják a kapcsolatot a felhasználóval) webszolgáltatás (gondoskodik az adatok továbbításáról) adatbázis (gondoskodik az adatok megfelelő tárolásáról) asztali alkalmazás mobil alkalmazás weblap webszolgáltatás adatbázis Egy program is felbontható komponensekre, amennyiben egyes részeit újrafelhasználhatóvá szeretnénk tenni Egy program komponensei lehetnek: végrehajtható állomány (executable), amely biztosítja a belépési pontot az alkalmazásba programkönyvtár (library), amely adott funkcionalitások gyűjteménye (nem végrehajtható), objektumorientált környezetben osztályok gyűjteménye (class library) végrehajtható állomány programkönyvtár programkönyvtár ELTE IK, Szoftvertechnológia 8:5 ELTE IK, Szoftvertechnológia 8:6 1

Komponensdiagram A szoftverrendszer komponenseit UML komponensdiagram (component diagram) segítségével ábrázolhatjuk Komponensdiagram Pl.: ismerteti a rendszer komponenseit, a szolgáltatott/elvárt felületeket és a közöttük fennálló kapcsolatokat (connector) <szolgáltatott felület> <elvárt felület> <komponens> <komponens> <kapcsolat> a komponens diagramnak osztálydiagram elemeket is elhelyezhetünk (pl. felület külön megjeleníthető) ELTE IK, Szoftvertechnológia 8:7 ELTE IK, Szoftvertechnológia 8:8 A szoftverrendszerek komponensei akár különböző hardver eszközökre is kihelyezhetőek, amelyeken interakcióba lépnek a környezetükkel (más szoftverekkel) A szoftverrendszert kihelyezési és környezeti szempontból az UML telepítési diagram (deployment diagram) ábrázolja ismerteti azon csomópontokat (node), amelyekre az egyes alkotóelemei (artifact) találhatóak <csomópont> <alkotóelem> <csomópont> <alkotóelem> A rendszer alkotóeleme lehet bármilyen, fizikailag elkülönülő tartozéka a szoftvernek pl. mobil alkalmazás, weblap, kódfájl, adatfájl, adatbázis, konfigurációs fájl a komponenseket jelölhetjük komponensként A rendszer csomópontja lehet: egy hardver eszköz (device), amelyen futtatjuk a szoftvert pl. mobiltelefon, szerver gép egy végrehajtási környezet (execution environment), amely biztosítja szoftverek futtatását, pl. webszerver, virtuális gép, adatbázis-kezelő ELTE IK, Szoftvertechnológia 8:9 ELTE IK, Szoftvertechnológia 8:10 Pl.: Adatformátumok A szoftverrendszer tervezése (system design) mellett foglalkoznunk kell a rendszer által kezelt adatok kezelésének módjával, formátumának meghatározásával, ez az adat tervezés (data design) minden, a szoftver (vagy komponensei) számára bemenetként, vagy kimenetként szolgáló adat formátumát, felépítését meg kell adnunk (pl. adatfájl, adatbázis, konfigurációs fájl, felhasználó által letölthető adatok) összetett adatok esetén támaszkodhatunk létező formátumokra (pl. CSV, XML, JSON), vagy létrehozhatunk egyedi formátumot ELTE IK, Szoftvertechnológia 8:11 ELTE IK, Szoftvertechnológia 8:12 2

: Készítsük el Marika néni kávézójának eladási nyilvántartását végigkövető programot. a kávézóban 3 féle étel (hamburger, ufó, palacsinta), illetve 3 féle ital (tea, narancslé, kóla) 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 rendeléseket kell kezelnünk, amelyben tetszőleges tétel szerepelhet, illetve a rendelés tartozhat egy törzsvásárlóhoz a program egy komponensben valósul meg, egy személyi számítógépen fog futni a program közvetlenül az operációs rendszeren fut, nincs külön igénye a végrehajtási környezetre a program az adatokat egy fájlban (coffeshop.dat) szöveges formában fogja tárolni lehetőségünk van utólagosan lekérdezni a függőben lévő rendeléseket, valamint napi, havi és törzsvásárolói számra összesített nettó/bruttó fogyasztást ELTE IK, Szoftvertechnológia 8:13 ELTE IK, Szoftvertechnológia 8:14 a fájlban rendelések következnek egymás után, minden rendelésnél adott az azonosító, a dátum, a törzsvásárolói kártya száma (vagy 0, amennyiben nincs) és a tételek száma a rendelés utána felsoroljuk a tételeket, minden tételnél megadjuk a típust (ehhez elég egy karakter) amennyiben a tétel egy étel, akkor rögzítjük a pontos nevet, illetve a bruttó árat CSV formátumnak megfelelően a fájlban a tartalmi elemeket (rendelés, tétel) sortörés választja el, a soron belül a tartalmat pontosvessző segítségével választjuk el ELTE IK, Szoftvertechnológia 8:15 a fájl szerkezetének sémája: <rendelés azonosító>;<dátum>;<törzsv. szám>; <tételek száma> <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ó>;<dátum>;<törzsv. szám>; <tételek száma> pl.: 184601;2015-11-11;73;2 h;béke;800 t ELTE IK, Szoftvertechnológia 8:16 : Készítsünk egy Memory kártyajátékot, amelyben két játékos küzd egymás ellen. A játékmezőn kártyapárok találhatóak, és a játékosok feladata ezek megtalálása. a játékban választhatunk kártyacsomagot, a játékosok megadhatják neveiket, valamint a játék méretét (kártyák száma) a program egy komponensben valósul meg, egy személyi számítógépen fog futni, és igényli a QT keretrendszer meglétét a program a kártyacsomagok képeit külön tárolja a játékosok felváltva lépnek, minden lépésben felfordíthatnak két kártyát, amennyiben egyeznek, úgy felfordítva maradnak és a játékos ismét léphet, különben 1 másodperc múlva visszafordulnak a játékot az nyeri, aki több kártyapárt talált ELTE IK, Szoftvertechnológia 8:17 ELTE IK, Szoftvertechnológia 8:18 3

minden kártyacsomagnak van egy neve, valahány lapja, illetve egy hátoldala, ezeket képfájlban, PNG formátumban tároljuk a kártyacsomagokat könyvtáranként helyezzük el, minden könyvtárban található egy szöveges fájl (name.txt), amely tartalmazza a csomag nevét a hátlapot egy fájlban (back.png) tároljuk, ez sosem változik az előlapok fájljait sorszámozzuk (<sorszám>.png), és feltételezzük, hogy minden fájl más képet tartalmaz ELTE IK, Szoftvertechnológia 8:19 : Készítsük el egy utazási ügynökség apartmanokkal foglalkozó rendszerét. az apartmanok épületekben találhatóak, amelyek városokban találhatóak az épületek különböző adatokkal (leírás, szolgáltatások, pontos hely, tengerpart távolság, ), valamint képekkel rendelkeznek a felhasználók egy webes felületen keresztül foglalhatnak apartmanokat (adataik, valamint a foglalás időpontja megadásával), amelyeket városok szerint böngészhetnek a munkatársak egy grafikus felületű alkalmazásban szerkeszthetik az apartmanok adatait, képeit ELTE IK, Szoftvertechnológia 8:20 Használati esetek: Tervezés (komponensek, telepítés): a rendszerben található egy webes, valamint egy adminisztrációs kliens, amelyet külön alkalmazások valósítanak meg a webes kliens egy weblap, amelyet egy webszerverrel futtatunk, és ASP.NET keretrendszer segítségével valósítjuk meg az adminisztrációs kliens egy asztali alkalmazás, amelyet.net keretrendszerben valósítunk meg, ezért a.net virtuális gépe (CLR) futtatja ELTE IK, Szoftvertechnológia 5:21 ELTE IK, Szoftvertechnológia 8:22 Tervezés (komponensek, telepítés): Tervezés (komponensek): a két alkalmazás közös adatokat használ, amelyeket relációs adatbázisban tárolunk, ehhez MSSQL-t használunk a weblap és az adatbázis egy közös szerveren helyezkedik el, így a weblap közvetlenül hozzáfér az adatbázishoz az asztali alkalmazás más számítógépen fog futni, ezért biztonsági okokból nem férhet hozzá közvetlenül az adatbázishoz, a hozzáféréshez közbeiktatunk egy webszolgáltatást A webszolgáltatást egy webszerverrel futtatjuk, és ASP.NET WebAPI keretrendszer segítségével valósítjuk meg ELTE IK, Szoftvertechnológia 8:23 ELTE IK, Szoftvertechnológia 8:24 4

az adatbázisban a következő séma szerint tároljuk az adatokat: 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 vane; ügyfelek (customer): azonosító, név; ELTE IK, Szoftvertechnológia 8:25 ELTE IK, Szoftvertechnológia 8:26 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:27 ELTE IK, Szoftvertechnológia 8:28 felépítése: 1. előszó (célközönség, dokumentum-történet) 2. bevezetés (szoftver célja, helye, szükségessége, előnyei, fejlesztési módszertan) 3. fogalomtár (technikai áttekintés) 4. rendszer architektúra (magas szintű áttekintés, UML csomag-, komponens-, állapotdiagram) architektúrális minták funkcionális megfeleltetés 5. adat tervezés (adatformátumok leírása) felépítése: 6. rendszer tervezés (alacsony szintű áttekintés) statikus terv (UML osztály-, objektumdiagram) dinamikus terv (UML állapot-, szekvencia- és aktivációs diagram) interfész leírás felhasznált algoritmusok és minták 7. felhasználói felület (áttekintés, felületi terv) 8. implementációs ajánlások 9. függelék (pl. adatbázis terv, becsült hardver szükségletek) 10. tárgymutató ELTE IK, Szoftvertechnológia 8:29 ELTE IK, Szoftvertechnológia 8:30 5