35 resultados para source code
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
Resumo:
Poster at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014
Resumo:
Ohjelmistoprosesseissa kulkee käytännössä sama tieto muuntuen eri vaiheissa käyttökohteensa mukaan. Tätä mallinnusinformaatiota on mahdollista siirtää ja käyttää uudelleen, mikä säästää resursseja ja vähentää riskejä kaikissa projektin vaiheissa. Projektin alussa ohjelmiston toimintoja suunnitellaan ja niitä mallinnetaan esim. UML-malleilla. Tätä mallinnusinformaatiota hallitaan erilaisilla CASE-työkaluilla, joiden avullamalleja on helppo konvertoida toteutusvaihetta varten lähdekoodiksi. Lähdekoodivoidaan tuoda takaisin malliksi jatkosuunnittelua varten, jos työkalu tukee ominaisuutta. Testausvaiheessa lähdekoodi voidaan parsia, jotta siitä saadaan esille olennainen mallinnusinformaatio testejä varten. Lopulta dokumentaatiota voidaan generoida automaattisesti esim. Javadocilla. Mallinnusinformaation hyödyntäminen onnistuu hyvin teoriassa, mutta se ei ole niin suoraviivaista käytännössä. Tämänhetkiset työkalut eivät ole tarpeeksi joustavia mallinnusinformaation palauttamiseksi edellisiin vaiheisiin, joten ne ajavat toteuttamaan projekteja lineaarisesti. Keskikokoisessakin ohjelmistoprojektissa on suuri määrä mallinnusinformaatiota ja se lisää haasteita. Vaikka työkalut ovat kankeita, mallinnusinformaation hyödyntämisen on koettu tehostavan ohjelmistoprosesseja. Siksi sen keinoja tutkitaan ahkerasti.
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:
Ohjelmistojen uudelleenkäyttö on hyvin tärkeä käsite ohjelmistotekniikan alueella.Ohjelmistojen uudelleenkäyttötekniikat parantavat ohjelmistokehitysprosessin laatua. Yleisiä ratkaisuja sekä ohjelmiston suunnittelun että arkkitehtuurin uudelleenkäyttöön ovat olio-ohjelmointi ja sovelluskehykset. Tähän asti ei ole ollut olemassa yleisiä tapoja sovelluskehysten erikoistamiseen. Monet nykyääntunnetuista sovelluskehyksistä ovat hyvin suuria ja mutkikkaita. Tällaisten sovelluskehyksien käyttö on monimutkaista myös kokeneille ohjelmoijille. Hyvin dokumentoidut uudelleenkäytettävät sovelluskehyksen rajapinnat parantavat kehyksen käytettävyyttä ja tehostavat myös erikoistamisprosessiakin sovelluskehyksen käyttäjille. Sovelluskehyseditori (framework editor, JavaFrames) on prototyyppityökalu, jota voidaan käyttää yksinkertaistamaan sovelluskehyksen käyttöä. Perusajatus JavaFrames lähestymistavassa ovat erikoistamismallit, joita käytetään kuvamaan sovelluskehyksen uudelleenkäytettäviä rajapintoja. Näihin malleihin perustuen JavaFrames tarjoaa automaattisen lähdekoodi generaattorin, dokumentoinninja arkkitehtuurisääntöjen tarkistuksen. Tämä opinnäyte koskee graafisen mallieditorin kehittämistä JavaFrames ympäristöön. Työssä on laadittu työkalu,jonka avulla voidaan esittää graafisesti erikoistamismalli. Editori sallii uusien mallien luomisen, vanhojen käyttämättä olevien poistamisen, kuten myös yhteyksien lisäämisen mallien välille. Tällainen graafinen tuki JavaFrames ympäristöönvoi huomattavasti yksinkertaistaa sen käyttöä ja tehdä sovellusten kehittämisprosessista joustavamman.
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:
Ohjelmiston kehitystyökalut käyttävät infromaatiota kehittäjän tuottamasta lähdekoodista. Informaatiota hyödynnetään ohjelmistoprojektin eri vaiheissa ja eri tarkoituksissa. Moderneissa ohjelmistoprojekteissa käytetyn informaation määrä voi kasvaa erittäin suureksi. Ohjelmistotyökaluilla on omat informaatiomallinsa ja käyttömekanisminsa. Informaation määrä sekä erilliset työkaluinformaatiomallit tekevät erittäin hankalaksi rakentaa joustavaa työkaluympäristöä, erityisesti ongelma-aluekohtaiseen ohjelmiston kehitysprosessiin. Tässä työssä on analysoitu perusinformaatiometamalleja Unified Modeling language kielestä, Python ohjelmointikielestä ja C++ ohjelmointikielestä. Metainformaation taso on rajoitettu rakenteelliselle tasolle. Ajettavat rakenteet on jätetty pois. ModelBase metamalli on yhdistetty olemassa olevista analysoiduista metamalleista. Tätä metamallia voidaan käyttää tulevaisuudessa ohjelmistotyökalujen kehitykseen.
Resumo:
Tämä diplomityö esittää Symbianin käyttöjärjestelmän verkkoarkkitehtuuriin perustuvan paikallisverkkokortin (LAN) käyttöönottoa. Pääajatus oli keskitetty langattoman LAN— kortin (WLAN) ajureiden käyttöönottoon. Jokainen Symbianin käyttöjärjestelmän verkkoarkkitehtuurin komponentti oli huolellisesti tutkittu, painottaen mahdollista langattoman yhteyden uudelleenkäyttöä. Myös olemassaolevan Ethernetkortin ajureiden uudelleenkäyttö oli huolellisesti otettu huomioon. Diplomityöprojektin aikana esimerkki WLAN-kortin ajurin lähdekoodista oli esitetty. Tämä ajuri on kirjoitettu NOKIA DTN-20 WLAN-korttia varten. Havaittiin myös, että suurin osa Symbianin käyttöjärjestelmän verkkoarkkitehtuurista voidaan käyttää myös WLAN-pohjaisessa yhteydessä ilman muutoksia.. Esitetty ajuri käyttää myös tiettyjä olemassaolevan Ethernetkortin ajureita, esim. Logical Device Driver (LDD):tä.
Resumo:
Diplomityössä on tutkittu sulautetun järjestelmän liittämistä Ethernet-verkkoon sekä TCP/IP-protokollapinoon kuuluvien tavallisimpien protokollien toimintaa. Työn tuloksien perusteella on suunniteltu harjoitustyö, jota voidaan käyttää sähkötekniikan osaston opetuksessa. Työssä hankittiin Atmelin sulautettu Web-serverikortti (EWS) ja STK500-kortti serverin ohjelmointiin. Serverin mukana tuli Internet-yhteyden mahdollistava TCP/IP-pinon lähdekoodi. Työssä selvitettiin TCP/IP:hen kuuluvien protokollien toimintaa teoriassa ja käytännön toteutusta EWS:n avulla. Lähdekoodiin lisättiin ominaisuudet, joiden avulla laite hakee kellonaikatiedot aikapalvelimelta time-protokollaa käyttäen ja lähettää sähköpostia määriteltyyn osoitteeseen sähköpostipalvelimen kautta. Laitetta käytettiin sekä palvelimena että asiakkaana. Työssä perehdyttiin sulautettujen järjestelmien yleisiin ominaisuuksiin ja erilaisiin verkonhallinnan apuohjelmiin. Työssä tutkittiin palvelin- ja asiakaskoneen välillä Ethernetissä kulkevaa verkkoliikennettä. Työssä minimoitiin protokollatiedostojen viemä tila prosessorin muistista ja tutkittiin Internet-yhteyden kuluttamien kellojaksojen määrää. Työssä selvitettiin tietoturva-kysymysten merkitystä ja toteutusta sulautetuissa järjestelmissä.
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:
Matkapuhelinverkot kehittyvät jatkuvasti tarjoten asiakkailleen uusia palveluja ja nopeampia datayhteyksiä. Verkkojen eri protokollien testaamisessa käytetään apuna tietoliikenneanalysaattoreita, joiden avulla matkapuhelinverkkojen eri rajapinnoissa liikkuvaa informaatiota voidaan tutkia yksityiskohtaisesti. Tämän työn tarkoituksena oli suunnitella ja toteuttaa etämonitorointianalysaattorin testauksessa käytettävä testausohjelmisto ICONIX-prosessin avulla. Suunnitteluun katsottiin kuuluvan prosessiin mukaiset vaatimusmäärittelyn, analyysin ja alustavan suunnittelun sekä yksityiskohtaisen suunnittelun vaiheet. Toteutus muodostui vastaavasti ohjelmointityöstä ja yksikkötestauksesta. Työn tuloksena saatiin suunnittelun ja toteutuksen aikana syntyneet erilaiset kaaviot ja ohjelmakoodi. Lisäksi testausohjelmistoa käytettiin etämonitorointianalysaattorin toiminnallisuus- ja suorituskykytesteissä, joiden perusteella arvioitiin toteutetun testausohjelmiston toimivuutta. Testausohjelmiston todettiin sopivan etämonitorointianalysaattorin testaukseen, sillä niin toiminnallisuustestit kuin kuormitustestitkin saatiin suoritettua onnistuneesti toteutetun testausohjelmiston avulla. ICONIX-prosessin todettiin sopivan testausohjelmiston suunnitteluun, vaikka testausohjelmisto onkin toimintaperiaatteeltaan erilainen, kuin prosessia esittelevissä lähteissä esimerkkeinä käytetyt ohjelmistot. Eri suunnitteluvaiheisiin kului prosessiin tottumattomalta aikaa, mutta toisaalta laadittuja suunnitelmia ei tarvinnut enää toteutusvaiheen aikana muuttaa ja ohjelmointityö oli hyvin suoraviivaista.
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:
Katselmoinnit ja tarkastusmenettelyt ovat osa ohjelmistotuotantoprosessin laadunvarmistusta. Staattisella tarkastamisella tarkoitetaan ohjelmistotuotteen visuaalista tarkastamista ohjelmistovirheiden havaitsemiseksi ja korjaamiseksi. Ohjelmiston lähdekoodin tarkastaminen voidaan suorittaa automaattisesti tarkoitukseen sopivalla ohjelmistolla l. analyysityökalulla. Tässä työssä toteutettiin analyysityökalu C#-kielisten lähdekoodien tarkastamiseen. Työkalulla suoritetussa kenttätestauksessa havaittiin tarkastettavissa ohjelmistoissa ohjelmiston ylläpitoon vaikuttavia puutteita. Lisäksi työssä tarkasteltiin katselmointeja osana ohjelmistotuotantoprosessin laadunvarmistusta sekä erilaisia ohjelmistovirheitä ja niiden lähteitä.
Resumo:
Can crowdsourcing solutions serve many masters? Can they be beneficial for both, for the layman or native speakers of minority languages on the one hand and serious linguistic research on the other? How did an infrastructure that was designed to support linguistics turn out to be a solution for raising awareness of native languages? Since 2012 the National Library of Finland has been developing the Digitisation Project for Kindred Languages, in which the key objective is to support a culture of openness and interaction in linguistic research, but also to promote crowdsourcing as a tool for participation of the language community in research. In the course of the project, over 1,200 monographs and nearly 111,000 pages of newspapers in Finno-Ugric languages will be digitised and made available in the Fenno-Ugrica digital collection. This material was published in the Soviet Union in the 1920s and 1930s, and users have had only sporadic access to the material. The publication of open-access and searchable materials from this period is a goldmine for researchers. Historians, social scientists and laymen with an interest in specific local publications can now find text materials pertinent to their studies. The linguistically-oriented population can also find writings to delight them: (1) lexical items specific to a given publication, and (2) orthographically-documented specifics of phonetics. In addition to the open access collection, we developed an open source code OCR editor that enables the editing of machine-encoded text for the benefit of linguistic research. This tool was necessary since these rare and peripheral prints often include already archaic characters, which are neglected by modern OCR software developers but belong to the historical context of kindred languages, and are thus an essential part of the linguistic heritage. When modelling the OCR editor, it was essential to consider both the needs of researchers and the capabilities of lay citizens, and to have them participate in the planning and execution of the project from the very beginning. By implementing the feedback iteratively from both groups, it was possible to transform the requested changes as tools for research that not only supported the work of linguistics but also encouraged the citizen scientists to face the challenge and work with the crowdsourcing tools for the benefit of research. This presentation will not only deal with the technical aspects, developments and achievements of the infrastructure but will highlight the way in which user groups, researchers and lay citizens were engaged in a process as an active and communicative group of users and how their contributions were made to mutual benefit.
Resumo:
Presentation at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014
Resumo:
Presentation at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014