21
UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO VISOKOŠOLSKI STROKOVNI ŠTUDIJ Informatika in tehnologije komuniciranja POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v HRC informacijski inženiring d.o.o. – Žalec Čas opravljanja od 19.4.2010 do 19.6.2010 Mentor v GD Ernest Pinter Študent Andrej Jagar Vpisna številka E1002364 E pošta [email protected] Telefon 040 883 646

PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

  • Upload
    dodan

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO

VISOKOŠOLSKI STROKOVNI ŠTUDIJ Informatika in tehnologije komuniciranja

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v

HRC informacijski inženiring d.o.o. – Žalec

Čas opravljanja od 19.4.2010 do 19.6.2010 Mentor v GD Ernest Pinter Študent Andrej Jagar Vpisna številka E1002364 E pošta [email protected] Telefon 040 883 646

Page 2: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

2

Page 3: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

3

Page 4: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

4

Kazalo

1. Opis gospodarske družbe in produktov ........................................................................................... 7

1.1 Hibis........................................................................................................................................ 7

1.2 Struktura gospodarske družbe ............................................................................................... 8

1.3 Organiziranost oddelka poslovanje z občani ......................................................................... 8

1.3.1 Odgovornosti in obveznosti ............................................................................................... 9

2. Opis praktičnega izobraževanja – projektnega dela študenta ...................................................... 10

2.1 Začetek praktičnega usposabljanja – Začetno učenje.......................................................... 10

2.1.1 Primer ene izmed nalog ................................................................................................... 11

2.2 Popravljanje arhiviranja ....................................................................................................... 12

2.3 Nadaljevanje učenja ............................................................................................................. 12

2.3.1 Oracle Forms .................................................................................................................... 13

2.3.2 Oracle Reports ................................................................................................................. 13

2.3.3 Win CVS ........................................................................................................................... 13

3. Strokovno področje ali projekt ...................................................................................................... 14

3.1 Izdelava izpisa vloge odprtja in vodenja transakcijskega računa ......................................... 14

3.2 Izdelava izpisa (poročila) odprtih računov ........................................................................... 15

3.3 Dopolnjevanje komentarjev tabel ter stolpcev tabel .......................................................... 16

3.4 Migracija nastavitvenih parametrov .................................................................................... 17

3.5 Priprave na migracijo podatkov novih strank hibisa ............................................................ 17

3.6 Ločevanje skript tabel .......................................................................................................... 19

3.7 Priprava avtomatičnega prenosa tečajev ............................................................................ 19

3.8 Rutinsko delo po vsaki opravljeni nalogi .............................................................................. 20

3.8.1 CVS ................................................................................................................................... 20

3.8.2 Podpora ........................................................................................................................... 20

4. Sklep .............................................................................................................................................. 21

Page 5: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

5

Uvod HRC informacijski inženiring d.o.o. je podjetje katerega osnovna dejavnost je razvoj poslovno-informacijskih sistemov. Podjetje se je v času opravljanja mojega praktičnega izobraževanja preselilo iz industrijske strani Žalca v samo središče (ob parku). V podjetju je zaposlenih približno 75 delavcev, izkušenih strokovnjakov s povprečno starostjo 35 let. Podjetje je razdeljeno na šest oddelkov, glede na različne sklope programske opreme Hibis, ki je glavni izdelek podjetja. Praktično usposabljanje sem začel z učenjem programskih jezikov in orodij, katera uporabljajo delavci v podjetju za opravljanje njihovega dela. Ko sem se spoznal z določenimi orodji in standardi, ki se uporabljajo v podjetju, sem prejel naslednje naloge znotraj programske opreme Hibis:

- popravljanje arhiviranja, - izpis (poročilo) ukinjenih računov, - izpis (poročilo) vloge za odprtje in vodenje transakcijskega računa, - dodajanje manjkajočih komentarjev stolpcev tabel in tabel znotraj podatkovnih baz, - in migracija parametrov nastavitev.

V času praktičnega izobraževanja sem spoznal veliko zame novih stvari. Spoznal sem se s potekom dela v skupini razvijalcev ter ugotovil kako obsežni so lahko informacijski sistemi. Spoznal sem tudi, kako poteka delo znotraj oddelka ter kako so razdeljene funkcije in naloge med zaposlenimi v oddelku.

Page 6: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

6

Slovarček pogosto uporabljenih izrazov

