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

Hasonló dokumentumok
3. Beadandó feladat dokumentáció

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

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

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. gyakorlat. Tervezés. Tervezés A szoftver életciklus

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

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

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

Programozási technológia 2.

Szoftvertechnológia 2. előadás. Specifikáció és követelménymenedzsment. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Szerepjáték Project Story of my life

PHP-MySQL. Adatbázisok gyakorlat

Playlist.hu Kiadói kézikönyv

Az ErdaGIS térinformatikai keretrendszer

Szoftvertechnológia 2. előadás. Every big computing disaster has come from taking too many ideas and putting them in one place.

Gyakorlati vizsgatevékenység A

Microsoft SQL Server telepítése

KAMIONIRÁNYÍTÓ RENDSZER

A CCL program használatbavétele

Gyakorlati vizsgatevékenység B

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

ALKALMAZÁSOK ISMERTETÉSE

Nyilvántartási Rendszer

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.

Aranykor Önkéntes Nyugdíjpénztár Partner Portál

Szakdolgozati, TDK témajavaslatok

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

Jogtár szolgáltatás elérése otthonról, Windows XP alól

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

Zimbra levelező rendszer

BaBér bérügyviteli rendszer telepítési segédlete év

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

Egyetemi könyvtári nyilvántartó rendszer

Technikai információk fejlesztőknek

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

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Személyügyi nyilvántartás szoftver

Labor leletező program

DOAS data export. DOAS data export Budapest, Egressy út Telefon: ; fax: DOAS_data_export_v01.

01. gyakorlat - Projektalapítás

Mikroszámla. Interneten működő számlázóprogram. Kézikönyv

Felhasználói útmutató

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

Gyakorlati vizsgatevékenység B

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

SuliStat felhasználói dokumentáció

Egyetemi könyvtári nyilvántartó rendszer

GalyaTető Grand Hotal nyilvántartási rendszer

ELTE, Informatikai Kar december 12.

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

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Hálózatos beállítás. A Novitax ügyviteli programrendszerek hálózatos beállítása a következők alapján történhet:

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

Könyvtári kölcsönzések kezelése

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

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP B) Kern Zoltán Közoktatási szakértő

VARIO Face 2.0 Felhasználói kézikönyv

HecPoll a vezérlő rendszer

KIRA. KIRA rendszer. Telepítési útmutató v1

ServiceTray program Leírás

Mobil Partner telepítési és használati útmutató

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

DebitTray program Leírás

Szolgáltatási szint megállapodás

A WORDPRESS TELEPÍTÉSÉNEK LÉPÉSEI

Gyakorlati vizsgatevékenység A

Suzuki elektronikus szállítólevél import

Hiteles Elektronikus Postafiók

Követelmények és feladatleírás

ContractTray program Leírás

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

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

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Számítógépes munkakörnyezet II. Szoftver

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont

Duál Reklám weboldal Adminisztrátor kézikönyv

GráfRajz fejlesztői dokumentáció


Sú gó az ASIR/PA IR Públikús felú lethez

IP Thermo for Windows

PartSoft Informatikai Kft. KÖNNY felhasználói kézikönyv 1 Általános információk Számítástechnikai alapok Felhasználói ismeretek...

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

NEPTUN kézikönyv első éves hallgatóknak

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

Leolvasói rendszer kialakításának koncepciója ipari mobil eszközökkel (ipari PDA-val)

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

Átfogó megoldás a számlafolyamatok felgyorsításához ELO DocXtractor. Laczkó Kristóf ELO Digital Office Kft. Bálint András Prognax Kft.

PRECÍZ Információs füzetek

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

Rendszerkezelési útmutató

hardver-szoftver integrált rendszer, amely Xwindow alapú terminálokat szervez egy hálózatba

WIN-TAX programrendszer hálózatban

Hungaropharma Zrt. WEB Áruház felhasználói útmutató. Tartalomjegyzék

Intelligens biztonsági megoldások. Távfelügyelet

Tisztelt Ügyfelünk! Ezúton szeretnénk tájékoztatni, hogy a következő modulokból került fel frissítés az internetre:

GLS címke kezelő bővítmény GLS online-hoz

Bejelentkezés az egyetemi hálózatba és a számítógépre

Átírás:

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 é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 2:2

Projektdefiníció A projektdefiníció a feladat meghatározása és pontos leírása általában az előzetesen kapott feladatleírás nem elég pontos, nincs teljes mértékben átgondolva, ezért szükséges a pontosítás, a funkcionális követelmények rögzítése, az esetleges hibalehetőségek kiszűrése a projektdefiníciót lényegi változtatás nem érheti a tervezés és az implementáció során előfordulhatnak befolyásoló tényezők, pl. a felhasználó új igénnyel áll elő, vagy módosítja a felhasználás környezetét ebben az esetben új projektdefiníció készülhet (ez módosítja a költségeket, tervezést, stb.) ELTE IK, Szoftvertechnológia 2:3

