Tietojenkäsittelytiede				Harjoitustehtäviä
Ihminen ja vuorovaikutteinen teknologia		2-4.11.2005

Tehtävien tehdyksi merkitseminen edellyttää, että opiskelija on
valmistautunut vastaamaan kysymyksiin etukäteen kirjoittamalla paperille
vastauksensa.
  1. Tulisiko meidän olla huolissamme ohjelmistovirheistä erilaisissa järjestelmissä? Ajattele erityisesti turvallisuus-kriittisiä järjestelmiä. Jos ajatellaan onnettomuustilanteita, niin paljon suurempi osa onnettomuuksista johtuu ihmisten toiminnasta kuin ohjelmistovirheistä. Pohdi asiaa esim. luennolla esitettyjen esimerkkien suhteen.

  2. Nykyisin kun joku ostaa tietokoneohjelman käyttöönsä, hän saa yleensä vain suorituskelpoisen tiedoston, mutta ei lähdekoodia. Eli käytännössä hän ostaa mustan laatikon, jonka pitäisi vastata niitä lupauksia, joita myyntihetkellä mainokset tai myyntimiehet lupaavat, erityisesti valmisohjelmistoissa. Tosin loppukäyttäjien käyttöoikeuslisenssit (EULA, End User License Agreement) rajoittavat valmistajan vastuun melko vähäiseksi. Pitäisikö valmistajat velvoittaa (esim. lain voimalla) toimittamaan sekä suorituskelpoinen, että lähdekoodi myynnin yhteydessä? Mitä tästä seuraisi?

  3. Järjestelmätoimittajat muuttelevat ohjelmistojen käyttöliittymiä ja toiminnallisuutta melko vapaasti. Ajattele esimerkiksi yleisesti käytettyjä sovelluspakettiohjelmistoja, kuten tekstinkäsittelyä. Myös käyttöjärjestelmä on erikoisasemassa oleva ohjelmisto tietokoneessa ja luulisi, ettei sen tarvitsisi muuttua jokaisessa versiopäivityksessä. Pitäisikö jotkut sovellukset standardoida käyttöliittymältään ja/tai toiminnallisuudeltaan? Pitäisikö tälläinen menettely tehdä lain voimalla pakolliseksi?

  4. Pitäisikö ohjelmistotoimittajat saattaa vastuuseen kaikista virheistä, joita ohjelmistoissa esiintyy? Jos ajatellaan esim. autonvalmistajia, niin he ovat kokonaisvastuussa toimittamistaan tuotteista. Millainen takuu ohjelmistoilla pitäisi olla?