Toggle menu
Toggle preferences menu
Toggle personal menu
Neprihlásený/á
Your IP address will be publicly visible if you make any edits.
Bez shrnutí editace
Značky: manuálne vrátenie vizuálny editor
Bez shrnutí editace
Riadok 8: Riadok 8:


== Softvérové inžinierstvo ==
== Softvérové inžinierstvo ==
{{Pojem|obsah=softvérové inžinierstvo, softvér, projekt|titulok=1.5}}Je to inžinierska disciplína, ktorá '''sa zaoberá všetkými aspektmi vývoja softvéru, od počiatočnej myšlienky a všeobecnej špecifikácie až po jeho spustenie a údržbu'''<ref>I. Sommerville; ''Software Engineering, 10th Global Edition'' (2016; [https://dn790001.ca.archive.org/0/items/bme-vik-konyvek/Software%20Engineering%20-%20Ian%20Sommerville.pdf Archive.org])</ref>. Pod pojmom '''softvér''' chápeme nielen všetok zdrojový kód programu, ale aj priľahlé postupy a dokumentácie ktoré viedli k vývoju projektu. '''Projekt''' je dočasné (vopred časovo ohraničené) úsilie s cieľom vytvorenia jedinečného výrobku alebo služby (projekt ≠ softvér, projekt je činnosť, softvér je artefakt – človekom vytvorená vec)<ref>J. Šimko, M. Šimko, M. Bieliková; ''Softvérové inžinierstvo v otázkach a odpovediach'' (2017)</ref>.{{Pojem|obsah=softvérová kríza|titulok=1.6}}Softvérové inžinierstvo je relatívne nová disciplína ktorá sa neustále vyvíja a spresňuje. Počiatky sa datujú do roku 1968, keď sa datuje aj takzvaná ''[[wikipedia:Software_crisis|softvérová kríza]]''. S narastajúcim objemom kódu bolo potrebné definovať pravidlá, ako softvér vyvíjať a spravovať čo najefektívnejšie.{{Téma|Oblast=Kategória:Softvérové inžinierstvo|Poradie=10}}
{{Pojem|obsah=softvérové inžinierstvo, softvér, projekt|titulok=1.5}}Je to inžinierska disciplína, ktorá '''sa zaoberá všetkými aspektmi vývoja softvéru, od počiatočnej myšlienky a všeobecnej špecifikácie až po jeho spustenie a údržbu'''<ref>I. Sommerville; ''Software Engineering, 10th Global Edition'' (2016; [https://dn790001.ca.archive.org/0/items/bme-vik-konyvek/Software%20Engineering%20-%20Ian%20Sommerville.pdf Archive.org])</ref>. Pod pojmom '''softvér''' chápeme nielen všetok zdrojový kód programu, ale aj priľahlé postupy a dokumentácie ktoré viedli k vývoju projektu. '''Projekt''' je dočasné (vopred časovo ohraničené) úsilie s cieľom vytvorenia jedinečného výrobku alebo služby (projekt ≠ softvér, projekt je činnosť, softvér je artefakt – človekom vytvorená vec)<ref>J. Šimko, M. Šimko, M. Bieliková; ''Softvérové inžinierstvo v otázkach a odpovediach'' (2017)</ref>.{{Pojem|obsah=softvérová kríza|titulok=1.6}}Softvérové inžinierstvo je relatívne nová disciplína ktorá sa neustále vyvíja a spresňuje. Počiatky sa datujú do roku 1968, kedy prebiehala aj takzvaná ''[[wikipedia:Software_crisis|softvérová kríza]]''. S narastajúcim objemom kódu bolo potrebné definovať pravidlá ako softvér vyvíjať a spravovať čo najefektívnejšie.{{Pojem|obsah=zákazník a používateľ|titulok=1.7}}Osoby (alebo organizácie), ktoré majú záujem na vytvorení nejakého softvéru, sa nazývajú '''zákazníci'''. So softvérom interagujú (koncový) '''používatelia'''. Nie vždy je zákazník zároveň aj používateľ a vice versa (ale môže byť) – napríklad, spoločnosť chce vylepšiť dizajn svojho e-shopu, tak si najme webového dizajnéra (táto spoločnosť je ''zákazník''). Ale tento e-shop budú používať zákazníci tohto e-shopu, nie samotná firma ktorá e-shop prevádzkuje (z hľadiska softvérového inžinierstva sú zákazníci tohto e-shopu ''používatelia''). Na druhú stranu, ak by si napríklad táto spoločnosť obstarala softvér pre prehľad a správu svojich finančných výdavkov, bola by zároveň aj ''zákazníkom'' (pretože za softvér zaplatila) a aj ''používateľom'' (pretože ho bude používať).
 
== Špecifikácia požiadaviek ==
{{Pojem|obsah=požiadavky zákazníkov a používateľov|titulok=1.8}}Je dôležité rozlišovať a zosúladiť požiadavky zákazníkov a požiadavkami používateľov. Keď si zoberieme príklad s e-shopom vyššie, zákazník (teda, samotný e-shop) môže chcieť, aby mal zoznam produktov menej možností pre filtrovanie a vyhľadávanie a aby bol prehľadnejší. Používateľ (zákazník tohto e-shopu) ale môže mať naopak od softvéru iné očakávania a možnosti bohatého triedenia a filtrovania produktov. V realite je dôležité nedorozumenia jednoznačne komunikovať a riešiť čo najskôr od toho, ako nastanú. Vyhneme sa tak nejasnostiam v dizajne alebo logike samotnej aplikácie.{{Pojem|obsah=špecifikácia požiadaviek|titulok=1.9}}Aby bol tento proces definovaný od raného štádia vývoja softvéru, tak nám softvérové inžinierstvo ponúka '''špecifikáciu požiadaviek'''. Je to jeden z úplne prvých procesov vykonávaných v softvérovom inžinierstve, počas ktorého stručne a zreteľne definujeme hlavné '''funkčné''' a '''nefunkčné''' požiadavky daného softvérového projektu – aké kritériá musí daná aplikácia spĺňať.
 
=== Funkčné požiadavky ===
{{Pojem|obsah=funkčné požiadavky|titulok=1.10}}.
 
=== Nefunkčné požiadavky ===
{{Pojem|obsah=nefunkčné požiadavky|titulok=1.11}}.{{Téma|Oblast=Kategória:Softvérové inžinierstvo|Poradie=10}}


== Referencie ==
== Referencie ==
<references />
<references />
[[Kategória:Softvérové inžinierstvo]]
[[Kategória:Softvérové inžinierstvo]]

Verzia z 18:11, 5. máj 2025

Stručná história softvérového inžinierstva, jeho zmysel a základné pojmy.


História

Začiatkom 21. storočia bol progres v oblasti softvérového inžinierstva exponenciálny. Dnes sa so softvérom stretávame prakticky všade a je nevyhnutnou súčasťou technologicky napredujúceho sveta, ktorý by nedokázal bez výpočtovej techniky fungovať – či už ide o Internet, navádzacie systémy lietadiel a vesmírnych rakiet alebo jednoducho aplikáciu v našom smartfóne – všetky tieto systémy sú neoddeliteľnou súčasťou "Internetu vecí" a využívame ich každodenne pre riešenie našich problémov.

Ale nie vždy tomu bolo tak. V 70. – 80. rokoch 20. storočia neboli ešte osobné počítače veľmi rozšírené. Programové vybavenie týchto počítačov bolo jednoduché a používatelia mali iba málo možností ako mohli takéto počítače používať. Ak niekto potreboval softvér na špecifické účely, častokrát si ho musel naprogramovať sám pre seba. Takéto menej výkonné a obmedzené počítače používali vo veľkej miere iba ľudia ktorí vedeli takýto softvér používať a zároveň ho aj vytvárať – z toho vyplýva, že tento softvér sa nedistribuoval ďalej.

Avšak, ako sa výpočtové zariadenia rozširovali ďalej do celého sveta, vzrástli aj očakávania ich používateľov a s nimi aj potreba vyvíjať softvér s neustále novšími a lepšími funkciami. Z pár stoviek riadkov kódu v jednom súbore sa postupne stávali tisícky. Príchod novších a jednoduchších programovacích jazykov zároveň umožnil komplexnejšie techniky pre vytváranie programov, kód sa začal rozvetvovať do viacerých súborov a konfigurácií. Ľudia si začali deliť jednotlivé úlohy v rámci vývoja softvéru, pretože bolo zrejmé, že tímová práca je nevyhnutná.

Problém bol však v tom, že sa doteraz nezadefinoval žiadny formálny postup pre vývoj softvéru a softvérové inžinierstvo (pretože nebol potrebný). Ako deliť túto prácu efektívne? Aké sú morálne a etické aspekty vo vývoji softvéru? Je možné definovať presné metodiky a postupy? Ako popísať univerzálne nejakú triedu alebo procedúru naprieč rôznymi programovacími jazykmi ktoré majú rôzne syntaxe? Odpovede na tieto otázky nám zčasti ponúka softvérové inžinierstvo.

Softvérové inžinierstvo

Je to inžinierska disciplína, ktorá sa zaoberá všetkými aspektmi vývoja softvéru, od počiatočnej myšlienky a všeobecnej špecifikácie až po jeho spustenie a údržbu[1]. Pod pojmom softvér chápeme nielen všetok zdrojový kód programu, ale aj priľahlé postupy a dokumentácie ktoré viedli k vývoju projektu. Projekt je dočasné (vopred časovo ohraničené) úsilie s cieľom vytvorenia jedinečného výrobku alebo služby (projekt ≠ softvér, projekt je činnosť, softvér je artefakt – človekom vytvorená vec)[2].

Softvérové inžinierstvo je relatívne nová disciplína ktorá sa neustále vyvíja a spresňuje. Počiatky sa datujú do roku 1968, kedy prebiehala aj takzvaná softvérová kríza. S narastajúcim objemom kódu bolo potrebné definovať pravidlá – ako softvér vyvíjať a spravovať čo najefektívnejšie.

Osoby (alebo organizácie), ktoré majú záujem na vytvorení nejakého softvéru, sa nazývajú zákazníci. So softvérom interagujú (koncový) používatelia. Nie vždy je zákazník zároveň aj používateľ a vice versa (ale môže byť) – napríklad, spoločnosť chce vylepšiť dizajn svojho e-shopu, tak si najme webového dizajnéra (táto spoločnosť je zákazník). Ale tento e-shop budú používať zákazníci tohto e-shopu, nie samotná firma ktorá e-shop prevádzkuje (z hľadiska softvérového inžinierstva sú zákazníci tohto e-shopu používatelia). Na druhú stranu, ak by si napríklad táto spoločnosť obstarala softvér pre prehľad a správu svojich finančných výdavkov, bola by zároveň aj zákazníkom (pretože za softvér zaplatila) a aj používateľom (pretože ho bude používať).

Špecifikácia požiadaviek

Je dôležité rozlišovať a zosúladiť požiadavky zákazníkov a požiadavkami používateľov. Keď si zoberieme príklad s e-shopom vyššie, zákazník (teda, samotný e-shop) môže chcieť, aby mal zoznam produktov menej možností pre filtrovanie a vyhľadávanie a aby bol prehľadnejší. Používateľ (zákazník tohto e-shopu) ale môže mať naopak od softvéru iné očakávania a možnosti bohatého triedenia a filtrovania produktov. V realite je dôležité nedorozumenia jednoznačne komunikovať a riešiť čo najskôr od toho, ako nastanú. Vyhneme sa tak nejasnostiam v dizajne alebo logike samotnej aplikácie.

Aby bol tento proces definovaný od raného štádia vývoja softvéru, tak nám softvérové inžinierstvo ponúka špecifikáciu požiadaviek. Je to jeden z úplne prvých procesov vykonávaných v softvérovom inžinierstve, počas ktorého stručne a zreteľne definujeme hlavné funkčné a nefunkčné požiadavky daného softvérového projektu – aké kritériá musí daná aplikácia spĺňať.

Funkčné požiadavky

.

Nefunkčné požiadavky

.

Referencie

  1. I. Sommerville; Software Engineering, 10th Global Edition (2016; Archive.org)
  2. J. Šimko, M. Šimko, M. Bieliková; Softvérové inžinierstvo v otázkach a odpovediach (2017)