teisipäev, 8. aprill 2014

Hüvasti, Windows XP!

8. aprillist lõpetas Microsoft Windows XP tehnilise toe pakkumise ja seetõttu on XP kasutajatel tungivalt soovitatav kiiremas korras operatsioonisüsteem välja vahetada.

Windows XP jätkuv populaarsus

Windows XP on Microsofti loodud operatsioonisüsteemidest üks kõige õnnestunumaid. Sellele järgnenud Windows Vista-le loodi lausa eraldi võimalus tagasi XP juurde pöörduda (downgrade opportunity) ja oma populaarsuse tipul kasutas XP-d ligi 75% kõikidest arvutikasutajatest. Uuemate operatsioonisüsteemide tulekuga on XP populaarsus küll langenud, kuid eri andmetel (nt Trend Micro, NetMarketShare, Statista) kasutab seda jätkuvalt ikka veel enam kui viiendik arvutikasutajatest üle maailma ja RIA hinnangul lausa kolmandik arvutikasutajatest Eestis. Tehnilise toe säilitamine nõuab aga Microsofti poolt märkimisväärseid ressursse ja seetõttu otsustati 12 aastat kasutusel olnud operatsioonisüsteem maha kanda ja keskenduda kaasaegsemate tehnoloogiate arendamisele.



Lisaks tavakasutajatele kasutab Windows XP-d ka hirmuäratav kogus pangandussektorist. Nimelt tuginevad BusinessWeek’i andmetel 95% pangaautomaatidest maailmas endiselt Windows XP operatsioonisüsteemile. Tänu pankade ja teiste suurkorporatsioonide survele ongi XP üle kümne aasta vastu pidanud, kuid nüüd loodab Microsoft Windows XP tehnilise toe lõpetamisega mitmeid suurfirmasid kaasaegsemat tarkvara hankima sundida. Mitmed pangad aga väidavad, et aeguv tarkvara nende juurutatud lahenduste turvalisust ei mõjuta ja kasutavad pangaautomaatides Windows XP-d edasi.


Turvariskid

Sedavõrd populaarse operatsioonisüsteemi tehnilise toe lõpetamine tähendab seda, et enam ei pakuta uuendusi, mis kaitseksid leitud turvaaukude kuritarvitamise eest. Seetõttu on äärmiselt keeruline takistada pahavarade massilist levikut. Kasutajale nähtavalt ei pruugi aga veel tükk aega midagi arvuti töös muutuda ja võib arvata, et paljud kodukasutajad jätkavad turvariskidest hoolimata harjumuspärase Windows XP kasutamist. Asjaolu, et isegi Windows XP värskel paigaldamisel nakatub Internetti ühendatud operatsioonisüsteem vähem kui 4 minutiga  ei pruugi olla ilmne, sest nähtavasti õnnestub veebilehitsejaid ja muud tarkvara Windows XP masinas jätkuvalt edukalt kasutada ja kõik tundub ju töötavat ilusti.

Tegelikkuses on XP operatsioonisüsteemi kasutavad arvutid olnud juba mõnda aega küberkurjategijate üks lemmiksihtmärkidest. Näiteks muudab Windows XP puudulik paroolide käitlemine (sh suur- ja väiketähtede samaväärsus ja piirangud parooli pikkusele) kasutuks isegi kõrge turvalisusega paroolid ja graafilise liidese varjus toimuv protsessidevaheline suhtlus (IPC) on ebaturvaliseks loodud. Järjepidevad uuendused aitavad aga vähemalt mingil määral küberründeid takistada. Kui nüüd on aga lõpp igasugustel turvauuendustel, siis võib leitud vigu lõpmatuseni kuritarvitada. Küberkurjategija ei pea enam kartma, et Microsoft ühel hetkel kriitilise turvaaugu uuenduste abil ära parandab.

Kuidas riske vältida

Kõigil Windows XP kasutajatel tasuks hoolega järele mõelda, kas ikka tasub turvariskile vaatamata aegunud operatsioonisüsteemi edasi kasutada. Isegi kui arvutis endas ei ole konfidentsiaalseid andmeid saab lihtsa keylogger’i abil kergesti kätte erinevad salasõnad. Tõsi, mitmeastmelise enesetuvastuse abil saab kontode kaaperdamist vältida, kuid üldiselt tasuks ikkagi rakendada mõnda terviklikumat viisi oma turvalisuse parandamiseks. Isiklike andmete kadumisriskile lisaks on suur tõenäosus, et turvauuendusteta jäänud Windows XP masinad liidetakse mõne zombiarmeega, kus vastavalt käskudele saadetakse tavakasutajale nähtamatult tema arvutit kuritegelikel eesmärkidel rakendatakse.

