Ohjelmistotekniikan menetelmät (Avoin yliopisto)

582104
5
Ohjelmistojärjestelmät
Perusopinnot
Kurssilla käsitellään ohjelmistojen ja järjestelmien määrittelyä ja kuvaamista, kuvauksissa yleisesti käytettäviä tekniikoita ja tekniikoiden pohjalla olevia käsityksiä sekä erilaisten kuvausten asemaa ohjelmiston kehittämisessä. Tekniikoiden osalta pääpaino on UML-mallinnuskielessä. Esitiedot: ohjelmointitaito, oliokäsitteistön hallinta (Ohjelmoinnin perusteet).
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2013 kesä 06.08-28.08. 6-6 Suomi Toni Ruokolainen

Luennot

Aika Huone Luennoija Päivämäärä
Ti 11-14 CK112 Toni Ruokolainen 06.08.2013-28.08.2013
Ke 16-19 CK112 Toni Ruokolainen 07.08.2013-14.08.2013
Ke 16-19 D122 Toni Ruokolainen 21.08.2013-28.08.2013

Harjoitusryhmät

Group: 1
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Pe 14-16 B119 Hannu Kärnä 09.08.2013—06.09.2013
Group: 2
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Pe 16-18 B119 Hannu Kärnä 09.08.2013—06.09.2013

Yleistä

Kurssi on tietojenkäsittelytieteen pääaineopiskelijoiden ja sivuaineopiskelijoiden perusopintoihin sisältyvä pakollinen 4 opintopisteen opintojakso. Kurssilla käsitellään ohjelmistoihin ja niiden kehittämiseen liittyvää käsitteistöä ja välineitä, erityisesti ohjelmiston rakenteen ja toiminnan määrittelyä ja kuvaamista. Keskeisenä asemassa on UML-mallinnuskieli ja sen soveltaminen.

Kurssin suorittaminen

Henkilökohtaisen palautetilaisuuden aika on muuttunut! Uusi aika on ti 24.9. klo 14-16. Paikkana A318.

Vapaaehtoiselle, henkilökohtaiselle palautetilaisuudelle on järjestetty aikaa ti 24.9.2013 klo 14-16. Paikka: A318. Muista ilmoittautua sähköpostitse etukäteen!

Kurssiin liittyy koe, jonka voi suorittaa seuraavina päivinä: ma 9.9.13 klo 17-20 ja ke 23.10.13 klo 17-20.
Katso tenttipaikka Avoimen yliopiston tenttipaikat-sivustolta.

Kurssin kokeeseen saa ottaa mukaan "lunttilapun". Lunttilappu on A4-kokoinen, itse käsin täytetty paperi. Se voi sisältää esimerkiksi UML-kuvausten esimerkkejä, jotta kaikkia teknisiä yksityiskohtia ei tarvitse ulkoa muistaa.

Koko kurssin arvostelun maksimipistemäärä on 36. Kokeen maksimipistemäärä on 28 ja harjoitusten 8. Kurssin läpipääsy edellyttää vähintään puolta koepisteistä ja puolta kokonaispistemäärästä.

 

Kirjallisuus ja materiaali

Kurssin ensisijaisena materiaalina käytetään Matti Luukkaisen ja Harri Laineen Ohjelmistojen mallintaminen-luentomonistetta, sekä luentokalvoja joita lisätään tänne kurssin edetessä. Luentomoniste löytyy tämän linkin takaa.

Kurssin luennot ja laskuharjoitukset perustuvat Arto Vihavaisen vuoden 2011 kesän materiaaliin.

Opiskelun tukena voi käyttää esim. seuraavia kirjoja (kurssilla pärjää hyvin myös ilman kirjaa):

  • Craig Larman: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Kolmas painos.
  • Martin Fowler: UML Distilled: A Brief Guide to the Standard Object Modeling Language. Kolmas painos.

Verkosta löytyy paljon vaihtelevatasoista UML-materiaalia.

Luennoilla on puhuttu UML:n lisäksi hieman testaamisesta. Verkosta löytyy paljon materiaalia testaamiseen liittyen, alla muutamia linkkejä.

Muutama sananen koosteista UML-standardista:

An association may represent a composite aggregation (i.e., a whole/part relationship). Only binary associations can be
aggregations. Composite aggregation is a strong form of aggregation that requires a part instance be included in at most
one composite at a time. If a composite is deleted, all of its parts are normally deleted with it. Note that a part can (where
allowed) be removed from a composite before the composite is deleted, and thus not be deleted as part of the composite.
UML Infrastructure specification, uusin versio (2.4.1) PDF
Eli yksi olio voi olla osallisena vain yhteen kompositioon kerrallaan, toisin kuin luentokalvoilla ja monisteessa sanotaan ("voi olla osallisena vain yhteen samantyyppiseen kompositioon kerrallaan")
 
Toisin kuin kurssimateriaalissa sanotaan, on myös luentomateriaalissa esitelty "kooste" ("valkoinen salmiakki") edelleen käytössä UML:n uusimmissakin versioissa. UML:ssä yhteyksien päihin liittyy, roolien, osallistumisrajoitteiden ja navigointisuuntien lisäksi, ominaisuus, joka määrittelee kyseisen yhteyspään koostetyypin. Näitä koostetyyppejä on kolme:
  1. none: määrittelee, että yhteyden pääty ei merkitse koostetta
  2. shared: määrittelee, että yhteyden pääty merkitsee luentomateriaalin mukaista "koostetta" (valkoinen salmiakki -symboli)
  3. composite: määrittelee, että yhteyden pääty merkitsee luentomateriaalin mukaista "komposiittia" (musta salmiakki -symboli)

Nämä koostetyypit määritellään UML:n metamallissa AggregationKind-nimisessä luokassa (UML Superstructure Specification, version 2.4.1, luku 7.3.2: PDF).

 

Luentokalvot

  • Yleistä (6.8.): PDF
  • Johdanto (6.8.): PDF
  • Vaatimusmäärittely ja käyttötapaukset (6.8. & 7.8): PDF
    • Luennolla mainittu Alistair Cockburnin käyttötapausmalli PDF
  • Luokka- ja oliokaaviot (7.8.) PDF
  • Luokka- ja oliokaaviot: yhteydet (7.8. & 13.8.) PDF
  • Luokka- ja oliokaaviot: yhteysluokat, luokkakaavioiden laatimisesta (13.8.) PDF
  • Luokkien yleistäminen ja rajapinnat (14.8.) PDF
  • Olioiden yhteistyön mallintaminen (14.8. & 20.8.) PDF
  • Kohti suunnittelua (20.8.) PDF
  • Toteutusta, ylläpitoa ja moderneja menetelmiä (21.8.) PDF
  • Kertausta (27.8.) PDF

Laskuharjoitustehtävät