REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development...

51
Diplomsko delo Organizacija in REŠITEV Z Mentor: doc. dr. Alenka o visokošolskega strokovneg n management informacijskih s ZA PODPORO POSLOV PODJETJA NIGZ Baggia Kandid Kranj, avgust 2013 ga študija sistemov VANJA dat: Borislav Keleman

Transcript of REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development...

Page 1: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Diplomsko delo visokošolskega strokovnega študijaOrganizacija in management informacijskih sistemov

REŠITEV ZA PODPORO POSLOVANJA

Mentor: doc. dr. Alenka Baggia

iplomsko delo visokošolskega strokovnega študijarganizacija in management informacijskih sistemov

REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ

Alenka Baggia Kandidat: Borislav Keleman

Kranj, avgust 2013

iplomsko delo visokošolskega strokovnega študija rganizacija in management informacijskih sistemov

REŠITEV ZA PODPORO POSLOVANJA

Kandidat: Borislav Keleman

Page 2: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

ZAHVALA Zahvaljujem se mentorici prof. dr. Alenki Baggia za pomoč, predloge in podporo pri pisanju diplomskega dela. Hvala g. Zoranu Nikodinoviču iz podjetja NIGZ s.p., za nasvete in pomoč pri izdelavi diplomskega dela. Zahvaljujem se svoji družini , ki me je podpirala in stala ob strani med študijem.

Page 3: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

POVZETEK

V diplomskem delu je predstavljena prototipna rešitev za poslovanje podjetja, ki se ukvarja z gradbenimi storitvami. Predstavljena aplikacija je enostavna za uporabo in ne predstavlja večjih stroškov za podjetje, zato je primerna za malo podjetja. Z uporabo aplikacije skrajšamo čas izvedbe posameznih procesov v podjetju, zmanjšamo število napak in izgubo podatkov. Diplomsko delo je razdeljeno na tri dele. V uvodnem delu je predstavljeno obravnavano podjetje, problematika podjetja in teoretična izhodišča. V osrednjem delu je predstavljen proces razvoja programske rešitve. Zaključek vključuje SWOT analizo podane programske rešitve in predloge za nadgradnjo programske rešitve. Izhodišče razvoja programske rešitve je bil intervju z naročnikom, ki je opisal, kako poteka delo v podjetju in kakšno informacijsko tehnologijo uporabljajo. Na podlagi zahtev je bilo za razvoj prototipne rešitve izbrano orodje Microsoft Access 2007. Razvita programska rešitev omogoča uporabniku pregled nad podatki in zagotavlja ažurnost podatkov. Uporaba programske rešitve omogoča tudi krajši čas izvedbe posameznih poslovnih procesov, kot je izdaja ponudb, naročil ipd. Dostop do posameznih informacij je hitrejši in bolj zanesljiv. Programska rešitev posredno omogoča boljše poslovanje podjetja, podatki so shranjeni na enem mestu, dostop do podatkov je enostavnejši. KLJUČNE BESEDE: − Podatkovna zbirka − Microsoft Access − Programska rešitev − Storitvena dejavnost

Page 4: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

ABSTRACT A prototype solution for small business involved in construction services is presented in the thesis. The presented application is simple to use and can be implemented with low costs, and is therefore appropriate for small business. Using the presented application, the company can shorten time of individual processes; reduce the number of errors and data loss. The thesis consists of three main parts. The introduction section presents the company, the problem and theoretical background. The process of software solution development is presented in the central part of the thesis. SWOT analysis of the developed software solution and suggestion for further development are given in the conclusion section. The software solution development process was triggered by an interview with the owner of the company, who described the workflow in the company and information technology that the company uses. Based on the requirements, Microsoft Access 2007 was used to develop the software solution. The developed solution enables overview of data and accuracy. Using the presented software solution, enables the company to shorten the time of different business processes; issuing tenders, orders etc. Information can be accessed faster and is more reliable. Further, the software solution influences better business, central data storage and simpler data access. KEYWORDS: -Database -Microsoft Access -Software solution -Services

Page 5: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

KAZALO 1 UVOD ........................................................................................................ 1

1.1 PREDSTAVITEV PROBLEMA .................................................................. 1

1.2 PREDSTAVITEV PODJETJA ................................................................... 2

1.3 METODE DELA .................................................................................... 2

2 OSNOVE PODATKOVNIH ZBIRK ................................................................... 4

3 RELACIJSKI PODATKOVNI MODEL ............................................................... 8

3.1 IZDELAVA RELACIJSKEGA PODATKOVNEGA MODELA S POMOČJO NORMALIZACIJE ................................................................................. 9

3.1.1 Prva faza: od modela uporabnika do nenormalizirane relacije ....... 10

3.1.2 Druga faza: prva normalna forma .............................................. 10

3.1.3 Tretja faza: druga normalna forma ............................................. 10

3.1.4 Četrta faza: tretja normalna forma ............................................. 11

3.1.5 Peta faza: četrta normalna forma ............................................... 11

3.1.6 Šesta faza: peta normalna forma ............................................... 11

4 ORODJE MS ACCESS .................................................................................. 12

5 ANALIZA PROBLEMSKEGA STANJA .............................................................. 14

6 PROGRAMSKA REŠITEV ............................................................................. 15

6.1 SEZNAM TABEL ................................................................................. 15

6.2 RELACIJSKI MODEL PODATKOVNE BAZE ............................................. 20

6.3 IZDELAVA TABEL .............................................................................. 21

6.4 VNOS TESTNIH PODATKOV V TABELE ................................................ 22

6.5 POIZVEDBE ...................................................................................... 23

6.6 OBRAZCI .......................................................................................... 26

6.6.1 Enostavni oziroma preprosti obrazci ........................................... 26

6.6.2 Izdelava obrazcev s podobrazci .................................................. 31

6.7 POROČILA ........................................................................................ 37

6.8 MAKRI.............................................................................................. 41

6.9 VARNOST ZBIRKE PODATKOV ............................................................ 41

7 ZAKLJUČEK ............................................................................................... 43

7.1 ANALIZA SWOT ................................................................................ 43

LITERATURA IN VIRI ....................................................................................... 45

KAZALO SLIK ................................................................................................... 46

KAZALO TABEL ................................................................................................ 46

Page 6: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 1

1 UVOD Podjetja potrebujejo za nemoteno delo dobro podprto informacijsko tehnologijo. Obravnavano podjetje spada med mala podjetja, ki se ukvarja z gradbenimi storitvami. Specializirali so se predvsem na manjše projekte, povezane z različnimi gradbenimi deli. Množica kontaktov, evidenc, naročil, prodajnih rezultatov podjetja oziroma oddelka in podatkov, ki jih mora podjetje obvladovati, je velika. Za uspešno poslovanje podjetja je danes nujno, da ima dobro organizirane poslovne procese ter kakovostne in pravočasne informacije. S problemi se srečujejo predvsem novo nastala podjetja, ki nimajo dobre informacijske tehnologije. Obravnavano podjetje je obrtno podjetje, ki nima informacijsko podprtega sistema poslovanja. Uspešna in učinkovita izdelava podatkovne zbirke za podjetja postaja vedno pomembnejši dejavnik konkurenčnosti. Da bi informacijski sistem dobro deloval, mora imeti tudi ustrezno tehnično podporo. Zasnove in izgradnje informacijskega sistema se moramo lotiti načrtno, da bi podjetje lahko doseglo želene poslovne rezultate in bolje izkoristilo razpoložljivo informacijsko tehnologijo. Na tržišču obstaja veliko ponudnikov programskih rešitev v slovenskem jeziku (Agito, POS elektronček, Pro SoftLab). V obravnavanem primeru mora program upoštevati zahteve, ki jih ima obrtno podjetje, in podpreti procese, ki se izvajajo v podjetju. Obravnavano podjetje trenutno nima na razpolago finančnih sredstev za nakup celovite programske rešitve. Za razvoj programske rešitve za podporo poslovanja podjetja bomo uporabili Orodje Microsoft Access 2007, s katerim bomo izdelali podatkovno zbirko ter poizvedbe in poročila za pridobivanje informacij. V diplomskem delu predstavljamo rešitev za podporo poslovanja malega obrtnega podjetja, s pomočjo katere podjetje pridobi boljši vpogled v svoje poslovanje in informacije o strankah. 1.1 PREDSTAVITEV PROBLEMA Namen diplomskega dela je izdelati uporabniški vmesnik, ki bo uporabnikom omogočal lažje delo ter pregled nad podatki. Trenutno v podjetju ne uporabljajo uporabniškega vmesnika, ki bi olajšal in izboljšal delovanje. Vsi procesi se večinoma izvajajo ročno oziroma s pomočjo pisarniških programov Microsoft Word in Microsoft Excel. Izguba časa je zato velika, kar posredno vpliva tudi na izgubo dobička. Poslovni rezultati podjetja za enkrat ne omogočajo investicije v nakup celovitega informacijskega sistema, ki bi podprl izvajanje vseh procesov. Sistem, ki je trenutno v uporabi, je zelo neroden, saj je treba za vsako naročilnico ustvariti nov dokument v urejevalniku besedil, v katerem se zbirajo podatki o storitvah, strankah, datumi izvedb ipd. Dokument se hrani večinoma na računalniku uporabnika oziroma direktorja, ki potem ta dokument pošlje naprej preko elektronske pošte ali osebno odda. Problem predstavljajo varnostne grožnje, kot so izguba podatkov, brisanje podatkov, hkrati pa se za celoten proces porabi bistveno preveč delovnega časa. Po potrditvi ponudbe s strani stranke se med ponudnikom in naročnikom doseže dogovor o terminu dela. Dogovor v večini primerov poteka ustno ali pa se v urejevalniku besedil pripravi dokument, ki ga stranki podpišeta. Nad pretokom informacij ni nadzora, zato je stopnja verjetnosti pojava napake dokaj

Page 7: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 2

visoka. Dogovori se beležijo v obrazec, kar ponovno predstavlja izgubo časa in ne izključuje možnosti napak pri prepisovanju. Ko se delo izvede, naročnik podpiše delovni nalog oziroma dobavnico, ki jo potem zaposleni oziroma direktor odda računovodskemu servisu. Ta na podlagi naročila in dobavnice izstavi račun stranki. Možnost, da pride do napake, je velika. Namen aplikacije je predvsem skrajšanje časa za operativna dela, kot so naročila, izdaje ponudbe ipd., ter zagotavljanje takojšne dostopnosti ažurnih informacij o poslovanju. 1.2 PREDSTAVITEV PODJETJA Podjetje NIGZ, s. p. je gradbeno podjetje, ki ima kratek staž. Ukvarja se z nizko gradnjo. Ker je podjetje dokaj novo, je osredotočeno predvsem za dela na območju Gorenjske in Notranjske. Seveda pa ima cilj rasti ter širiti območje delovanja po Sloveniji, kakor tudi v tujini (Avstrija). Podjetje spada med manjša podjetja, saj ima 4 zaposlene ter najet računovodski servis za izdajanje računov in nakazovanje plač zaposlenim. Vsa dela, kontakti, poslovni rezultati in ostali podatki se beležijo v dokumentih. Vsak dokument je treba ustvariti, izpolniti in po potrebi oblikovati, potrditi ter na koncu izdati stranki. Podjetje je zato vedno izpostavljeno manjšim napakam, ki lahko vodijo do konfliktov in zapletov. Da bi podprli poslovanje predstavljenega podjetja, smo se odločili razviti podatkovno relacijsko bazo v orodju Microsoft ACCESS, ker je cenovno najbolj ustrezno in bo enostavno za uporabo ter dopuščalo možnost spreminjanja. S samo aplikacijo bi lažje vodili evidenco del ter dostopali do vseh vrst podatkov, ki jih podjetje potrebuje za svoje nemoteno delo. Podjetje razpolaga z enim računalnikom in tiskalnikom. V računalniku so shranjeni podatki o strankah, neplačnikih ipd. Na njem je nameščen operacijski sistem Windows 7 in pisarniški paket Microsoft Office 2007, v katerem je nameščeno tudi orodje Microsoft Access, s katerim bomo izdelali podatkovno zbirko za podjetje. 1.3 METODE DELA Do sedaj v podjetju niso imeli nobenih podobnih izkušenj za delo z relacijskimi bazami, zato smo se odločili za prototipno rešitev. Težave bi lahko nastale pri določanju podatkov, tabel, obrazcev, poizvedb in poročil, saj naročnik nima izkušenj in težko določi, kakšno rešitev želi. V fazi izdelovanja lahko dodajamo funkcije oziroma spreminjamo delovanje, dokler ne bo rešitev ustrezala naročniku. Rešitev se lahko nadgrajuje, izpopolnjuje, spreminja. Metode, ki jih bomo uporabili pri izdelavi diplomskega dela, so:

