Power Of Two

From ICO wiki

Idee

Luua persoanliotsingu firmale CRM, kus oleksid kokku viidud kliendid, kandidaadid, konkurssid.

Liikmed

  • Andrei Pugatšov – projektijuht
  • Anton Meženin
  • Rain Kärner

Tehnoloogia

  • C#
  • WPF
  • SQL

Funktsionaalsus

  • Hallata klientide andmed
  • Hallata kandidaatide andmed
  • Hallata konkursse
  • Kasutada paindlike otsingufiltreid

Analüüs

Töö kirjeldus

Tellija on personaliotsingu firma. Ülesandeks on projekteerida uus CRM (Customer Relationship Management). CRM peab võimaldama:

  • Hallata klientide andmed
  • Hallata kandidaatide andmed
  • Hallata konkursse
  • Kasutada paindlike otsingufiltreid

Sissejuhatus

Vaadeldavaks organsatsiooniks on personaliotsingu ettevõte. Peamine eesmärk/teenus on kliendi tellimuse järgi leida neile sobiliku kandidaadi vajaliku ameti positsiooni täitmiseks. Ülesanne lihtsustamiseks meie firma tegeleb ainult arendajate otsimisega. Igapäevased tegevused on järgnevad:

  • Klientidega kohtumine, nende vajaduse selgitamine, pakkumiste tegemine.
  • Töökuulutuste koostamine ning avaldamine pabermeedias ja interneti kanalite kaudu.
  • Kandidaatide otsimine, sobilikke kandidaatide välja sorteerimine, sobilike kandidaatide intervjueerimine.

Mida see endas sisaldab?

Tegemist on CRM-ga, ehk tuumik on klientide ja kandidaatide andmebaas, koos kontaktidega ja muu vajaliku informatsiooniga. Kuna tegemist on personaliotsingufirmaga, siis selles CRM-s lisaks tava kontaktiinfole on veel ja konkursside, arendajate oskuste, töötingimuste, ametite ja hariduse andmebaasid infokogumid. Kui jätkub aega, siis tuleb ka mingisugune kalendri realisatsioon, mis saadab meeldetuletusi e-postiga.

Mis on selle eesmärk?

Eesmärk on teha üks rakendus klientide, kandidaatide ning konkursside haldamiseks. Info ühes kohas hoidmine kiirendab tööd ning võimaldab teha seoseid, mille abil info muutub rohkem organiseerituks. Ja muidugi eesmärgiks on ka andmete mugav töötlemine tavakasutajale, et ta ei peaks SQL päringutega andmebaasist midagi otsima või lisama, vaid selle jaoks oleks mugav ja kasutajasõbralik kasutajaliides.

Mida tavakasutaja sellega teha saab?

Tavakasutaja saab lisada uut infot (kliendid, ametid, kandidaadid jne) ning muuta seda. Lisaks ta saab teha otsinguid kandidaatide ja klientide seas, seda erinevate parameetrite järgi, näiteks leida kandidaati, kellel oleks vähemalt 5-aastane C# kogemus ning kes on nõus töötama välismaal. Või näiteks saab vaadata aktiivseid konkursse, et hinnata kuivõrd on koormatud konsultandid ning kellel anda haldamiseks uut konkurssi.

Milliste osade realiseerimine võib osutada problemaatiliseks?

Hetkel tundub, et kalendri realiseerimine on kõige keerulisem, kuna pole veel arusaamu kuidas see võiks töötada.

Kasutuslood / Must have

  • Kasutajana soovin luua uusi konkursse.
  • Kasutajana soovin lisada kandidaatide ankeete, kes soovisid kandideerida.
  • Kasutajana soovin vaadata kandideerijate nimekirja.
  • Kasutajana soovin vaadata kandidaatide ankeete.
  • Kasutajana soovin filtreerida kandidaate nende oskuste, töötingimuste, hariduse järgi.
  • Kasutajana soovin lisada uusi klient-ettevõtteid ja muuta nende andmeid.
  • Kasutajana soovin otsida klient-ettevõtteid, et vaadata nende infot.
  • Kasutajana soovin sulgeda konkurssi, et vastav teade oleks edastatud raamatupidajale kes koostab arvet.
  • Kasutajana soovin näha sobilike kandidaatide kontkatandmed, et leppida nendega aega intervjuuks.
  • Kasutajana soovin lisada ja muuta ameteid.
  • Kasutajana soovin lisada ja muuta töötingimusi.
  • Kasutajana soovin lisada ja muuta oskusi.
  • Kasutajana soovin vaadata kes ja millal muutis kliendi andmeid
  • Kasutajana soovin vaadata kes ja millal muutis kandidaatide andmeid.
  • Administraatorina soovin lisada või kustutada kasutajaid.
  • Administraatorina soovin vaadata aktiivseid konkursse ning konsultante kes neid haldab.

Kasutuslood / Nice to have

  • Kasutajana soovin lisada kalendrisse sündmusi (kohtumisi).
  • Kasutajana soovin näha kalendris minu sündmusi, et valmistada ette ja planeerida oma aega.
  • Kasutajana soovin broneerida ruume (ja muid ressursse) intervjuude jaoks.
  • Kasutajana soovin saada e-postile meeldetuletust tuleva sündmuse kohta.

