Networking projekt – Részletes ismertető és munkaszakaszok
Networking projekt Részletes ismertető és munkaszakaszok (draft)
© 1996-‐2014 Project Control Expert Kft.
1 / 25
Networking projekt – Részletes ismertető és munkaszakaszok
Tartalom Titoktartási nyilatkozat ........................................................................................................................... 5 Összefoglaló ............................................................................................................................................ 6 Tudományos, műszaki újdonságtartalom ........................................................................................... 7 Munkaszakaszok ..................................................................................................................................... 9 1.
Irodalomkutatás, kutatástervezés, beszerzések (PILLAR) ........................................................... 9 1.1 Irodalomkutatás: ....................................................................................................................... 9 1.2 Algoritmus fejlesztéshez kapcsolódó irodalomkutatás: ............................................................ 9 1.3 Networking-‐hez kapcsolódó irodalomkutatás: ......................................................................... 9 1.4 Kutatástervezés: ...................................................................................................................... 10 1.5 Erőforrás allokáció: ................................................................................................................. 10
2.
Rendszer specifikáció (PCE) ....................................................................................................... 10 2.1 Technológiai specifikáció: ....................................................................................................... 10 2.1.1 Mobil kliens technológia kiválasztása: ............................................................................. 10 2.1.2 Szerver oldali erőforrások technológiai specifikációja: .................................................... 10 2.1.3 Kommunikációs protokoll rendszer technológiai specifikációja: ..................................... 10 2.1.5 Adatbázis rendszer technológiai specifikációja: ............................................................... 10 2.2 Funkcionális specifikáció: ........................................................................................................ 11 2.2.1 Szerver oldali funkciók specifikálása: ............................................................................... 11 2.2.2 Kliens oldali keretrendszer funkciók specifikációja: ......................................................... 11 2.2.3 Szerver-‐kliens működés specifikációja: ............................................................................ 11 2.2.4 Portál specifikáció: ........................................................................................................... 11 2.2.5 Kommunikációs csatornák titkosításának specifikációja: ................................................. 11 2.3 Felhasználói esettanulmányok készítése a specifikáció pontosításához: ................................ 11 2.4 Kutatási célkijelölés specifikálása: ........................................................................................... 11
3.
Kutatás 1 – Ajánlási rendszer / modell kidolgozása (for-‐profit / PCE) ....................................... 11 3.1 Szimulációs modell létrehozása: ............................................................................................. 12 3.2 Preferencia rendszer megalkotása: ......................................................................................... 12 3.3 Korrelációs modell alkotás a preferencia struktúrákban: ....................................................... 12 3.4 Ajánlási algoritmus kialakítása: ............................................................................................... 12 3.5 Mintaadatbázis generálása: .................................................................................................... 12
© 1996-‐2014 Project Control Expert Kft.
2 / 25
Networking projekt – Részletes ismertető és munkaszakaszok 3.6 Ajánlási algoritmusok futási vizsgálatai a szimulációban: ....................................................... 12 3.7 Ajánlási algoritmusok finomhangolása és dokumentálása: .................................................... 12 3.8 A kommunikációs csatornák titkosítására használt algoritmusok kiválasztása: ...................... 12 4.
Kutatás 2 -‐ Optimalizálási modell kidolgozása (non-‐profit / PCE) ............................................. 12 4.1 Optimalizáló algoritmus osztály vizsgálata .............................................................................. 12 4.2 Konkrét optimalizáló algoritmus megtervezése és kifejlesztése ............................................. 13
5.
Kutatás 3 -‐ Adaptivitási képesség kidolgozása (non-‐profit / PCE) ............................................. 13 5.1 Scoring rendszer kidolgozása: ................................................................................................. 14 5.2 Belső scoring rendszer kidolgozása az ajánlatok belső értékelésére ...................................... 14 5.3 Scoring adatok automatikus feldolgozási módszereinek kidolgozása ..................................... 14 5.4 Scoring rendszer illesztési lehetőségeinek kutatása az ajánló és optimalizáló rendszerben .. 14
6.
Rendszerterv elkészítése (PCE) ................................................................................................. 14 6.1 Magas szintű rendszerterv ...................................................................................................... 15 6.2 Mobil kliens rendszertervek: ................................................................................................... 15 6.3 Szerveroldali kliens kiszolgáló funkciók tervezése: ................................................................. 15 6.4 Szerveroldali algoritmus futtatási környezet tervezése: ......................................................... 15 6.5 Adatbázis terv, adatkezelési tervek elkésztése: ...................................................................... 15
7.
Szerver oldali alkalmazásfejlesztés (PCE) .................................................................................. 15 7.1 Mobil kliens kiszolgáló funkciócsoport .................................................................................... 16 7.1.1 Kliens authentikáció, authorizáció: .................................................................................. 16 7.1.2 Adatszinkronizálás, adatkommunikáció: .......................................................................... 16 7.1.3 Havaria kezelés (Elveszik a kapcsolat a klienssel, egyéb problémák): .............................. 16 7.1.4 Verziókezelés: ................................................................................................................... 16 7.1.5 A titkosított adatkapcsolatot kezelő interface magvalósítása. ........................................ 16 7.2 Üzleti logika futtatása ............................................................................................................. 16 7.2.1 Ajánló logika futtató környezetének implementálása: .................................................... 16 7.2.2 Beosztás készítő logika futtató környezetének implementálása: .................................... 16 7.2.3 Adaptív funkciók implementálása: ................................................................................... 16 7.2.4 Adatkapcsolatok felépítése, adatkezelési folyamatok, protokollok kialakítása: .............. 16
8.
Közösségi plug-‐in fejlesztés (PCE) .............................................................................................. 18 8.1 A kapcsolni tervezett portálok, szolgáltatások kiválasztása: ................................................... 18 8.2 A kiválasztott szolgáltatásokhoz való kapcsolódás technológiai és üzleti lehetőségeinek vizsgálata: ...................................................................................................................................... 18 8.3 Plugin-‐ek, beépülő alkalmazások tervezése: ........................................................................... 18
© 1996-‐2014 Project Control Expert Kft.
3 / 25
Networking projekt – Részletes ismertető és munkaszakaszok 8.4 Beépülő alkalmazások fejlesztése: .......................................................................................... 19 8.5 Beépülő alkalmazások tesztelése: ........................................................................................... 19 8.6 Szolgáltatásélesítéssel együtt az alkalmazások publikálása: ................................................... 19 9.
Portál tervezés-‐ és implementálás (PILLAR) .............................................................................. 19 9.1 Portál tervezés és implementálás ........................................................................................... 19 9.1.1 Vezérlő központ: .............................................................................................................. 19 9.1.2 Üzemeltetési központ: ..................................................................................................... 19 9.1.3 Paraméterező központ: .................................................................................................... 19 9.1.4 Ügyféladat kezelő és tároló SaaS központ: ....................................................................... 19 9.1.5 Felhasználói Információs központ: ................................................................................... 19 9.1.6 Grafikus felhasználói felület: ............................................................................................ 20 9.1.7 Függvény-‐könyvtár: .......................................................................................................... 20 9.1.8 Modul-‐interfész: ............................................................................................................... 20
10. Fejlesztői mobilalkalmazás / keretrendszer (for-‐profit / PCE) ..................................................... 20 11.
Fejlesztői rendszertesztek és integráció (PCE) ...................................................................... 21
11.1 Tesztelési módszertan meghatározása ................................................................................. 21 11.2 Funkcionális/unit teszt .......................................................................................................... 21 11.3 Integrációs teszt .................................................................................................................... 21 12.
Minta-‐alkalmazás 1 -‐ Konferencia mintaalkalmazás (PILLAR) ............................................... 22
13.
Minta-‐alkalmazás 2 -‐ Rapid meeting mintaalkalmazás (PILLAR) ........................................... 23
14.
Minta-‐alkalmazás tesztek (PILLAR) ........................................................................................ 23
14.1 A felhasználói felület kezelhetősége, átláthatósága: ............................................................ 24 14.2 Biztonsági szempontok: ........................................................................................................ 24 14.3 Performancia tesztek: ........................................................................................................... 24 14.3.1 Az optimalizáció eredményessége: ................................................................................ 24 14.3.2 Optimalizáció sebessége: ............................................................................................... 24 14.3.3 Robosztusság: ................................................................................................................. 24 14.4 Továbbfejlesztési irányok meghatározása ............................................................................ 24
© 1996-‐2014 Project Control Expert Kft.
4 / 25
Networking projekt – Részletes ismertető és munkaszakaszok
Titoktartási nyilatkozat Alulírott _______________________________________________________________, büntetőjogi felelősségem tudatában kijelentem, hogy a Project Control Expert Kft. „Optimalizált kapcsolatépítést támogató SaaS keretrendszer kutatás-‐fejlesztése” című projektjével kapcsolatban tudomásomra jutott adatokat, műszaki elgondolásokat, eljárásokra, szervezetekre vonatkozó azonosítható adatokat, illetve a szellemi tulajdonnal kapcsolatos mindenfajta információt bizalmasan kezelek, azokat harmadik személynek sem szóban, sem írásban át nem adom, nem publikálom, azok részeit, vagy egészét a Project Control Expert Kft. érdekkörén kívül eső hasznosítás céljából nem alkalmazom. Tudomásul veszem továbbá, hogy a fenti titoktartási kötelezettségem akkor is fennáll, ha a Project Control Expert Kft.-‐vel nem létesítek munkaviszonyt vagy munkavégzésre irányuló egyéb jogviszonyt, illetve az ilyen jogviszonyom megszűnik. Tudomásul veszem, hogy a titoktartási kötelezettség megszegése esetén a hatályos magyar büntető-‐ és polgárjogi jogkövetkezmények alkalmazhatóak velem szemben. Jelen nyilatkozat aláírásával egy időben átvett dokumentumok: •
Részletes
ismertető
a
Networking
kutatás-‐fejlesztési
munkaszakaszairól (1 db nyomtatott példány) Budapest, 2014. május 20. ……………………………….
Nyilatkozattevő
© 1996-‐2014 Project Control Expert Kft.
5 / 25
projekt
tartalmáról
és
Networking projekt – Részletes ismertető és munkaszakaszok
Összefoglaló A jelen kutatás fejlesztési projekt célkitűzése egy általános személyes networking1 támogató prototípus keretrendszer megtervezése és kifejlesztése. Az üzleti élet nagymértékben támaszkodik a személyes konzultációkra, telefonbeszélgetésekre, konferencia hívásokra és találkozókra, idegen szóval a „networkingre”. Ezen belül a megvalósítandó projektben kitűzött cél a személyes találkozók megtervezését és lebonyolítását segítő általános keretrendszer kialakítása, amelyet a felhasználók (konferencia szervezők) saját profiljukra, elvárásaikra, üzletfeleik igényeire szabhatnak. Példának tekinthetjük az Európai Unió által kiírt kutatási keretprogramok inicializálására szervezett konzultációs-‐ és partnerkereső konferenciákat, találkozókat, melyekre rendszerint több ezer résztvevő regisztrál azzal a céllal, hogy vagy az általa kidolgozott projektötlethez megfelelő konzorciumi partnereket keres adott szakmai kompetenciával vagy éppenséggel az általa képviselt szervezet kompetenciáit próbálja mások számára vonzóvá tenni. A partnerkeresések egy része a korábbi ismeretségekre támaszkodik, azonban nagy részben találkozók alkalmával ismerik meg egymást a felek. Tapasztalatok szerint a találkozók nagy százalékban eredménytelenek, hiszen nem minden esetben találkoznak a tényleges igények és elvárások. A két vagy többoldalú találkozók szervezése nem triviális feladat ekkora felhasználói tömegben, úgy hogy az egyes felhasználók olykor az utolsó pillanatban mondják le (ha egyáltalán lemondják) a találkozókat és így az adott időintervallum üresen, teljesen eredménytelenül marad. A tervezett megoldás ebben a specifikus esetben is ad-‐hoc tervezéssel a szabad erőforrások megfelelő kihasználásával új találkozót képes szervezni, amelyről a feleket automatikusan értesíti. A kidolgozandó rendszer továbbmegy a találkozók megszervezésén és egy beépített scoring megoldással személyre szabható (pl. konferencia szervezői szinten) minősítéseket lehet elvégezni. Ilyen lehet többek között a helytelenül kitöltött személyes adatlap okán felkeltett érdekfödésből fakadó csalódások kiküszöbölése. A projekt előkészítő, megalapozó szakaszában dolgozzuk fel a vonatkozó szakirodalmat és készítjük el a kutatási tervet. Ezt követi a fejlesztendő rendszer technológiai és funkcionális specifikációja. A megalapozó kutatások során arra törekszünk, hogy olyan modellt alakítsunk ki, amely hatékony módon képes a találkozások megszervezésére, vagyis növeli a felhasználó által hasznosnak ítélt találkozások esélyét. Ennek érdekében egy networking támogató ajánló rendszert alakítunk ki, elvégezzük ennek optimalizálását és kialakítjuk adaptív képességét, vagyis alkalmassá tesszük arra, hogy a felhasználó saját igényeire szabja azt. A kutatási szakasz lezárását követően kerül sor a rendszerterv elkészítésére, melyben meghatározzuk a funkcionális egységek (mobil kliens, mobil kliens alkalmazás motor, vagy SDK illetve szerver oldali alkalmazás és portálrendszer, a kommunikációs csatornák megfelelő védelmét ellátó titkosító algoritmusok) működésének alapjait. A következő lépés már a projekt fejlesztési szakaszához tartozik. Egymással párhuzamosan látunk hozzá a mobil alkalmazás-‐ és a szerver oldali alkalmazás fejlesztéshez. Mivel a tervezett rendszer networking logika mentén épül fel, a közösségi portálok adatainak felhasználását is szerelnénk 1
„Networking” helyett „Relationship Management” a pontosabb elnevezés
© 1996-‐2014 Project Control Expert Kft.
6 / 25
Networking projekt – Részletes ismertető és munkaszakaszok elvégezni. Ennek érdekében egy közösségi plug-‐in-‐t is kifejlesztünk a népszerű közösségi portálokkal történő együttműködés, kooperáció biztosítása érdekében. Ezt követi a szerver oldali alkalmazások felső rétegét jelentő portálfunkciók kialakítása (vezérlő központ, üzemeltetési központ, paraméterező központ, ügyféladat kezelő-‐ és tároló SaaS központ, felhasználói információs központ). A fejlesztés folyamatával párhuzamosan zajlik az egyes elemeknek a tesztelése. A rendszerintegrációval kapcsoljuk végül egybe a rendszer elemeit, amit újabb tesztelés követ. A projekt zárását a konferencia minta alkalmazás és a rapid meeting mintaalkalmazás fejlesztése illetve ezek tesztje és finomhangolása jelenti.
Tudományos, műszaki újdonságtartalom A különböző közösségi hálózati rendszerek alapvetően befolyásolják az emberi kapcsolatok alakulásának, alakításának eszközrendszerét, sőt annak módjait. Például a közösségi rendszerek sajátossága, hogy a személyes információk megoszthatóvá válnak, egyre több és egyre naprakészebb információkkal rendelkezünk ismeretségi körünkről, ugyanakkor éppen az információk rendelkezésre állása miatt a személyes találkozások valószínűsége csökken, hiszen az információk a találkozások nélkül is rendelkezésre állnak. Ezek alapján egyértelműen kijelenthető, hogy a közösségi média egyre nagyobb részben képes meghatározni a magánéletet, olyan felületté válva, amelyen keresztül az üzleti életben is hasznosítható megoldások alakulnak ki. Jelen projekt a közösségi média tapasztalatai alapján olyan üzletfejlesztési célokra alkalmas keretrendszer kidolgozását tervezi, ahol egy online szolgáltatás és egy mobil alkalmazási felület segítségével tehetjük hatékonnyá a személyes találkozók szervezését, olyan környezetben, ahol erre fokozott igény tapasztalható. Az üzleti kapcsolatok fejlesztése, a networking, az információs társadalom keretei között egyre nagyobb jelentőségű eleme a vállalkozási tevékenységnek. A közösségi szolgáltatások, ezen belül az olyan sikeresen működő üzleti közösségi szolgáltatások, mint például a LinkedIn, vagy részben a Facebook is, a networking igényére építenek, azonban egy ponton túl korlátokkal rendelkeznek, mivel nem támogatják a személyes találkozást, amely pedig a máig a bizalomépítés és a networking elhagyhatatlan eleme. A networking támogatásának másik területe éppen ezért a személyes találkozások elősegítésére fókuszál: ezek a különböző konferenciák, kiállítások, üzletember találkozók, kamarák, klubok, ahol az üzleti élet különböző szereplői találkozhatnak. Ezen eszközök hatékonysága annál kisebb, minél konkrétebb elképzelésekkel rendelkezünk a networking területén. A tervezett rendszerünk erre a kettős problémára kíván innovatív megoldást kialakítani, amelynek segítségével a közösségi szolgáltatások keresési-‐ és ajánlási hatékonysága összeköthető a kereslet és kínálat koncentrációt jelentő események, fórumok kínálta lehetőségekkel. A tervezett rendszer műszaki innovációk segítségével alakít ki egy hatékony networking támogató eszközt, amely egy mobilalkalmazás platformra épített okos névtáblaként funkcionál.
© 1996-‐2014 Project Control Expert Kft.
7 / 25
Networking projekt – Részletes ismertető és munkaszakaszok A tervezett rendszer műszaki innováció tartalmához a következő elemek kapcsolhatók: •
Ad-‐hoc közösségekre épülő networking támogató ajánlási rendszer kialakítása: A rendszer ajánlási képességét úgy alakítjuk ki, hogy egy folyamatosan frissülő ad-‐hoc közösségre épüljön rá, azaz az ajánlások minden esetben egy aktuális ad-‐hoc közösségre értelmezetten készülnek. A tervezett algoritmus-‐rendszerrel szembeni kihívás, hogy nagyon rövid időközönkénti futtatási gyakoriság mellett kell olyan eredményhalmazt generálni, amely nem eredményezi az ajánlatok olyan szintű volatilitását, amely az ajánlásokat elfogadhatatlanná teszi. Az ajánlások a rendszerben minden egyes felhasználó számára elkészülnek, akár több száz fős sokaság esetén is.
•
Ad hoc közösségekre épülő találkozó optimalizálási megoldás kialakítás: Az ajánlási rendszer mellé azzal egy rendszerben és szoros összefüggésben kerül kialakításra egy optimalizálási rendszerelem. Az optimalizálás célja, hogy az ajánlások alapján optimális beosztásokat tudjunk készíteni. Az algaritmizálás nehézségét a folyamatos változás jelenti, hiszen a változó ajánlati tartalmak és a változó felhasználói kör körében kell megadni a felhasználók számára optimális beosztást
•
Lokáció alapú networking szolgáltatás mobilalkalmazásra építve: A networking támogatására több létező megoldás, technológia is rendelkezésre áll, ezek szinte mindegyike arra épül, hogy távoli feleket kössön össze online felületeken. A tervezett megoldás egy egészen új megközelítést hoz, kihasználva a technológiai mobilitást, amely megalapozza a lokáció alapú szolgáltatások bevezetésének lehetőségét.
•
Egy központi erőforrásból kiszolgált korlátlan számú alkalmazás klón: A tervezett rendszer egy sajátos SaaS megoldást hoz létre, amely gyakorlatilag korlátlan számú alkalmazáscsoport kiszolgálására képes egyetlen robosztus központi erőforrásból úgy, hogy a mobilalkalmazás csoportok által használt mobilalkalmazások funkcionalitása közölt akár jelentős eltérések is tapasztalhatók. Ez a sajátosság a mobilalkalmazás fejlesztés és a mobilalkalmazások üzemeltetése területén igényel új megoldásokat.
•
Közösségi portálok alkalmazása, mint felhasználói törzsadatok: A tervezett rendszerben a lokálisan tárolt felhasználói adatok körét minimalizálni kívánjuk, ehelyett viszont a különböző közösségi rendszerekkel történő integrációt kívánjuk maximalizálni. Az, hogy maga a szolgáltatás nem a közösségi portálok keretei között valósul meg, hanem az ottani adatokra, mint adatbázisokra építünk, újdonságnak számít.
•
Use case központú alkalmazás fejlesztések lehetősége: Az emberi kapcsolatok, az emberi kapcsolati hálózatok fejlesztése nagyon sokrétű és egyedi igényeket kiszolgáló egyedi megoldásokat igényel. A tervezett rendszer ezt oly módon képes
© 1996-‐2014 Project Control Expert Kft.
8 / 25
Networking projekt – Részletes ismertető és munkaszakaszok biztosítani, hogy technológiát biztosít ahhoz, hogy csak a kommunikációs helyzetre szabható végpontok cseréjével lehessen elvégezni a szolgáltatások testre szabását.
Munkaszakaszok 1. Irodalomkutatás, kutatástervezés, beszerzések (PILLAR) A tervezett projekt első részprojektjének keretei között az irodalom kutatási és kutatásterezési feladatokat tervezzük megvalósítani, illetve elvégezzük a szükséges beszerzéseket, valamint biztosítjuk a szükséges erőforrásokat, kompetenciát.
1.1 Irodalomkutatás: Az irodalom kutatás során három két főszakterülethez kapcsolódóan tervezünk forrás gyűjtést és feldolgozást végezni. Az egyik terület a rendszer matematikai gerincét adó ajánlási és optimalizálási algoritmusok területe, a másik pedig a networking mint összetett üzleti, pszichológiai, társadalomtudományi problémakör valamint biztonságos kommunikációval titkosítási algoritmusok.
1.2 Algoritmus fejlesztéshez kapcsolódó irodalomkutatás: Az optimalizáció tématerülete széles körben kutatott és ennek megfelelően rengeteg irodalommal rendelkezik. A projekt céljában meghatározott specifikus feladat, a nagyobb események során megvalósítandó ad-‐hoc találkozók szervezése több felhasználót, időpontot és helyszínt egyidejűleg feltételezve ugyan redukálja a szóba jöhető megoldások számosságát, mégis az algoritmus fejlesztéshez szükséges irodalomkutatás elsődleges célja számba venni a tématerületen eddig feltárt megoldásokat, és összegyűjteni az elméleti vizsgálthoz szükséges forrásokat. Elsodleges vizsgálatok tovább szűkítik azok alkalmazhatóságát, melyekből ajánlás készül az egy későbbi munkaszakaszban megtervezni szándékozott optimalizáló algoritmus tervezéséhez. Megannyi korlátozó tényező mellett, mint pl. az ad-‐hoc ajánlás szempontjából fontos gyorsan konvergáló megoldás jellege, vagy a rendelkezésre álló erőforrások, mint tárgyalótermek, kapacitásának maximalizálása, a jelenlegi ismereteink alapján érdekes lehet a lineáris programozás alapú megoldások keresése vagy a korlátok megléte miatt alkalmazható constraint optimization egy-‐egy algoritmus megvalósítása. Az irodalom feltárás során külön figyelmet szentelünk az optimalizálási feladat párhuzamosíthatóságára, illetve e mellett a központosított vagy elosztott feldolgozásban rejlő lehetőségeknek.
1.3 Networking-‐hez kapcsolódó irodalomkutatás: Célunk, hogy a tervezett rendszert olyan képességekkel vértezzük fel, amely igazán hasznossá teszi az üzleti célú kapcsolatépítés területén. Meggyőződésünk, hogy ez nem lehetséges anélkül, hogy részletesen tanulmányoznánk a terület üzleti, emberi és társadalmi aspektusait. A kapcsolatok kialakításában a helyszín, az időzítés, a körülmények, a hangulat, az attitűd mind-‐mind olyan fontos elem, amelyet a fejlesztések során figyelembe kell vennünk, ha sikeres piaci termékeket szeretnénk megvalósítani éppen ezért kulcsfontosságú a megfelelő alapozás és a networking, mint üzleti tudományterület tudományos igényességű, tudásbázis jellegű áttekintése Az üzleti kommunikáció elengedhetetlen feltétele, hogy az egy olyan közegben történjen, amely megfelelően biztonságos, jó garanciákkal rendelkezik az illetéktelen lehallgatásokkal szemben. Manapság már az információ az igazi érték, így egy vállalkozásnak elemi érdeke, hogy derüljön ki a
© 1996-‐2014 Project Control Expert Kft.
9 / 25
Networking projekt – Részletes ismertető és munkaszakaszok konkurensek számára, hogy milyen stratégia irányokat választanak, vagy mikor hirdetik meg a következő akciójukat.
1.4 Kutatástervezés: A részprojekt másik nagy feladata a kutatási tervek összeállítása. Egy olyan szerte ágazó, összetett kutatási és fejlesztési feladatokat magába foglaló projekt, mint amelyet megvalósítani tervezünk nem képzelhető el gondos tervezés nélkül. Különösen indokolt ez olyan esetben, ahol konzorciumi szintű feladatmegosztás történik, valamint jelentős mértékben vonunk be külső erőforrásokat is a megvalósításba.
1.5 Erőforrás allokáció: A részprojekt része a különböző erőforrások rendelkezésre bocsátása, megkeresése, beleértve ebbe az új K+F munkahelyek létrehozását, és betöltését a szükséges eszközök beszerzését.
2. Rendszer specifikáció (PCE) A második részprojekt keretei között készül el a tervezett rendszer technológiai és a funkcionális specifikációja. A specifikáció alapján meghatározható az a követelmény struktúra, mely a megvalósítani tervezett kutatási részprojektek célkijelölésére alkalmas. E részprojektben a következő specifikációs feladatokat tervezzük megvalósítani.
2.1 Technológiai specifikáció: A technológiai specifikáció egy ilyen összetett funkcionalitást kínáló és szerkezetileg bonyolult rendszer esetében kulcsfontosságú, hiszen várhatóan különböző gyártók, különböző fejlesztői platformjain készülő alkalmazások között kell megteremteni az együttműködési képességet. A technológiai specifikáció az alábbi fő területek mentén történik: 2.1.1 Mobil kliens technológia kiválasztása: Az egyik legfontosabb kérdés, hogy mely mobilplatformokon működjön a rendszer. Az Iphone készülékek nagyon népszerűek a világban és sok vezető beosztású felhasználó használja. Az Android széles körben elterjedt megoldás, de a célcsoportunkban kérdéses az aránya és nagy kérdés a Windows 8 mobil képessége, mely fejlesztői szempontból egyszerűsít, de ma még kérdéses az elterjedtsége. 2.1.2 Szerver oldali erőforrások technológiai specifikációja: Elkészítjük a szerver oldali erőforrások specifikációját a webes funkcióktól, a belső rendszerkommunikáción át egészen a hardver követelményekig 2.1.3 Kommunikációs protokoll rendszer technológiai specifikációja: Kiválasztjuk a kliens szerver kommunikációt biztosító protokollokat és specifikáljuk a magasabb szintű kommunikáció alapelveit. Különböző kommunikációs protokollokat kell választani kilens/szerver és kliens-‐kliens kapcsolatban. Meg kell oldani ezek megfelelő védelmét az illetéktelen hozzáférésekkel szemben. 2.1.5 Adatbázis rendszer technológiai specifikációja: Meghatározzuk az alkalmazandó adatbázis kezelési technológiát
© 1996-‐2014 Project Control Expert Kft.
10 / 25
Networking projekt – Részletes ismertető és munkaszakaszok
2.2 Funkcionális specifikáció: A funkcionális specifikáció egy előzetes specifikáció, mely e részfeladatban elvégzendő use case generálással szoros összefüggésben készül. A részletesebb specifikációra azért nincs szükség, mert egyrészt a kutatási eredményeink alapvetően meghatározzák majd a képességeinket másrészt a projektben alapvetően technológiafejlesztés történik, melyet két mintaalkalmazás keretei között fogunk prototípussá alakítani, amelynek részletes specifikációja a technológia ismeretében lehetséges. A specifikáció éppen ezért elsősorban az alábbi területekre koncentrál 2.2.1 Szerver oldali funkciók specifikálása: A szerver oldalon megvalósítandó alacsonyabb szintű funkcionalitások specifikálása 2.2.2 Kliens oldali keretrendszer funkciók specifikációja: A tervezett paraméterezhető keret jellegű mobil alkalmazás előzetes specifikációja. 2.2.3 Szerver-‐kliens működés specifikációja: Szerver -‐ mobil kliens kommunikáció részletes specifikálása 2.2.4 Portál specifikáció: A webes felületekre kivezetendő funkciók specifikálása 2.2.5 Kommunikációs csatornák titkosításának specifikációja:
2.3 Felhasználói esettanulmányok készítése a specifikáció pontosításához: A megelőző részprojektben végzett irodalomkutatás alapján e feladatban igyekszünk a networking mobil megoldásokkal történő támogatását lehetővé tévő helyzetek minél szélesebb körét megadni. Olyan esettanulmányokat kívánunk készíteni, melyek megvalósulása esetén a tervezett megoldás hasznos funkciókat kínálna. Ilyen esettanulmány lesz biztosan, amit kidolgozunk a konferencia, a kiállítás, a rapid meeting, az állásbörze, a társkereső, stb.
2.4 Kutatási célkijelölés specifikálása: A tervezett projekt olyan elemeket tartalmaz, amelyek esetében az eredményesség nehezen határozható meg pontos célérték kijelölés nélkül, mivel a kutatások eredménye egy relatív érték. Ilyen területek a következők: Optimalizálás, Ajánlás, Adaptív funkciók Ahhoz, hogy a kutatások költség és idő ráfordítása valamilyen értékelési rendszerbe legyen befoglalható elore meg kívánjuk határozni azokat a célokat, melyek elérése esetén eredményes a projekt. A részprojekt eredménye: elkészült specifikációs dokumentumok.
3. Kutatás 1 – Ajánlási rendszer / modell kidolgozása (for-‐profit / PCE) A tervezett rendszer működésének a lényege, hogy a rendszer által értelmezhető preferencia leírásra alkalmas keresési paraméterrendszer értékeivel jellemzett felhasználó számára egy adott ad hoc mintában megfelelő felhasználókat keressünk, majd rendszer szinten a preferencia sorrendek alapján a remélt hasznosságnak megfelelőn optimalizált összerendeléseket végezzünk el, majd összegyűjtjük az összerendelések során szerzett tapasztalatokat és automatikusan visszacsatolunk öntanuló képességeket adva az ajánló és optimalizáló logikának. A működéshez szükséges üzleti logika algoritmus rendszerét ennek megfelelően három fő szakaszban alakítjuk ki alkalmazott kutatási formában, amelyek közül az első az ajánló algoritmus, az ajánlási modell létrehozása.
© 1996-‐2014 Project Control Expert Kft.
11 / 25
Networking projekt – Részletes ismertető és munkaszakaszok A tervezett rendszer magába fog foglalni egy networking támogató ajánló logikát, amelynek segítségével egy-‐egy ad hoc elemhalmazból a felhasználó megadott preferenciájának leginkább megfelelő elemek ajánl ki a felületre. A részprojekt keretei között két fő feladatunk ennek a preferencia leírásnak, mint követelménynek megfelelő ajánlási modell létrehozása, majd erre megfelelően hatékony ajánló algoritmusok kialakítása. Ennek megfelelően a részprojekt főbb feladatai a következők:
3.1 Szimulációs modell létrehozása: Olyan általánosan alkalmazható, később az egyéni felhasználás szempontjából személyre szabható modell struktúra kidolgozása, melyre az ajánlási algoritmust alkalmazva a munkaszakasz céljának megfelelő eredmény érhető el. A modell tartalmazza az ajánlási algoritmus bemenő paramétereit, mint pl. a felhasználók igényeinek, preferenciáinak, saját tulajdonságainak, kompetenciájának súlyozott listáját, a kényszer paramétereket, mint pl. csak EU-‐n belüli partner keresése megengedett, stb.
3.2 Preferencia rendszer megalkotása: Felhasználva a felhasználói esettanulmányok következtetéseit
3.3 Korrelációs modell alkotás a preferencia struktúrákban: Megadja a felhasználók által keresett és a többi felhasználó által kínált tulajdonságok (úgy, mint kompetencia vagy termék) közötti hasonlóság valószínűségét. A modellben megvizsgáljuk, hogy mennyire lehetséges tovább lépni a konkrét megfogalmazások közötti hasonlóság azonosításán (azaz pl. csoki mikulás gyártására szakosodott céget milyen valószínűség mellett érdekelhet csoki nyuszi gyártására irányuló ajánlat)
3.4 Ajánlási algoritmus kialakítása: Megtervezzük és kifejlesztjük azon ajánló algoritmust, mely a modellben meghatározott paraméterek mellett a felhasználó tulajdonságai alapján a számára a megfelelő eredményt generálja.
3.5 Mintaadatbázis generálása: 3.6 Ajánlási algoritmusok futási vizsgálatai a szimulációban: Megvizsgáljuk mind a performancia értékeket (futási idő, eredmény pontosság), mind pedig a robosztussággal (kivétel kezelés, lefagyás, stb.) kapcsolatos kérdéseket is.
3.7 Ajánlási algoritmusok finomhangolása és dokumentálása: 3.8 A kommunikációs csatornák titkosítására használt algoritmusok kiválasztása: Az ajánló rendszer eredményeképpen előáll az a felhasználó által preferált elemeket megtestesítő további felhasználókból álló lista, mely személyekkel a későbbiekben szívesen találkozna, végezne eszmecserét, jövőbeli üzleti kapcsolatokat remélve.
4. Kutatás 2 -‐ Optimalizálási modell kidolgozása (non-‐profit / PCE) 4.1 Optimalizáló algoritmus osztály vizsgálata A projekt keretei között megvalósítani tervezett kutatási feladatok második nagy csoportja az optimalizálási megoldások kutatása. A jelen kutatási feladatban egy komplex találkozó szervező algoritmust kívánunk felírni, ahol bemenő adathalmaz a résztvevő személyekből, a résztvevők adott
© 1996-‐2014 Project Control Expert Kft.
12 / 25
Networking projekt – Részletes ismertető és munkaszakaszok pillanatbeli időbeosztása, valamint az adott pillanatban található szabad tárgyalók száma, mérete. A tervezett rendszerben az ajánlások segítségével arra kapunk egy sok dimenziós modellt, hogy a véges számú és változó összetételű sokaságból a preferencia értékek alapján kiknek lenne érdemes találkoznia kikkel. A modell optimalizálása során maximalizálni kell a résztvevők akaratát, preferenciáit, a találkozó helyek limitált számosságát. A találkozások lehetséges száma azonban véges és várhatóan nincs egyetlen optimális megoldás. Ráadásul figyelembe kell vennünk a beosztások elkészítésénél, hogy az alapsokaság folyamatosan változik, azaz az optimalizált beosztást folyamatosan frissíteni érdemes. A tervezett rendszerben tehát egy összetett optimalizálási feladattal állunk szemben, amelynek célfüggvénye egy olyan beosztás, amelynek eredményeként rendszerszinten maximalizálható a várható hasznosság, azaz a találkozó felek megadott preferenciája közötti fedettség. A feladat nehézségét növeli, hogy a modellben figyelembe kell vennünk: A szereplők motivációinak változékonyságát: Pl.: Bár érdekel a biztosítás, ma már nem szeretnék több biztosítási ügynökkel csevegni) A szereplők motivációjának irányát, tartalmát: (Pl.: Veszek, eladok, vagy csak információk keresek) Az optimalizáló eljárás lehet központosított vagy elosztott architektúrájú megoldás. Mivel a felhasználók száma, az adott időben való elérhetősége (igen/nem), a található tárgyalók száma, illetve ezzel megegyezően az adott tárgyaló az adott időpontban elérhető-‐e vagy nem (igen/nem), ezen tárgyalok mérete mind egész szám, ezért az első megközelítés során a lineáris programozás egy speciális iránya, az integer linear programming alkalmazható. Ismeretes, hogy az integer programming NP-‐teljes probléma, azaz az optimalizáló algoritmus mindenképpen egy közelítő megoldásnak kell lennie. Amennyiben a változók száma rögzíthető, abban az esetben alkalmazható a lineáris időbeli megoldás. Nagy számosságú felhasználók esetében, mint például egy nagyobb konferencia alkalmával előfordulhat a központi algoritmus nagy számítási kapacitást igényel és ezzel maga az optimalizálási folyamat elhúzódhat. Figyelembe véve a folyamatosan változó környezetet, találkozó igény, lemondások, stb. a gyors optimalizálás kiváltképpen fontos tényező. Erre a problémára adhat megoldást az elosztott optimalizálási megközelítés, ahol az egyes alproblémák kezelésére ágenseket alkalmazhatunk. Megfelelő megoldásnak tűnik az elosztott feltételes optimalizáló keretrendszer alkalmazása. Ezen az optimalizálási keretrendszeren belül kell a kutatási feladat keretein belül megtervezni a megfelelő optimalizáló algoritmust.
4.2 Konkrét optimalizáló algoritmus megtervezése és kifejlesztése A munkaszakasz eredménye a korábban felírt modell céljainak megfelelő optimalizáló algoritmus osztály vizsgálata, valamint a megtervezett és kifejlesztett konkrét optimalizáló algoritmus.
5. Kutatás 3 -‐ Adaptivitási képesség kidolgozása (non-‐profit / PCE) A tervezett rendszert annak érdekében, hogy képes legyen a változó igények hatékony kiszolgálására fel akarjuk készíteni arra, hogy képes legyen öntanuló módon alkalmazkodni a felhasználók értékeléseihez és ezen keresztül a felhasználói elvárásokhoz. Ezt az adaptációs képességet alapvetően két úton kívánjuk elérni. Mindkét megközelítés alapja a rendszerbe integrálódó scoring rendszer. Az egyik megközelítésben megteremtjük a felhasználói visszajelzésekre alapuló
© 1996-‐2014 Project Control Expert Kft.
13 / 25
Networking projekt – Részletes ismertető és munkaszakaszok adaptivitást, ahol a felhasználók értékeléseit vezetjük vissza az ajánló rendszerünkbe, azaz minden felhasználó esetében képesek leszünk az adott felhasználó visszajelzéseit értékelni a következő ajánlásban és beosztás készítés során. A másik megközelítésben a hasonló preferenciával rendelkező felhasználók hasonló igényei esetére alakítunk ki adaptív képességeket, így a közösségi szintű tapasztalatokat tudjuk visszavezetni az ajánlások kialakítása során. Ez utóbbi előnye, hogy olyan keresések esetében is finomítani tudjuk a tapasztalatokkal az ajánlást, amikor az adott keresésnek nincs előzménye az adott felhasználó esetében. A kutatás sajátossága, hogy az adaptivitást rendszerszinten szeretnénk meghonosítani. Egy felhasználó a rendszert több eseményen, több felhasználói csoportban, a legkülönbözőbb keresések során fogja alkalmazni, azaz az értékelések is nagyon sokféle alapra épülhetnek, hiszen az értékelést alapvetően meghatározhatja az ajánlás körülményei. Például egy leszervezett találkozó sikertelen, ha a felek nem tudnak közös pontokat találni, de az adott felhasználó számára ennél sikeresebb találkozó az érdeklődők hiányában nem leszervezhető, így mindeközben a rendszer számára sikeres társítás jött létre az adott közösségen. Ebben az esetben a scoring alacsony pontokat eredményez, miközben a rendszer jól működött. Ez azt jelenti, hogy olyan értékelési és visszacsatolási mechanizmusokra van szükség, amely megfelelően szofisztikált az értékelések feldolgozása során és képes az objektív szempontok értékelésére is. Az adatptivitási képességek kialakításának főbb lépései az alábbiak:
5.1 Scoring rendszer kidolgozása: Előzetes értékelés, közbenső értékelés, utólagos értékelés, stb.)
5.2 Belső scoring rendszer kidolgozása az ajánlatok belső értékelésére 5.3 Scoring adatok automatikus feldolgozási módszereinek kidolgozása 5.4 Scoring rendszer illesztési lehetőségeinek kutatása az ajánló és optimalizáló rendszerben
6. Rendszerterv elkészítése (PCE) A megelőző részprojektekben kialakított kutatási eredmények alapján készíthető el a tervezett networking támogató rendszer rendszerterve. A tervezett megoldás egy széles körben testre szabható, SaaS szerkezetet követő mobil kliens szerver architektúrájú rendszer lesz. A rendszer főbb elemei a következők a terveink szerint: -‐
-‐
Paraméterezhető mobil kliens alkalmazás: Ez egy többcélú mobil alkalmazás lesz, amelybe program szintű paraméterek állításával alakítható ki az igényelt funkcionalitásból az előzetesen kialakított lehetőségek korlátai között. Az ügyfeleink igényeinek megfelelő beállítások után, a megjelenést is testre szabva tudjuk majd a különböző felhasználói csoportoknak szánt kliensalkalmazásokat biztosítani Egyedi igényekre testre szabható mobil kliens alkalmazás motor, vagy SDK: Kialakítjuk az egyedi mobil alkalmazás fejlesztési képességünket, amelynek segítségével a paraméterezhető mobil alkalmazás képességeit nem elégségesnek találó, vagy speciális igényekkel fellépő ügyfeleink számára tudunk megfelelő megoldásokat kínálni.
© 1996-‐2014 Project Control Expert Kft.
14 / 25
Networking projekt – Részletes ismertető és munkaszakaszok -‐
Szerver oldali kiszolgáló alkalmazás és a felette működő portál rendszer: A szerver oldali alkalmazások két layerben kerülnek kidolgozásra. Az alsóbb rétegben a fizikai kapcsolatok és az adatbázisok kapnak helyet, míg a felső layerben az üzleti, működési logika és a megjelenítés.
A tervezés két fő szakasza a magas szintű rendszerterv elkészítése, majd a moduláris rendszertervek kialakítása.
6.1 Magas szintű rendszerterv A magas szintű rendszerterv keretei között összeállítjuk a rendszer szerkezetét, definiáljuk az egyes fontosabb rendszerelemeket, valamint a rendszerelemek közötti kapcsolatok tartalmát jellegét és megoldását. A rendszer alapvetően egy robosztus központi erőforráshoz kapcsolódó kliens csoportok összessége, ahol a minden felhasználó egy klienshez kapcsolódik, de egy felhasználó kapcsolódhat több klienshez is.
6.2 Mobil kliens rendszertervek: A mobil kliens rendszertervezése azét speciális feladat, mert egyrészt egy többcélú, paraméterezhető mobil alkalmazást kell kialakítanunk oly módon, hogy a tervezés során már számolunk további egyedi fejlesztésű mobil alkalmazások fejlesztési igényeivel, így a tervdokumentáció során már egy megfelelő SDK alapjait is le kell tegyük.
6.3 Szerveroldali kliens kiszolgáló funkciók tervezése: Megtervezzük a rendszer szerver oldali erőforrásait, a szerver oldali alkalmazás rendszer kliens kiszolgáló funkcióit, köztük az authentikációval és az adatszinkronizálással.
6.4 Szerveroldali algoritmus futtatási környezet tervezése: A kutatási szakaszban kialakításra kerülő algoritmus rendszerek implementálásához szükséges futtatókörnyezetek, szoftverelemek fejlesztéséhez szükséges rendszertervek és integrációs tervek. Kliens-‐szerver kommunikáció tervezése: Külön feladat a szerver és mobil kliensek közötti kapcsolatok fenntartásához szükséges kommunikációs szabályok, protokollok tervezése a kommunikációs csatornák megfelelő védelemmel ellátása.
6.5 Adatbázis terv, adatkezelési tervek elkésztése: Elkészítjük a tervezett rendszer adatszerkezeti és adatkezelési terveit, beleértve a közösségi oldalakkal történő integrációból származó adatkapcsolati igények megoldásához, biztosításához szükséges tervezési feladatokat is. A részprojekt keretei között elkészülnek a projekt kísérleti fejlesztési feladatainak megvalósításához szükséges rendszertevési tervdokumentumok.
7. Szerver oldali alkalmazásfejlesztés (PCE) A részprojekt keretei között kezdjük meg a rendszer szerver oldali alkalmazásainak fejlesztését. Ez egy robosztus központi alkalmazás lesz, amely alapvetően nagy funkciócsoport megvalósításáért lesz felelős. Egyrészt ennek az alkalmazásrendszernek lesz a feladata a mobil kliensekkel történő kommunikáció megvalósítsa, biztosítása, másrészt pedig ebben az alkalmazásban kapnak helyet a rendszer üzleti logikáját hordozó algoritmusok futtató egységei. © 1996-‐2014 Project Control Expert Kft.
15 / 25
Networking projekt – Részletes ismertető és munkaszakaszok A részprojekt keretei között a tervezett networking támogató rendszer szerver oldalon helyt kapó logikai rétegeinek alsó része készül el, amelyben az adatbázis réteg a mobil interfész réteg és az üzleti logika réteg kap helyet. Erre az alkalmazás rétegre épül a portál fejlesztés során későbbi részprojektben kialakításra kerülő rendszerparaméter, vagy SaaS szervező réteg és a felhasználói felületek rétege. A részprojekt megvalósítása során a két nagy funkciócsoport kapcsán az alábbi részfeladatokat tervezzük megvalósítani.
7.1 Mobil kliens kiszolgáló funkciócsoport 7.1.1 Kliens authentikáció, authorizáció: A rendszerbe bejelentkező mobil klienseket ez a rendszerelem azonosítja és határozza meg, hogy melyik kiszolgált felhasználói csoporthoz tartozik. A feladat sajátossága, hogy a kliensek nagyon sokfélék lehetnek. 7.1.2 Adatszinkronizálás, adatkommunikáció: Itt valósítjuk meg a kliens szerver kommunikációt, az adatcserét, illetve a kliens és a szerver oldal közötti adatszinkronizációt. 7.1.3 Havaria kezelés (Elveszik a kapcsolat a klienssel, egyéb problémák): Kialakítjuk a nem tipikus felhasználási helyzetek kezelési protokolljait, szabályrendszerét. 7.1.4 Verziókezelés: Itt valósítjuk meg a mobil kliensek verziókezelését, amely a mobil alkalmazás fejlesztési piac sajátos technológiái logikájából fakadó követelmény, hiszen a gyorsan fejlodo mobil operációs rendszerek verzióváltásai miatt gyakori lesz a továbbfejlesztési igény, miközben a mobil alkalmazások felhasználói nem minden esetben frissítik saját mobil alkalmazásaikat, operációs rendszereiket. 7.1.5 A titkosított adatkapcsolatot kezelő interface magvalósítása.
7.2 Üzleti logika futtatása 7.2.1 Ajánló logika futtató környezetének implementálása: Kialakítjuk a kutatások során megalkotott ajánló algoritmusok futtató környezetét, majd abba illesztjük be a kifejlesztett új algoritmusokat. 7.2.2 Beosztás készítő logika futtató környezetének implementálása: A beosztáskészítő logika esetében is az ajánló rendszerhez hasonló módon járunk el. 7.2.3 Adaptív funkciók implementálása: Kialakítjuk, implementáljuk az adaptivitási képességhez szükséges funkciókat és azt az eszközrendszert, amelynek segítségével szabályozhatók az adaptivitást eredményező szabályzatok, protokollok. 7.2.4 Adatkapcsolatok felépítése, adatkezelési folyamatok, protokollok kialakítása: Felépítjük a rendszer működéséhez szükséges folyamatstruktúrát és a programba integráljuk. A részprojekt keretei között a rendszer erőforrásokat, motorokat alakítjuk ki, a rendszer erőforrások vezérlése a portál szintről történik, azaz a mobil kliensekből ez a rendszerelem gyűjti be az adatokat,
© 1996-‐2014 Project Control Expert Kft.
16 / 25
Networking projekt – Részletes ismertető és munkaszakaszok de az adatok feldolgozása a portál elemben meghatározott szabályszerűségek mentén történik. Ugyancsak a portál elemben elhelyezett vezérlő logika ad utasítást az algoritmusok ott meghatározott paraméterek mentén történő futtatására, illetve a futtatások eredményeinek kezelésére.
© 1996-‐2014 Project Control Expert Kft.
17 / 25
Networking projekt – Részletes ismertető és munkaszakaszok
8. Közösségi plug-‐in fejlesztés (PCE) A tervezett rendszert terveink szerint összekapcsoljuk a nagyobb közösségi alkalmazásokkal. Ennek a rendszer szempontjából több előnye van: -‐
-‐
-‐ -‐
Közösségi adatlapokon tárolt információk: Az adatlapokon a potenciális felhasználóink a rendszer számára hasznos adatokat, információkat jelenítenek meg. Az olyan üzleti célú közösségi portálokon, mint a LinkedIn, vagy Xing közvetlenül felhasználható infromációkat tartalmaz, míg az általánosabb célú platformok, mint a Facebook általánosabb, de az ajánlások során releváns információkat hordoznak. A kapcsolódás előnye, hogy ezeket az adatokat nem kell bekérnünk, hanem átvehetjük őket, így az ajánlások bázisa szélesebb lehet. A felhasználók valódi személyazonosságának nagyobb valószínűsége: Az üzleti célú alkalmazásokban fontos elem, hogy a megbízhatóság, amelynek része, hogy a partnerek valódi személyazonosságukat adják meg és nem avatárok mögé bújnak. A személyazonosság megállapításában a közösségi oldalak hasonló törekvése jellemző, így ezen a területe is előnyt jelent az integráció. Egyszerűbb felhasználói nyilvántartás: Kevesebb adatot kell nyilvántartanunk és nem szükséges a legtöbb adat külön, felhasználók általi frissítése. Reklám érték: A közösségi oldalak reklámértékkel is bírnak, illetve a felhasználókat ezeken keresztül el tudjuk érni. Éppen ezért a rendszer terjesztését, értékesítését is segíti egy ilyen jelleg integráció.
A részprojekt keretei között a követező résztevékenységeket tervezzük megvalósítani:
8.1 A kapcsolni tervezett portálok, szolgáltatások kiválasztása: Ma is viszonylag széles a különböző közösségek, üzleti közösségek köre, amelyek eltérő technikai és üzleti lehetőségeket kívánnak. Első lépésben azt mérjük fel, hogy melyek azok a közösségi oldalak, amelyekhez érdemes csatlakozni. Várhatóan a Facebook és az üzleti életben egyre szélesebb körben terjedő LinkedIn portálok ilyenek lesznek, de érdemes megvizsgálni további portál-‐integrációk lehetőségét is.
8.2 A kiválasztott szolgáltatásokhoz való kapcsolódás technológiai és üzleti lehetőségeinek vizsgálata: Felmérjük a kiválasztott portálok esetében a kapcsolódás technikai megoldási lehetőségeit. Várhatóan a nagyobb portálok esetében rendelkezésre ál egy SDK, amelynek segítségével egyszerűen hozhatók létre a kapcsolódások ugyanakkor elképzelhető, hogy néhány speciális megoldásra is szükség lehet.
8.3 Plugin-‐ek, beépülő alkalmazások tervezése: A beépülő alkalmazások a bekapcsolni kívánt közösségi szolgáltatás keretei között működő kisebb alkalmazások, amelyek a rendszerünk számára kaput nyitnak a közösségi hálózatok felé. A részprojekt keretei között az adott portálrendszer által rendelkezésre bocsátott fejlesztői segédletek mentén tervezzük meg a alkalmazásokat.
© 1996-‐2014 Project Control Expert Kft.
18 / 25
Networking projekt – Részletes ismertető és munkaszakaszok
8.4 Beépülő alkalmazások fejlesztése: A fejlesztői környezetekben elkészítjük a rendszertervek szerinti beépülő alkalmazásokat.
8.5 Beépülő alkalmazások tesztelése: Elvégezzük az elkészített alkalmazások fejlesztői, integrációs, majd felhasználói tesztjeit, amelyhez a portálrendszerek kínálta lehetőségeket is felhasználjuk.
8.6 Szolgáltatásélesítéssel együtt az alkalmazások publikálása: Amikor elkészülünk a fejlesztésekkel élesítjük a plug-‐in alkalmazásokat is, azaz publikáljuk azokat a szociális illetve üzleti hálózati rendszerekben. A részprojekt eredményeként több jelentős közösségi szolgáltatással tudjuk majd kialakítani a rendszerszintű kooperációt, amelynek segítségével a kialakításra kerülő ajánlási rendszerek hatékonyabbak és pontosabbak lehetnek, miközben mindenkori felhasználóinkat jelentős rendszeradminisztrációs tehertől szabadítjuk meg.
9. Portál tervezés-‐ és implementálás (PILLAR) 9.1 Portál tervezés és implementálás A részprojekt keretei között kialakítani tervezett portál funkciók, tulajdonképpen a szerver oldali alkalmazások felső rétegeit jelentik. A portál funkcionalitás főbb elemei az alábbiak: 9.1.1 Vezérlő központ: Ez egy belső funkcionális elem, amely magába foglalja a rendszer üzemeltetési logikáját. Itt rögzülnek az erőforrások használati szabályai, az algoritmusok futtatási sorrendje és paraméterei, a rendszer működése szempontjából lényeges dinamikus szabályok. A központ egyes beállításokat saját adatbázisokban, másokat a portál logika más elemeitől vesz át. A központ utasítja az alsóbb rétegekben működő erőforrásokat. 9.1.2 Üzemeltetési központ: Ez a vezérlőközpont felülete, amelyre összegyűjtjük a rendszerüzemeltetés fontosabb elemeit, így az erőforrások állapot jelzőit, a különböző rendszer logokat, a felhasználói aktivitás monitorait, egyéb üzemeltetési elemeket. 9.1.3 Paraméterező központ: A paraméterező központban tároljuk a felhasználói csoportok főbb szolgáltatási paramétereit, amelyek a rendszer működését, az igénybe vehető szolgáltatások körét határozza meg. 9.1.4 Ügyféladat kezelő és tároló SaaS központ: Az ügyfelek számára ez jelenti a szolgáltatás paraméterezési felületeket, amelyek segítségével áttekinthetik a saját felhasználói csoportjukhoz tartozó felhasználókra vonatkozó beállításokat, statisztikákat, értékeléseket, stb. 9.1.5 Felhasználói Információs központ: A felhasználói csoportok tagjai számára készülő felületek. A portál funkciók implementáláshoz szükséges webes szoftverfejlesztői környezetet a tervezési fázis során kívánjuk kiválasztani. A rendszer más elemeinek igényeit figyelembe véve a rendszer megvalósítható MS Windows környezetben .NET keretrendszer alkalmazásával, de akár Java platformon is, pl. Scala, Play keretrendszer, jQuery, Akka, Groovy, stb. A kiválasztott platformon külön rétegenként megtervezzük.
© 1996-‐2014 Project Control Expert Kft.
19 / 25
Networking projekt – Részletes ismertető és munkaszakaszok 9.1.6 Grafikus felhasználói felület: Az adott központ grafikus felhasználói felületeinek kinézetét, a felületen elérhető funkciókat, az eredmények, visszajelzések reprezentációját. 9.1.7 Függvény-‐könyvtár: A különböző központ által kezelendő funkciókat megvalósító szoftver függvényeket, modulokat. 9.1.8 Modul-‐interfész: A különböző központban található modulok között interfészeket, kommunikációs kapcsolatokat. A részprojekt keretei között a klasszikus szoftverfejlesztési menetrend szerint tervezünk dolgozni, így a munka egy rendszertervezésre épülő fejlesztési szakasszal, majd hibakereséssel, teszteléssel és hibajavítással folytatódik. A munkát dokumentáljuk.
10. Fejlesztői mobilalkalmazás / keretrendszer (for-‐profit / PCE) A mobil alkalmazás fejlesztés első nagy kérdése, hogy melyik platformokra fejlesszünk. Ennek kérdését jelen állás szerint nyitva kívánjuk hagyni annak érdekében, hogy a változékony mobil platform piac éppen aktuális állapotának megfelelően tudjuk alakítani a fejlesztéseinket. A részprojekt keretei között kialakítunk egy olyan speciális mobil alkalmazást, amely a fejlesztés igényeire optimalizálunk és amely a végleges rendszernek nem lesz része. A kísérleti mobil alkalmazás célja, hogy a lehető legszélesebb körben tudjunk különböző technikai megoldásokat funkciókat kialakítani. A fejlesztoi mobil alkalmazás a tesztelési lehetőségek rugalmas biztosítása mellett alkalmas arra is, hogy kipróbáljunk olyan featureket, amelyek a paraméterezhető mobil alkalmazásunkban nem kerül kialakításra, de várhatóan szükséges lehet az egyedi mobil alkalmazások esetén, illetve ez a fejlesztő alkalmazás lesz az alapja a későbbi egyedi fejlesztéseknek, mint egyfajta mobil alkalmazás fejlesztési SDK. A tervezett rendszert alapvetően két fő mobil alkalmazás csoporton keresztül lehet majd elérni. Az egyik egy általános mobil kliens megoldás, amely a kisebb megrendelőink számára nyújthat megoldást. Ennek lényege, hogy a megoldás egyfajta keretrendszerként működik, amely a felhasználók számára egyszerűen testre szabható, így nincs szükség egyedi alkalmazás fejlesztésre. Várhatóan az a mobil alkalmazás csak a legnépszerűbb Android platformra fog elkészülni, mivel a multiplatform kivitel az igényesebb ügyfelek számára lesz vonzó, akik számára egy teljesen testreszabott egyedi fejlesztésű mobil alkalmazás jelent megoldást. A mobil alkalmazás fejlesztés a különböző célspecifikációkhoz kapcsolódó funkcionális elemek egy meghatározott körét tartalmazó végső specifikációra épül majd. Cél egy egységes, de széles szolgáltatási spektrumot lefedni képes alkalmazás rendszer kialakítása. Az elkészülő megoldás tulajdonképpen egy technológia és bármilyen szkinnel felruházható szoftver szkeleton, amelybe egyszerű programparaméterezéssel lehet majd meghatározni a nyújtott funkciókat, majd azt a megrendelő igényei szerinti csomagolásba tudjuk helyezni. Az így elkészült mobil alkalmazást aztán ügyfelenként külön-‐külön tudjuk elhelyezni az alkalmazástárakban, de azok mindegyike egy közös szerverközponthoz fog kapcsolódni. A paraméterezhető mobil alkalmazás egyik fontos eleme lesz az átgondolt verziókezelés és az ehhez igazodó rendszerszerkezet annak érdekében, hogy ne jelentsen kezelhetetlen kihívást egy-‐egy © 1996-‐2014 Project Control Expert Kft.
20 / 25
Networking projekt – Részletes ismertető és munkaszakaszok operációs rendszer verzióváltás, hanem azok hatásai egyetlen fejlesztési ciklusban az összes szoftverklónra érvényesíthető legyen. A részprojekt keretei között elkészítjük a fejlesztés megvalósításához szükséges különböző tesztelési és prototípus célú mobil alkalmazásokat.
11.
Fejlesztői rendszertesztek és integráció (PCE)
A tesztelés jelen szakaszának elvégzése fejlesztői szakértelmet igényel. Nem a használhatóság vizsgálta, a felhasználói igényekhez történő finomhangolás elvégzése a cél, hanem a rendszertervben és specifikációban előzetesen rögzített működési mechanizmusok vizsgálata. A felhasználói teszteket, és a felhasználók igényeinek megfelelő finomhangolást a mintaalkalmazás fejlesztése után fogjuk elvégezni.
11.1 Tesztelési módszertan meghatározása A tesztelés tulajdonképpen a fejlesztési szakasszal párhuzamosan zajló folyamatot jelent. Minden egyes rendszerelem fejlesztését egy, a rendszerelemre, funkcionális egységre vagy alkalmazásra fókuszáló tesztelés fog követni. A különböző tesztek tervezése előtt meghatározzuk az adott feladat elvégzése szempontjából leginkább alkalmas tesztelési módszertant, úgymint smoke teszt (ez lényegében minden funkció fejlesztését követően végrehajtandó) fekete doboz vagy szürke doboz teszt, ahol az adott funkció bemeneti vektorára adott rendszer válaszokat vizsgáljuk, illetve hasonlítjuk össze az elvárt eredményekkel. Ezen módszertanok során nem vagy csak korlátosan tudjuk nyomon követni a hiba forrását és terjedését a rendszerben, azonban gyorsan lehetséges működik/nem működik típusú tesztelések elvégzésére alkalmazni.
11.2 Funkcionális/unit teszt Mivel a tesztelést tekintve a projekt egészén végighúzódó folyamatról van szó, érdemes rögtön a fejlesztés megkezdése előtt a tesztelési terveket rögzítő, és azokat összefoglaló tesztelési forgatókönyv létrehozása, melyben meghatározzuk a tesztelési célokat, a tesztelés során megvizsgálandó területeket, rendszerelemeket, az elvárt eredményeket, melyek elérése esetében a tesztek sikeresnek tekinthetőek, illetve a tesztelés során alkalmazni kívánt eljárásokat, módszereket is. A tesztelés során a munkamenet pontos rögzítésére törekszünk, hogy a menetközben jelentkező hibák elemzését, értékelését és kijavítását a tesztelés befejezését követően hatékonyan tudjuk végrehajtani. Ennek érdekében egy külön tesztelési naplót, úgynevezett test-‐log-‐ot vezetünk, melyben a tesztelés lépéseit pontosan lejegyezzük. A tesztelés során a rendszer funkcionális egységeinek tesztelése jelenti tehát a legfontosabb feladatot. Elvégezzük a mobil kliens és a szerver oldali alkalmazás tesztelését, vagyis megvizsgáljuk, hogy a specifikációban meghatározott működésnek a fenti alkalmazások megfelelnek-‐e. Ezt követi az adatbázis rendszer tesztelése, először egy általunk elkészített adatbázison, majd egy valós adatokon nyugvó adatbázison is.
11.3 Integrációs teszt A kutatás-‐fejlesztési szakasz lezárultával, és a rendszer funkcionális egységeinek tesztelését követően végezhetjük el a rendszerintegrációt, a rendszerelemek összeillesztését. A rendszerintegráció elvégzését követően újabb tesztelés lefolytatására kerül sor, melyben elsősorban a rendszerszintű hibák kiszűrésére, illetve a rendszerelemek, különösen a kliens és szerver közti kommunikáció, adatmigráció vizsgálatára helyezzük a hangsúlyt. © 1996-‐2014 Project Control Expert Kft.
21 / 25
Networking projekt – Részletes ismertető és munkaszakaszok Az integrációs tesztek elsősorban a különböző rendszerkomponensek, funkciók összességeinek illesztéséről szól. Ezen tesztelési feladat a komponensek közötti interfészek és együttműködésekről ad tájékoztatást.
12.
Minta-‐alkalmazás 1 -‐ Konferencia mintaalkalmazás (PILLAR)
A projekt keretében két célspecifikus mobil alkalmazást tervezünk kifejleszteni, amelyek a korábban kialakított paraméterezhető mobil alkalmazás és célspecifikus egyedi igényekre szabott célspecifikus alkalmazások között helyezkednek el szerkezetileg. Ezek közül az első a konferencia mintaalkalmazás, amely ahogy azt a neve is mutatja, elsősorban a különböző konferenciák, kiállítások számára készül az ott megjelenő szakemberek számára maximalizálva a megjelenést. A konferenciákon, kiállításokon a nehézséget az jelenti, hogy gyakran a legszéleseb körű reklámok ellenére is csak a szerencsén múlik, hogy egy együttműködési lehetőség a felszínre kerül. Ezeken a rendezvényeken általában az előadók és a kiállítók igyekeznek a figyelmet összpontosítani és ezáltal jellemzően egy dimenziós marad a kommunikáció, holott feltételezhető, hogy a megjelenő szereplők közötti kooperációs potenciál jóval szélesebb a kiállító-‐látogató, előadó hallgató kapcsolatrendszernél. Pontosan ez adja a konferenciáknak, kiállításoknak azt a sajátosságát, ami a networking egyik kulcsterepévé tette ezeket az eseményeket. A tervezett alkalmazásunk a konferenciák, kiállítások résztvevői számára kínál majd nagyon hasznos szolgáltatásokat a networking támogatására. A tervezett megoldás keretrendszer jellegű, azaz egy egységes mobil alkalmazás készül el, amely egy egységes szolgáltatást takar. Ezen belül tudják a konferencia és kiállítás szervezők regisztrálni az adott eseményt. Az eseményre regisztráló résztvevők az alkalmazásunk kínálta adatlapok kitöltésével, illetve a közösségi hálózatokban meglévő profilokkal kiegészülve vehetik igénybe a szolgáltatást. A konferencián, kiállításon megjelenve aztán a rendszer igény szerint szervez a felhasználók számára hasznosnak ítélt tárgyalásokat, ajánl standokat, előadásokat. A tervezett alkalmazás magas szinten képes kihasználni a rendszer adaptivitási képességeit és a megbeszéléseket, ajánlásokat mindig az aktuálisan az adott eseményen éppen ott lévő felhasználókra szűkíteni. A rendszer a fő funkción kívül terveink szerint további kiegészítő szolgáltatásokat is tartalmazna: -‐ -‐ -‐
Konferencia regisztrációk kezelése Adott előadáson résztvevők listája név szerint és/vagy statisztikai alapon (Pl.: Iparági bontás, vezetői szintek szerinti bontás, stb.) Networking utánkövetés, névjegy küldési funkció
A fejlesztés során megvizsgáljuk olyan szolgáltatások megvalósíthatóságát, mint a direkt sales támogatás, vagyis amikor egy stand munkatársa a stand előtt elsétáló látogatók érdeklődési preferenciáit láthatja, illetve a releváns preferenciával rendelkező érdeklődő elhaladása esetén jelez. Egy ilyen funkció természetesen lehet zavaró és a személyiségi jogi kérdéseket is felvet, így az ehhez hasonló megoldások lehetőségét csak felmérjük és abban az esetben valósítjuk meg, ha arra látunk lehetőséget. A részprojekt eredményeként elkészül egy olyan széles körben alkalmazható mintaalkalmazás, amely képes a tervezett networking támogató technológiának a bemutatására és egyben várhatóan önállóan is piacképes termék lehet.
© 1996-‐2014 Project Control Expert Kft.
22 / 25
Networking projekt – Részletes ismertető és munkaszakaszok
13.
Minta-‐alkalmazás 2 -‐ Rapid meeting mintaalkalmazás (PILLAR)
Ebben a részprojektben elkészül a másik use-‐case alapú mobil alkalmazás rendszer, amelynek célja a rapid meeting rendezvények támogatása. Elsősorban az Egyesült Állomokban elterjedt eszköze a networking-‐nek a rapid meeting technika. Ennek lényege, hogy egy adott üzletember találkozóra (ezt általában olyan szakmai szervezetek szervezik, mint a kamarák) érkező üzletemberek egy előre meghatározott koreográfia szerint nagyon rövid kétoldalú beszélgetéseket folytatnak egymással. A beszélgetés célja, hogy alig néhány percben mindkét résztvevő elmondja miért jelent meg a találkozón, mit keres, mit vár a másik oldaltól. Ezeknek a találkozóknak a nagy előnye a személyes beszélgetés lehetősége, amely minden esetben magában hordozza annak a lehetőségét, hogy egy-‐ egy találkozás a szándékolttól akár teljesen eltérő egyezségek, kapcsolatok létrehozását teszi lehetővé. A rapid meeting technika hátránya, hogy nagyon gyakran számunkra teljesen érdektelen beszélgetéseket kell lefolytatni mire a számunkra is érdekes partnerrel találkozunk. A tervezett mobil alkalmazás rendszer ezeknek az üzletember találkozóknak a hatékonyságát tudja növelni. A tervezett rendszerben a felhasználók megadhatnak érdeklődési preferenciákat és akár elore akár menet közben ki is zárhatnak ilyeneket, így a rapid megbeszélések között alakíthatják elvárásaikat. Az alkalmazásban fel fogjuk használni a rendszer értékelési képességeit is, amelyeket az egyes rapid meeting körök közötti újratervezés során mindig figyelembe is veszünk. Az alkalmazás segítségével automatikusan párosíthatók össze a beszélgető partnerek. Egy rendezvényen így akár több százan is részt vehetnek oly módon, hogy várhatóan a korábbiakhoz képest sokkal nagyobb arányban találnak majd számukra releváns beszélgetéseket, amely mind a szervező számára (Több résztvevő, nagyobb bevétel), mind a résztvevők számára (Több hasznos találkozó, kevesebb hasonló ajánlat) előnyös pozíciót eredményez. A tervezett alkalmazás a következő szolgáltatásokat fogja nyújtani: -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐
-‐ -‐
Regisztráció az eseményre A megjelenés ellenőrzése Preferenciák megadása és szerkesztése akár menet közben Rapid megbeszélések leszervezése, beosztása Rapid megbeszélések navigálása Rapid megbeszélések értékelése Jegyzet, akár hangfelvétel készítési lehetőség és networking adatok kezelése Nagy biztonságú kommunikációs csatorna titkosítási képesség A rendszer adaptív képességeiből kifolyólag egy nagyon rugalmas megoldás jön létre, ahol a résztvevők bármikor tarthatnak szünetet, ekkor a rendszer átszervezi a programot más szereplők zavarása nélkül az események szervezése teljesen automatizálható a történések minden résztvevő számára logolható, visszakereshető
A részprojekt eredményeként egy másik olyan minta alkalmazás készül el, amely képes a networking tevékenységet közvetlenül támogatni, és amely várhatóan úgy lehet önmagában is sikeres megoldás a piacon, hogy egyben a megvalósított technológia képességeit is be tudja mutatni.
14.
Minta-‐alkalmazás tesztek (PILLAR)
A mintaalkalmazás tesztek jelentik a rendszer finomhangolását és felhasználói igényekhez történő igazítását. A tesztelés nem szűken értelmezett fejlesztői tevékenység, hiszen az felhasználók
© 1996-‐2014 Project Control Expert Kft.
23 / 25
Networking projekt – Részletes ismertető és munkaszakaszok visszajelzéseire, feedbackjeire építjük a finomhangolás menetét. Ezt követi a fejlesztők által elvégzendő finomhangolás. A mintaalkalmazások tesztelésére tehát valós környezetben, egy konferencia, illetve üzletemberek egy találkozójának keretében kerül sor. Elsősorban az alábbi kérdésekre keressük a választ:
14.1 A felhasználói felület kezelhetősége, átláthatósága: Olyan felhasználóbarát alkalmazást szeretnénk készíteni, mely garantálja, hogy szélesebb körben terjedjen el az alkalmazás használata. Vizsgáljuk a -‐
Preferencia beállítások és az ajánló rendszer mennyiben fedi egymást: A preferencia beállítások során megadott szempontok, és az ezek alapján felajánlott partnerek megfelelnek-‐e a felhasználói igényeknek. Arra is választ szeretnénk kapni, hogy a preferencia szempontokat milyen irányba bővítsük.
14.2 Biztonsági szempontok: Mivel a rendszer a különböző privát információkat is begyűjti és épít ezekre, fontos kitérni arra, hogy a felhasználók mely adatokat szeretnék egy ilyen alkalmazás segítségével másokkal is megosztani, mások számára elérhetővé tenni.
14.3 Performancia tesztek: A mintaalkalmazás éles körülmények közötti tesztelésének további célja meghatározni a prototípus rendszerben alkalmazott algoritmusok, módszertanok, eljárások együttes működését. Vizsgáljuk a rendszer teljesítőképességét: 14.3.1 Az optimalizáció eredményessége: Azaz pl. egy felhasználónak egy időben nem ajánl fel két különböző megbeszélést vagy egy tárgyalóterem kapacitását nem lépi túl 14.3.2 Optimalizáció sebessége: Amely az ad-‐hoc jelleg miatt kritikus érték. 14.3.3 Robosztusság: Ahol meg kívánjuk figyelni -‐ -‐ -‐
-‐ -‐
az optimalizáló algoritmus esetleges lassulásának okait, memória felhasználásának változásait, lokális minimum helyekbe való ragadás valószínűségét: azaz az eredmény nem optimális (megeshet, hogy hibás eredményt ad), de nem hajlandó az algoritmus tovább konvergálni a globáli (optimális) minimumhely felé rendszerlefagyásokat egyéb, előre nem látható okok miatt bekövetkező hibákat.
14.4 Továbbfejlesztési irányok meghatározása A feedbackek összegyűjtését két módszerrel tervezzük begyűjteni: Az elégedettség, használhatóság mérésére a kérdőíves módszer tűnik a legalkalmasabbnak. Ezt a kérdőívet, akár a mintaalkalmazásba is beépíthetjük a gyors és könnyű feldolgozhatóság érdekében. A felhasználás azonban olyan egyéni igényeket és szempontokat támaszthat az alkalmazással szemben, melyek pusztán kvantitatív
© 1996-‐2014 Project Control Expert Kft.
24 / 25
Networking projekt – Részletes ismertető és munkaszakaszok módszerekkel nem mérhetőek. Ennek érdekében fókuszcsoportos módszerrel a statisztikailag nem értelmezhető kérdésekre kívánunk választ kapni. A feedbackek beérkezését és feldolgozását követően végezzük a rendszer végső kialakítását. A munkaszakaszban kialakítjuk a megvalósítandó tesztek pontos forgatókönyvét, a tesztek elvégzésének menetét, stb. Az eredményeket teszt jegyzőkönyvben rögzítjük és azok feldolgozását követően teszt riport készül.
© 1996-‐2014 Project Control Expert Kft.
25 / 25