(linkedin) (delicious)
CustomLabelPrinter-asiakasprojekti - 3. opintovuosi
Kuvaus
Projektin tavoitteena oli tuottaa asiakkaalle sovellus, joka kykenee suorittamaan tietoja selaavia SQL-kyselyitä asiakkaan tietojärjestelmän tietokantaan ja tulostamaan tietokannasta noudetut tiedot 3x10 kokoisella tarra-arkilla oleville tarroille. Sovellukseen tuli ohjelmoida lisäksi keskeisessä roolissa oleva ominaisuus, jonka avulla ohjelma voidaan määrittää käyttämään hyväksi tietokannan tietoja myös uudessa palvelinympäristössä.
Sovelluksen ohjelmoinnissa pyritittiin panostamaan erityisesti käyttöliittymän yksinkertaisuuteen ja ohjelmakoodin laajennettavuuteen. Tämän vuoksi käyttöliittymän päätoiminnallisuus luotiin yksinkertaisesti käyttäen apuna grafiikan piirtotekniikoita ja ohjelmakoodin rakenne käyttäen apuna olio-ohjelmointia. Olio-rakenne mahdollistaa tässä tapauksessa sovelluksen laajennettavuuden esimerkiksi siten, että sovelluksessa voitaisiin helposti määritellä tarra- ja arkkikohtaisesti, mitä tietoja yhdessä tulostusprosessissa halutaan tulostaa.
Screenshotit
Pääikkuna

Sovelluksen pääikkunaan on luotu esikatseluarkki, mikä toimii tulostettavan tarra-arkin ilmentymänä. Esikatseluarkki-komponentti on ohjelmoitu käyttäen apuna .NET Framework:n grafiikan piirto luokkia. Arkille voidaan viedä tietokannasta noudettuja tietoja joko tarrakohtaisesti tai hakemalla tiedot kaikille tarroille yhdellä kertaa.

Tietokantahaku

Tietokantahaut toteutetaan erillisessä ikkunassa, missä suoritetaan esikatseluarkille vietävien tietojen valinta. Hakutuloksia voidaan myös muokata vapaasti ennen niiden siirtoa esikatseluarkille.

Tulostusikkuna

Koostetun tarra-arkin tulostusprosessi suoritetaan perinteisen Windows-tulostusdialogin avulla, jonka kautta voidaan määrittää esimerkiksi tulostettavien arkkien määrä tai tarkemmat tulostinkohtaiset asetukset. Itse tulostettava grafiikka lähetetään tulostimelle yksinkertaisesti piirtämällä esikatseluarkille valitut tiedot sovelluksen tulostusprosessin käyttämään muistiin.

Kommentit

(avat1)

Kiitokset Timolle erittäin hyvin toteutetusta harjoitustyöstä. Kyseessä oli SQL-kantaa hyödyntävä tarratulostussovellus. Työn toteutus sujui nopeasti ja valmis tuote oli juuri sitä mitä tilattiin. Tuotteen käyttöönotossa ei ole ilmennyt minkäänlaisia ongelmia. Suuret kiitokset hyvin tehdystä työstä!

Antero Hiisijärvi / Xerox Oy - 02.12.2010 - ( www.consulting.xerox.com/index/fifi.html )

Viesti kaapattiin vieraskirjasta

myAvat

Suuret kiitokset myös omasta puolestani, että sain mahdollisuuden toteuttaa tämän työn teille.

Kehitystyö oli varsin antoisaa ja uutta oppia tuli jälleen runsain mitoin. Muun muassa tulostamisen hallinta ohjelmakoodista käsin oli minulle entuudestaan täysin tuntematon aihe ja tulevaisuutta ajatellen koin erittäin hyödylliseksi tähän kokonaisuuteen perehtymisen. Myös .NET:n piirtoluokkien käytöstä tuli opittua runsaasti uutta.

Hyvää työskentelyssä oli lisäksi se, että sain aina suoraa palautetta tehdystä työstä - mitä puuteita tai hyvää sovelluksessa kullakin hetkellä siis oli. Sovelluksen vaatimusten määritely sujui myös luontevasti.

TK - 02.12.2010

Viesti kaapattiin vieraskirjasta

