[Ediția online][Soft Utilitar] Criterii de Jurizare

Criterii de jurizare - InfoEducație 2014
- secțiunea Soft Utilitar -

I. Arhitectura aplicației (30 puncte)

În cadrul acestui criteriu vom urmări toți pașii urmați în dezvoltarea proiectului propus.

I.1 Alegerea tematicii (Utilitatea)

Această secțiune va puncta originalitatea ideii propuse, perspectiva în care a fost abordată tematica și maniera în care aduce beneficii publicului țintă.

I.2 Proiectarea arhitecturală

Poate unul dintre cei mai importanți pași în dezvoltarea unei aplicații este proiectarea arhitecturală. În cadrul acestui pas se alege maniera de implementare a proiectului dar și tehnologiile ce avantajeaza dezvoltarea acestuia.

Aspecte ce vor fi punctate:
alegerea tehnologiilor potrivite pentru acest tip de proiect
folosirea paradigmelor de programare obiectuală şi/sau funcţională, acolo unde este cazul
folosirea unor tehnologii open source
crearea unor noi servicii/tehnologii

I.3 Analiza pieței

După alegerea unei tematici, dezvoltatorul trebuie să se documenteze referitor la proiecte asemănătoare sau la maniere alternative de implementare.

În cazul în care soluția lui nu aduce nici un beneficiu, aplicația nu este fiabilă.

Aspecte ce vor fi punctate:
în cazul aplicațiilor ce abordează o soluție deja existentă:
elementele distinctive față de aplicațiile existente
modalitățile inovative de rezolvare a problemelor
inovațiile aduse sistemului
în cazul aplicațiilor ce vin cu o idee nouă:
fiabilitatea proiectului
existența unui public țintă bine definit
II. Implementarea aplicației (40 puncte)

II.1 Distribuirea rolurilor în echipă
evidențierea rolurilor fiecărui membru în dezvoltarea proiectului
folosirea unei aplicații de versionare (GIT / SVN) pentru evidența contribuției fiecărui membru al echipei

II.2 Eleganța implementării
Încurajăm dezvoltatorii să proiecteze și să implementeze aplicația într-o manieră care să le faciliteze posibilitatea extinderii cu ușurință a funcționalităților.

II. 3 Maturitatea aplicației
În cadrul acestei secțiuni se va evalua starea în care se află aplicația și cât de aproape este aceasta pentru a putea fi distribuită publicului țintă.

Elemente ce pot fi punctate:
viziunea aplicatiei in conformitate cu publicul tinta ales
stadiul său, relativ la fiecare secțiune
utilizarea aplicației in lumea reală de către publicul țintă

II. 4 Tehnologiile folosite
În vederea evaluării acestui criteriu se va ține cont atât de necesitatea folosirii fiecărei tehnologii în realizarea proiectului, cât și de alegerea tehnologiilor potrivite pentru aplicația prezentată.

II. 5 Securitatea aplicației
În cadrul acestei secțiuni se va urmări modalitățile abordate de autori pentru a evita executarea de scenarii nedorite în cadrul aplicației.

Elemente ce vor fi punctate:
Validarea datelor de intrare și mecanisme de prevenție și protecție împotriva diverselor vulnerabilități (injecții, părăsirea sandbox-ului, escaladarea privilegiilor etc)
Tratarea erorilor și a excepțiilor
Mecanisme de detecție și, eventual, blocare pentru atacuri

II. 6 Testarea produsului
În cadrul dezvoltării unui proiect, este posibil să apară diverse probleme sau scenarii neprevăzute în cadrul etapei de dezvoltarea arhitecturală.
Elemente ce vor fi punctate:
Modalitati de testare functionale a proiectului (unit testing, integration testing, etc…)
Modalitati de testare non-functionale ale proiectului (scalabilitate, performanta, securitate, etc…)
Eventuale defectiuni ale sistemelor de care proiectul depinde (internet, baza de date, etc…)

II. 7 Automatizarea procesului

III. Interfața (GUI / CUI) (20 de puncte)

Orice aplicație trebuie să ofere o modalitate elegantă de a expune funcționalitățile oferite clientului.