Elemzés Az elemzés három fő lépésből áll, melyek sorban: környezeti elemzés (domain analysis): a szoftvert milyen környezetbe kell beépíteni, milyen hardveren és operációs rendszeren kell futnia, milyen további alkalmazásokkal kell együttműködnie szerkezeti elemzés (software elements analysis): milyen fő részekből áll a szoftver, azok milyen funkciókat biztosítanak, és miként működnek együtt egymással feltételek elemzése (requirements analysis): a fejlesztés megvalósíthatósága, erőforrás-, idő- illetve költségbecslése Az elemzésnek alaposan, és mindenre kitérőnek kell lennie ELTE IK, Szoftvertechnológia 2:4

Követelmény-specifikáció Ennek eredménye a szoftver követelmény-specifikációja (software requirements specification, SRS), amely tartalmazza: a szoftver áttekintését, célját a környezeti, hardver és szoftver szükségleteket, függőségeket, kommunikációs protokollokat, adatkezelést a nyújtott szolgáltatások, funkciók pontos listáját, a felhasználói esetek ismertetését a program minőségi mutatóit (megbízhatóság, elérhetőség, biztonság, karbantarthatóság, szállíthatóság, teljesítmény) a program fejlesztési folyamatának térképét (határidők, mérföldkövek, költségek) ELTE IK, Szoftvertechnológia 2:5

Felhasználói esetek A követelmény-specifikáció fontos része, hogy felhasználói szemszögből is tükrözze a funkcionális követelményeket, amelyeket felhasználói eseteknek (use case) nevezünk a felhasználói eset lépések sorozata egy felhasználói szerep (role) és a szoftver között egy adott cél elérése érdekében azt fejezi ki, hogy a felhasználó milyen funkciókat, milyen sorrendben, feltételek mellett érhet el a felhasználói esetek a tervezés során finomodhatnak, de alapvetően nem változnak az UML felhasználói esetek diagramja (Use Case Diagram) ábrázolja a rendszer, vagy egyes részeinek használatát ELTE IK, Szoftvertechnológia 2:6

Felhasználói esetek Pl.: Define area of interest Remote sensing expert «invokes» «invokes» Import cadastral data Import LiDAR data «invokes» «precedes» «precedes» Import orthophoto Verify cadastral record Create DSM Create DEM «precedes» «precedes» «precedes» «precedes» «precedes» Extract building contours Data fusion Compare building boundaries «precedes» «precedes» Classification «precedes» Segmentation ELTE IK, Szoftvertechnológia 2:7

1. esettanulmány: 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 2:8

1. esettanulmány: projektdefiníció A projektdefiníció során minden bizonytalan tényezőre pontos meghatározást kell kapnunk, pl.: Milyen felületen kell futnia, milyen beviteli lehetőségeket kell biztosítania? Konzol felületen, szöveges bevitel használatával. Milyen formában kell tárolnia és betölteni az adatokat? Szöveges fájlként, minden adatot egy közös fájlba kell mentenie, és betöltenie a fájlt a program megnyitásával Hány felhasználót kell kiszolgálnia? Csak egyet. A futtatás környezeteként megfelel egy menü? Igen. Lehessen korábbi beviteleket módosítani? Nem. ELTE IK, Szoftvertechnológia 2:9

1. esettanulmány: projektdefiníció Az italok árait eleve betölthetjük a programban? Igen. Milyen árai vannak az italoknak? Tea 200 Ft, kóla 300 Ft, narancslé 250 Ft. Az ételek esetén meg kell adnunk a pontos nevet? Igen. A projektdefiníció természetesen tényszerűen kerül leírásra a követelmény-specifikációban, pl.: az alkalmazás konzolos felhasználói felületet biztosít, illetve szövegszerű adatbevitelt. az ételek típusai, illetve az italok típusai, árai előre rögzítésre kerülnek, ezért módosításuk nem lehetséges. ELTE IK, Szoftvertechnológia 2:10

1. esettanulmány: elemzés Környezeti elemzés: a felhasználás helye egy egyszerű személyi számítógép, MS Windows 7 operációs rendszerrel az alkalmazásnak semmilyen egyéb szoftverrel nem kell együttműködni, illetve nem vesz igénybe hálózati kapcsolatot a felhasználója nem rendelkezik informatikai ismeretekkel Szerkezeti elemzés: mindössze egyetlen komponens szükséges, amely a megjelenítést, működést, illetve adatkezelést is magában foglalja ELTE IK, Szoftvertechnológia 2:11