Nõudmised rakendusele:

  • Muudatuste logi, et saaks näha kes ja millal lisas või muutis ankeete.
  • Mugav, kasutajasõbralik graafiline liides.
  • Erinevad kasutajad (et saaks eristada kes ja mis muudatuse tegi).
  • Skaleeruv, et vajadusel saab lisada funktsionaalsust juurde.

Esialgne planeeritav ERD

Power-of-two-erd-1.png

Prototüüp

24.12.2017 Link koodile

Lõplik versioon

Kuna vahepeal meeskond muutus kaheliikmeliseks, siis projekt ei ole päris valmis. Põhi: domeenimudel, andmebaasi tabelid, enamus WPF vorme on tehtud. Aga ei ole lõplikult viimistletud, veel puuduvad mõningad vormid, ei ole realiseeritud otsinguid ja filtreid. Kui kellelgil tekkib soov katsetada, siis sisselogimisel kasutajanimeks 1 ja parooliks 2. Kui olete sees, siis ennem tuleb täita tabeleid mingite andmetega, muidu ei saa sisestada kandidaate/kliente, kuna need nõuavad, et kõik väljad oleksid täidetud. Logimine hetkel väljalülitatud, kuna viimase muudatustega vahepeal jooksis kokku. Link projektile ZIP failis


Logi

  • 10.10.2017 Meeskonna moodustamine
  • 15.10.2017 Idee moodustamine ja eelanalüüs
  • 22.10.2017 Wiki lehe loomine
  • 05.11.2017 Analüüs
  • 12.11.2017 Retsensioon meeskonna TaxiService analüüsile
  • 24.12.2017 Prototüüpi esitamine, Prototüüp
  • 20.12.2017 Kaitsmine
  • 21.01.2017 Retsensioon meeskonna H2I projektile "Minu kogu"

Retsensioon

Sissejuhatus

See on retsensioon meeskonna H2I projektile „Minu Kogu“. Projekti sisuks on programm, mis aitab hallata raamatute kogu. Meeskond koosneb kolmest inimesest ning projektiks sai valitud ka väiksem programm (mitte nagu meie, kes arvasid, et kahekesti-kolmekesti nullilähedaste teadmistega teevad CRM-i valmis). Programm on tehtud C# keeles, seejuures kasutati Entity Framework-is andmebassi loomiseks (code first lähenemine) ja haldamiseks. Graafiline kasutajaliides on teostatud WPF abil.

Analüüs

Analüüsis on põhjalikult välja toodud programmi funktsionaalsus, mida võiks praktiliselt nimetada ka kasutujuhendiks, kuna tegemist on suhteliselt väikse programmiga. Ainuke mure, et analüüsis oli mitmeid kordi räägitud erinevatest vaadetest, sellisel juhul oleks olnud hea neid kuidagi visualiseerida, kas või Paint-ga joonistatu. Oleks ka hea, kui oleks ERD joonis, et saaks kiiresti hinnata struktuuri ning tutvuda olemite omavaheliste seostega.

Must-have ja Nice-to-have funktsionaalsused.

Must-have ja Nice-to-have funktsionaalsused on ilust välja toodud. Must-have funktsionaalsused said kõik realiseeritud. Nice-to-have funktsionaalsusest said teostatud erinevate kasutajatega sisselogimine ning mingil määral on teostatud ka teose otsing internetis, kui on soov seda osta. Hetkel küll otsib ainult Amazonis, aga selle eest Tolstoi „War and Peace“ sai leitud ja oleks ka võimalus seda kohe osta. :) Meie arust realiseeritud funktsionaalsus on piisav, ning see, et sai ka midagi nice-to-have listist realiseeritud on ainult pluss.

Programmi ülesehitus ja kood

Programm on hästi struktureeritud. Domeenimudel, interfeisid, teenused on eraldi kataloogides. Viewmodel-id on ka eraldi kaustas, seda ka eraldi projektis, kus on teostatud WPF kasutajaliides. Koodis praktiliselt puuduvad kommentaarid, aga see eest muutujatel ja meetoditel on niisugused nimed, et on kohe arusaadav mille jaoks see on. Kood on trepitud ning hästi loetav (Visual Studios on vist suhteliselt raske teha teisiti).

Kokkuvõte

Tegemist on hea projektiga, kõik mis oli lubatud sai teostatud, lõpptoode vastab analüüsile ning on täiesti kasutatav. Ei oska öelda, kuivõrd kasulik see on, sest meie meeskonnas ei leidunud kogujaid (seda enam raamatute kogujaid), kes saaksid hinnata selle praktilisust. Soovitustest võiks mainida, et sellele programmile oleks võinud olla nice-to-have-s loetletud internetis töötamise võimalus ning mobiilne versioon. Aga see on juba pigem järgnevate ainete projektide raames. Meie hinnang projektil on 95 palli 100-st. 5 palli on maha võetud selle eest, et analüüs ei olnud piisavalt hästi illustreeritud.