Proces vývoja softvéru: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 1: Riadok 1:
 
{{Draft}}
 
{{Draft}}
 
{{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 ==
 
== 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  
 
 
 
 
CAQ - Juraj Ďuďák
 
  
 
==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
1 Úvod
+
# Úvod
1.1 Cieľ
+
## Cieľ
1.2 Účel systému
+
## Účel systému
1.3 Definície, skratky a akronymy
+
## Definície, skratky a akronymy
1.4 Referencie
+
## Referencie
1.5 Prehľad dokumentu
+
## Prehľad dokumentu
2 Všeobecný popis
+
# Všeobecný popis
2.1 Kontext produktu
+
## Kontext produktu
2.2 Funkcie produktu
+
## Funkcie produktu
2.3 Profil užívateľov
+
## Profil užívateľov
2.4 Obmedzenia
+
## Obmedzenia
2.5 Predpoklady a závislosti
+
## Predpoklady a závislosti
3 Špecifikácia požiadaviek
+
# Š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,...
4 Doplňujúce informácie
+
# 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 Fuck You Want To Public License)  
+
*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

Imbox draft.png
Toto je projekt, na ktorom sa ešte stále pracuje!!

Aj keď sú v tomto dokumente použiteľné informácie, ešte nie je dokončený. Svoje návrhy môžete vyjadriť v diskusii o tejto stránke.

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
Model programuj a oprav

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
V-Model

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
Špirálový model vývoja softvéru


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

Prístupy pri vývoji softvéru

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
Príčiny vzniku chýb pri vývoji softvéru


Úč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

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
Proces analýzy a špecifikácie 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

Analýza požidaviek

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. Cieľ
    2. Účel systému
    3. Definície, skratky a akronymy
    4. Referencie
    5. Prehľad dokumentu
  2. Všeobecný popis
    1. Kontext produktu
    2. Funkcie produktu
    3. Profil užívateľov
    4. Obmedzenia
    5. Predpoklady a závislosti
  3. Špecifikácia požiadaviek
    1. 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
    1. 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 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

Open source a kiwiki