210 likes | 341 Views
Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle. Henri Elemo henri.elemo@nsn.com. Valvoja: Timo O. Korhonen Ohjaaja: Jarkko Jussila. Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle. Diplomityö suoritettiin Nokia Siemens Networks:llä (NSN)
E N D
Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle Henri Elemo henri.elemo@nsn.com Valvoja: Timo O. Korhonen Ohjaaja: Jarkko Jussila Presentation / Henri Elemo / 20.05.2008
Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle • Diplomityö suoritettiin Nokia Siemens Networks:llä (NSN) • Global SCM Service -yksikössä Presentation / Henri Elemo / 20.05.2008
Sisällys • Tutkimuksen taustat • SCM (Software Configuration Management) • Tutkimusmenetelmät ja -konteksti • Tutkimuksessa saadut tulokset • Loppupäätelmät Presentation / Henri Elemo / 20.05.2008
Tutkimuksen taustat • Yleisesti jokaiseen ohjelmistokehitysprojektiin joudutaan valitsemaan SCM käyttömalli uniikilla tutkimuksella • Tarkkaa • Vaatii aikaa ja resursseja • Tarve on helpottaa tätä prosessia kehittämällä tapoja, joiden avulla SCM käyttömallin valitseminen on sekä nopeampaa että kannattavampaa Presentation / Henri Elemo / 20.05.2008
SCMSCM yleisesti SCM (Ohjelmistokonfiguraation hallinta) • Palvelu, jonka tarkoitus on hallita ohjelmistotuotteen evoluutiota • Sen tehtävä on tarjota rajapinta ohjelmistokehitykselle, jolla pystytään hallitsemaan ohjelmistotuotteessa tapahtuvia muutoksia Presentation / Henri Elemo / 20.05.2008
SCM SCM NSN:n sisällä • SCM -palvelu nähdään kokonaisuutena, jonka tavoitteena on tarjota rajapinta implementoinnin ja ohjelmistotestauksen (I&V) välille SCM Disciplines I&V SW Developers SW Components Building process Promote SW Builds Presentation / Henri Elemo / 20.05.2008
SCMSCM NSN:n sisällä • SCM-palvelu koostuu kuudesta eri asiakokonaisuudesta: • Ohjelmistopaketointi • SCM kehitystyö • SCM neuvonta • SCM infrastruktuurin ylläpitäminen • SCM projektin johtaminen • Yhteistyökumppaneiden ohjaaminen Presentation / Henri Elemo / 20.05.2008
SCMSCM käyttömallit • Toteutusmalli SCM prosessille • Sama usealle SCM prosessille jotka käyttävät samaa versionhallintatyökalua ja samankaltaisia prosesseja • Jokaisella ohjelmistotuotteella ja –projektilla on omia vaatimuksia ja ominaisuuksia, joita käyttömalli ei huomioi • Edut: • Kustannustehokkuus • Osaamisen kasvattaminen • Uusien projektien pystyttäminen • Ohjelmistokoodin yhteiskäyttö Presentation / Henri Elemo / 20.05.2008
Tutkimusmenetelmät ja -konteksti • Ohjelmistokehityksen vaatimukset SCM:lle • Kirjallisuudesta • NSN:n sisällä SCM ammattilaisten kanssa käytyjen keskustelujen perusteella • Versionhallintajärjestelmät & löydetyt vaatimukset • Kysymyslista • Yleisesti käytetyt versionhallintajärjestelmät tutkimuksen kohteeksi • Versionhallintajärjestelmiä tutkittiin ohjelmistokehitysprosessien sisällä • Kysymyslistat ohjelmistokehitysympäristön vaatimusten tutkimiselle Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetVaatimukset Asiat jotka vaikuttavat SCM:ään • SCM mallin olemassa olo • Ohjelmistotuoteen ja –projektin koko • Ohjelmistopaketoinnin keskeiset asiat • Ohjelmointikielet • Hajautettu kehitys ja tietokantareplikointi • Käyttöjärjestelmät ja työtilat versionhallintajärjestelmissä • Tarvittavat ja vaaditut resurssit • Yhteistyöyritykset • Osaaminen • Ohjelmiston elinkaari • Vastuut ja niiden jako • Kolmannen osapuolen ohjelmistot • Vapaan lähdekoodin käyttö • Konfiguroinnin tunnistamisen periaatteet • Tehokkuus • Luotettavuus • Auditointi ja informaation jakaminen • Muut asiat Presentation / Henri Elemo / 20.05.2008
Tutkimusmenetelmät ja –kontekstiVersionhallintajärjestelmät IBM Rational Clearcase CVS Subversion Serena Dimensions NSN Käyttömalli 1 Vain tuotekohtaisia omainaisuuksia tutkittiin NSN Käyttömalli 2 NSN Käyttömalli 3 Perustuu Clearcasen päälle toteutettuihin aktiviteettiscripteihin Yksinkertainen malli, mikä määrittelee SCM ja ohjelmistopaketointi periaatteet Linux järjestelmissä. Pyrkii tarjoamaan rajapinnan jota vasten kehittäjät voivat käyttää omia käyttömallejaan. Ei paljoa automatisoi-tuja toimintoja. IBM Rational UCM SCM työkalu ja käyttömalli, mikä tarjoaa ominaisuuksia Clearcasen päälle Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetVersionhallintajärjestelmät • CVS • Edut • Yksinkertainen • Open Source • Asennettavissa moniin käyttöjärjestelmin • Rajoitteet • Huono tulevaisuuden tuki Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetVersionhallintajärjestelmät • Subversion • Edut • Yksinkertainen • Open Source • Asennettavissa moniin käyttöjärjestelmin • Erittäin hyvät tulevaisuudennäkymät • Hyvä tuki CI (Continuous Integration) -kehitykselle • Erillisiä integroituvia sovelluksia (monipuolisuus) • Rajoitteet • Erillisiä integroituvia sovelluksia (vaatii implementointia) Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetVersionhallintajärjestelmät • IBM Rational Clearcase • Edut • Tarjoaa monipuoliset versionhallintaominaisuudet • Tuki IBM:ltä • Rajoitteet • Vaatii paljon kompetenssia • Vaatii paljon ylläpitoa • Lisenssimaksu Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetVersionhallintajärjestelmät • IBM Rational UCM • Edut • Erittäin monipuolinen • Tarjoaa valmiin SCM käyttömallin tuotekehitysprojektille • Tuki IBM:ltä • Hyvä käyttöliittymä • Rajoitteet • Vaatii paljon kompetenssia • Vaatii paljon ylläpitoa • Lisenssimaksu Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetVersionhallintajärjestelmät • Serena Dimensions • Edut • Erittäin monipuolinen • Tarjoaa valmiin käyttömallin koko tuotekehitysprojektille • Hyvä käyttöliittymä • Rajoitteet • Erittäin monimutkainen käyttöliittymä • Vaatii paljon kompetenssia • Vaatii paljon ylläpitoa • Lisenssimaksu Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetKysymyslista suunniteltaessa SCM prosessia uuteen tuotteeseen Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tuloksetKysymyslista suunniteltaessa SCM prosessia jo olemassa olevaan tuotteeseen Presentation / Henri Elemo / 20.05.2008
Loppupäätelmät • CVS • Subversion on korvannut CVS:n Subversion • Erittäin kustannustehokas kun valmis käyttömalli on saatavilla • Paras CI:tä varten • Open Source Clearcase • Monipuolinen • UCM pitää sisällään suuremman valikoiman yhteensopivia ominaisuuksia • Kaupallinen Presentation / Henri Elemo / 20.05.2008
Loppupäätelmät • UCM • Valmis ja pitkälle suunniteltu käyttömalli SCM:lle • Kaupallinen Dimensions • Valmiiksi suunniteltu käyttömalli tuotekehitykselle • Monimutkainen käyttää ja ylläpitää • Kaupallinen Presentation / Henri Elemo / 20.05.2008
Kysymyksiä Presentation / Henri Elemo / 20.05.2008