Softwarové inženýrství je o lidech

Dnes pokračujeme v rozhovoru s Přemyslem Bradou z Katedry informatiky a výpočetní techniky Fakulty aplikovaných věd Západočeské univerzity. První část jste si mohli přečíst před dvěma týdny, dnešním tématem je vztah univerzit k reálnému životu a ke komerční sféře. Hovoříme také o základních problémech a úskalích softwarového inženýrství.
V rámci svého pedagogického působení se pokoušíte vštípit studentům zásady softwarového inženýrství. Jak hodnotíte jejich zájem o tento obor?

Statistická distribuce funguje pořád stejně, takže mezi studenty je vždycky několik jedinců, kteří mají velký zájem a je to vidět, a pak je v ročníku několik studentů, kteří o to zájem prostě nemají, protože je zajímají jiné věci. Ale musím říct, že jsem poměrně potěšen vcelku vysoce kladnými reakcemi studentů, zvláště když přijdou po jednom roce nebo po několika letech praxe, během níž zjistí, že tyto věci je opravdu potřeba dělat. Buď mají pozitivní zkušenost, že to firma dělá a že oni vědí, o co jde, a vidí, že to opravdu přináší propagovaný efekt, a nebo vidí , že se to nedělá a že tím projekt nebo software trpí. Mám několik velmi kladných reakcí od studentů, kteří říkali, že to byl jeden z nejužitečnějších předmětů na této škole.

Jak vidíte provázanost univerzit v ČR s reálným životem? Nejsou podle vás školy příliš uzavřené okolnímu dění?

Myslím, že ne. Myslím si, že chuť ke spolupráci existuje, spíše vidím problémy praktického charakteru, že třeba není dost času na navázání nějaké intenzivní spolupráce s komerčním nebo průmyslovým partnerem. Takovou spolupráci je třeba budovat, věnovat tomu síly a investovat se odborně i časově nebo manažersky. To se někdy daří a někdy nedaří, také podle toho, jak firmy pokryjí zájmy dané katedry nebo lidí na katedře. Naše katedra má několik projektů s komerčními firmami, dělá se software pro ČEZ, poměrně dobré vztahy panují mezi námi a firmou CCA, ve které naši studenti dělají bakalářské a diplomové práce. Teď je navázána spolupráce s firmou na výrobu internetové aplikace, čili nějaké vztahy jsou. Myslím, že by bylo lepší, kdyby jich mohlo být ještě víc, ale všechno je v rámci možností.

Poměrně důležitou roli univerzit vidím právě v jejich vzdělávací roli, protože je vždycky poznat, když do nějakého odborného časopisu typu Chip nebo Softwarové noviny píší lidé, kteří mají zázemí na univerzitě a kteří jednak píší o věcech aktuálních a jednak jsou fundovaní. Myslím, že tohle je nepřímý vztah akademického světa s komerčním, ale dost významný, protože tam je možnost proniknout do povědomí a ovlivnit ho.

Pak si myslím, že je třetí oblast, která není zatím úplně rozšířená, ale ve které vidím větší budoucnost, a to je školení a přímé vzdělávání. Firmy budou potřebovat přecházet na nové technologie a metodiky, používat nové nástroje – a lidé z univerzit se v této oblasti pohybují, znají aktuální špičky dění a mohou tyto informace poskytovat.

Zase ovšem často nemají k dispozici ony nejnovější technologické vymoženosti.

Toho se dá právě skrze tuto spolupráci docílit, protože zase firmy, když vidí, že spolupráce vede k něčemu, co je pro ně prospěšné, nemají zábrany podpořit univerzitu třeba licenčním nákupem, darem či softwarem, který škola může potom využít. Naše univerzita má teď například uzavřenou smlouvu s firmou SAP a může využívat informační systém SAP při výuce studentů, což je velmi dobrý příklad, jak je taková spolupráce oboustranně výhodná.

Jak vypadá totéž téma v Anglii?

