Разясняване на критерии 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