68 resultados para software engineering practices
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:
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:
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:
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:
The aim of this bachelor’s thesis is to make a plan for the assessment of the adaptive reference model of software testing, which is based on the ISO/IEC 29119 testing standard. The assessment is not carried out in the scope of this thesis, but later in the related MASTO project. The ISO/IEC 29119 testing standard and the ISO/IEC 15504 process assessment standard are explained and a literary review is done about problems in software testing practices. Based on this background information a plan for the assessment is made. The assessment plan assesses the reference model from two perspectives. First the capability of the testing process described by the reference model is assessed and then the practical usefulness of the model is assessed.
Resumo:
Diplomityössä toteutettiin varastonhallintajärjestelmän hankinta prosessoimalla tietoa hallitusti varastonhallinnan kehittämiseksi. Kvalitatiivinen tapaustutkimus tehtiin tietojohtamisen näkökulmasta käyttäjälähtöisen C-CEI –menetelmän avulla haastattelemalla ja havainnoimalla tapausyritystä. Haastatteluja tehtiin 10 kertaa. Tutkimuksessa kartoitettiin ja kilpailutettiin kotimaiset järjestelmätoimittajat, joita löydettiin 15. Näistä toimittajista 6 vastasi vaatimuksia ja teki tarjouksen. Tutkimuksen lopuksi tehtiin järjestelmän hankintaehdotus. Tutkimuksen teoreettinen viitekehys koostui tietojohtamisesta, varastonhallinnasta ja ohjelmistotuotannosta. Tutkimuksessa pääkysymyksenä esitettiin miten tietojohtamisen avulla voidaan tukea varastonhallintajärjestelmän hankintaa. Tutkimuksessa havaittiin, että tietojärjestelmän hankinta varastonhallinnan osalta on moniulotteinen liiketoiminnan kehittämistehtävä. Tietojärjestelmähankinta tulisi siten nähdä liiketoimintaa eteenpäin vievänä mahdollisuutena. Lisäksi loppukäyttäjän vaatimusten kartoittamiseen tulisi sitoutua huolella ja suhtautua kriittisesti eri järjestelmävaihtoehtoihin. Vaatimusmäärittelyn asettaminen ja vaatimusten priorisoiminen ovat haasteellisia tehtäviä. Tiedon hallinnan aikana saatiin selville, että loppukäyttäjän vaatimusten mukainen tarjouspyyntö edesauttaa ensinnäkin tarjousten tekemistä mutta myös niiden prosessointia ja analysointia. Vain oikealla tiedolla ja sen yhteyksillä on merkitystä. Tutkimuksen perusteella tietojärjestelmän hankinta suositellaan tehtäväksi hallitsemalla tietoa systemaattisesti erityisesti sen alkuvaiheen aikana. Tietojohtaminen virtaviivaistaa hankkeen etenemistä ja aikataulutusta, vähentää loppukäyttäjän kustannuksia tehokkaalla kilpailutusmenettelyllä, edistää kilpailukykyä ja luo hyvän lähtökohdan koko tietojärjestelmän hankinnan läpiviemiselle ja yhteistyö-suhteen rakentumiselle kauppakumppaneiden välille.
Resumo:
Tämän tutkimuksen tavoitteena on selvittää opintojensa alussa olevien yliopisto-opiskelijoiden vaikeimpina pitämät käytännön ohjelmoinnin aihealueet sekä koostaa luentomoniste käytettäväksi seuraavalla alkavalla Käytännön ohjelmointi -kurssilla. Tutkimusmetodina käytettiin konstruktiivista tutkimusmetodia, jossa tavoitteen spesifioinnin jälkeen implementoitiin luentomoniste koostamalla määriteltyjen aihekokonaisuuksien lähdemateriaalia yhtenäiseksi, luettavaksi kokonaisuudeksi. Yliopistoissa ei yleisesti opeteta ohjelmistojen testausta ennen syventäviä ohjelmistotekniikan kursseja, mikä on kuitenkin puute työelämän kannalta. Tässä työssä esitetään perusteluja käytännönläheisten aihekokonaisuuksien painottamiselle ohjelmointikursseilla jo yliopisto-opintojen alkuvaiheessa. Työssä käsitellään Käytännön ohjelmointi -kurssin kurssipalautetta, missä havaittiin opiskelijoiden pitävän kurssin hankalimpina aihealueina linkitettyä listaa, osoittimia, dynaamista muistinhallintaa, tietorakenteita ja versionhallintaa. Työn avulla on pyritty kehittämään käytännön ohjelmoinnin yliopisto-opetusta Lappeenrannan teknillisessä yliopistossa luentomateriaalin avulla, jossa on muun muassa teoriaa, keskeisiä opiskelijoiden tarvitsemia komentoja, www-linkkejä sekä ohjelmoinnin tyyliopas.
Resumo:
Tässä työssä tutkitaan peliteollisuudesta tehtyä ohjelmistotekniikan tutkimusta. Työssä selvitetään kirjallisuuskatsauksen keinoin mitä on tutkittu aiemmin, ketkä ovat tutkineet ja missä on tutkittu. Löydetystä aineistosta poimitaan oleellisimmat julkaisut tarkempaan tarkasteluun. Johtopäätöksenä todetaan, että peliteollisuudesta tehty ohjelmistotekniikan tutkimus on tehdyn kirjallisuuskatsauksen perusteella pääosin mittaluokaltaan pientä ja määrältään vähäistä. Huomattavaa julkisuutta tutkijapiireissä saaneita peliteollisuutta ohjelmistotekniikan näkökulmasta tutkineita henkilöitä tai tutkimuslaitoksia ei noussut esille tutkimusta tehdessä.
Resumo:
Over the past decade, organizations worldwide have begun to widely adopt agile software development practices, which offer greater flexibility to frequently changing business requirements, better cost effectiveness due to minimization of waste, faster time-to-market, and closer collaboration between business and IT. At the same time, IT services are continuing to be increasingly outsourced to third parties providing the organizations with the ability to focus on their core capabilities as well as to take advantage of better demand scalability, access to specialized skills, and cost benefits. An output-based pricing model, where the customers pay directly for the functionality that was delivered rather than the effort spent, is quickly becoming a new trend in IT outsourcing allowing to transfer the risk away from the customer while at the same time offering much better incentives for the supplier to optimize processes and improve efficiency, and consequently producing a true win-win outcome. Despite the widespread adoption of both agile practices and output-based outsourcing, there is little formal research available on how the two can be effectively combined in practice. Moreover, little practical guidance exists on how companies can measure the performance of their agile projects, which are being delivered in an output-based outsourced environment. This research attempted to shed light on this issue by developing a practical project monitoring framework which may be readily applied by organizations to monitor the performance of agile projects in an output-based outsourcing context, thus taking advantage of the combined benefits of such an arrangement Modified from action research approach, this research was divided into two cycles, each consisting of the Identification, Analysis, Verification, and Conclusion phases. During Cycle 1, a list of six Key Performance Indicators (KPIs) was proposed and accepted by the professionals in the studied multinational organization, which formed the core of the proposed framework and answered the first research sub-question of what needs to be measured. In Cycle 2, a more in-depth analysis was provided for each of the suggested Key Performance Indicators including the techniques for capturing, calculating, and evaluating the information provided by each KPI. In the course of Cycle 2, the second research sub-question was answered, clarifying how the data for each KPI needed to be measured, interpreted, and acted upon. Consequently, after two incremental research cycles, the primary research question was answered describing the practical framework that may be used for monitoring the performance of agile IT projects delivered in an output-based outsourcing context. This framework was evaluated by the professionals within the context of the studied organization and received positive feedback across all four evaluation criteria set forth in this research, including the low overhead of data collection, high value of provided information, ease of understandability of the metric dashboard, and high generalizability of the proposed framework.
Resumo:
Sulautettujen järjestelmien tekemisessä käytettävät metodit ovat moninaiset. Tämä johtuu siitä, että sulautettuja järjestelmiä on tuhansia erilaisia, sekä laitteiston ja ohjelmiston rakentamisen eroavaisuuksista. Sovellukset vaihtelevat kännyköistä aina avaruusluotaimiin. Näihin projekteihin on sovellettu metodeita joita ei ole alun perin suunniteltu laitteiston ja ohjelmiston yhteissuunnitteluun ja toteuttamiseen. Ohjelmistotuotannon menetelmistä oikean valinta nimenomaan tietylle sulautetulle järjestelmälle on haasteellista. Viimeisimpinä ovat tulleet erilaiset ketterät menetelmät ja niitäkin on olemassa useita erilaisia. Ketteriä ja perinteisempiä ohjelmistotuotannon menetelmiä esitellään tässä kandidaatin työssä. Tässä työssä on tarkoituksena selvittää mitkä olisivat parhaiten soveltuvia sulautetun järjestelmän projektille.