HRC – HRC (HRC informacijski inženiring d.o.o.) je podjetje, kjer sem opravljal obvezno praktično usposabljanje. Hibis – je računalniška programska oprema za podporo bančnemu informacijskemu sistemu, ki jo razvija podjetje HRC. Je glavni izdelek podjetja. Poslovanje z občani – (ali šalter – interni izraz znotraj podjetja) je oddelek podjetja, zadolžen za funkcije programske opreme Hibis, ki jih potrebujejo bančni uslužbenci, ki delajo za okenci (od tu tudi izraz »šalter«). Oracle – je programsko orodje za upravljanje relacijske podatkovne baze. V okviru praktičnega usposabljanja sem se spoznal z PL/SQL programskim jezikom in orodji Oracle forms in Oracle reports. SQL (Structured Query Language) je najbolj razširjen in standardiziran povpraševalni jezik za delo s podatkovnimi zbirkami. PL/SQL (Procedural Language/Structured Query Language) je oraclov procedurni dodatek k jeziku SQL. Je eden treh ključnih programskih jezikov, vključenih v Oraclove podatkovne baze, skupaj z SQL-om in Javo. V Oraclove podatkovne baze je vključen od verzije 7 dalje.

Page 7: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

7

1. Opis gospodarske družbe in produktov

1.1 Hibis

Hibis je glavni izdelek podjetja. Je računalniška programska oprema za podporo bančnemu informacijskemu sistemu. Hibis je zasnovan s pomočjo programskega orodja Oracle, orodja četrte generacije. Programsko opremo Hibis sestavljajo naslednji sklopi:

- blagajniško poslovanje, - devizne hranilne vloge, - devizni depoziti, - devizni računi, - elektronsko bančništvo za fizične osebe, - elektronsko bančništvo za pravne osebe, - glavna knjiga, - hranilne vloge – na vpogled, - hranilne vloge – vezane, - kreditno in depozitno poslovanje za pravne osebe, - menjalnica, - poslovanje s tujino, - rentno varčevanje, - transakcijski računi - vrednostni papirji, - žiro računi fizičnih oseb.

Slika 1: Na sliki je zaslonska maska Hibisa, glavnega izdelka podjetja.

Page 8: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

8

1.2 Struktura gospodarske družbe

V podjetju HRC je zaposlenih približno 75 delavcev, le ti pa so razdeljeni po različnih oddelkih. Oddelki so razdeljeni na podlagi različnih sklopov sistema Hibis. V podjetju so poleg uprave naslednji oddelki:

- Krediti - Devizno - Poročanje - Elektronsko bančništvo - Poslovanje z občani

Kot študenta, ki opravlja obvezno praktično usposabljanje, z možnostjo nadaljne zaposlitve, me je direktor podjetja uvrstil v oddelek poslovanja z občani.

1.3 Organiziranost oddelka poslovanje z občani

Ker sem bil sam uvrščen v oddelek poslovanje z občani (interno »šalter«) bom v nadaljevanju na kratko predstavil organiziranost znotraj našega oddelka. Znotraj oddelka imajo zaposleni različne funkcije. Vsaka funkcija ima svoje odgovornosti in obveznosti, katere bodo predstavljene v nadaljevanju. Najvišje v hierarhiji oddelka imamo integratorje informacijskega sistema, za njimi so programerji z dodeljenimi posameznimi moduli, za katere skrbijo. V spodnjem delu hierarhije pa imamo programerje, ki opravljajo dežurstvo in programerje, ki so še na uvajanju oziroma še nimajo potrebnega znanja informacijskega sistema in programiranja, da bi lahko opravljali dežurstvo.

Slika 2: Slika prikazuje organiziranost v oddelku poslovanje z občani. Iz skice je razvidna hierarhija zaposlenih

z integratorji na najvišjem položaju, programerji, ki imajo dodeljene posamezne module za njimi in

programerji na najnižji ravni.

Page 9: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

9

1.3.1 Odgovornosti in obveznosti

V oddelku poslovanje z občani veljajo naslednje odgovornosti oz. obveznosti:

1.3.1.1 Integratorji informacijskega sistema

Integratorji skrbijo za tehnično in tehnološko povezanost vseh modulov, ki se vključujejo v oddelek Poslovanje z občani (šalter).

1.3.1.2 Programerji, ki imajo dodeljen posamezni modul

Programerji, ki imajo dodeljen posamezni modul, so zanj odgovorni, kar pomeni:

- Iz podpore prevzemajo zahtevke za razvoj novih funkcionalnosti, sprememb funkcionalnosti in drugo, ki se nanaša na ta modul;

- Pri vseh večjih posegih v arhitekturo informacijskega sistema Poslovanja z občani se morajo posvetovati z integratorjem informacijskega sistema;

- Lahko dodeljujejo predhodno navedene zahtevke iz podpore programerjem, ki se še uvajajo (še nimajo lastnega modula);

