Katalog

    Naziv:

    Izdelovalec/izdelovalka programske opreme

    Status:

    Objava

    Datum objave sklepa ministra:

    7.10.2021

    Predhodniki:

    Klasius-P16:

    Razvoj in analiza programske opreme in aplikacij (0613)

    Klasius-SRV:

    Peta raven: Izidi, certifikatni sistem NPK (25000)

    Raven kvalifikacije:

    SOK 5, EOK 4


    1. Ime in koda kataloga standardov strokovnih znanj in spretnosti

    Izdelovalec/izdelovalka programske opreme (0831083011)

    2. Potrebna strokovna znanja in spretnosti in posebni pogoji, ki jih mora izpolnjevati oseba, ki želi pridobiti poklicno kvalifikacijo

    2.1. Strokovna znanja in spretnosti

    Glej poklicni standard Izdelovalec/izdelovalka programske opreme 08310830 in točko 11 tega kataloga.

    2.2. Posebni pogoji, ki jih mora izpolnjevati oseba, ki želi pridobiti poklicno kvalifikacijo

    • Najmanj eno leto delovnih izkušenj s področja razvoja programske opreme in aplikacij ali
    • dokazila o samostojnem delu na področju razvoja programske opreme in aplikacij, ki se dokazujejo z verodostojnimi listinami (referenčna pisma ali/in poročila o opravljenem delu s podpisom odgovorne osebe ali/in pogodbe ali/in dokazilo o študentskem delu itd.), iz katerih sta razvidna čas opravljanja dela v trajanju najmanj enega leta in vsebina opravljenega dela, ali
    • trije lastni izdelki (trije primeri programskih aplikacij), pri katerih se lahko dokaže avtorstvo in niso starejši od dveh let.

    3. Povezanost s programi za pridobitev izobrazbe


    4. Načini preverjanja strokovnih znanj in spretnosti

    4.1. POTRJEVANJE

    V postopku svetovanja kandidat pripravi osebno zbirno mapo, ki jo komisija ovrednoti, in če je kandidat v njej predložil verodostojna, veljavna in ustrezna dokazila o znanjih, spretnostih in kompetencah iz poklicnega standarda, lahko komisija:
    • prizna znanja in spretnosti poklicnega standarda v celoti,
    • prizna znanja in spretnosti poklicnega standarda delno in določi tista znanja, spretnosti in kompetence, ki jih bo preverjala,
    • ne prizna nobenih znanj in spretnosti poklicnega standarda, ker kandidat ne dokazuje nobenih znanj, spretnosti in kompetenc iz poklicnega standarda, in bo preverjala smiselno celotni poklicni standard.

    4.2. NAČINI PREVERJANJA STROKOVNIH ZNANJ IN SPRETNOSTI


    Praktično preverjanje z zagovorom: izdelek z zagovorom

    Kandidat pred neposrednim preverjanjem izdela naslednje izdelke po izboru in navodilih komisije:
    • aplikacijo z izvorno kodo (izdelana z določeno tehnologijo, na podlagi podanih specifikacij, v ustreznem programskem jeziku, platformi, metodi razvoja itd.), ki uporablja SQL- ali NoSQL-podatkovno bazo, je nameščena in dostopna komisiji, in
    • dokumentacijo:
      • uporabniško:
        • navodila za uporabo aplikacije (v elektronski ali papirnati obliki oz. vgrajeno v uporabniški vmesnik aplikacije), pogosto zastavljena vprašanja ...;
      • tehnično:
        • specifikacije zahtev (uporabniške zgodbe ...),
        • arhitektura aplikacije,
        • načrt uporabniškega vmesnika,
        • načrt tehniške izvedbe z oceno časa,
        • načrt testiranja,
        • navodila za namestitev,
        • predlogi za nadgradnje,
        • … in
    • pripravi vsaj dve novici iz strokovne literature ali dva prispevka na portalih, namenjenih širjenju znanja (StackOverflow ...).

    Navodila za pripravo izdelkov, ki jih mora kandidat pripraviti predhodno, določi komisija po pregledu osebne zbirne mape. Kandidat z izdelki dokaže obvladovanje zahtevanih poklicnih kompetenc po zahtevah poklicnega standarda.

    Ob predstavitvi izdelkov na preverjanju se izvede tudi ustni zagovor, ki obsega preverjanje znanj in spretnosti, ki so vključene v posamezno operativno delo v poklicnem standardu Izdelovalec/izdelovalka programske opreme.

    Kandidat lahko izdelke priloži k osebni zbirni mapi (v postopku svetovanja).

    5. Merila preverjanja

    Področje ocenjevanja

    Merila ocenjevanja

    Delež (%)

    Načrtovanje in priprava izdelka

    -      postopek izvedbe

    -      ustvarjalnost in inovativnost kandidata
           pri izdelavi izdelka

    -      uporaba ustreznih/aktualnih tehnologij

    10

    Izvedba

    -      uporaba ustreznih metod dela in
            pripomočkov

    -      tehnična izvedba rešitve

    -      uporabnost aplikacije

    55

    Dokumentacija

    -      jasnost in razumljivost, ustrezna raba
           terminologije

    15

    Zagovor

    -      jasnost, pravilnost, natančnost in
           celovitost podanih odgovorov


    20


    IZLOČILNA MERILA

    •          nedelujoča aplikacija, ki jo je kandidat izdelal pred preverjanje
    •          pomanjkljiva dokumentacija

    6. Poklic oziroma sklopi zadolžitev v okviru poklica, ki jih je mogoče opravljati po pridobljeni poklicni kvalifikaciji in koda


    7. Raven zahtevnosti dela

    (V)

    8. Prilagoditve za osebe s posebnimi potrebami

    Osebam s posebnimi potrebami se lahko prilagodijo oblike in trajanje preverjanja ter sestava komisij za preverjanje in potrjevanje poklicnih kvalifikacij.

    Podrobnejši opis zgoraj navedenih prilagoditev je naveden v Pravilniku, ki ureja način izvajanja mature za kandidate s posebnimi potrebami (Uradni list RS 82/14, člen 9, 10 in 11).


    9. Materialni in kadrovski pogoji, ki jih morajo izpolnjevati izvajalci postopkov za ugotavljanje in potrjevanje poklicnih kvalifikacij

    9.1. Materialni pogoji

    Izvajalci postopkov ugotavljanja in potrjevanja poklicnih kvalifikacij morajo zagotavljati informiranje in svetovanje kandidatom z usposobljenim svetovalcem. 

    • Prostor z računalnikom, s projektorjem, s povezavo z internetom ter programskimi orodji skladno s katalogom.

    9.2. Kadrovski pogoji

    Licenco za člana komisije za preverjanje in potrjevanje nacionalne poklicne kvalifikacije lahko pridobi, kdor izpolnjuje predpisane pogoje z zakonom, ki ureja nacionalne poklicne kvalifikacije.

    Komisijo sestavljajo trije člani, od katerih ima:

    • en član izobrazbo najmanj na ravni SOK 6 s področja računalništva ali informatike ali elektronskih komunikacij in najmanj 5 let delovnih izkušenj s področja računalništva ali informatike ali elektronskih komunikacij in

    • en član izobrazbo najmanj na ravni SOK 5 s področja računalništva ali informatike ali certifikat o nacionalni poklicni kvalifikaciji s področja računalništva ali informatike najmanj na ravni SOK 5 in najmanj 5 let delovnih izkušenj s področja računalništva oz. izdelovanja programske opreme in
    • en član mora izpolnjevati pogoje, navedene v prvi ali drugi alineji

    10. Časovna veljavnost izdanih certifikatov

    Ni časovne omejitve.

    11. Standardi strokovnih znanj in spretnosti

    Ključna dela Znanja in spretnosti Naloge za preverjanje
    uporablja informacijsko- komunikacijsko opremo in storitve za potrebe izdelave programske opreme ter sledi razvoju računalništva in informatike
    • pozna računalniške komponente in njihov namen
    • uporabi virtualizacijo opreme in storitev (Docker, VirtualBox ...)
    • postavi manjše fiksno ali brezžično omrežje ter pozna vlogo komponent omrežja (stikala, usmerjevalniki, prehodi ...)
    • uporablja različno omrežno opremo, primerja različne protokole in storitve (Ethernet, IPv4, IPv6, TCP, UDP, HTTP(S), IMAP(S), LDAP, DNS, DHCP ...)
    • upošteva varnostne ukrepe pri delovanju in dostopu do informacijsko-komunikacijske opreme in storitev (AAA, glede na lokacijo naprave – zunanja/notranja, varno shranjevanje podatkov, varnost v komunikaciji)
    • uporabi različne storitve v oblaku (XaaS)
    • pozna elemente kibernetske varnosti: zagotavljanje celovitosti (integriteta) in zakrivanje (šifriranje) informacij ter napadi (socialni inženiring, virusi, trojanski konji, izraba varnostnih lukenj in napak ...)
    • sledi splošni strokovni literaturi (Slo-Tech, IEEE Spectrum, Communication ACM, spletni časopisi, ...)

    Kandidat na podlagi  predhodno
    izdelane aplikacije:

    • priporoči strojno opremo oziroma virtualno okolje, v katerem se bo izvajala aplikacija
    • opiše postopek nameščanja virtualnega okolja ter kreiranja virtualnega računalnika ali kontejnerja za potrebe izvajanja ali razvoja pripravljene aplikacije
    • opiše postopek priključitve (virtualnega) računalnika ali kontejnerja v računalniško omrežje
    • opiše vsaj dva mehanizma varovanja podatkov (požarni zid, varnostne kopije, šifriranje, avtentikacija, avtorizacija, beleženje dostopov, antivirusni program ...)
    • opiše način uporabe izbrane storitve v oblaku
    • predstavi varnostne ukrepe (zagotavljanje celovitosti, zakrivanje informacij ter napadi) na pripravljeni aplikaciji ali izbranem primeru
    • predstavi vsaj dve novejši strokovni  novici (nova tehnologija, nova orodja, metode …) iz splošne strokovne literature ali vsaj dva prispevka na enem od portalov, namenjenim širjenju znanja (Stack Overflow ...)
    spremlja metodologijo in tehnologijo razvoja programske opreme
    • sledi razvoju razvoja programske opreme na izbranem področju (agilni razvoj, scrum ...)
    • sledi in uporablja strokovno literaturo
    • sledi razvoju orodij in storitev, ki se uporabljajo pri razvoju programske opreme
    • pozna in sledi standardom za izdelavo programske opreme za uporabnike s posebnimi potrebami (Web Accessibility Initiative ...)
    • aktivno sodeluje na portalih, namenjenih širjenju znanja (Stack Overflow …)
    • sledi odprtokodnim rešitvam in orodjem


    Kandidat na podlagi  predhodno izdelane aplikacije:

    • predstavi (uporabljene) sodobne metode, orodja in storitve pri različnih fazah razvoja programske opreme
    daje predloge na svojem področju v timu pri analizi zahtev uporabnika/naročnika za izdelavo programske opreme
    • daje predloge naročnikom pri prepoznavanju idejne zasnove projekta, ciljev in možnih rešitev
    • daje predloge na svojem področju v timu pri oblikovanju specifikacij (uporabniške zgodbe)
    • daje predloge na svojem področju v timu pri verifikaciji specifikacij skladno s tehničnimi možnostmi
    Kandidat na podlagi  predhodno izdelane aplikacije:
      • predstavi predlog idejne programske rešitve:
        • cilje rešitve
        • njeno idejno zasnovo
        • njene funkcionalne zahteve
        • ovrednoti tehnične možnosti glede na dane specifikacije
    daje predloge na svojem področju v timu pri načrtovanju razvoja rešitve
    • daje predloge na svojem področju v timu pri pripravi predlogov operativnih in terminskih načrtov izvajanja projektov ali posameznih faz
    • daje predloge na svojem področju v timu pri izdelavi načrta za izdelavo novih ter posodabljanja obstoječih programskih rešitev
    • daje predloge na svojem področju v timu pri izbiri ustreznega razvojnega okolja (upravljanje različic, razvojna orodja ...)
    Kandidat na podlagi  predhodno izdelane aplikacije:

    • predstavi načrt izvajanja (dela) projekta, posameznih faz ter obveznosti, ki izhajajo iz tega načrta
    • predstavi razloge za izbiro razvojnega okolja in programskih orodij
    daje predloge na svojem področju v timu pri načrtovanju razvoja programske opreme

    • pridobi ustrezne informacije za izdelavo oz. posodobitev (enostavnejših) programskih rešitev
    • daje predloge na svojem področju v timu pri izdelavi osnovne arhitekture programske rešitve
    • daje predloge na svojem področju v timu pri izbiri ustrezne tehnologije glede na dani primer (programski jezik, podatkovno bazo, storitve, strojno opremo ...)


    Kandidat na podlagi  predhodno izdelane aplikacije:

    • predstavi arhitekturo predhodno pripravljenega izdelka
    • pojasni izbiro ustrezne tehnologije za predhodno pripravljen izdelek
    • predstavi oz. dokumentira začetno stanje rešitve in korake za njeno (nad)gradnjo
    • opiše razloge za izbrano pot do rešitve:
      • izbiro programskega jezika
      • podatkovne baze programskih knjižnic ipd.
    razvija programsko opremo
    • programira v vsaj enem splošnonamenskem programskem jeziku (Java, Python, javascript, C++, C# ...)
    • razvija programsko opremo na različnih platformah (namizne, spletne, mobilne, vgradne…)
    • uporablja orodja za razvoj programske opreme (razhroščevalnik …)
    • upošteva specifikacije, jih usklajuje z možnostmi tehničnih rešitev in predlaga spremembe ter pripravi predloge izboljšav
    • razume in udejanji zapisane specifikacije
    • glede na specifikacije izdela programske module oziroma aplikacije v izbranem programskem jeziku
    • poveže programsko rešitev ter neodvisne storitve in tehnologije (oblačne storitve, moduli za varovanje podatkov, zaščita osebnih podatkov ...)
    • uporablja podatkovno bazo (pozna osnove SQL in NoSQL podatkovnih baz, uporablja poizvedovalne jezike, upravlja s podatkovno bazo)
    • pozna strukture za razvoj vmesnikov (JSON, XML, HTML, CSS ...)
    • upošteva posebnosti programskega jezika za zagotavljanje varnosti pri izvajanju programa
    • oceni učinkovitost programske rešitve glede na izbrane kriterije (čas, sistemski viri, energija ...) in predlaga izboljšave
    • razhroščuje razvito programsko opremo in uporabljati orodja za iskanje ozkih grl pri izvajanju programske opreme in iskanje ranljivosti v programski kodi
    • daje predloge na svojem področju pri optimizaciji razvite programske rešitve
    • uporablja orodja za javljanje in odpravo napak
    • izdela tehnično in uporabniško dokumentacijo programske rešitve
    • razvija programsko opremo skladno z izbrano metodologijo
    Kandidat na podlagi predhodno izdelane aplikacije:
    • predstavi in utemelji rešitve v izbranem programskem jeziku:
      • razloži uporabljeni algoritem s pomočjo diagramov poteka
      • utemelji ustreznost uporabe določenega programskega vzorca
      • utemelji izdelavo aplikacije na podlagi naročnikovih zahtev
    • pojasni vlogo oz. razloge za uporabo podatkovne baze v aplikaciji
    • prikaže način uporabe podatkovne baze
    • prikaže in pojasni način zaščite podatkov pred nepooblaščenim dostopom
    • prikaže uporabo neodvisne storitve s pomočjo aplikacijskih vmesnikov ali na druge načine
    • pojasni načine iskanja napak in optimizacije delovanja :
      • uporabo razhroščevalnika
      • dnevnika dogodkov
      • profilerja ali drugih orodij za analizo programske kode in delovanja programa
    • predstavi priročnik za uporabo, ki ga je pripravil v elektronski ali papirni obliki oz. predstavi pomoč, ki je vgrajena v sam uporabniški vmesnik
    • predstavi tehnično dokumentacijo programske rešitve
    testira razvito programsko opremo

    • daje predloge na svojem področju pri pripravi načrta testiranja
    • za pripravljene testne podatke napiše ustrezne teste
    • izvaja preverjanje razvitih programskih rešitev in ovrednoti rezultate
    • dokumentira rezultate, predlaga izboljšave in nove teste
    Kandidat na podlagi predhodno izdelane aplikacije:

    • testira delovanje po enem ali več uveljavljenih načinih oziroma procesih testiranja programske opreme
    • predlaga poenostavitve in druge izboljšave glede na opravljene teste
    namešča in uvaja razvite programske rešitve
    • pripravi predloge izobraževanja in usposabljanja za uporabnike razvite programske opreme in ga izvede
    • namešča in pomaga stranki pri nameščanju razvite programske opreme
    Kandidat na podlagi predhodno izdelane aplikacije:

    • predstavi predznanja, ki se jih za uporabo programske rešitve  pričakuje od uporabnika
    • predstavi že pripravljeno dokumentacijo za podporo uporabniku:
      • navodila za namestitev
      • pogosto postavljena vprašanja
      • znane pomanjkljivosti in hrošče
      • navodila za obvod ali razreševanje težav
      • diagrame poteka za tehnično podporo
    • odgovarja na vprašanja o uporabi in delovanju programa, postavljena z uporabniškega vidika
    vzdržuje razvite programske rešitve
    • posodablja razvito programsko opremo (zastarele storitve, verzije, razvojna orodja ...)
    • obvešča uporabnike o stanju programske rešitve (redno posodabljanje ...), predlaga ukrepe in potrebne nadgradnje
    • nudi pomoč uporabnikom razvite programske opreme (prva in druga raven podpore)

    Kandidat na podlagi predhodno izdelane aplikacije:

    • pojasni, kdaj je delovanje programske opreme ogroženo zaradi zastarelosti, dokumentira potrebne korake za nadgradnjo ter nadgradnjo izvede
    • pojasni možne nadgradnje
    • nudi pomoč uporabnikom na podlagi podanih scenarijev na prvi, in drugi ravni podpore

    12. Literatura, strokovno gradivo

    • Sommerville, I. (2019). Engineering Software Products. An Introduction to modern Software Engineering, Pearson. Lancaster. United Kingdom
    • Pressman, R. S.  (2017). Software Engineering: A Practioner's Approach, 8th Edition. McGraw Hill Text. New York. USA
    • Leach, R J. (2016). Introduction to Software Engineering, 2nd Edition. CRC Press. Boca Raton. USA

    13. Delovna skupina za pripravo kataloga standardov strokovnih znanj in spretnosti

    • Vera Suhadolnik, Center RS za poklicno izobraževanje, vodja priprave kataloga standardov strokovnih znanj in spretnosti
    • Aleš Volčini, Elektrotehniško-računalniška strokovna šola in gimnazija Ljubljana, Ljubljana
    • Melita Kompolšek, Elektrotehniško-računalniška strokovna šola in gimnazija Ljubljana, Ljubljana
    • Aleksandar Lazarević, Računalniško svetovanje in izobraževanje, Aleksandar Lazarević, s.p., Mengeš