CIProject : projektinhallintajärjestelmä
Elmroos, Sami (2010)
Elmroos, Sami
Turun ammattikorkeakoulu
2010
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201005108672
https://urn.fi/URN:NBN:fi:amk-201005108672
Tiivistelmä
Työssä oli tavoitteena parantaa olemassa olevan projektinhallintajärjestelmän suorituskykyä ja käytettävyyttä. Tämä toteutettiin purkamalla nHibernate-tietokantakerros ja kirjoittamalla se uudelleen käyttämällä tietokantaproseduureja.
Näyttölogiikka on toteutettu ASP.NET-kielellä. Ohjelmalogiikka ja tietokantayhteydet C#.NET-kielellä. Kehitysympäristönä oli käytössä Microsoft Visual Studio 2008 SP1 ja tietokantana Microsoft SQL Server 2005.
Uudelleenkirjoitus toteutettiin noudattamalla kolmikerrosarkkitehtuurin mallia siten, että näyttölogiikka, ohjelmalogiikka sekä tietokantayhteydet olivat eroteltuina. Tietokantayhteydet toteutettiin luomalla jokaiselle tietokantataululle omat luokkansa ja luokille tietokantayhteydet tarvittavien metodien perusteella. Lähes jokaiselle luodulle luokalle ohjelmoitiin lataus-, tallennus- ja poistometodit. Tallennusmetodi toteutettiin siten, että se päättelee id-numeron perusteella onko kyseessä oleva tieto jo tietokantataulussa. Sovellus luo myös monia raportteja, joiden kohdalla vanhassa toteutuksessa suorituskyky oli suurin ongelma. Tätä parannettiin luomalla raporteille
omat tietokantaproseduurit, joilla koko raportin sisältö voitiin hakea yhdellä tietokantakutsulla.
Käytettävyyden parantamiseksi käytiin käyttöliittymä läpi ja mietittiin sivujen elementtien sijoittelua ja erikoistilanteiden käsittelyä. Muutamassa laajassa raportissa kompensoitiin viivettä luomalla AJAX-tekniikalla siihen latausindikaattorit, jotta käyttäjälle olisi selvempää milloin ladataan ja ettei lataus ole keskeytynyt virheeseen. Samalla lisättiin muutama uusi ominaisuus,
kuten tulevien vapaapäivien näyttö etusivulla. Toinen uusi ominaisuus oli tietokantaproseduuripohjainen työntekijän ja hänen alaisiensa työtunnit etusivulla näyttävä toiminto. Tämä toteutettiin kuitenkin siten, että työtunnit ovat sivulle siirryttäessä piilotettuna, jotta esimiestasoinen hen-
kilö voi sovelluksen avata vaikka muita olisi samassa tilassa.
Sovelluksen uudistus onnistui erinomaisesti. Suorituskyky parani raporttien osalta noin 77 %, ja
käyttöliittymän parannuksista on saatu työntekijöiltä positiivista palautetta.
Näyttölogiikka on toteutettu ASP.NET-kielellä. Ohjelmalogiikka ja tietokantayhteydet C#.NET-kielellä. Kehitysympäristönä oli käytössä Microsoft Visual Studio 2008 SP1 ja tietokantana Microsoft SQL Server 2005.
Uudelleenkirjoitus toteutettiin noudattamalla kolmikerrosarkkitehtuurin mallia siten, että näyttölogiikka, ohjelmalogiikka sekä tietokantayhteydet olivat eroteltuina. Tietokantayhteydet toteutettiin luomalla jokaiselle tietokantataululle omat luokkansa ja luokille tietokantayhteydet tarvittavien metodien perusteella. Lähes jokaiselle luodulle luokalle ohjelmoitiin lataus-, tallennus- ja poistometodit. Tallennusmetodi toteutettiin siten, että se päättelee id-numeron perusteella onko kyseessä oleva tieto jo tietokantataulussa. Sovellus luo myös monia raportteja, joiden kohdalla vanhassa toteutuksessa suorituskyky oli suurin ongelma. Tätä parannettiin luomalla raporteille
omat tietokantaproseduurit, joilla koko raportin sisältö voitiin hakea yhdellä tietokantakutsulla.
Käytettävyyden parantamiseksi käytiin käyttöliittymä läpi ja mietittiin sivujen elementtien sijoittelua ja erikoistilanteiden käsittelyä. Muutamassa laajassa raportissa kompensoitiin viivettä luomalla AJAX-tekniikalla siihen latausindikaattorit, jotta käyttäjälle olisi selvempää milloin ladataan ja ettei lataus ole keskeytynyt virheeseen. Samalla lisättiin muutama uusi ominaisuus,
kuten tulevien vapaapäivien näyttö etusivulla. Toinen uusi ominaisuus oli tietokantaproseduuripohjainen työntekijän ja hänen alaisiensa työtunnit etusivulla näyttävä toiminto. Tämä toteutettiin kuitenkin siten, että työtunnit ovat sivulle siirryttäessä piilotettuna, jotta esimiestasoinen hen-
kilö voi sovelluksen avata vaikka muita olisi samassa tilassa.
Sovelluksen uudistus onnistui erinomaisesti. Suorituskyky parani raporttien osalta noin 77 %, ja
käyttöliittymän parannuksista on saatu työntekijöiltä positiivista palautetta.