1. esettanulmány: elemzés az adatok szöveges tartalmú fájlban kerülnek rögzítésre, amelynek kezelése automatizáltan történik (külsőleg nem szerkeszthető) Feltételek elemzése: a teljes alkalmazás várható fejlesztése ideje 15-16 emberóra a feladat csupán egy programozót vesz igénybe, aki rendelkezik az alapvető objektumorientált ismeretekkel, rendelkezésre állása, munkabére a fejlesztés Code::Blocks fejlesztőkörnyezetben történik, további szoftverekre nincs szükség a fejlesztés megvalósítható, várható elkészülte ELTE IK, Szoftvertechnológia 2:12

1. esettanulmány: követelmény-specifikáció (részletek) Szolgáltatások, funkciók: menü, amelyen keresztül elérhető új rendelés bevitele, a bruttó/nettó összeg megtekintése egy adott rendelésszámra, törzsvásárlói számra, vagy összesítve új rendelés bevitelénél megadhatóak az ételek, az italok, a sorszám, valamint a törzsvásárlói kártya száma az italokat csak ki kell választani, ételek esetén megadható a pontos megnevezés, illetve ár az adatok betöltése és mentése szöveges fájlba történik automatikusan a program indításakor, illetve bezárásakor ELTE IK, Szoftvertechnológia 2:13

1. esettanulmány: követelmény-specifikáció (részletek) Fejlesztési modell: vízesés modell Fejlesztési eszközök: C++ programozási nyelv, Code::Blocks Programozási modell: objektumorientált paradigma Minőségi mutatók: a program garantáltan hibátlan funkciókat biztosít, amennyiben az adatfájl nem sérül meg az adatfájl sérülése esetén a korábbi adatok elvesznek, de a további funkciók biztosítottak a program a hibás bemenetet le tudja kezelni ELTE IK, Szoftvertechnológia 2:14

1. esettanulmány: követelmény-specifikáció (részletek) Minőségi mutatók: a program memória és tárhely szükséglete a teljes adatmennyiséggel arányos a program csak a helyi gépen lesz elérhető, hálózatról nem az átadás a teljes program elkészültével történik meg, ezt követően a program használatba vehető a program a funkcionalitásait időkorlátozás nélkül biztosítja az adatmennyiség növekedése a program lassulásával jár, ezért meghatározott időködönként az adatok archiválása szükséges, amelyet a programozó elvégez (évi rendszerességgel, fix költséggel) ELTE IK, Szoftvertechnológia 2:15

1. esettanulmány: követelmény-specifikáció (részletek) Mérföldkövek: 1. Feladat: a program statikus felépítésének, valamint fájlformátumainak meghatározása Munkaidő: 6 emberóra Határidő: 2013. szeptember 28. Eredmény: dokumentáció 2. Feladat: a program menürendszerének, felhasználó felületének tervezése, megvalósítása Munkaidő: 4 emberóra Határidő: 2013. október 17. Eredmény: dokumentáció, valamint prototípus alkalmazás 3. Feladat: adatkezelés megvalósítása ELTE IK, Szoftvertechnológia 2:16

1. esettanulmány: követelmény-specifikáció (részletek) 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 2:17

1. esettanulmány: követelmény-specifikáció (részletek) uc Kávézó Kávézó Új rendelés Étel felvétele Ital felvétele felhasználó Rendelések lekérdezése Törzsvásárló Egy rendelés Összes rendelés ELTE IK, Szoftvertechnológia 2:18

2. esettanulmány: 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 2:19

2. esettanulmány: elemzés Környezeti elemzés: adott több (5-8) számítógép Windows (XP, 7, 8) operációs rendszerrel a gépek lokális hálózatba vannak kötve, és elérnek egy közös adatbázisszervert (MySQL) az alkalmazást adminisztrátori alkalmazottak kezelik Szerkezeti elemzés: az alkalmazás egy komponensből tevődik össze, amelyen belül elhatároljuk a megjelenítést a működési logikától (modell/nézet architektúra) ELTE IK, Szoftvertechnológia 2:20

2. esettanulmány: elemzés az alkalmazás több példányban fut, és az összes példány egy közös MySQL adatbázissal kommunikál, amely több táblából tevődik össze Feltételek elemzése: a teljes alkalmazás várható fejlesztése ideje 40-45 emberóra a feladat egy, vagy két programozót vesz igénybe, aki rendelkezik az alapvető objektumorientált, illetve eseményvezérelt fejlesztése ismeretekkel a fejlesztés Qt fejlesztőkörnyezetben történik, szükséges továbbá egy MySQL adatbázis-szerver klienssel a fejlesztés megvalósítható, várható elkészülte ELTE IK, Szoftvertechnológia 2:21