Mida siis teha, et Windows XP aegumisega seonduvaid riske vältida? Vastus on lihtne: tuleb hankida endale tänapäevasem operatsioonisüsteem. Kui uut arvutit osta ei raatsi ja vana arvuti Windows 8.1 jaoks piisavalt võimekas ei tundu, siis tasub kaaluda tasuta Linuxi peale üleminekut. Eesti kasutajale suunatud Estobuntu ja maailma populaarseim Linuxi distributsioon Ubuntu Desktop saavad edukalt hakkama igapäevase veebilehitsemisega (sh ID-kaardiga sisse logimised ja allkirjastamised). Tasuta jagatavad kontoritarkvarad (OpenOffice ja LibreOffice) üheskoos veebipõhiste viisidega dokumente luua ja muuta (MS OneDrive, Google Drive) pakuvad rohkelt võimalusi Windows’iga lõplikult hüvasti jätta.

Loodame parimat ning soovime edu Windows XP operatsioonisüsteemiga hüvastijätmisel!

Sten Mäses
ASA Quality Services

Pildi allikas: finewallpaperss

esmaspäev, 7. aprill 2014

IREB Requirements Engineering koolitus esmakordselt Eestis!

Tahad teada, kuidas nõudeid ehitada? Kuidas vältida inimlikku ja keelelist ekslikkust? Kuidas oma suure töö tulemust vääriliselt hallata? Tule koolitusele! IREB Certified Professional for Requirements Engineering koolitus esmakordselt Eestis!

Koolitus: Certified Professional for Requirements Engineering Foundation Level (CPRE-FL)
Koolituse aeg: 26. - 28. mai 2014

Hind: 1600€ (käibemaksu ei lisandu). Alates kolmest inimesest ühest organisatsioonist 10% soodustus. Kohtade arv on piiratud.

Koolituse eesmärk: Anda põhiteadmised nõuete ehitamise (requirements engineering) põhilistest valdkondadest: süsteemi konteksti mõistmine, nõuete alusinfo kogumise tehnikad, korrektne ja üheseltmõistetav kirjapanemine, läbirääkimised vastuolude leidmiseks ning kõrvaldamiseks, nõuete haldamine ja abistavad tööriistad. Koolituse läbinul on võimalik lisatasu eest (280€) sooritada CPRE-FL sertifikaadieksam, mida pakub  IT Koolituskeskuse OÜ (www.koolitus.ee).

Koolituse sihtrühm: Põhiline sihtgrupp on analüütikud (süsteemi- ja ärianalüütikud), kes nõuete ehitamisega igapäevaselt tegelevad. Laiemalt kõik rollid, kes peavad ära tundma, kas nõuded on kvaliteetselt kirjeldatud ja oskama öelda, mis vajab parandamist (näiteks kõrgema taseme testijad või testijuhid).