- Dežurnemu programerju nudijo pomoč za reševanje napak iz modula, za katerega odgovarjajo;

1.3.1.3 Programerji, ki prevzemajo dežurstvo

Programerji, ki prevzemajo dežurstvo, morajo izvajati naslednje naloge:

- Iz podpore prevzemajo prijave napak, ne glede na modul; - Bankam nudijo podporo pri odpravljanju napak, ki so nastale zaradi napak v

programski kodi, pri napačni uporabi programske opreme, napačnih nastavitev in šifrantov.

1.3.1.4 Programerji, ki še nimajo posebnih zadolžitev

Programerji, ki še nimajo posebnih zadolžitev so v fazi uvajanja. S pridobivanjem znanj in izkušenj bodo postopoma lahko prevzeli dežurstvo, za katero se pričakuje že določeno osnovno poznavanje informacijskega sistema poslovanja z občani in programiranja.

Page 10: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

10

2. Opis praktičnega izobraževanja – projektnega dela študenta

2.1 Začetek praktičnega usposabljanja – Začetno učenje

V začetku praktičnega usposabljanja sem dobil nalogo, da se spoznam z Oraclovim programskim jezikom SQL in PL/SQL ter orodjem PL/SQL Developer. SQL (Structured Query Language) je najbolj razširjen in standardiziran povpraševalni jezik za delo s podatkovnimi zbirkami. PL/SQL (Procedural Language/Structured Query Language) je oraclov procedurni dodatek k jeziku SQL. Je eden treh ključnih programskih jezikov, vključenih v Oraclove podatkovne baze, skupaj z SQL-om in Javo. V Oraclove podatkovne baze je vključen od verzije 7 dalje. PL/SQL Developer pa je programsko orodje za pisanje PL/SQL skript nad bazami podatkov. Z jezikoma SQL in PL/SQL sem se malo spoznal že v okviru predavanj in vaj na fakulteti in sicer pri predmetih:

- Podatkovne baze: o povpraševalni jezik SQL, o ustvarjanje podatkovne baze s pomočjo skript, o in prožilci (triggers).

- Razvoj aplikacij za internet: o procedure (Stored procedure)

- Upravljanje informacij: o povpraševalni jezik SQL, o ustvarjanje podatkovne baze s pomočjo skript, o in ustvarjanje indeksov.

Na začetku praktičnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle Database 10g, ki sem jih moral preučiti:

- PL/SQL Fundamentals – volume 1 Student Guide - PL/SQL Fundamentals – volume 2 Additional Practices - PL/SQL Program Units – volume 1 Student Guide - PL/SQL Program Units – volume 3 Additional Practices

V okviru te naloge sem se seznanil s potekom naslednjih stvari v jeziku PL/SQL:

- struktura PL/SQL skript, - vnos in izpis, - krmilni stavki (if, case), - zanke(osnovna zanka, while zanka, for zanka, gnezdene zanke),

Page 11: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

11

- zapisi (records), - polja (varray), - kurzorji (cursor, cursor with parameters), - dinamični SQL, - funkcije, - procedure, - ter paketi in strukturo paketov (package body, package specification).

Ko sem se seznanil z zgoraj omenjenimi elementi programske kode, sem dobil v vpogled interna pravila in smernice za pisanje programske kode, ki veljajo v podjetju. Nato sem dobil vaje iz jezikov SQL in PL/SQL, da sem to novo prejeto znanje še utrdil.

2.1.1 Primer ene izmed nalog

2.1.1.1 Besedilo

Ustvari funkcijo imenovano GET_JOB_COUNT, ki bo vrnila skupno število različnih služb, ki jih je delavec opravljal. Funkcija naj sprejme ID delavca (employee ID) kot parameter in vrača število različnih služb, ki jih je delavec opravljal do sedaj, vključno s sedanjo službo. Dodaj upravljanje izjem (exception handling) za preverjanje neveljavnega delavca. NAMIG: Uporabi distinct JOB ID iz tabele JOB_HISTORY in odstrani trenutno službo, če je slučajno ena preteklih, katere je delavec že opravljal.

2.1.1.2 Rešitev naloge

create or replace function aj_get_job_count (p_employee_id in employees.employee_id%type) return number is

w_number_jobs number(2) := 0; e_resource_busy exception; pragma exception_init (e_resource_busy, -54); begin select prev.nmb_prev_jobs+cur.current_job into w_number_jobs from (select count(distinct job_id) as nmb_prev_jobs from job_history where employee_id=p_employee_id and job_id not in (select job_id from employees where employee_id=p_employee_id) ) prev,

Page 12: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

12

