Proces vývoja softvéru: Rozdiel medzi revíziami
| Riadok 1: | Riadok 1: | ||
{{Draft}}  | {{Draft}}  | ||
{{CAQ_navigacia}}  | {{CAQ_navigacia}}  | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== 1. Úvod ==  | == 1. Úvod ==  | ||
| Riadok 73: | Riadok 48: | ||
*Vhodný len pre veľmi malé projekty    | *Vhodný len pre veľmi malé projekty    | ||
| − | [[Súbor:Obr_01.jpg]]  | + | [[Súbor:Obr_01.jpg|thumb|center|600px|Model programuj a oprav]]  | 
==5.2 Kaskádový model==  | ==5.2 Kaskádový model==  | ||
| Riadok 103: | Riadok 78: | ||
*Funkčné požiadavky na nástroje    | *Funkčné požiadavky na nástroje    | ||
| − | [[Súbor:Obr_02.jpg]]  | + | [[Súbor:Obr_02.jpg|thumb|center|400px|V-Model]]  | 
'''Analýza a špecifikácia požiadaviek'''    | '''Analýza a špecifikácia požiadaviek'''    | ||
| Riadok 138: | Riadok 113: | ||
*Školenie používateľov    | *Školenie používateľov    | ||
*Nasadenie SW    | *Nasadenie SW    | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
==5.5 Špirálový model==  | ==5.5 Špirálový model==  | ||
| Riadok 150: | Riadok 120: | ||
*1 cyklus vývoja    | *1 cyklus vývoja    | ||
| − | [[Súbor:Obr_03.jpg]]  | + | [[Súbor:Obr_03.jpg|thumb|center|600px|Špirálový model vývoja softvéru]]  | 
| Riadok 164: | Riadok 134: | ||
==5.6 koľko to stojí a kedy to bude==    | ==5.6 koľko to stojí a kedy to bude==    | ||
| − | [[Súbor:Obr_04.jpg]]  | + | [[Súbor:Obr_04.jpg|thumb|center|600px|Prístupy pri vývoji softvéru]]  | 
==6 Špecifikácia požiadaviek==    | ==6 Špecifikácia požiadaviek==    | ||
| Riadok 174: | Riadok 144: | ||
*Vlastnosti softvéru, ktoré požaduje používateľ alebo zákazník za účelom dosiahnutia určitého cieľa     | *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]]  | + | [[Súbor:Obr_05.jpg|thumb|center|400px|Príčiny vzniku chýb pri vývoji softvéru]]  | 
| Riadok 195: | Riadok 165: | ||
'''Najviac informácií sa analytik dozvie z rozhovoru'''     | '''Najviac informácií sa analytik dozvie z rozhovoru'''     | ||
| − | [[Súbor:Obr_06.jpg]]  | + | [[Súbor:Obr_06.jpg|thumb|center|600px]]  | 
Čo je dôležité:     | Čo je dôležité:     | ||
| Riadok 222: | Riadok 192: | ||
*Špecifikácia požiadaviek    | *Špecifikácia požiadaviek    | ||
| − | [[Súbor:Obr_07.jpg]]  | + | [[Súbor:Obr_07.jpg|thumb|center|600px|Proces analýzy a špecifikácie požiadaviek]]  | 
==6.3 Máme na to?==  | ==6.3 Máme na to?==  | ||
| Riadok 240: | Riadok 210: | ||
'''Analýza požiadaviek'''    | '''Analýza požiadaviek'''    | ||
| − | [[Súbor:Obr_08.jpg]]  | + | [[Súbor:Obr_08.jpg|thumb|center|400px|Analýza požidaviek]]  | 
==6.4 Chceme to takto!==  | ==6.4 Chceme to takto!==  | ||
| Riadok 266: | Riadok 236: | ||
'''IEEE 830-1998'''  | '''IEEE 830-1998'''  | ||
| − | + | <div style="border:1px solid black">  | |
Obsah  | Obsah  | ||
| − | + | # Úvod  | |
| − | + | ## Cieľ  | |
| − | + | ## Účel systému  | |
| − | + | ## Definície, skratky a akronymy  | |
| − | + | ## Referencie  | |
| − | + | ## Prehľad dokumentu  | |
| − | + | # Všeobecný popis  | |
| − | + | ## Kontext produktu  | |
| − | + | ## Funkcie produktu  | |
| − | + | ## Profil užívateľov  | |
| − | + | ## Obmedzenia  | |
| − | + | ## Predpoklady a závislosti  | |
| − | + | # Š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,...  | + | ## 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,...  | 
| − | + | # Doplňujúce informácie  | |
| − | Prílohy, Register,  | + | ##Prílohy, Register,  | 
| + | </div>  | ||
==7 Máme softvér!==  | ==7 Máme softvér!==  | ||
| Riadok 313: | Riadok 284: | ||
*Common Development and Distribution License    | *Common Development and Distribution License    | ||
*Creative Commons    | *Creative Commons    | ||
| − | *WTFPL – (Do What The   | + | *WTFPL – (Do What The Xxxx You Want To Public License)    | 
==8 Slobodný softvér je lepší!==  | ==8 Slobodný softvér je lepší!==  | ||
| Riadok 327: | Riadok 298: | ||
==9 Open source v praxi    | ==9 Open source v praxi    | ||
| − | [[Súbor:Obr_09.jpg]]  | + | [[Súbor:Obr_09.jpg|thumb|center|400px|Open source a kiwiki]]  | 
Verzia zo dňa a času 23:11, 15. február 2011
Obsah
- 1 1. Úvod
 - 2 2. Čo je CAQ?
 - 3 3. Prehľad CAX nástrojov
 - 4 4. Softvérové inžinierstvo alebo ako sa rodí softvér
 - 5 5. Ako sa rodí softvér
 - 6 5.1 Model Programuj a oprav
 - 7 5.2 Kaskádový model
 - 8 5.3 Kaskádový model
 - 9 5.4 V-model
 - 10 5.5 Špirálový model
 - 11 5.6 koľko to stojí a kedy to bude
 - 12 6 Špecifikácia požiadaviek
 - 13 6.1 Chceme mať softvér
 - 14 6.2 A ako na to?
 - 15 6.3 Máme na to?
 - 16 6.4 Chceme to takto!
 - 17 6.5 A bude to takto!
 - 18 7 Máme softvér!
 - 19 7.1 Čo ďalej?
 - 20 7.2 Budeme ho distribuovať?
 - 21 8 Slobodný softvér je lepší!
 
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
 
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
- Úvod
- Cieľ
 - Účel systému
 - Definície, skratky a akronymy
 - Referencie
 - Prehľad dokumentu
 
 - Všeobecný popis
- Kontext produktu
 - Funkcie produktu
 - Profil užívateľov
 - Obmedzenia
 - Predpoklady a závislosti
 
 - Š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,...
 
 - 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 Xxxx 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
