IDK0070 **TARKVARATEHNIKA** (3,5 AP; 2-0-2) Loengud: teisipäeviti kell 10-11.30 auditooriumis IT-140 Laboritunnid: esmaspäeviti kell 10-11.30 arvutiklassis IT-111 Mis on ühist kaitsesimulaatoritel, Skype-il, energia ülekandesüsteemidel ja liikluskaameratel? Need on kõik keerukad süsteemid, kus osalevad nii inimesed kui riist- ja tarkvara. Niisuguste süsteemide loomiseks ei piisa ainult programmeerimisoskustest. Heitmaks pilku tarkvarasüsteemide loomiseks vajalikele protsessidele, meetoditele, tööriistadele ja standarditele, loetakse 2008./2009. õppeaasta sügissemestril kursust “Tarkvaratehnika”, mis on hädavajalik igale vähegi suuremas projektis osaleda soovivale tarkarainsenerile, rääkimata projekti- või arendusjuhtidest. Kursus toimub koostöös Eesti juhtivate tarkvarafirmadega Webmedia, Hansapank, Skype, Äripäeva veebikeskus, Cybernetica, Know IT Estonia ja Programeter, kelle esindajad peavad nii loenguid kui annavad ka laboreid. Kursust koordineerib tarkvaratehnika **professor Kuldar Taveter**, kes töötas viimased kolm aastat Austraalias Melbourne Ülikooli arvutiteaduse ja tarkvaratehnika osakonnas ja enne seda kaheksa aastat Soome Riikliku Tehnikauuringute Keskuse infotehnoloogia osakonnas. Aines antakse ülevaade tarkvarasüsteemide loomiseks vajalikest protsessidest, meetoditest, tööriistadest ja standarditest. Käsitletakse järgmisi teemasid: süsteemi elutsükkel ja arendusprotsess, tarkvaratehnika paradigmad (agentorienteeritud tarkvaratehnika, teenusorienteeritud tarkvaratehnika, aspektorienteeritud meetodid jne.), modelleerimine tarkvaratehnikas ja modelleerimiskeel UML, süsteemi nõuete esiletoomine ja analüüs, süsteemi kavandamine, realiseerimine, testimine ja hooldus, mudelipõhine tarkvaratehnika, väledad meetodid, tarkvara kvaliteet, tarkvarameetrikad ning arendusprotsessi juhtimine ja organisatsioon. Hinne kujuneb eksamist ja iseseisvast tööst. Aine sooritust on võimalik kanda kas informaatika või äriinfotehnoloo­gia bakalaureuse- või magistriõppe eriõppe moodulisse (kooskõlastada õppekavade akadeemilise juhendaja prof. Rein Kuusikuga). Loengute nimekiri on järgmine: 1.     Sissejuhatus tarkvaratehnikasse (**nädal 36, 2. september**, Kuldar Taveter, TTÜ) 2.     Süsteemi elutsükkel ja arendusprotsess (**nädal 37, 9. september**, Andres Kütt, Skype) 3.     Tarkvaratehnika paradigmad (**nädal 38, 16. september**, Kuldar Taveter, TTÜ) 4.     Modelleerimine ja UML (**nädal 39, 23. september**, Margus Freudenthal, Cybernetica) 5.     Süsteemi nõuete esiletoomine ja analüüs (**nädal 40, 30. september**, Ivo Mägi, Webmedia) 6.     Arhitektuuriline kavandamine (**nädal 41**, **7. oktoober**, Neeme Vool, Äripäeva veebikeskus) 7.     Teekide kasutamine ja haldamine (**nädal 42**, **14. oktoober**, Erik Jõgi, Hansapank) 8.     Detailne kavandamine (**nädal 43, 21. oktoober**, Neeme Vool, Äripäeva veebikeskus) 9.     Süsteemi realiseerimine (**nädal 44**, **28. oktoober**, Ivo Mägi, Webmedia) 10. Süsteemi testimine (**nädal 45, 4. november**, Kaspar Loog, Know IT Estonia) 11. Süsteemi hooldus ja versioonihaldus (**nädal 46, 11. november**, Ivo Mägi, Webmedia) 12. Mudelipõhine tarkvaratehnika (**nädal 47, 18. november**, Alar Raabe, Hansapank) 13. Väledad meetodid (**nädal 48, 25. november**, Erik Jõgi, Hansapank) 14. Tarkvara kvaliteet (**nädal 49, 2. detsember**, Kaspar Loog, Know IT Estonia) 15. Tarkvarameetrikad (**nädal 50, 9. detsember**, Anton Litvinenko, Programeter) 16. Arendusprotsessi juhtimine ja organisatsioon (**nädal 51, 16. detsember**, Kaspar Loog, Know IT Estonia) Â