(select count(*) as current_job from employees where employee_id=p_employee_id ) cur; return w_number_jobs; exception when e_resource_busy then raise_application_error (-20201, 'Row in table jobs is locked.' || sqlerrm); when no_data_found then raise_application_error (-20201, 'No data found.' || sqlerrm); end aj_get_job_count;

2.1.1.3 Klic funkcije

begin

dbms_output.put_line(aj_get_job_count(89)); end;

2.2 Popravljanje arhiviranja

Da bi še bolj utrdil dobljeno znanje, sem dobil prvo resno nalogo, ki se je nanašala na jezik PL/SQL. Popraviti je bilo potrebno arhiviranje starih računov v sistemu Hibis. Naloga je zajemala spremembo strukture arhivskih tabel, popravljanje procedur arhiviranja ter testiranje novega spremenjenega arhiviranja. Potrebno je bilo uskladiti arhivske tabele z ustreznimi tabelami podatkovne baze Hibisa ter popraviti proceduro arhiviranja, da je arhivirala tudi novo dodane stolpce v arhivske tabele. Naloga je bila dobra tudi za to, da se bolje seznanim s strukturo podatkovne baze sistema Hibis (tabelami in stolpci tabel).

2.3 Nadaljevanje učenja

V nadaljevanju opravljanja praktičnega usposabljanja sem se moral spoznati z naslednjimi programskimi orodji, ki jih zaposleni uporabljajo za opravljanje svojega dela:

- Oracle Forms - Oracle Reports - Win CVS

Page 13: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

13

2.3.1 Oracle Forms

Naslednje orodje na seznamu orodij, ki sem jih moral spoznati, je bilo Oracle Forms. Oracle Forms je programsko orodje za ustvarjanje zaslonskih mask (obrazcev), povezanih z Oracle podatkovno bazo. Je standardno razvijalsko okolje, ki vsebuje navigacijo med objekti, seznam lastnosti in urejevalnik PL/SQL programske kode. Za učenje Oracle Forms sem dobil PDF dokument, ki je vseboval dokumentacijo Oracle Forms, ter tudi naloge, ki jih je bilo potrebno narediti za vajo.

2.3.2 Oracle Reports

Naslednje orodje s katerim sem se moral spoznati, je bilo Oracle Reports. Za učenje Oracle Reports sem dobil skripto »Oracle iDS Reports: Build Internet Reports: Volume 1 – Student Guide«, s pomočjo katere sem se spoznal z Oracle Reports. Oracle Reports je programsko orodje za razvijanje poročil nad podatki v Oraclovi podatkovni bazi.

2.3.3 Win CVS

CVS (Concurrent Versions System) je programsko orodje za nadzor nad verzijami. Uporablja se na področju razvijanja programske opreme. Nadzor nad verzijami beleži vso delo in vse spremembe nad določenimi datotekami ter dovoljuje, da lahko več razvijalcev združuje spremembe in jim tako omogoča medsebojno sodelovanje.

Page 14: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

14

3. Strokovno področje ali projekt

3.1 Izdelava izpisa vloge odprtja in vodenja transakcijskega

računa

Po učenju Oracle Reports, sem kot nalogo dobil zahtevek stranke (banke), ki je zahtevala izpis vloge za odprtje in vodenje transakcijskega računa. Izpis je vseboval več vpisnih polj kot so ime, priimek, datum rojstva, kraj rojstva, podatki o naslovu, podatki o začasnem naslovu, podatki o zaposlitvi, številka osebnega računa, itd. Potrebno je bilo izdelati izpis (poročilo), čim bolj podoben njihovi predlogi. Vsebovati je moral vsa vnosna polja iz predloge ter črpati podatke iz podatkovne baze. Če podatkov ni bilo v podatkovni bazi, jih je stranka naknadno vnesla.

Slika 3: Slika prikazuje predlogo izpisa, katerega je bilo potrebno narediti. V polja se vnašajo podatki iz

podatkovne baze, če podatkov v podatkovni bazi ni, pa jih stranka vnese naknadno.

Page 15: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

15

