ITKA202 Johdatus ohjelmistotekniikkaan - Syksy 2005

Kurssiraportti

Kurssiraportilla tällä kurssilla tarkoitetaan luentojen pohjalta tehtäviä kotitehtäviä. Luennoitsija antaa jokaisesta luennosta yhden tehtävän, johon vastataan kirjallisesti esseemäisessä muodossa. Kurssin kuluessa tehtäviä tulee yhteensä (noin) 11 kappaletta eli yksi jokaiselta luennolta viimeistä luentoa (ja ensimmäistä tynkäluentoa) lukuun ottamatta. Tommin aloitus, Johdanto ja Vaatimusmäärittely I luetaan yhdeksi luennoksi, jonka kysymyksenä on Linkit-osion täydentäminen. Kurssiraportti tehdään 1-3 hengen ryhmissä. Jokaisen ryhmän täytyy vastata vähintään kahdeksaan kysymykseen. Aukkoja voi täyttää kirjoittamalla Microsoftin luennosta tai Abrahamssonin ketterien menetelmien luennosta (23.11. klo 12-14) tai kurssin viimeisestä luennosta. Tehtävät tullaan ilmoittamaan luennolla, sähköpostitse ja tämän sivun lopussa.

Kirjoitusohjeet

Tehtävien palautus

Vastausdokumentit tulee tallentaa samaan hakemistoon jonkin ryhmän jäsenen kotisivutilaan. Korpissa on jokaisen opiskelijan omissa kurssitiedoissa lomakekenttä, johon tulee syöttää URL hakemistoon, josta vastaukset löytyvät. Siis jokaisen ryhmän jäsenen täytyy erikseen tallentaa Korpissa tuo URL, vaikka vastaukset ovat samassa paikassa.

Tehtävien täytyy olla saatavilla Korppiin tallennetussa URL:ssa ennen kurssin lopputenttiä eli viimeistään 9.12. Suositeltavaa on kuitenkin vastata tehtäviin heti luentojen jälkeen. Kurssista ei ole saatavilla sellaista itseopiskelumateriaalia, jonka avulla voisi nopeasti palauttaa asiat mieleen sen jälkeen, kun ne ovat päässeet unohtumaan.

Varoituksen sana

Vastausten on viisainta olla itse kirjoitettuja. Vastaukset tullaan tarkastamaan koneellisesti ohjelmalla, joka tunnistaa automaattisesti liikaa toisiaan muistuttavat vastaukset. Vilpistä kiinni jääneet menettävät oikeutensa suorittaa kurssin tänä lukuvuonna.

Tehtävät luennoittain

  1. Ensimmäinen tynkä luento: ei tehtävää.
  2. Johdanto: Etsi ja lisää kurssin materiaalipankkiin ohjelmistotekniikkaan liittyviä linkkejä. Tutustu ainakin kolmeen vaatimusmäärittelyyn liittyvään linkkiin.
  3. Vaatimusmäärittely I: Katso edellinen.
  4. Vaatimusmäärittely II: Kirjoita Korppiin liittyen Opiskelija-roolin näkökulmasta Yhteenveto-tasolla (Summary level) oleva pää(((liike))toiminta)käyttötapaus ja kolme sitä tarkentavaa käyttäjä-tason (User goal level) käyttötapausta. Tarkenna yksi näistä siten, että se myös sisältää poikkeustilanteet ja niiden käsittelyn.
  5. Suunnittelu ja toteutus:

    Hae ohjelma ckjm http://www.spinellis.gr/sw/ckjm/ ja asenna se itsellesi.

    1. Lue ohjelman lähdekoodi läpi. Mitä ohjelma tekee?
    2. Kuvaile ohjelman rakenne. Mitä olioita? Miten ne toimivat yhteen? Löytyykö suunnittelumalleja?
    (Kohdat 1. ja 2. ovat tehtävät 5a. ja 5b., eli kaksi eri tehtävää.)

    Jos tehtävä tuntuu ylivoimaiselta, ei kannata heittää hanskoja tiskiin. Yksi luennon opetus oli tehdä yhteistyötä ja kysyä apua muilta tai vaikka kyselemällä postilistalla. Make it so!

    Jos tehtävä tuntuu vieläkin ylivoimaiselta, kakkoskohdan voi korvata kertomalla miksi tehtävä tuntuu ylivoimaiselta esitellen ja pohdiskellen löytämiään hankalia kohtia.

  6. Testaus:
    Vastaa pohdiskellen ja viitaten lähteisiin seuraavaan: Miksi testaaminen ohjelmistoprojektin aikana on välttämätöntä ja mitkä ominaisuudet tekevät testaajasta hyvän?
  7. Ylläpito:
    Argumentoi puolesta tai vastaan: Ohjelmiston kehitys on jatkuvaa ylläpitoa.
    Vaihtoehtoisesti: Kuvaile jokin tekemäsi ylläpitotapaus: Mitä, miksi, millä seurauksilla?
  8. Avoin ohjelmistokehitys:
    Mitkä ovat olennaisimmat erot avoimen ja suljetun lähdekoodin välillä? Kuinka nämä erot vaikuttavat, jos avointa lähdekoodia käytetään osana kaupallista ohjelmistokehitystä?
  9. CASE & Eclipse, UML:in sovellus reaaliaikajärjestelmiin:
    Ei kysymyksiä näistä luennoista.
  10. Katselmoinnit:
    Kerro luennon pohjalta, mitä hyötyä katselmoinneista on. Käsittele perustellusti useampia eri näkökulmia.
  11. Laatu:
    Mitkä ovat mielestäsi tärkeimmät asiat joihin ohjelmistoprojekteissa tulisi kiinnittää huomiota laadun kannalta?

Kiitos Kollanuksen Samille alkuperäisestä tekstistä.