Proces vývoja softvéru: Rozdiel medzi revíziami
 (Vytvorená stránka „{{Draft}} {{CAQ_navigacia}}  ... obsah prvej prednášky...“)  | 
				|||
| Riadok 2: | Riadok 2: | ||
{{CAQ_navigacia}}  | {{CAQ_navigacia}}  | ||
| − | ...   | + | ==CAQ - Ing. Juraj Ďuďák, PhD.==  | 
| + | |||
| + | #Úvod  | ||
| + | #Čo je CAQ  | ||
| + | #Prehľad CAX nástrojov  | ||
| + | #Softvérové inžinierstvo alebo ako sa rodí softvér  | ||
| + | #Ako sa rodí softvér:   | ||
| + | ##Model Programuj a oprav  | ||
| + | ##Kaskádový model  | ||
| + | ##V-model  | ||
| + | ##Špirálový model  | ||
| + | ##Koľko to stojí a kedy to bude  | ||
| + | #Špecifikácia požiadaviek:  | ||
| + | ##Chceme mať softvér?  | ||
| + | ##A ako na to?  | ||
| + | ##Máme na to?  | ||
| + | ##Chceme to takto!  | ||
| + | ##A bude to takto!  | ||
| + | #IEEE 830-1998  | ||
| + | #Máme softvér!  | ||
| + | ##Čo ďalej?  | ||
| + | ##Budeme ho distribuovať?  | ||
| + | #Slobodný softvér je lepší!  | ||
| + | #Open source v praxi  | ||
| + | |||
| + | == 1. Úvod ==  | ||
| + | |||
| + | '''Ukončenie: klasifikovaný zápočet'''   | ||
| + | |||
| + | '''Obsah predmetu'''  | ||
| + | |||
| + | *Základy softvérového inžinierstva   | ||
| + | *Manažérske informačné systémy   | ||
| + | *Nástroje použiteľné v CAQ   | ||
| + | *Expertné systémy   | ||
| + | |||
| + | |||
| + | == 2. Čo je CAQ?==   | ||
| + | |||
| + | Neviem pretože:   | ||
| + | *Kvalita musí byť podporovaná ľuďmi   | ||
| + | *Rozhodovanie manažéra môže uľahčiť informačný systém (nie počítač)   | ||
| + | *Nevie to ani Google    | ||
| + | |||
| + | ==3. Prehľad CAX nástrojov==  | ||
| + | |||
| + | *CAE - Computer-aided engineering   | ||
| + | *CAD - computer-aided design   | ||
| + | *CAA - computer-aided analysis   | ||
| + | *CAM - computer-aided manufacturing   | ||
| + | *CAP - computer-aided planning    | ||
| + | |||
| + | ==4. Softvérové inžinierstvo alebo ako sa rodí softvér==  | ||
| + | |||
| + | '''Životný cyklus softvéru:'''   | ||
| + | *Postupnosť fáz, ktorým softvér počas procesu vývoja prechádza.   | ||
| + | '''Základné fázy vývoja:'''   | ||
| + | *Plánovanie   | ||
| + | *Analýza   | ||
| + | *Návrh   | ||
| + | *Implementácia   | ||
| + | *Testovanie   | ||
| + | *Údržba   | ||
| + | |||
| + | ==5. Ako sa rodí softvér==  | ||
| + | |||
| + | ==5.1 Model Programuj a oprav==  | ||
| + | |||
| + | *Naturalistický model   | ||
| + | *Vhodný len pre veľmi malé projekty   | ||
| + | |||
| + | [[Súbor:Obr_01.jpg]]  | ||
| + | |||
| + | ==5.2 Kaskádový model==  | ||
| + | |||
| + | '''Sekvenčná postupnosť fáz'''   | ||
| + | |||
| + | '''Každá fáza má fázové kroky:'''   | ||
| + | *Plánovanie fázy (zjemnenie rámcového plánu)   | ||
| + | *Realizácia (vývoj čiastkového produktu)   | ||
| + | *Preskúšanie (kontrola kvality)   | ||
| + | |||
| + | ==5.3 Kaskádový model==  | ||
| + | |||
| + | '''Klady:'''   | ||
| + | |||
| + | *Jednoduchosť a systematickosť pri postupe vývojom   | ||
| + | *Ideálne riadenie, pretože každá fáza je diskrétna   | ||
| + | *Každá fáza vyžaduje kompletnú dokumentáciu   | ||
| + | |||
| + | '''Zápory:'''  | ||
| + | |||
| + | *Malá flexibilita vo vývoji produktu   | ||
| + | *Testovanie je až na konci životného cyklu   | ||
| + | |||
| + | ==5.4 V-model==   | ||
| + | |||
| + | *Model procesov životného cyklu softvéru   | ||
| + | *Metódy, ktoré sa majú pri vývoji použiť   | ||
| + | *Funkčné požiadavky na nástroje   | ||
| + | |||
| + | [[Súbor:Obr_02.jpg]]  | ||
| + | |||
| + | '''Analýza a špecifikácia požiadaviek'''   | ||
| + | |||
| + | *Definícia a špecifikácia požiadaviek   | ||
| + | *Štúdia realizovateľnosti   | ||
| + | *Neuvažuje sa nad spôsobom vykonanie požiadaviek   | ||
| + | |||
| + | '''Architektonický návrh'''   | ||
| + | |||
| + | *Celková koncepcia architektúry SW   | ||
| + | *Definícia funkcionality softvéru   | ||
| + | *Plán nasadenia SW   | ||
| + | |||
| + | '''Podrobný návrh'''   | ||
| + | |||
| + | *Návrh komponentov systému   | ||
| + | *Špecifikácia ošetrenia chybových stavov   | ||
| + | |||
| + | '''Implementácia'''   | ||
| + | |||
| + | *Kódovanie komponentov   | ||
| + | *Dokumentácie komponentov   | ||
| + | *Testovanie komponentov   | ||
| + | |||
| + | '''Integrácia a testovanie'''   | ||
| + | |||
| + | *Integrovanie komponentov do modulov   | ||
| + | *Testovanie modulov a celého systému   | ||
| + | |||
| + | '''Akceptačné testovanie a inštalácia'''   | ||
| + | |||
| + | *Testovanie SQ používateľom   | ||
| + | *Školenie používateľov   | ||
| + | *Nasadenie SW   | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | CAQ - Juraj Ďuďák   | ||
| + | |||
| + | ==5.5 Špirálový model==  | ||
| + | |||
| + | Závit špirály   | ||
| + | |||
| + | *1 cyklus vývoja   | ||
| + | |||
| + | [[Súbor:Obr_03.jpg]]  | ||
| + | |||
| + | |||
| + | '''Každá iterácia'''   | ||
| + | |||
| + | 1.Určenie cieľov, alternatív   | ||
| + | 2.Rozpoznanie a riešenie rizík   | ||
| + | 3.Vyhodnotenie alternatív   | ||
| + | 4.Vývoj a testovanie aktuálnej úrovne   | ||
| + | 5.Plánovanie ďalšej fázy   | ||
| + | 6.revízia   | ||
| + | |||
| + | ==5.6 koľko to stojí a kedy to bude==   | ||
| + | |||
| + | [[Súbor:Obr_04.jpg]]  | ||
| + | |||
| + | ==6 Špecifikácia požiadaviek==   | ||
| + | |||
| + | ==6.1 Chceme mať softvér==  | ||
| + | |||
| + | '''Požiadavky:'''   | ||
| + | |||
| + | *Vlastnosti softvéru, ktoré požaduje používateľ alebo zákazník za účelom dosiahnutia určitého cieľa    | ||
| + | |||
| + | [[Súbor:Obr_05.jpg]]  | ||
| + | |||
| + | |||
| + | '''Účastníci procesu:'''   | ||
| + | |||
| + | *Používateľ (zákazník)   | ||
| + | *Analytik    | ||
| + | |||
| + | '''Skúsenosť z praxe:''' '''Zákazník nikdy nevie čo chce!!!'''   | ||
| + | |||
| + | '''Metódy procesu'''   | ||
| + | |||
| + | *Rozhovor so zákazníkom   | ||
| + | *Dotazníky   | ||
| + | *Monitorovanie pracovných postupov zákazníka   | ||
| + | *Priama účasť na prácach zákazníka   | ||
| + | *Analýza existujúceho softvéru   | ||
| + | *Štúdium dokumentov a štandardov   | ||
| + | |||
| + | '''Najviac informácií sa analytik dozvie z rozhovoru'''    | ||
| + | |||
| + | [[Súbor:Obr_06.jpg]]  | ||
| + | |||
| + | Čo je dôležité:    | ||
| + | |||
| + | *Analytik musí mať pripravený scenár rozhovoru   | ||
| + | *Vytvoriť záznam (správu) z rozhovoru   | ||
| + | |||
| + | '''Typy požiadaviek:'''   | ||
| + | |||
| + | *'''Funkčné'''   | ||
| + | **Určujú chovanie, funkcie softvéru   | ||
| + | |||
| + | *'''Nefunkčné'''   | ||
| + | *Špecifikujú vlastnosti a obmedzujúce podmienky daného softvéru   | ||
| + | **Požiadavky na prevádzku systému (počet používateľov, ...)   | ||
| + | **Požiadavky na softvér (efektívnosť, bezpečnosť,  hardvérové prostredie, OS, iný spolupracujúci SW)   | ||
| + | **Externé požiadavky (legislatívne, etické požiadavky)    | ||
| + | |||
| + | ==6.2 A ako na to?==   | ||
| + | |||
| + | '''Proces analýzy a špecifikácie požiadaviek:'''   | ||
| + | |||
| + | *Štúdia realizovateľnosti   | ||
| + | *Analýza požiadaviek   | ||
| + | *Definícia požiadaviek   | ||
| + | *Špecifikácia požiadaviek   | ||
| + | |||
| + | [[Súbor:Obr_07.jpg]]  | ||
| + | |||
| + | ==6.3 Máme na to?==  | ||
| + | |||
| + | '''Štúdia realizovateľnosti je odhad, či je softvér realizovateľný:'''   | ||
| + | |||
| + | *v danom čase   | ||
| + | *So stanovenými zdrojmi   | ||
| + | |||
| + | '''Hlavné body v štúdie realizovateľnosti:'''   | ||
| + | |||
| + | *Ako prispeje SW k obchodným cieľom organizácie ?   | ||
| + | *Je možné integrovať SQ k existujúcim riešeniam ?   | ||
| + | *Je potrebný nový HW, poprípade nový SW ?   | ||
| + | *Dá sa realizovať s danými zdrojmi a v danom čase?   | ||
| + | |||
| + | '''Analýza požiadaviek'''   | ||
| + | |||
| + | [[Súbor:Obr_08.jpg]]  | ||
| + | |||
| + | ==6.4 Chceme to takto!==  | ||
| + | |||
| + | *Definícia požiadaviek   | ||
| + | *Úlohou je neformálne stanoviť všetky požiadavky na služby a vlastnosti SW:   | ||
| + | |||
| + | **Na čo bude SW slúžiť   | ||
| + | **Aké informácie sa budú uchovávať   | ||
| + | **Kto ho bude používať   | ||
| + | **Aké funkcie, operácie bude zabezpečovať   | ||
| + | **Aké sú vstupy a výstupy   | ||
| + | **Aké sú interakcie s inými systémami.   | ||
| + | |||
| + | ==6.5 A bude to takto!==  | ||
| + | |||
| + | *'''Špecifikácia požiadaviek'''   | ||
| + | **'''IEEE 830-1998''' Recommended Practice for Software Requirements Specifications   | ||
| + | *Hlavný výstup: dokument špecifikácie požiadaviek.   | ||
| + | *Možnosti tvorby tohto dokumentu   | ||
| + | **Prirodzený jazyk   | ||
| + | **Formuláre   | ||
| + | **Prípady použitia   | ||
| + | **Pseudokódy, scenáre, ...   | ||
| + | |||
| + | '''IEEE 830-1998'''  | ||
| + | |||
| + | Obsah  | ||
| + | 1 Úvod  | ||
| + | 1.1 Cieľ  | ||
| + | 1.2 Účel systému  | ||
| + | 1.3 Definície, skratky a akronymy  | ||
| + | 1.4 Referencie  | ||
| + | 1.5 Prehľad dokumentu  | ||
| + | 2 Všeobecný popis  | ||
| + | 2.1 Kontext produktu  | ||
| + | 2.2 Funkcie produktu  | ||
| + | 2.3 Profil užívateľov  | ||
| + | 2.4 Obmedzenia  | ||
| + | 2.5 Predpoklady a závislosti  | ||
| + | 3 Špecifikácia požiadaviek  | ||
| + | Externé prostredie, funkcie (vstupy, výstupy, účel, reakciu pri chybách),nefunkčné požiadavky, požiadavky na databázové údaje, obmedzenia návrhu, požiadavky na zhodu so štandardami, kvalitatívne požiadavky,...  | ||
| + | 4 Doplňujúce informácie  | ||
| + | Prílohy, Register,  | ||
| + | |||
| + | ==7 Máme softvér!==  | ||
| + | |||
| + | ==7.1 Čo ďalej?==   | ||
| + | |||
| + | *Ako SW licencovať?   | ||
| + | *Licencie:   | ||
| + | **Proprietárne   | ||
| + | **Slobodné   | ||
| + | |||
| + | ==7.2 Budeme ho distribuovať?==   | ||
| + | |||
| + | *Licencie typu closed source / proprietárne licencie   | ||
| + | **Licencie tohto typu dávajú používateľovi najmenšiu slobodu   | ||
| + | |||
| + | *Typy proprietarnych licencií:   | ||
| + | **Bezplatná licencia, closed source   | ||
| + | ***Free Solaris Binary License   | ||
| + | **Platená licencia, pozerateľný zdrojový kód   | ||
| + | ***"Shared Source" Microsoft-u   | ||
| + | **Platená licencia, closed source   | ||
| + | ***EULA Microsoft Windows-u   | ||
| + | |||
| + | *Licencie typu open source   | ||
| + | *GNU/GPL   | ||
| + | *BSD   | ||
| + | *Mozilla Public License   | ||
| + | *Common Development and Distribution License   | ||
| + | *Creative Commons   | ||
| + | *WTFPL – (Do What The Fuck You Want To Public License)   | ||
| + | |||
| + | ==8 Slobodný softvér je lepší!==  | ||
| + | |||
| + | Slobodný softvér dáva užívateľom slobodu spúšťať, kopírovať, distribuovať, študovať, meniť a zlepšovať ho.  | ||
| + | |||
| + | '''Úrovne slobody:'''  | ||
| + | *sloboda 0 - Sloboda spustiť program za akýmkoľvek účelom   | ||
| + | *sloboda 1 - Sloboda študovať, ako program pracuje a prispôsobiť ho svojim potrebám   | ||
| + | *sloboda 2 - Sloboda redistribuovať kópie, aby ste pomohli vášmu kolegovi   | ||
| + | *sloboda 3 - Sloboda vylepšovať program a zverejňovať zlepšenie, aby z nich mohla mať prospech celá komunita    | ||
| + | |||
| + | ==9 Open source v praxi   | ||
| + | |||
| + | [[Súbor:Obr_09.jpg]]  | ||
Verzia zo dňa a času 20:32, 15. február 2011
Obsah
- 1 CAQ - Ing. Juraj Ďuďák, PhD.
 - 2 1. Úvod
 - 3 2. Čo je CAQ?
 - 4 3. Prehľad CAX nástrojov
 - 5 4. Softvérové inžinierstvo alebo ako sa rodí softvér
 - 6 5. Ako sa rodí softvér
 - 7 5.1 Model Programuj a oprav
 - 8 5.2 Kaskádový model
 - 9 5.3 Kaskádový model
 - 10 5.4 V-model
 - 11 5.5 Špirálový model
 - 12 5.6 koľko to stojí a kedy to bude
 - 13 6 Špecifikácia požiadaviek
 - 14 6.1 Chceme mať softvér
 - 15 6.2 A ako na to?
 - 16 6.3 Máme na to?
 - 17 6.4 Chceme to takto!
 - 18 6.5 A bude to takto!
 - 19 7 Máme softvér!
 - 20 7.1 Čo ďalej?
 - 21 7.2 Budeme ho distribuovať?
 - 22 8 Slobodný softvér je lepší!
 