JavaPics- ja KuvatDotNet-sisällönhallintapaneeli - 2. opintovuosi
Kuvaus
Harjoitustöiden aiheeksi valittiin kuvitteellisen web-kuvagallerian sisällönhallintapaneelin luonti. Luotavan hallintapaneelin avulla käyttäjän tuli pystyä hallitsemaan oman kuvagalleria-tilinsä tietoja. Järjestelmään luotuihin toimintoihin kuului muun muassa: kuvien lisääminen, poistaminen ja järjesteleminen itse luotuihin albumeihin. Tämän lisäksi järjestelmän hallintapaneelin avulla tuli pystyä hallitsemaan oman kuvagalleria-tilin käyttäjätietoja. Palvelun käyttöä edellytti luonnollisesti rekisteröityminen järjestelmän käyttäjäksi ja luotu tili suojattiin lisäksi perinteisen sisäänkirjautumisen avulla.
Harjoitustyöt luotiin käyttäen apuna Java- (JavaPics) ja C#-ohjelmointikieltä (KuvatDotNet). JavaPics-järjestelmän ohjelmakoodi muodostui JSP ja Servlet tekniikoiden yhteiskäytöstä. KuvatDotNet-järjestelmä kehitettiin sen sijaan käyttäen hyväksi ASP.NET-ohjelmointitekniikkaa. Molempien järjestelmien SQL Server -tietokanta noudatti samaa rakennemallia ja käyttöliittymien ulkoasut olivat yhteneviä. Suurin ero järjestelmien välillä löytyy niiden ohjelmakoodin rakenteesta, sillä luonnollisesti JSP ja Servlet -tekniikoiden käyttö on luonteeltaan hyvin erilaista mitä ASP.NET:n.
Screenshotit
sisäänkirjautuminen

Sisäänkirjautuminen hallintapaneeliin - Käyttäjän tunnistus ja uuden selainistunnon aloittaminen suoritetaan perinteisesti käyttäjätunnuksen ja salasanan avulla. Kuvagalleria-tilin käyttöönottoa edellyttää omien käyttäjätietojen rekisteröiminen palveluun.

Albumit

Hallintapaneelin pääsivu - "Pääsivun" kautta voidaan hallita omia käyttäjätietoja, luoda uusi albumi tai valita aiemmin luotu albumi käsiteltäväksi.

Albumin sisältö

Valitun albumin sisältö - Albumiin tallennettuja kuvia voidaan tarkastella kerralla esikatselukuvakkeiden kautta. Sivun kautta voidaan myös lisätä uusia kuvia albumiin, muokata albumin tietoja, poistaa yksittäinen kuva albumista tai tuhota koko albumi kertatoimintona.

Kuvan tarkastelu

Yksittäisen kuvan tarkastelu - Albumin kuvia voidaan tarkastella myös yksittäisinä, jolloin seuraavaan albumissa olevaan kuvaan voidaan siirtyä kuvan yläpuolelle ilmestyvien selauspainikkeiden avulla. Yksittäisen kuvan tarkastelutilassa kuvaan voidaan kohdistaa toimintoja kuten: kuvan poisto, kuvan siirto tai kopiointi toiseen albumiin tai kuvan lataus palvelimelta omalle työasemalle.

KuvatDotNet kirjautuminen

KuvatDotNet-hallintapaneeli - KuvatDotNet-paneelin ulkoasu noudattaa suurimmilta osin samaa kaavaa mitä JavaPics-paneelikin. KuvatDotNet-järjestelmän sisäänkirjautuminen luotiin ASP.NET:n valmiin FormsAuthentication-palvelun avulla. Käyttäjien tunnukset ja salasanat tallennettiin silti järjestelmän tietokantaan.

KuvatDotNet rakenne

KuvatDotNet-hallintapaneelin ohjelmakoodin rakenne - Vasemmalla olevat luokat ilmentävät ohjelmakoodin "data_access" osaa. Istunnon tilanhallintaan luotiin myös muutamia metodeja omaan "cSessionUtilities"-luokkaan.

JavaPics-järjestelmän rakenne pyrittiin rakentamaan perinteisen MVC-arkkitehtuurimallin turvin, jolloin siis ohjelmakoodin JSP-sivut toimivat rakenteen (näkymänä), Servlet:t (ohjaimena) ja tietokantakerros-komponentti (mallina).

Järjestelmän tietokanta

Järjestelmän tietokannan rakenne - Kuvat tallennetaan tietokannan tauluun "tbKuvat". Tästä taulusta kenttä "ku_kuvadata" sisältää kunkin kuvan "tavu-datan". Kuvat oltaisiin voitu tallentaa järjestelmään myös "fyysisesti", jolloin ne oltaisiin siis tallennettu palvelimen tiedostojärjestelmään ja tietokantaan vietäisiin tällöin ainoastaan kuvan fyysisen sijainnin polkuviite.

