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
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.
Tietokantahaut toteutetaan erillisessä ikkunassa, missä suoritetaan esikatseluarkille vietävien tietojen valinta.
Hakutuloksia voidaan myös muokata vapaasti ennen niiden siirtoa esikatseluarkille.
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

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 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.
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.
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.
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-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-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 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
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
Sovelluksen pääikkuna, jonka ulkoasua hallitsee asiakaskäyntejä ja omia merkintöjä sisältävä kalenteri.
Kun uusi asiakaskäynti lisätään maalaamalla haluttu ajankohta kalenterista, niin käynnin aikatiedot siirtyvät automaattisesti
lisäysikkunan tietoihin.
Tietokantaan tallennettujen asiakkaiden tietoja hallitaan erillisessä ikkunassa. Ikkunan kautta suoritetaan lisäksi aina uuteen asiakaskäyntiin
merkittävän asiakkaan tietojen nouto.
Sovelluksen avulla voidaan hakea yksinkertainen yhteenveto asiakaskäyntien ja asiakkaiden määrästä itse määritetyn aikavälin perusteella.
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
AutoliikeX-järjestelmän tietokannan looginen kuvaus.
Järjestelmän käynnistyksen toimenpiteet. Eri osastojen hallintasovellusten käynnistämiseen vaaditaan käyttäjältä tunnistautumista.
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.
Asiakkaille tarjottuja palveluja voidaan tarkastella erillisistä ikkunoista.
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.
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
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
Suunnitellun AutoliikeX-tietokannan rakenteen käsitteellinen kuvaus.
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
Hallintasovelluksen pääikkuna. Toimintoja tietojen selailuun, tallentamiseen, poistamiseen jne..
Hallintasovelluksen hakuikkuna. Voidaan suorittaa perushakuja tietokannasta.
Hallintasovelluksen uuden tietokannan luonti-ikkuna. Uusi tietokanta luodaan aktiivisen tietokannan pohjalta.
Hallintasovelluksen hallittavan tietokannan valintaikkuna.
Koodit
| Takaisin ylös |