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 00:11, 16. 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