haku: @supervisor Männistö, Tomi / yhteensä: 83
viite: 7 / 83
Tekijä:Lemmetti, Janne
Työn nimi:Evaluation of Variability Implementation Techniques - Case: Pandia Real Estate
Varioituvuuden toteutustekniikat - Case: Pandia Real Estate
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2011
Sivut:[6] + 65      Kieli:   eng
Koulu/Laitos/Osasto:Tietotekniikan laitos
Oppiaine:Tietojenkäsittelyoppi   (T-76)
Valvoja:Männistö, Tomi
Ohjaaja:Raatikainen, Mikko
Digitoitu julkaisu: https://aaltodoc.aalto.fi/handle/123456789/99516
OEVS:
Digitoitu arkistokappale on julkaistu Aaltodocissa
Sijainti:P1 Ark Aalto     | Arkisto
Avainsanat:software variability
implementation technique
software product lines
ohjelmiston varioituvuus
toteutustekniikat
ohjelmistotuoteperheet
Tiivistelmä (fin): Varioituvuudella tarkoitetaan ohjelmistoartifaktan kykyä muuntautua eri käyttötarkoituksiin eri konteksteissa.
Ohjelmistotuoteperheessä usean samankaltaisen ohjelmistojärjestelmän yhtäläisyydet ja eroavaisuudet erotellaan toisistaan ja erottelua hyödynnetään siten, että tuoteperheestä voidaan kustannustehokkaasti tuottaa uusia tuotevariantteja.
Varioituvuuden toteutustekniikat ovat konkreettisia tapoja toteuttaa varioituvuutta ohjelmistojärjestelmään ja tuottaa variantteja ohjelmistojärjestelmästä.

Tässä työssä case-ohjelmistona käytetty Pandia Oy:n Pandia Real Estate syntyi yksittäiselle asiakkaalle täysin räätälöitynä ohjelmistona, mutta on sittemmin kehittynyt yleiskäyttöisemmäksi useille yrityksille ohjelmistopalveluna myytäväksi tuotteeksi.
Tuotteen teknistä kehitystä yksittäissovelluksesta asiakaskohtaista varioituvuutta sisältäväksi tuotteeksi ei alun perin suunniteltu eikä toteutettu hyvin, mikä on johtanut useisiin kehnoihin varioituvuustoteutuksiin.
Huonot varioituvuustoteutukset ovat myöhemmin aiheuttaneet ongelmia mm. järjestelmän ylläpidon ja laadunvarmistuksen suhteen.

Tämän työn tavoite oli löytää PRE:hen hyvin sopivia varioituvuuden toteutustekniikoita.
Menetelmiä etsittiin kirjallisuuskatsauksella ja löydettyjä menetelmiä arvioitiin ottaen huomioon PRE:n tekniset rajoitteet ja Pandia Oy:n muita toiveita.
Arvioinnin perusteella paras tapa toteuttaa varioituvuus PRE:hen on parantaa ohjelmiston rakennetta eriyttämällä kaikille yhteiset osat varioituvista osista ja hyödyntää dependency injection -tekniikkaa asiakaskohtaisesti varioituvien osien konfiguroimiseen.
Tekniikkaa testattiin valitussa osassa PRE:ta ja tulosten perusteella valinta oli onnistunut.
Tiivistelmä (eng): Software variability is the ability of a software artefact to be customized for use in different contexts.
In software product lines, the commonality and variability of several similar software systems are separated and utilized in a way that allows for a cost efficient creation of product variants.
Software variability implementation techniques are the concrete, technical level techniques used for implementing variability into a software system.

The case software in this thesis is Pandia Oy's Pandia Real Estate (PRE), which has evolved from a custom product developed for a single customer into more general purpose software sold to a larger number of customers.
The technical evolution of PRE from a single non-variable system into a system with customer-specific variability was neither planned nor implemented well, leading to various ad-hoc variability implementations, which have caused problems with, e.g., maintenance and quality assurance.

This thesis aimed to find a suitable variability implementation technique or techniques for PRE.
The techniques were searched by means of literature review and then evaluated considering the technical restrictions and organizational wishes of Pandia Oy.
The evaluation suggests that the most suitable way of implementing variability in PRE is to improve the existing design so that the common and variable parts are better separated.
Such improvements then facilitate the use of dependency injection to configure the variable parts for each customer variant.
The solution was tested in a sample implementation, which was considered successful.
ED:2011-10-05
INSSI tietueen numero: 42858
+ lisää koriin
INSSI