Koodit
Kommentit

(avat3)

Kesäopintoina Timo on toteuttanut opintojaksoon "Sovellustuotanto 2" liittyvän Java-harjoitustyön  aiheena www-sivustona toimiva "Javapics-kuvagallerian hallintapaneeli".  Kehitysympäristönä on ollut NetBeans 6.9 (kesä 2010 uusin versio ...), Java-koodi pääasiassa toteutettu JSP- ja Servlet-ohjelmointitekniikoilla. Tietokantana, johon kuvat ja albumirakenteet talletetaan, käytetään Microsoftin SQL Serveriä.  Kaikkinensa Timo osoittaa tässäkin työssä vahvaa osaamistaan ja haluaan ja kykyään tutkia ja selvittää vaikeitakin järjestelmäkehityksessä eteen tulevia ongelmia ja haasteita.

Toivon, että Timo päivittää myös tämän harjoitutyön lyhen esittelyn sivustonsa "Arkisto"-osuuteen, missä hänen opintoihinsa liittyvien valmistuneiden harjoitustöidensä esittelyt ovat katsottavissa.

Kiitettävä suoritus.

Jyrki Linja - 11.08.2010 - ( www.savonia.fi )

Viesti kaapattiin vieraskirjasta

Asiakasarkistoija 2010 -asiakasprojekti - 2. opintovuosi
Kuvaus
Projektin tarkoituksena oli tuottaa pienimuotoinen Windows-järjestelmä asiakas- ja asiakaskäyntitietojen arkistoimiseen raportointia varten. Järjestelmän toissijainen tehtävä oli toimia apuna tulevien asiakaskäyntien ajanvarausten hallitsemisessa.
Järjestelmä toteutettiin Access 2007 -tietokannan päälle käyttäen apuna C# ja SQL kieliä. Ohjelmakoodi toteutettiin komponenttipohjaisen rakenteen periaatteiden mukaisesti, jolloin esimerkiksi järjestelmän tietokantarajapinta, pääikkunan kalenteri, salaustekniikat ja tietokannan varmuuskopiointi muodostivat omat pienet kokonaisuutensa. Järjestelmän tietoturvaan kiinnitettiin myös erityishuomiota muun muassa tietokannan suojaamisella ja vaadittavien salasanojen salaamisella.
Screenshotit
Pääikkuna

Sovelluksen pääikkuna, jonka ulkoasua hallitsee asiakaskäyntejä ja omia merkintöjä sisältävä kalenteri.

Käynnin lisäys

Kun uusi asiakaskäynti lisätään maalaamalla haluttu ajankohta kalenterista, niin käynnin aikatiedot siirtyvät automaattisesti lisäysikkunan tietoihin.

Asiakkaiden hallinta

Tietokantaan tallennettujen asiakkaiden tietoja hallitaan erillisessä ikkunassa. Ikkunan kautta suoritetaan lisäksi aina uuteen asiakaskäyntiin merkittävän asiakkaan tietojen nouto.

Tilastot

Sovelluksen avulla voidaan hakea yksinkertainen yhteenveto asiakaskäyntien ja asiakkaiden määrästä itse määritetyn aikavälin perusteella.

About

Asiakasarkistoija 2010 -järjestelmä toteutettiin kahden ohjelmoijan voimin ohjelman tilaajan määrittämien vaatimusten mukaisesti.