Koolitajad on Saksamaalt, Fraunhofer IESEst (http://www.iese.fraunhofer.de/en.html). Koolitus toimub inglise keeles. Hinna sees on toitlustus ja trükitud materjalid ning võimalus kasutada internetist allalaaditavaid materjale. Koolitajad on akrediteeritud IREB'i (International Requirements Engineering Board, www.ireb.org) poolt.

IREB on rahvusvaheline organisatsioon, kes seisab hea nõuete ehitamise ja tarkvara (süsteemi/äri) analüüsiga seotud praktikate väljatöötamise ja levitamise eest.

Täpsem info ja koolitusele registreerumine: Maili Markvardt, maili@asaquality.ee

reede, 4. aprill 2014

Alustame ehitamist vundamendist!

Tarkvaranõuetel ja ehitiste vundamentidel on palju ühist. Kolmnurkse vundamendi peale nelinurkset maja ei ehita. Hooletult ehitatud vundament vajub ära, võttes kaasa ka selle peale ehitatud maja. Vundamendi parandamine, kui maja on juba peale ehitatud, on kordades kallim kui vundamendi parandamine enne maja ehitamist. Vundamendi kvaliteeti on keskmisel majaelanikul keerukas hinnata; selleks on vaja erilisi teadmisi. Pigem kipuvad silma paistma, häirima ja kahju tegema puudujäägid maja kvaliteedis. Hea vundament ei garanteeri, et maja tuleb kvaliteetne, kuid kehv vundament garanteerib üldjuhul vildaka maja.

Kui teha asendused „vundament“ - > „nõuded, „maja“ - > „tarkvara“, „keskmine majaelanik“ -> „keskmine tarkvara kasutaja“, siis jäävad nimetatud väited siiski kehtima.

Isegi kui me aktsepteerime asjaolu, et väljend „külmutatud nõuded“ on oksüümoron*, ei saa nõuetesse suhtuda hooletult ja pealiskaudselt, mõeldes, et „need niikuinii muutuvad, ei pea vaeva nägema“. Nõuete kirjeldamise puhul peaks olema eesmärgiks saada kirja kõik vajalik (ja mitte sõnagi rohkem), eemaldada mitmetimõistetavused – mis on tihti keelelise ebatäpsuse ja inimliku ekslikkuse tulemus – ja hoolitseda saadud tulemuse eest kuninga kassi vääriliselt.

Missuguse kivi all on nõuded peidus?

Nõuded pole tegelikult miski, mida saab „rehaga kokku rehitseda“ või tavapäraselt „koguda“. Kuna loodav tarkvara on midagi uut (keegi ei tee ju uut tarkvara, et see oleks täpselt samasugune, kui juba mõni olemasolev), siis valmis nõudeid lihtsalt ei ole olemas! Olemas on reaalse maailma poolt tulevad ootused, vajadused, aimdused, piirangud ja kohustused, mis asuvad erinevate osapoolte peades. Kas peade omanikud oskavad oma mõtteid alati väljendada? Kas nõuete „koguja“ oskab alati leida õige allika?

Sisuliselt õigem väljend oleks hoopiski „nõuete väljatöötamine" või „nõuete ehitamine“. Ingliskeelne väljend kõlab requirements engineering, kuid päris head eestikeelset vastet ma polegi osanud sellele sõnapaarile leida.

Nõuded on niisiis vajaduse, ootuse või piirangu kirjalik, taasesitust ja kommunikatsiooni võimaldav esitusviis. Nõuded võivad tuleneda loodava tarkvara tulevastelt kasutajatelt, aga ka muudelt huvipooltelt. Oluline on kõik nõuete allikad üles leida.

Näiteks, kui me arendaksime kooli õppeinfosüsteemi, siis kust tulevad nõuded sellele? Kas lisaks sisseastujate, õppurite, õpetajate, juhtkonna ning kooli personali vajadustele peaksime arvestama veel millegagi? Aga loomulikult. Üheks oluliseks nõuete allikaks on ka valdkonda reguleeriv seadusandlus. Kooli õppeinfosüsteemi loomisel peame arvatavasti arvestama (olenevalt kooli tasemest ja funktsionaalsuse ulatusest) ülikooliseadusega, erakooliseadusega, haridusseadusega, raamatupidamisseadusega, võlaõigusseadusega...

Tihti lähevad olulised nõuete allikad, näiteks eelnimetatud seadused, lihtsalt meelest.. Tüüpiline puudus, mida testimise käigus nõuete ülevaatusel täheldanud olen, on ka näiteks kasutajaõiguste halduse ning rollide kirjeldamata unustamine. Seda pärast tarkvarale „juurde pookida“ on juba keeruline. Vilunud (või kontrollnimekirja omav) analüütik teab, kus kivi all nõuded peidus on, ja oskab sinna vaadata.

Luuletused, haikud ja novellid ... programmeerija ja testija laual

Inimkeel on imeline asi oma väljendusrikkuses ja annab lõpmatul hulgal materjali ilusate luuletuste ja sügavamõtteliste romaanide kirjutamiseks, kus tekstiridadesse on kirjutatud vähem kui nende vahele. Tarkvaraspetsifikatsioonid on aga tähtsad dokumendid, ning nende juures pole inimkeele värvikus just kiiduväärt omadus.

Sõnade tähendused keeles on suhteliselt kokkuleppelised, seetõttu inimesed lähtuvalt oma taustast, haridusest ja kujutlusvõimest võivad mõista sõnu erinevalt. „Tõlkes kadumaminek“ võib juhtuda vähemalt neljas erinevas kohas:
  1. Idee autor ei suuda oma mõtteid väljendada nii nagu ta mõtleb;
  2. Idee kirjapanija (analüütik) ei oska aru saada (kuulata) nii nagu idee autor mõtleb;
  3. Idee kirjapanija ei suuda end väljendada nii nagu ta tahaks;
  4. Kirjutatu lugeja (nt programmeerija) ei saa aru nii nagu kirjutaja mõtles.
Niisiis on iga nõuet kirjeldades ainult umbes 1/5 tõenäosus, et see jõuab muutumatul kujul idee autorist programmeerijani.

Teatud keelelised iseärasused ei pruugi samuti soodustada kirjutatu üheseltmõisteavust. Võtame näiteks järgmise lause „Kõik lambid on seotud lülitiga“.

Hea lugeja, mõtle korraks, kuidas Sa sellist „konfiguratsiooni“ ette kujutaksid? Keeleliselt kannab see konstruktsioon nime „üldistus + mitmus“ ning ta on juba oma ülesehituselt  kahetimõistetav nii eesti, inglise kui ka saksa keeles.

Esimene interpretatsioon oleks selline: Iga lamp on seotud oma lülitiga (1:1 suhe).

Pildi allikas: flickr
Teine interpretatsioon oleks selline: Iga lamp elutoas on seotud kõigi lampide peale ühise lülitiga (1:N suhe).

Pildi allikas: wikimedia.org

Nii elektritöödel juhtmete vedamise kui ka andmebaasi ehitamise seisukohalt on tegemist kahe väga erineva lahendusega. Niisiis aitab ohtlike keelekonstruktsioonide teadmine (neid on palju rohkem kui eelnevalt käsitletud näide) neid vältida ja ära tunda – seega vältida võimalikku vääritimõistmist enne, kui see jõuab vale realisatsioonina koodi.


Kuidas hallata kuninga kassi?

Analüütik on lõpuks kõigi vajalike osapooltega vestelnud, uurinud seadusi ja standardeid ning nende põhjal nõuete komplekti valmis ehitanud. See kunstiteos ei ole mõeldud kindlasti kusagile sahtlisse tolmu koguma!

Esiteks peavad nõuded jõudma oma tarbijani, kelleks on nii realiseerijad/edasiarendajad (arhitektid, disainerid, programmeerijad) kui ka testijad. Missuguste tööriistadega seda kõige paremini saavutada? Kas tekstidokumentides „elavad“ nõuded on kõigile hästi leitavad ja kättesaadavad, või oleks tarvis mõnda nõuetehaldustarkvara, mis oleks ka integreeritud mõne testihaldustarkvaraga? Kõik see oleneb organisatsiooni ja projekti suurusest.

Teiseks, väljend „lõplikud nõuded“ kipub olema oksüümoron. Nõuded muutuvad ja see ongi elu. Kuid muudatustele tuleb reageerida ja neid hallata – ilma soojemaks muutudes on ju loogiline kasukas päikesevarju vastu vahetada. Üldjuhul peaks ka nõude muutumisele järgnema terve kaskaad tegevusest – muudatuse mahtude hindamine, seotud osade/komponentide/protsesside leidmine, disaini muutmine, ümberkodeerimine, testimine. Kõik need tegevused on vajalikud ja kõik osapooled, kes arendusprotsessis osalevad, peavad muudatuse info õigeaegselt saama, vastasel juhul väljendub see kohe tarkvara kvaliteedi languses.

Hea analüütik tagab ka selle, et tema raske töö tähtsat tulemust on võimalik teistel osapooltel kasutada, ja haldab nõuete muudatusi nii, et kõigil osapooltel oleks kättesaadaval just ajakohane ja antud ajahetkel õige info.

Kokkuvõtteks

Tarkvaranõuete puhul on oluline need kätte saada – unustamata ühtki osapoolt või mõjutajat – ja üheselt mõistetavalt kirja panna. Hea analüütik ja kindlasti ka hea testija peaks tundma konkse, kus informatsioon kaduma läheb ning moondub. Nõuetest endist pole vähem tähtis ka see, kuidas neid hiljem hallatakse ja kaasajastatakse. Juhin tähelepanu – nõuded on elusad olevused, nendega ei tohi hoolimatult ümber käia – surnud nõuded lähevad haisema!

Maili Markvardt
ASA Kvaliteediakadeemia

Maili on Eesti Testijate Liidu asutajaliige ja kuulub ka ETLi juhatusse. Ühtlasi õpetab ta tarkvara kvaliteediteemasid Tallinna Tehnikaülikoolis ja Eesti Infotehnoloogia Kolledžis. "Testimine ei ole elukutse, testimine on elustiil!"

* oksüümoron – vastandtähendusi sisaldav väljend