Page 8: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 3

− razgovor z naročnikom (izvede se intervju z naročnikom, direktorjem podjetja, ki predstavi delovanje, procese v podjetju ter poslovne cilje);

− zbiranje zahtev in analiza, sinteza zahtevanih lastnosti programske opreme (naročnik poda zahteve, povezane s programsko rešitvijo, zahteve po izpisih ter cilje poslovne rešitve. Opredeli se orodje, s katerim bo razvita rešitev);

− načrtovanje (pred izdelavo programske rešitve je treba pripraviti načrt podatkovne zbirke);

− izdelava prototipne rešitve, testiranje in odpravljanje napak (izdela se prototipna rešitev s pomočjo izbranega orodja, izvede se testiranje na osnovi testnih podatkov, odpravijo se napake, ki jih identificiramo v fazi razvoja);

− testiranje programske rešitve (programsko rešitev predstavimo naročniku, ki rešitev testira in poda svoje pripombe, mnenja in zahteve po dopolnitvah, faza se izvaja v več iteracijah, dokler naročnik ni zadovoljen z rešitvijo);

− vpeljava in izobraževanje uporabnikov (potencialni uporabniki programske rešitve se seznanijo z rešitvijo, izvede se osnovno izobraževanje).

Page 9: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 4

2 OSNOVE PODATKOVNIH ZBIRK Podatkovna zbirka je model okolja, ki služi kot osnova za izvajanje aplikacij (Hristovski, 2009). Je zbirka, ki med seboj povezuje podatke, ki zadovoljujejo informacijske potrebe organizacije in poslovnih procesov v le-tej (Baloh in Vrečar, 2009). Drenovec (2013) navaja, da je Podatkovna baza mehanizirana večuporabniška, formalno definirana in centralno nadzorovana zbirka podatkov. Podatkovna zbirka mora biti integrirana, da so vsi podatki skupaj na enem mestu ter zmanjšamo podvajanje podatkov na najmanjšo možno mero. Podatkovno zbirko sestavlja množica pravil, ki nam povejo, kako so podatki organizirani med seboj (Baloh in Vrečar, 2009). Podatkovna zbirka je v najosnovnejši obliki računalniška uresničitev organiziranega seznama informacij. Iz nje lahko hitro pridobimo točno določene zapise (Bradač, 2005). Na Sliki 1 je predstavljen načrt podatkovne zbirke.

Slika 1: Načrtovanje podatkovne zbirke (Mohorič 1997)

Podatkovno zbirko lahko predstavljajo (Drenovec 2013): − podatki, − uporabniki in uporabniški program,

Page 10: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 5

− upravitelj podatkovne baze, − sistem za upravljanje podatkovnih baz. Podatkovna baza je glavni vir informacij, s katerim razpolagajo podjetja. Podatkovna baza ima veliko zahtev: − omogočati mora hiter dostop do podatkov, − imeti mora točne podatke, − učinkovito delo s podatki, − prilagodljivost, − ažurni podatki, − varnost in zaščita podatkov. Sistem za upravljanje podatkovnih baz je programska oprema za obvladovanje velikih količin podatkov, kar poveča prilagodljivost in učinkovitost pri delu (Bajec 2013). Sistem za upravljanje podatkovnih baz ponuja: − učinkovito shranjevanje podatkov, − vmesnik, preko katerega lahko dostopamo do baze podatkov, − omogočanje sočasnega dostopanja več uporabnikov do baz podatkov. Sistem za upravljanje podatkovnih baz je posrednik med bazo in uporabnikom. Omogoča dostop do podatkov in njeno zaščito. Funkcije delimo v (Drenovec, 2013): − nadzorne, − dostopne. Sistem za upravljanje podatkovnih baz omogoča različne mehanizme za dostop podatkov v podatkovni bazi (Bajec ,2013): − kreiranje podatkovnih struktur je omogočeno preko DDL (ang. Data Definition

Language), omogoča definiranje podatkovnih struktur in tipov ter omejitev. Vse definicije so shranjene v podatkovni bazi;

− vzdrževanje podatkov (vnos, spreminjanje, brisanje) je omogočeno preko DML (ang. Data Manipulation Language);

− povpraševalni jeziki (ang. query language). Sistem za upravljanje podatkovnih baz zagotavlja nadzor nad dostopom do podatkov (Bajec, 2013): − sistem varnosti: dostopamo do podatkov v skladu z avtorizacijo, − sistem nadzora integritete: zagotavlja konsistenco podatkov, − sistem nadzora sočasnega dostopa, − sistem obnove podatkovne baze, − sistemski katalog. Komponente sistema za upravljanje podatkovnih baz (Bajec, 2013): − strojna oprema, − programska oprema,

Page 11: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 6

− ljudje, − podatki, − postopki. Zgodovino sistemov za upravljanje podatkovnih zbirk delimo v tri generacije, in sicer prva generacija so bile hierarhične in mrežne podatkovne zbirke, druga relacije podatkovne zbirke ter tretja objektno-relacijske podatkovne zbirke, objektno podatkovne zbirke. Podatkovni model predstavlja model, s katerim opišemo, kaj bi želeli hraniti v bazi podatkov ter povezave med elementi, ki jih želimo hraniti. Je način, kako opišemo podatke, ki jih želimo hraniti ter skriti nepomembne podrobnosti. V resnici podatkovni model izraža uporabnikovo predstavo, kako naj bodo podatki shranjeni (Bajec, 2013). Upravljanje podatkovne baze zajema zagotavljanje razpoložljivosti podatkov ter nadzor nad uporabo podatkov, kamor sodi skrb za celovitost podatkov, uporabo podatkov v skladu z namenom, uporabnost podatkov tudi v prihodnje (Drenovec, 2013). Podatkovni del podatkovne baze sestavljata fizična podatkovna baza (podatki) in metapodatkovna baza (opis podatkov). Obe se nahajata v zunanjem pomnilniku sistema, shranjeni v obliki fizičnih datotek v okviru datotečnega sistema, ki ga podpira operacijski sistem (Drenovec, 2013). Podatki v podatkovni bazi so opisani na treh ravneh (Bajec, 2013): − zunanja shema, − konceptualna ali logična shema, − notranja (fizična) shema. Razlog za tri-nivojsko strukturo podatkovne baze je zagotavljanje podatkovne neodvisnosti. To pomeni, da sprememba na katerem koli nivoju ne vpliva na delovanje preostalih dveh nivojev. Podatkovno neodvisnost delimo na (Drenovec, 2013): − fizično podatkovno neodvisnost, ki je mera za vpliv sprememb z notranjega na

konceptualni nivo, − logično podatkovno neodvisnost, ki je mera za vpliv sprememb s konceptualnega

na zunanji nivo. Vsi, ki na kakršenkoli način dostopajo do podatkov v podatkovni bazi, so njeni neposredni uporabniki (Bajec, 2013). Veliko različnih nalog opravi upravitelj podatkovne zbirke, med katere sodijo definiranje in ažuriranje na vseh treh ravneh podatkovne zbirke, skrbi za kreiranje in inicializacijo zbirke, tj. za ustvarjanje ter vpisovanje podatkov v zbirko. Naslednja izmed mnogih nalog je skrb za razvoj in vzdrževanje programskih orodij za podporo uporabnikom, skrb za zaščito podatkovne zbirke pred nesrečami in njeno obnavljanje, vseskozi vzdrževati kvaliteto podatkovne zbirke, vzdrževanje sistema gesel ter pomoč uporabnikom pri uporabi podatkov (Bajec, 2013).

Page 12: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 7

Podatkovni del baze je shranjen v zunanjem pomnilniku. Ukaze v zvezi z zaseganjem in sproščanjem prostora na disku prejema od upravljavca z datotekami (Bajec, 2013).

Page 13: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 8

3 RELACIJSKI PODATKOVNI MODEL Relacijski podatkovni model spada med površinske modele. Uporablja se za predstavitev baze na konceptualnem in zunanjem nivoju. Relacijska podatkovna baza je prikazana kot množica tabel. Vsaka tabela ima svojo relacijsko shemo in podatkovno vrstico, ki jo imenujemo relacija. Do vsebin relacijskih tabel dostopamo s pomočjo relacijskega jezika, ki temelji na relacijski algebri oziroma relacijskem računu (Drenovec, 2013). Relacijska tabela je dvodimenzionalna s stolpci in vrsticami (Bajec, 2013). Na Sliki 2 je predstavljen primer relacijske tabele stranke. Stolpec, Atribut

N-Terica Relacije

Slika 2: Primer relacijske tabele stranke Relacijo prikažemo z imenom, za katerim v oklepaju navedemo njene atribute, glavni ključ podčrtamo. Primer tabele stranke: STRANKE Sifra_Stranke Ime Stranke, Priimek Stranke, Podjetje …). Število stolpcev oziroma atributov predstavlja stopnjo relacije. Število n-teric oziroma vrstic v relaciji predstavlja kardinalnost relacije. N-terica je ena vrstica v relaciji. Domena je množica dopustnih vrednosti za en ali več atributov. V tabelah so shranjeni različni podatki, kakšna vrsta podatkov je v posameznem polju, določa podatkovni tip: Besedilo, Število, Zapisek, Datum/čas, Valuta, Samoštevilo, Da/Ne, OLE Predmet, Hiperpovezava, Čarovnik za iskanje. Podrobneje jih bomo opisali v 4. poglavju ORODJE MS ACCESS. RELACIJA Relacija, ki jo predstavljamo kot tabelo, je matematična osnova vsakega relacijskega podatkovnega modela. Je dvodimenzionalna tabela, v kateri shranjujemo podatke z enakimi lastnostmi. Vsaka vrstica tabele predstavlja posamezno vrednost relacije, vsak stolpec pa predstavlja posamezno lastnost relacije. Lastnost relacije imenujemo tudi atribut, vrstico relacije pa zapis. Relacijo lahko obravnavamo kot preslikavo, katere domena je kartezijski produkt vrednostnih množic, območje pa dvojiška množica. Vsaki relaciji pripada relacijska shema. Ta predstavlja semantiko ali pomen relacije. Relacijske sheme so del konceptualnih oziroma zunanjih shem in razlagajo pomen relacij (Mohorič, 1997).

Lastnosti relacij (Mohorič, 1997): − ime relacije je enolično,

Page 14: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 9

− vsaka celica tabele vsebuje natančno eno atomarno vrednost, − vsak atribut relacije ima enolično ime, − vrednosti nekega atributa so vse iz iste domene, − vsaka vrstica v relaciji je enolična. Stopnja relacije pomeni število atributov - stolpcev, kardinalnost relacije predstavlja n-teric - vrstic v relaciji. S funkcionalno odvisnostjo lahko preverimo, katere vrednosti relacij so veljavne ali bi lahko bile veljavne ter katere ne morejo obstajati. Če v relaciji nastopi funkcionalna odvisnost, ni treba poznati vseh atributov, ampak le tiste, ki zadoščajo za razlikovanje n-teric med seboj. Taki množici atributov pravimo ključ relacije (Baloh in Vrečar, 2009). Primerni ključi relacij (Drenovec, 2013): − atribut ali več atributov, ki enolično določajo vrstico v tabeli, − tabela ima le en primarni ključ, − primarnega ključa ni mogoče spreminjati, − nima dveh enakih vrednosti, − ne more biti prazen. Vrste ključev (Drenovec, 2013): − kandidat za ključ, − primarni ključ, − sekundarni ključ, − zunanji ali tuji ključ. 3.1 IZDELAVA RELACIJSKEGA PODATKOVNEGA MODELA S