Kommentit
Hermoratahieroja Riitta Konttinen (projektin tilaaja): kahden kuukauden käyttökokemuksen jälkeen voin todeta, että luotu järjestelmä on soveltunut hyvin käyttötarpeisiini. Projektin yhtenä perustavoitteena oli luoda helppokäyttöinen ja selkeä tietokonesovellus. Mielestäni tässä onnistuttiin hyvin.
Projektin työstämisvaiheessa yhteistyö Timon ja Jarmon kanssa sujui joustavasti ja yhteisiä tapaamisia järjestettiin riittävästi suhteessa käytettävissä olevaan aikaan. Ongelmien ja uusien tarpeiden selvitys sujui myös luontevasti puhelimen välityksellä.
Timo Kallio: projekti oli hyvää harjoitusta siihen, mitä ohjelmistojen kehittäminen asiakkaan vaatimusten mukaisesti on. Lisäksi käydyt neuvottelut ohjelman tilaajan kanssa niin kasvotusten kuin puhelimessakin toivat uusia kokemuksia asiakasrajapinnassa toimimisesta.
Projekti toteutettiin noin kolmessa kuukaudessa, jolloin muuta tehtävää oli myös opiskelutehtävien muodossa. Tästä huolimatta projekti pysyi mielestäni hyvin aikataulussaan. Oma osuuteni järjestelmän kehittämisestä liittyi tietokannan ja tietokantarajapinnan ohjelmointiin sekä hallintasovelluksen käyttöliittymän osien ohjelmointiin. Tärkeää projektissa oli kuitenkin yhteistyön tekeminen Jarmon kanssa, joka korostui erityisesti eri koodiosien ohjelmoinnissa. Pystyimme siis luomaan helposti toisiinsa liitettäviä komponentteja. Järjestelmän eri toimintojen ideointi liittyi myös vahvasti yhteiseen työskentelyyn. Sitä tehtiin niin normaali työskentelytilanteissa kuin vapaa-ajan kahvipöytäkeskusteluissakin.
Jarmo Sokka: aluksi oli hieman hankalaa ymmärtää asiakkaan määrittämiä vaatimuksia kehitettävälle järjestelmälle, jolloin uusia vaatimuksia ilmeni myös kehitystyön edetessä. Projekti toi siis hyviä kokemuksia muun muassa juuri siihen, miten asiakasvaatimuksia pitäisi kartoittaa. Seuraavassa projektissa tämä vaihe on mahdollista suorittaa entistäkin paremmin, koska tietää ennalta, mitä asiakkaalta pitäisi vähintäänkin selvittää.
Työskentelin pääasiassa hallintasovellukseen liitettävän kalenterin ja tietokannan varmuuskopiointiominaisuuden kehittämisen parissa. Näiden osien kehittämiseen liittyi paljon uusia asioita, mitä en ollut aikaisemmin toteuttanut, mutta siitä huolimatta niiden ohjelmointi onnistui ongelmitta. Aivan helppoa kehitystyö ei kuitenkaan ollut, sillä järjestelmän saaminen toimivaksi eri Windows-käyttöjärjestelmissä toi mukanaan välillä hieman tuskallisia ongelmiakin.
AutoliikeX-tiedonhallintajärjestelmä - 2. opintovuosi
Kuvaus
Tarkoituksena oli kehittää aiemmin suunnitellulle AutoliikeX-tietokannalle hallintasovellus C#.NET-ohjelmointikieltä hyväksikäyttäen. Suunniteltu tietokanta toimii paikallisena SQL Server 2008 -ympäristössä. Hallintasovelluksen kehittäminen suoritettiin käyttäen apuna Visual Studio 2008 -kehitysympäristöä.
Harjoitustyön päätarkoituksena oli C#-ohjelmointikielen käytön opettelu. Luonnollisesti tavoiteena oli myös oppia hallitsemaan SQL Server -tietokantoja kyseisen ohjelmointikielen avulla ja syventää osaamista käyttöliittymien rakentamisessa Visual Studion avulla.
Harjoitustyöhön kuuluu yksi luokkakirjastoprojekti, jonka tarkoituksena oli toimia rajapintana hallintasovelluksen ja tietokannan välillä. Kirjaston ohjelmakoodia ei ole esitelty tässä, mutta voit nähdä alla olevasta screenshotista sen rakenteen pääpiirteittäin.
Screenshotit
tietokanta

AutoliikeX-järjestelmän tietokannan looginen kuvaus.

aloitusikkuna

Järjestelmän käynnistyksen toimenpiteet. Eri osastojen hallintasovellusten käynnistämiseen vaaditaan käyttäjältä tunnistautumista.

perusnäkymä

Johdon hallintasovelluksen käyttöliittymä kehitettiin käyttäen hyväksi Mdi-ikkunointi tekniikkaa. Sovelluksella on mahdollista hallita asiakkaiden ja työntekijöiden tietoja (lisäys, poisto, muokkaus) sekä selata erilaisia myynnillisiä tietoja niin raporttien kuin peruskäyttöliittymäkomponenttien avulla.

tapahtumat

Asiakkaille tarjottuja palveluja voidaan tarkastella erillisistä ikkunoista.

raportit

Raporttien muodossa voidaan tarkastella niin huolto- kuin automyynti-tilastoja itse määritetyltä aikaväliltä. Raporttien muodostaminen toteutettiin Visual Studio:on liitettävän Crystal Reports -sovelluksen avulla.

luokkakirjasto

