Snímky prednášok
Softvérové inžinierstvo
Vývoj softvéru sa neskladá len zo samotného programovania. Je to zložitý proces, ktorého sa zvyčajne zúčastňuje viacero ľudí. Na tomto predmete sa zoznámite s postupmi a nástrojmi, ktoré sa používajú pri profesionálnom vývoji softvéru.
Softvér sa vyvíja postupne. Reálny softvér je zložitý a jeho vývoj trvá nejaký čas. Väčšinou sa musí meniť aj po tom, čo sa začne používať, aby sa prispôsobili meniacim sa požiadavkám a okoliu, alebo aby sa doplnila jeho funkcionalita. Je dôležité mať vždy možnosť vrátiť sa k niektorej staršej verzií a tiež synchronizovať zmeny medzi viacerými vývojármi. Na to slúžia systémy pre správu verzií ako je napríklad Git, ktorému sa budeme venovať najbližšie týždne.
Softvér musí skutočne riešiť problém zákazníka. Cieľom softvérového projektu v konečnom dôsledku nie je samotný softvér, ale uspokojenie potrieb zákazníka alebo používateľa, vyriešenie jeho problému. Z tohto dôvodu je dôležité hlavne pochopiť tieto potreby a problémy, ktoré sa musia riešiť. Až potom je možné navrhnúť riešenie, ktoré skutočne prinesie úžitok používateľovi. Tomu je potrebné sa venovať ešte pred tým, ako sa začne programovať, lebo inak nebudeme vedieť, čo programovať. My sa budeme tejto téme venovať od 4. cvičenia.
Softvér musí spoľahlivo robiť to, na čo je určený. Aby sme sa v tom uistili, musíme ho testovať. Robiť to len ručne je zdĺhavé, zložité. Pritom testovať program sa oplatí po každej zmene, lebo aj napriek snahe programátora sa môže stať, že pri zmene alebo doplnení jednej funkcionality pokazí nejakú inú. Preto testy musia byť automatizované, aby v ľubovoľný moment bolo možné ich spustiť a overiť, či sa niečo nepokazilo. To, ako vytvárať takéto automatizované testy, si ukážeme na 9. cvičení.
Softvér sa vyvíja tímom. Preto je podstatná organizácia tímu, prideľovanie úloh a komunikácia. Na to sa používa množstvo metodik a nástrojov. Medzi takéto nástroja patria aj systémy pre sledovanie úloh, v ktorých sa sústreďujú úlohy, hlásenia o chybách a diskusie k nim.