Naloge sem se lotil tako, da sem izdelal izpis čim bolj podoben njihovi predlogi (stili, velikosti pisave, poravnave, velikosti vnosnih polj, ...) ter nato s pomočjo programske kode napolnil podatke, ki so bili v podatkovni bazi (podatki o imetniku računa, številka osebnega računa, podatki o zaposlitvi imetnika računa, ...). Nekatere podatke sem pridobival direktno iz podatkovne baze, druge pa je bilo potrebno pridobiti iz posebej za to pripravljenih procedur. V primeru, ko je šlo za podatke kot so številka osebnega računa ali enotna matična številka občana (EMŠO) je bilo potrebno podatek razbiti na posamezne znake in vsak znak posebej vnesti v svoj okvirček. Ko je bil izpis dokončan, ga je bilo potrebno dodati v meni sistema hibis. V meni je bilo potrebno dodati nov vnos in ga povezati z novo ustvarjenim izpisom. Nato je bilo potrebno določiti kateri stranki (banki/hranilnici) bo uporaba nove funkcionalnosti omogočena. Za izdelavo izpisa sem potreboval novo prejeto znanje Oracle Reports in PL/SQL, katerega sem gradil na predhodnem znanju jezika SQL in osnov programiranja (ki sem se jih naučil v okviru študija).

3.2 Izdelava izpisa (poročila) odprtih računov

Potrebno je bilo narediti izpis vseh odprtih računov glede na datum odprtja. Najprej je bilo potrebno oblikovati izpis (poročilo) s pomočjo programske opreme oracle reports. Izpis je kot parametre prejemal podatke o poslovalnici ter datuma od in do katerega datuma naj se izpišejo odprti računi. Potrebno je bilo izpisati podatke o računu in sicer:

- številka računa, - agencija, - namen, - partija, - naziv, - datum otvoritve, - datum in znesek zadnjega priliva na račun (znesek obresti ne šteje).

Izpis je moral biti sortiran najprej po agenciji, nato po namenu in nazadnje po datumu otvoritve. Potrebno je bilo izpisati število odprtih računov za vsako agencijo in na koncu skupaj za banko. Štetje se je opravilo avtomatsko s pomočjo programskega orodja oracle reports in sicer kot seštevek vseh (sum total) na ponavljajočih se agencijah in skupaj za celotno banko. Ko je bil izpis dokončan, ga je bilo potrebno dodati v meni sistema hibis ter nastaviti kateri stranki (banki/hranilnici) bo uporaba nove funkcionalnosti omogočena.

Page 16: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

16

3.3 Dopolnjevanje komentarjev tabel ter stolpcev tabel

Kot naslednjo delo sem prejel nalogo, da dopolnim manjkajoče komentarje stolpcev in tabel v skriptah, ki jih podjetje uporablja za ustvarjanje tabel podatkovne baze (».tab« skripte). Ugotavljanje katere tabele vsebujejo stolpce brez komentarjev ali pa jim manjkajo komentarji tabel, bi lahko opravljali ročno, vendar bi bilo pregledati približno petsto tabel, s povprečno 25 stolpci na tabelo mučno in zamudno opravilo. Lažja rešitev te težave je bila, pregled manjkajočih komentarjev stolpcev in tabel s pomočjo procedure. Tako sem za pregledovanje manjkajočih komentarjev ustvaril novo proceduro, ki je pregledovala pogleda (view) »all_tab_comments« in »all_col_comments«. Razlika med pogledoma »all_tab_comments« in »all_col_comments« je v tem, da v pogledu »all_tab_comments« najdemo podatke o lastniku, imenu, tipu in komentarju tabele (to nam pove tudi delček imena »tab« (angleško table) - tabela), v pogledu »all_col_comments« pa najdemo podatke za stolpec tabele (kar nam pove delček imena »col« - (angleško column) stolpec) in sicer lastnika, ime tabele, ime stolpca in komentar stolpca. Najlažja pot za shranjevanje manjkajočih komentarjev je bila z zapisom v novo začasno tabelo manjkajočih komentarjev, ki sem jo poimenoval »salt_komentarji«. V to tabelo se bodo vnašali podatki o lastniku tabele, imenu tabele, imenu stolpca tabele in komentarju. S pomočjo procedure za ugotavljanje manjkajočih komentarjev sem pregledal zgoraj omenjena pogleda z iskalnim pogojom, kjer je komentar null (where comment is null) kar pomeni, da komentar ni vnešen. Dobljene podatke o tabeli brez komentarja in stolpcu tabele brez komentarja sem nato vnesel v začasno tabelo »salt_komentarji« in sicer:

- če je šlo za tabelo brez komentarja, se je v začasno tabelo vneslo ime lastnika tabele, ime tabele, stolpec tabele in komentar pa sta ostala prazna (null)

- če je šlo za stolpec tabele brez komentarja, se je v začasno tabelo vneslo ime lastnika tabele, ime tabele, ime stolpca, komentar pa je ostal prazen (null).