CAQ - Ing. Juraj Ďuďák, PhD.
- Úvod
 - Čo je CAQ
 - Prehľad CAX nástrojov
 - Softvérové inžinierstvo alebo ako sa rodí softvér
 - Ako sa rodí softvér:
- Model Programuj a oprav
 - Kaskádový model
 - V-model
 - Špirálový model
 - Koľko to stojí a kedy to bude
 
 - Špecifikácia požiadaviek:
- Chceme mať softvér?
 - A ako na to?
 - Máme na to?
 - Chceme to takto!
 - A bude to takto!
 
 - IEEE 830-1998
 - Máme softvér!
- Čo ďalej?
 - Budeme ho distribuovať?
 
 - Slobodný softvér je lepší!
 - Open source v praxi
 
1. Úvod
Ukončenie: klasifikovaný zápočet
Obsah predmetu
- Základy softvérového inžinierstva
 - Manažérske informačné systémy
 - Nástroje použiteľné v CAQ
 - Expertné systémy
 
2. Čo je CAQ?
Neviem pretože:
- Kvalita musí byť podporovaná ľuďmi
 - Rozhodovanie manažéra môže uľahčiť informačný systém (nie počítač)
 - Nevie to ani Google
 
3. Prehľad CAX nástrojov
- CAE - Computer-aided engineering
 - CAD - computer-aided design
 - CAA - computer-aided analysis
 - CAM - computer-aided manufacturing
 - CAP - computer-aided planning
 
