Разясняване на критерии 2011

Критериите са в процес на уточняване

 

Основните критерии са 100 точки, а допълнителните 50 като те са изброени в таблици. В тази статия ще бъдат поместени всички критерии заедно с бележки за това как ще става оценяването и как точно ще се раздават точките.

Интернет приложения

 

Основни критерии(100):

Самостоятелно интернет приложение 5
Функционалност и логическа завършеност 5
Удобен интерфейс 5
Качество на технологичното решение 15
Яснота при използване 5
Цитирани източници 5
Представяне и защита на проекта 20
Управление на изключения и грешки 10
Използване на клиентски скриптове, Ajax, Flash 10
Сигурност и защита 10
Използване на стриктни стандарти за писане на код 10

 

1.    Самостоятелно интернет приложение - 5
2.    Функционалност и логическа завършеност - 5
2.1.    Всички включени модули са завършени и работещи - 5
3.    Удобен интерфейс - 5
4.    Качество на технологичното решение - 15
4.1.    Бързодействие - 3
4.2.    Подходящо подбрани технологии - 4
4.3.    Правилно структуриран код - 8
5.    Яснота при използване - 5
6.    Цитирани източници - 5
7.    Представяне и защита на проекта - 20
7.1.    Кратка презентация на проекта - 4
7.2.    Демонстриране на приложението - 5
7.3.    Обяснения за действието, базирани на кода по време на представяне - 5
7.4.    Отговаряне на въпроси - 6
8.    Управление на изключения и грешки - 10
8.1.    Информиране на потребителя за грешки - 4
8.2.    Специален файл списък с грешките - 6
9.    Използване на клиентски скриптове, Ajax, Flash - 10
9.1.    Изрично посочено при представяне - 2
9.2.    Обяснение на действието на изпозлвания скрипт - 8
10.    Сигурност и защита - 10
11.    Използване на стриктни стандарти за писане на код - 10
11.1.    Валиден код - 4
11.2.    Използване на ясни правила за именуване в кода - 3
11.3.    Наличие на коментари - 3

 

Допълнителни критерии(50):

Използване на MVC фреймуърк (Zend, CakePHP, Symfony, Lithium и други), използване на библиотеки 12
Design Patterns 10
UML, DB Relationships диаграми 8
Оптимизация чрез профилинг. Кеширане 4
Мултиезичност 6
Проектиране, API спецификация (phpDocumentor) 6
Version Control System(SVN, GIT, CVS) 4

 

Допълнителни критерии
1.    Използване на MVC фреймуърк, използване на библиотеки - 12
1.1.    Посочено изрично при представяне - 2
1.2.    Указано точното място на прилагане – 3
1.3.    Правилно структуриран код - 7
2.    Използване на Design Patterns - 10
2.1.    Посочено изрично при представяне - 1
2.2.    Указано точното място на прилагане - 2
2.3.    Правилно структуриран код - 7
3.    UML, DB Relationships диаграми - 8
3.1.    Посочено изрично при представяне - 2
3.2.    UML диаграми - 3
3.3.    DB Relationships диаграми - 3
4.    Оптимизация чрез профилинг. Кеширане - 4
5.    Мултиезичност - 6
5.1.    Наличие на мултиезичност - 1
5.2.    Лесно добавяне на други езици - 2
5.3.    gettext - 3
6.    Проектиране, API спецификация - 6
7.    Version Control System - 4

 

Приложни програми

 

Основни критерии(100):

Оригиналност на избраната тема 4
Ясно поставени цели 4
Подходяща функционалност 4
Завършена структура 4
Приложимост 4
Използване ефективно и по предназначение на избраните технологии 10
Подходящо избрана архитектура със структурирани програмни единици 10
Използване на ясни и разбираеми правила за именуване в кода 7
Подреденост и четливост на кода и наличие на коментари 8
Бързо действие - оптимизация на кода на ниво изпълнение 3
Лесна инсталация и експлоатация 2
Адекватна обработка на грешки и непредвидени събития по време на изпълнение 10
Графично оформление 5
Представяне и защита на проекта 20
Документация 5

 