S pomočjo začasne tabele »salt_komentarji«, sem nato izdelal seznam tabel katerim manjka komentar tabele ali komentar stolpca tabele. S pomočjo seznama sva nato z mentorjem določila skrbnike posameznih tabel (kateri od zaposlenih znotraj oddelka je odgovoren za to tabelo). Vsakemu skrbniku sem nato sestavil tekstovne datoteke s tabelami in stolpci tabel, kjer manjkajo komentarji ter jih razposlal med skrbnike tabel. Kjer pa odgovornega nisva uspela določiti, pa je bilo potrebno pregledati spremembe skripte tabel z orodjem Win CVS. S pomočjo orodja je bilo lepo razvidno, kdo je dodal katero vrstico programske kode v datoteko skripte. S pomočjo orodja Win CVS je bilo razdeljevanje ostalih stolpcev tabel z manjkajočimi komentarji preprosto. Nato je bilo potrebno počakati skrbnike tabel, da so mi posredovali manjkajoče komentarje. Dobljene manjkajoče komentarje sem nato vnašal v začasno tabelo salt_komentarji, iz katere se bodo nato s pomočjo preproste procedure zgenerirali stavki za dodajanje komentarjev tabelam in stolpcem tabel. Ti stavki se bodo nato pognali na podatkovnih bazah sistema ter dodali skriptam tabel.

Page 17: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

17

Za dopolnjevanje komentarjev tabel sem potreboval novo prejeto znanje PL/SQL, katerega sem gradil na osnovi znanja povpraševalnega jezika SQL, katerega sem spoznal v okviru študija.

3.4 Migracija nastavitvenih parametrov

Zaradi usklajevanja z ostalimi oddelki podjetja je bilo potrebno uskladiti parametre nastavitev (možnosti) programske opreme hibis. Potrebno je bilo združiti parametre nastavitev oddelka v skupno tabelo parametrov nastavitev, ki jo bodo uporabljali vsi oddelki v podjetju. Parametri nastavitev so vrednosti, ki se nahajajo v podatkovni bazi sistema hibis in nam povedo trenutne uporabniške nastavitve, ki jih lahko spreminjajo uporabniki ali administratorji sistema hibis. Najprej je bilo potrebno ugotoviti tip parametra (ali je parameter številčnega, znakovnega, datumskega ali mešanega (številčnega in znakovnega) podatkovnega tipa). Nato je bilo najprej potrebno prenesti strukturo parametrov v skupno tabelo parametrov. To smo storili s pomočjo že narejenih procedur, ki jih uporabljamo za delo s sistemom hibis. Nato je bilo potrebno opraviti migracijo. Migracija je bila sestavljena iz dveh delov. Prvi del migracije je bil ugotavljanje kakšnega tipa mora biti parameter ter nato opraviti migracijo njegovih vrednosti. Tudi migracija vrednosti je bila narejena s pomočjo procedur, ki se uporabljajo za delo s nastavitvenimi parametri sistema hibis. Po končani migraciji je bilo potrebno opraviti še kontrolo parametrov. Kontrolirati je bilo potrebno ali so bile prenešene vrednosti parametrov enake kot vrednosti parametrov v prejšnji tabeli parametrov nastavitev znotraj oddelka. Za dopolnjevanje komentarjev tabel sem potreboval novo prejeto znanje PL/SQL, katerega sem gradil na osnovi znanja povpraševalnega jezika SQL, katerega sem spoznal v okviru študija.

3.5 Priprave na migracijo podatkov novih strank hibisa

Zaradi potencialne nove stranke (hranilnice, banke), ki bo uporabljala sistem hibis, je bilo potrebno pripraviti migracijo podatkov iz prejšnjega sistema stranke v sistem hibis. S stranko je dogovorjeno, da bo pripravila potrebne podatke v tekstovne datoteke (.txt datoteke), iz katerih bomo kasneje shranili podatke v tabele podatkovne baze hibisa. Ker je potrebnih podatkov oziroma tabel veliko, je na tej nalogi delalo več zaposlenih. Kot nalogo sem dobil za pripraviti vse potrebno za prenos ene tabele podatkov ter dopolniti enega od že narejenih prenosov. Stranka bo pripravila tekstovno datoteko, v kateri se bodo nahajali podatki v vrsticah za vsako vrstico v tabeli podatkovne baze. Podatki v vrsticah datoteke ne bodo ločeni z znaki, ampak je točno določeno na kateri poziciji se nahaja podatek v vrstici. Če je podatek krajši kot je dolžina pozicije podatka, se preostala polja zapolnijo s presledki.

Page 18: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

18

Primer takšne izmišljene vrstice bi bil: E1002364Andrej Jagar 3Informatika in tehnologije komuniciranja Za katero bi veljalo:

- pozicija vpisne številke 1-8 - pozicija imena: 9-19 - pozicija priimka: 20-29 - pozicija letnika: 30 - pozicija smeri študija: 31-70