4. Softvérové inžinierstvo alebo ako sa rodí softvér
Životný cyklus softvéru:
- Postupnosť fáz, ktorým softvér počas procesu vývoja prechádza.
 
Základné fázy vývoja:
- Plánovanie
 - Analýza
 - Návrh
 - Implementácia
 - Testovanie
 - Údržba
 
5. Ako sa rodí softvér
5.1 Model Programuj a oprav
- Naturalistický model
 - Vhodný len pre veľmi malé projekty
 
5.2 Kaskádový model
Sekvenčná postupnosť fáz
Každá fáza má fázové kroky:
- Plánovanie fázy (zjemnenie rámcového plánu)
 - Realizácia (vývoj čiastkového produktu)
 - Preskúšanie (kontrola kvality)
 
5.3 Kaskádový model
Klady:
- Jednoduchosť a systematickosť pri postupe vývojom
 - Ideálne riadenie, pretože každá fáza je diskrétna
 - Každá fáza vyžaduje kompletnú dokumentáciu
 
Zápory:
- Malá flexibilita vo vývoji produktu
 - Testovanie je až na konci životného cyklu
 
5.4 V-model
- Model procesov životného cyklu softvéru
 - Metódy, ktoré sa majú pri vývoji použiť
 - Funkčné požiadavky na nástroje
 