Järjestelmän tietokantarajapinnan kaavio. Tietokannan tauluja ilmentävissä luokissa käsitellään kunkin luokan oman taulun tietoja. Luokat dbRoot, dbReader ja dbModifier sisältävät staattisia metodeja, joiden avulla varastoidut SQL-kyselyt (Stored Procedures) voidaan suorittaa tietokantaan SQL-transaction-yhteyden avulla tai ilman.

Mikäli esimerkiksi asiakkaan tiedot halutaan päivittää, niin lomakkeen-koodissa kutsutaan yksinkertaisesti cAsiakas-luokassa olevaa metodia, joka taas kutsuu edelleen oikeaa metodia tarvittavin parametrein dbModifier-luokasta päivityskyselyn suorittamiseksi tietokantaan.

Koodit
Kommentit

(avat3)

Olen Timon opettaja Savonia ammattikorkeakoulussa ja kommentoin tässä yhteydessä hänen Ple-sivuston arkistosta  löytyvää   "AutoliikeX - Tiedonhallintajärjestelmä"  harjoitustyötään. Kyseinen harjoitustyö liittyi opintojaksoon "Sovellustuotanto 1", jonka pidin syksyn 2009 aikana. 

Ennen tätä työtä  olin tarkistanut Timon opintoihin liittyen hänen kahden muun opintojakson harjoitustyöt, molempien osalta töiden taso oli  kiitettävä, joten odotukset ennakkoon myös tämän harjoitustyön osalta olivat korkealla, eikä turhaan -   tässä harjoitustyössä Timo jatkaa vahvoja näyttöjään oman osaamisensa osalta :  opintojaksolle asetetut tavoitteet ylittyvät selkeästi Timon harjoitustyössä, mm.  työhön liittyvässä raportissaan hän arvioi ja pohtii harjoitustyönsä teknistä arkkitehtuuria tavalla, joka on poikkeuksellisen "syvällistä"  2. opiskeluvuoden opiskelijoille.      

Kiitettävä työ.

Jyrki Linja - 19.03.2010 - ( www.savonia.fi )

Viesti kaapattiin vieraskirjasta

AutoliikeX-tiedonhallintajärjestelmän tietokanta - 2. opintovuosi
Kuvaus
Harjoitustyön aiheena oli suunnitella ja toteuttaa tietokanta osaksi kuvitteellisen AutoliikeX nimisen autoliikkeen tietojärjestelmää. Tietokannan luonnissa ja kyselyissä tuli käyttää hyväksi mahdollisuuksien mukaan standardia SQL-kieltä, mutta myös SQL Server:ssä käytettävää Transact-SQL:lää. Käsiteellinen ja looginen mallintaminen suoritettiin käyttäen apuna MS Office Visio 2007 -sovellusta.
Tietokannan rakenne tuli luoda siten, että sen avulla voitaisiin hallita tietoja autoliikkeen asiakkaista, myyntiautoista ja huollosta. Järjestelmälle sai kehittää lisätoiminnallisuutta oman mielen mukaan.
Kaaviot
käsitemalli

Suunnitellun AutoliikeX-tietokannan rakenteen käsitteellinen kuvaus.

looginenmalli

Suunnitellun AutoliikeX-tietokannan rakenteen looginen kuvaus.

Koodit
MpYritys2009-tiedonhallintajärjestelmä - 1. opintovuosi
Kuvaus
MpYritys2009 on pienimuotoinen ja kuvitteellinen Access-tietokantoja hyödyntävä moottoripyöräyrityksen tietojenhallintajärjestelmä. Järjestelmän ohjelmoinnin päätavoitteena oli harjoitella Access-tietokantojen hallitsemista VB.NET-koodista käsin ADO.NET-tekniikoita hyväksi käyttäen. Tavoitteena oli myös harjoitella Visual Studion erilaisten käyttöliittymä komponenttien monipuolista käyttöä. Lisäksi koodin rakenne tuli muodostaa käyttäen hyväksi olio-ohjelmoinnin alkeita.
Screenshotit
tietokanta

Järjestelmän tietokanta.

main

Hallintasovelluksen pääikkuna. Toimintoja tietojen selailuun, tallentamiseen, poistamiseen jne..

haku

Hallintasovelluksen hakuikkuna. Voidaan suorittaa perushakuja tietokannasta.

uusitk

Hallintasovelluksen uuden tietokannan luonti-ikkuna. Uusi tietokanta luodaan aktiivisen tietokannan pohjalta.

valitsetk

Hallintasovelluksen hallittavan tietokannan valintaikkuna.

Koodit
| Takaisin ylös |
Ulkoasu, Sisältö: © Timo Kallio, 2009-2012 - Savonia-ammattikorkeakoulu