2. esettanulmány: követelmény-specifikáció (részletek) Szolgáltatások, funkciók: 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 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 ELTE IK, Szoftvertechnológia 2:22

2. esettanulmány: követelmény-specifikáció (részletek) Szolgáltatások, funkciók: 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 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 ELTE IK, Szoftvertechnológia 2:23

2. esettanulmány: követelmény-specifikáció (részletek) Fejlesztési modell: vízesés modell Fejlesztési eszközök: C++ programozási nyelv, Qt keretrendszer, Qt Creator fejlesztői környezet, MySQL adatbázis-kezelő, MySQL Workbench kliens Programozási modell: objektumorientált paradigma, eseményvezérelt vezérlést, modell/nézet architektúra Minőségi mutatók: a program garantálja, hogy csak jogosult felhasználók láthatják és kezelhetik az adatokat (a programon keresztül) a program biztosítja a párhuzamos hozzáférést az adatokhoz, a bevitt, illetve betöltött adatok ellenőrzését ELTE IK, Szoftvertechnológia 2:24

2. esettanulmány: követelmény-specifikáció (részletek) Minőségi mutatók: amennyiben az adatbázisbeli adatokat a programtól függetlenül módosítják, vagy a program kapcsolati hibák miatt nem megfelelő adatokat kap, semmi garanciát nem ad a program a helyes működésre a program gyors működése csak adatbázis-rekordig, illetve párhuzamosan 4-5 felhasználó bejelentkezésig garantált, ez után lassulás lesz tapasztalható a program és az adatbázis közötti kapcsolat nem titkosított, ezért külső használat esetén nincs garancia az adatok védettségére ELTE IK, Szoftvertechnológia 2:25

2. esettanulmány: követelmény-specifikáció (részletek) Mérföldkövek: 1. Feladat: az adatbázis-szerkezet meghatározása Munkaidő: 4 emberóra Határidő: 2013. szeptember 20. Eredmény: dokumentáció, adatbázis-szkript, teszt adatok 2. Feladat: a program statikus felépítésének meghatározása Munkaidő: 8 emberóra Határidő: 2013. október 10. Eredmény: dokumentáció 3. Feladat: grafikus képernyők (nem funkcionális) prototípusának elkészítése ELTE IK, Szoftvertechnológia 2:26

2. esettanulmány: követelmény-specifikáció (részletek) 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 2:27

2. esettanulmány: követelmény-specifikáció (részletek) uc TravelAgency Bejentkezés «precedes» Foglalás Foglalások listázása «precedes» Új foglalás Fizetés Felhasználó Adminisztráció Városok szerkesztése Szezonok szerkesztése Épületek szerkesztése Árak szerkesztése Apartmanok szerkesztése Felhasználók szerkesztése Ügyfelek szerkesztése ELTE IK, Szoftvertechnológia 2:28

3. esettanulmány: 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 2:29

3. esettanulmány: feladat a rendszernek tetszőleges számú felhasználó párhuzamos kezelését kell megoldania, így párhuzamosítani kell a program működését a megfelelő interakció végett a rendszernek grafikus felhasználói felülettel kell rendelkeznie biztonságos hálózati kapcsolatot kell kezelnie az adatbázis, illetve a felhasználók között a felhasználók azonosításával az ELTE hálózatán belül az adatok nem kerülhetnek közvetlenül az ETR adatbázisába, mivel még nem garantált az ellentmondás és hibamentességük, ezért az adatbázisnak egy átmeneti tárában kell elsőként elhelyezni ELTE IK, Szoftvertechnológia 2:30

3. esettanulmány: elemzés Környezeti elemzés: a rendszernek egy kliens-szerver architektúrában kell futnia a szerver rész két számítógép közös működése alkotja, mindkettőn Microsoft Windows Server 2003 fut az egyik gép biztosítja az adatbázismotort, amely Microsoft SQL Server 2005, az adatbázisról naponta készül biztonsági másolat a másik gép állandó, nagy sebességű kapcsolatban áll az adatbázissal, ezen bármilyen kiszolgáló folyamat futhat, és a rendszergazdák is ezt a gépet használják direkt módon a szerver gépek állandó üzemelése biztosított ELTE IK, Szoftvertechnológia 2:31

