81 resultados para Agile software development
Resumo:
The nature of client-server architecture implies that some modules are delivered to customers. These publicly distributed commercial software components are under risk, because users (and simultaneously potential malefactors) have physical access to some components of the distributed system. The problem becomes even worse if interpreted programming languages are used for creation of client side modules. The language Java, which was designed to be compiled into platform independent byte-code is not an exception and runs the additional risk. Along with advantages like verifying the code before execution (to ensure that program does not produce some illegal operations)Java has some disadvantages. On a stage of byte-code a java program still contains comments, line numbers and some other instructions, which can be used for reverse-engineering. This Master's thesis focuses on protection of Java code based client-server applications. I present a mixture of methods to protect software from tortious acts. Then I shall realize all the theoretical assumptions in a practice and examine their efficiency in examples of Java code. One of the criteria's to evaluate the system is that my product is used for specialized area of interactive television.
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:
BlueGiga Technologies on uusi Bluetooth -teknologiaa soveltava pk-yritys. Yrityksen tuotekehitysprosessia täydentämään tarvittiin testausprosessi. Testausprosessin luominen oli haastavaa, koska Bluetooth -teknologia on uutta ja yritys on vielä nuori. Lisäksi se integroi kovo- ja ohjelmistokomponentteja tuotteissaan. Testaus aloitettiin evaluoimalla standardinmukaista tapaa dokumentoida testit. Tämän jälkeen tutkittiin BlueGigan ohjelmistokehitysprosessin suhdetta olemassa oleviin ohjelmistokehitysprosesseihin. Samanaikaisesti perehdyttiin Bluetooth -kvalifikaation testaukselle asettamiin vaatimuksiin. Tämän seurauksena TTCN:ää kokeiltiin helppolukuisen testitapauksen määrittelyssä. Käyttötapauksiin perustuvan testauksen sopivuutta Wireless Remote Access Platform:in (WRAP) testaamiseen arvioitiin kokeilemalla sitä Man-to-Machine -käyttötapauksen testaamisessa. Yllämainittujen tehtävien aikana kerätyn tiedon ja hankittujen kokemusten pohjalta laadittiin testausprosessi, joka kattaa yksikkö-, integraatio- ja järjestelmätason testauksen. Painopiste on järjestelmätason testauksessa. Prosessi määrittelee myös vastuuhenkilön tai -henkilöt eri testaustasoille.
Resumo:
Vaatimusmäärittely on tärkeä vaihe ohjelmistotuotannossa, koska virheelliset ja puutteelliset asiakasvaatimukset vaikuttavat huomattavasti asiakkaan tyytymättömyyteen ohjelmistotuotteessa. Ohjelmistoinsinöörit käyttävät useita erilaisia menetelmiä ja tekniikoita asiakasvaatimusten kartoittamiseen. Erilaisia tekniikoita asiakasvaatimusten keräämiseen on olemassa valtava määrä.Diplomityön tavoitteena oli parantaa asiakasvaatimusten keräämisprosessia ohjelmistoprojekteissa. Asiakasvaatimusten kartoittamiseen käytettävien tekniikoiden arvioinnin perusteella kehitettiin parannettu asiakasvaatimusten keräämisprosessi. Kehitetyn prosessin testaamiseksi ja parantamiseksi järjestettiin ryhmätyöistuntoja liittyen todellisiin ohjelmistokehitysprojekteihin. Tuloksena vaatimusten kerääminen eri sidosryhmiltä nopeutui ja tehostui. Prosessi auttoi muodostamaan yleisen kuvan kehitettävästä ohjelmistosta, prosessin avulla löydettiin paljon ideoita ja prosessi tehosti ideoiden analysointia ja priorisointia. Prosessin suurin kehityskohde oli fasilitaattorin ja osallistujien valmistautumisessa ryhmätyöistuntoihin etukäteen.
Resumo:
Diplomityössä tutkitaan, kuinka Symbian-sovelluskehitystä voitaisiin tehostaa. Työssä esitellään Symbian-käyttöjärjestelmä, sekä pohditaan haasteita ja rajoitteita joita Symbian sovelluskehityksessä kohdataan. Myöskin jo olemassa olevia kehitystapoja pohditaan työn tavoitteen kannalta. Symbian-sovelluskehityksessä tehdään toistuvasti samoja asioita. Koska Symbian on avoin käyttöjärjestelmä, sovelluskehittäjiä on paljon. Tehokkaamman kehitystavan löytäminen säästäisi paljon resursseja. Tällä hetkellä perinteiset ohjelmointitavat näyttävät olevan suosituin tapa kehittää sovelluksia. Kuitenkin on jo olemassa useita ratkaisuja, jotka pyrkivät tehostamaan sovelluskehitystä, mikä todistaa tarpeen kehittää tehokkuutta. Työssä toteutettu systeemi ajaa Symbian sovelluksia XML-määrityksen pohjalta. Kun käytetään XML-määritystä C++-koodin sijasta, sovelluskehitys muuttuu. Näiden muutosten täytyy kuitenkin olla myönteisiä, eivätkä ne saa haitata ohjelmiston laatua tai käytettävyyttä.
Resumo:
Monet ohjelmistoyritykset ovat alkaneet kiinnittää yhä enemmän huomiota ohjelmistotuotteidensa laatuun. Tämä on johtanut siihen, että useimmat niistä ovat valinneet ohjelmistotestauksen välineeksi, jolla tätä laatua voidaan parantaa. Testausta ei pidä rajoittaa ainoastaan ohjelmistotuotteeseen itseensä, vaan sen tulisi kattaa koko ohjelmiston kehitysprosessi. Validaatiotestauksessa keskitytään varmistamaan, että lopputuote täyttää sille asetetut vaatimukset, kun taas verifikaatiotestausta käytetään ennaltaehkäisevänä testauksena, jolla pyritään poistamaan virheitä jo ennenkuin ne pääsevät lähdekoodiin asti. Työ, johon tämä diplomityö perustuu, tehtiin alkukevään ja kesän aikana vuonna 2003 Necsom Oy:n toimeksiannosta. Necsom on pieni suomalainen ohjelmistoyritys, jonka tutkimus- ja kehitysyksikkö toimii Lappeenrannassa.Tässä diplomityössä tutustutaan aluksi ohjelmistotestaukseen sekä eri tapoihin sen organisoimiseksi. Tämän lisäksi annetaan yleisiä ohjeita testisuunnitelmien ja testaustapausten tekoon, joita onnistunut ja tehokas testaus edellyttää. Kun tämä teoria on käyty läpi, esitetään esimerkkinä kuinka sisäinen ohjelmistotestaus toteutettiin Necsomilla. Lopuksi esitetään johtopäätökset, joihin päädyttiin käytännön testausprosessin seuraamisen jälkeen ja annetaan jatkotoimenpide-ehdotuksia.
Resumo:
Tässä luomistyössä on esitetty tutkimus informaation suojaamisen menetelmien osalta paikallisissa ja ryhmäkuntaisissa verkoissa. Tutkimukseen kuuluu nykyaikaisten kryptagraafisten järjestelmien, Internetin/Intranetin ohjelmointikeinojen ja pääsyoikeuksien jakelumenetelmien analyysi. Tutkimusten perusteella on laadittu ohjelmiston prototyyppi HTML-tiedostojen suojaamista varten. Ohjelmiston laatimisprosessi on sisältänyt vaatimusten, järjestelmän ja suojelukomponenttien suunnittelun ja protytyypin testauksen. Ohjelmiston realisoinnin jälkeen kirjoitettiin käyttöohjeet. Ohjelmiston prototyyppi suojaa informaatiota HTML-tiedoston koko käytön aikana ja eri yrityksissä voidaan käyttää sitä pienien laajennuksien jälkeen.
Resumo:
Taking the maximum advantage of technological innovations and the investment in them is of key importance for businesses. The IT industry offers a wide range of innovative high-technology solutions to manage information processing and distribution. However for end-user businesses to make informed decisions in this area is challenging. The aim of this research is to identify the key differences in principal solutions, and what the selection criteria should be for those involved. Existing methodologies for software development are classified, and some key criteria are described to help IT system developers and users determine what are the most important factors in system selection, development and deployment. Statistical data is researched and analysed, a theoretical basis is developed and reviewed, key issues from case studies are identified and generalized to be presented along with the conclusions in the current study. The results give a good basis for corporate consideration and provide overall support to the key decisions in developing web-based software. The conclusion is that new web developments should be considered the stakeholders as an evolution of existing business systems, but they should then pay particular attention to the new advantages that web-based software offers in terms of standardised interfaces and procedures, universal deployment opportunities, and a range of other benefits the study highlights.
Resumo:
Diplomityössä käsitellään Nokia Mobile Phonesin matkapuhelimien käyttöliittymäohjelmistojen suunnittelu-ja testausympäristön kehitystä. Ympäristöön lisättiin kaksi ohjelmistomodulia avustamaan simulointia ja versionhallintaa. Visualisointityökalulla matkapuhelimen toiminta voidaan jäljittää suunnittelu- kaavioihin tilasiirtyminä, kun taas vertailusovelluksella kaavioiden väliset erot nähdään graafisesti. Kehitetyt sovellukset parantavat käyttöliittymien suunnitteluprosessia tehostaen virheiden etsintää, optimointia ja versionhallintaa. Visualisointityökalun edut ovat merkittävät, koska käyttöliittymäsovellusten toiminta on havaittavissa suunnittelu- kaavioista reaaliaikaisen simuloinnin yhteydessä. Näin virheet ovat välittömästi paikannettavissa. Lisäksi työkalua voidaan hyödyntää kaavioita optimoitaessa, jolloin sovellusten kokoja muistintarve pienenee. Graafinen vertailutyökalu tuo edun rinnakkaiseen ohjelmistosuunnitteluun. Eri versioisten suunnittelukaavioiden erot ovat nähtävissä suoraan kaaviosta manuaalisen vertailun sijaan. Molemmat työkalut otettiin onnistuneesti käyttöön NMP:llä vuoden 2001 alussa.
Resumo:
Jatkuvasti lisääntyvä matkapuhelinten käyttäjien määrä, internetin kehittyminen yleiseksi tiedon ja viihteen lähteeksi on luonut tarpeen palvelulle liikkuvan työaseman liittämiseksi tietokoneverkkoihin. GPRS on uusi teknologia, joka tarjoaa olemassa olevia matka- puhelinverkkoja (esim. NMT ja GSM) nopeamman, tehokkaamman ja taloudellisemman liitynnän pakettidataverkkoihin, kuten internettiin ja intranetteihin. Tämän työn tavoitteena oli toteuttaa GPRS:n paketinohjausyksikön (Packet Control Unit, PCU) testauksessa tarvittavat viestintäajurit työasemaympristöön. Aidot matkapuhelinverkot ovat liian kalliita, eikä niistä saa tarvittavasti lokitulostuksia, jotta niitä voisi käyttää GPRS:n testauksessa ohjelmiston kehityksen alkuvaihessa. Tämän takia PCU-ohjelmiston testaus suoritetaan joustavammassa ja helpommin hallittavassa ympäristössä, joka ei aseta kovia reaaliaikavaatimuksia. Uusi toimintaympäristö ja yhteysmedia vaativat PCU:n ja muiden GPRS-verkon yksiköiden välisistä yhteyksistä huolehtivien ohjelman osien, viestintäajurien uuden toteutuksen. Tämän työn tuloksena syntyivät tarvittavien viestintäajurien työasemaversiot. Työssä tarkastellaan eri tiedonsiirtotapoja ja -protokollia testattavan ohjelmiston vaateiden, toteutetun ajurin ja testauksen kannalta. Työssä esitellään kunkin ajurin toteuttama rajapinta ja toteutuksen aste, eli mitkä toiminnot on toteutettu ja mitä on jätetty pois. Ajureiden rakenne ja toiminta selvitetään siltä osin, kuin se on oleellista ohjelman toiminnan kannalta.
Resumo:
Tämän tutkimuksen tavoitteena on selvittää, miten erityyppisissä organisaatioissa ohjelmistotestaus on organisoitu, sekä mitä ongelmia ja etuja testauksen toimenpieteissä on käytännössä havaittu. Tutkimuksessa kiinnitetään huomiota myös testausresurssien määrään ja asiakkaan toimintaan ohjelmistokehitysprojekteissa. Tässä tutkimuksessa keskityttiin selvittämään ketterien menetelmien vaikutusta ohjelmistotestauksen toteuttamiseen, sekä miten ketterät menetelmät vaikuttavat asiakkaiden toimintaan ohjelmistokehitysprojekteissa. Tutkimus toteutettiin laadullisena tutkimuksena, jossa tutkimusmenetelmänä käytettiin aineistopohjaista menetelmää. Tutkimusaineisto on kerätty haastattelemalla 12 organisaatioyksikön edustajia. Tutkimuksessa havaittiin, että ketterien menetelmien käytöllä voidaan järjestää lisää aikaa ohjelmistotestauksen toteuttamiseen. Ketterissä menetelmissä testaus sidotaan kehitysprosessiin tiiviisti, jolloin testaustoimenpiteet tulee huomioida jo kehitystyön alkaessa. Tällainen lähtökohta tasaa testausresurssien tarvetta, koska testaustoimenpinteitä voidaan suorittaa projektin alusta lähtien. Ketterien menetelmien havaittiin vaikuttavan myös asiakkaan toimintaan. Ketteriä menetelmiä varten toimittajaorganisaation on lisättävä yhteistyön ja kommunikoinnin määrää asiakkaan kanssa. Lisäksi asiakkaalta vaaditaan jatkuvaa läsnäoloa sekä ymmärrystä ketterästä kehityksestä, jotta kehittäjät saavat jatkuvasti palautetta nopean ja joustavan kehityksen takaamiseksi.
Resumo:
Yritysohjelmistojen kehittäminen on monesti aikataulukriittistä ja tuottavuusvaatimukset ovat korkeita. Työssä kehitettiin tyypillisen web-käyttöliittymän omaavan J2EE-sovelluksen koontiin soveltuva koontimenetelmä, joka hyödyntää XP:n (Extreme Programming) sovelluskehityskäytäntöjä. Tärkeimpiä näistä on automatisoitu testaus, jonka päätyypit ovat automatisoitu yksikkö- ja integrointitestaus. Työn aikana asetettiin tavoitteet koontimenetelmälle sekä evaluointiin ja valittiin markkinoilla olevista työkaluista toimeksiantajan ympäristöön sopiva joukko. Koontimenetelmän toteutuksen tarkastelussa havaittiin, että XP:n käytännöt soveltuvat J2EE-sovelluskehitykseen ja tarpeelliset työkalut tähän ovat olemassa.
Resumo:
Kandidaatin työmme tarkoitus on tutkia voisiko ketteriä ohjelmistokehitysmenetelmiä soveltaa innovaatioprosessiin. Innovaatioprosessissa on hyvin samankaltaiset vaiheet kuin perinteisessä ohjelmistokehitysprosessissa eli vesiputousmallissa. Vesiputousmallin ongelmia on ratkaistu ketterien menetelmien keinoin, joten päätimme lähteä tutkimaan löytyisikö perinteisen ohjelmistokehitysprosessin ja innovaatioprosessin ongelmista yhteneviä piirteitä. Oletimme, että jos ongelmat yhtenevät tarpeeksi, voisi ketteristä menetelmistä löytyä keinoja innovaatioprosessin ongelmien ratkaisemiseen. Tavoitteena on löytää innovaatioprosessin parannuskohteita, joihin ketteristä menetelmistä löytyisi ratkaisu joko kokonaan tai osittain. Aluksi tarkastellaan innovaatioprosessin historiaa, kehitystä ja ongelmia. Innovaatioprosessin tutkimisen jälkeen käydään läpi järjestelmäkehitysprosessin historiaa, kehitystä ja ongelmia. Järjestelmäkehitysprosessin jälkeen käydään läpi merkittävimmät ketterät menetelmät, jotka ovat ratkaisseet perinteisen ohjelmistokehitysprosessin keskeisiä ongelmia. Työmme lopussa on innovaatioprosessin ja järjestelmäkehitysprosessin synteesi. Synteesissä tutkitaan ongelmien yhtenevyyttä ja ketterien menetelmien ratkaisuja ongelmiin. Synteesissä myös pohdimme, mitä ketterien menetelmien työkaluista voisi soveltaa innovaatioprosessin. Työn johtopäätös on, että ketteristä menetelmistä löytyy sovellettavia työtapoja innovaatioprosessiin. Työn laajuus estää soveltamisen mahdollisuuksien tarkemman tutkimisen ja yksittäisten ketterien työtapojen soveltaminen osaksi innovaatioprosessia olisikin hyvä jatkotutkimuksen aihe.
Resumo:
This Master’s thesis studies the possibilities that social media tools can bring to help knowledge management in software development companies. It will introduce the most popular tools of social media and their usage possibilities in companies, not forgetting the possible downsides. One relevant aspect in this study is to investigate the possibilities of social media to help converting existing tacit knowledge into explicit. The purpose of the work is to create a proposal of social media utilization for a mid-sized software company, which has not utilized social media tools before. To be able to create the proposal, employees of the company are interviewed and a survey is executed to analyze the current situation. In addition a pilot project for trying out new social media tools is executed. The final result of this thesis introduces a tailored solution for the target company to start utilizing social media in its documentation and knowledge sharing processes. This new solution consists of multiple individual suggestions that are categorized and prioritized based on the significance and benefit that they bring to the company.