Upload
topper
View
30
Download
0
Embed Size (px)
DESCRIPTION
Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle. Henri Elemo [email protected]. Valvoja: Timo O. Korhonen Ohjaaja: Jarkko Jussila. Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle. Diplomityö suoritettiin Nokia Siemens Networks:llä (NSN) - PowerPoint PPT Presentation
Citation preview
Soc Classification level Presentation / Henri Elemo / 20.05.2008 1 © Nokia Siemens Networks
Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle
Valvoja: Timo O. Korhonen
Ohjaaja: Jarkko Jussila
Henri Elemo
Soc Classification level Presentation / Henri Elemo / 20.05.2008 2 © Nokia Siemens Networks
Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle
• Diplomityö suoritettiin Nokia Siemens Networks:llä (NSN)
• Global SCM Service -yksikössä
Soc Classification level Presentation / Henri Elemo / 20.05.2008 3 © Nokia Siemens Networks
Sisällys
• Tutkimuksen taustat
• SCM (Software Configuration Management)
• Tutkimusmenetelmät ja -konteksti
• Tutkimuksessa saadut tulokset
• Loppupäätelmät
Soc Classification level Presentation / Henri Elemo / 20.05.2008 4 © Nokia Siemens Networks
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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 5 © Nokia Siemens Networks
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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 6 © Nokia Siemens Networks
SCM SCM NSN:n sisällä
SCM -palvelu nähdään kokonaisuutena, jonka tavoitteena on tarjota rajapinta implementoinnin ja ohjelmistotestauksen (I&V) välille
DisciplinesSW Developers
Building process
SW Components
Promote SW Builds
I&V
SCM
Soc Classification level Presentation / Henri Elemo / 20.05.2008 7 © Nokia Siemens Networks
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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 8 © Nokia Siemens Networks
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ö
Soc Classification level Presentation / Henri Elemo / 20.05.2008 9 © Nokia Siemens Networks
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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 10 © Nokia Siemens Networks
Tutkimuksessa saadut tuloksetVaatimukset
Asiat jotka vaikuttavat SCM:ään1. SCM mallin olemassa olo2. Ohjelmistotuoteen ja –projektin koko3. Ohjelmistopaketoinnin keskeiset asiat4. Ohjelmointikielet5. Hajautettu kehitys ja tietokantareplikointi6. Käyttöjärjestelmät ja työtilat versionhallintajärjestelmissä7. Tarvittavat ja vaaditut resurssit8. Yhteistyöyritykset9. Osaaminen10.Ohjelmiston elinkaari11.Vastuut ja niiden jako12.Kolmannen osapuolen ohjelmistot13.Vapaan lähdekoodin käyttö14.Konfiguroinnin tunnistamisen periaatteet15.Tehokkuus16.Luotettavuus17.Auditointi ja informaation jakaminen18.Muut asiat
Soc Classification level Presentation / Henri Elemo / 20.05.2008 11 © Nokia Siemens Networks
Tutkimusmenetelmät ja –kontekstiVersionhallintajärjestelmät
IBM Rational
Clearcase
CVS Subversion Serena
Dimensions
NSN Käyttömalli
1
Perustuu Clearcasen päälle
toteutettuihin aktiviteettiscripteihin
IBM Rational
UCMSCM työkalu ja
käyttömalli, mikä tarjoaa
ominaisuuksia Clearcasen päälle
Vain tuotekohtaisia omainaisuuksia
tutkittiin
NSN Käyttömalli
2
Yksinkertainen malli, mikä
määrittelee SCM ja ohjelmistopaketointi
periaatteet Linux järjestelmissä.
NSN Käyttömalli
3
Pyrkii tarjoamaan rajapinnan jota
vasten kehittäjät voivat käyttää omia käyttömallejaan. Ei paljoa automatisoi-
tuja toimintoja.
Soc Classification level Presentation / Henri Elemo / 20.05.2008 12 © Nokia Siemens Networks
Tutkimuksessa saadut tulokset Versionhallintajärjestelmät
CVS
Edut
• Yksinkertainen
• Open Source
• Asennettavissa moniin käyttöjärjestelmin
Rajoitteet
• Huono tulevaisuuden tuki
Soc Classification level Presentation / Henri Elemo / 20.05.2008 13 © Nokia Siemens Networks
Tutkimuksessa saadut tulokset Versionhallintajä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)
Soc Classification level Presentation / Henri Elemo / 20.05.2008 14 © Nokia Siemens Networks
Tutkimuksessa saadut tulokset Versionhallintajärjestelmät
IBM Rational Clearcase
Edut
• Tarjoaa monipuoliset versionhallintaominaisuudet
• Tuki IBM:ltä
Rajoitteet
• Vaatii paljon kompetenssia
• Vaatii paljon ylläpitoa
• Lisenssimaksu
Soc Classification level Presentation / Henri Elemo / 20.05.2008 15 © Nokia Siemens Networks
Tutkimuksessa saadut tulokset Versionhallintajä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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 16 © Nokia Siemens Networks
Tutkimuksessa saadut tulokset Versionhallintajä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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 17 © Nokia Siemens Networks
Tutkimuksessa saadut tuloksetKysymyslista suunniteltaessa SCM prosessia uuteen tuotteeseen
Question for project organization
1 Starting base Are there plans to import existing code from some program?
2 Software basics Technical data of the product: What kind of product it is? (Application/platform, component based, SCM architecture hierarchy, multiple customer versions,..)
3 Quantitative information How big the software project is? (How many and how big software components if any components exists yet, how many developers inside and outside NSN)
4 Programming language What will be the programming languages in development project?
5 Multisite and Replication Is there need for multisite development and how it should be arranged?
6 Operating system On what operation system does development computers, SCM tools and target system run?
7 Version control tool Is there any existing SCM infrastructure yet?
8 Tools existing and tools needed What is the development projects state now in tool point of view? What are the tools that will be used in SCM and implementation?
9 Development process What will be the development process?
10 Partners Is development project done in-house or with partners? Who the partners are?
11 SCM in project organization Will SCM belong to its own project or will it be subproject for someone else?
12 Competences What kind of experience does development projects organization have? Are some version control system or development methods familiar already?
13 Product lifecycle What is the lifecycle for the product?
14 Development lifecycle What are the development and maintenance policies for the product? Is there need for merge operation?
15 Change management What will be the Change and Fault management policy and process?
16 Permissions Should every implementer has permissions to every software component or who should grant permissions to software components?
17 Third-party software Will there be any third-party software in development project?
18 Open source Will open source be involved?
19 Identification scheme Is there existing versioning or naming model for software components and for releases?
20 Audits How content of software build needs to be supervised and what kind of reports are needed for development projects management and for rest of the development organization.
21 Response times How quickly do SCM needs to react request from development organization and how quickly development organization needs to react to customer request?
22 Authority/ Responsibility What is the information that is needed when implementation checks change in to the software? Is Change Note needed?
23 Managing high-level interfaces How SCM needs to communicate with rest development project organization?
Key term
Soc Classification level Presentation / Henri Elemo / 20.05.2008 18 © Nokia Siemens Networks
Tutkimuksessa saadut tuloksetKysymyslista suunniteltaessa SCM prosessia jo olemassa olevaan tuotteeseen
Question for project organization
1 Products existence On which milestone are you now?
2 Starting base Are there plans to import existing code from some program?
3 Software basics Technical data of the product: What kind of product it is? (Application/platform, component based, SCM architecture hierarchy, multiple customer versions...)
4 Quantitative information How big the software project is? (How many and how big software components (if any exists yet), how many developers inside and outside NSN)
5 Programming language What will be the programming languages in development project?
6 Multisite and Replication Is there need for multisite development and how it should be arranged?
7 Operating system On what operation system does development computers, SCM tools and target system run?
8 Version control tool Is there any existing SCM infrastructure yet?
9 Tools existing and tools needed What is the development projects state now in tool point of view? What are the tools that will be used in SCM and implementation?
10 Development process What will be the development process?
11 Partners Is development project done in-house or with partners? Who the partners are?
12 SCM in project organization Will SCM belong to its own project or will it be subproject for someone else?
13 Competences What kind of experience does development projects organization have? Are some version control system or development methods familiar already?
14 Product lifecycle What is the lifecycle for the product?
15 Development lifecycle What are the development and maintenance policies for the product? Is there need for merge operation?
16 Change management What will be the Change ja Fault management policy and process?
17 Permissions Should every implementer has permissions to every software component or who should grant permissions to software components?
18 Third-party software Will there be any third-party software in development project?
19 Open source Will open source be involved?
20 Identification scheme Is there existing versioning or naming model for software components and for releases?
21 Audits How content of software build needs to be supervised and what kind of reports are needed for development projects management and for rest of the development organization.
22 Response times How quickly do SCM needs to react request from development organization and how quickly development organization needs to react to customer request?
23 Authority/ Responsibility What is the information that is needed when implementation checks change in to the software? Is Change Note needed?
24 Managing high-level interfaces How SCM needs to communicate with rest development project organization?
Key term
Soc Classification level Presentation / Henri Elemo / 20.05.2008 19 © Nokia Siemens Networks
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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 20 © Nokia Siemens Networks
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
Soc Classification level Presentation / Henri Elemo / 20.05.2008 21 © Nokia Siemens Networks
Kysymyksiä