30 resultados para lähdekoodin parsinta
Resumo:
Tämädiplomityö tutkii kuinka Eclipse -ympäristöä voidaan käyttää testitapausten generoinnissa. Eräs diplomityön pääaiheista on tutkia voidaanko olemassa olevilla Eclipsen komponenteilla parantaa symboolitietoutta, jotta testitapausten generointiin saataisiin lisää tietoa. Aluksi diplomityö antaa lyhyen katsauksen ohjelmistojentestaukseen, jotta lukija ymmärtää mitä ohjelmistotekniikan osa-aluetta diplomityö käsittelee. Tämän jälkeen kerrotaan lisää tietoa itse testitapausten generointiprosessista. Kun perusteet on käsitelty, tutustetaan lukija Eclipse -ympäristöön, mikä se on, mistä se koostuu ja mitä sillä voidaan tehdä. Tarkempaa tietoa kerrotaan Eclipsen komponenteista joita voidaan käyttää apuna testitapausten generoinnissa. Integrointi esimerkkinä diplomityössä esitellään valmiin testitapausgeneraattorin integrointi Eclipse -ympäristöön. Lopuksi Eclipse -pohjaista ratkaisua verrataan symboolitietouden sekä ajoajan kannalta aikaisempaan ratkaisuun. Diplomityön tuloksena syntyi prototyyppi jonka avulla todistettiin, että Eclipse - ympäristöön on mahdollista integroida testitapausgeneraattori ja että se voi lisätä symboolitietoutta. Tämätietouden lisäys kuitenkin lisäsi myös tarvittavaa ajoaikaa, joissakintapauksissa jopa merkittävästi. Samalla todettiin, että tällä hetkellä on menossa projekteja joiden tarkoituksena on parantaa käytettyjen Eclipse komponenttien suorituskykyä ja että tämä voi parantaa tuloksia tulevaisuudessa.
Resumo:
Musiikkiteknologia on laaja soveltava tieteenala, jota voidaan hyödyntää kasvatustieteissä, psykologiassa ja kognitiivisissa tieteissä. Musiikkilaitteet ja ohjelmistot hyödyntävät tietotekniikkaa. Musiikkiteknologian ohjelmat ovat joko kaupallisia tai pohjautuvat avoimen lähdekoodin ajatteluun. Tässä työssä kartoitin Linuxin avoimen lähdekoodin virtuaaliinstrumentit sekä toteutin rumpukoneen, kosketinsoittimen ja yksinkertaisen karaokeohjelman mobiilille laitteelle. Tehty työ osoittaa, että tietoteknisin keinoin voidaan toteuttaa tutkimushankkeissa hyödynnettäviä musiikkiteknologian ohjelmia.
Resumo:
Tämän tutkimuksen tavoitteena oli löytää vastauksia siihen, mikä on tärkeimpien avoimen lähdekoodin kirjastojen toteutuksen tämän hetkinen taso. Työssä tutkittiin WxWidgetsin, GTK+:n ja Qt:n toteutuksen tasoa käytämällä hyväksi McCaben, Henry&Kafuran ja Chidamberin & Kemererin esittelemiä staattisia menetelmiä. Lisäksi ikkunointikirjastojen lähdekoodin käännetty koko mitattiin eri käyttöjärjestelmissä. Tutkimuksessa esitellään valittujen kirjastojen arkkitehtuuri ja vertaillaan esiteltävien kirjastojen arkkitehtuurisia ratkaisuja toisiinsa. Tämän jälkeen arvioidaan staattisten menetelmien tuottamien tuloksien merkitystä kahdesta näkökulmasta: mitä tulokset kertovat kirjastoista kun niitä verrataan toisiinsa ja mitä silloin kun niitä verrataan kyseisen kirjaston ja muiden kirjastojen arkkitehtuurisiin ratkaisuihin. Tutkimuksessa havaittiin Qt:n sisältävän kaikkein vähiten kirjaston ulkopuolisia riippuvuuksia. Tämän lisäksi sen huomattiin sisältävän muista kirjastoista puuttuvia ominaisuuksia. Osittain edellämainitusta syystä johtuen Qt:n ongelmakohdaksi havaittiin joidenkin sen osien suuri monimutkaisuus ja tästä seuraava mahdollinen vaikeasti ylläpidettävä lähdekoodi. GTK+:n lähdekoodi sisältää muita kirjastoja vähemmän sisäisiä riippuvuuksia samaan kirjastoon, on korkeammalla abstraktiotasolla ja kirjaston osat ovat siirrettävissä ja erotettavissa toisistaan. Joissakin kohdissa GTK+:n ja etenkin sen C++-rajapinnan GTKmm:n lähdekoodi on kuitenkin tarpeettoman monimutkaista. WxWidgetsin toteutuksen havaittiin Qt:n tavoin olevan hyvin itsenäinen kokonaisuus, WxWidgetsin lähdekoodin monimutkaisuus on useimmiten jotakin GTK+:n ja Qt:n väliltä. WxWidgets on Qt:a vähemmän itsenäinen mutta kuitenkin itsenäisempi kuin GTK+. Kuten muutkin kirjastot myös wxWidgetsillä on omat kohtansa, joissa sen lähdekoodi on tarpeettoman monimutkaista.
Resumo:
Petteri Kivimäen esitys Kansalliskirjaston kirjastoverkkopalveluiden Asiantuntijaseminaarissa 26.11.2013 Helsingissä.
Resumo:
Suomen Viestintävirasto Ficora on antanut määräyksen 13/2005M, jonka mukaan internet-palveluntarjoajalla tulee olla ennalta määritellyt prosessit ja toimintamallit sen omista asiakasliittymistä internetiin lähtevän haitallisen liikenteen havaitsemiseksi ja suodattamiseksi. Määräys ei sinällään aseta ehtoja, kuinka asetetut vaatimukset kukin internet-palveluntarjoaja täyttää. Tässä diplomityössä annetaan määritelmät haitalliselle liikenteelle ja tutkitaan menetelmiä, joilla sitä voidaan havainnoida ja suodattaa paikallisen internet-palveluntarjoajan operaattoriverkoissa. Suhteutettunapaikallisen internet-palveluntarjoajan asiakasliittymien määrään, uhkien vakavuuteen ja tällaisen systeemin kustannuksiin, tullaan tämän työn pohjalta ehdottamaan avoimen lähdekoodin tunkeutumisenhavaitsemistyökalua nopeaa reagointia vaativiin tietoturvaloukkauksiin ja automatisoitua uudelleenreitititystä suodatukseen. Lisäksi normaalin työajan puitteissa tapahtuvaan liikenteen seurantaan suositetaan laajennettua valvontapöytää, jossa tarkemmat tutkimukset voidaan laittaa alulle visualisoitujen reaaliaikaisten tietoliikenneverkon tietovoiden kautta.
Resumo:
Lappeenrannan teknillinen yliopiston Tietotekniikan osaston Tietojenkäsittelytieteen laitoksen tutkimuskäytössä olevaan liikkuvaan robottiin toteutettiin tässä työssä graafinen kaukokäyttöliittymä. Työlle on motivaationa laajennettavuus, jota olemassaoleva suljetun lähdekoodin käyttöliittymä ei pysty tarjoamaan. Työssä olennaisin on olio-ohjelmointitekniikalla toteutettu robotin datamallin, ja sen graafisen esityksen arkkitehtuurillinen erottaminen. Lisäksi tarkastellaan lyhyesti liikkuvien robottien kaukokäyttöliittymien teoriaa, ja WLAN-tekniikan soveltuvuutta robotin ja käyttöliittymän välisen yhteyden toteuttamiseen.
Resumo:
Opinnäytetyö etsii korrelaatiota ohjelmistomittauksella saavutettujen tulosten ja ohjelmasta löytyneiden virheiden väliltä. Työssä käytetään koeryhmänä jo olemassaolevia ohjelmistoja. Työ tutkii olisiko ohjelmistomittareita käyttämällä ollut mahdollista paikallistaa ohjelmistojen ongelmakohdat ja näin saada arvokasta tietoa ohjelmistokehitykseen. Mittausta voitaisiin käyttää resurssien parempaan kohdentamiseen koodikatselmuksissa, koodi-integraatiossa, systeemitestauksessa ja aikataulutuksessa. Mittaamisen avulla nämä tehtävät saisivat enemmän tietoa resurssien kohdistamiseen. Koeryhmänä käytetään erilaisia ohjelmistotuotteita. Yhteistä näille kaikille tuotteille on niiden peräkkäiset julkaisut. Uutta julkaisua tehtäessä, edellistä julkaisua käytetään pohjana, jonka päällekehitetään uutta lähdekoodia. Tämän takia ohjelmistomittauksessa pitää pystyä erottelemaan edellisen julkaisun lähdekoodi uudesta lähdekoodista. Työssä käytettävät ohjelmistomittarit ovat yleisiä ja ohjelmistotekniikassalaajasti käytettyjä mittaamaan erilaisia lähdekoodin ominaisuuksia, joiden arvellaan vaikuttavan virhealttiuteen. Tämän työn tarkoitus on tutkia näiden ohjelmistomittareiden käytettävyyttä koeryhmänä toimivissa ohjelmistoympäristöissä. Käytännön osuus työstä onnistui löytämään korrelaation joidenkinohjelmistomittareiden ja virheiden väliltä, samalla kuin toiset ohjelmistomittarit eivät antaneet vakuuttavia tuloksia. Ohjelmistomittareita käyttämällä näyttää olevan mahdollista tunnistaa virhealttiit kohdat ohjelmasta ja siten parantaa ohjelmistokehityksen tehokkuutta. Ohjelmistomittareiden käyttö tuotekehityksessäon perusteltavaa ja niiden avulla mahdollisesti pystyttäisiin vaikuttamaan ohjelmiston laatuun tulevissa julkaisuissa.
Resumo:
Käyttäjäkeskeinen ohjelmistokehityson nimensä mukaisesti käyttäjän tarpeista ja vaatimuksista lähtevä ohjelmistojen kehittämistapa. Tällä tavoin halutaan saada selville, millaisia vaikutusmahdollisuuksia hän haluaa. Työ käsittelee tähän perustuvaa toteutusta, jolla käyttäjät voivat toteuttaa eksplisiittistä personointia eli toisin sanoen voivat muokataitse omaa henkilökohtaista tietoaan. Käyttäjille tarjotaan mahdollisuus vaikuttaa tapauskohtaisesti, kuinka hän käyttää personointitietojaan. Työssä luodaan avoimen lähdekoodin väliohjelmistoalustalle (MUPE) personointitiedon kustomointityökalu ja sitä hyödyntävät havainnollistavat palvelut. Tämän pohjana on aikaisemmin suoritettu informaation keruu. Naiden toteutuksien avulla on luotu käyttötapausesimerkkejä, joista voidaan havaita erilaisten personointitietojen käytön vaikutukset käyttäjän kannalta. Työkalun ja havainnollistavien palvelujen avulla luodut esimerkit tarjoavat hyvän ja kestävän pohjan sekä kustomointityökalun että käyttötapausesimerkkien laajentamiselle. Naita esimerkkejä voidaan myös jo suoraan soveltaa todellisissa käyttäjäkeskeisissä kenttätutkimuksissa.
Resumo:
Tässä diplomityössä tarkastellaan avoimen lähdekoodin hyödyntämistä ohjelmistotalojen kolmen asiantuntijaryhmän näkökulmasta: teknologian edustajien, liiketoiminnan johdon ja lakimiesten. Työssä käydään läpi avoimen lähdekoodin historiaa ja OSI:n avoimen lähdekoodin määritelmä. Työssä esitellään myös neljä yleistä avoimen lähdekoodin lisenssiä: GPL, LGPL, BSD ja MPL. Tekninen näkökulma näkyy, kun työssä käydään läpi avoimen lähdekoodin vahvuudet ja heikkoudet. Suurin osa avoimen lähdekoodin tuotteista ei ole vielä tarpeeksi kehittyneitä kaupalliseen käyttöön, mutta joukosta löytyy myös muutama todellinen vaihtoehto. Työssä esitellään viisi tunnettua lähdekoodin tuotetta: Linux, Apache, MySQL, Perl ja PHP. Avoimen lähdekoodin mahdollistamat ansaintamallit tuovat esiin liiketoiminnan johdon kiinnostuksen kohteen. Työssä esitellään viisi yritystä, jotka ovat onnistuneet hyödyntämään näitä liiketoiminnan malleja: Red Hat, VA Software, JBoss, IBM ja Sun Microsystems. Juridisesta näkökulmasta suurin riski avoimen lähdekoodin tuotteiden käytössä on kolmansien osapuolien immateriaalioikeuksien loukkaaminen. Lähes kaikki avoimen lähdekoodin ohjelmistot on lisensoitu siten, etteivät ne anna minkäänlaista takuuta tai ota vastuuta. Työssä käsitellään myös sitä, kuinka avoimen lähdekoodin aiheuttamia riskejä vastaan voidaan suojautua. Työn tuloksena syntyy päätösprosessi, jota voidaan käyttää apuna tehdessä lopullista päätöstä avoimen lähdekoodin ohjelmiston käytöstä.
Resumo:
Ohjelmistoteollisuudessa pitkiä ja vaikeita kehityssyklejä voidaan helpottaa käyttämällä hyväksi ohjelmistokehyksiä (frameworks). Ohjelmistokehykset edustavat kokoelmaa luokkia, jotka tarjoavat yleisiä ratkaisuja tietyn ongelmakentän tarpeisiin vapauttaen ohjelmistokehittäjät keskittymään sovelluskohtaisiin vaatimuksiin. Hyvin suunniteltujen ohjelmistokehyksien käyttö lisää suunnitteluratkaisujen sekä lähdekoodin uudelleenkäytettävyyttä enemmän kuin mikään muu suunnittelulähestymistapa. Tietyn kohdealueen tietämys voidaan tallentaa ohjelmistokehyksiin, joista puolestaan voidaan erikoistaa viimeisteltyjä ohjelmistotuotteita. Tässä diplomityössä kuvataan ohjelmistoagentteihin (software agents) perustuvaa ohjelmistokehyksen suunnittelua toteutusta. Pääpaino työssä on vaatimusmäärittelyä vastaavan suunnitelman sekä toteutuksen kuvaaminen ohjelmistokehykselle, josta voidaan erikoistaa erilaiseen tiedonkeruuseen kykeneviä ohjelmistoja Internet ympäristöön. Työn kokeellisessa osuudessa esitellään myös esimerkkisovellus, joka perustuu työssä kehitettyyn ohjelmistokehykseen.
Resumo:
Asiakaspalvelun tarjoamisesta Internet-verkon kautta tulee jatkuvasti tärkeämpää. Aitoa asiakashyötyä tuottavien palvelujen pystyttäminen ja tuottaminen on pienyritysten resursseilla vähintäänkin vaikeaa ja riskialtista. Mahdollisuus käyttää vapaaseen käyttöön lisensoituja avoimen lähdekoodin ohjelmistoja asiakkaille tarjottavien palvelujen perustana madaltaa näinollen pienyritysten kynnystä tarjota palvelua Internet-verkossa. Yrityksen tarjoamien palvelujen perustaksi on nykyään saatavilla jo kokonaisia valmiita avoimeen lähdekoodiin perustuvia ohjelmistosovelluksia. Suurin osa niistä on kuitenkin tehty jotakin rajattua tarkoitusta varten. Pyrittäessä laajentamaan asiakkaille tarjottua palvelua huomataankin tällöin, että ohjelmistosovelluksen laajentaminen muodostaa alkuperäistäkin korkeamman kynnyksen. Toisen ohjelmiston integrointi alkuperäisen kanssa ei sekään ole mahdollinen vaihtoehto – vaikka sellainen uuden palvelun perustaksi löytyisikin. WWW-sisällönhallintajärjestelmät sopivat yleiskäyttöisyytensä ansiosta hyvinkin vaihtelevien palveluiden perustaksi. Yrityksen verkkopalvelu voidaan toteuttaa esimerkiksi vapaasti saatavaan Plone-sisällönhallintajärjestelmään perustuen. Tällöin palvelujen laajentamisen ja uusien tarjoamisen kynnys oletettavasti madaltuu ratkaisevasti, järjestelmän valmiiksi sisältämien monipuolisten toimintojen ansiosta. Paikallisen pienyrityksen verkkopalvelua toteuttaessa todettiin Plonen olevan hyvin tarkoitukseen sopiva. Vähänkin merkittävämmät järjestelmään tehtävät muutokset edellyttävät kuitenkin varsin syvällistä perehtymistä sen osiin ja toimintaan. Koska tarjottavan palvelun tuli olla mahdollisimman helppo lähestyä ja käyttää, järjestelmää oli muun tarvittavan räätälöinnin lisäksi vielä muutettava yksinkertaisemmaksi: Esimerkiksi järjestelmän tarjoamasta valmiista käyttöliittymästä oli räätälöitävä yksinkertaistettu palvelunkäyttöliittymä. Myös palvelun ylläpitäjien koulutukseen oli panostettava. Järjestelmän ylläpidosta tehtiin palvelusopimus, koska asiakkaalla ei ole tarvittavaa teknistä osaamista.
Resumo:
Reaaliaikaisten käyttöjärjestelmien käyttö sulautetuissa järjestelmissä on kasvamassa koko ajan. Sulautettuja tietokoneita käytetään yhä useammassa kohteessa kuten sähkökäyttöjen ohjauksessa. Sähkökäyttöjen ohjaus hoidetaan nykyisin yleensä nopealla digitaalisella signaaliprosessorilla (DSP), jolloin ohjelmointi ja päivittäminen on hidasta ja vaikeaa johtuen käytettävästä matalan tason Assembler-kielestä. Ratkaisuna yleiskäyttöisten prosessorien ja reaaliaikakäyttöjärjestelmien käyttö. Kaupalliset reaaliaikakäyttöjärjestelmät ovat kalliita ja lähdekoodin saaminen omaan käyttöön jopa mahdotonta. Linux on ei-kaupallinen avoimen lähdekoodin käyttöjärjestelmä, joten sen käyttö on ilmaista ja sitä voi muokata vapaasti. Linux:iin on saatavana useita laajennuksia, jotka tekevät siitä reaaliaikaisen käyttöjärjestelmän. Vaihtoehtoina joko kova (hard) tai pehmeä (soft) reaaliaikaisuus. Linux:iin on olemassa valmiita kehitysympäristöjä mutta ne kaipaavat parannusta ennen kuin niitä voidaan käyttää suuressa mittakaavassa teollisuudessa. Reaaliaika Linux ei sovellus nopeisiin ohjauslooppeihin (<100 ms) koska nopeus ei riitä vielä mutta nopeus kasvaa samalla kun prosessorit kehittyvät. Linux soveltuu hyvin rajapinnaksi nopean ohjauksen ja käyttäjän välille ja hitaampaan ohjaukseen.
Resumo:
Sähköiset huutokaupat ovat virtuaalisia markkinapaikkoja, jotka sijaitsevat jossain päin internetiä. Sähköistä huutokauppaa käydään yritysten välillä (B2B), yritysten ja kuluttajien välillä (B2C) sekä kuluttajien kesken (C2C). Tässä työssä sähköisellä huutokaupalla tarkoitetaan ensin mainittua, yritysten keskinäistä kaupankäyntiä. Työn tarkoituksena on tutkia työnkulkukoneen soveltuvuutta sähköisen huutokauppajärjestelmän moottorina. Työssä perehdytään avoimen lähdekoodin ActiveBPEL-koneeseen, ja tutkimus tapahtuu suunnittelemalla, mallintamalla ja testaamalla liiketoimintaprosessi, joka rekisteröi ostajan ja myyjän tiedot järjestelmään. Toteutettava prosessi on yksi osa sähköistä huutokauppaa, mutta saman periaatteen mukaisesti olisi mahdollista toteuttaa myös kokonainen huutokauppa. Tässä työssä tarkastellaan sähköistä huutokauppaa, joka perustuu web-palveluihin, ja jolla on selvä koordinaattori. Koordinaattori ohjaa toisia mukana olevia web-palveluja ja niiden ajettavia operaatioita. Korkean tason mallit kuvataan BPMN-notaation avulla, itse prosessi toteutetaan BPEL-kielellä. Prosessin mallinnuksessa ja simuloinnissa käytetään apuna ActiveBPEL Designer -ohjelmaa. Työn tavoitteena on paitsi toteuttaa osa huutokaupasta, myös antaa lukijalle käsitys siitä liiketoimintaympäristöstä, johon huutokauppa kuuluu, sekä valottaa huutokaupan taustalla olevia teknologioita. Erityisesti web-palvelut ja niihin liittyvät käsitteet tulevat lukijalle tutuiksi.