Learning Centre

Goal driven design method for software product lines

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.author Kuusela, Juha
dc.date.accessioned 2016-03-22T10:01:14Z
dc.date.available 2016-03-22T10:01:14Z
dc.date.issued 2013
dc.identifier.isbn 978-952-60-5471-1 (electronic)
dc.identifier.isbn 978-952-60-5470-4 (printed)
dc.identifier.issn 1799-4934 (printed)
dc.identifier.issn 1799-4934 (ISSN-L)
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/19848
dc.description Julkaistu vain painettuna, saatavuus katso Bibid. Published only in printed form, availability see Bibid
dc.description.abstract Many large corporations organize their products in product lines. These products differ in price, capacity and functionality but they also have remarkable similarities. They often share quality, user interface, brand image, service organization and many external interfaces. If these products are controlled by software then software product line techniques can be used in software development to systematically benefit from these differences and similarities. Products can share the same software design. Product line software is difficult to design. Requirements for the future products can change, computing hardware and interfaces will evolve and new business opportunities may emerge outside the initial design scope. Large upfront investment into market analysis and flexible software design will decrease but not remove the risk of a poor design. Reuse benefits will more than compensate the extra investment but only if the design is successful. This research proposes a new development approach for software product lines called Goal driven design (GDD). In GDD requirements and design decisions are developed in parallel. This emphasizes the need to explore the design space by developing different alternatives both for requirements and design decisions. Alternative ways to approach a desirable result are compared, and the best is selected. Different products can be based on different alternatives. GDD uses an iterative process. The inner cycle in that iterative process is explorative. Alternative ways to approach product goals and alternative designs decisions are freely explored. The contributions that alternative design decisions have to product goals are noted, but the level of criticism is low. Outer cycle is constructive. Architecture and designs are created based on the ideas from the explorative phase. At times, it is necessary to develop alternative designs. These are carefully evaluated, and the most promising designs are selected as the basis for future work. This guides the developer to address requirements in order, consider variance early, and explore design space widely. This research shows that using this approach it would be possible to explicitly represent and order design decisions that are needed to build a software product line. It also shows with an example that this can be done while defining the first products supported by the new software product line. Description of an experience in applying GDD in a real mid scale project shows how this approach blends with agile development. Scaling is addressed by showing that similar models scale when applied for a large product line. Software development is changed by the practitioners. A study was conducted to find out that a group of software architects that have product line experience from different organizations consider this approach interesting. en
dc.description.abstract Monet isot yritykset ryhmittelevät tuotteensa tuoteperheisiin. Saman perheen tuotteet ovat eri hintaisia ja niillä on eri kapasiteetti. Vaikka toiminnallisuuskin yleensä vaihtelee jonkin verran, on näillä tuotteilla myös paljon yhteisiä ominaisuuksia. Tuotteet tukevat valmistajan tuotemerkkiä ja laatukuvaa, niillä on samanlainen käyttöliittymä, ja useat ulkoiset liittymät ovat samoja. Tuotteiden ohjelmistosuunnitelussa voidaan tuotelinjatekniikoita käyttäen systemaattisesti hyödyntää noita eroja ja samankaltaisuuksia. Tuotelinjaohjelmistoa on vaikea suunnitella. Tulevaisuuden tuotteiden ominaisuuksia voi vain arvioida. Kontrolloitavat laitteet, prosessorit ja erilaiset ulkoiset rajapinnat tulevat kehittymään merkittävästi. Myös uusia liiketoimintamahdollisuuksia voi löytyä alkuperäisen suunnittelukehyksen ulkopuolelta. Tässä tutkimuksessa esitetään uusi lähestymistapa (GDD) tuotelinjaohjelmistojen suunnitelemiseen. Tamä lähestymistapa pohjaa siihen , että ohjelmiston ominaisuuksia ja sen rakennetta jäsennetään ja kehitetään rinnakkain. Paino on suunnitteluavaruuden kartoittamisella niin, että vaihtoehtoja etsitään sekä tavalle määrittää eri ominaisuuksia että toteutusrakenteille. Vaihtoehtoisia ratkaisuja verrataan keskenään ja paras kompromissi valitaan. Tarvittaessa tuoteperheen eri tuotteet voivat käyttää vaihtoehtoisia ratkaisuja. Tässä lähestymistavassa tuotelinjaohjelmistoa kehitetään pala kerrallaan toistamalla kahta eri prosessia. Tutkimuksellisessa prosessissa etsitään eri vaihtoehtoja saavuttaa tuotteille asetettuja tavoitteita ja kritiikin taso on matala. Näin luodaan paljon vaihtoehtoisia suunnitelupäätöksiä. Tuotekehitys etenee konstruktiivisessa prosessissa. Ohjelmiston arkkitehtuuria viedään eteenpäin valitsemalla parhaat ideat tutkimuksellisesta vaiheesta. Toisinaan valintoja ei voi luotettavasti tehdä yksittäisten suunnitelupäätösten välillä. Tällöin on tarpeen kehittää pidemmälle useampaa eri vaihtoehtoa niin, että niiden ominaisuudet voidaan paremmin arvioida. Lähestymistapa ohjaa suunnitelijaa pohtimaan vaatimusten järjestystä ja varianssia aikaisin. Myös suunniteluavaruutta on tarkasteltava laajasti. Tutkimus osoittaa esimerkin avulla, että näin menetellen olisi mahdollista esittää ja järjestää vaadittavia suunnitelupäätöksiä samalla kun tuoteperheen ensimmäisiä tuotteita suunnitellaan. Keskikokoisessa projektissa tämä lähestymistapa toimi yhdessä ketterän kehityksen kanssa. Skaalautuvuutta arvioidaan näyttämällä miten saman kaltaiset mallit käytännössä skaalautuvat ison tuoteperheen kuvaamiseen. Kyselytutkimuksessa joukko tuoteperheohjelmistoarkkitehtejä piti lähestymistapaa mielenkiintoisena. fi
dc.format.extent 192
dc.language.iso en en
dc.publisher Aalto University en
dc.publisher Aalto-yliopisto fi
dc.relation.ispartofseries Aalto University publication series DOCTORAL DISSERTATIONS en
dc.relation.ispartofseries 203/2013
dc.subject.other Computer science en
dc.title Goal driven design method for software product lines en
dc.type G4 Monografiaväitöskirja fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.contributor.school School of Science en
dc.contributor.department Tietotekniikan laitos fi
dc.contributor.department Department of Computer Science and Engineering en
dc.subject.keyword software product line en
dc.subject.keyword software design en
dc.subject.keyword design decisions en
dc.subject.keyword requirements en
dc.subject.keyword variability en
dc.subject.keyword tuotelinjat fi
dc.subject.keyword ohjelmistosuunnittelu fi
dc.subject.keyword suunnittelupäätökset fi
dc.subject.keyword vaatimukset fi
dc.subject.keyword varioituvuus fi
dc.identifier.urn URN:ISBN:978-952-60-5471-1
dc.type.dcmitype text en
dc.type.ontasot Doctoral dissertation (monograph) en
dc.type.ontasot Väitöskirja (monografia) fi
dc.contributor.supervisor Saikkonen, Heikki, Prof., Aalto University, Department of Computer Science and Engineering, Finland
dc.opn Tyrväinen, Pasi, Prof., University of Jyväskylä, Finland
dc.rev Koskimies, Kai, Prof., Tampere University of Technology, Finland
dc.rev Kruchten, Philippe, Prof., The University of British Columbia, Canada
dc.date.defence 2013-12-18
dc.identifier.bibid 653078
local.aalto.digifolder Aalto_66716
local.aalto.digiauth ask


Files in this item

Files Size Format View

There are no open access files associated with this item.

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

Statistics