1.    Оригиналност на избраната тема - 4
1.1.    Изрично посочена причина за избиране на темата - 2
1.2.    Наличие на други приложения, сравняване - 2
2.    Ясно поставени цели - 4
2.1.    Изрично посочени по време на презентация - 2
2.2.    Пример за осъществяне на целите - 2
3.    Подходяща функционалност - 4
3.1.     Покрива поставените цели - 4
4.     Завършена структура - 4
4.1.    Работещо приложение - 1
4.2.    Завършени елементи - 3 (оценява се само това, което се представя)
5.    Приложимост - 4
5.1.    Интуитивен интерфейс - 2
5.2.    Сравняване с други платени приложения - 2
6.    Използване ефективно и по предназначение на избраните технологии - 10
6.1.     Технологиите се използват по предназначение - 3
6.2.    Ефективно покриват поставената задача - 7
7.    Подходящо избрана архитектура със структурирани програмни единици - 10
7.1.    Подходяща подбрана архитектура - 4
7.2.    Правилно структурирани програмни единици - 6 (релации на класове)
8.    Използване на ясни и разбираеми правила за именуване в кода - 7
8.1.    Именуване на елементите на английски език - 3 (цели се разбираемост от всички)
8.2.    При използване на обекти имената им изрично да подсказват за какво се използват - 4 (да няма Box1, Button1, Button2, Button3, а да е изрично посочено startBtn и т.н.)
9.    Подреденост и четливост на кода и наличие на коментари - 8
9.1.    Наличие на коментари - 2
9.2.    Четливост на кода - 3 (използване на стил за писане на код)
9.3.    Подреденост на кода - 3 (дължина на имена на функции, променливи, дължина на методи)
10.    Бързо действие - оптимизация на кода на ниво изпълнение - 3
11.    Лесна инсталация и експлоатация - 2
12.    Адекватна обработка на грешки и непредвидени събития по време на изпълнение - 10
12.1.    Информиране на потребителя за грешки - 4
12.2.    При срив на приложението запазва текущата въведена информация в полетата - 4
12.3.    Запазване на грешките в специален файл списък, който се изпраща до сървър - 2
13.    Графично оформление - 5
13.1.    Подбор на цветовете - 1
13.2.    Авторски компоненти и дизайн - 2
13.3.    Разпределение на елементите - 2
14.    Представяне и защита на проекта - 20
14.1.    Кратка презентацията на проекта - 4
14.2.    Демонстиране на приложението - 5
14.3.    Обяснения за действието, базирани на кода по време на представяне - 5
14.4.    Отговаряне на въпроси - 6
15.    Документация - 5
15.1.    Наличие на основна информация за приложението - 2
15.2.    Допълнителна информация за кода - 3 (основни класове, интересни решения и т.н.)

 

Допълнителни критерии(50):

Използване на готови библиотеки 10
Използване на Design Patterns 10
План на проекта 3
Мултиезичност 6
Персонализиране 2
Обновяване 15
Version Control System 4

 

Допълнителни критерии
1.    Използване на готови библиотеки - 10
1.1.    Посочено изрично при представяне - 2
1.2.    Указано точното място на прилагане – 3
1.3.    Правилно структуриран код - 5
2.    Използване на Design Patterns - 10
2.1.    Посочено изрично при представяне - 1
2.2.    Указано точното място на прилагане - 2
2.3.    Правилно структуриран код - 7
3.    План на проекта - 3
3.1.    Дати и срокове - 1
3.2.    План на реализация - 1
3.3.    Посочени основни решени проблеми - 1
4.    Мултиезичност - 6
4.1.    Наличие на мултиезичност - 1
4.2.    Лесно добавяне на други езици - 2
4.3.    gettext - 3
5.    Персонализиране - 2
5.1.    Възможност промяна на изглед, пароли при наличие на администраторски панел
6.    Обновяване - 15
6.1.    Обновяване на приложението чрез интернет - 2
6.2.    Възможност за добавяне и премахване на компоненти от потребител - 6
6.3.    Завършена система, която позволява лесно да се правят промени - 7
7.    Version Control System - 4