Ohjelmistotuotanto, kevät 2003, harjoitus 3 (3.-7.2.)

  1. McCall on jakanut ohjelmistolaadun 11 tekijään: siirrettävyys (portability), uudelleenkäytettävyys (reusability), yhteiskäyttöisyys (interoperability), ylläpidettävyys (maintainability), joustavuus (flexibility), testattavuus (testability), oikeellisuus (correctness), luotettavuus (reliability), tehokkuus (efficiency), itsesuojelukyky (integrity), käytettävyys (usability). Miten näitä laatutekijöitä voi mitata? Mitä niistä voi mitata automaattisesti, esimerkiksi analysoimalla ohjelmiston lähdekoodia?

  2. Ylläpidettävyys (maintainability) on yksi ohjelmiston laatutekijöistä. Selvitä, mitä osatekijöitä ylläpidettävyyteen liittyy. Nimeä ainakin 7 osatekijää.

  3. Anna esimerkki (1) mielestäsi laadukkaasta ohjelmistotuotteesta ja (2) mielestäsi laadukkaasta muunlaisesta teknisestä tuotteesta. Miksi nämä tuotteet ovat mielestäsi laadukkaita? Mitä eroja ja yhtäläisyyksiä on tuotteiden (1) ja (2) laadussa?

  4. Ohjelmistoon liittyy sekä toiminnallisia (mitä ohjelmiston pitää tehdä) että muita, ns. "ei-toiminnallisia" laatuvaatimuksia. Ei-toiminnalliset vaatimukset voivat liittyä suorituskykyyn, suojaukseen, käytettävyyteen, luotettavuuteen, ylläpidettävyyteen, toiminnan puitteisiin, jne. Aiemmissa harjoitustehtävissä 2.2 ja 2.3 käsiteltiin yliopiston ilmoittautumisjärjestelmää. Määrittele vähintään 7 tähän järjestelmään liittyvää ei-toiminnallista vaatimusta ja tarkastele niiden kelpoisuutta vaatimuksille asetettujen kelpoisuusvaatimusten suhteen (virheettömyys, ristiriidattomuus, ...).


Jukka Paakki, 30.1.2003