Za tabelo katero sem moral pripraviti migracijo, sem dobil dokument, v katerem so bili zapisani naslednji podatki:

- Ime stolpca - Tip stolpca - Pozicija v datoteki - Dolžina v datoteki - Opis - Ali je polje obvezno (ali se mora v polje tabele vnesti podatek)

Najprej je bilo potrebno ustvariti skripto za izdelavo začasne tabele, v katero se bodo vnesli podatki iz datoteke, ki jo bo pripravila stranka. To tabelo sem ustvaril s pomočjo podatkov, ki sem jih dobil. Začasna tabela je bila poimenovana isto, kot ciljna tabela, samo da je bil na konec imena dodan niz »_prenos«. V skripti sem ustvaril novo začasno tabelo za prenos, katero so sestavljali stolpci iz podatkov, ki sem jih prejel. Nato sem to skripto zagnal na testni podatkovni bazi. Migracija bo potekala s pomočjo orodja imenovanega SQL Loader. SQL Loader je orodje namenjeno migraciji podatkov iz zunanjih datotek v oraclove podatkovne baze. S pomočjo SQL Loader-ja lahko migriramo podatke iz kakršne koli tekstovne datoteke v podatkovno bazo. Da pa bomo lahko uporabili orodje SQL Loader je potrebno ustvariti kontrolno datoteko za prenašanje (».ctl« datoteka). V kontrolni datoteki je zapisano, v katero tabelo podatkovne baze se podatki prenašajo in kam se bodo določeni podatki iz datoteke prenašali. Torej imamo med drugimi podatki v kontrolni datoteki navedene ime stolpca podatkovne baze kamor se bodo podatki prenašali, tip podatkov in pozicijo kje se podatki nahajajo znotraj tekstovne datoteke, ki jo bo pripravila stranka. Primer kontrolne datoteke za zgornji primer tekstovne vrstice bi bil: Load data Append into table primer_prenos (vpisna_stevilka position(01:08) char external nullif vpisna_stevilka=blanks, Ime position(9:19) char external nullif ime=blanks, Priimek position(20:29) char external nullif priimek=blanks, Letnik position(30) integer external nullif letnik=blanks, Smer_studija position(31:70) char external nullif smer_studija=blanks)

Page 19: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

19

Za testiranje SQL Loaderja in kontrolne datoteke je bilo potrebno izdelati tekstovno datoteko z lažnimi (»dummy«) podatki. Nato smo preko ukazne vrstice »cmd« (command prompt) pognali orodje SQL Loader s kontrolno datoteko in testnimi podatki. Primer ukaza za orodje SQL Loader v ukazni vrstici za naš primer bi bil: Sqlldr uporabniskoIme/Geslo@Strežnik control="kontrolna_datoteka.ctl" log="dnevnik.log" data="testni_podatki.txt" Pojasnilo ukaza: Sqlldr – klic orodja SQL Loader uporabniskoIme/Geslo@Strežnik – povezava z strežnikom podatkovne baze (za uporabnika) control – kontrolna (».ctl«) datoteka log – datoteka v katero se bo shranil dnevnik opozoril in napak data – datoteka, kjer se nahajajo podatki za migracijo Kot zadnji del priprave migracije podatkov za nove stranke sistema hibis je bilo potrebno pripraviti proceduro za prenos podatkov iz začasne tabele v pravo tabelo v sistemu hibis.

3.6 Ločevanje skript tabel

Kot nova naloga je bilo potrebno ločiti vse vnosne stavke tabel (»insert« stavke) in spremembe podatkov (»update« stavki), kjer se le ti niso nanašali na novo dodan stolpec v tabelo podatkovne baze. Potrebno je bilo pregledati skripte vseh tabel podatkovne baze hibisa, katere lastništvo ima oddelek poslovanje z občani, ugotoviti v katerih tabelah se nahajajo vnosni ali spremembeni stavki in le te prestaviti izven skript tabel (».tab« datoteke) v svoje sql (».sql«) datoteke. Ročno je bilo potrebno pregledati približno 700 skript tabel in nato ročno prestaviti vnosne in ustrezne spremembene stavke v svoje datoteke.

3.7 Priprava avtomatičnega prenosa tečajev

