Úvod do softwarového inženýrství (IUS) — zhodnocení
By Bumerang
Pro mnoho studentů ten největší strašák zimního semestru, podle mě však neoprávněně. Spousta studentů tvrdí, že tento především teoretický předmět je naprosto k ničemu a ke všemu nudný. Já mám však na věc poněkud odlišný pohled.
V tomto předmětu se seznámíte s procesem vývoje softwaru a jeho životními etapami. Lidsky řečeno, uvidíte, čím vším si musí projít každý SW projekt a že to opravdu není jenom o tom, nabouchat aplikaci v nějakém programovacím jazyce, ale je potřeba spousta plánování a často byrokratických nutností. Určitě je ale potřeba mít o podobných věcech minimální přehled, i kdyby se tomu někdo v budoucnu vůbec neplánoval věnovat.
Na začátku musíte absolvovat „Knihovnický kurz“ (čti: mít z toho alespoň 1b), který spočívá v tom, udělat vždy jednou za týden buď nějaký projekt, nebo vyplnit nějaký test. Celý tento kurz vám dá přehled o nabídce nejrůznějších knihoven, seznámí vás s online katalogy nejrůznějších elektronických publikacích, ať už jde o nejrůznější práce nebo nejrůznější časopisy. A jelikož má VUT přístup do těch největších celosvětových databází, určitě nebudete mít nouzi o kvalitní zdroje pro svoje projekty/práce. Ale jak časem poznáte, nebudete mít zároveň čas se všemu pečlivě věnovat, natožpak přečíst všechny vytoužené publikace.
Projekty
Dalším projektem do tohoto předmětu je ryze praktická činnost – napsání dokumentace k jednomu z vašich projektů. Dříve se psala dokumentace ke dvěma projektům, za nás už pouze k jednomu a to ke druhému – Iterační výpočty. Já sám jsem jí psal v LaTeXu a to na kostře, poskytnuté Ing. Martinkem na jeho stránkách. Zjednodušeně řečeno, jeho obsah jsem nahradil svým a pouze poté nechal vygenerovat výsledný dokument. Celou tuto dokumentaci jsem napsal a vytvořil cca za 2,5h, což rozhodně nebyla doba postačující k dokumentaci ohodnocené plným počtem bodů. Byla to narychlo spíchnutá práce, která ani neměla všechny nutné položky. Proto jsem byl nakonec velice spokojený se ziskem 6b z 10b. Jenom díky LaTeXu a poskytnuté kostře jsem to stihl za tak krátkou dobu, neboť jsem se mohl věnovat pouze obsahu a nikoliv vzhledu. Kdybych se se vším měl párat v nějakém textovém editoru, asi by mi podobně vypadající dokument zabral tak čtyřnásobek času. Pro představu, LaTeX je vlastně něco jako HTML pro profesionální sazbu dokumentů. Zjednodušeně řečeno – spolu s vlastním obsahem dokumentu zároveň i „programujete“ jeho vzhled. Poté pouze na základě tohoto „programování“ si vygenerujete opravdu hezký dokument. Slovy dr. Smrčky: „Můžete psát a tvořit profesionální dokumenty bez toho, abyste zvedli prsty od klávesnice. Rozumíte – psát, jenom psát, bez myši.“
Posledním projektem byla tvorba diagramu případů užití, tří detailů případu užití a jednoho ER diagramu. Toto všechno jste stvořili z jednoho zadání. Toto zadání vám potom hodnotil odpovídající cvičící. A tehdy, když jsem ještě nevěděl, jaký je to asistent, jsem si se vší radostí zaregistroval projekt u cvičícího, kterého jsem měl na IAS. Jak asi tušíte, byla to chyba. Proto, až si budete přihlašovat u neznámých asistentů, věnujte nějakou chvilku tomu, abyste provedli jejich background-check. Ušetříte si potom spoustu starostí a pravděpodobně si zvýšíte šanci na lepší ohodnocení. Dále je kritické zvolit si správné zadání, můj Sklad se vyklubal v jedno z nejtěžších zadání (slova asistenta). A poté, věc ze všeho nejdůležitější – rozhodně zajděte na konzultace k vašemu zadání s již vypracovaným (či rozpracovaným) projektem. Musíte se totiž přesně trefit „do gusta“ vašemu asistentovi, neboť on to potom při hodnocení bude srovnávat s jeho představou. A navíc, pokud začnete včas, můžete získat navíc 2b za předčasné odevzdání (týden před termínem). A tyto body se vám budou hodit, proto rozhodně začněte včas. Nečekejte, až se proberou potřebné věci na přednášce.
Přednášky
Mým přednášejícím byl Ing. Radek „Walker“ Kočí Ph.D., kterého nemůžu doporučit. Proč „_Walke_r“ – při vykládání totiž neustále přechází ze strany na stranu a to celé dvě hodiny, po dobu trvání přednášky. Navíc celou dobu mluví naprosto monotónním hlasem a má tendenci každou informaci opakovat několikrát, často hned za sebou. Tedy sám dělá to, co u zkoušky rozhodně nestrpí. Zajímavý paradox. Druhý přednášející Ing. Bohuslav „Divočák“ Křena Ph.D. na tom byl o poznání lépe, působil živě a měl dobrý přednes.
Dále byly v tomto předmětu dvě přednášky externích přednášejících – prvním z nich byl Dr. Matthias Hauswirth ze švýcarské University of Lugano s tématem Software Performance. Jeho přednáška patřila mezi to nejlepší, co jsem na FITu prozatím zažil. Nejenže jeho švýcarský přízvuk dával celé přednášce lehce humorný nádech, ale především měl výtečně připravenou prezentaci, která byla vskutku působivá. A když se k tomu přidá jeho hláška: „Biiiiiiig computing centres!“ je vám myslím jasné, proč tu přednášku hodnotím tak vysoko. Další externí přednášející byla Ing. Dana Brhelová, výkonná ředitelka společnosti Artisys s.r.o., která nám povídala nejrůznější poznatky z praxe o výběru a požadavcích na kandidáty na nejrůznější IT pozice. Mluvila velice lidovým jazykem a poskytla nám opravdu užitečné informace, které opravdu nenajdete někde povalovat na internetu, ale šlo o její reálné zkušenosti.
Zkouška
Velikým strašákem u tohoto předmětu je zkouška – a asi říci, že oprávněně, ale není to žádná loterie, kde by záleželo na libovůli a náladě opravujícího, ale nároky jsou na všechny stejné. Je třeba se naučit množství definic a teoretických schémat, která čítají cca 100 stran ze skript (pozor, jsou zastaralé) + cca dalších 40 stran unikátních slajdů (kterých je samozřejmě mnohem víc, ale informace na 40 z nich nejsou uvedené v opoře). Ale dá se to všechno naučit, ty věci jsou naštěstí logické a nejedná se pouhé memorování (pokud to tak nepojmete a rozhodnete se tomu porozumět).
Šel jsem i na reklamaci zkoušky, abych získal jeden bod na lepší známku. Zde je několik postřehů, které mě tak potkaly. Pokud plánujete jít na reklamaci, přijďte raději o 30 minut dříve. Může se to zdát jako zbytečný luxus, ale pokud přijdete přesně na čas, může se vám stát to samé co mě – čekal jsem dvě a tři čtvrtě hodiny, než na mě přišla řada – a to jsem měl ještě štěstí, neboť původně měly reklamace trvat jenom 2h, ale naštěstí se doba na ně vyhrazená prodloužila. Po příchodu do „reklamační místnosti“ mě překvapila místnost o velikosti cca 3 x 4 m, která by se dala snadno zaměnit za celu. Do tohoto prostoru se vtěsnal stůl, dvě židle, skříň a gauč. Celá reklamace probíhala následovně – dr. Kočí, který opravoval teoretickou část, celou dobu nepřítomně zíral do zdi a na moje otázky, proč mi strhával body u otázek odpovídal stylem: „Hm, tohle z toho, co máte napsané, sice vyplývá, ale já si nehodlám nic domýšlet. Nemáte to tam explicitně uvedené.“ Pro představu – měl jsem uvedeno „doba nutná k provedení“, ale bylo vyžadováno „minimální doba nutná k provedení“ – mínus 2 body u 6 bodové otázky, kde všechno ostatní bylo dobře. Další – „etapy se opakují“ – mělo být „proces je iterativní“. A potom řekl perlu (k jiné otázce): „Vždyť z toho máte 5b z 8, to vám nestačí?“ – Ne, nestačí – chci mít otázku normálně ohodnocenou. Ten bod navíc jsem nakonec ani po 15 minutách intenzivní diskuze nezískal. Na jednu stranu jsem vytočený, ale na tu druhou je to „dobrá“ zkušenost s hodnocením obecně. I v životě potkáte spoustu lidí, kteří – ačkoliv by vám měli přiznat odměnu (body) a máte pro to i hmatatelné důkazy – vám pro svojí zatvrzelost/lenost/osobní důvody odměnu (body) nepřiznají, i kdyby jste jim uklidili stůl, vytřeli kuchyň a vyvenčili děti. Rozhodně ale podobná věc zamrzí.
Zkouška se skládala ze dvou částí – první část byly teoretické otázky, druhá bylo vymodelovat ER diagram dle zadaných specifikací – zde je třeba mít na paměti, že se v ERD modelují pouze statická data, neboť zde byla i spousta redundantních informací, sloužící pouze ke zmatení. Nyní následuje pár tipů, převzatých z komentářů k hodnocení zkoušky (což je poněkud smutné, že nám řekli, co u zkoušky přesně vyžadují, až zpětně):
Nenaznačujte některé atributy pouze tečkami, ale vždycky je přesně vypište. Nezapomínejte na vztahy, které ze zadání přímo vyplývají. Nepište zbytečné věci, kterými jenom ztrácíte čas – neopakujte to, co je v zadání otázky, nevymezujte se k něčemu jinému (process-oriented je opakem people-oriented). Nesnažte se napsat co nejvíce o tom víte – můžete tak zakrýt relevantní informace, nebo si dokonce protiřečit. Buďte přesní, jednoznační, nedávejte prostor pro domýšlení. Ale hlavně, přesně odpovídejte na uvedené otázky, i kdyby to měla být jednoslovná odpověď. Opravující tam musí najít výraz/formulaci, kterou hledá.
Prospělo studentů: 54,11%