3. esettanulmány: elemzés a kliens gépeken Linux, vagy Windows XP (vagy újabb) operációs rendszerek futnak, a kliens nagy sebességű hálózaton keresztül csatlakozik a szerverhez az ELTE alhálózatán belül az egyetemi hálózaton kívül nem engedélyezhetjük a hozzáférést a rendszerhez akkor sem, ha a kliens megfelelő azonosításon megy át a kapcsolat állandósága nem garantált, a kliens bármikor futás közben leszakadhat a rendszerről, ezt a hibajelenséget kezelnünk kell a kapcsolati csatornát az adatok fontossága miatt az azonosítás mellett titkosítanunk is kell ELTE IK, Szoftvertechnológia 2:32

3. esettanulmány: elemzés Szerkezeti elemzés: Mivel a program közvetlenül nem kommunikálhat az adatbázissal, szükség van egy másik programra is, mely egy szerveren fut, és mely tényleges kapcsolatban áll az adatokkal, ez lesz a közvetítő program. Tehát két program szükséges a rendszer működéséhez: Kliens program: a helyi gépen fut, a felhasználók ebben a programban importálhatják be és módosíthatják az adatokat, illetve feltölthetik azokat az adatbázisba egyszerre több kliens is futhat, a szervernek több kérést is képes kell lennie egyszerre fogadni, és kiszolgálni ELTE IK, Szoftvertechnológia 2:33

3. esettanulmány: elemzés a felhasználók már készen lévő, megadott táblaformátumoknak megfelelő adatokat tölthetnek be a programban, illetve új táblákat tudnak létrehozni a betöltött, illetve létrehozott adatok tetszőlegesen módosíthatóak, törölhetőek a program szerverkapcsolat nélkül is működhet (de ekkor az adatokat nem lehet feltölteni az ETR-be) a program csak akkor csatlakozik a központi szerverhez, ha a felhasználó erre jogosult, vagyis csatlakozáskor azonosítást kell végezni A szoftverrendszert célszerűen.net 2.0 keretrendszer segítségével, C# programozási nyelven készítjük el ELTE IK, Szoftvertechnológia 2:34

3. esettanulmány: elemzés Közvetítő program: a távoli szerveren fut, kapcsolatban áll az adatbázissal fogadja a módosítási kérelmeket a klienstől, feldogozza azokat, illetve visszajelzi az esetleges hibákat a közvetítő program az adatbázisban saját táblák segítségével veszi az adatokat, amelyeket eseménykezelő eljárások dolgoznak fel, és juttatnak el az ETR adatbázis ténylegesen funkcionáló részeibe a program felületet biztosít a rendszergazdák számára, akik többek között kezelhetik a program által felismert táblaformátumokat, illetve szabályozhatják az adatok feldolgozásának menetét is ELTE IK, Szoftvertechnológia 2:35

3. esettanulmány: elemzés class ETRImporter Deployment Kliens 1 Felhasználó 1 Közvetítő Kliens 2 «flow» Felhasználó 2 «datastore» ETR ELTE IK, Szoftvertechnológia 2:36

3. esettanulmány: felhasználói esetek Mindkét program esetében rendelkezésünkre áll egy grafikus felhasználói felület, amelyen keresztül a kliens felhasználója, illetve a rendszergazda kezelheti a programokat Kliens: belépéskor, illetve csatlakozáskor azonosítást kell végeznie, a felhasználó bármikor kijelentkezhet, illetve bejelentkezhet a programba akkor is használható, ha nincs hálózati elérés, egyedül az adatok feltöltése nem működik az adatokat a feltöltésig saját formátumban tárolja a helyi meghajtón, minden változtatás azonnal elmentődik, és biztonsági másolat készül ELTE IK, Szoftvertechnológia 2:37

3. esettanulmány: felhasználói esetek lehetőséget ad adatok importálására (TXT, CSV, XLS, XLSX formátumból), új tábla létrehozására, módosítására, a táblaformátum ellenőrzésével lehetőséget ad adatok szűrésére Közvetítő: láthatóvá teszi az aktuálisan csatlakozott kliensek listáját, a rendszergazda bármikor megszűntetheti egy kliens kapcsolódását a közvetítő indulása óta történt összes kommunikációt jegyzi, és megjeleníti a képernyőn mindig kapcsolatban van az adatbázissal, lehetőséget ad az adattáblák és a tárolt eljárások direkt kezelésére ELTE IK, Szoftvertechnológia 2:38

3. esettanulmány: felhasználói esetek uc ETRImporter Kliens Importálás Üres tábla létrehozása Szövegből Adatok importálása Excelből CSV-ből Közvetítő Táblakezelés Esemény naplózás Felhasználó Adatok szerkesztése 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 2:39