Наредба № 81 от 28 ноември 2025 г. за придобиване на квалификация по професията "разработка на софтуер"
- Заглавие
- Наредба № 81 от 28 ноември 2025 г. за придобиване на квалификация по професията "разработка на софтуер"
- Категория
- наредба
- Обн. брой на ДВ
- 104
- Обн. година
- 2025
- Изменения?
- 0
НАРЕДБА № 81 ОТ 28 НОЕМВРИ 2025 Г. ЗА ПРИДОБИВАНЕ НА КВАЛИФИКАЦИЯ ПО ПРОФЕСИЯТА "РАЗРАБОТКА НА СОФТУЕР" Обн. ДВ. бр.104 от 5 Декември 2025г. Чл. 1. С тази наредба се определя държавният образователен стандарт (ДОС) за придобиването на квалификация по професията код 061303 "Разработка на софтуер" от област на образование "Информационно-комуникационни технологии" и професионално направление код 0613 "Анализ и разработване на софтуер и софтуерни приложения" съгласно Списъка на професиите за професионално образование и обучение по чл. 6, ал. 1 от Закона за професионалното образование и обучение. Чл. 2. Държавният образователен стандарт за придобиването на квалификация по професията код 061303 "Разработка на софтуер" съгласно приложението към тази наредба определя изискванията за придобиването на втора и трета степен на професионална квалификация по професията, за придобиване на квалификация по част от професията, както и за достигане на отделни единици резултати от ученето. Чл. 3. Въз основа на ДОС по чл. 1 и рамковите програми по чл. 10, ал. 3, т. 2, 3, 5 и 6 от Закона за професионалното образование и обучение се разработват типови учебни планове за ученици, учебни планове за лица, навършили 16 години, и учебни програми за обучението. Чл. 4. (1) Държавният образователен стандарт по чл. 1 определя изискванията към кандидатите, описанието на професията, единиците резултати от учене за придобиване на втора и трета степен на професионална квалификация по професията, критериите и средствата за оценяване на всяка единица резултат от учене, съвкупността от единици резултати от ученето, които формират придобиването на квалификация по част от професия, изискванията към материалната база и изискванията към обучаващите. (2) Държавният образователен стандарт за придобиване на квалификация по професията включва общата, отрасловата и специфичната професионална подготовка с необходимите професионални компетентности, които гарантират на обучаемия възможността за упражняване на професията след завършване на обучението. Приложение към чл. 2 ДЪРЖАВЕН ОБРАЗОВАТЕЛЕН СТАНДАРТ ЗА ПРИДОБИВАНЕ НА КВАЛИФИКАЦИЯ ПО ПРОФЕСИЯТА "РАЗРАБОТКА НА СОФТУЕР" Професионално направление Код: 0613 Анализ и разработване на софтуер и софтуерни приложения Професия Код: 061303 Разработка на софтуер Степени на професионална квалификация - II III - Ниво по Национална квалификационна рамка (НКР) - 3 4 - Ниво по Европейска квалификационна рамка (ЕКР) - 3 4 - 1. Изисквания към кандидатите 1.1. Изисквания към кандидатите за входящо минимално образователно и/или входящо квалификационно равнище за придобиване на степени на професионална квалификация съгласно Закона за професионалното образование и обучение За придобиване на втора и трета степен на професионална квалификация по професията "Разработка на софтуер" от Списъка на професиите за професионално образование и обучение, утвърден от министъра на образованието и науката със Заповед № РД 09-2230 от 09.08.2024 г., изискванията за входящото минимално образователно равнище към кандидатите са: 1.1.1. За придобиване на втора степен на професионална квалификация: • за лица, навършили 16 години - завършен първи гимназиален етап. 1.1.2. За придобиване на трета степен на професионална квалификация: • за ученици - завършено основно образование; • за лица, навършили 16 години - придобито право за явяване на държавни зрелостни изпити или завършено средно образование. Изискването за входящо квалификационно равнище при продължаващо професионално обучение за придобиване на трета степен на професионална квалификация е придобита втора степен на професионална квалификация по същата професия. 1.2. Здравословното състояние на кандидата се удостоверява с медицински документ, доказващ, че професията, по която желае да се обучава, не му е противопоказна. 2. Описание на професията 2.1. Втора степен на професионална квалификация по професията Лицето, придобило втора степен на професионална квалификация по професията "Разработка на софтуер", изпълнява основни задачи, свързани с изграждането, конфигурирането и поддръжката на софтуерни продукти. То работи с интегрирани среди за разработка, прилага утвърдени методологии при писане на програмен код и познава основните принципи на обектно ориентираното програмиране. Участва в създаването на приложения с различни потребителски интерфейси, обработва данни и изгражда уеббазирани системи. Лицето администрира и свързва бази от данни към софтуерните решения, използва приложно-програмни интерфейси (API) и следва добрите практики при организиране на проекта, използвайки системи за управление на версии и проекти. Работи в екип, прилага указания от по-опитни разработчици и изпълнява задачи с ниска до средна сложност в рамките на цялостен проект. Работната среда е предимно дигитална - използва се компютър, специализиран софтуер, онлайн инструменти и инструменти с изкуствен интелект. Работата изисква внимание към детайла, усет към структура и последователност, както и основни аналитични умения. Важно е лицето да бъде организирано, отговорно, с желание за развитие и придобиване на нови знания и езици за програмиране. Изисква се добро ниво на техническа грамотност. 2.2. Трета степен на професионална квалификация по професията Притежателят на трета степен по професията "Разработка на софтуер" разработва софтуерни решения на по-високо ниво на сложност - изгражда приложения, използвайки архитектурни шаблони (например MVC, MVVM), реализира системи, базирани на микроуслуги, и създава мултиплатформени приложения. Използва езици за програмиране от високо ниво, съчетава програмен код с модули, свързани с управление на бази данни и облачни платформи, и изгражда системи със съвременни потребителски интерфейси. Лицето познава и прилага различни методологии за разработка на софтуер (например Agile, Scrum, DevOps), работи със системи за непрекъсната интеграция (CI/CD), използва контейнери и среди за виртуализация и документира кода и архитектурата на софтуерните решения. Освен това може да поеме координационна роля в екипа, подпомагайки и обучавайки по-малко опитни разработчици. Лицето създава софтуер спрямо добри практики за писане на код, чиста архитектура и прилага добри практики за писане на сигурен софтуер. Работата се извършва в екипна и често международна среда. Изисква се високо ниво на техническа грамотност, логическо мислене, аналитичност и способност за работа под напрежение. Ценни личностни качества включват инициативност, креативност при решаване на проблеми, устойчивост на бързо променящи се изисквания и ефективна комуникация с други специалисти и клиенти. 2. Единици резултати от ученето (ЕРУ) за придобиване на всяка от степените на професионална квалификация по професията Степен на професионална квалификация Ниво по НКР/ ЕКР Номер на ЕРУ и вид професионална подготовка (ПП) ЕРУ 1 ЕРУ 2 ЕРУ 3 ЕРУ 4 ЕРУ 5 ЕРУ 6 ЕРУ 7 ЕРУ 8 ЕРУ 9 ЕРУ 10 ЕРУ 11 ЕРУ 12 ЕРУ 13 ЕРУ 14 Обща ПП Отраслова ПП Специфична ПП II 3 x x x x x x x x x x III 4 х х х х х х х х х х х х х х 2.1. Списък на единиците резултати от ученето по видове професионална подготовка ЕРУ по обща професионална подготовка - единна за всички професионални направления от СППОО ЕРУ 1. Здравословни и безопасни условия на труд и опазване на ЕРУ 2. Икономика и предприемачество ЕРУ по отраслова професионална подготовка - единна за професиите от професионално направление "Анализ и разработване на софтуер и софтуерни приложения" ЕРУ 3. Използване на информационни и комуникационни технологии (ИКТ) и изкуствен интелект (ИИ) в професионалната дейност ЕРУ 4. Реализиране на софтуерни решения ЕРУ 5. Анализ на данни и информационна сигурност ЕРУ по специфична професионална подготовка по професията ЕРУ 6. Изграждане на потребителски интерфейси ЕРУ 7. Разработка на основни програмни модули и сървърна логика ЕРУ 8. Работа с бази данни ЕРУ 9. Жизнен цикъл на софтуерна разработка ЕРУ 10. Поддръжка и тестване на приложения ЕРУ 11. Разработка на многослойни архитектури ЕРУ 12. Работа с облачни платформи и микроуслуги ЕРУ 13. Програмиране на вградени микрокомпютърни системи ЕРУ 14. Документиране и поддръжка на софтуер 2.2. Описание на единиците резултати от ученето за професията "Разработка на софтуер" 3.2.1. Обща професионална подготовка по професията ЕРУ 1 Здравословни и безопасни условия на труд (ЗБУТ) и опазване на Резултат от учене 1.1 Спазва хигиенните норми и здравословните и безопасните условия на труд на работното място Знания • Познава основните нормативни актове за здравословни и безопасни условия на труд • Обяснява възможните професионални и здравни рискове на работното място и причините за тяхното възникване • Разяснява основните правила при оказването на първа помощ при трудови злополуки • Изброява основните видове лични предпазни средства и техните функции • Познава видовете защитни приспособления и средства за сигнализация и маркировка за осигуряване на ЗБУТ • Изброява правилата за работа при аварии и аварийни ситуации Умения • Прилага мерки за безопасност на работното място • Спазва хигиенните норми на работното място • Прилага инструкции за безопасна работа • Реагира правилно при аварийни ситуации Компетентности • Спазва стриктно мерките за безопасност при изпълнение на различните трудови дейности Резултат от учене 1.2 Осъществява превантивна дейност за опазване на Знания • Познава нормативни актове, свързани с опазването на , и ЗБУТ • Познава трудовоправните норми, свързани със ЗБУТ • Разяснява общите изисквания за осигуряване на ЗБУТ съобразно спецификата на провежданата дейност и изискванията на техническото, технологичното и социалното развитие с цел защита на живота, здравето и работоспособността на работещите Умения • Търси информация за устойчиви практики, приложими в конкретната професионална дейност • Изпълнява дейности по събиране и съхраняване на опасни продукти, излезли от употреба уреди и консумативи съобразно правилата за рециклиране • Използва технологии и материали, щадящи • Спазва практики за пестене на вода, енергия и други ресурси на работното място Компетентности • Правилно обработва отпадъците на работното място съобразно изискванията за сортиране • Вярно и точно разпознава замърсяващи фактори на работното място и съдейства за ограничаване на въздействието им • Способен е стриктно да следва утвърдените правила и изисквания за опазване на околната среда Критерии за оценяване на ЕРУ Част по теория на професията: • Владее теоретични знания за: - хигиенните норми - здравословните и безопасните условия на труд на работното място - овладяването на аварийни ситуации и оказването на първа помощ - превантивната дейност за опазване на околната среда Част по практика на професията: - Избира своевременно най-адекватния тип поведение при зададената рискова ситуация - Вярно и точно определя необходимите действия за оказване на първа помощ Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 2 Икономика и предприемачество Резултат от учене 2.1 Познава основите на пазарната икономика Знания • Познава основни икономически понятия - търсене, предлагане, пазар, конкуренция, цена • Познава ролята на държавата в икономиката - , бюджет, регулации • Обяснява дейността на организацията в контекста на основни икономически принципи и понятия • Разяснява основни понятия във финансите - приходи, разходи, печалба, инвестиции • Разбира значението на социалната и екологичната отговорност при ръководене на бизнес Умения • Използва основни икономически понятия, като търсене, предлагане, пазар, конкуренция и цена при изпълнение на професионалните си задачи • Отчита значението на основните финансови показатели, като приходи, разходи, печалба и инвестиции Компетентности • Прилага правилата и изискванията, свързани с ролята на държавата в икономиката, включително , бюджет и регулации, в рамките на работната среда и своите професионални ангажименти Резултат от учене 2.2 Познава основите на предприемачеството Знания • Познава същността и ролята на предприемачеството в икономиката • Изрежда основните стъпки при стартиране на бизнес, включително генериране на идея, пазарно проучване, изготвяне на бизнес план • Изброява видовете фирми и организационно-правни форми на стопанска дейност Умения • Разграничава видовете фирми и организационно-правните форми на стопанска дейност • Прилага знания за предприемачеството в работната си среда Компетентности • Идентифицира успешни практически примери за управление на бизнес начинания • Предлага решения за подобряване на дейността в съответствие с технологичните и организационните изисквания • При необходимост представя идеи и предложения пред клиенти, инвеститори или партньори, като аргументира решенията си Критерии за оценяване на ЕРУ Част по теория на професията: - Владее основните теоретични знания и понятия в областта на икономиката - Владее основните теоретични постановки в областта на предприемачеството Част по практика на професията: - Вярно, точно и мотивирано определя действията за разрешаване на описания проблем в зададения казус - Участва в разработването на бизнес план на фирмата според изискванията на предварително дефинираното задание Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика 3.2.2. Отраслова професионална подготовка по професията ЕРУ 3 Използване на информационни и комуникационни технологии (ИКТ) и изкуствен интелект (ИИ) в професионалната дейност Резултат от учене 3.1 Използва базови ИКТ умения в професионалната дейност Знания • Разпознава основни компоненти на компютърна система • Познава йерархичната структура на директории и файлове • Обяснява разликата между локално съхранение и облачно съхранение • Познава основни файлови формати и разширения • Познава функционалностите на софтуерите за създаване и редакция на цифрово съдържание от различен тип (текст, таблици, изображения, аудио, видео) Умения • Създава, мести, преименува, копира и изтрива файлове и директории • Използва клавишни комбинации за бърза и ефективна работа • Инсталира и деинсталира приложен софтуер • Свързва и настройва периферни устройства • Използва основни настройки за достъп до интернет и мрежа • Архивира и разархивира файлове с помощта на стандартен софтуер • Създава цифрово съдържание (текст, таблици, изображения, аудио, видео) с помощта на приложен софтуер, облачни платформи и/или изкуствен интелект • Използва облачни услуги за съхранение на информация Компетентности • Използва компютърна система самостоятелно, безопасно и отговорно • Открива и отстранява често срещани технически проблеми при работа с компютърна система и интернет • Следва добри практики за защита на лични данни и информационна сигурност при работа с файлове и интернет Резултат от учене 3.2 Обработва информация с информационни и комуникационни технологии и изкуствен интелект Знания • Осъзнава риска от невярна или манипулативна информация, включително такава, генерирана от изкуствен интелект, и познава методи за оценка на нейната достоверност и проверка чрез надеждни източници • Познава различни типове цифрова информация - текстова, числова, графична, аудио, видео • Разпознава основни формати за съхранение и обмен на данни (CSV, JSON, XML, PDF, изображения и др.) • Разбира разликата между структурирана, неструктурирана и полуструктурирана информация • Обяснява как работят основни инструменти за автоматизирана обработка на информация, включително приложения с изкуствен интелект • Обяснява основни принципи и ограничения на използването на изкуствен интелект при обработка на данни, включително възможни грешки Умения • Прилага критично мислене за оценка на информация, получена от изкуствен интелект и други информационни източници • Използва софтуерни приложения за въвеждане, редактиране, форматиране и представяне на информация (текстови редактори, графични редактори, електронни таблици и др.) • Прилага електронни таблици за обработка и визуализация на данни Компетентности • Избира подходящ инструмент според типа и обема на информацията за обработка • Прилага знания и умения за решаване на проблеми с ИКТ и ИИ инструменти в различни учебни и житейски ситуации • Проявява критично мислене при тълкуване на резултати от автоматизирана обработка или генериране от ИИ Резултат от учене 3.3 Инсталира операционни системи и основни софтуерни компоненти Знания • Обяснява основни етапи при инсталиране на операционни системи • Различава видовете операционни системи и техните характеристики • Разчита и анализира системните изисквания на операционните системи и обяснява тяхното значение • Описва предназначението на основни софтуерни компоненти (драйвери, пакети за сигурност, офис пакети) • Обяснява методи за лицензиране и активация Умения • Подготвя инсталационна среда • Извършва инсталация на операционна система със стандартни настройки • Инсталира и конфигурира базови приложения и драйвери • Валидира функционалността след инсталация Компетентности • Изгражда работеща системна среда чрез инсталиране на операционни системи и основен софтуер съобразно целите на инфраструктурата и изискванията за производителност Резултат от учене 3.4 Конфигурира мрежови настройки и свързаност между устройства Знания • Описва основни типове мрежи (LAN, WAN, WLAN) • Обяснява IP адресиране, подмрежи, шлюзове и DNS • Разграничава активни и пасивни мрежови устройства • Обяснява принципите на сигурна мрежова конфигурация Умения • Конфигурира IP параметри ръчно и автоматично (DHCP) • Настройва точка за достъп и споделяне на ресурси в мрежа • Проверява свързаност и диагностицира проблеми Компетентности • Изгражда и поддържа базова мрежова инфраструктура чрез правилна конфигурация на устройства и мрежови параметри за осигуряване на свързаност и достъп до ресурси Резултат от учене 3.5 Разбира и прилага основни принципи на изкуствения интелект в професионалната дейност Знания • Разпознава основни понятия, свързани с изкуствения интелект • Познава възможните приложения на ИИ в различни области • Разбира възможните ограничения и рискове при използването на ИИ • Познава принципи за етично използване на изкуствен интелект, включително аспекти, свързани с лични данни, прозрачност на вземане на решения и др. Умения • Използва приложения, базирани на ИИ, за генериране на цифрово съдържание и/или подпомагане на работата със съществуващо цифрово съдържание • Генерира, редактира или обобщава съдържание чрез инструменти с ИИ, като прилага критерии за оценка на резултатите • Формулира заявки (prompts) за извличане на полезна информация или съдържание от генеративни модели • Оценява достоверността и релевантността на отговорите от ИИ, сравнявайки ги с авторитетни източници • Използва генеративни ИИ за създаване на визуално, текстово или аудио съдържание в съответствие с поставена задача Компетентности • Интегрира приложения с ИИ в професионалната си дейност за повишаване на ефективността си • Проявява критично мислене и цифрова грамотност при работа с изкуствен интелект • Прилага етични съображения при работа с изкуствен интелект Критерии за оценяване на ЕРУ Част по теория на професията: - Познава основни компоненти на компютърна система - Обяснява принципите на инсталиране на операционни системи и мрежови настройки - Разграничава файлови формати - Разяснява принципи на етично използване на изкуствен интелект Част по практика на професията: - Инсталира и настройва ОС - Изпълнява действия с файлове и директории в операционна система - Настройва мрежова свързаност и използва облачни услуги - Използва приложения с ИИ за създаване или обработка на съдържание Средства за оценяване: Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 4 Реализиране на софтуерни решения Резултат от учене 4.1 Разбира основни концепции в програмирането Знания • Познава бройните системи, представянето на данни и операции с тях • Познава основите на булевата алгебра • Разбира основни понятия в програмирането - променливи, оператори, условни и циклични конструкции • Различава видове програмни езици • Обяснява предназначението на компилатор и интерпретатор • Изброява видове типове данни • Прави разлика между силно- и слаботипизирани програмни езици Умения • Извършва преобразувания и аритметични действия с числа в различни бройни системи • Прилага основните логически функции и ги включва в логически изрази • Съставя и прилага основни алгоритми при решаването на задачи • Разбира и описва логиката на проста програма (на естествен език или чрез блок схема) • Обяснява какво ще се случи при изпълнението на даден откъс от код Компетентности • Демонстрира базисно алгоритмично мислене чрез логически и последователни действия Резултат от учене 4.2 Използва алгоритми и структури от данни Знания • Обяснява понятието "алгоритъм" • Разбира понятието "сложност на алгоритъм" и неговата роля • Обяснява същността на рекурсията • Описва различни видове алгоритми • Изброява алгоритми за търсене • Изброява алгоритми за сортиране • Познава процеса на "сортиране" на дадена поредица от елементи • Разбира процеса на търсене • Обяснява същността на структурите от данни и тяхната роля в програмирането • Описва различни видове структури от данни - списъци, стек, опашка, речник, множество • Разбира значението на избора на структура от данни за ефективността на решението Умения • Намира сложност на алгоритъм • Използва структури от данни за съхранение и обработка на колекции от данни • Имплементира основни структури от данни по ефективен начин • Имплементира алгоритми за сортиране • Имплементира алгоритми за търсене • Избира подходяща структура от данни за решаване на конкретна задача Компетентности • Ефективно използва структури от данни за решаване на конкретен проблем Резултат от учене 4.3 Използва основни програмни конструкции в интегрирана среда за разработка Знания • Разграничава основните парадигми в програмирането (например процедурно, обектно ориентирано, функционално програмиране) • Описва структурата и синтаксиса на избран програмен език • Разбира понятието "интегрирана среда за разработка" (IDE) и познава нейните основни функции • Описва основни компоненти на интегрирана среда за разработка - редактор на код, инструменти за стартиране и дебъгване, прозорец със съобщения за грешки и др. • Различава грешка при компилиране, грешка при изпълнение, както и логическа грешка Умения • Използва основни типове данни и променливи за съхранение и обработка на стойности • Използва променливи, условни конструкции, цикли и функции • Използва масиви за съхранение на данни • Използва символни низове за обработка на текст • Пише и структурира код съгласно синтактичните правила на езика • Използва среди за разработка за ефективно писане на код • Разбира съобщения за грешки и отстранява проблеми • Използва инструменти с изкуствен интелект за генериране и допълване на програмен код Компетентности • Работи ефективно в среда за разработка, като използва основните и възможности за писане, стартиране и дебъгване • Самостоятелно разработва функционален програмен код, отговарящ на поставените изисквания и стандарти за четимост и структура Резултат от учене 4.4 Създава и тества кратки програми с фокус върху функционалност и четимост Знания • Познава правила и добри практики за именуване и подреждане на код • Разбира ролята на коментари за качеството на програмния код • Обяснява процеса на рефакториране на код • Изброява различни видове тестване на програма • Описва видове тестове (unit, integration, system) и тяхната роля • Обяснява основните принципи на дебъгване (отстраняване на грешки) • Познава техники за оптимизация на софтуерен код (например намаляване на сложност, подобряване на производителността) Умения • Създава програма с конкретна цел и функционалност чрез език за програмиране • Използва консистентен стил на писане на програмен код • Използва инструменти за дебъгване и тестване в средата за разработка • Създава базови unit тестове с помощта на библиотеки • Идентифицира и коригира неефективен код • Открива и поправя грешки в логиката и синтаксиса на своята програма Компетентности • Осигурява стабилност и ефективност на софтуерното решение чрез систематично тестване и подобрения Резултат от учене 4.5 Работи с инструменти за контрол на версиите и екипно сътрудничество Знания • Обяснява основни концепции на системи за контрол на версиите • Разграничава централизирани и децентрализирани системи за контрол на версиите • Разглежда основни команди и концепции в съответна система за контрол на версиите • Разбира значението на хронологията на промените и разрешаването на конфликти • Изброява добри практики при съвместна работа по софтуерен проект Умения • Използва системи за контрол на версиите за създаване на клонове и управление на промените • Създава хранилище (repository) • Създава заявки за сливане (pull/merge request) • Извършва преглед на код (code review) • Извършва сливане на код и разрешаване на конфликти • Сътрудничи чрез общо хранилище (repository) Компетентности • Работи ефективно в екипна среда, използвайки инструменти за версионен контрол и съвместна разработка Резултат от учене 4.6 Създава уебстраници Знания • Познава основни HTML тагове • Разбира как CSS се използва за оформление на елементи • Разграничава HTML, CSS и JavaScript по предназначение и синтаксис • Познава ролята на браузъра и инструменти за разработка (DevTools) • Различава адаптивен и отзивчив дизайн • Дефинира понятието "документен обектен модел" (DOM) Умения • Създава HTML страница • Оформя визуално съдържанието с помощта на CSS • Използва DevTools на браузъра за преглед и редакция на HTML и CSS • Управлява и манипулира елементи на страницата чрез JavaScript • Генерира уебстраници с помощта на инструменти с изкуствен интелект, използвайки подходящи заявки Компетентности • Създава базова уебстраница, съобразена с изискванията за структура и визуално оформление Резултат от учене 4.7 Използва инструменти с ИИ за подпомагане на софтуерната разработка Знания • Познава различни видове инструменти с ИИ, използвани в програмирането • Разбира ограниченията и риска от генериране на неправилни/небезопасни решения Умения • Използва ИИ инструменти в среда за разработка • Формулира ясни и целенасочени заявки (prompts), за да получава качествени предложения • Оценява предложените от ИИ решения откъм логика, безопасност, ефикасност и др. • Адаптира генерирания код според изискванията на конкретния проект • Използва ИИ инструменти за генериране на тестове и документация на вече съществуващ код Компетентности • Демонстрира способност да използва ИИ като помощен инструмент за подобрение на своята ефективност • Интегрира използването на ИИ инструменти в своя работен процес за постигане на по-голяма ефективност Критерии за оценяване на ЕРУ Част по теория на професията: - Познава основни програмни конструкции и типове данни - Обяснява как работят алгоритми за търсене и сортиране - Разграничава грешки при компилация, изпълнение и логически грешки в програмен код - Описва ролята на системите за контрол на версиите Част по практика на професията: - Създава програма по дадено условие, използвайки среда за разработка - Имплементира структури от данни - Оформя уебстраница с HTML, CSS и базов JavaScript - Използва инструменти с ИИ за генериране, допълване или тестване на код Средства за оценяване: Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 5 Анализ на данни и информационна сигурност Резултат от учене 5.1 Работи с бази данни Знания • Разграничава типове бази данни и структури на таблици • Обяснява функциите на системите за управление на бази данни (СУБД) • Изяснява понятия, като първичен ключ, релация, индекс • Описва фази на създаване на база данни • Познава нормалните форми и принципите за нормализация на бази данни • Обяснява ролята на индекси и влиянието им върху ефективността Умения • Дефинира таблици, полета и релации в СУБД • Въвежда и актуализира данни чрез интерфейс или заявки • Използва инструменти за създаване на база данни • Създава резервни копия на база данни • Прилага нормализация за елиминиране на излишни зависимости • Създава и използва индекси за оптимизация на заявки Компетентности • Създава, структурира и поддържа бази данни чрез ефективно използване на СУБД съобразно зададени изисквания и стандарти Резултат от учене 5.2 Извлича, обработва и визуализира данни чрез заявки Знания • Обяснява основни заявки синтаксис на SQL • Разграничава типове заявки (извличане, актуализация, обединяване) • Описва формати за представяне и визуализация на данни • Изяснява целите на сортиране, филтриране и групиране Умения • Изгражда заявки за извличане на данни с филтри и условия • Обединява таблици • Групира и агрегира стойности чрез функции • Представя данни чрез графики, таблици или диаграми Компетентности • Извлича и анализира данни чрез заявки и визуализира резултатите по разбираем и структуриран начин Резултат от учене 5.3 Използва скриптови езици за автоматизиране на задачи по управление и обработка на данни Знания • Разграничава базови конструкции на скриптов език • Описва възможности за свързване към база данни чрез скрипт • Обяснява приложението на автоматизацията при рутинни задачи Умения • Създава скриптове за импорт, експорт, преобразуване или обработка на данни • Извършва автоматизирани действия (запис, проверка, архивиране) • Работи със среди за изпълнение на скриптове • Открива и отстранява грешки в скриптов код Компетентности • Автоматизира често повтарящи се процеси чрез използване на скриптови езици Резултат от учене 5.4 Анализира и интерпретира данни чрез цифрови инструменти и изкуствен интелект Знания • Разпознава етапите на анализа на данни - събиране, почистване, визуализация, тълкуване • Изброява основни статистически показатели - средна стойност, медиана, диапазон, стандартно отклонение • Познава различни видове диаграми и визуални представяния на данни Умения • Зарежда данни в ИИ инструмент • Използва вградени ИИ функции в офис или информационни системи • Генерира автоматизирани обобщения, класификации или препоръки • Използва инструменти с ИИ за създаване на графики и визуализации • Интерпретира резултати от ИИ анализа и проверява тяхната логическа обоснованост • Интерпретира изход от инструмент с ИИ • Формулира изводи на база анализираните данни Компетентности • Използва инструменти с изкуствен интелект за базов анализ на структурирани данни с цел откриване на закономерности Резултат от учене 5.5 Прилага добри практики за дигитална сигурност и защита на лични данни Знания • Разбира рисковете, свързани с работа в интернет и цифрова среда • Познава принципите на защита на личната информация и цифровата идентичност • Разбира значението на силните пароли и механизмите за двуфакторно или многофакторно удостоверяване (2FA/MFA) • Обяснява какво представлява GDPR и какви права и задължения съществуват при събиране и обработка на лични данни • Обяснява трите принципа на информационната сигурност - конфиденциалност, цялостност и наличност на информацията (CIA триада) • Разбира понятието "хардуерен токен" (security key) като физическо устройство за удостоверяване • Познава предимствата и ограниченията на хардуерните токени спрямо мобилните приложения за удостоверяване Умения • Създава и използва силни пароли, включително чрез генератори и мениджъри на пароли • Настройва двуфакторно и многофакторно удостоверяване • Настройва и използва двуфакторно и многофакторно удостоверяване с помощта на мобилни приложения за удостоверяване • Сканира QR код за добавяне на нов профил в приложение за удостоверяване и използва еднократни кодове за достъп • Разпознава фишинг съобщения, подозрителни линкове и имейли • Спазва принципите на киберхигиена - заключване на екрана, избягване на обществени Wi-Fi без защита, периодична смяна на пароли • Прилага основни мерки за сигурност на мобилни устройства Компетентности • Прилага разнообразни методи за защита на достъпа до цифрови ресурси, избирайки подходящото решение според нивото на сигурност и контекста Критерии за оценяване на ЕРУ Част по теория на професията: - Разграничава типове бази данни и релационни структури - Обяснява основни SQL оператори и тяхното предназначение - Познава принципи на информационната сигурност и защита на лични данни - Разяснява стъпки в анализа на данни и основни статистически показатели Част по практика на професията: - Създава и управлява бази данни с помощта на СУБД - Извлича и обработва данни чрез SQL заявки - Създава скрипт за автоматизиране на операция с данни - Настройва двуфакторна защита Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика 3.2.3. Специфична професионална подготовка по професията ЕРУ 6 Изграждане на потребителски интерфейси Резултат от учене 6.1 Създава интерфейс с помощта на базови HTML/CSS шаблони Знания • Разграничава основните HTML елементи и тяхното предназначение • Обяснява принципите за структуриране на уебстраници с HTML • Разграничава стилове и свойства в CSS за визуално оформление • Описва основни правила за адаптивен и отзивчив дизайн • Познава различни UI библиотеки и компоненти за ускоряване на разработката • Описва функциите на ИИ инструменти за генериране на потребителски интерфейси Умения • Използва HTML за създаване на структура на потребителски интерфейс • Прилага CSS за стилизиране и позициониране на елементи • Адаптира шаблони според зададени изисквания • Създава HTML/CSS код, спазвайки добри практики • Генерира HTML/CSS шаблони с помощта на инструменти с изкуствен интелект • Създава адаптивен и отзивчив дизайн с помощта на CSS системи като flex и grid системите • Използва UI библиотеки и компоненти за ускоряване на разработката • Генерира потребителски интерфейси чрез ИИ инструменти Компетентности • Създава прости и функционални потребителски интерфейси, отговарящи на техническото задание Резултат от учене 6.2 Вгражда интерактивни елементи чрез JavaScript библиотеки Знания • Описва ролята на езика JavaScript като език за добавяне на интерактивност и динамично съдържание в уебстраници и приложения • Разграничава често използвани библиотеки и тяхното приложение • Разпознава и описва работни рамки (frameworks) на JavaScript и тяхното приложение при изграждане на мащабируеми и поддържани уебприложения • Обяснява основни събития и манипулация на DOM структурата • Обяснява начините за консумиране на API чрез JavaScript • Посочва добри практики при използване на външни скриптове, модули и компоненти • Обобщава възможностите на JavaScript за сървърна разработка Умения • Добавя JavaScript скриптове към уебстраница • Използва предварително създадени компоненти от библиотеки и работни рамки • Настройва поведение на елементи чрез обработка на събития и манипулира DOM структурата • Интегрира API услуги в клиентска логика • Прилага основни техники за разработка на server-side функционалност с JavaScript (Node.js) • Създава уебприложения чрез работни рамки • Отстранява базови грешки при изпълнение на скриптове • Интегрира JavaScript компоненти на UI библиотеки и компоненти за ускоряване на разработката Компетентности • Интегрира интерактивни компоненти в потребителския интерфейс, като съблюдава функционалност и ползваемост • Избира и използва подходящи JavaScript библиотеки и работни рамки в зависимост от конкретния проект Резултат от учене 6.3 Конфигурира интерфейс според потребителските нужди Знания • Обяснява значението на ползваемост (usability) и потребителско изживяване (UX - user experience) • Разграничава методи за събиране на потребителски изисквания • Посочва основни принципи за достъпност (accessibility) • Анализира влиянието на структурата и визуалните елементи върху потребителското поведение • Анализира влиянието на анимациите и микроинтеракциите върху потребителското поведение Умения • Адаптира интерфейси според конкретни нужди на целеви групи • Прилага обратна връзка от потребителски тестове • Оптимизира навигацията и визуалното представяне • Използва шаблони и инструменти за прототипиране • Извършва базови тестове за ползваемост и съвместимост на интерфейса в различни браузъри и устройства Компетентности • Конфигурира интерфейси, съобразени с потребителски профили и контекст на използване Резултат от учене 6.4 Работи с документация за компоненти в потребителски интерфейс (UI) Знания • Разграничава терминология, използвана в ръководства за потребителски интерфейс • Обяснява значението на инструкции и обозначения в документация на потребителски интерфейс • Идентифицира ключови фрази и термини при настройка и имплементация на UI компоненти • Разчита указания, включени в официална документация Умения • Използва ръководства за интеграция и конфигуриране на UI компоненти • Търси и прилага информация от форуми, технически блогове, онлайн платформи и инструменти с ИИ • Разбира технически описания, съвместимост и начини на използване на UI инструменти Компетентности • Разбира и прилага техническа документация, свързана с потребителски интерфейси Критерии за оценяване на ЕРУ Част по теория на професията: - Обяснява основните HTML елементи и тяхното предназначение - Разграничава стилове и свойства в CSS и принципи за адаптивен дизайн - Описва ролята на JavaScript и възможности на библиотеки за добавяне на интерактивност - Разпознава термини и инструкции, използвани в ръководства за UI компоненти Част по практика на професията: - Създава уебстраница с базова структура и стилово оформление чрез HTML/CSS - Добавя интерактивни елементи към интерфейса с помощта на JavaScript библиотека - Адаптира интерфейс спрямо конкретни потребителски изисквания и контекст - Използва документация за прилагане на UI компоненти и инструменти Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 7 Разработка на основни програмни модули и сървърна логика Резултат от учене 7.1 Пише код с обектно ориентирани парадигми Знания • Обяснява принципите на обектно ориентираното програмиране (наследяване, енкапсулация, полиморфизъм) • Разграничава структурата и предназначението на обекти, класове и методи • Представя логиката на събитийно и обектно поведение в програмата • Разбира SOLID принципите и базовите шаблони за проектиране (Design Patterns) Умения • Създава обекти и класове в съответствие със зададени изисквания • Пише методи за обработка на данни и вътрешна логика • Прилага наследяване и интерфейси за създаване на обектни връзки • Прилага SOLID и шаблони при изграждане на програмна логика Компетентности • Прилага обектно ориентиран подход при създаване на програмна логика, съобразена със заданието Резултат от учене 7.2 Прилага алгоритмичен дизайн при разработка на основни програмни модули и сървърна логика Знания • Знае същността на нелинейни структури от данни като графи и дървета • Разбира ролята на дърветата и графите като нелинейни структури от данни за моделиране на връзки, мрежи и йерархии и разпознава типичните им приложения в софтуерната разработка • Познава основните характеристики и начини за представяне на графи и дървета в програмен език и обяснява как изборът на представяне влияе върху сложността на основните операции • Описва и прилага основните операции и алгоритми върху графи и дървета • Различава основни класове алгоритми върху графи • Свързва графите и дървовидните структури с реални примери • Познава двоичното дърво за търсене и балансираните двоични дървета, обяснява идеята за баланс и влиянието му върху сложността на операциите за търсене, добавяне и изтриване • Познава пирамидата (heap) като специализиран вид дървовидна структура от данни, нейните характеристики и основни приложения Умения • Представя различни видове графи и имплементира основните алгоритми върху тях • Моделира задачи чрез използване на основни алгоритми върху графи • Различава балансирано двоично дърво за търсене от стандартното двоично дърво за търсене • Представя различни видове дървета и имплементира основните алгоритми върху тях Компетентности • Имплементира графи и дървета • Решава проблеми, моделирайки ги чрез графи и дървета, като използва някои от основните алгоритми върху тях Резултат от учене 7.3 Разработва модел на данни, архитектура и компоненти на софтуерно решение Знания • Обяснява концепциите за логически и физически модели на данни • Разглежда архитектурни стилове (например клиент-сървър, многослойна архитектура, microservices) • Разграничава основни софтуерни компоненти и зависимости между тях • Представя базови принципи за модулност и повторна употреба • Разбира концепцията за инжектиране на зависимости (DI) и разделение на логическите слоеве Умения • Изгражда ER диаграми и модели на данни • Описва логическа структура на софтуерната архитектура • Дефинира взаимодействие между основните компоненти на системата Компетентности • Самостоятелно моделира структури от данни и компоненти, подходящи за конкретен тип софтуерно решение Резултат от учене 7.4 Интегрира бази от данни, програмни интерфейси за приложения и външни услуги в софтуерното решение Знания • Описва ролята на релационни и нерелационни бази от данни • Обяснява как функционират API - като посредници за обмен на данни между различни системи • Изброява формати за пренос на данни (например JSON, XML) Умения • Извлича и записва данни в база с помощта на SQL заявки или ORM (Object-Relational Mapping) • Използва HTTP заявки за взаимодействие с външни API • Дебъгва проблеми при свързване с външни услуги • Прилага техники за защита при работа с данни и външни API (валидация, управление на достъп, защита от инжекции) Компетентности • Ефективно интегрира външни компоненти и услуги в създаваното софтуерно решение съобразно архитектурата и изискванията на проекта Критерии за оценяване на ЕРУ Част по теория на професията: - Обяснява основни принципи на обектно ориентираното програмиране - Разграничава функции, класове, обекти и тяхната роля в програмната архитектура - Описва функциите и възможностите на интегрирана среда за разработка (IDE) - Разпознава чуждоезикова техническа терминология, свързана с програмиране Част по практика на професията: - Създава работещ програмен модул, използвайки обектно ориентиран подход - Използва IDE за създаване, изпълнение и отстраняване на грешки в програма - Дефинира и използва коректно функции, класове и обекти според задание - Прилага чуждоезикови ресурси (кодови примери, форуми, ръководства) при реализация на заданието Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 8 Работа с бази данни Резултат от учене 8.1 Създава и поддържа релационна база от данни Знания • Разглежда основни концепции на релационните бази от данни (таблица, ред, колона, ключове) • Описва структурата на база от данни според задание • Обяснява типове данни, релации и зависимости между таблици • Посочва добри практики за структуриране и поддръжка на бази от данни • Познава нормалните форми и принципите за нормализация на бази данни • Обяснява ролята на индекси и влиянието им върху ефективността Умения • Проектира таблици с подходящи типове данни и връзки • Създава база от данни чрез подходяща система за управление • Актуализира и модифицира структурата на база при промяна на изисквания • Отстранява често срещани грешки при създаване и поддръжка на бази данни • Прилага нормализация за елиминиране на излишни зависимости • Създава и използва индекси за оптимизация на заявки Компетентности • Прилага структурирано мислене при изграждане на база от данни според функционално задание Резултат от учене 8.2 Извършва заявки с езика SQL Знания • Обяснява предназначението на езика SQL (Structured Query Language - структуриран език за заявки) • Разглежда основни команди • Разпознава синтактични и логически грешки в SQL заявки Умения • Създава заявки за извличане и филтриране на данни • Използва SQL за модифициране и изтриване на данни • Изпълнява обединения между таблици за извличане на свързани данни • Анализира резултатите от заявките и ги използва за нуждите на приложението Компетентности • Използва SQL ефективно за достъп и управление на данни в реална среда Резултат от учене 8.3 Свързва базата данни с приложението Знания • Описва процеса на свързване между приложение и база от данни • Разграничава различни технологии за достъп до база • Обяснява рискове при некоректна връзка и липса на защита • Разбира ACID принципите и ролята на транзакциите в релационни бази данни • Описва работата на система за обектно-релационно съпоставяне (Object Relational Mapping, ORM) Умения • Конфигурира параметри за свързване между приложението и базата • Използва програмни библиотеки за изпълнение на заявки от приложението • Тества връзката и проверява коректността на обмена на данни • Използва транзакции и подготвени заявки (prepared statements) за безопасност • Съпоставя класове-таблици в ORM система Компетентности • Гарантира стабилна и защитена интеграция между софтуер и база от данни Резултат от учене 8.4 Управлява миграции и версии на база данни Знания • Обяснява концепцията за миграции на база данни и тяхното предназначение • Разбира принципите на формиране на версии на бази данни в процеса на разработка • Разграничава ръчни и автоматизирани миграции • Познава добри практики за управление на схеми и промени в структурата на базата • Описва ролята на инструменти за миграции, включително такива с ИИ Умения • Създава и прилага миграции за добавяне, промяна или премахване на обекти в база данни • Използва инструменти за автоматизиране на миграции и следене на версията на базата • Управлява последователността на миграциите, включително връщане назад (rollback) при нужда • Изпълнява безопасно миграции в различни среди • Използва генеративни ИИ инструменти за създаване на структура на база данни и писане на SQL заявки Компетентности • Осигурява консистентност и проследимост на промените в структурата на базата данни чрез използване на миграции и подходящи инструменти Критерии за оценяване на ЕРУ Част по теория на професията: - Обяснява релационен модел и структура на база - Познава основни SQL команди и логика на заявки - Разпознава термини и инструкции на английски език, свързани с бази от данни Част по практика на професията: - Проектира и създава проста релационна база - Извършва базови и комбинирани SQL заявки - Интегрира база в приложение и извършва реална връзка - Използва справки за решаване на практически задачи Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 9 Жизнен цикъл на софтуерна разработка Резултат от учене 9.1 Изпълнява професионални дейности, свързани с жизнения цикъл на софтуерната разработка Знания • Познава фазите на жизнения цикъл на софтуера - анализ на изискванията, проектиране, разработка, тестване, внедряване, поддръжка • Разграничава ролите и отговорностите на участниците в процеса на разработка на софтуер • Описва основните софтуерни архитектури и модели на процеси (Waterfall, V-Model, Agile, Iterative) • Познава принципите, артефактите и ритуалите на гъвкавите методологии (SCRUM, Kanban) • Разбира концепцията за управление на изисквания и промени (backlog, user stories, acceptance criteria) • Познава добри практики за осигуряване на качеството - преглед на код (code review), тестове, CI/CD, документация Умения • Анализира и описва изискванията за софтуерна система • Участва в екипно проектиране на софтуер (архитектурни решения, UML диаграми) • Разработва и интегрира софтуерни компоненти, спазвайки етапите на SDLC • Извършва основни тестови дейности (unit тестове, интеграционни тестове, bug reporting) • Участва в екипни срещи и използва инструменти за управление на задачите • Подготвя документация и участва в процеса на внедряване и поддръжка на софтуера Компетентности • Способност да работи в екип и да изпълнява различни роли в процеса на разработка според изискванията на проекта • Самостоятелно и отговорно прилага подходяща методология (SCRUM, Kanban, Waterfall) в зависимост от проекта • Демонстрира адаптивност към промени в изискванията и условията на проекта, като спазва качествените стандарти на софтуерната разработка Резултат от учене 9.2 Анализира потребителски изисквания и дефинира функционални спецификации Знания • Описва етапите в процеса на изискванията към софтуера • Обяснява методи за събиране и анализ на потребителски изисквания • Прилага модели за представяне на функционалност (use cases, потребителски истории) • Обосновава избора на функционални изисквания въз основа на нуждите на клиента Умения • Събира и обобщава изисквания от заинтересовани страни • Формулира измерими и проверими функционални спецификации • Представя резултатите от анализа в разбираем за клиента вид Компетентности • Извършва обоснован подбор и структуриране на потребителските изисквания с цел ефективно планиране на софтуерния проект Резултат от учене 9.3 Избира технологии и платформи съобразно спецификата на проекта Знания • Посочва критерии за избор на технологии (скалируемост, поддръжка, сигурност, съвместимост) • Описва предимства и ограничения на различни програмни езици, фреймуърк и платформи • Разглежда случаи на прилагане на конкретни технологични стека Умения • Сравнява алтернативни решения спрямо нуждите на проекта • Използва информационни ресурси и техническа документация при избор на технологии • Обосновава избора си пред екип/клиент Компетентности • Прилага технологични решения, съобразени с целите, ограниченията и средата на софтуерния проект Резултат от учене 9.4 Осигурява функционалност на разработения софтуер Знания • Описва видове тестове (unit, integration, system) и тяхната роля • Обяснява основните принципи на дебъгване (отстраняване на грешки) • Познава техники за оптимизация на софтуерен код (например намаляване на сложност, подобряване на производителността) Умения • Използва инструменти за дебъгване и тестване в средата за разработка • Създава базови unit тестове с помощта на библиотеки • Идентифицира и коригира неефективен код Компетентности • Осигурява стабилност и ефективност на софтуерното решение чрез систематично тестване и подобрения Резултат от учене 9.5 Следва структура на проекта по зададени шаблони Знания • Разграничава компоненти на проектната структура (папки, файлове, модули) • Обяснява ролята на шаблоните (template - предварително дефинирана структура) • Описва добри практики при организиране на файлове в софтуерен проект • Разбира зависимостите между файлове, библиотеки и конфигурации Умения • Прилага шаблонна структура към нов проект • Организира код и ресурси според зададени правила • Адаптира структурата при промяна в изискванията Компетентности • Поддържа стандартизирана структура на проекта за улесняване на екипна работа Резултат от учене 9.6 Комуникира прогреса в екипна среда Знания • Разграничава роли и отговорности в екип по разработка • Описва инструменти за комуникация и проследяване на задачи • Разбира значението на навременна и структурирана комуникация Умения • Докладва напредъка по задачи, проблеми и решения • Води записки и бележки при екипни срещи • Използва инструменти за проследяване на задачи Компетентности • Поддържа ефективна комуникация в рамките на екипа, като споделя информация навреме и ясно Критерии за оценяване на ЕРУ Част по теория на професията: - Познава основните концепции на управление на софтуерен проект - Разпознава структурата на проект - Изброява основни команди за работа със система за контрол на версиите - Разбира принципите на екипна комуникация и използва чуждоезикова терминология - Познава методи за анализ, моделиране и архитектурен дизайн на софтуер - Обосновава избора на технологии и архитектурни подходи в зависимост от контекста Част по практика на професията: - Организира файловете в структура, съобразена с шаблон - Използва система за проследяване и обединяване на промени - Докладва прогрес и комуникира с екипа чрез избрана платформа - Избира и прилага адекватни технологии и платформи за даден проблем или проект Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 10 Поддръжка и тестване на приложения Резултат от учене 10.1 Извършва функционални и регресионни тестове Знания • Обяснява целта на функционалното тестване (дали приложението изпълнява зададените функции) • Разглежда принципи на регресионното тестване (повторно тестване след промени) • Разпознава типове тестове - ръчни и автоматизирани • Описва стандартна тестова документация - тест план, тест сценарий • Разграничава тестове за производителност и сигурност Умения • Създава и изпълнява тестови сценарии по зададени изисквания • Идентифицира отклонения от очакваното поведение • Използва подходящи инструменти за провеждане на функционални тестове • Изпълнява базови тестове за производителност и проверка на сигурността Компетентности • Прилага процедури за проверка на съответствието на приложението с изискванията Резултат от учене 10.2 Документира грешки и предлага корекции Знания • Разграничава видове грешки: логически, синтактични, интерфейсни • Обяснява процеса на съобщаване и проследяване на грешки (bug tracking - проследяване на грешки) • Познава основни полета в доклад за грешка: стъпки за възпроизвеждане, очакван резултат, реален резултат Умения • Попълва отчет за грешки в избрана система • Предлага конкретни действия за отстраняване на проблема • Комуникира с екипа относно докладвани проблеми Компетентности • Систематизира откритите грешки и съдейства за тяхното ефективно отстраняване Резултат от учене 10.3 Актуализира елементи според обратна връзка Знания • Разбира значението на потребителска и техническа обратна връзка • Обяснява връзката между тестови резултати и нужда от актуализация • Познава цикъла "намерена грешка - промяна - ново тестване" Умения • Прилага корекции по зададени инструкции или препоръки • Проследява резултатите от направените промени • Документира извършените актуализации Компетентности • Адаптира компонентите на приложението спрямо обратната връзка от потребители и тестери Резултат от учене 10.4 Интерпретира доклади от тестове Знания • Разпознава терминология • Обяснява структурата на тестови доклади • Разбира съкращения и термини в автоматизирани тестови платформи Умения • Тълкува тестови резултати • Използва речници, справочници и контекстуални източници Компетентности • Интерпретира и използва документация и резултати от тестове в реална работна среда Резултат от учене 10.5 Анализира и подобрява качеството на кода чрез линтинг и статичен анализ Знания • Обяснява понятието "линтинг" и ролята му за поддържане на качествен и четим код • Разграничава статичен и динамичен анализ на кода • Познава добри практики и стандарти за стил и структура на кода (naming conventions, code formatting) • Разбира как линтерите откриват потенциални проблеми, предупреждения и уязвимости • Познава популярни инструменти за линтинг и статичен анализ • Разбира как линтерите и ИИ базираните инструменти откриват проблеми, предупреждения и уязвимости Умения • Настройва и използва линтери и инструменти за статичен анализ в среда за разработка • Интерпретира резултати от линтинг и статичен анализ • Прилага автоматично и ръчно поправяне на стилови несъответствия и потенциални проблеми в кода • Актуализира конфигурации на линтери спрямо проектните стандарти • Интерпретира резултати от линтинг, статичен анализ и ИИ предложения (warnings, code smells) Компетентности • Поддържа високо качество на кода, спазвайки стандартите за стил и безопасност чрез систематичен линтинг и статичен анализ Критерии за оценяване на ЕРУ Част по теория на професията: - Познава видовете тестове, тестова документация и процесите на регресия и отстраняване на грешки - Разграничава типове обратна връзка и тяхното значение - Разпознава терминологията в тестови доклади Част по практика на професията: - Провежда функционално и регресионно тестване - Документира грешки по зададен шаблон и предлага корекции - Извършва актуализация на елементи на приложението - Чете и интерпретира чуждоезикови тестови доклади и инструкции Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 11 Разработка на многослойни архитектури Резултат от учене 11.1 • Прилага основни принципи и протоколи за комуникация в многослойни архитектури Знания • Познава основни комуникационни протоколи • Разграничава синхронна и асинхронна комуникация • Описва начини за сериализация на данни (JSON, XML и др.) • Обяснява ролята на API в многослойната архитектура Умения • Конфигурира комуникация между клиент и сървър с избран протокол • Използва формати за сериализация и десериализация на данни • Разглежда логове и отстранява проблеми в комуникационните потоци Компетентности • Осигурява ефективна и сигурна комуникация между слоевете на архитектурата чрез избор на подходящи протоколи и формати Резултат от учене 11.2 Изгражда клиент-сървър логика Знания • Обяснява принципа на клиент-сървър взаимодействието • Разграничава отговорностите на клиента и сървъра в уебприложение • Описва архитектурни подходи за реализация на клиент-сървър модел • Обяснява основни механизми за обмен на данни - заявки, отговори, API • Разграничава автентикация и управление на достъп (оторизация) • Познава подходи за защита на достъпа и отговорно съхранение на поверителни данни Умения • Реализира логика за обмен на данни между клиент и сървър • Настройва сървърни компоненти и връзка с клиентски интерфейс • Включва в системата процес за вход и изход и ограничава достъпа до определени части според ролята на потребителя • Използва инструменти и езици за създаване на клиент-сървър функционалност Компетентности • Разработва основни компоненти на клиент-сървър архитектура в рамките на софтуерен проект • Създава сигурни потоци на достъп в многослойна система, като последователно прилага принципа за минимално необходимите права Резултат от учене 11.3 Прилага архитектурни шаблони Знания • Обяснява понятието "архитектурен шаблон" • Описва структурата на MVC (Model-View-Controller) и ролята на всеки компонент • Разглежда други популярни шаблони • Разграничава предимства и ограничения на различни архитектури • Разглежда съвременни архитектурни подходи, чисти архитектури и многослойни домейн архитектури • Разбира концепцията за инжектиране на зависимости (dependency injection) и принципите на SOLID при изграждане на многослойни архитектури Умения • Прилага подходящ архитектурен модел според проекта • Организира кода по слоеве (данни, логика, потребителски интерфейс) • Модифицира архитектурата според функционални изисквания Компетентности • Използва подходящ архитектурен шаблон за осигуряване на структурирана и устойчива разработка Резултат от учене 11.4 Интегрира клиентска и сървърна логика Знания • Обяснява взаимодействието между клиентска (front-end) и сървърна логика (back-end) • Разграничава методи за предаване на данни • Описва добри практики при интеграция на слоеве • Познава примери за инструменти и технологии за интеграция Умения • Свързва интерфейс с логика за обработка на заявки и база данни • Обработва отговори от сървъра и ги визуализира в интерфейса • Диагностицира и отстранява проблеми в интеграцията Компетентности • Създава работеща многослойна система чрез ефективно свързване на потребителски и логически компоненти Резултат от учене 11.5 Използва софтуерна документация Знания • Разпознава специфична терминология в софтуерната документация • Обяснява структурата и предназначението на архитектурни диаграми • Познава стандартни формати на документация Умения • Интерпретира диаграми и описания на архитектура • Използва речници и технически източници за разбиране на специфични термини • Прилага получената информация в разработката на многослойни системи Компетентности • Използва архитектурна документация при изграждане и анализ на софтуерни решения Критерии за оценяване на ЕРУ Част по теория на професията: - Познава принципите на клиент-сървър архитектура - Разбира архитектурни шаблони и техните компоненти - Интерпретира чуждоезиково архитектурно описание и диаграми Част по практика на професията: - Реализира логика за взаимодействие между клиент и сървър - Прилага архитектурен шаблон (например MVC) в код - Интегрира слоеве на приложението в работеща система - Използва ресурси при прилагане на архитектурни решения Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 12 Работа с облачни платформи и микроуслуги Резултат от учене 12.1 Използва облачни среди за внедряване Знания • Описва предназначението и принципите на работа на облачни платформи • Обяснява процесите по внедряване (deployment) на приложения в облачна среда • Разграничава основни услуги - инфраструктура като услуга (IaaS), платформа като услуга (PaaS) • Изяснява понятия като "контейнеризация" и "виртуализация" Умения • Конфигурира среда за разполагане на приложения в облачна платформа • Създава и управлява контейнери при внедряване на приложения • Използва инструменти за автоматизация при внедряване • Мониторира и валидира работата на приложението след внедряване Компетентности • Прилага ефективни практики за внедряване в облачна среда според спецификата на проекта Резултат от учене 12.2 Разработва и управлява микроуслуги Знания • Обяснява понятието "микроуслуги" и разликата им с монолитни архитектури • Описва основни принципи за изграждане на микроуслуги (например независимост, комуникация чрез API) • Познава инструменти за управление на микроуслуги • Описва подходи за логване, мониторинг и устойчивост на услугите Умения • Създава и конфигурира микроуслуги за изпълнение на конкретни задачи • Управлява жизнения цикъл на микроуслугите - от разработка до поддръжка • Внедрява комуникация между микроуслуги чрез интерфейси Компетентности • Реализира проект, базиран на архитектура от микроуслуги, съгласно зададено изискване Резултат от учене 12.3 Прилага CI/CD процеси в разработката Знания • Обяснява значението на CI/CD (непрекъсната интеграция/непрекъснато доставяне - Continuous Integration/Continuous Delivery) • Описва етапите в CI/CD процеса - изграждане, тестване, разполагане • Познава инструменти за CI/CD (например Jenkins, GitLab CI, GitHub Actions) • Разграничава добри практики за автоматизация на разработката Умения • Конфигурира CI/CD конвейр (pipelines) за автоматизация на разполагане и тестване • Използва скриптове и шаблони за изпълнение на CI/CD задачи • Проследява и анализира резултати от автоматични тестове и внедряване Компетентности • Поддържа ефективен процес на разработка чрез внедряване на автоматизирани CI/CD практики Резултат от учене 12.4 Kонфигурира и автоматизира действия с облачни платформи Знания • Разпознава основни команди и конфигурационни елементи в YAML, JSON, Dockerfile, CI/CD скриптове • Обяснява смисъла на термини, като конвейр (pipeline), компилация (build), задействащо събитие (trigger), среда (environment), внедряване (deployment) • Познава източници на техническа документация Умения • Прочита и адаптира конфигурации и скриптове за автоматизация • Използва технически форуми, документация и изкуствен интелект при възникнали проблеми • Попълва и редактира конфигурационни файлове с разбиране на терминологията • Използва изкуствен интелект за генериране и допълване на конфигурационни елементи Компетентности • Работи уверено с документация и конфигурации при внедряване на автоматизирани процеси Резултат от учене 12.5 Прилага принципи на сигурност в облачна среда Знания • Обяснява основни принципи на сигурността в облачни платформи (идентичност, достъп, криптиране, управление на тайни) • Познава уязвимости в облачна инфраструктура и микроуслуги • Описва инструменти за сканиране на сигурността и уязвимостите Умения • Конфигурира ролево-базирани политики за достъп • Настройва защита на комуникацията между микроуслуги • Използва инструменти за сканиране на контейнери и инфраструктура за уязвимости • Внедрява проверки за сигурност в CI/CD конвейери • Управлява тайни и ключове чрез облачни услуги Компетентности Осигурява сигурна и устойчива работа на приложения в облачна среда Критерии за оценяване на ЕРУ Част по теория на професията: - Разбира основите на облачните технологии, микроуслуги и CI/CD - Обяснява архитектурните и функционалните предимства на избраните подходи - Интерпретира термини, свързани с автоматизация и конфигурация Част по практика на професията: - Конфигурира и използва облачна среда за разполагане на приложение - Разработва микроуслуги и управлява комуникацията между тях - Прилага CI/CD инструменти и автоматизира етапи от разработката Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 13 Програмиране на вградени микрокомпютърни системи Резултат от учене 13.1 Проектира и разработва управляващ софтуер за вградени микрокомпютърни системи Знания • Описва етапите в проектирането и разработката на управляващ софтуер • Разграничава архитектури и платформи за вградени системи • Обяснява особеностите на софтуера за вградени системи - ограничени ресурси, енергийна ефективност, реално време, надеждност • Разпознава интерфейси и протоколи за комуникация • Описва инструментите и средите за разработка на управляващ софтуер Умения • Прилага съвременни методи за проектиране на управляващ софтуер • Избира и конфигурира подходящи развойни среди и инструменти • Създава управляващ софтуер с език от високо ниво • Интегрира и адаптира софтуерни модули и библиотеки към конкретно хардуерно изпълнение. • Реализира взаимодействие между софтуера и периферните устройства • Анализира и проверява работоспособността на системата чрез специализирани интерфейси и инструменти Компетентности • Разработва самостоятелно или в екип управляващ софтуер, съобразен с функционалните изисквания • Прилага иновативни подходи при реализиране на решения за вградени системи. • Спазва изискванията за надеждност, безопасност и ефективност при работа с вградени платформи Резултат от учене 13.2 Трасира, оптимизира и настройва управляващ софтуер за вградени микрокомпютърни системи Знания • Описва методи и инструменти за трасиране, профилиране и оптимизация на управляващ софтуер. • Разпознава типични грешки и проблеми във вградения софтуер • Познава инструментите за измерване на електрически сигнали и параметри Умения • Използва инструменти за трасиране и анализ на работата на софтуера. • Използва инструменти за измерване на електрически сигнали и величини • Подбира подходящи инструменти за диагностика и оптимизация • Открива и локализира грешки и неправилна работа на управляващия софтуер Компетентности • Самостоятелно отстранява установени проблеми в управляващия софтуер • Осигурява надеждност и устойчивост на системата след оптимизация Резултат от учене 13.3 Използва функционалността на операционни системи за вградени микрокомпютърни системи Знания • Описва принципите на работа на операционни системи за вградени микрокомпютърни системи • Разграничава съвременни операционни системи за вградени микрокомпютърни системи • Обяснява особеностите на системите за работа в реално време Умения • Избира и конфигурира операционна система за конкретно устройство • Адаптира налични драйвери и модули в рамките на избрана операционна система • Спазва техническите и функционални изисквания при настройка на операционни системи за вградени устройства Компетентности • Самостоятелно избира подходяща операционна система за реализиране на управляващ софтуер. • Настройва точно и прецизно параметрите на системата за работа върху конкретен хардуер Критерии за оценяване на ЕРУ Част по теория на професията: - Обяснява функционалните възможности на операционни системи за вградени микрокомпютърни системи - Сравнява операционни системи за вградени микрокомпютърни системи Част по практика на професията: - Инсталира подходяща операционна система за управляващ софтуер - Създава и тества управляващ софтуер за реално устройство - Настройва операционна система за работа върху вградена микрокомпютърна система Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика ЕРУ 14 Документиране и поддръжка на софтуер Резултат от учене 14.1 Създава техническа документация Знания • Обяснява целта и структурните елементи на техническа документация • Разграничава типове документация - за разработчици, за потребители, за поддръжка • Описва принципи на яснота, проследимост и актуалност в документацията • Обяснява значението на формирането на версии на документацията • Познава инструменти за автоматизирано генериране на документация и използване на изкуствен интелект за създаване и поддръжка на технически описания Умения • Съставя техническа документация към софтуерен продукт • Използва шаблони и инструменти за структуриране на документация • Приспособява езика според аудиторията (техническа или нетехническа) • Използва ИИ инструменти и генератори за автоматично създаване и обновяване на документация Компетентности • Изготвя техническа документация, която улеснява използването и поддръжката на софтуер Резултат от учене 14.2 Обновява ръководства за потребители и екип Знания • Обяснява структурата и функциите на потребителски ръководства • Разграничава ръководства за крайни потребители и за вътрешни екипи • Описва добри практики за версия и промени в документацията Умения • Преработва и обновява съществуващи ръководства на база промени в софтуера • Добавя нови функционалности в документацията по ясен и достъпен начин • Проверява съответствието между документация и софтуерен продукт Компетентности • Поддържа актуална документация, съобразена с развитието на софтуера Резултат от учене 14.3 Поддържа съществуващ код Знания • Обяснява понятието "рефакториране" и неговата роля за поддръжка • Описва добри практики за четим, устойчив и оптимизиран код • Разграничава основни грешки и лоши практики в поддръжката на код Умения • Анализира съществуващ код с цел подобрение на структурата без промяна на функционалността • Извършва рефакториране и коментира направените промени • Идентифицира и коригира технически код Компетентности • Поддържа ефективно и прозрачно съществуващ код в съответствие с установени стандарти Резултат от учене 14.4 Прилага стандарти за структуриране на документация и визуални модели Знания • Изброява видове документация - техническа, потребителска, архитектурна • Описва UML нотации и визуални средства за представяне на софтуерни модели • Разграничава добри практики за създаване на четима и устойчива документация Умения • Създава диаграми с помощта на стандартизирани инструменти • Структурира документация съгласно шаблони и стандарти • Адаптира език и формат според целевата аудитория на документацията Компетентности • Разработва и поддържа техническа и визуална документация, която отговаря на професионални стандарти Критерии за оценяване на ЕРУ Част по теория на професията: - Обяснява основните видове документация и процеса на нейното актуализиране - Познава добри практики за поддръжка и рефакториране на код - Разпознава терминология, използвана в комуникация и документация Част по практика на професията: - Създава, актуализира и структурира техническа и потребителска документация - Анализира и подобрява съществуващ код чрез рефакториране - Създава документация и визуални модели с използване на стандартизирани инструменти Средства за оценяване Част по теория: писмен изпит Част по практика: изпълнение на практическа задача по индивидуално задание по практика 4. Съвкупност от единици резултати от учене, които формират придобиването на квалификация по част от професията "Разработка на софтуер" Степен на професионална квалификация Ниво по ЕКР/НКР ЕРУ № … от списъка по т. 3.1. II 3 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 6 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 7 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 8 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 9 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 10 III 4 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 6, ЕРУ № 7, ЕРУ № 8, ЕРУ № 11 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 6, ЕРУ № 7, ЕРУ № 8, ЕРУ № 12 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 6, ЕРУ № 7, ЕРУ № 8, ЕРУ № 13 ЕРУ № 3, ЕРУ№ 4, ЕРУ № 5, ЕРУ № 6, ЕРУ № 7, ЕРУ № 8, ЕРУ № 14 5. Изисквания към материалната база 5.1. Изисквания към кабинетите за обучение по теория на професията - характеристики, обзавеждане, оборудване, софтуер Кабинетите за теоретично обучение по професия "Разработка на софтуер" трябва да предоставят функционална и технологично адекватна среда, в която обучаемите усвояват основни и напреднали концепции от областта на софтуерното инженерство. Кабинетът следва да бъде оборудван с мултимедиен проектор, екран, интерактивна дъска или смартдисплей, както и учебни маси и ергономични столове, съобразени с броя на учащите. Необходимо е осигуряване на достъп до специализирана техническа литература в печатен и/или електронен формат, включително материали по алгоритми, структури от данни, бази данни, модели на софтуерна архитектура и документация на програмни езици. В кабинетите трябва да има компютърни работни станции или възможност за демонстрации чрез преподавателски компютър, оборудван със софтуер за програмиране - IDE (Integrated Development Environments), като Visual Studio Code, IntelliJ IDEA, Eclipse, както и текстови редактори, интерпретатори и компилатори за езици, като Python, Java, C#, JavaScript и SQL. Задължително е наличието на софтуер за контрол на версиите, платформи за споделяне на код и симулатори за структури от данни или основни алгоритми. 5.2. Изисквания към учебната база за обучение по практика на професията - характеристики, обзавеждане, оборудване, софтуер Учебната база за практическо обучение по професия "Разработка на софтуер" трябва да бъде компютърна лаборатория, осигуряваща индивидуални работни места с инсталирани операционни системи (Windows, Linux) и широк набор от софтуерни инструменти. Всяко работно място трябва да разполага с интегрирани среди за разработка (IDE), компилатори, дебъгери, библиотеки и среди за писане и тестване на код. Трябва да бъдат налични среди за разработка на уеббазирани, десктоп и мобилни приложения, както и възможност за работа с бази от данни - чрез SQL Server, MySQL, PostgreSQL и други платформи. Следва да се осигури достъп до облачни среди за разработка и тестване (например GitHub Codespaces, Replit, Azure, Firebase), контейнери за виртуализация (Docker), както и инструменти за изграждане на CI/CD процеси. Практическата работа трябва да включва използване на системи за управление на проекти (Trello, Jira), контрол на версиите (Git, GitHub/GitLab) и основни инструменти за управление на API и тестове (Postman, Swagger). Базата трябва да осигурява и демонстрационно пространство за съвместна работа и код ревю - с възможност за екранно споделяне, симултанно програмиране (pair programming) и дистанционно участие. Следва да има архив от примерни проекти, задания с нарастваща сложност и инструменти за автоматизирана оценка на написания код. Сигурността, лицензирането на използвания софтуер, достъпът до интернет и поддържането на актуални версии на средите за разработка са задължителни за качественото провеждане на практическото обучение. 6. Изисквания към обучаващите Право да преподават по теория и практика на професията имат лица с висше образование и образователно-квалификационна степен "магистър" или "бакалавър" по специалности от професионално направление "Администрация и управление" и "Икономика" от областта на висше образование "Социални, стопански и правни науки", от професионални направления "Електротехника, електроника и автоматика" и "Комуникационна и компютърна техника" от областта на висше образование "Технически науки", от професионални направления "Информатика и компютърни науки" и "Математика" от областта на висше образование "Природни науки, математика и информатика" от Класификатора на областите на висше образование и професионалните направления, приет с Постановление № 125 от 2002 г. на Министерския съвет (ДВ, бр. 64 от 2002 г.), съответстващи на професията. Учителска длъжност по учебен предмет или модул от професионалната подготовка може да се заема и от лица със завършено висше образование по съответната специалност и без професионална квалификация "учител". По учебен предмет или модул от професионалната подготовка, за който няма съответно професионално направление в Класификатора на областите на висше образование и професионалните направления, могат да преподават лица без висше образование и без придобита професионална квалификация "учител", ако са придобили съответната професионална квалификация при условията и по реда на Закона за професионалното образование и обучение. Препоръчително е на всеки три години обучаващите да преминават курс за актуализиране на професионалните си знания, умения и компетентности. Речник на използваните чужди думи и съкращения API Application Programming Interface, Приложен програмен интерфейс HTTP заявка Съобщение, изпратено от клиент като уеббраузър, до сървър с искане за конкретен ресурс или за извършване на действие Agile Адаптивен подход за управление Big Data Големи масиви от данни, които се характеризират с висока скорост на генериране, разнообразие и обем и които изискват специализирани технологии за обработка и анализ Build Процес на превръщане на изходния програмен код в изпълним файл или система (включва компилиране, свързване и други стъпки) CI/CD Continues Integration/Continuous Delivery (or Deployment), Непрекъсната интеграция/Непрекъсната доставка (или внедряване) Deployment Процес на инсталиране и пускане на софтуерен продукт в определена среда за използване от крайни потребители DevOps Development and Operations - съвкупност от практики, обединяващи разработката и поддръжката на софтуер Environment Конкретна конфигурация на операционна система, софтуерни инструменти и ресурси, в която се изпълнява или тества дадено приложение Git Децентрализирана система за контрол на версиите на файлове IDE Integrated Development Environment, Интегрирана среда за разработка IoT Internet of Things, Интернет на нещата Pipeline Последователност от автоматизирани стъпки в процеса на разработка, тестване и внедряване на софтуер, където всяка стъпка подава резултата си към следващата Scrum Рамка за организиране на работата в кратки цикли, т. нар. "спринтове" SQL Structured Query Language, Език за структурирани запитвания Trigger Задействащо събитие, определено условие или действие, което автоматично стартира друг процес UI User Interface, Потребителски интерфейс UX User Experience, Потребителско изживяване Автоматизирано тестване Писане на тестове с помощта на код, които се изпълняват автоматизирано Жизнен цикъл на софтуера Етапите, през които преминава софтуерът от момента на възникване на идеята за създаването до пускането на софтуера в продукционна среда ИИ Изкуствен интелект ИКТ Информационни и комуникационни технологии Интерфейс Споделена граница между разделени компютърни компоненти, обменящи информация ИС Информационна система ИТ Информационни технологии Логове Записи на събития в компютърна система или мрежа, които се съхраняват в т. нар. "лог файлове" Невронни мрежи Изчислителен модел за обработка на информация Слайдър Плъзгач или лента за проследяване Скриптиране Писане на програмен език, при който изходният код на програмите се изпълнява директно Спринт Фиксиран, кратък период от време, в който екипът работи върху предварително определен набор от задачи, с цел да достави работещ продукт или функционалност Уебскрейпинг Автоматизиран процес на извличане на данни от уебсайтове Framework, работна рамка Предварително разработена софтуерна структура (рамка), която предоставя готови функционалности, инструменти и правила за изграждане на приложения
История на промените
- обнДВ бр. 104/2025