Programų sistemų katedra įkurta 1999 metų gegužės 10 dieną.
Programų sistemų katedros steigimo pagrindimas
Kodėl reikia steigti informatikos krypties naują katedrą?
Šeštąjame dešimtmetyje atsiradusi informatikos niša pildėsi
iš dviejų srautų: radioelektronikos ir matematikos.
Raidos pradžioje radioelektronikų įsiliejimą į informatikų
gretas lėmė kompiuterių techninės įrangos vyraujanti padėtis
prieš jų programinę įrangą. Vėliau, šiam santykiui kintant
programinės įrangos naudai, toks įsiliejimas mažėjo.
Matematikų persikvalifikavimas į informatikus arba jų
savarankiškas informatiko kvalifikacijos įgijimas yra dažnesnis
reiškinys negu radioelektronikų atveju.
Pirmoji informatikos 25 inžinierių laida 1960 metais baigė
Kauno Politechnikos Institutą. Sekantį dešimtmetį šį
institutą baigė kasmet vidutiniškai 23 inžinieriai su vis
besikeičiančiu specialybės pavadinimu: skaičiavimo mašinos,
matematiniai ir skaičiavimo prietaisai bei įrenginiai ir pan.
Nuo tų metų iki dabar ruošiami kompiuterių techninės įrangos
inžinieriai.
1972 metais Kauno Politechnikos Institutą baigė 24 taikomosios
matematikos ir 6 automatizuoto valdymo sistemų absolventai. Jie
pradėjo tenkinti vis augančius matematinės ir programinės įrangos
bei kompiuterių taikymo poreikius.
Vilniaus Universitete informatikos pradžia susijusi ne su naujos
specialybės įvedimu, bet su matematikos specialybės gamybinio
profilio absolventų paskyrimu į darbą kompiuterių
programuotojais. Pradžia galima būtų laikyti 1962 metus. Per
dešimtmetį matematikų gamybininkų absolventų skaičius išaugo
nuo 25 iki 50.
Matematikos specialybės absolventai nuo 1960 metų ir žymia
dalimi iki dabar savarankiškai įgyja informatikų kvalifikaciją.
Bet kuriuo atveju, ginčas dėl matematinio paruošimo tinkamumo
darbui informatikos srityje yra daugiau vietinio ir teorinio pobūdžio,
nes pasaulinėje praktikoje tiek informatikos disciplina, tiek
informatikos specialybė yra savarankiški dalykai. Tačiau
faktas yra tas, kad žymi, nors vis mažėjanti, dalis
besidarbuojančių informatikoje turi bazinį matematiko išsilavinimą.
Taikomosios matematikos specialybė Vilniaus Universiteto
Matematikos fakultete įkurta 1970 metais. Šios specialybės įkūrimas
sudarė palankesnes sąlygas informatikos vystymuisi Matematikos
fakultete, mokymo proceso atitikimui informatikos disciplinos
reikalavimams. Taikomosios matematikos specialybėje 1979 metais
įsteigta ESM matematinės įrangos specializacija ir šią
specializaciją kuruojanti ESM matematinės įrangos katedra.
Informatikos specialybė Matematikos fakultete įsteigta 1991
metais. Specialybėje yra dvi jau anksčiau susiformavusios
specializacijos, kurių pavadinimai evoliucionavo iki šiuo metu
naudojamų pavadinimų: kompiuterių mokslas ir programų
sistemos.
Matematikos fakultete neatsirado matematikų (kaip daugelyje kitų
universitetų), kurie persikvalifikuotų į informatikus. Todėl
vienintelis būdas spręsti aukščiausios kvalifikacijos
informatikos specialistų problemą buvo pasinaudoti kitų
universitetų specialistais, pasikviečiant juos pačius arba
siunčiant pas juos mokytis savus studentus ir jaunus dėstytojus.
Į Maskvos, Peterburgo ir kitus universitetus buvo pasiųsta visa
eilė studentų ir stažuotojų su tikslu baigti aspirantūrą ir
paruošti mokslų kandidato disertaciją. Vykdant šį planą, užmegztas
labai glaudus bendradarbiavimas su žymiausiais Rusijos
informatikos specialistais, paruoštos ir apgintos aštuonios
mokslų kandidato disertacijos informatikos mokslų kryptyje.
Betarpiškai informatikos specialistų rengimo pradžia Vilniaus
Universitete reikėtų laikyti 1981 metus, kai studijas baigė
pirmieji taikomosios matematikos specialybės ESM matematinės įrangos
specializacijos absolventai.
Per 20 metų nuo ESM matematinės įrangos katedros įsteigimo
informatikoje ir jos reikšmingumui visuomenėje įvyko dramatiški
pasikeitimai. Tų pasikeitimų natūralus atspindys - įsteigti
Informatikos fakultetai, specialybės, katedros daugelyje
Lietuvos universitetų. Tuo tarpu Matematikos fakultete šie
procesai užkonservuoti lyg "mamutai amžino įšalo žemėje".
Kiekvienas pakitimas lydimas daugybe kompromisų, kaip kokie
svarsčiai prie kojų trukdančių vytis nuvažiuojantį
informatikos traukinį. Kur tai matyta, kad XX-to amžiaus pačioje
pabaigoje informatikos pirmakursiai mokytųsi pagal klasikinę
matematikos studijų programą su 60 proc. studijuojamų grynai
matematinių disciplinų?
Per tuos 20 metų, nors ir sunkiai, bet vis tik įvyko rimtų
pokyčių - apie pusę fakulteto studentų yra informatikai. Todėl
informatikos krypties naujos katedros steigimas yra natūralus
dalykas, mažinantis susidariusį disbalansą ir nereikalaujantis
jokių papildomų argumentų. Priešingai, nėra jokių argumentų
esamo disbalanso išsaugojimui, išskyrus grupinius interesus. Tačiau
informatikos Vilniaus universitete, kaip pagrindinio informatikos
centro Vilniuje, vystymosi blokavimas yra per didelė kaina
Lietuvai už atskirų grupinių interesų tenkinimą.
Kodėl reikia steigti Programų sistemų katedrą?
Prieš dešimtį metų pasauliniu mastu imta vis
labiau akcentuoti programinės įrangos krizę ir imtis adekvačių
veiksmų jos įveikimui. Tyrimais nustatyta, kad vos keli
procentai sukurtos programinės įrangos yra naudojama. Be to,
daugelio programinės įrangos projektų faktiniai kaštai ir
terminai net kelis kartus viršija planinius. Programinės įrangos
kūrime į pirmąjį planą iškyla inžineriniai bei ekonominiai
aspektai. Programinės įrangos instrumentinių priemonių kūrimas
ir gamyba vis labiau koncentruojasi atskiruose taškuose, o
visuotiną pobūdį išsaugo tik taikomosios programinės įrangos
kūrimas bei integravimas, panaudojant esamus instrumentus bei
metodus.
Kaip reakcija į programinės įrangos krizę, į areną ateina
programų inžinerija (Software Engineering), ypač kaip
savarankiška profesija ir kaip savarankiška specialybė.
Buvo toks laikas, kai matematikos specialybė tarnavo tramplinu
į programuotojo profesiją. Laikui bėgant, situacija pasikeitė
ir atsirado vienokiu ar kitokiu pavadinimu "programuotojo"
specialybė. Dabar istorija padarė dar vieną kilpą spirale.
"Programuotojo" specialybė tarnauja tramplinu programų
inžinieriaus profesijai. Tačiau labai rimtai formuojasi
savarankiška programų inžinerijos specialybė. Nekyla didesnių
abejonių, kad dabartinė "programuotojo" specialybė
taps nelabai tinkamu būdu pasirengti programų inžinieriaus
profesijai.
Galima būtų pabandyti apibūdinti informatikos pasaulyje
vykstančius procesus. Kompiuterių mokslas jungiasi su
kompiuterių inžinerija, bet programų inžinerija atsiskiria ir
galbūt absorbuos informacines sistemas. Prasidėjo diskusija: ar
programų inžinerija yra kompiuterių mokslo ir inžinerijos
dalis, ar priešingai, kompiuterių mokslas ir inžinerija yra
programų inžinerijos dalis. Programų inžinerija, kaip
savarankiška esybė - disciplina, specialybė, profesija - dar
tik kuriasi, dar nėra laiko patikrintų stereotipų. Kelias dešimtis
metų programų inžinerija egzistuoja tik kaip skyrius, dalykas
ar pareigos. Tam tikra prasme programų inžinerijos savarankiškumas
atsiranda kaip reakcija į kompiuterių mokslo ir inžinerijos
akademizmą, instrumentinę orientaciją, inžinerijos, kaip
ekonominės kategorijos, traktavimo stoką.
Viskas, kas esminio vyksta informatikoje, vyksta Amerikoje, tik
nevadinant to informatika. Visa ta struktūrizacija, visos srovės
vyksta JAV. Kitur pasaulyje tėra tik tų procesų atšvaitai.
Mes ilgą laiką džiaugėmės ir tebesidžiaugiame, kad
informatika - tai intelektualiam darbui imlus užsiėmimas, o mes
kaip tik ir esame intelektualūs, nors ir neturtingi, neturim
jokių iškasenų ar šiaip naudingų dalykų, išskyrus tranzitą
ir gražias moteris. Vadinasi, mums informatika tik ir užsiėminėt.
Atrodo, kad informatika pastaraisiais metais įgavo naują esminį
bruožą, labai mums nemalonų ir verčiantį atsigręžti į inžinerinius
ir ekonominius aspektus.
Informatika tampa finansams imliu užsiėmimu!
Praėjo tie laikai, kai du vyrukai garaže informatikos verslą
pradėjo... Dabar mes labai sėkmingai padedame tų vyrukų
produktus pardavinėti. Padedame, nors ir ne taip sėkmingai,
parduotus prižiūrėti. Dar nesupratome, ar galime patys sau kažką
tautiška pasidaryti, ar reikia paprašyti, kad užsieniečiai
padarytų. Bandoma ir vienaip, ir kitaip. Buvo netgi bandyta
pavyti ir pralenkti iki 2000-ųjų metų. Tik viena bėda: visos
tos idėjos gimsta komersantų galvose, reikalinga tik kilni
priedanga: Lietuvos informacinė infrastruktūra, lietuviškas
kompiuteris mokykloms, lietuviškas kompiuteris apskritai, mokyklų
kompiuterizacija, savivaldybių ir valstybinių valdininkų
informatizacija, muitininkų digitalizacija, bobučių
kortelizacija ir t.t. Kol dar nėra principo: man gerai, kai
klientui gerai ir kol užsakovas nėra šeimininkas - visi tokie
projektai yra pasmerkti. Pačiu geriausiu atveju, kai jokios
korupcijos nėra, situaciją Lietuvoje ryšium su didesniais
informatikos projektais galima būtų apibūdinti: "Yra
galimybė pasirinkti Škodą arba Mersedesą. Ką renkiesi?"
Natūralu, kad renkasi Mersedesą, pvz. ORACLE, o tas, kas bando
taupyti valdiškus pinigus, lieka durniaus vietoje. Yra
tarpusavyje konkuruojantys komersantai, yra valdininkai, kartais
suinteresuoti, kartais nekompetentingi, ir tokioje situacijoje
valstybė turėtų būti suinteresuota stipraus nepriklausomo
informatikos ekspertų centro buvimu. Programų sistemų katedros
įkūrimas Vilniaus universitete būtų žingsnis šia linkme.
Kažkaip savaime Lietuvoje labai prigijo terminas "informatika".
Gal tik bibliotekininkai kiek protestavo, kadangi buvusioje Tarybų
Sąjungoje tas terminas buvo užimtas ir turėjo kitokią prasmę,
būtent, bibliografinės informacijos apdorojimo automatizavimas.
Jėgos buvo per daug nelygios ir į tuos protestus niekas dėmesio
nekreipė. Per daug jau visiems buvo įgrisę: ESM matematinė
įranga, programinė įranga, techninė įranga. Kompiuterių
mokslas, kompiuterių inžinerija ar programų inžinerija irgi
kažkaip nelimpa. Visiems tiko informatika, visi esam
informatikai. Struktūra ir srovės liko praeityje. Ar vėl
atsiras struktūrizacija? Yra balsų, raginančių, kad mums
reikia pasiskirstyti, specializuotis, kad vieni universitetai
keltų sau vienus tikslus, kiti - kitus, kad turėtume skirtingas
informatikos studijų programas ir pan. Gana aišku, kad valingų
sprendimų laikai praėjo ir kad procesas vyks natūraliai. Kaip
jis vyks? Nėra akivaizdu. Net ir dabar vykstantis programų inžinerijos
formavimasis nėra paties dalyko sąlygotas. Kompiuterių mokslas,
kompiuterių inžinerija, programų inžinerija ir informacinės
sistemos iš esmės kalba apie tą patį, tik skirtingai sudeda
akcentus. Programų inžinerija akcentuoja ekonominius sprendimų
aspektus: geras programų inžinerijos sprendimas yra ekonomiškas
sprendimas. Informacinės sistemos yra labai svarbi taikymų
sritis, galbūt pati svarbiausia.
Pagal įvykių raidą informatikoje schematiškai galima būtų
apjungti kompiuterių mokslą ir inžineriją į vieną grupę
bei programų inžineriją ir informacines sistemas - į kitą.
Tokio sustambinto sujungimo kriterijais galima būtų laikyti:
1) pirmaeilis kompiuterių mokslo ir inžinerijos uždavinys yra
instrumentinių (gamybos) priemonių gamyba, o programų inžinerija
ir informacinės sistemos visų pirma orientuoti į taikymus,
nors, savaime suprantama, programų inžinerijos metodai yra
taikomi ir instrumentinių priemonių gamyboje;
2) kompiuterių mokslas ir inžinerija labiau iškelia mokslą
bei tyrimus, projektuojami dalykai turi geresnį teorinį pagrindą,
einama nuo apačios į viršų. O programų inžinerija ir
informacinės sistemos dažnai susiduria su uždaviniais, kurių
nėra išsprendę kompiuterių mokslas ir inžinerija. Tai yra
praktiniai uždaviniai ir juos bet kuriuo atveju reikia spręsti,
nors mokslas ir mažai pagelbsti. Aišku, gaunami nekokybiški
arba nepakankamai kokybiški sprendimai, bet pasirinkimo nėra. Išsprendus
daugybę tokių praktinių uždavinių, susikaupia tam tikra
patirtis, atsiranda poreikis ją apibendrinti, užfiksuoti, t.y.
gaminti žinias ir dalintis jomis su kitais. Tai ir sudaro
programų inžinerijos ir informacinių sistemų sritis. Tos žinios,
aišku, yra kitokios, negu kompiuterių mokslo. Nėra tokių griežtų
sąvokų, nėra tokių formalizmų, mažiau įrodymų, daugiau
atpasakojimo, arčiau į socialinius mokslus. Iš pradžių ieškoma
atsakymų į pačius bendriausius klausimus, vėliau siekiama
juos detalizuoti. Sąlygiškai galima būtų sakyti, kad einama iš
viršaus į apačią. Tai tiesiog pats gyvenimas.
Tačiau nėra nieko praktiškesnio už gerą teoriją.
Objektyvumo dėlei tinka paklausti: kas gali būti vertingesnio
programų inžinerijai ir informacinėms sistemoms už matematikų
sukurtus reliacinių duomenų bazių valdymo sistemų pagrindus
arba asimetrinį kriptavimo mechanizmą. Panašu, kad ypatingą
svarbą įgis matematika pagrįstas programų kūrimo metodas
CLEANROOM. Savaime aišku, iš to neseka, kad bet kokia
matematika ar bet kokie matematikai tinka ir gali traukti
informatikos vežimą.
Nėra jokio pagrindo kalbėti apie prieštaravimus tarp
kompiuterių mokslo ir inžinerijos bei programų inžinerijos ir
informacinių sistemų. Priešingai, galima manyti, kad tai yra
skirtingi, naudingi ir svarbūs požiūriai į tą patį dalyką,
egzistuojantys dėl negalėjimo pavieniui susidoroti su praktikos
padiktuotomis problemomis.
Gary Ford iš JAV Gynybos Departamento įsteigto ir finansuojamo
Programų inžinerijos instituto prie Carnegie Mellon
universiteto atkreipia dėmesį, kad universitetuose, kur nėra
inžinerinių padalinių, pavadinimas "Software Engineering"
gali kelti komplikacijų ir siūlo naudoti neutralų terminą
"Software Systems". Todėl bent jau lietuviškai galėtume
sakyti "programų sistemos", tačiau susikalbėjimo dėlei,
kad nereikėtų papildomų komentarų, anglų kalba tikslinga būtų
naudoti terminą "Software Engineering".
Lietuvos informacinių technologijų firmų vadovų daug kartų išsakyti
pageidavimai, išreiškiami vienokiais ar kitokiais žodžiais,
faktiškai reiškia, kad jiems labiausiai trūksta programų inžinierių
(naudojant šiuolaikinę terminologiją). Todėl informatikos
Vilniaus universitete vystymosi strateginis žingsnis būtų
parengti programų sistemų (programų inžinerijos) studijų
programą ir ją įgyvendinti.
Šiam uždaviniui atlikti ir yra steigiama Programų
sistemų katedra.
Kas gali atlikti Programų sistemų specialistų ruošimo darbą?
Programų inžinierius - tai profesionalas, apjungiantis
savyje 3 sugebėjimus: programuotojo, projektuotojo bei analitiko
ir kiekviename iš šių vaidmenų taikantis programų kūrimo
proceso metodus (technical management).
Programų inžinierių rengimas iškelia netradicinius
reikalavimus studijų procesui ir jį vykdančiam pedagogų
personalui. Šios studijų krypties pedagogai turi subtiliai
derinti moksliškumą su profesionalumu.
Programų sistemų katedra savo veikloje turi integruoti 3
komponentes: programų sistemų studijų užtikrinimą, programų
inžinerijos analitinius bei tiriamuosius darbus ir programų inžinierių
profesinės kvalifikacijos palaikymą bei ugdymą industrinių
informatikos projektų pagrindu.
Informatikos specifika reikalauja bent jau dalies dėstytojų su
industrine patirtimi. Dėl tos priežasties, pavyzdžiui, mums
gerai žinoma Maskvos universiteto sisteminio programavimo
katedra buvo ir yra sukomplektuota iš esmės tik iš specialistų,
kurių pagrindinė darbovietė yra ne universitetas. Analogiška
situacija yra labai dažna ir Vakarų šalių universitetuose.
Nors Vilniaus universitetas yra paskelbęs, kad antraeilininkų
skaičius yra per didelis, kad siektina jį mažinti, tačiau
informatikos atveju tai nėra skiriamasis požymis tarp gerų ir
prastų darbuotojų. Tiek gerų, tiek prastų darbuotojų gali būti
ir tarp antraeilininkų ir tarp pagrindinėse pareigose Vilniaus
universitete dirbančiųjų. Informatikos kryptyje
antraeilininkai nėra blogybė, tai yra tiesiog normalu. Todėl
principas: "antraeilininkų neskaičiuokime" yra
nepriimtinas ir neatitinkantis tikrovės.
Pasiūlymą parengė komisija (A. Mitašiūnas, S. Ragaišis, A. Šermokas) daugkartinių konsultacijų su Informatikos katedros darbuotojais pagrindu. 1998.12.07.