VISOKOŠOLSKI STROKOVNI ŠTUDIJ Informatika in tehnologije komuniciranja POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V TILZOR Maribor Čas opravljanja Od 25.3.2010 do 14.6.2010 Mentor v GD Tilen Zorenč Študent Miha Goričanec Vpisna številka E1007415 E pošta Miha.gorivanec@gmail.com Telefon 031/743-896
Kazalo 1. Uvod... 6 2. Opis gospodarske druţbe in produktov... 6 3. Opis praktičnega izobraţevanja... 8 3.1 Opis programa C#...8 3.2 SQL povpraševalni jezik...8 3.3 Opis programa Office Access 2007...8 4. Projekt planiranje proizvodnega plana... 9 4.1 Kratek opis delovanja aplikacije...9 4.2 Izdelava prototipa aplikacije ideja 1... 10 4.3 Izdelava prototipa aplikacije ideja 2... 11 5. Projekt evidenca etiket za lončke (Sleev)... 14 5.1 Kratek opis zahtev za program... 14 5.2 Ustvarjanje tabele in vnos atributov v tabelo... 15 5.3 Vzpostavljanje povezave MS Visual Studia z podatkovno bazo Access... 15 5.4 Izdelava aplikacije... 17 6. Sklep... 20
Kazalo slik Slika 1: Spletna stran OK NKBM Branik... 7 Slika 2: Spletna stran Ţivljenje po moţganski kapi.... 7 Slika 3: Primer tedenskega plana proizvodnje.... 9 Slika 4: Prototip plana proizvodnje... 10 Slika 5: Spremembe katere moramo vnesti v register... 12 Slika 6: Vstavljenje reference v projekt.... 13 Slika 7: Prototip plana proizvodnje z embeddanjem... 14 Slika 8: Kreiranje nove tabele.... 15 Slika 9: Vzpostavljanje povezave do podatkovne baze.... 16 Slika 10: Nastavitev poti in parametrov do podatkovne baze.... 16 Slika 11: Grafična podoba aplikacije Sleev.... 17 Slika 12: Ukazi za manipulacijo podatkovne baze.... 18 Slika 13: Preverjanje pravilnosti širine etikete.... 19
1. Uvod Prakso sem dobil v majhnem in zelo mladem podjetju TILZOR, katero se ukvarja predvsem z izdelavo spletnih strani po izbiri naročnika, svetovanje ter pomoč različnim bodočim uporabnikom spletnih strani (naročnikom), grafičnim oblikovanjem raznih logotipov in grafik po naročilu stranke, ter izdelava kakšnih manjših (enostavnejših) programskih aplikacij. Meni so zaupali, kot sem že zgoraj navedel, izdelavo spletnih strani po naročilu stranke. Te strani bodo izdelane oz. prenovljene po že v naprej izdelanih predlogah (templejtih) v enem izmed najzmogljivejših in najpopularnejših sistemov za upravljanje s spletnimi vsebinami na svetu JOOMLA. Ker pa vse predloge seveda niso po želji stranke, jih je treba tudi grafično oblikovati oz prilagoditi, da bodo naročniki zadovoljni in da bo stran imela veliko obiskovalcev, kar je seveda tudi namen spletne strani na spletu. Vemo pa tudi, da dandanes ne gre brez računalnika in da je povpraševanje po različnih grafičnih aplikacija v podjetjih, malih kot velikih, katera bi želela da bi njihovi delavci kot tudi sami delo upravljali hitreje in bolj učinkovito, bom imel nalogo tudi kaj manjšega za sprogramirat v programskem jeziku Microsoft C++ oz C#. 2. Opis gospodarske družbe in produktov Tilzor je mlado podjetje, katero je bilo ustanovljeno v začetku letošnjega leta. Skupaj redno zaposlenih ima samo enega ustanovitelja in lastnika podjetja, kot tudi mojega mentorja. Moram povedati, da je moj mentor zelo ambiciozen in veliki optimist, pa čeprav dela vse projekte in vodi podjetje praktično sam ima veliko vizijo za prihodnost, kot eno izmed vodilnih podjetji v drţavi, saj vemo da je konkurenca velika, kar pa njega sploh ne moti, saj meni da se z veliko truda in optimističnega pogleda, da priti kamor koli si nekdo ţeli priti. Najbolj še lahko pohvali z izdelano spletno stranjo za Odbojkarski klub Nova KBM Branik.
Slika 1: Spletna stran OK NKBM Branik Katero najdete na spletni strani http://www.branik-nkbm.si/, kot tudi z spletno stranjo (še ni popolnoma dokončana) Ţivljenje po moţganski kapi na naslovu http://www.mozganskakap.si/index.php. Slika 2: Spletna stran Življenje po možganski kapi.
3. Opis praktičnega izobraževanja 3.1 Opis programa C# Programski jezik C# je eden izmed najmočnejših objektno orientiranih programskih jezikov, katere je kadar koli naredil Microsoft. Kot ţe povedano je to objektno orientiran, modern, preprost, večnamenski programski jezik, kateri omogoča programerjem, da hitro gradijo širok izbor aplikacij na novi.net platformi. Če potrebujemo kakšne krajše aplikacije, jih je mogoče narediti zelo hitro. Za večje in bolj obširnejše pa nudi veliko moţnosti za razširitve in dodatke, tako da je končna aplikacija varna in stabilna, ko jo uporabljamo. 3.2 SQL povpraševalni jezik SQL je standardizirani jezik za delo z relacijskimi podatkovnimi bazami podatkov. Je jezik za definiranje podatkov (Data Definition Language - DDL) in deklarativni, nepostopkovni jezik za manipulacijo podatkov (Data Manipulation Language DML). Ker jaz ţe imam definirano tabelo, bom uporabljal DML, za delo z podatki v bazi, kot so UPDATE, SELECT in INSERT. 3.3 Opis programa Office Access 2007 Microsoft Access je sistem za upravljanje baz podatkov (SUBP) in je član druţine Microsoft Office okolja. Je enostaven za uporabo ter hkrati dovolj zmogljiv, da z njim izdelamo enostavne relacijske baze podatkov.
4. Projekt planiranje proizvodnega plana 4.1 Kratek opis delovanja aplikacije Naročnik aplikacije je bilo podjetje, katero se ukvarja z izdelavo PVC lončkov za trg. S pomočjo tega programa bo vodja, kateri planira dnevni, tedenski in mesečni plan proizvodnje lahko pohitril svojo izdelavo plana proizvodnje, katerega je do sedaj izdeloval ročno v Microsoft excelu. Slika 3: Primer tedenskega plana proizvodnje. Se pravi glavni namen aplikacije je, da bi pohitril in olajšal delo planerja, kateri v povprečju porabi nekje 3 ure dnevno da naredi plan za proizvodnjo.
4.2 Izdelava prototipa aplikacije ideja 1 Z izdelavo začnemo tako, da zaţenemo program Microsoft Visual Studio (v našem primeru verzijo 2008). Izberemo nov projekt z programskim jezikom C# in da bo to Windows aplikacija z formo, ter ustrezno ime za projekt. Na formo, katero nam jo je ţe ustvaril projekt sam, damo element Panel na katerem bomo urejali plan proizvodnje. Plan bi sicer lahko naredili kar na formo, vendar ker bomo se dodali druge elemente bi bilo vse skupaj malo nepregledno. Na oknu še bodo seveda drugi elementi potrebni, da bomo lahko sestavili plan proizvodnje, kot so combobox (izberemo eno moţnost izmed večih ponujenih), textbox (vpišemo poljubno besedilo), radiobutton (izberemo samo eno moţnost izmed ponujenih), meniji, ipd.. Najprej smo se lotili grafičnega vmesnika kateri bo fiksni, se pravi da se ne bo spreminjal, ko se bo uporabnik premikal po strani gor in dol. Vse grafične elemente bomo zakodirali v en odsek oz. metodo Paint, katera bo na začetku izrisala vse grafične elemente v enem delu (Panel). Slika 4: Prototip plana proizvodnje
Naslednji korak je pa implementacija Drag & Drop (Vleci & Spusti) metode, katera kot ţe ime pove, ko bo uporabnik kliknil na določen element, bo lahko ta element vlekel po določenem področju, in ga nato na poljubnem mestu spustil, da se nebo treba uporabniku ukvarjati z lokacijo posameznega elementa, če ga nebo ţelel imeti na določenem mestu. Problem na katerega sem naletel, ko sem prototip pokazal mentorju je bil ta, da ko bo uporabnik ustvarjal nove Labele (Kvadratek v katerem piše Menjava - Slika 4), da morajo imeti ti kvadratki rezervirano oz. določeno neko končno število, koliko jih je lahko. V planu proizvodnje, katerega nam pa je poslalo podjetje pa je teh kvadratkov v poprečju na dnevnem planu nekje 80, kaj šele na tedenskem, ko jih je 5 krat več in to je bil glavni razlog zakaj sva opustila tole aplikacijo in začela realizirati projekt z novo idejo. 4.3 Izdelava prototipa aplikacije ideja 2 Druga ideja je bila, zakaj bi delal celi grafični vmesnik in vse elemente, če ima Excel ţe to implementirano. Se pravi da bo treba narediti samo to, da se excel datoteka odpre v aplikaciji in da lahko proţimo funkcionalnosti direktno iz aplikacije v excel datoteko. Z novo kreiranim projektom sem najprej začel pri tem, da bi zdruţil excel in aplikacijo. To se imenuje Embedding (zdruţevanje dveh stvari v eno) in primerov je na internetu kar veliko, tako da ni bil problem najti pomoči pri realizaciji. V formo sem dal element Webbrowser, s pomočjo katerega lahko nato excel proţim kar v njem. Vendar se je pojavila mala teţava, koda je delovala pravilno, vendar axcel se je še vedno odpiral posebej v svojem oknu. Na mojo srečo sem zasledil na forumih da je imelo kar veliko ljudi podobno teţavo in da se je našla rešitev, kar na strani od Microsofta. Napaka ni bila ravno trivialna, saj je bilo treba imeti nameščen vsaj Internet explorer 7, ter spremeniti nastavitve v sistemskem registru računalnika. Se navodila so napisana zelo razločno, vendar je treba paziti da slučajno ne spustimo kakšnega koraka. Priporočam da se naredi pred tem, ko gremo spreminjati register najprej kopija njega, za vsak primer, če slučajno kaj ne bo delovalo, ko bodo narejene spremembe.
Slika 5: Spremembe katere moramo vnesti v register
Po ponovnem zagonu računalnika se je excel prikazal v aplikaciji, kot sem ţelel. To mi je prihranilo veliko dela, saj smo lahko odprli katero koli excel datoteko in jo začeli spreminjati. Naslednje je bilo treba narediti povezavo z tisto datoteko, katero bomo manipulirali. Kot pri prejšnem delu, je tudi za tole veliko stvari katere so mi pomagale narediti, da lahko uporabnik spreminja, dodaja, ipd. kar z pomočjo aplikacije. Nastavil sem prototip kateri bi dodajal posamezne elemente v datoteko, da ne bi bilo treba več planerju samemu vnašat in prilagajat določenih objektov. Da lahko sploh manipuliramo excel datoteko je potrebno se dodati dve referenci s pomočjo katerih lahko nato proţimo operacije: Microsoft Office 12.0 Object Library Microsoft Excel 12.0 Object Library Reference dodamo tako, da pri Solution explorerju (Ponavadi v desnem zgornem delu okna projekta) desno kliknemo na References in izberemo Add reference. Odpre se nam novo okno z zavihki. Izberemo zavihek COM in poiščemo zgoraj navedene reference, ter kliknemo OK. Slika 6: Vstavljenje reference v projekt.
Na kar je nastal nov problem, pri čemer ni mogoče imeti odprte datoteke in jo hkrati manipulirati, se pravi manipuliramo lahko samo zaprto, kaj nam pa nič ne pomaga če ne vidimo kaj smo naredili. Slika 7: Prototip plana proizvodnje z embeddanjem 5. Projekt evidenca etiket za lončke (Sleev) 5.1 Kratek opis zahtev za program Podjetje katero izdeluje PVC lončke, je izrazilo ţeljo po programu s katerim bo mogoče voditi arhiv/evidenco različnih PVC etiket (termo krčljiva folija) za lončke različnih velikosti in vrst. Program naj vsebuje naslednje funkcionalnosti: Dodajanje artikla z atributi v bazo podatkov Iskanje artikla po atributu Artikel Izbira artikla (po ţe iskanju Artikla) po atributu Okus Spreminjanje vrednosti atributov posameznega artikla
Izračun (za preverjanje) širine etikete za lonček 5.2 Ustvarjanje tabele in vnos atributov v tabelo Tabelo ustvarimo, tako da najprej izberemo zavihek Ustvari in nato opcijo Tabela. Program nam sam ustvari prazno tabelo, v katero lahko vpišemo poljubno število atributov različnega podatkovnega tipa (Število, besedilo, datum, valuta, ). Tabel je lahko poljubno veliko in so lahko med seboj povezane ali ne, pač odvisno kakšne zahteve imamo. Slika 8: Kreiranje nove tabele. 5.3 Vzpostavljanje povezave MS Visual Studia z podatkovno bazo Access Povezavo vzpostavimo tako, da izberemo v meniju izberemo Data ter opcijo Add new data source, na kar se nam pojavi novo okno, katero nas vodi skozi postopek povezave. Pri prvem koraku izberemo Database podatkovno bazo in potrdimo, ter se premaknemo na drugi korak.
Slika 9: Vzpostavljanje povezave do podatkovne baze. Ker bomo ustvarili novo povezavo do Access dokumenta, izberemo moţnost New Connection, pri čemer se nam odpre novo okno v katerem bomo definirali pot do datoteke ter vrsto datoteke na katero ţelimo ustvariti povezavo. Pri Data Source izberemo ponujeno moţnost MS Access Database File, za File name pa poiščemo našo Access datoteko kamor smo jo shranili. Ko smo naredili obe stvari, lahko preverimo, če je povezava deluje z pritiskom na gumb Test Connection. Skoraj smo ţe končali, preostane nam še samo, da preverimo v naslednjem koraku, če smo izbrali pravi dokument in če vsebuje tabele, katere smo ţe prej vstavili v njega. Slika 10: Nastavitev poti in parametrov do podatkovne baze.
5.4 Izdelava aplikacije Ker je potrebno artikle shranjevat, sem ustvaril eno malo tabelo v MS Accessu z vsemi atributi, katere ţeli naročnik imeti za posamezni artikel, ter dodal eno vrstico testnih podatkov katere bom potreboval pri preizkušanju v aplikaciji. Projekt v katerem se bo aplikacija izvajala sem začel, pri postavitvi elementov na novo ustvarjeno formo. Elemente sem dal kar navadne textbox-e za vsak atribut v Access tabeli, menijsko vrstico in gumbe za proţenje operacij, ter element imenovan Datagridview, kateri nam bo omogočal izpisovanje rezultata, ko bomo proţili funkcijo iskanje. Slika 11: Grafična podoba aplikacije Sleev. Kodiranja sem se lotil tako, da sem vzpostavil povezavo do lokalne baze, katero smo kreirali ţe prej. To povezavo bom rabil pri proţenju operacij nad njo s pomočjo aplikacije.
Dodajanje novega artikla, Iskanje artikla in Spreminjanje artikla, bomo proţili s pomočjo SQL povpraševalnega jezika. Dodajanje novega artikla bo delovalo tako, da ko bo uporabnik vpisal vse podatke v okenca in pritisnil na gumb Dodaj, se bo vzpostavila povezava do baze, izvršil se bo SQL ukaz (Insert), kateri bo vseboval vse vrednosti, katere je prej vnesel uporabnik in ti se bodo vnesli v tabelo v podatkovni bazi. Na podoben način bosta delovali tudi drugi dve funkcionalnosti. Pri čemer se bo pri iskanju artikla vpisalo v okence Artikel iskan niz, katerega bomo proţili z izbiro Iskanje, katera bo se bo povezala z bazo in začela po tabeli iskati (Select ukaz) če obstaja kakšen artikel z iskano vrednostjo. Če je takšen artikel, bo njegove atribute pokazalo v posebni tabeli (Datagridview), pri čemer bo uporabnik lahko označil posamezni artikel in s pritiskom na gumb Uredi prestavil vse njegove vrednosti v zgornja okenca. Po ţelji bo lahko uporabnik te vrednosti spremenil in jih nato shranil nazaj na isto mesto v bazi (Update ukaz). Slika 12: Ukazi za manipulacijo podatkovne baze. Drugi del programa, katerega je ţelel imeti naročnik je, da po potrebi če bo treba narediti kakšno novo ali preveriti obstoječo etiketo, da bi bilo dobro če bi se napisal kakšen program s katerim bi lahko izračunali širino etikete (Sleev), da nebi bilo potrebno uporabniku krasti časa še s to nalogo.
Odločil sem se kr da bom tale dva programa kar zdruţil v enega, da bo bolj preglednejše in bolj učinkovito uporabniku. Ustvaril sem novo formo, katere elementi so bili dva enostavna okenca, katere eden izpiše rezultat izračuna po dani formuli, v enega pa vpišemo obseg lončka na katerem se bo etiketiralo, ter gumb s katerim se bo izračunala vrednost. Slika 13: Preverjanje pravilnosti širine etikete.
6. Sklep To dvomesečno praktično izobraţevanje, moram povedat mi je prineslo veliko izkušen, saj še nisem nikoli delal v kakršnem koli podjetju oz. bil zaposlen kjerkoli, da bi lahko videl kako v realnem svetu poteka delo. Z programiranje v programskem jeziku C# sem tudi našel oz. se naučil dosti novosti, katere nudi VS, pa čeprav smo ţe tudi na predavanjih in vajah vzeli veliko stvari o katerih sem tudi tukaj delal. Ni isto šola pa praksa ne, v šoli vse teče dosti bolj sproščeno, nisi pod takim pritiskom, za nasvet lahko vprašaš kolege ali asistence ali pa tudi profesorje, če maš kakšne teţave pri delu, kot pa v sluţbi, ko je treba izpolniti vse zahteve naročnika in to do roka, pa moraš se veliko sam znajti glede projektov. Pogledati si ali v kakšnih literaturah, drugače pa na internetu, kar je meni bilo v veliko pomoč, pri izdelavi aplikacij. Zdaj ko premišljujem o redni sluţbi, ko se bom zaposlil, gledam malo drugače kot pa prej, ko se mi je šola zdela v veliko breme, menim pa da mi je ta praksa bila v veliko pomoč, pri nadaljnji zaposlitvi. Pridobil sem tudi nekaj izkušen, z delom z naročniki, se pravi kako se je treba sporazumevati z njimi in kakšna vprašanja postavljati, ter treba narisati kakšno skico programa in izvedeti kaj misli o tem naročnik, da ti na koncu koncev lahko olajšala delo pri izdelavi aplikacije in da bo aplikacija takšna kot jo ţeli on imeti.