BPROF:offer
Tartalomjegyzék
RFQ
Bevezetés
Az általam fejlesztett és a következőkben bemutatandó alkalmazás egy magyarországi papírgyár igénye alapján jött létre. Az alkalmazás lényege a következő:
- A számtalan Excel táblában tárolt információk egy alkalmazásban szerepeljenek. Feltételezés: a szigetszerűen tárolt, esetleges gyakorisággal, sikerességgel frissített adatáramlás egyetlen egy nagy központ (SQL?) adatbázison át történik a jövőben? S ez az OLAP-jellegű alapvetés kiváltja az eddigi pl. PIVOT-alapú részleges funkcionalitásokat? Illetve minden más egyéb EXCEL-függvényláncolatokra alapozó funkcionalitást?
Kifejteni!
- A sokszor csak fejben lévő összefüggések jelenjenek meg az alkalmazás logikájában (vagyis elvileg létezni fog egy kiindulási folyamatábra és egy idealizált, a célrendszert bemutató folyamatábra már tervszinten, azaz hamarosan?!) Igen, ez lesz.
- Egyszerűsítse a rendelés igénylést
- Kiváltsa a szaktudást (KNUTH!)
ChatGPT --> node.js - Az alkalmazás segítségével lehessen rendelések leadni (tesztelés: hányféleképpen lehet esetlegesen hibát kiváltani a fejlesztés adott fázisában)
funkcionális és UAT tesztelés (önálló fejezetben)
- Az alkalmazás első körben belső használatra van szánva, de ugyanakkor alkalmasnak kell lennie külső felhasználó, vásárlók rendeléseinek leadására is (ez mit jelent architekturálisan, funkcionálisan?) Kidolgozni a választ!
Loggolás!
Az alkalmazás
Kiinduló pont:
Jelenleg számtalan Excel fájlban tárolnak különböző információkat. (melléklet tételes objektum, attribútum felmérés a jelenről és tervek az ideálról: vö. pl. kombinatorikai tér és ennek részlegesség-kezelése) Ezek az adatok sokszor nem egyeznek meg (redundancia-kezelés terve). A fluktuáció következtében sokszor elveszik a tudás (mi számít tudásnak? Pl. képletek, képletláncok? – volt-e eddig önellenőrzés? Pl. két eltérő úton azonos eredmény kihozásának képessége – lehet-e ilyen a jövőben? – egyéb konzisztencia-ellenőrzések lehetősége?), hogy adott termékeket milyen kombinációban képes a gyár legyártani. Az elsődleges cél az volt, hogy ezeket az információkat egy alkalmazás alá vonjuk, a megrendelési folyamatot egyszerűsítsük, sőt automatizáljuk (teljes mértékben?).
A megvalósításhoz szükséges kompetenciák
- AWS architect
- Node.js
- Adatbázis ismeretek
- Machine Learning (milyen kérdések kapcsán?)
reporting, ajánlás, rendelések, termékek elemzése
Az alkalmazás felé támasztott követelmények
Az alkalmazásnak tudnia kell egy előre megadott paraméterek és azok kapcsolatai alapján egy dinamikus form létrehozására. Minden egyes elem kiválasztása meghatározza a következő elemet a form-ban. Szükséges bizonyos matematikai kalkulációkat menet közben elvégezni a megadott paraméterek alapján (pl. A papírhengerek súlya, vagy az 1 kamionra pakolható mennyiség) Bizonyos logikát is kellett beépíteni. Pl. A 260 cm magasságú kamion rakterébe 1 240 cm tekercs pakolható be, ugyanakkor ennek tömege kétszerese, mint a 2x120 cm-es tekercs egyenként, amik ugyanazt a helyet foglalják el, így optimalizálható a szállítás. Az alkalmazásnak több rendelést is képesnek kell lennie eltárolni, hogy azokat egyszerre adhassák le. (terheléses teszt? Bármit jelentsen is a terhelés maga, ill. párhuzamos szálak esetleges ütközései, jogosultságkezelés?) Kidolgozni! A bementi paramétereket szükség esetén lehessen módosítani, illetve bővíteni az alkalmazás további fejlesztése nélkül. Az ajánlatkérésnek emailben kell megérkezniük egy megadott email címre. Minden ajánlatkérést el kell tárolni későbbi elemzés (pl?) Külön fejezetben céljából.
Az alkalmazás modulok
A jelenlegi terv szerint az alkalmazás a következő modulokból fog felépülni:
- Beléptető modul
A megrendelői oldal regisztrálására és beléptetésére szolgáló modul, mivel az az alkalmazás bár publikus neten keresztül elérhető, de tartalma privát, így csak az arra jogosultak érhetik el. - Ajánlatkérő modul
Ez a modul 3, vizuálisan is jól elkülöníthető területre oszlik el.- Termékek
A rendelhető termékek kiválasztására és paraméterezésére szolgáló felület - Cím
A megrendelői oldal adatainak bevitelére szolgáló felület. Jelenleg manuálisan kell kitölteni. Regisztráció és belépés után természetesen ez automatikus lesz. - Ajánlatkérések
A tárolt, folyamatban lévő ajánlatok listázásra, törlésére szolgáló felület. Lesz-e automatikus ajánlatértékelő modul? (pl. melyik ajánlat jelenti a legjobb ár/teljesítmény-viszonyt?)
- Termékek
Háttérben futó folyamat, ami a felvitt ajánlatokat értékeli ki a múltbeli adatok alapján
- Adminisztrációs modul
A termékek és a paraméterek konfigurálásra szolgáló oldal, ami segítségével lehet vizuálisan felvinni, módosítani és eltávolítani termékeket és paramétereiket, ezáltal elkerülhető az adatbázis oldali módosítás, ami komolyabb szakértelmet kíván. - Riporting modul (dashboard-tervek? Kinek miért mit hogyan?)
Gyártói oldalról van lehetőség riportok készítésére. - Fiók modul
A regisztrált ügyfél adatok módosítására, a regisztráció megszüntetésére szolgáló felület
Válaszott technológiák
Minősített AWS architeként az Amazon Web Service-t választottam futtató környezetként. Ebben megrendelői oldalról nem volt semmilyen megkötés.
Elastic Beanstalk
Az Elastic Beanstalk egy webalkalmazások és -szolgáltatások üzembe helyezésére és méretezésére szolgáló szolgáltatás. Az EB automatikusan kezel olyan szolgáltatásokat, mint a Load Balancer, Autoscaling, monitoring.
S3
Az Amazon Simple Storage service egy objektum alapú tároló. Az S3-ban lesznek tárolva az úgynevezett Technical Data Sheet-ek (TDS).
Amazon RDS
Az Amazon Relational Database Service egy PaaS adatbázis, ami az alkalmazás adatbázis rétegét fogja szolgáltatni.
Rendszerterv
Az alkalmazás logikai felépítését az alábbi ábra (ábra 1) szemlélteti. Fizikai? Kifejteni!
Minden nézet minden objektuma (inkl. nyilak, vonalak, színek, ikonok alábontása kötelező)… Részletesen kifejteni a teljes ábrát minden objektumot!
Adatmodell
Az adatbázis felépítése az alábbi adatmodellek alapján történik. Az ábra 2 szemlélteti a megrendelő adatainak, jogosultságainak és ajánlatkéréseinek adatkapcsolatát.
ábra 2
A következő adatmodell (ábra 3) a regisztrált termékek és paramétereinek tárolását mutatja meg.
ábra 3
Riportok?
Használat érdekében
Technikai önellenőrzés (pl. redundancia-kizárás) érdekében? Adathiány-feltárás érdekében? Stb.
IT security
- Client side helyett server side