POMOČJO NORMALIZACIJE Do relacijskega podatkovnega modela lahko pridemo s postopkom normalizacije. V praksi to pomeni, da z analizo vsakega poslovnega dokumenta pridemo do relacij, ki so osnova za izdelavo relacijskega podatkovnega modela. Normalizacijo izvajamo, ker tabela, v katero bi vključili vse podatke oziroma atribute iz izbranega poslovnega dokumenta, ni ustrezna za shranjevanje podatkov v podatkovni zbirki. Težave bi imeli lahko pri vnosu, brisanju in spreminjanju podatkov (Bajec, 2013). Večina posledic izvedb postopka normalizacije podatkov je pozitivnih, in sicer zmanjša se redundanca podatkov, v normalizirani bazi manjkrat pride do anomalij med podatki, normalizacija izvaja nadzorovane redundance, ki se uporabljajo pri povezovanju tabel (Bajec, 2013).

Page 15: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ

Na Sliki 3 je predstavljen postopek normalizacije.

Slika 3: Postopek normalizacije ( Normalizacija poteka v več fazah, vsaka faza pa normalizira v skladu s pravili, ki jih vsaka faza normalne oblike zahteva. Vsako fazo normalne oblike sestavlja eno ali več pravil, ki se nanašajo na odvisnost atributov. Pri razvoju relacijske teorije je bilo razvitih šest normalnih oblik, od katerih se najpogosteje uporabljajo prve tri normalne oblike (Postopek normalizacije 3.1.1 PRVA FAZA: OD MODELA

RELACIJE Nenormalizirane relacije so slabo strukturirane, podatki se ponavljajo, lahko pride do napak pri vnosu, spreminjanju in brisanju vrstic v tabeli 3.1.2 DRUGA FAZA: PRVA NOR Iz nenormalizirane relacije izločimo novo relacijo. Relacija je v prvi normalni formi, če ne vsebuje večvrednostnih odvisnosti. Prva normalna forma ni dobra osnova za relacijski podatkovni model, ker se podatki še vedno ponavljajo (Baloh 3.1.3 TRETJA FAZA: DRUGA N Relacija je v drugi normalni formi, če ne vsebuje delnih odvisnosti, če je v prvi normalni obliki in so vsi njeni atributi popolnoma funkcionalno odvisni od celotnega ključa. V relaciji ni atributa, ki je odforma ni dobra osnova za relacijski podatkovni model (Baloh

Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

: Rešitev za podporo reševanja podjetja NIGZ

Na Sliki 3 je predstavljen postopek normalizacije.

: Postopek normalizacije (Postopek normalizacije 2013

Normalizacija poteka v več fazah, vsaka faza pa normalizira v skladu s pravili, ki jih vsaka faza normalne oblike zahteva. Vsako fazo normalne oblike sestavlja eno ali

nanašajo na odvisnost atributov. Pri razvoju relacijske teorije je bilo razvitih šest normalnih oblik, od katerih se najpogosteje uporabljajo prve tri

Postopek normalizacije, 2013).

PRVA FAZA: OD MODELA UPORABNIKA DO NENORM

Nenormalizirane relacije so slabo strukturirane, podatki se ponavljajo, lahko pride do napak pri vnosu, spreminjanju in brisanju vrstic v tabeli (Baloh in Vrečar

DRUGA FAZA: PRVA NORMALNA FORMA

Iz nenormalizirane relacije izločimo večvrednostne atribute in skupaj z njimi tvorimo novo relacijo. Relacija je v prvi normalni formi, če ne vsebuje večvrednostnih odvisnosti. Prva normalna forma ni dobra osnova za relacijski podatkovni model, ker se podatki še vedno ponavljajo (Baloh in Vrečar, 2009).

TRETJA FAZA: DRUGA NORMALNA FORMA

Relacija je v drugi normalni formi, če ne vsebuje delnih odvisnosti, če je v prvi normalni obliki in so vsi njeni atributi popolnoma funkcionalno odvisni od celotnega ključa. V relaciji ni atributa, ki je odvisen samo od dela ključa. Druga normalna forma ni dobra osnova za relacijski podatkovni model (Baloh in Vrečar

Diplomsko delo visokošolskega strokovnega študija

stran 10

Postopek normalizacije 2013)

Normalizacija poteka v več fazah, vsaka faza pa normalizira v skladu s pravili, ki jih vsaka faza normalne oblike zahteva. Vsako fazo normalne oblike sestavlja eno ali

nanašajo na odvisnost atributov. Pri razvoju relacijske teorije je bilo razvitih šest normalnih oblik, od katerih se najpogosteje uporabljajo prve tri

UPORABNIKA DO NENORMALIZIRANE

Nenormalizirane relacije so slabo strukturirane, podatki se ponavljajo, lahko pride do Vrečar, 2009).

večvrednostne atribute in skupaj z njimi tvorimo novo relacijo. Relacija je v prvi normalni formi, če ne vsebuje večvrednostnih odvisnosti. Prva normalna forma ni dobra osnova za relacijski podatkovni model, ker

Relacija je v drugi normalni formi, če ne vsebuje delnih odvisnosti, če je v prvi normalni obliki in so vsi njeni atributi popolnoma funkcionalno odvisni od celotnega

visen samo od dela ključa. Druga normalna Vrečar, 2009).

Page 16: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 11

3.1.4 ČETRTA FAZA: TRETJA NORMALNA FORMA Relacija je v tretji normalni formi, če ne vsebuje tranzitivnih odvisnosti, če je v drugi normalni obliki, hkrati pa noben atribut ni tranzitivno odvisen od ključa. Tretja normalna forma je dobra osnova za relacijski model, saj se podatki več ne podvajajo. Podatki se vzdržujejo samostojno in neodvisno drug od drugega (Baloh in Vrečar, 2009). 3.1.5 PETA FAZA: ČETRTA NORMALNA FORMA Pri četrti stopnji normalizacije se začneta razlikovati poslovna normalizacija in formalna normalizacija. Relacija je v četrti normalni formi, če je v tretji normalni formi in izpolnjuje enega od naslednjih dveh pogojev (Baloh in Vrečar, 2009): − atributi so odvisni od celotne vrednosti ključa, ne samo od celotnega osnovnega

ključa, − nek atribut je bil premeščen iz relacij, kjer je bil opcijsko v relaciji, kjer je v celoti

odvisen od ključa in mora obstajati. 3.1.6 ŠESTA FAZA: PETA NORMALNA FORMA Peta poslovna normalna forma je povezana s strukturami. Relacija je v peti normalni obliki, če je njena odvisnost od ostalih primerkov iste relacije predstavljena z entiteto strukture. S peto normalno obliko je doseženo, da je zbirka podatkov v »atomarni obliki«, ne da se je več naprej deliti (Baloh in Vrečar, 2009). Na Sliki 4 je predstavljen primer relacijskega podatkovnega modela.

Slika 4: Primer relacijskega podatkovnega modela

Page 17: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 12

4 ORODJE MS ACCESS Microsoft Access, del produkta podjetja Microsoft, je sistem za upravljanje zbirk podatkov. Z orodjem Microsoft Access lahko izdelamo uporabniške rešitve na relacijski zbirki podatkov ali v povezavi z drugimi relacijskimi zbirkami podatkov. Prednost relacijske zbirke podatkov je v tem, da lahko več uporabnikov hkrati hitro dostopa do podatkov. S pomočjo SQL Server-ja lahko določimo uporabnike in njihove pravice, s tem pa se poveča varnost. Zato je to orodje uporabno tudi za manjša podjetja (Werber, 2006). Microsoft Access se uporablja, tako v manjših podjetjih kot tudi v oddelkih znotraj večjih podjetij, za izdelavo relacijskih baz podatkov, v katerih se hranijo in obdelujejo podatki. Microsoft Access omogoča uvoz in izvoz podatkov v več formatih, podpira izvoz za Excel, Outlook, ASCII, dBase, Paradox in ostale podatkovne zbirke. Ena izmed prednosti Accessa je ta, da lahko SQL stavke prikaže v grafični obliki (Kaj je Access, 2013). Microsoft Access je orodje, s katerim lahko načrtujemo podatkovno zbirko. Je prijazen vmesnik, kjer z načrtovanjem v grafičnem okolju ali pa kar s čarovniki opravimo večino dela (Bradač, 2005). Bradač (2005) navaja, da sta celotna množica predmetov v Accessu in celotna programska koda, ki jo napišemo v jeziku VBA, namenjena le odzivanju na dogodke, ki se sprožijo ob dejanju uporabnika. Zbirka podatkov v Microsoft Accessu je relacijska, zato več tabel v eni zbirki podatkov obravnavamo kot enotno področje za shranjevanje, iz njih pa elektronsko prenašamo podatke (Bradač, 2005). Programsko orodje MS Access v osnovi sestavljajo (Werber, 2006): − tabele (tabele tvorijo jedro v zbirki podatkov. Služijo shranjevanju informacij in

vsebujejo podatke o določeni temi), − poizvedbe (poizvedbe so eden izmed načinov, kako poiskati informacije v zbirki.

Podatke poiščemo zato, da jih prikažemo, spreminjamo ali analiziramo na različne načine. Poizvedbo pa lahko uporabimo kot osnovo za druge predmete v Accessu),

− obrazci (obrazec je organiziran in oblikovan pogled na nekatere od stolpcev ali na vse stolpce iz ene ali več tabel ali poizvedb. Obrazec uporabljamo, da nam olajša vnašanje, pridobivanje, prikaz in tiskanje podatkov. Obrazce potrebujemo za urejanje zapisov v temeljnih tabelah ali za vnos novih zapisov. Večinoma so vezani na eno ali več tabel in poizvedb v zbirki podatkov),

− poročila (s poročili prikažemo podatke iz tabel v lepo urejeni in dostopni obliki na zaslonu ali papirju),

− strani za dostop do podatkov (stran za dostop do podatkov je posebna vrsta spletne strani, narejena za pregledovanje in delo s podatki iz interneta),

Page 18: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 13

− makri (makre uporabimo zato, da se Access odzove na dogodke. Če uporabimo skupino makrov, lahko izvedemo več opravil hkrati),

− moduli (modul je zbirka deklaracij, izjav in procedur, ki so shranjeni skupaj kot ena poimenovana enota, da je Microsoft Visual Basic-ova koda organizirana),

− relacije (ko v Access-ovi zbirki podatkov naredimo različne tabele, potrebujemo način, ki bo Access-u povedal, kako naj te informacije združi. Prvi korak v tem procesu je, da ustvarimo relacije med tabelami. Ko to naredimo, lahko ustvarjamo poizvedbe, obrazce in poročila),

− Microsoft Visual Basic (z uporabo Visual Basica lahko programsko postavljamo in spreminjamo vrednosti lastnosti Accessovih predmetov).

Podatkovna baza je sestavljena iz več predmetov, ki so vsi skupaj shranjeni v datoteki s končnico ACCDB. Pri gradnji baze podatkov je vedno odprto podokno za krmarjenje na levi strani ekrana, v katerem izbiramo predmete. Podatkovni tipi v Accessu (Werber, 2006): − besedilo (uporablja se za besedilo, kombinacijo besedil in številk, kot so naslovi,

ali za števila, s katerimi ne mislimo izvajati izračunov, kot je poštna številka. Shrani lahko do 255 znakov),

− zapisek (uporablja se za daljše besedilo ali številke, kot so zapiski ali opisi), − število (uporablja se za podatke, ki bodo vključeni v matematične izračune,

samo v primeru izračuna, ki se tiče denarja, ne uporabljamo tipa število), − datum/čas (uporablja se za datum in čas, zasede 8 bajtov), − valuta (uporablja se za denarne vrednosti in za preprečevanje zaokroževanja

med izračunom, zasede 8 bajtov), − samoštevilo (uporablja se za enolična zaporedna ali naključna števila, ki se

samodejno povečajo, ko dodamo nov zapis), − da/ne (uporablja se za podatke, v katerih imamo le eno od dveh možnih

vrednosti, zasede 1 bit. Nične vrednosti niso dovoljene), − OLE predmet (uporablja se za OLE predmete, ki so bili ustvarjeni v drugih

programih z uporabo protokola OLE), − hiperpovezava (uporablja se za hiperpovezavo, ki je lahko UNC pot ali URL,

vsebuje lahko do 64 znakov), − čarovnik za iskanje (uporablja se za ustvarjanje polja, ki nam omogoča, da

izberemo vrednost iz druge tabele ali s seznama vrednosti, ki uporabljajo kombinirano polje).

Page 19: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 14

5 ANALIZA PROBLEMSKEGA STANJA NIGZ, s. p. je podjetje, ki ima 4 zaposlene delavce, kar ga uvršča med manjša podjetja. Za svoje delovanje ne uporablja programske rešitve. Naročila za dela sprejema direktor, ki potem naročilo vpiše v svoj obrazec v urejevalniku besedil ter poskrbi za izvajanje naročene storitve. Vse to se ureja ročno na papirju, zato pride do napak in izgube časa. Varnost podatkov je slaba, ker se podatki hitro izgubijo, dostop do podatkov ima samo oseba, ki sprejema naročila. Čas, ki se porabi za vse korake procesa, je predolg. Vsak proces se posamezno ročno zapiše v beležnico, nato pa se pripravi ponudba v Wordu. Ponudba se shrani na osebnem računalniku direktorja. V primeru, da naročnik potrdi ponudbo, se prične z delom ob dogovorjenem terminu. Delo se evidentira s pomočjo delovnega naloga (dobavnice), v katerem so zapisani opis dela, datum pričetka ter datum zaključka. Dobavnico naročnik podpiše, ko se delo zaključi. Pripravi jo direktor v posebnem obrazcu v urejevalniku besedil Word. Cilj izdelave programske rešitve je razviti celovito zbirko podatkov, ki bo zajemala vse podatke, ki jih bo uporabnik potreboval za nemoteno delo in bo zagotavljalo preprost dostop do podatkov in sprotno ažuriranje. Tako bi uporabniku skrajšali čas izvajanja posameznih procesov ter izboljšali samo delovanje podjetja. Naročnik si želi imeti sistem, ki bo vseboval: − vnos in pregled sprejetih naročil, − vnos in pregled ponudb, − izračun vrednosti posameznega naročila in ponudbe, − izpis računa in delovnega naloga za posamezna naročila, − izpis dolžnikov oziroma neplačnikov, − analizo naročil po zaposlenem, − analizo, katera storitev je najbolj prodajana. Pomanjkljivosti sistema, ki se trenutno uporablja v podjetju: − nepreglednost podatkov, − ustni prenos informacij je lahko površen, − ni nadzora nad podatki, − zamudno iskanje podatkov oziroma informacij, − preveč časa se porabi za vpis naročila oziroma ponudbe in njihov izpis. Sama programska rešitev naj bi bila enostavna za uporabo, zato smo za razvoj uporabili orodje Microsoft Access.

Page 20: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 15

6 PROGRAMSKA REŠITEV Za izdelavo programske rešitve smo uporabili MS Access 2007, orodje za upravljanje baz podatkov. V ozadju Access-a smo uporabili programsko orodje VBA (Visual Basic For Access), v katerem je precej spremljevalnih pripomočkov in orodij, ki poenostavijo pisanje programa. Z VBA smo izboljšali delovanje programske rešitve. Pri izdelavi programske rešitve smo se najprej seznanili z osnovami, nato pa smo začeli izdelovati rešitev. Programska rešitev omogoča lažje in hitrejše poslovanje podjetja, podatki so ažurni in lažje dostopni za uporabnika. Prvi korak razvoja programske rešitve je priprava specifikacije zahtevanih lastnosti, čemur sledi priprava načrta baze podatkov. Načrt razdelimo v več točk in tako oblikujemo bazo podatkov. Pri načrtu baze upoštevamo zahteve naročnika. V našem primeru potrebujemo hiter dostop do podatkov, manj papirja, urejen seznam strank, naročil ipd. Poročila omogočajo tisk zahtevanih podatkov na uporabniku prijazen način. Vnos podatkov se izvaja preko obrazcev, ki omogočajo hiter in preprost vnos. Poleg osnovnih in kompleksnih obrazcev bomo izdelali tudi obrazec za dvig cene, ki bo s pomočjo makra povišal ceno za določen odstotek, še pred povišanjem se bo naredila kopija tabele storitve in nato se bo cena povišala, ter obrazec, ki bo izpisoval naročila po posameznem obdobju in zaposlenem. 6.1 SEZNAM TABEL Tabele so jedro zbirk podatkov, njihov namen je shranjevanje informacij. Sestavljene so iz stolpcev in vrstic, v stolpcih so podatki, ki jih želimo shraniti v tabelo, v vrsticah pa so zapisi, ki ustrezajo lastnostim stolpca. Ostali predmeti zbirke podatkov pa na nek način vzajemno delujejo z eno ali več tabelami. Najpogostejša pogleda za tabele sta pogled načrta in pogled podatkovnega lista. Programska rešitev vključuje več tabel, ki so prikazane v Tabelah od 1 do 10 in kratko opisane v nadaljevanju.

Page 21: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 16

V Tabeli 1 je predstavljena struktura tabele NAROČILO. Ime polja

Podatkovni tip

Opis

Sifra_Narocila Samoštevilo Primarni ključ, šifra naročila se samodejno povečuje za eno

Sifra_Stranke Število Šifra stranke

Zaposleni Število Šifra Zaposlenega

Datum_Narocila Datum/Čas Datum kreiranja naročilnice

Datum_Dobavnice Datum/Čas Datum kreiranja dobavnice

Datum_Racuna Datum/Čas Datum kreiranja računa

Rok_placila Datum/Čas Datum računa +30 dni

Narocilo Besedilo Številka naročila v določenem letu npr. 1/2012

Placilo DA/NE Ali je račun plačan ali ne

Datum_placila Datum/Čas Datum plačila

Sklic Besedilo Sestavljen iz 00 "šifra naročila" -"šifra stranke" npr. 00 1-26

Tabela 1: Struktura tabele NAROČILO Primarni ključ je stolpec Sifra_Narocila, ki je vezan na generator zaporednih števil in se samodejno poveča ob vsakem novem vnosu naročila. V tabeli sta še dva tuja ključa, ki omogočata povezavo z drugimi tabelami, in sicer Sifra_Stranke ter Zaposleni. V Tabeli 2 je predstavljena struktura tabele POSTAVKA_NAROČILA. Ime polja Podatkovni

tip

Opis

Sifra_Narocila Število Šifra naročila, sestavljen ključ Sifra_Storitve Število Šifra storitve, sestavljen ključ

Količina Število Količina določene storitve

Izvedba_dela Besedilo Kje se delo izvaja

Sifra_Delovnega_ naloga

Število Tuji ključ, šifra delovnega naloga

Popust Število Popust na določeno storitev Tabela 2: Struktura tabele POSTAVKA_NAROČILA

Tabela POSTAVKA_NAROČILA je povezovalna tabela, ki omogoča relacijo mnogo proti mnogo med tabelama NAROČILO in STORITVE. V tabeli POSTAVKA_NAROČILA

Page 22: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 17

smo v sestavljen ključ združili polji Sifra_Narocila in Sifra_Storitve. Izvedba dela nam pove, kje se delo izvaja (npr. asfaltiranje dvorišča, tlakovanje parkirišča ipd.). Sifra_Delovnega_naloga je tuji ključ. V Tabeli 3 je predstavljena struktura tabele STORITVE.

Tabela 3: Struktura tabele STORITVE Tabela STORITVE beleži podatke o storitvah. Sifra_storitve se samodejno povečuje za eno ob vnosu nove storitve. Tabela je prek povezovalnih tabel povezana s tabelama NAROČILO in PONUDBA. V Tabeli 4 je predstavljena struktura tabele PONUDBA.

Tabela 4: Struktura tabele PONUDBA Ob pripravi ponudbe za stranko začnemo vpisovati podatke v tabelo PONUDBA. Sifra_Ponudbe se samodejno povečuje ob vnosu nove ponudbe. Imamo en tuj ključ, ki omogoča povezavo s tabelo STRANKE. Ostali podatki o ponudbi se hranijo v tabeli POSTAVKA_PONUDBE, ki je povezovalna tabela.

Ime polja Podatkovni tip

Opis

Sifra_storitve Samo število Primarni ključ Naziv_Storitve Besedilo Naziv storitve

Enota_Mere Besedilo Merska enota Stopnja_DDV Število Davčna stopnja v %, mora biti enojna Cena_Storitve Valuta Cena storitve brez DDV-ja v evrih

Ime polja Podatkovni tip

Opis

Sifra_Ponudbe Samo število Primarni ključ Datum_Izdaje Datum/Čas Datum izdaje ponudbe

Sifra_Strank Število Šifra stranke, tuji ključ Opombe Besedilo Opombe glede ponudbe

Page 23: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 18

V Tabeli 5 je predstavljena struktura tabele POSTAVKA_PONUDBE.

Tabela 5: Tabela POSTAVKA_PONUDB Tabela POSTAVKA_PONUDBE je vmesna tabela, ki omogoča relacijo mnogo proti mnogo med tabelama PONUDBE in STORITVE. V tabeli POSTAVKA_PONUDBE smo v sestavljen ključ združili polji Sifra_Ponudbe in Sifra_storitve. V tabelo POSTAVKA_PONUDBE vpisujemo še opis dela, količino storitve ter mersko enoto. V Tabeli 6 je predstavljena struktura tabele STRANKE. Ime polja

Podatkovni tip

Opis

Sifra_Stranke Samo število Primarni ključ

Ime_Stranke Besedilo Ime stranke

Priimek_Stranke Besedilo Priimek stranke

Podjetje Besedilo Naziv Podjetja

Naslov_stranke Besedilo Naslov bivanja stranke

Postna_Stevilka Število Poštna številka

Davcni_zavezanec Da/Ne Ali je davčni zavezanec ali ne

ID_DDV_k Besedilo ID številka za DDV stranke oz. kupca

Tabela 6: Struktura tabele STRANKE V tabelo Stranke shranjujemo podatke o strankah. Sifra_Stranke je samo število in primarni ključ tabele, ki se ob vsaki novi stranki poveča za eno. V tabeli hranimo še podatke o strankah (ime, priimek, naslov, poštna številka) ali je stranka davčni zavezanec in ID številko za DDV stranke, ki vsebuje vnosno masko ("SI"00000000). Zaradi normalizacije je tabela razdeljena v tabelo Stranke in tabelo Pošta za poštne številke.

Ime polja Podatkovni tip

Opis

Sifra_Ponudbe Število Sestavljen ključ

Sifra_storitve Število Sestavljen ključ Opis Besedilo Opis dela Kolicina Besedilo Količina storitve Popust Število Popust na določeno storitev v ponudbi

Page 24: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 19

V Tabeli 7 je predstavljena struktura tabele POŠTA. Ime polja

Podatkovni tip

Opis

Postna_Stevilka Število Poštne številke Slovenije, ključ Naziv_Poste Besedilo Naziv Pošte

Tabela 7: Struktura tabele POŠTA Tabela POŠTA vsebuje podatke o poštah na Gorenjskem in Sloveniji. Poštna_Stevilka je enkratna, zato jo uporabimo za primarni ključ tabele. Ima veljavnostno pravilo, saj ne more biti manjša od 1000 in večja od 9999. Naziv pošte so imena krajev, ki spadajo pod poštno številko. Ker podjetje namerava razširiti svoje poslovanje tudi izven Slovenije, pride do določenih omejitev in moramo izboljšati aplikacijo tako, da lahko vnašamo naročnike iz drugih držav.

V Tabeli 8 je predstavljena struktura tabele ZAPOSLENI. Ime polja

Podatkovni tip

Opis

Sifra_Zaposlenega Samo število Ključ Šifra zaposlenega

Ime Besedilo Ime zaposlenega

Priimek Besedilo Priimek zaposlenega

Naslov Besedilo Naslov zaposlenega

Postna_Stevilka Število Poštna številka

Telefonska_Stevilka Besedilo Telefonska številka

Datum_zaposlitve Besedilo Datum zaposlitve

Delovno_mesto Besedilo Delovno mesto

Izobrazba Besedilo Končana stopnja šolanja

E-mail Besedilo e-mail zaposlenega

ID_Delovno_mesto Število Id delovnega mesta, tuji ključ

EMSO Besedilo EMŠO zaposlenega

Davcna_Stevilka Besedilo Davčna številka zaposlenega Tabela 8: Struktura tabele ZAPOSLENI

Tabela ZAPOSLENI vsebuje podatke o zaposlenem, Sifra_Zaposlenega je primarni ključ, ki se samodejno povečuje za ena. Tabela vsebuje podatke o zaposlenem kot so ime, priimek, naslov, poštna številka itd. Tabela ima dva tuja ključa, ki povezujeta zaposlenega s pošto in delovnim mestom. V polje Telefonska_Stevilka in Datum_Zaposlitve bi lahko dali tudi drugi podatkovni tip, ampak smo izbrali besedilo in vnesli vnosno masko za obe polji. Isto smo storili za polji EMSO in Davcna_Stevilka.

Page 25: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 20

V Tabeli 9 je predstavljena struktura tabele DELOVNO_MESTO. Ime polja Podatkovni

tip

Opis

ID_Delovno_mesto Samo število Primarni ključ Delovnega mesta Naziv Besedilo Naziv delovnega mesta

Naloge Besedilo Naloge posameznega delovnega mesta Tabela 9: Struktura tabele DELOVNO_MESTO

Tabela DELOVNO_MESTO shranjuje podatke o delovnih mestih v podjetju. Id_Delovno_mesto je primarni ključ, ki se ob vnosu novega delovnega mesta poveča. Tabela vsebuje še naziv delovnega mesta in naloge posameznega delovnega mesta. V Tabeli 10 je predstavljena struktura tabele DELOVNI_NALOG. Ime polja Podatkovni

tip

Opis

Sifra_Delovnega_naloga Samo število Šifra delovnega naloga, primarni ključ Datum_zacetka_dela Datum/Čas Beleži začetek dela

Opis_dela Besedilo Opisuje delo Stevilo_delovnih_ur Besedilo Število delovnih ur za posamezno

naročilo Datum_zakljucka_del Datum/Čas Datum konca del

Tabela 10: Struktura tabele DELOVNI_NALOG Tabela DELOVNI_NALOG vsebuje podatke o delu, ki se dela na terenu. Primarni ključ je Sifra_Delovnega naloga. V delovni nalog beležimo datum začetka dela, opis dela, kaj delamo, kje delamo, število delovnih ur, porabljenih za neko storitev, datum zaključka del, kdaj se je delo zaključilo. 6.2 RELACIJSKI MODEL PODATKOVNE BAZE Tabele v bazi je treba med seboj povezati. Tako dobimo možnost, da uporabimo podatke iz več kot ene tabele. Relacijski model omogoča učinkovit vnos, spreminjanje in brisanje podatkov ter črpanje informacij, pregledovanje in izdelavo poročil. Relacije med tabelami so različne. Za povezave med tabelami uporabljamo primarne in tuje ključe. Poznamo tri vrste relacij: − 1 : 1: ena proti ena, ta vrsta relacije je redka, nastopajo le, ko želimo razdeliti

podatke, ki po svoji naravi spadajo v eno entiteto, − 1 : ∞: ena proti mnogo je najbolj običajna vrsta relacij. Zapis iz tabele A ima

lahko veliko ujemajočih se zapisov v tabeli B, zapis iz tabele B pa ima lahko samo en ujemajoči se zapis v tabeli A,

Page 26: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 21

− ∞ : ∞: mnogo proti mnogo, pri teh relacijah ima lahko zapis iz tabele A več ujemajočih se zapisov v tabeli B, zapis iz tabele B pa ima lahko tudi več ujemajočih se zapisov v tabeli A. Omenjene vrste povezav v relacijski bazi podatkov ne moremo uporabiti, zato jih odpravimo tako, da določimo tretjo povezovalno tabelo, katere primarni ključ je sestavljen iz dveh polj iz tabel A in B. Povezavo mnogo proti mnogo razdelimo na dve povezavi ena proti mnogo s tretjo povezovalno tabelo. V našem primeru imata tabeli Naročilo in Storitve povezavo mnogo proti mnogo, ki smo se ji izognili tako, da smo postavili vmesno tabelo Postavka naročila. Na enem naročilu je lahko več storitev, vsaka storitev je lahko v več naročilih.

Na Sliki 5 je predstavljen primer relacijske sheme modela podatkov.

Slika 5: Relacijska shema modela podatkov

6.3 IZDELAVA TABEL Vsako bazo kreiramo tako, da določimo tabele, kjer ima vsaka tabela svoje atribute, ki jih predstavlja prvi stolpec tabele. Vsak atribut ima svoje enolično ime. Sliki 6 in 7 prikazujeta primere izdelave tabel v MS Accessu.

Page 27: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 22

Slika 6: Tabela Naročilo

Slika 7: Tabela Ponudba

6.4 VNOS TESTNIH PODATKOV V TABELE Podatke vnašamo v tabele, ker jih bomo kasneje potrebovali pri izdelavi in testiranju obrazcev, poročil in poizvedb. V MS Access lahko vnašamo podatke na različne načine, in sicer vnos podatkov neposredno v tabelo, z uvozom podatkov iz zunanjih virov ter vnos preko vnosnih mask oziroma obrazca. MS Access omogoča zaščito in nadzor ob vnosu podatkov v tabele. V tabeli Pošta imamo veljavnostno pravilo, ki je naslednje: »>=1000 And <=9999«. S tem smo povedali, da mora biti poštna številka večja ali enaka 1000 in manjša ali enaka 9999. Ob veljavnostnem pravilu je priporočljivo še vpisati varnostno besedilo, da olajšamo delo uporabniku. Naziv pošte ima vnosno masko »>??????????????«, ki pomeni, da so vsi zapisi z velikimi tiskanimi črkami. V tabeli Stranka imamo vnosne maske za velike tiskane črke pri poljih, ki opisujejo stranko, ter vnosno masko za ID številko za DDV stranke, ki ima naslednji pogoj: »"SI"00000000«. To pomeni, da moramo po besedi SI vnesti 8-mestno število, poleg tega še dodamo veljavnostno besedilo: »"Poleg SI vnesite 8-mestno številko!"«. V tabeli DELOVNO_MESTO nimamo kakšne posebne zaščite

Page 28: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 23

oziroma omejitve, pri tabeli STORITVE imamo za naziv storitve vnosno masko za velike tiskane črke ter pri polju Enote_Mere skrčimo velikost polja na 3, pri Stopnji DDV je velikost polja enojna, ker uporabljamo decimalna števila, privzeto vrednost nastavimo na 0,2 po novem zakonu na 0,22. Pri ceni storitve je oblika polja evro, veljavnostno pravilo pa nam ne dovoli vnesti cene, manjše od 0. Pri tabeli Zaposleni je vnosna maska za velike tiskane črke za polja, ki opisujejo zaposlene, telefonska številka ima vnosno masko »!\999" "000\000;_«. S tem lahko vpišemo mobilne številke, pri datumu zaposlitve imamo tudi vnosno masko za datum 99.99.00;0. DELOVNI NALOG nima kakšnih posebnih lastnosti. V tabeli NAROČILO imamo pri datumu naročila privzeto vrednost »=Date()«, ki nam avtomatsko zapiše tekoči datum. Tabela Ponudba pa nima kakšne zahtevne omejitve. 6.5 POIZVEDBE S pomočjo poizvedb črpamo želene informacije, ki jih imamo spravljene v bazi podatkov. Poizvedbe uporabljamo tudi kot osnovo za izdelavo obrazcev oziroma poročil, ko s polji v tabelah ne moremo izpisati, izračunati ali prikazati vseh želenih vrednosti. Poizvedbe niso nove tabele v bazi, temveč le kriteriji in pogoji za prikaz podatkov iz tabel. Prikazani podatki se ne shranijo, MS Access shrani le poizvedbo, takim podatkom pravimo dinamični set (dynaset), ki se zgradi, ko poženemo poizvedbo. Ko se zapre, se zapiski izbrišejo iz pomnilnika. Poizvedbe se lahko v MS Access ustvarjajo na dva načina, in sicer grafično, ki se imenuje Poizvedba preko primera, in z uporabo SQL stavkov. MS Access ima že vgrajen urejevalnik za SQL jezik Na Sliki 8 je predstavljen primer poizvedbe v pogledu načrta Neplačani računi.

Slika 8: Poizvedba v pogledu načrta NEPLAČANI RAČUNI.

Primer poizvedbe: v obravnavanem podjetju želijo imeti seznam neplačnikov, kar ustvarimo prek poizvedbe. Poizvedbo odpremo v pogledu načrta in izberemo tabele Stranke, Naročilo in Pošta. Iz tabele Naročila izberemo polja, ki jih želimo prikazovati, in jih vstavimo v poizvedbo, isto naredimo pri tabeli Stranke, pri tabeli

Page 29: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 24

Pošta pa izberemo naziv pošte. Da bi poizvedba prikazovala neplačnike, smo v polju Datum_Plačila vpisali pogoj »Is Null«. Na Sliki 9 je predstavljen primer poizvedbe v pogledu načrta za poizvedbo VREDNOSTI NAROČILA PO STRANKAH.

Slika 9: Poizvedba VREDNOSTI NAROČIL PO STRANKAH.

Drugi primer je poizvedba, ki izračuna Vrednost naročil za stranke. V poizvedbi, ki jo odpremo v pogledu načrta, izberemo tabele STRANKE, NAROČILO, POSTAVKA NAROČILA, STORITVE, ZAPOSLENI. Prenesemo polja šifra stranke, ime in priimek. V meniju skupno odpremo seznam in izberemo »Združi po«, to velja za vsa tri polja. Četrto polje v poizvedbi smo sami vnesli naslednji izraz »Vrednost_Nakupa: Vsota([Kolicina]*[Prodajna_cena])«. Ime polja je vrednost nakupa, ki sešteje vse vrednosti naročil. Rezultat je poizvedba s strankami in izpisom izračuna, kolikšna je vrednost, ki jo je stranka do sedaj naročila.

Page 30: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 25

Na Sliki 10 je predstavljen primer poizvedbe v pogledu načrta za poizvedbo PODROBNOSTI IZRAČUNA NAROČILA.

Slika 10: Poizvedba PODROBNOSTI IZRAČUNA NAROČILA

Poizvedba PODROBNOSTI IZRAČUNA NAROČILA nam poda seznam, ki izpiše vrednost za vsako naročilo, ki smo ga oddali. Uporabili smo tri tabele, in sicer NAROČILO, POSTAVKA NAROČILA in STORITVE, ki so med seboj povezane. Izbrali smo polje Sifra_Narocila, Naziv_Storitve, Prodajna_cena in Količina ter smo v četrto polje vnesli izraz za računanje vrednosti za vsako naročilo: »Izr1:CCur([Postavka_Narocila]![Prodajna_cena]*[Postavka_Narocila]![

Kolicina])«.

Na Sliki 11 je predstavljen primer poizvedbe v pogledu načrta za poizvedbo Zaposleni naročila.

Slika 11: Poizvedba Zaposleni naročila

Rezultat poizvedbe ZAPOSLENI NAROČILA nam poda informacije, kateri zaposleni so delali na določenih naročilih. Izbrali smo tabeli NAROČILO in ZAPOSLENI, ki sta med seboj tudi povezani, ter iz tabele ZAPOSLENI prenesli stolpca ime in priimek, iz tabele NAROČILO pa stolpec naročilo. V programski rešitvi smo ustvarili poizvedbe, za izdelavo obrazcev in poročil. Te poizvedbe so: POIZ_POSTAVKA, ki smo jo porabili za izdelavo podobrazca obrazcu naročilo, P_PONUDBA je namenjena uporabi podobrazca v obrazcu ponudbe, P_IZPIS_NAROČILA je kopirana poizvedba POIZ_POSTAVKA in smo jo uporabili za poročilo NAROČILA, isto velja za poizvedbi P_RAČUN in P_DOBAVNICA, ki sta namenjeni za lažje ustvarjanje poročil RAČUN in DELOVNI_NALOG.

Page 31: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 26

6.6 OBRAZCI Obrazec je organiziran in oblikovan pogled stolpcev iz ene ali več tabel ali poizvedb. Obrazci interaktivno delujejo s tabelami v bazi, preko njih olajšamo vnos podatkov in uporabniku omogočimo manjše možnosti napak pri vnosu. Z različnimi kontrolniki na obrazcu lahko vnašamo nove podatke, urejamo in odstranjujemo obstoječe ter jih iščemo. Tako kot ostale predmete v MS Access lahko tudi obrazce izdelujemo ročno ali pa s čarovnikom. Obrazci se delijo na preproste in kompleksne, preprosti so tisti, kjer podatke vnašamo v eno tabelo, preko kompleksnih pa vnašamo ali pregledujemo podatke iz več tabel. Obrazce smo ustvarili zato, da nam omogočajo preglednejši vnos podatkov v bazo. Izdelali smo obrazce za vnašanje podatkov ter obrazce, ki nam bodo olajšali delo, kot npr. DVIG CENE, NAROČILA PO ZAPOSLENEM IN OBDOBJU. 6.6.1 ENOSTAVNI OZIROMA PREPROSTI OBRAZCI Enostavni obrazci se večinoma nanašajo na eno tabelo. Preden začnemo z izdelavo obrazcev, moramo vedeti, na kateri tabeli bo temeljil, ter si predstavljati, kako bomo obrazec uporabljali. Uporabimo čarovnik za obrazce, seveda pa ga lahko tudi ročno prilagajamo lastnim željam. Na Sliki 12 je predstavljen obrazec ZAPOSLENI.

Slika 12: Obrazec ZAPOSLENI.

Preko obrazca ZAPOSLENI vnašamo podatke v tabelo ZAPOSLENI. Omogoča hitro in enostavno vnašanje, kot tudi spreminjanje in brisanje podatkov. V tabelo smo dodali določene elemente oziroma gumbe, ki nam olajšajo delo. Tako imamo gumbe, s katerimi se lahko premikamo po zapisih ter lahko dodamo ali izbrišemo zaposlenega. V glavi obrazca se nahajata gumba, ki omogočata izhod iz obrazca ali nam pomagata pri iskanju zaposlenega. Ker je šifra zaposlenega samo število in se ob vsakem novem zaposlenem sama poveča za ena, smo jo onemogočili. Polje Poštna številka smo zamenjali s kombiniranim poljem ter tako uporabniku omogočili izbirati med poštnimi številkami, kar je veliko lažje kot pisanje pošt na pamet.

Page 32: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 27

Za lažje delo smo v obrazcu uporabili tudi kodo v VBA, ki se izvede ob odprtju obrazca (ob trenutnem): Private Sub Form_Current()

Me.RecordsetClone.MoveLast

If (Me.RecordsetClone.RecordCount) < 1.5 Then 'samo en zapis

Ukaz16.Enabled = False

Ukaz17.Enabled = False

ElseIf Me.RecordsetClone.RecordCount = Me.CurrentRecord Then

'zadnji zapis

Ukaz16.Enabled = True

Ukaz17.Enabled = False

ElseIf Me.CurrentRecord = 1 Then 'prvi zapis

Ukaz16.Enabled = False

Ukaz17.Enabled = True

Else 'nekje vmes

Ukaz16.Enabled = True

Ukaz17.Enabled = True

End If

End Sub

Koda se izvede ob zagonu obrazca in preveri zapise v njem, če je v obrazcu samo en zapis, oba gumba za naprej in nazaj po zapisih blokira (vrednost je nastavljena na »False«), če smo na zadnjem zapisu, se gumb za naprej blokira, gumb za nazaj pa ne, če pa smo na prvem, je obratno. Ko smo nekje vmes pri zapisih, sta oba gumba nastavljena na vrednost »True«. Na Sliki 13 je predstavljen obrazec STRANKA.

Slika 13: Obrazec STRANKA.

Obrazec Stranka omogoča lažje in hitrejše vnašanje podatkov stranki. Na obrazec smo dodali kombinirano polje za iskanje zapisov, kjer smo izbrali tretjo možnost, ki nam jo čarovnik nudi (Slika 14).

Page 33: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 28

Slika 14: Čarovnik za kombinirana polja.

Polje smo poimenovali Išči stranko in nam omogoča hitro iskanje strank. V glavo obrazca smo postavili eno kombinirano polje ter mu izbrisali oznako, pod lastnosti »Vir kontrolnikov« pa smo zapisali: »=[Ime_Stranke] & " " & [Priimek_Stranke]«

Kot rezultat tega zapisa dobimo izpis tekoče stranke v glavi obrazca. Obrazec STRANKA ima tako kot obrazec ZAPOSLENI kodo v VBA, ki nam onemogoča ali omogoča izbiro navigacijskih gumbov. Na Sliki 15 je predstavljen obrazec STORITVE.

Slika 15: Obrazec Storitve.

Obrazec STORITVE olajša vnos podatkov o storitvah. Tako kot pri ostalih obrazcih, smo tudi tukaj uporabili gumbe za premikanje po zapisih ter dodajanje in brisanje storitev. Obrazcu smo poleg vseh polj, ki smo jih preko čarovnika za obrazce prenesli iz tabele STORITVE, dodali še dve polji, in sicer prvo je potrditveno polje, ki smo ga poimenovali zakon o DDV-ju se je spremenil:. Ob potrditvi tega polja se

Page 34: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 29

odklene polje Stopnja_DDV, da lahko stopnjo DDV tudi spremenimo. To nam omogoči koda v VBA, ki se izvede po posodobitvi potrditvenega polja. Zapis kode je sledeč: Private Sub

PotrditvenoPolje18_AfterUpdate()

Form_Current

End Sub

Private Sub Form_Current()

If PotrditvenoPolje18 = True Then

Stopnja_DDV.Enabled = True

Else

Stopnja_DDV.Enabled = False

End If

Form_Current_Exit

Kodo smo zapisali ob trenutnem obrazcu (»Form_Current()«), tako da smo se potem samo sklicevali na obrazec. V kodi je pogojni stavek, ki polje Stopnja_DDV onemogoči, če je potrditveno polje postavljeno na »True«, sicer pa polje Stopnja_DDV odklene. Drugo polje, ki smo ga dodali obrazcu STORITVE, je polje, ki šteje, v koliko naročilih posamezne storitve nastopajo. Dodali smo polje z besedilom in ga poimenovali število naročil za to storitev:. Polju z besedilom smo v vir kontrolnikov zapisali naslednji ukaz: »=DCount("*";"Postavka_Narocila";" [Sifra_Storitve] = " & [Sifra

storitve])«

Podatke o številu naročil smo dobili iz tabele POSTAVKA_NAROČILA, v kateri smo za vsako storitev prešteli zapise, v katerih nastopa. »DCount« je posebna domenska združevalna funkcija, ki vrne število zapisov. Ker v polju prikazujemo število naročil za tisto storitev, ki je trenutno prikazana na obrazcu, mora naš pogoj zožiti obseg upoštevanih naročil na tista, pri katerih je njihov stolpec Sifra_storitve enak vrednosti, ki je ta hip v polju Sifra_storitve na obrazcu. Sifra_storitve ni v naročilu, ampak v POSTAVKI_NAROCILA. Ker predvidevamo, da lahko vsaka storitev nastopi v naročilu le enkrat, je število naročil za storitev enako številu zapisov POSTAVKA_NAROCILA zanj. V uporabniškem vmesniku je še nekaj enostavnih obrazcev, ki razen funkcionalnosti, ki so že navedene pri opisanih obrazcih, nimajo posebnosti. Ti obrazci so: obrazec POŠTA, obrazec DELOVNO_MESTO ter obrazec DELOVNI_NALOG.

Page 35: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 30

Na Sliki 16 je predstavljen obrazec DVIG CEN.

Slika 16: Obrazec DVIG CEN.

Na Sliki 17 je predstavljen obrazec NAROČILO PO ZAPOSLENEM IN OBDOBJU.

Slika 17: Obrazec NAROČILO PO ZAPOSLENEM IN OBDOBJU.

Obrazec NAROČILO po zaposlenem in obdobju omogoča izpis naročil za določenega zaposlenega v določenem časovnem obdobju. Obrazec je nepovezan, na njem pa imamo pet kontrolnikov. Za lažje izbiranje nastavimo lastnostim kombiniranega polja Zaposleni naslednje vrednosti: v Vrsta vira vrstic izberemo tabela/poizvedba, v vir vrstic zapišemo SQL stavek: SELECT Zaposleni.Sifra_Zaposlenega,

Zaposleni.[Ime] & " " & [Priimek] AS Zaposleni FROM Zaposleni;. Za delovanje smo izdelali poizvedbo, v katero smo določili določene pogoje za polja Zaposleni in Datum naročila. Za polje Zaposleni je glede pogoja pristojna vrednost kombiniranega polja, za meji v pogoju za Datum naročila pa obe polji z besedilom. V pogoj v polju Zaposleni zapišemo naslednjo vrednost: [Forms]![Parameter]![cboZaposleni]

v polje DATUM NAROČILA pa v pogoj zapišemo

Page 36: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 31

Between [Forms]![Parameter]![txtZačetni] And

[Forms]![Parameter]![txtKončni] Obrazec smo poimenovali parameter. V obrazcu še zapišemo dva dogodka, in sicer za gumb Zaključi, s katerim zapremo obrazec, gumb Prikaži pa odpre poizvedbo. Obrazec smo poimenovali parameter. V obrazcu še zapišemo dva dogodka, in sicer za gumb Zaključi, s katerim zapremo obrazec, gumb Prikaži pa odpre poizvedbo. Vnos podatkov v vsa zahtevana polja zagotovimo s programsko kodo: » Private Sub cmdPrikazi_Click()

If IsNull(txtZacetniDatum.Value) Then

txtZačetni.Value = " 1.1.1990"

Else

txtZačetni.Value = txtZacetniDatum.Value

End If

If IsNull(txtKoncniDatum.Value) Then

txtKončni.Value = "1.1.2050"

Else

txtKončni.Value = txtKoncniDatum.Value

End If

DoCmd.OpenQuery " parameter", acViewNormal, acEdit

End Sub«

Koda vsebuje pogojni stavek, če uporabnik ni vpisal ničesar v polje Začetni datum (txtZačetniDaum), potem v txtZačetek vpišemo nek zgodni datum (v našem primeru 1. 1. 1990), da bodo v poizvedbi zajeta vsa naročila. Podobno smo storili pri txtKončni, le da smo vanj zapisali dovolj pozni datum (1. 1. 2050). 6.6.2 IZDELAVA OBRAZCEV S PODOBRAZCI Obrazec s podobrazcem ustvarimo v primerih povezovalnih tabel, torej pri tabelah POSTAVKA_NAROČILA ter POSTAVKA_PONUDBE. Obrazec s podobrazcem bomo naredili s pomočjo poizvedbe.

Page 37: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 32

Na Sliki 18 je predstavljen obrazec NAROČILO.

Slika 18: Obrazec Naročilo.

Obrazec NAROČILO vsebuje podatke o stranki, podatke o naročilu, kot so datum naročila, šifra naročila ter datumi, to se nahaja v glavi obrazca. Za glavo obrazca smo potrebovali tabelo NAROČILA. V spodnjem delu imamo vrstice, v katerih so podatki o naročenih storitvah, količinah, ceni, davku in vrednostih naročila. V spodnjem delu imamo seštevke vrednosti brez DDV-ja, davke in vrednost z DDV-jem. Za spodnji del naročila potrebujemo poizvedbo Poiz_postavka. Polju Datum_naročila smo v lastnost Privzeta vrednost zapisali ukaz =Date(), to pomeni, da nas ob kreiranju novega naročila v polju Datum_naročila že čaka trenutni datum, seveda lahko zapišemo novo vrednost v to polje. Gradnike v podobrazcu smo spreminjali tako, da smo odprli samo podobrazec. Sifra_storitve zamenjamo s kombiniranim poljem, ki ga poimenujemo Naziv storitve. V nogi podobrazca smo postavili tri polja z besedilom, v katera bomo izračunali vsoto za vrednost brez davka, davka skupaj ter vrednost z davkom. Nogo podobrazca skrijemo, in sicer tako, da pod lastnost Viden izberemo »NE«. V prvo polje z besedilom pod vir kontrolnikov vpišemo »=Vsota([Vrednost])«, to nam izračuna vrednost naročila brez davka. V drugo polje vpišemo »=Vsota([Davek]«, kar nam izračuna vsoto davka. V tretje polje vpišemo »=Vsota([Vrednost_zDDV])«, ki izračuna vrednost naročila z davkom. Vrednosti, ki jih izračunavamo v podobrazcu, moramo prikazati na glavnem obrazcu Naročilo. Pod podobrazec vstavimo tri polja z besedili in jih poimenujemo Skupaj brez DDV, Skupaj DDV in Skupaj za plačilo. Pod vir kontrolnikov za vsako polje z besedilom vpišemo formulo:

- za Skupaj brez DDV vpišemo: »=[test_podobrazec].[Form]![Besedilo24]«,

- za Skupaj DDV:

Page 38: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 33

»=[test_podobrazec].[Form]![Besedilo26]«,

- za Skupaj za plačilo: »=[test_podobrazec].[Form]![Besedilo28]«.

Prvi del predstavlja ime podobrazca, drugi del je obvezna sintaksa Form!, ki Accessu pove, da delamo sklic na polje na nekem drugem obrazcu, tretji del pa predstavlja ime polja, na katerega se sklicujemo. Polja smo onemogočili. Z vnašanjem novega naročila moramo vse vrednosti vnesti sami, kar je neugodno in lahko pride do napak, zato smo si pomagali s funkcijo »DLookup«. V dogodku po posodobitvi smo za kombinirano polje Naziv_storitve vpisali naslednjo kodo: »Private Sub KombiniranoPolje16_BeforeUpdate(Cancel As Integer) On Error GoTo Err_KombiniranoPolje16_AfterUpdate

Dim strFilter As String

' Izvrednoti filter preden ga predaš funkciji DLookup.

strFilter = "Naziv _Storitve = " & Me!KombiniranoPolje16

' Poišči ceno za storitev in jo priredi kontrolniku

cena_storitve

Me!Cena_Storitve = DLookup("Cena_Storitve", "Storitve",

strFilter)

Exit_KombiniranoPolje16_AfterUpdate:

Exit Sub

Err_KombiniranoPolje16_AfterUpdate:

MsgBox Err.Description

Resume Exit_KombiniranoPolje16_AfterUpdate

End Sub«

S pomočjo kode se ob izbiri storitve v podobrazcu avtomatično prepiše cena storitve. V MS Access lahko poleg avtomatizacije z uporabo makra uporabimo vpis kode v VBA. V našem primeru smo napisali kodo, ki onemogoči gumbe za natis računa oz. dobavnega naloga, če v polju za datumi ni napisane vrednosti, ter kodo, ki preveri, če je račun plačan in če je onemogočil gumbe tako, da ne moremo več spreminjati. Izberemo obrazec in možnost dogodka ob trenutnem ter izberemo graditelja kode in vpišemo naslednje ukaze:« Private Sub Form_Current()

If IsNull(Datum_racuna) Then

Rok_placila = Null

natisni_r.Enabled = False

Placilo.Enabled = False

Else

Rok_placila = Datum_racuna + 30

natisni_r.Enabled = True

Placilo.Enabled = True

End If

If IsNull(Datum_Dobavnice) Then

natisni_dn.Enabled = False

Else

natisni_dn.Enabled = True

Page 39: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 34

End If

If IsNull(Narocilo) Then

Letnica = Format(Date, "yyyy")

Letna_sifra = Format(Nz(DMax("[Letna_sifra]", "[Narocilo]",

"[Letnica]= '" & Year(Date) & "'"), 0) + 1)

Narocilo = [Letna_sifra] & "/" & [Letnica]

End If

Sklic = "00 " & [Letna_sifra] & "-" & [Sifra_Stranke

If IsNull(Datum_placila) Then

test_podobrazec.Enabled = True

txtSifraStranke.Enabled = True

KombiniranoPolje27.Enabled = True

Narocilo.Enabled = True

Sklic.Enabled = True

Datum_Narocila.Enabled = True

Datum_Dobavnice.Enabled = True

Datum_racuna.Enabled = True

Rok_placila.Enabled = True

Else

test_podobrazec.Enabled = False

txtSifraStranke.Enabled = False

KombiniranoPolje27.Enabled = False

Narocilo.Enabled = False

Sklic.Enabled = False

Datum_Narocila.Enabled = False

Datum_Dobavnice.Enabled = False

Datum_racuna.Enabled = False

Rok_placila.Enabled = False

End If

Form_Current_Exit:

End Sub«

Prvi del kode preveri: če v polju Datum računa ni vrednosti, potem ima polje Rok plačila tudi null vrednost, gumb za Natisni se blokira, kakor tudi polje Plačilo, če pa je v polju Datum računa vrednost oziroma datum, potem je rok plačila 30 dni od datuma računa in gumb za Natisni račun in polje Plačilo sta omogočena. Isto tako preverimo za datum dobavnice, le da pri izpolnjenem pogoju onemogočimo gumb za Natisni delovni nalog. Preverimo tudi polje Naročilo. Če je to brez vrednosti, potem v polje Letnica vpišemo format današnjega datuma z letnico, v polje Letna_Sifra pa zaporedno številko naročila, ki se povečuje za ena. V naročilo pa prevzamemo vrednost iz polja Letna_sifra ter »/« in iz polja Letnica. V polje Sklic zapišemo vrednost »00« ter Letna_sifra « in Sifra_stranke. Drugi del kode vsebuje tudi pogojni stavek, ki preverja, če je polje Plačilo izbrano, in če je, potem dobi polje Datum_placila vrednost današnjega datuma, onemogočimo podobrazec, tako da ga uporabnik ne more več spreminjati, ter onemogočimo polja Zaposleni, Sifra_stranke, Naročilo, Sklic ter Datum, če pa je polje Datum naročila brez vrednosti, potem so polja omogočena in jih lahko spreminjamo.

Page 40: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 35

Na Sliki 19 je predstavljen obrazec PONUDBA.

Slika 19: Obrazec Ponudba.

Obrazec PONUDBA prikazuje podatke o ponudbi. V glavi obrazca so podatki o ponudbi, kot so datum izdaje, stranka, opombe. V spodnjem delu so podatki o ponujeni storitvi, vključno s ceno, količino, davkom, vrednostjo. Gradnike v podobrazcu smo spreminjali tako, da smo odprli samo podobrazec. Polje Sifra_storitve zamenjamo s kombiniranim poljem, ki ga poimenujemo Naziv storitve. V nogi podobrazca smo postavili tri polja z besedilom, kjer bomo izračunali vsoto za vrednost brez davka, davka skupaj ter vrednost z davkom. To storimo tako kot pri obrazcu NAROČILO oziroma podobrazcu. Vrednosti, ki jih izračunavamo v podobrazcu, moramo prikazati na glavnem obrazcu ponudbe. Pod podobrazec vstavimo tri polja z besedili in jih poimenujemo Skupaj brez DDV Skupaj Davek in Vrednost ponudbe. Postopek je podoben kakor pri obrazcu NAROČILO. Za lažje vnašanje podatkov smo uporabili podobno kodo kot pri podobrazcu NAROČILO. S pomočjo kode se po posodobitvi polja Naziv_storitve samodejno vpiše cena za storitev.

Page 41: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 36

Na Sliki 20 je predstavljen obrazec NAROČILO PO STRANKAH.

Slika 20: Obrazec Naročilo po strankah.

Obrazec NAROČILO PO STRANKAH služi za pregled postavk naročil za posamezne stranke. Najprej izbiramo med strankami, nato med njihovimi naročili in nazadnje vidimo še posamezne postavke teh naročil. Obrazec vsebuje dve nepovezani kombinirani polji za izbiro stranke ter za izbiro med njenimi naročili. Podobrazec smo povezali s kombiniranim poljem Naročilo tako, da smo med lastnosti za podobrazec v polje Povezi podrejena polja napisali Sifra_Narocila v Poveži nadrejena polja smo vpisali cboNarocilo. Povezati moramo še kombinirano polje Naročilo s poljem Stranka, tako da v cboNarocilo pod vir vrstic vpišemo: »WHERE

(((NAROCILO.Sifra_Stranke)=[Forms]![Obrazec2]![cboStranka]));«.

To pomeni, da se mora Sifra_Stranke v poizvedbi ujemati z vrednostjo, ki jo ima kombinirano polje Stranka. Želimo, da se ob izbiri nove stranke prejšnji podatki o izbiri odstranijo, zato v ta namen v dogodek po posodobitvi kombiniranega polja Stranka vpišemo: Private Sub cboStranka_AfterUpdate()

cboNarocilo = Null

cboNarocilo.Requery

End Sub

Kombiniranemu polju damo vrednost, ki ne obstaja, ter se izvede metoda Requery, ki ga posodobi in zaradi povezave s podobrazcem izprazni.

Page 42: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 37

Na Sliki 21 je predstavljen obrazec MENI.

Slika 21: OBRAZEC MENI.

Ob zagonu programa se na zaslonu pojavi menijski obrazec. Menijski obrazec vsebuje posamezne gumbe, s katerimi lahko prehajamo iz obrazca na obrazec. Glavni meni oziroma obrazec vsebuje tudi datum in čas. Obrazec ne potrebuje gumbov za navigacijo, kakor tudi ne drsnih trakov. V lastnosti obrazca pod dogodek ob odpiranju nastavimo makro M_Povecaj. To je enostavni makro, ki obrazec razširi čez cel ekran. Nastavimo še, da se bo obrazec Glavni obrazec pojavil ob zagonu programa. Izberemo gumb »Office« in »Accessove možnosti« ter izberemo »Trenutna zbirka podatkov«. V polju »Prikaži« obrazec izberemo »Glavni obrazec«. 6.7 POROČILA Poročila omogočajo prikaz podatkov iz tabel v urejeni in dostopni obliki na računalniškem zaslonu in primerni za tiskanje na papir. V poročilu so običajno zbrani podatki iz več tabel in poizvedb. Podatkov v poročilu ne moremo urejati, saj so namenjeni samo za prikazovanje informacij. Poročila, ki jih uporabnik želi in potrebuje za tiskanje, so: Seznam strank, Seznam neplačnikov, Seznam storitev, Naročilo, Ponudba, Delovni nalog, Račun. Nekatera poročila so enostavnejša, to so predvsem seznami, druga pa so kompleksnejša. Enostavnejša so tista, za katera ne potrebujemo dodatne poizvedbe, saj se pripravi samo na osnovi podatkov, ki so na razpolago v tabeli. V našem primeru sta to poročili Seznam strank in Seznam neplačnikov, za katera podatke dobimo v poizvedbi. Poročila smo ustvarjali s pomočjo čarovnika (Slika 22).

Page 43: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 38

Slika 22: Čarovnik za poročila.

Na Sliki 23 je predstavljeno poročilo Seznam strank.

Slika 23: Poročilo Seznam strank.

Poročilo prikazuje seznam strank, ki jih imamo v tabeli Stranke. Je primer enostavnejšega poročila, podobni poročili sta tudi Seznam neplačnikov in Seznam storitev. Osnova za poročilo je poizvedba seznama neplačnikov, ki ima dodane pogoje v poljih Rok plačila in Plačilo.

Page 44: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 39

Na Sliki 24 je predstavljeno poročilo NAROČILO.

Slika 24: Poročilo Naročilo.

Ponudba naročila je bolj kompleksno poročilo od prejšnjih dveh poročil. Osnova za poročilo NAROČILO je poizvedba koncna podoba poročila, ki je prikazana na Sliki 24. V poročilo dodamo novo polje z zaporedno številko, ki šteje zapise v poročilu. Izboljšamo tudi izpis stranke in pošte, tako da združimo priimek in ime stranke, prav tako tudi poštno številko in pošto.

Slika 25: Čarovnik za možnosti povzetka.

Uporabniku z vnosom posebnega pogoja v poročilu omogočimo, da lahko naročilo natisne neposredno iz obrazca, v katerem naročilo vnese ali pregleduje.

Page 45: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 40

Na Sliki 26 je predstavljeno poročilo Ponudba.

Slika 26: Poročilo Ponudba.

P Poročilo Ponudba je tako kot poročilo Naročilo kompleksnejše poročilo, osnova za izpis je poizvedba. Ponudba vsebuje podatke, ki so zakonsko zahtevani. Na Sliki 27 je predstavljeno poročilo RAČUN.

Slika 27: Poročilo RAČUN.

Page 46: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 41

Poročilo RAČUN je opremljeno s podatki, ki so potrebni za pripravo računa. Na računu so podatki o TRR računu podjetja, na katerega stranke nakazujejo denar, ter sklic, na katerega naj se sklicujejo ob plačevanju računa. Račun mora direktor podpisati. Na Sliki 28 je predstavljeno poročilo DELOVNI NALOG.

Slika 28: Poročilo DELOVNI NALOG.

Poročilo DELOVNI NALOG je narejeno za izdajo delovnega naloga, v nalogu ni cene niti obračunanega davka. Na delovni nalog se podpišeta uporabnik in naročnik. 6.8 MAKRI Makri so neke vrste ukazi, ki nam pomagajo pri avtomatizaciji opravil. So dejanja, ki izvedejo določen ukaz. Makro je lahko en, sestavljen iz zaporedja dejanj, ali pa je skupina makrov (Makri in skupine makrov, 2013). V našem programu smo uporabili makro M_Povečaj, ki poveča glavni obrazec čez celi zaslon, ter makro dvig cene, ki dvigne ceno storitvam za določen odstotek. 6.9 VARNOST ZBIRKE PODATKOV Poznamo več vrst varnosti zbirk podatkov, kot npr. zaščita s kodiranjem, z vpisom gesla. Odločili smo se, da našo zbirko podatkov zaščitimo z geslo. Geslo, ki ga izberemo, je občutljivo na male in velike črke, dolžina je lahko največ 20 znakov, vsebuje lahko črke, številke, presledke in druge znake. Ne sme se začeti s presledkom. Znaki, ki jih ne moremo vpisati v geslo, so še: \, [, ], |, :, <, >, +, =, ;, ,, ., ?, *. Postopek je sledeč: zaženemo MS Access ter kliknemo na gumb »Offic« in

Page 47: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 42

izberemo »Odpri«, kjer najdemo datoteko z našo zbirko podatkov, in namesto »Odpri« izberemo »Odpri izključno«. Najprej izberemo »Orodja za zbirke podatkov«, nato »Šifriraj z geslom«. Vpišemo želeno geslo ter ga potrdimo (Slika 29).

Slika 29: Nastavitev gesla za varnost.

Page 48: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 43

7 ZAKLJUČEK Programska rešitev je skrajšala čas pridobivana želenih informacij ter omogočila uporabniku lažje in natančnejše izdajanje posameznih dokumentov. Na začetku bo imel dostop do zbirke podatkov samo direktor podjetja. V zbirko podatkov bo vpisoval naročila, ponudbe ter izdajal račune in delovne naloge. Z uporabo programske rešitve ima direktor boljši nadzor nad dokumenti. Predvidevamo, da bo uporaba programske rešitve zmanjšala število napak pri prepisovanju naročil iz papirja na računalnik. Z uporabo programske rešitve lahko zagovotimo hitrejšo odzivnost v vseh poslovnih procesih. Uvedba programske rešitve ne bo zahtevala dodatnih stroškov, saj je orodje MS Access že nameščeno na računalniku uporabnika. Vse, kar bo potrebno, je usposobiti uporabnike. S programsko rešitvijo smo izboljšali pripravo in način shranjevanja dokumentov. Vsi dokumenti shranjeni v zbirki podatkov in preko vmesnika dostopamo do njih. Program bomo postopoma nadgrajevali in izboljšali celotni sistem delovanja. Trenutno zadošča zahtevam uporabnika. Glede na zmogljivosti orodja MS Access bi bilo potrebno ob morebitnem povečanju uporabe programske rešitve, v prihodnosti izdelati relacijsko zbirko podatkov v bolj zmogljivem okolju, kot npr. MSSQL. Ker gre za prototipno rešitev, bomo sodelovanje z naročnikom nadaljevali in upoštevali smiselne predloge za nadgradnjo in spremembe določenih funkcionalnosti končne rešitve. Za programsko rešitev smo izvedli SWOT analizo in določili dejavnike uspeha uvedbe predlagane programske rešitve. Dejavnike, ki lahko na uspeh predlagane rešitve vplivajo pozitivno, bo potrebno maksimalno izkoristiti. Uspeh programske rešitve je odvisen od zainteresiranosti uporabnika do učenja in uporabe vmesnika. 7.1 ANALIZA SWOT Analiza SWOT (ang. Strengths, Weaknesses, Opportunities, Threats) je uporabna za vse vrste podjetij in je ena izmed bolj popularnih analiz v poslovnem svetu. SWOT analiza primerja prednosti s slabostmi ter priložnosti z nevarnostmi. Prednosti in slabosti sta notranja dejavnika, ostala dva pa se nanašata na zunanje in nanju ne moremo vplivati. Razvijati je potrebno prednosti, odpraviti pomanjkljivosti, izkoristiti dane priložnosti ter se izogibati nevarnostim. Vplivamo lahko samo na notranje dejavnike, torej na prednosti in slabosti.

Page 49: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 44

V tabeli 11 je predstavljena SWOT analiza. PREDNOSTI

− Urejenost podatkov − Boljše izkoriščen čas − Ažurnost podatkov − Večuporabniško delo − Zmanjšanje napak − Enostavnost − Manj papirnega poslovanja

SLABOSTI − Uvajanje zaposlenih − Možnost napak pri vnosu

podatkov − Delovanje programa samo s

paketom MS Office − Vzdrževanje programa

PRILOŽNOSTI − Nadgradnja aplikacije − Dodajanje novih

funkcionalnsoti − Hitra prilagodljivost − Nizki stroški

NEVARNOSTI − Varovanje podatkov − Nepooblaščen dostop − Nezainteresiranost zaposlenih

za delo v programu

Tabela 11: SWOT analiza Prednosti rešitve se kažejo v tem, da so podatki urejeni in na enem mestu. Vmesnik omogoča spremembe oblike in funkcionalnosti in je prilagodljiv. Zasnovan je enostavno ter v skladu s procesi v podjetju. S pomočjo rešitve se v podjetju izognejo obdelavi podatkov na papirjih in s tem prihranijo čas. Slabosti se kažejo v tem, da program deluje samo v okolju Microsoft Access, zaradi česar bi ob povečanju obsega dela lahko prišlo do težav. V takem primeru podjetju svetujemo nakup bolj zmogljive podatkovne baze Uvajanje zaposlenih zahteva določen čas, uporabniki niso vešči dela z računalnikom in lahko bi naleteli na določene težave. Priložnosti so v tem, da je vmesnik mogoče nadgraditi in mu dodati nove funkcije. Vmesnik je zelo enostaven in hitro razumljiv. Stroški uvedbe programske rešitve so ničelni, saj je uporaba orodja MS Access zagotovljena z nakupom paketa MS Office. Nevarnost je v tem, da lahko do podatkov dostopa nepooblaščena oseba, ki lahko izkoristi določene informacije. Z uvedbo rešitve moramo zaposlene dodatno uvajati. Obstaja možnost, da jim program ne bi bil všeč in bi se ga izogibali.

Page 50: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 45

LITERATURA IN VIRI Knjige: Baloh P., Vrečar, P. (2009). Ob praktičnih primerih skozi MS Access 2007 in

informatizacijo poslovanja, Založba Pasadena,Velenje. Bradač, P. (2005). Popolni vodič skozi Access 2003, Založba Pasadena, Ljubljana. Mohorič, T. (1997). Načrtovanje relacijskih podatkovnih baz, BI-TIM, Ljubljana. Werber, B. (2006). Uporaba MS ACCESS-a 2003 v praksi, Založba Moderna

organizacija, Kranj. Poročila, interni dokumenti: Hristovski, D. (2009). Zapiski: Podatkovne baze (ali Zbirke podatkov).

http://studentski.net/gradiva/ulj/mdf/md1/uvod-v-medicino.htmlo?r=ulj_mdf_ md1_uvm_sno_informatika__zbirke_01.pdf (15. 5. 2013)

Spletne strani: Drenovec. Osnove podatkovnih baz. http://drenovec.tsckr.si/osnove/uvod.htm (10.

5. 2013, 15. 6. 2013) Bajec. Kaj je Access. http://www.presentia.si/baza-znanja-helpdesk/2008/kaj-je-

access/ (15. 5. 2013, 10. 6. 2013) Postopek normalizacije. http://colos.fri.uni-lj.si/eri/RACUNALNISTVO/NORMALIZA

CIJA/postopek_normalizacije.html (13. 5. 2013, 16. 6. 2013) Makri in skupine makrov. http://office.microsoft.com/sl-si/access-help/makri-in-

skupine-makrov-HP005186804.aspx (18. 6. 2013)

Page 51: REŠITEV ZA PODPORO POSLOVANJA PODJETJA NIGZ · 2017. 11. 28. · The software solution development process was triggered by an interview with the owner of the company, who described

Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

Borislav Keleman: Rešitev za podporo reševanja podjetja NIGZ stran 46

KAZALO SLIK Slika 1: Načrtovanje podatkovne zbirke (Mohorič 1997) ........................................ 4

Slika 2: Primer relacijske tabele stranke .............................................................. 8

Slika 3: Postopek normalizacije (Postopek normalizacije 2013) ............................. 10

Slika 4: Primer relacijskega podatkovnega modela .............................................. 11

Slika 5: Relacijska shema modela podatkov ........................................................ 21

Slika 6: Tabela Naročilo .................................................................................... 22

Slika 7: Tabela Ponudba ................................................................................... 22

Slika 8: Poizvedba v pogledu načrta Neplačani računi .......................................... 23

Slika 9: Poizvedba Vrednosti naročil po strankah ................................................. 24

Slika 10: Poizvedba Podrobnosti izračuna naročila ............................................... 25

Slika 11: Poizvedba Zaposleni naročila ............................................................... 25

Slika 12: Obrazec Zaposleni .............................................................................. 26

Slika 13: Obrazec Stranka ................................................................................. 27

Slika 14: Čarovnik za kombinirana polja ............................................................. 28

Slika 15: Obrazec Storitve ................................................................................. 28

Slika 16: Obrazec Dvig cen ............................................................................... 30

Slika 17: Obrazec Naročilo po zaposlenem in obdobju ......................................... 30

Slika 18: Obrazec Naročilo ................................................................................ 32

Slika 19: Obrazec Ponudba ............................................................................... 35

Slika 20: Obrazec Naročilo po strankah .............................................................. 36

Slika 21: Obrazec Meni ..................................................................................... 37

Slika 22: Čarovnik za poročila ............................................................................ 38

Slika 23: Poročilo Seznam strank ....................................................................... 38

Slika 24: Poročilo Naročilo................................................................................. 39

Slika 25: Čarovnik za možnosti povzetka ............................................................ 39

Slika 26: Poročilo Ponudba ................................................................................ 40

Slika 27: Poročilo Račun ................................................................................... 40

Slika 28: Poročilo Delovni nalog ......................................................................... 41

Slika 29: Nastavitev gesla za varnost ................................................................. 42

KAZALO TABEL Tabela 1: Struktura tabele NAROČILO ............................................................... 16

Tabela 2: Struktura tabele POSTAVKA_NAROČILA .............................................. 16

Tabela 3: Struktura tabele STORITVE ................................................................ 17

Tabela 4: Struktura tabele PONUDBA ................................................................. 17

Tabela 5: Tabela POSTAVKA_PONUDB ............................................................... 18

Tabela 6: Struktura tabele STRANKE ................................................................. 18

Tabela 7: Struktura tabele POŠTA ..................................................................... 19

Tabela 8: Struktura tabele ZAPOSLENI............................................................... 19

Tabela 9: Struktura tabele DELOVNO_MESTO .................................................... 20

Tabela 10: Struktura tabele DELOVNI_NALOG .................................................... 20

Tabela 11: SWOT analiza .................................................................................. 44