Analýza a špecifikácia požiadaviek
- Definícia a špecifikácia požiadaviek
 - Štúdia realizovateľnosti
 - Neuvažuje sa nad spôsobom vykonanie požiadaviek
 
Architektonický návrh
- Celková koncepcia architektúry SW
 - Definícia funkcionality softvéru
 - Plán nasadenia SW
 
Podrobný návrh
- Návrh komponentov systému
 - Špecifikácia ošetrenia chybových stavov
 
Implementácia
- Kódovanie komponentov
 - Dokumentácie komponentov
 - Testovanie komponentov
 
Integrácia a testovanie
- Integrovanie komponentov do modulov
 - Testovanie modulov a celého systému
 
Akceptačné testovanie a inštalácia
- Testovanie SQ používateľom
 - Školenie používateľov
 - Nasadenie SW
 
CAQ - Juraj Ďuďák 
5.5 Špirálový model
Závit špirály
- 1 cyklus vývoja
 
Každá iterácia 
1.Určenie cieľov, alternatív 2.Rozpoznanie a riešenie rizík 3.Vyhodnotenie alternatív 4.Vývoj a testovanie aktuálnej úrovne 5.Plánovanie ďalšej fázy 6.revízia
5.6 koľko to stojí a kedy to bude
6 Špecifikácia požiadaviek
6.1 Chceme mať softvér
Požiadavky:
- Vlastnosti softvéru, ktoré požaduje používateľ alebo zákazník za účelom dosiahnutia určitého cieľa
 
