58 resultados para 280302 Software Engineering
Resumo:
Oliopohjainen lähestymistapa on varsin uusi toimintaperiaate käytännön ohjelmistotuotantoprosesseissa. Oliopohjaisuus mahdollistaa nopean ja tehokkaan ohjelmistotuotannon sekä tuottaa uudelleenkäytettäviä luokkia. Tässä työssä tutkitaan oliopohjaisen mallinnuksen käyttömahdollisuuksia erään ohjelmistotuotteen kehityksessä ja keskitytään tuotteen määrittely- ja suunnitteluvaiheisiin. Tavoitteena on konkretisoida tarkastelun kohteena olevalle yritykselle oliopohjaisen mallinnuksen käyttötavat ja -mahdollisuudet osana yrityksen ohjelmistotuotantoprosessia. Työssä tarkastellaan yleisiä oliopohjaisen mallinnuksen toimintoja määrittely- ja suunnitteluvaiheissa. Erityisesti tarkastellaan yrityksen omaa ohjelmistotuotantoprosessia, TE Objectia, ja sen yhtymäkohtia yleisen oliopohjaisen mallinnuksen kanssa. Työssä kuvataan ohjelmistotuote, mallinnetaan ohjelmistotuotteen osa TE Objectia hyödyntäen ja pohditaan TE Objectin soveltuvuutta kyseisen tuotteen määrittelyyn ja suunnitteluun. Oliopohjaisen mallinnuksen todetaan sopivan hyvin tarkastellun tuotepohjaisen ohjelmiston kehitykseen. Tarkasteltavan tuotteen kehityksen pääpaino on uudelleenkäytettävyydellä, jota oliopohjainen mallintaminen erityisesti tukee. Kohdeyrityksen oman ohjelmistotuotantoprosessin, TE Objectin, todetaan vastaavan hyvin yleistä oliopohjaista mallinnusta määrittely- ja suunnitteluvaiheissa ja sitä suositellaan hyödynnettävän tarkastellun tuotteen määrittelyyn ja suunnitteluun soveltuvin osin. Työssä mallinnettiin kohdeyrityksen tuotteen osa esimerkinomaisesti, mikä konkretisoi TE Objectin käyttömahdollisuuksia osana yrityksen ohjelmistotuotantoprosessia.
Resumo:
Tutkimuksen tavoitteena oli selvittää ohjelmistotestauksen tarve ohjelmistoliiketoiminnan yrityksissä. Ensin tutkittiin ohjelmistotestauksen sekä markkinatutkimuksen teoriaa, kirjallisuuden ja lehtiartikkelien avulla. Markkinatutkimus toteutettiin kirjekyselynä. Erityistä huomiota kiinnitettiin testauksen ulkoistamiseen, yritysten haasteisiin sekä tarpeisiin liittyen ohjelmistokehitykseen ja –testaukseen. Ohjelmistotestauksen avulla saavutettava laatu on olennainen osa suomalaista ohjelmistoliiketoiminnan kilpailukykyä ja se on keino erottua edukseen muista ohjelmistotuotteista kilpailtaessa samoista asiakkaista kansainvälisillä markkinoilla. Markkinatutkimuksessa saatiin merkittäviä tuloksia ohjelmistotestausmarkkinoista, yritysten sisäisestä sekä ulkoisesta ohjelmistotestauksesta ja testaustyökalujen käytöstä. Tutkimuksissa selvisi, että yritysten suurimpana haasteena oli ohjelmistokehitys- ja testausprosessien kehittäminen. Tätä aihetta on Suomessa tutkinut Teknillinen korkeakoulusta SoberIT-yksikkö ja he ovat kehittäneet SEMS-ohjelmistotuotannon ohjausjärjestelmän pk-ohjelmistotuoteyrityksille. SoftaTest aikoo hyödyntää näitä tutkimustuloksia mm. perustamalla liiketoimintaan tähtäävän projektin vahvistamaan suomalaisten ohjelmistotuoteyritysten menestymistä markkinoilla.
Resumo:
Työn tavoitteena oli luoda selkeä kuvaus sanomalehden lehtitilausprosessin toiminnasta tilauksesta jakeluun sekä kartoittaa lehtitilausprosessiin liittyvät ongelmakohdat ja esittää alustavia parannus- ja kehittämisehdotuksia niiden ratkaisemiseksi. Kuvauksen rakenteen teoreettisen pohjan luo työn alussa esitetty strukturoitu analyysi eli SA-menetelmä (structured analysis), jota soveltaen varsinainen kuvaus pääosin henkilöhaastatteluista saatuihin tietoihin perustuen toteutettiin.Sanomalehden lehtitilausprosessi on hyvin laaja ja monivaiheinen prosessi. Työn yhtenä tarkoituksena olikin selventää henkilöstölle, mitä kyseisen prosessin sisällä oikein tapahtuu. Kuvausta tehtäessä havaittiin useita lehtitilausprosessiin liittyviä ongelma- ja kehittämiskohteita, joiden kuntoon saattamiseksi on työssä esitetty alustavia ratkaisuvaihtoehtoja. Diplomityön teettämisen perusteena oli halu kehittää lehtitilausprosessia tilauksesta jakeluun nykyprosessin laadun parantamiseksi.Toimenpide-ehdotuksena esitetään tutkimuksessa läpi käytyjen sekä sen pohjalta mahdollisesti ilmenevien uusien parannus- ja kehittämisehdotusten toteuttamista lähitulevaisuudessa. Näin kyetään takaamaan lehtitilausprosessin toimivuus sekä vastaamaan asiakkaiden kasvaviin tarpeisiin myös tulevaisuudessa.
Resumo:
Tämä diplomityö käsittelee vaatimusmäärittelyä. Erityinen keskittymisalue on vaatimusten jäljitettävyys. Vaatimusmäärittely on osa ohjelmistokehitysprosessia. Insinöörit tietävät, että ymmärtääkseen ongelmaa on sen lähtökohdat ymmärrettävä. Tästä huolimatta määrittelyvaihe epähuomioidaan helposti. Diplomityössä kartoitetaan ensin vaatimusmäärittelyä järjestelmäprojektin osana. Vaatimusmäärittelyn rakennetta tarkennetaan ja sen sisältöä tuodaan esille. Olemassaolevana projektina analysoidaan, kuinka Soneran Mobile Pay osaston suorittama vaatimusmäärittely on toteutunut Mobile Payment Platform projektin alkuvaiheessa. Lähinnä keskitytään näyttämään, kuinka vaatimukset on kirjattu ylös. Tämän jälkeen tarkastellaan jäljitettävyyden olemusta. Työssä kartoitetaan lukijalle, mitä jäljitettävyys tarkoittaa. Kartoituksen jälkeen käydään läpi jäljitettävyyttä tukevia toimenpiteitä Sonera Mobile Payn tuotekehitysprosessissa.
Resumo:
Organisaatio, prosessimalli ja menetelmät vaikuttavat toisiinsa sekä suorasti että prosessien ja tavoitteiden kautta epäsuorasti. Prosessimallit vaihtelevat eri organisaatioiden välillä, mutta työkalut ja menetelmät, erityisesti toteutusmenetelmät, saattavat vaihdella jopa eri projektien ja sovelluskehittäjien välillä. Toteutusmenetelmien yhtenäistämisellä tavoitellaan ohjelmistokehityksen tehokkuuden parantamista, ohjelmistojen laatutason nostamista ja työmotivaation kohottamista. Tämän diplomityön käytännön osuudessa selvitettiin ohjelmistokehitysorganisaation asenteita ja edellytyksiä toteutusmenetelmien yhtenäistämistä kohtaan. Diplomityön tuloksena laadittiin suositus siitä, kuinka parhaat käytännöt -dokumentti voidaan toteuttaa. Suosituksen mukaan kyseinen dokumentti tulisi jakaa kahdeksi dokumentiksi siten, että toinen dokumenteista kattaisi käytännöllisimmät toteutusmenetelmät, toinen sisältäisi suunnittelumenetelmät.
Resumo:
Vaatimusmäärittely on tärkeä osa ohjelmistotuotantoa. Vaatimusten jäljitettävyys on osa vaatimustenhallinta prosessia. Jäljitettävyystieto helpottaa vaatimusten hallintaa läpi koko tuotekehitys projektin. Hyvin usein vaatimusten jäljitettävyyttä ei kuitenkaan ole toteutettu ohjelmistokehitysprojekteissa. Työn tavoitteena oli selvittää vaatimusten jäljitettävyyden tärkeyttä ohjelmistotuotannossa sekä kuinka jäljitettävyys voitaisiin toteuttaa ohjelmistokehitysprojekteissa. Vaatimusten jäljitettävyyttä sekä eri tekniikoita sen toteuttamiseksi on tutkittu kirjallisuuden avulla. Yrityksen vaatimusten jäljitettävyyden nykytilaa on selvitetty tutkimalla olemassa olevaa prosessimallia sekä todellisia tuotekehitysprojekteja. Tuloksena esitettiin perusteluja, miksi jäljitettävyystieto pitäisi sisällyttää ohjelmistokehitysprojekteihin sekä menetelmiä, kuinka jäljitettävyystieto voidaan toteuttaa projekteissa kustannustehokkaasti. Työssä on esitetty strategiavaihtoehto ja menetelmät jäljitettävyyden toteuttamiseksi. Pienillä korjauksilla jäljitettävyys pystytään toteuttamaan kevyellä tasolla. Suurin parannusehdotus prosessimalliin on jäljitettävyysmatriisien luominen. Matriisien avulla pystytään projekteissa toteuttamaan jäljitettävyys sekä eteen- että taaksepäin. Vaatimustenhallintatyökalu helpottaisi jäljitettävyystiedon ylläpitoa.
Resumo:
Työn tarkoituksena oli tutkia tuotteen määrittelyyn liittyvää kirjallisuutta ja perehtyä tuotteen määrittelytyön nykytilaan kohdeyrityksessä. Näihin molempiin perustuen muodostetaan prosessimalli tuotteen määrittelytyölle kohdeyrityksessä. Työssä käsitellään prosessijohtamisen pääperiaatteet sekä tuotteen määrittelyä koskevaa kirjallisuutta ja tutkimuksia. Koska kysessä oleva tuote on suurelta osalta ohjelmistotuote, ohjelmistojen suunnittelua, erityisesti ohjelmistovaatimusten hallintaa ja ohjelmistojen määrittelyä, on myös tarkasteltu työssä. Tuotteen määrittelyn haasteita on käsitelty yksityiskohtaisemmin, esimerkiksi dokumentointia, prosessin kulkua, vaatimusten epävakaisuutta sekä muutoksia. Kohdeyritys ja sen ongelmakohdat esitellään ja luodaan prosessimalli. Tämä malli esittelee seuraavat prosessit: raakavaatimusten hallinta -prosessin, roadmapping -prosessin, esisuunnittelu- ja spesifikaatioprosessin ja julkaisun suunnittelu -prosessin. Kaikki nämä ovat vaiheita ennen varsinaisen tuotekehitysprojektin aloittamista. Työssä esitellään myös kolmetasoinen dokumentaatiomalli.
Resumo:
Diplomityön tavoitteena oli luoda suunnitelma elektronisen hankintatoimen aloittamiseksi, analysoimalla nykyisiä ostoprosesseja ja konsernin laajuista elektronista hankintajärjestelmää. Työ pohjautuu yritysten väliseen elektroniseen kauppaan, elektroniseen hankintatoimeen ja systeemisuunnitteluun liittyvään kirjallisuuteen. Työssä tehdyn suunnitelman tarkoituksena on auttaa Siemens Oy:tä siirtymään uuteen elektroniseen ostotoimintaan. Elektroniselle ostotoiminnalle suunniteltiin tavoitteet ja näitä vastaavat vaatimukset. Elektronisen hankintajärjestelmän analysointi perustuu kirjallisuudessa esitettyihin järjestelmän elinkaari-mallin vaiheisiin. Analysoinnin tarkoituksena oli saada selville järjestelmän soveltuvuus Siemens Oy: n liiketoimintaympäristöön, prosesseihin ja vaatimuksiin. Elektronisen hankintatoiminnan etuja ovat liiketoiminta prosessien johtamisen parantuminen, kustannusten väheneminen sekä taloudellisen suorituskyvyn lisääntyminen. Elektronisen hankintatoiminnan aloittaminen vaatii kuitenkin huolellista suunnittelua. Työssä tehdyt suunnitelmat ja analysoinnit auttavat arvioidessa järjestelmän sopivuutta Siemens Oy: n vaatimuksiin. Oikean ja toimivan järjestelmän valinta ei kuitenkaan takaa elektronisesta hankintatoiminnasta hyötymistä. Tärkeimpiä jatkotoimenpiteitä onkin suorittaa kustannus/hyöty analyysi ja arvioida toimittajien halukkuutta ja kykyjä osallistua markkinapaikkaan.
Resumo:
Tämän diplomityön tarkoituksena oli esittää menetelmä erääseen ohjelmistoon toteutettavista muutoksista aiheutuvien riskien hallintaan. Ohjelmistoa käyttää päivittäin useita satoja henkilöitä ja sen ongelmaton toiminta on ohjelmiston omistavalle asiakkaalle erittäin tärkeää. Ohjelmiston ja sen kehitystyön kannalta riski on asianomistajan tavoitteita uhkaava menetyksen mahdollisuus tai menetykseen liittyvä ominaisuus, tekijä tai toiminta. Tämän työn yhteydessä asianomistaja on yritys, joka on toteuttanut nykyisen ohjelmiston ja on vastuussa ohjelmiston jatkokehityksestä. Yrityksen riskienhallintatarpeita vastaava ratkaisu pyritään löytämään perehtymällä riskienhallinnan perusteisiin sekä kahteen erityisesti ohjelmistotuotantoon tarkoitettuun riskienhallintamenetelmään. Riskienhallinnan kehittämisen kannalta on tärkeää, että ohjelmistotuotannon tyypilliset virheet onnistutaan pääsääntöisesti välttämään. Riskienhallinnan yleisempien virheiden tiedostamisesta on suurta hyötyä omaa riskienhallintaa kehitettäessä. Ohjelmiston kehitysorganisaation systemaattinen tapa toteuttaa ohjelmistomuutoksia perustuu ohjelmistotuotantoon tarkoitetun tuotteenhallintaohjelman käyttöön. Tuotteenhallintaohjelmassa muutospyyntö on ohjelmiston kehitystyön perusyksikkö, johon riskienhallintatoimet on pyrittävä kohdistamaan. Yrityksen tarpeita vastaava riskienhallintamalli rakennetaan lisäämällä Riskit-menetelmän mukainen riskienhallintaprosessi osaksi muutospyynnön systemaattista käsittelyprosessia. Työn tuloksena aikaansaadun mallin mukaista riskienhallintaa voidaan käytännössä harjoittaa usealla eri tavalla. Arvioiden perusteella kaavionluonti- ja tekstinkäsittelyohjelma ovat riittävät työkalut riskienhallinnan käytännön toteutusta varten. Kokemukset uudesta riskienhallintamenetelmästä osoittivat sen käyttökelpoiseksi. Menetelmän käyttöönoton sujuvuuden varmistamiseksi, riskienhallintatoimet kannattaa kuitenkin aluksi kohdistaa yksittäistä muutospyyntöä suurempaan kokonaisuuteen.
Resumo:
This thesis studies the problems and their reasons a software architect faces in his work. The purpose of the study is to search and identify potential factors causing problens in system integration and software engineering. Under a special interest are non-technical factors causing different kinds of problems. Thesis was executed by interviewing professionals that took part in e-commerce project in some corporation. Interviewed professionals consisted of architects from technical implementation projects, corporation's architect team leader, different kind of project managers and CRM manager. A specific theme list was used as an guidance of the interviews. Recorded interviews were transcribed and then classified using ATLAS.ti software. Basics of e-commerce, software engineering and system integration is described too. Differences between e-commerce and e-business as well as traditional business are represented as are basic types of e-commerce. Software's life span, general problems of software engineering and software design are covered concerning software engineering. In addition, general problems of the system integration and the special requirements set by e-commerce are described in the thesis. In the ending there is a part where the problems founded in study are described and some areas of software engineering where some development could be done so that same kind of problems could be avoided in the future.
Resumo:
Reusability has become more popular factor in modern software engineering. This is mainly because object-orientation has brought methods that allow reusing more easily. Today more and more application developer thinks how they can reuse already existing applications in their work. If the developer wants to use existing components outside the current project, he can use design patterns, class libraries or frameworks. These provide solution for specific or general problems that has been already encountered. Application frameworks are collection of classes that provides base for the developer. Application frameworks are mostly implementation phase tools, but can also be used in application design. The main purpose of the frameworks is separate domain specific functionalities from the application specific. Usually the frameworks are divided into two categories: black and white box. Difference between those categories is the way the reuse is done. The application frameworks provide properties that can be examined and compared between different frameworks. These properties are: extensibility, reusability, modularity and scalability. These examine how framework will handle different platforms, changes in framework, increasing demand for resources, etc. Generally application frameworks do have these properties in good level. When comparing general purpose framework and more specific purpose framework, the main difference can be located in reusability of frameworks. It is mainly because the framework designed to specific domain can have constraints from external systems and resources. With general purpose framework these are set by the application developed based on the framework.
Resumo:
Tässä työssä selvitettiin hyviä tapoja ja vakiintuneita käytäntöjä pitkän käyttöiän web-sovelluksen tekemiseksi. Saatiin selville, että sovelluksen elinkaaren aikana suurin osa kustannuksista tulee ylläpidosta. Tavoitteena oli tehdä pitkään käytettävä sovellus, joten ylläpidon kustannusten osuudesta tuli saada mandollisimman pieni. Ohjelmistotuotantoprosessissa mandollisimman aikaisessa vaiheessa havaitut virheet vähentävät korjauskustannuksia oleellisesti verrattuna siihen, että virheet havaittaisiin valmiissa tuotteessa. Siksi tässä työssä tehdyssä web-sovelluksessa panostettiin prosessin alkuvaiheisiin, määrittelyyn ja suunnitteluun. Web-sovelluksen ylläpidettävyyteen ja selkeyteen vaikuttavat oleellisesti hyvät ohjelmistokehitystavat. Käyttämällä valmista sovelluskehystä ja lisäämällä toiminnallisuuksia valmiiden ohjelmistokomponenttien avulla saadaan aikaiseksi hyvien tapojen mukaisesti tehty sovellus. Tässä työssä toteutettu web-sovellus laadittiin käyttämällä sovelluskehystä ja komponenttiarkkitehtuuria. Toteutuksesta saatiin selkeä. Sovellus jaettiin loogisiin kokonaisuuksiin, jotka käsittelevät näkymiä, tietokantaa ja tietojen yhdistämistä näiden välillä. Jokainen kokonaisuus on itsenäisesti toimiva, mikä auttaa sovelluksen ylläpitämisessä ja testaamisessa.
Resumo:
Ketterät menetelmät ovat yleistymässä ohjelmistotuotannossa. Yleistyminen aiheuttaa paineita ohjelmistotestaukselle, koska ketteryyttä vaaditaan myös testaukselta. Ketterät menetelmät jakavat samat perusarvot ja periaatteet, mutta lähestymistavat niiden täyttämiseksi poikkeavat toisistaan. Tässä työssä tutkitaan tarkemmin Scrum-menetelmän vaikutuksia ohjelmistotestaukseen ja laadunhallintaan. Scrum-menetelmää verrataan myös eXtreme Programming-menetelmään.
Resumo:
Työn tavoitteena oli toteuttaa tietojärjestelmä maito- ja maitotuotetilastoinnin tarpeisiin. Tietojärjestelmän tulee tukea lähes koko tilastotuotantoprosessia tallentamisesta raportointiin. Tietojärjestelmän tarpeet tulivat vaatimusmäärittelystä ja ne piti yhdistää tietohallinnon linjauksiin. Tietojärjestelmä tehdä kustannustehokkaasti tietyssä aikataulussa. Lisäksi tuli luoda käytäntöjä tuleville tilastotietojärjestelmille. Työn teoriaosan aluksi käsitellään tilastotutkimuksen perusteita ja tilastoviranomaisvaatimuksia. Tästä edetään käytännön tilastotuotantoprosessiin ja sen järjestelmävaatimuksiin. Teoriaosan loppupuoliskossa käydään läpi ohjelmistotuotantoprosessi ja tietojärjestelmän suunnittelun peruskäsitteitä. Käytännön osassa puretaan vaatimukset ja ongelma-alue. Sitten analysoidaan eri ratkaisuvaihtoehtoja. Niistä päädytään toteutusratkaisuun, jonka tuloksia tarkastellaan projektin lopputulosten ja kahden vuoden käyttökokemusten perusteella. Tietojärjestelmä toteutettiin onnistuneesti ja se mahdollistaa taloudellisen sekä laadukkaan maito- ja maitotuotetilastoinnin Suomessa.
Resumo:
Web application performance testing is an emerging and important field of software engineering. As web applications become more commonplace and complex, the need for performance testing will only increase. This paper discusses common concepts, practices and tools that lie at the heart of web application performance testing. A pragmatic, hands-on approach is assumed where applicable; real-life examples of test tooling, execution and analysis are presented right next to the underpinning theory. At the client-side, web application performance is primarily driven by the amount of data transmitted over the wire. At the server-side, selection of programming language and platform, implementation complexity and configuration are the primary contributors to web application performance. Web application performance testing is an activity that requires delicate coordination between project stakeholders, developers, system administrators and testers in order to produce reliable and useful results. Proper test definition, execution, reporting and repeatable test results are of utmost importance. Open-source performance analysis tools such as Apache JMeter, Firebug and YSlow can be used to realise effective web application performance tests. A sample case study using these tools is presented in this paper. The sample application was found to perform poorly even under the moderate load incurred by the sample tests.