Verseny

Rendszermodellezés verseny feladat

FIGYELEM: A tantárggyal kapcsolatos idei tudnivalók a kar Moodle rendszerén érhetők el.

Emlékeztetőül a versenykiírás elérhető: https://vik.hk/2021/04/kari-tanulmanyi-versenyek-2021-tavasz/

Határidő: 2021.05.03. hétfő 23:59

Feltöltés a Moodle felületén (04.26. után)

A feladat egy őstermelőktől történő, közösségi vásárlást támogató rendszer modelljének megalkotása.

A COVID járvány következtében a személyes megjelenéssel járó vásárlási formák népszerűsége jelentősen visszaesett, ugyanakkor továbbra is igény van olyan árucikkek beszerzésére, melyek a tipikus házhozszállítási szolgáltatók kínálatában nem érhetőek el.

Ennek egy példája a minőségi, háztáji élelmiszerek beszerzése (zöldség-gyümölcs, húsáru, tojás, méz, lekvár, stb.).

Egy olyan platformot tervezünk, amely támogatja az egyes kistermelők és a fogyasztók összekapcsolását az alábbi módon:

  • Minden őstermelő meghirdethet adott típusú árut adott szállítási időszakban.
  • Minden vásárló rendelhet adott szállítási időszakra adott termelő(k)től adott termék(ek)et. 
  • Lehetséges későbbi kiszállítási időszakra is rendelni, ha a termelő arra adott fel hirdetést.
  • Egy rendelés egy vásárló és egy termelő közt jön létre egy kiszállítási időszakban.
  • A rendelés véglegesítésének feltétele a(z elektronikus) fizetés.
  • A rendszer alapvetően egyenlegeket (csak ebben a rendszerben használható "folyószámlákat") kezel, ezekre pénzt lehet feltölteni, ill. a regisztrációkor megadott bankszámlára utalással jóváírni (a rendszerből pénzt kivenni).
  • A kiszállítási időszak előtt T nappal (melyet a kistermelő állíthat be regisztrációkor) a rendelés mind a vevő, mind az eladó részéről díjtalanul lemondható (a befizetett összeg a vevő egyenlegén jóváírható), a határidő után ugyanakkor a teljes összeg 
  • a vétlen felet illeti az egyenlegén történő jóváírással.
  • A szolgáltató (a vásárlási szolgáltatást nyújtó cég, melynek rendszerét tervezzük) a beérkezett összegeket adott jutalék levonása után jóváírja a termelő egyenlegén.
  • Bármelyik résztvevő vásárolhat a rendszerben egyenlegéből, ill. jóváírhat belőle a regisztrációkor megadott bankszámlán.
  • A szállítási időszakban a futár jelzi, hogy milyen időpontban viszi ki az árut. Ezt a vevő (tekintettel ara, hogy úgyis otthon van) csak egy alkalommal módosíthatja.
  • Ha a kiszállítás a vevő hibájából meghiúsul, a rendelést adott átvevőhelyeken lehet átvenni adott határidőig. Az át nem vett rendelések segélyszervezetekhez kerülnek, vevői visszatérítés nélkül.
  • Ha a vevő egy adott rendelés minőségével elégedetlen, panaszt küldhet be a rendszer felületén (pl. fotó+leírás). A szolgáltató a panasz kivizsgálása után tetszőleges döntést hozhat (jóváír egy összeget a vevő egyenlegén, elutasítja a panaszt,felülvizsgálja a termelőt, stb).
  • Egy adott személy lehet termelő és vásárló is egyben.

Az egyszerűség kedvéért a regisztrációs/bejelentkezési folyamatok modellezésétől eltekintünk.

A rendszert kiszolgáló főbb komponensek az alábbiak:

  • Front-end, ami a megjelenítésért felelős. Minden felhasználói kérés fogadása és formai ellenőrzése ezen a komponensen történik.
  • Back-end, ami az üzleti logika futtatásáért (a fenti specifikációnak megfelelő rendszer működtetéséért) felel. A back-end fogadja a front-end felől érkező kéréseket, adott esetben kommunikál az adatbázissal és a fizetési szolgáltatóval.
  • Adatbázis, ami tárolja a termelők és a vevők adatait és egyenlegét, a vevők megrendeléseit, a kiszállítási időszakokat.
  • Fizetési szolgáltató (Payment Gateway, PGW), melyen keresztül a) utalást lehet indítani a rendszerben megadott bankszámlára (a PGW visszaküldi, hogy sikeres volt-e az utalás), b) egy szerződött pénzintézet oldalára átirányítva ott bankkártyás fizetés kezdeményezhető (tetszőleges bankkártyával), aminek eredményét a PGW visszaadja a rendszernek.

A teljesítménnyel kapcsolatos aspektusokat egyelőre nem ismerjük, a tervezés során feladat annak megbecslése is, hogy az egyes feladatok melyik komponenshez tartoznak és mennyi ideig terhelik azt. Érzékenységvizsgálat szempontjából érdekes kérdés, hogy egy ezeket a számokat érintő tévedés hogyan érinti az egész rendszer teljesítményét. Amire a megrendelő kíváncsi, az az, hogy a fő folyamatokból óránként hány futhat le, valamint hogy melyik komponensből hány darabra van szükség, hogy azok kihasználtsága a lehető legegyenletesebb legyen.

Jótanácsok: A rendszer modellezése során sokféle modellt készíthet. Nem kell mindent egy modellre tenni, a modelleknek nem feltétlenül kell közvetlenül kapcsolódnia, az egyes aspektusok nyugodtan szétválaszthatók. Természetesen minél konzisztensebb a végső modell, annál jobb, de a közbenső, egyszerűbb modellek is értékesek (érdemes lehet dokumentálni, ha valahol finomítás történt). Ha valahol hiányos a specifikáció, az a követelmények részletezésével nyugodtan kiegészíthető, az ellentmondásokat tetszőlegesen fel szabad oldani, de ezek a döntések mindig legyenek dokumentálva, és lehetőség szerint minél jobban tartsák meg az eredeti szándékot. Mivel határidős versenyfeladatról van szó, egyáltalán nem elvárt, hogy minden részlettel foglalkozzon – az értékelés az összes beadott megoldás összehasonlításával történik majd.