Zaradi zahteve stranke je bilo potrebno prirediti prenos tečajev v programsko opremo hibis, njihovim potrebam. Ker so njihovi zapisi tečajev v obliki Microsoft Excel (.xls) je najboljša ideja, kako prirediti prenos tečajev iz excel datotek v sistem hibis, preko orodja vključenega v Microstoft Office programsko opremo imenovano macro. V programskem jeziku VBA (Visual basic for application) je bilo potrebno sestaviti programsko proceduro, ki bo prebrala podatke iz excel dokumenta ter jih vnesla v podatkovno bazo sistema hibis. Ker se za nekatere stranke uporablja prenos tečajev preko procedure za prenos iz formata xml, je bilo najlažje tudi za naš primer sestaviti xml strukturo tečajnic in jo uporabiti za prenos. Najprej je bilo potrebno preučiti strukturo dokumentov xml, ki jih podjetje uporablja za prenos tečajev. Nato je bilo potrebno izdelati predlogo excel datoteke za vnos tečajev, s pomočjo katere bodo nato pri stranki vnašali tečaje v hibis. Predloga tečajev je vsebovala datum, uro veljavnosti tečaja, vrsto tečaja, šifro valute, ime valute, nakupno vrednost tečaja, srednjo vrednost tečaja, prodajno vrednost tečaja ter nakupno

Page 20: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

20

vrednost tečaja za čeke. Iz te predloge je nato bilo potrebno preko macro-jev pretvoriti vrednosti v niz z ustrezno strukturo xml datoteke prenosa tečajev. Nato smo klicali proceduro, ki jo podjetje uporablja za prenos tečajev iz xml datotek ter ji kot parameter podali naš niz z vsebino xml datoteke. Nazadnje je bilo potrebno na predlogo dodati gumb za prenos tečajev, ki je bil povezava excel datoteke in programske kode ter testirati prenos tečajev v sistem hibis. Pri opravljanju naloge sem se spoznal z programskim jezikom visual basic for application in z delom z macro-ji v Microsoft Excelu. V okviru šolanja se nisem spoznal z omenjenim programskim jezikom, zato je bilo to znanje zame novo.

3.8 Rutinsko delo po vsaki opravljeni nalogi

3.8.1 CVS

Kot rutinsko delo po vsaki opravljeni nalogi, je bilo potrebno vso delo dodati v sistem vodenja različic CVS. Vsako novo ustvarjeno datoteko je potrebno dodati v CVS ter dodati spremembe (»commit«) vsaki datoteki, katera je že v sistemu CVS, vendar se je pri opravljanju naloge spremenila. Za vsako spremembo podatkov v sistemu CVS (dodajanje ali spreminjanje) je potrebno podati opis sprememb, ki se zapiše poleg avtorja sprememb v sistem CVS. Sistem CVS tako omogoča, da vsi zaposleni znotraj oddelka dobijo novo verzijo datoteke. Sistem omogoča tudi združevanje sprememb, če več zaposlenih istočasno spreminja isto datoteko. Omogočeno je tudi ogledovanje kdo je spremenil/dodal del datoteke ali datoteko v sistem.

3.8.2 Podpora

Za zahteve novih funkcionalnosti ter spremembe starih funkcionalnosti uporablja podjetje spletni sistem za podporo strankam imenovan »podpora«. Za vsak zahtevek, ki pride v aplikacijo podpora se pridobi ustrezne podatke ter pripravi predračun. Ko stranka potrdi predračun in poda vse ustrezne informacije o zahtevi, ki jo potrebuje, vodja oddelka dodeli razvojnika (programerja), kateri bo opravljal delo, ki ga je potrebno opraviti v okviru zahtevka. Po uspešno končanem razvoju izdelka na podpori je potrebno dodati izdelku oznako »razvoj končan«. Potrebno je vnesti porabljene ure glede na tip dela (programersko delo, programersko testiranje (v okviru podatkovnih baz (strežnikov) v lasti podjetja), ...) ter zapisati opis dela. Ko je vse to zabeleženo, je zahteva pripravljena na testiranje na testnem okolju stranke ter je nato dodana naslednji verziji (popravku) sistema hibis.

Page 21: PORO ČILO PRAKTI NEGA IZOBRAŽEVANJA - …praksa.uni-mb.si/porocila/E1002364.pdfNa za četku prakti čnega usposabljanja sem dobil naslednje knjige iz zbirke Oracle University Oracle

21

4. Sklep V času praktičnega izobraževanja sem spoznal kako poteka delo znotraj podjetja, ki se ukvarja z razvojem programske opreme oziroma informacijskih sistemov. Spoznal sem, kako poteka delo znotraj oddelka ter delo v skupini več razvijalcev. Pridobil sem znanje o programski opremi, ki nam omogoča delo v skupini (združevanje sprememb, ...). Utrdil sem znanje podatkovnih baz, ki sem ga pridobil v času šolanja ter pridobil veliko novega znanja o podatkovnih bazah. Pridobil sem tudi znanje o sestavi programske opreme, ki jo podjetje razvija.