Účastníci procesu: 
- Používateľ (zákazník)
 - Analytik
 
Skúsenosť z praxe: Zákazník nikdy nevie čo chce!!!
Metódy procesu
- Rozhovor so zákazníkom
 - Dotazníky
 - Monitorovanie pracovných postupov zákazníka
 - Priama účasť na prácach zákazníka
 - Analýza existujúceho softvéru
 - Štúdium dokumentov a štandardov
 
Najviac informácií sa analytik dozvie z rozhovoru
Čo je dôležité:
- Analytik musí mať pripravený scenár rozhovoru
 - Vytvoriť záznam (správu) z rozhovoru
 
Typy požiadaviek:
- Funkčné
- Určujú chovanie, funkcie softvéru
 
 
- Nefunkčné
 - Špecifikujú vlastnosti a obmedzujúce podmienky daného softvéru
- Požiadavky na prevádzku systému (počet používateľov, ...)
 - Požiadavky na softvér (efektívnosť, bezpečnosť, hardvérové prostredie, OS, iný spolupracujúci SW)
 - Externé požiadavky (legislatívne, etické požiadavky)
 
 
6.2 A ako na to?
Proces analýzy a špecifikácie požiadaviek:
- Štúdia realizovateľnosti
 - Analýza požiadaviek
 - Definícia požiadaviek
 - Špecifikácia požiadaviek
 
