software engineering - architecture and...

25
Configuration management Tomáš Krátký, Bohumír Zoubek

Upload: others

Post on 03-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Configuration management

Tomáš Krátký, Bohumír Zoubek

Page 2: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Softwarový proces

?

?

?

Page 3: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Softwarový proces

Převzato z http://csse.usc.edu/csse/research/CORADMO/

Page 4: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Terminologie

Softwarový produkt

o Úplný soubor počítačových programů, postupů, související dokumentace a údajů (dat), určený pro dodání uživateli.

Softwarová položka

o Jakákoliv identifikovatelná část softwarového produktu v průběžném nebo konečném stadiu vývoje.

Konfigurační řízení

o Zajištění plného řízení konfigurace softwarového produktu a související dokumentace v průběhu životního cyklu.

Změnové řízení

o součást konfiguračního řízení viděná mechanicky vzhledem k manipulaci

se softwarovým produktem

o jiný název pro řízení rozsahu nad rámec původně domluveného

rozsahu

o jiný název pro model vývoje v době údržby – miniwaterfall per Change

request

Page 5: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Cíl

Zajistit řád a pořádek v

konfiguraci SW

produktu !

Page 6: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Zajištění cíle

o Zajistit evidenci všech částí SW produktu

o Zajistit identifikaci všech částí SW produktu i celku jako takového

o Zajistit, že provádění změn SW produktu samotný produkt nepoškodí

o Zajistit možnosti získat přehled o stavu konfigurace SW produktu

Page 7: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Pohled ISO 9000-3:1991

o Evidence a identifikace každé SW položky

o Evidence a identifikace SW produktu

o Schopnost poskytnout údaje pro

– generování a

– aktualizaci jednotlivých verzí SW produktu

o Schopnost zajistit korektní provádění změn vzhledem k SW produktu

o Schopnost podat zprávu o stavu konfigurace

o Zajištění řízení současné aktualizace dané SW položky více než jednou

osobou

Page 8: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Pohled SWEBOK

Page 9: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

SWEBOK

Page 10: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Kontrola verzí

Page 11: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Kontrola verzí

o Identifikace a evidence SW položek

– Typy SW položek ?

– Které spadají pod kontrolu verzí a které ne ?

– Co s těmi, které pod kontrolu verzí nespadají ?

o Identifikace SW produktu

– Práce na více verzích současně

– Návrat ke konkrétní verzi

o Technická realizace

– nástroje: CVS, SVN, GIT, …

– prostředky: revision number, tag, branch, …

Page 12: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Centralizace vs. Distribuce

o Centralizované repository, lokální kopie klientů

o Každý synchronizuje a vkládá do hlavní větve

o Důraz na synchronizaci, tracking, zálohování

o Jediný způsob jak zkusit něco nového je branch složité

Page 13: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Centralizace vs. Distribuce

o Každý svoje vlastní repository

o Vzájemné sdílení na základě „web of trust“

o Stažení změny a její aplikace jsou dvě různé operace

o Nemusí existovat centrální hlavní větev

o Důraz kladen na sdílení změn

Page 14: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Řízení změn

Page 15: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Řízení změn

o Identifikace

– Typy změn

– Vazba na specifikaci

– Vazba na kontrolu verzí

o Proces (viz další slajd)

o Technická realizace

– nástroje: Bugzilla, JIRA, Trac, …

Page 16: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Proces řízení změn

Page 17: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

CM by example

Page 18: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Plánování SCM

Page 19: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Plán konfiguračního řízení

Minimálně musí obsahovat tyto typy informací

o Introduction

– účel, rozsah, způsob a podmínky použití

o SCM Management

– organizace, odpovědnosti, autority

– politiky, nařízení, procedury

o SCM Activities

– řízení verzí,

– řízení změn,

– řízení dodávek

– a další

o SCM Schedules

– koordinace s dalšími projektovými aktivitami

o SCM Resources

– nástroje a způsob jejich použití,

– fyzické a lidské zdroje

o SCMP Maintenance

o Identifikace a evidence SW položek

– Typy SW položek

– Které spadají pod kontrolu verzí

– Které nespadají pod kontrolu verzí

– Co s nimi

o Identifikace SW produktu

o Identifikace

– Typy změn

– Vazba na

specifikaci

– Vazba na

kontrolu verzí

o Proces řízení

změn

Page 20: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Poznatky z praxe

Page 21: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Poznatky z praxe

o Jasný a srozumitelný SCM proces

o Verzování SW položek i produktu

o CM a různá prostředí

– vývoj, akceptace, produkce, …

o CM a různé typy SW položek

– programy, data, konfigurace, schémata, dokumentace, …

o Souběžné verze SW produktu

– vývoj příští verze vs. oprava něčeho staršího v produkci

o CM a různé fáze SDLC

– zásadní rozdíl mezi vývojem a údržbou

o Správné využití nástrojů

– dobře vybrat a dobře používat

Page 22: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Goodies

Page 23: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace
Page 24: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

24

Diskuze

Page 25: Software engineering - Architecture and designprofinit.eu/wp-content/uploads/2017/02/07_CM_nova.pdf · 2017-04-13 · o Stažení změny a její aplikace jsou dvě různé operace

Profinit, s.r.o.

Tychonova 2, 160 00 Praha 6

Telefon

+ 420 224 316 016

Web

www.profinit.eu

LinkedIn

linkedin.com/company/profinit

Twitter

twitter.com/Profinit_EU

Děkujeme

za pozornost