IT milžinė „DXC Technology“ įvertino Informacinių sistemų studijų programos absolventą Deividą Smailį ir įteikė jam 500 eurų vertės stipendiją už geriausią baigiamąjį darbą „Duomenų bazės testinių duomenų generavimo sistema“.
„Deivido Smailio darbo tematika – duomenų bazių sritis – labai aktuali mūsų įmonei, o sukurtas darbas – įdomus ir praktiškai naudingas. Džiaugiamės galėdami paskatinti studentą už puikiai atliktą bakalauro baigiamąjį darbą“, – apie studento darbą pasakojo „DXC Technology“ atstovė Jurgita Vitkauskaitė-Urbonavičienė.
Darbo santrauka
Šiame darbe buvo aptartas testinių duomenų aktualumas realiuose projektuose bei kaip kuriama sistema pagelbėtų kasdienį programuotojų darbą siekiant automatiškai generuotis testuojamus duomenis sistemoms. Pagrindinis darbo tikslas yra patobulinti duomenų pildymo procesą programinės įrangos kūrimo procese. Šis darbas leistų turėti centralizuotą vietą, kurioje būtų saugojama duomenų bazės struktūra. Padarius pakeitimą, jis matytųsi visiems komandos nariams ir galima būtų lengvai importuotis pakeitimus ir susigeneruoti duomenų bazę su testiniais duomenimis pagal atsinaujinusią duomenų bazės struktūrą.
Analizės etape išnagrinėtos jau sukurtos panašų funkcionalumą realizuojančios sistemos. Atlikus lyginamąją analizę buvo išsiaiškinta kokio funkcionalumo neturėjo didžioji dauguma sistemų ir kurie panaudojimo atvejai transformuoti į kuriamos sistemos panaudojimo atvejus. Technologinėje analizėje buvo palygintos skirtingos DBVS technologijos.
Išsirinkus MongoDB atitinkamai buvo išrinktos ir likusios technologijas – Express, Angular2 ir NodeJS (MEAN stack). Sistemos reikalavimų specifikacijoje buvo aprašyti visi sistemai keliami funkciniai reikalavimai bei suskirstyti į posistemius.
Pagrindiniai sistemos funkciniai reikalavimai: „Išsaugoti duomenų kopiją“ PA, „atsisiųsti duomenų kopiją“ PA bei visi veiksmai susiję su duomenų bazės struktūros redagavimu. Aprašius visas PA specifikacijas, buvo sudarytas esybių modelis, kuris naudodamas tuos pačius dalykinės srities terminus atspindi sistemos loginį duomenų saugojamą.
Sekantis etapas – sistemos loginė architektūra. Ji glaudžiai susijusi su būsima realizacija, todėl visi elementai projektuojami atsižvelgiant į naudojamas technologijas ir gerąsias programavimo praktikas. Sistemoje naudojama klasių diagrama yra labai didelė, todėl bendros diagramos atvaizduojamos atskirais posistemiais bei nedetalizuojant operacijų sąrašų.
Atskirai valdančiųjų klasių detalūs aprašai taip pat pateikiami šiame darbe. Detalizavus visus sistemos atliekamus veiksmus iki atskirų metodų ir klasių sąrašų, buvo galima išskirti naudojamas esybes bei informaciją, kurią jos turėtų saugoti. Tam tikslui buvo suprojektuota loginė duomenų bazės schema, kuri glaudžiai susijusi su realizacijos duomenų bazės struktūra.
Sistemos realizacijoje buvo aptartos sistemos sudedamosios dalys/komponentai bei aprašyti kaip jie susiję su projektavimo dalyje suprojektuotomis klasėmis. Šiame skyriuje pateikta ir sistemos diegimo diagrama. Klientui reikalinga internetinė naršyklė ir prieiga prie internetinės sąsajos.
Serveris reikalauja daugiau įdiegtos programinės įrangos: NodeJS, Express, MongoDb. Taip pat darbe aprašyti visi komponentai bei jų paskirtis informacinėje sistemoje. Su sistemos realizacija labai glaudžiai susijęs yra testavimo procesas.
Čia buvo įrodyta, jog sistema atitinka iškeltus nefunkcinius reikalavimus. Testavimo atvejų scenarijais buvo patikrinta, ar sistema geba atlikti pagrindinius sistemos funkcinius reikalavimus. Šiame skyriuje taip pat buvo patikrintas sistemos validacijos veiksmingumas ir ar galima apeiti išvengus klientinės validacijos. Išmokti dirbti su sistema būtų sudėtingiau, jeigu nebūtų dokumentacijos naudotojui. Čia galima rasti kam sistema yra skirta, kokie naudotojai naudojasi bei kokios yra pagrindinės sistemos funkcijos.
Dokumentacijoje detaliai aprašytas sistemos diegimo procesas bei bendri naudojimo principai su paveikslėliais ir paaiškinimais.
Visi mecenatų stipendijų laimėtojai paskelbti čia>>>