Ciele
- Zistiť, čo je to softvérové inžinierstvo.
- Dozvedieť sa obsah cvičení a podmienky získania zápočtu.
- Naučiť sa inštalovať nástroje potrebné pre vývoj.
Postup
Krok 1: 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.
Krok 2: Zadania a hodnotenie
Úloha 2.1
Pozrite si podmienky pre získanie zápočtu.
Krok 3: Nástroje
Pri vývoji softvéru sa používa množstvo nástrojov, ktoré zjednodušujú našu prácu, alebo ju robia efektívnejšou. Je potrebné naučiť sa tieto nástroje inštalovať a používať.
Inštalácia programátorských nástrojov v systéme Linux je väčšinou veľmi jednoduchá. Stačí použiť systém pre správu balíkov vašej distribúcie. Napríklad na inštaláciu Gitu a nástrojov pre vývoj v jazyku C stačí zadať jeden príkaz:
dnf install git gcc make # Fedora
apt install git gcc make # Ubuntu/Debian
V macOS je možné použiť nástroj Homebrew. Po jeho inštalácii použíte príkaz brew
:
brew install git
brew install gcc
brew install make
Takáto jednoduchá inštalácia nástrojov je však možná aj na Windows s pomocou nástroja Chocolatey. Po tom, čo si ho nainštalujete, môžete ďalšie programy inštalovať jedným príkazom a Chocolatey zabezpečí zvolenie potrebných parametrov inštalácie a nastavenie premenných prostredia potrebných pre používanie inštalovaných nástrojov (napríklad premennej PATH). Takže inštalácia Gitu a nástrojov pre vývoj v C bude spočívať v týchto príkazoch:
choco install git --params "/GitAndUnixToolsOnPath"
choco install mingw
choco install make
Jedným z najpodstatnejších nástrojov programátora je editor zdrojového kódu alebo integrované vývojové prostredie. Na počítačoch v učební máte nainštalovaný populárny editor Visual Studio Code. Aj ten je možné nainštalovať pomocou Chocolatey:
choco install vscode
Poznámka
VS Code podporuje množstvo funkcií, ktoré je možné dopĺňať pomocou rozšírení. Funkcie sa dajú nájsť v palete príkazov prístupnej pomocou skratky Ctrl+Shift+P
.
Alternatívnou možnosťou ako používať nástroje Git, GCC a Make v prostredí Windows je Windows Subsystem for Linux (WSL).
Krok 4: Domáca úloha
Úloha 4.1
Nainštalujte si na svoj počítač nástroje podľa návodu v predchádzajúcom kroku. Pokiaľ je to možné, doneste si na budúce cvičenie vlastné notebooky s nainštalovaným nástrojmi.
Úloha 4.2
Prečítajte si aspoň dve podkapitoly z knihy Pro Git:
Vytváranie SSH kľúčov a ďalšie príkazy si zopakujte pomocou materiálov z predmetu ZAP.
Zdroje
- Samer Buna. Software Engineering is different from Programming
- Scott Chacon a Ben Straub. Pro Git book — základná účebnica Gitu
Doplňujúce zdroje
- MIT. The Missing Semester of Your CS Education: the shell
- Matt Might. Survival guide for Unix newbies
- Matt Might. Settling into Unix