Já si myslím, že dost podobně. Akademický svět je vždycky částečně uzavřen v tom smyslu, že jeho podstatnou úlohou je výzkum, což je oblast, která se pro praktickou aplikaci může hodit hned nebo až za několik let – nebo se zjistí, že tudy cesta nevede. A taky je to důležité zjištění. Výzkum zabírá nezanedbatelnou část sil. Velké univerzity v západním světě mají těsnější vazby s průmyslovým světem jednak proto, že z řad absolventů fakult vznikají nové firmy, které pak pochopitelně na univerzity mají těsné vazby a jsou pro ni zdrojem dalších nápadů a třeba i příjmů, a jednak univerzity se opravdu podílejí na vývoji ve velmi specializovaných oblastech, ve kterých pro komerční svět není vždycky snadné získat specialisty. Třeba v oblasti umělé inteligence tahle spolupráce funguje na vývoji expertních systémů, dále v oblasti počítačových sítí, kde vývoj nových síťových prvků je do značné míry výzkumnou záležitostí. Potom je to oblast standardizace: univerzity se podílí na práci standardizačních orgánů a ty zase mají dopad na praktickou práci firem. Například standardy typu XML nebo konsorcia W3C jsou do značné míry dílem spolupráce lidí z univerzit a lidí z praxe. Třeba právě zmiňovaný Capability Maturity Model je vyloženě záležitost, která vznikla na akademické půdě, ale v těsné součinnosti s potřebami softwarového průmyslu. Obecně mají špičkové univerzity šanci proniknout do oblastí, které ovlivňují softwarový svět a vývoj ve velkém měřítku.

V rámci Vámi vyučovaného předmětu vyvíjejí týmy studentů software pro externí zadavatele. To je určitě krok správným směrem, ale daří se Vám přesvědčit kolegy na katedře, aby se pokusili o totéž?

Snaha zadávat práce, které jsou používány v praxi, vždycky byla a v poslední době se ještě zvýrazňuje. Většinou záleží na zaměření toho každého vyučujícího, v jaké oblasti se pohybuje, a tudíž jestli jeho práce se dá snadno aplikovat nebo ne. Třeba kolegové, kteří učí hardwarové předměty, mají poměrně úzkou spolupráci s firmou Panasonic a dalšími firmami, počítačoví grafici rozvíjejí poměrně úzkou spolupráci s externími firmami a zadavateli, vím, že existují práce, které vedou kolegové z databázové oblasti a které byly vytvářeny pro Škodu Auto, a podobně. Ze své pozice se snažím propagovat, že je chvályhodné, aby studentské práce byly pro externí zákazníky, protože se tím studenti naučí další věci, které jim pak budou užitečné.

Jak se k tomu staví sami studenti? Přece jen, vyučující nemusí odhalit případné chyby v odevzdaném softwaru, zatímco externí firmy mají vyšší nároky?

To je pravda, ale pro studenty je často velká motivace pracovat na něčem reálném. Za těch pět let studia si dost užijí prací, které jsou založeny do šuplíku a už nejsou nikdy použity. Takže to, že můžou dělat na něčem, co někdo opravdu potřebuje a využívá, je těší.

Softwarové inženýrství není jen o softwaru

Jak byste Vy sám definoval softwarové inženýrství? Co pro Vás a podle Vás znamená?

Když budu volně parafrázovat definici, která padla už v roce 1969 na první konferenci zabývající se přímo softwarovým inženýrstvím, je to způsob, jakým nějakou organizovanou, řízenou cestou vytvářet software tak, aby byl vytvořen efektivně a aby efektivně, správně a rychle pracoval. Myslím si, že v principu jde především o dvě věci. Jednou z nich je záležitost procesu vývoje: je potřeba opravdu postupovat nějakou posloupností kroků, aby člověk při vývoji na něco nezapomněl a něco neošidil. Druhým aspektem jsou nástroje, notace a další pomůcky, které pomáhají, když proces samotný nestačí. To znamená CASE nástroje pro analytiky a návrháře a různé vývojářské nástroje pro programátory, dále nástroje po manažery a pro podporu plánování, pro odhad softwaru, pro konfigurační řízení, pro testování… Tam je opravdu hodně věcí, které je potřeba umět používat, aby vývoj byl „k něčemu“. A tohle všechno, znalost procesu i nástrojů, patří k podstatné výbavě softwarového inženýra.