Notă:
În cadrul unei aplicații web acestă secțiune se referă la componenta frontend.
III.1 Impresia generală
Interfața trebuie să ofere publicului țintă accesul la operația / resursa dorită în cel mai simplu mod.
III. 2 Ușurința în folosire
Interfața trebuie să fie plăcută, intuitivă și ușor de parcurs (UI, UX).

IV. Prezentarea proiectului (10 puncte)

În cadrul acestei secțiuni se vor puncta elemente ce țin de prezentarea și distribuirea proiectului.

IV.1 Impresia generală a proiectului

Elemente ce țin de maniera de prezentare și justificare a necesității unui astfel de proiect. de exemplu:
website de prezentare
film de prezentare a proiectului
alte materiale menite să promoveze proiectul

IV.2 Documentația proiectului
În documentația proiectului vă sugerăm să punctați următoarele aspecte:
Abstract
informații generice despre proiect
Arhitectura aplicației
Prezentarea aplicației
Elemente distinctive ale aplicației / Puncte forte
Ghid de instalare și configurare a aplicație
Raspunsuri de cel putin un paragraf pentru urmatoarele intrebari:
Justificarea folosirii tehnologiilor alese
Opinia autorului/autorilor despre ideea ce stă la baza proiectului implementat, dar și utilitatea acestuia pentru publicul ei țintă (minim 1 exemplu)

IV. 3 Codul sursă
Maniera în care este structurat codul sursă este foarte importantă în dezvoltarea unei aplicații. Cu cât aplicația este scrisă într-o manieră mai organizată și elegantă cu atât se va putea dezvolta pe viitor mai ușor.

Elemente ce vor fi apreciate:
structurarea și folosirea standardelor de programare în limbajele alese pentru implementare
prezența docstring-urilor și a comentariilor ce descriu functionalitatea fragmentelor de cod
mentenabilitatea codului si design patterns
IV. 4 Resurse externe
În cadrul acestei secțiuni autorii trebuie să ofere o listă de resurse externe pe care le-au folosit în dezvoltarea aplicației.
Printre acestea putem menționa:
fragmente de cod ce nu vă aparțin
biblioteci folosite
alte elemente ce aparțin unei terțe

Bonusuri (10 pc)

Comisia poate oferi un bonus de maxim 10 puncte pentru:
implementari excepționale
abordări noi și interesante
prezentări distinctive
impactul pozitiv asupra publicului
implicarea activă în procesul de jurizarea și oferirea de critici constructive asupra proiectelor concurente.
Penalizări
Comisia își rezervă dreptul de a penaliza proiectele ce încalcă regulile competiției:
- 10 puncte - în cazul în care fiecare membru din echipă nu are o contribuție de cel puțin 25 % din proiectul final
- 20 puncte - în cazul în care unul dintre membri echipei își asumă elemente dezvoltate de un alt membru al echipei
- 10 puncte - în cazul în care autorii folosesc în cadrul documentației fragmente din alte surse fără a le adăuga la referințe
- 3 punct - pentru pentru fiecare zi întârziere în a oferi un răspuns la o întrebare de pe forum
Alte mențiuni:
Proiectele înscrise fără documentație și prezentare nu vor putea fi jurizate.
Aplicațiile înscrise ce conțin alte funcționalități înafara celor declarate (cod malițios) vor fi descalificate.
Arhitectura aplicației este o componentă vitală în punctarea proiectului, iar în cazul în care aceasta este defectuasă participantul va putea obține maxim 50% din punctajul posibil pentru celălalte componente.
Folosirea unor resurse externe ce nu sunt declarate odată cu predarea proiectului va duce, după caz, la depunctarea sau chiar descalificarea participanților din concurs.
Orice tentativă de fraudă (spre exemplu, copierea unui proiect) va duce la descalificarea proiectului din concurs.
Conţinutul acestei pagini poate fi oricând alterat, fără o notificare prealabilă, trebuind considerat drept “work in progress”.
Mențiuni pentru ediția online
participanții trebuie să răspundă în maxim 24 de ore la orice întrebare adresată lor pe forum, atât din partea juriului cât și din partea celorlalți participanți
fiecare proiect va primi, in mod oficial, pe forum, feedback-ul fiecărui membru al comisiei, după finalizarea evaluărilor.