6.3 Máme na to?
Štúdia realizovateľnosti je odhad, či je softvér realizovateľný:
- v danom čase
 - So stanovenými zdrojmi
 
Hlavné body v štúdie realizovateľnosti:
- Ako prispeje SW k obchodným cieľom organizácie ?
 - Je možné integrovať SQ k existujúcim riešeniam ?
 - Je potrebný nový HW, poprípade nový SW ?
 - Dá sa realizovať s danými zdrojmi a v danom čase?
 
Analýza požiadaviek
6.4 Chceme to takto!
- Definícia požiadaviek
 - Úlohou je neformálne stanoviť všetky požiadavky na služby a vlastnosti SW:
 
- Na čo bude SW slúžiť
 - Aké informácie sa budú uchovávať
 - Kto ho bude používať
 - Aké funkcie, operácie bude zabezpečovať
 - Aké sú vstupy a výstupy
 - Aké sú interakcie s inými systémami.
 
6.5 A bude to takto!
- Špecifikácia požiadaviek
- IEEE 830-1998 Recommended Practice for Software Requirements Specifications
 
 - Hlavný výstup: dokument špecifikácie požiadaviek.
 - Možnosti tvorby tohto dokumentu
- Prirodzený jazyk
 - Formuláre
 - Prípady použitia
 - Pseudokódy, scenáre, ...
 
 
IEEE 830-1998
Obsah 1 Úvod 1.1 Cieľ 1.2 Účel systému 1.3 Definície, skratky a akronymy 1.4 Referencie 1.5 Prehľad dokumentu 2 Všeobecný popis 2.1 Kontext produktu 2.2 Funkcie produktu 2.3 Profil užívateľov 2.4 Obmedzenia 2.5 Predpoklady a závislosti 3 Špecifikácia požiadaviek Externé prostredie, funkcie (vstupy, výstupy, účel, reakciu pri chybách),nefunkčné požiadavky, požiadavky na databázové údaje, obmedzenia návrhu, požiadavky na zhodu so štandardami, kvalitatívne požiadavky,... 4 Doplňujúce informácie Prílohy, Register,
7 Máme softvér!
7.1 Čo ďalej?
- Ako SW licencovať?
 - Licencie:
- Proprietárne
 - Slobodné
 
 
7.2 Budeme ho distribuovať?
- Licencie typu closed source / proprietárne licencie
- Licencie tohto typu dávajú používateľovi najmenšiu slobodu
 
 
- Typy proprietarnych licencií:
- Bezplatná licencia, closed source
- Free Solaris Binary License
 
 - Platená licencia, pozerateľný zdrojový kód
- "Shared Source" Microsoft-u
 
 - Platená licencia, closed source
- EULA Microsoft Windows-u
 
 
 - Bezplatná licencia, closed source
 
- Licencie typu open source
 - GNU/GPL
 - BSD
 - Mozilla Public License
 - Common Development and Distribution License
 - Creative Commons
 - WTFPL – (Do What The Fuck You Want To Public License)
 
8 Slobodný softvér je lepší!
Slobodný softvér dáva užívateľom slobodu spúšťať, kopírovať, distribuovať, študovať, meniť a zlepšovať ho.
Úrovne slobody:
- sloboda 0 - Sloboda spustiť program za akýmkoľvek účelom
 - sloboda 1 - Sloboda študovať, ako program pracuje a prispôsobiť ho svojim potrebám
 - sloboda 2 - Sloboda redistribuovať kópie, aby ste pomohli vášmu kolegovi
 - sloboda 3 - Sloboda vylepšovať program a zverejňovať zlepšenie, aby z nich mohla mať prospech celá komunita
 
==9 Open source v praxi