Co je podle Vás obecně největším problémem softwarového inženýrství?

Pominu technologické záležitosti, protože technologie se vyvíjí a v současné době třeba vlastně není metodika a ani nástroje pro aktuálně potřebný vývoj distribuovaných internetových aplikací. Podstatným problémem vždycky bude to, že softwarové inženýrství není jenom o softwaru jako technologickém produktu a vlastně nějak zakódovaném algoritmu, který je dokazatelně správný, a tudíž je to matematický objekt. Softwarové inženýrství je o lidech, o jejich přístupu k věci, o jejich způsobu práce, o tom, že každý se hodí na něco jiného. Myslím si, že právě tohle bývá největším kamenem úrazu pro studenty, kteří jsou na technické fakultě a musejí se naučit spolupracovat s jinými lidmi a vejít se do nějaké kultury mezilidské komunikace – a je to někdy problém. Pak to bývá problém pro firmy, protože si neuvědomují, že v lidském potenciálu je největší zdroj zisků. Vychovávat své lidi, vést je, dělat dobré plánování projektu tak, aby podřízení netrpěli pod návalem práce, a mohli tudíž dělat svou práci dobře – to bývá po mém soudu největším zdrojem problémů. Čili softwarové inženýrství vždycky obsahuje nějaké oblasti, které potřebují reagovat na aktuální vývoj v technologiích a podobně, a pak jsou tzv. essential problems, podstatné problémy, že software vždycky je a bude složitá záležitost a vždycky bude třeba se s tou složitostí vypořádávat, jak nejlépe umíme, a nikdy na to nenajdeme snadnou pomůcku. A vždycky jsou tam lidé, se kterými musíme umět zacházet. Tohle nám nikdo neodpáře.

Je něco, co Vám leží v hlavě, co Vám nedá spát?

V hlavě mi leží to mimino, které se nám má za měsíc narodit a na které se moc těším. A také mi leží v hlavně několik projektů, které bych rád uskutečnil částečně v rámci své výzkumné činnosti a částečně inspirované mou praxí zejména ze školení. Bylo by potřeba, aby pro softwaráře existovaly nástroje třeba pro vizualizaci softwaru a podobně.

Diskuze (4) Další článek: Bezpečnostní chyba přehrávače Flash

Témata článku: Software, Programování, Velká role, Komerční let, Důležitý krok, Technologický vývoj, Univerzita, Reálný život, Externí firma, Essential, Značný problém, Studenti, Největší smysl, Okolní dění, Inženýr, Největší projekt, Softwarové inženýrství, Složitá záležitost, Okolní svět, Velká motivace, Důležitá role, Průmyslový partner, Inženýrství, Podstatný problém


Určitě si přečtěte

ReactOS: Zapomenuté a open-source Windows, které nevyrobil Microsoft

ReactOS: Zapomenuté a open-source Windows, které nevyrobil Microsoft

** Představte si svobodné Windows. Bláznivá vize? ** Vývojáři je přitom začali psát už před více než dvaceti lety ** Jmenují se ReactOS a spustíte na nich i Total Commander

Jakub Čížek | 54

10 věcí, které jste odkládali „na jindy“, ale teď je konečně můžete udělat

10 věcí, které jste odkládali „na jindy“, ale teď je konečně můžete udělat

** Karanténní opatření nás drží doma a mnozí mají více času navíc ** Připomeneme proto často odkládané činnosti uživatelů počítačů ** Právě teď je ten správný okamžik, kdy se do nich pustit

Karel Kilián | 75

Proč je COVID-19 tak nebezpečný, jak se detekuje, jak ničí a máme už pandemii?

Proč je COVID-19 tak nebezpečný, jak se detekuje, jak ničí a máme už pandemii?

** V čem spočívá nebezpečí nemoci COVID-19? ** Jak se testuje její přítomnost v těle? ** Jak se ničí UVC i ozónem a proč už CNN mluví o pandemii?

Jakub Čížek | 73


Aktuální číslo časopisu Computer

Megatest 24 PC zdrojů

Jak využít umělou inteligenci

10 špičkových sluchátek s ANC

Playstation 5 vs Xbox Series X