Ohjelmistojen mallintaminen (Avoin yliopisto)

582104
5
Software Systems
Basic studies
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).
Year Semester Date Period Language In charge
2012 summer 02.08-23.08. 6-6 Finnish Toni Ruokolainen

Lectures

Time Room Lecturer Date
Tue 16-19 D122 Toni Ruokolainen 02.08.2012-23.08.2012
Thu 10-13 CK112 Toni Ruokolainen 02.08.2012-23.08.2012

Exercise groups

Group: 1
Time Room Instructor Date Observe
Fri 14-16 B119 Hannu Kärnä 03.08.2012—31.08.2012
Group: 2
Time Room Instructor Date Observe
Fri 16-18 B119 Hannu Kärnä 03.08.2012—31.08.2012

General

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.

Completing the course

Kurssiin liittyy yksi koe, joka järjestetään ke 5.9.2012 17-20.  Katso tenttipaikka Avoimen yliopiston tenttipaikat-sivustolta.

Henkilökohtaiselle palautetilaisuudelle on järjestetty aikaa pe 12.10.2012 klo 14-16. Paikkana on huone D212 (luennoitsijan toimistohuone).

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ä.

Kokeesta järjestetään uusintakuulustelut ke 17.10.2012 klo 17-20.

 

 

Literature and material

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ä.

Luentokalvot

  • Yleistä (2.8.): ODP PDF
  • Johdanto (2.8.): ODP PDF
  • Vaatimusmäärittely ja käyttötapaukset (2.8.): ODP PDF
    • Luennolla mainittu Alistair Cockburnin käyttötapausmalli PDF
  • Luokka- ja oliokaaviot (7.8.): ODP PDF
  • Luokka- ja oliokaaviot jatkuu (7.8.): ODP PDF
  • Yksikkötestaamisesta ja TDD:stä (9.8.): ODP PDF
  • Monimutkaisempi esimerkki yksikkötestauksesta (verkkokauppaesimerkki; NetBeans-projekti): ZIP
  • Torstain luennolla käytetty MagicDraw -ohjelmiston asennusohjeet: www.cs.helsinki.fi/intranet/group/cinco/teaching/md/
  • Luokka- ja oliokaaviot jatkuu (9.8.): ODP PDF
  • Olioiden yhteistyön mallintaminen: sekvenssikaavio ja kommunikaatiokaavio (14.8. ): ODP PDF
  • Takaisinmallinnus sekvenssikaavioiden avulla, yleistäminen ja erikoistaminen, rajapinnat ja oliosuunnittelun periaatteita (14.8. ja 16.8.): ODP PDF
  • Lisää oliosuunnittelusta ja sananen oliomenetelmistä (16.8.): ODP PDF
    • Torstain luennolla demonstroitiin takaisinmallinnusta OMG:n ADM (Architecture Driven Modernization, en.wikipedia.org/wiki/Architecture-driven_modernization) lähestymistavan mukaisesti:
      • Ensin yllä olevan verkkokauppaesimerkin lähdekoodista luotiin formaali malli.
      • Tämän jälkeen muunnettin UML-muotoon ja luettiin MagicDraw -ohjelmistoon. Tällöin saatiin graafinen esitys ohjelmiston rakenteesta (luokkadiagrammi).
      • Formaalista mallista generoitiin mallista tekstiin -muunnoksella Vaadin -kehikon mukaista lähdekoodia. Tulokseksi saatiin Web-käyttöliittymä verkkokaupalle.
    • Demonstroinnissa käytetyt teknologiat:
      • Eclipse -työkalukehys (eclipse.org) seuraavine laajennuksineen (plugin)
        • MoDisco: http://www.eclipse.org/MoDisco/ Toteutus OMG:n ADM -lähestymistavan mukaisesta työkalusta (takaisinmallinnus esim. Java-kielisestä lähdekoodista)
        • Acceleo: www.eclipse.org/acceleo/ OMG:n MTL (Model to Text Language) standardiehdotuksen mukainen mallista tekstiin -transformaatiokieli. Tämän avulla järjestelmää kuvaavasta mallista luotiin uutta Java-koodia.
        • Vaadin: vaadin.com/eclipse/ Vaadin on suomalaislähtöinen kehikko Web-sovellusten tekemiseen Java -ohjelmointikieleen pohjautuen.
      • MagicDraw UML-mallinnustyökalu: www.cs.helsinki.fi/intranet/group/cinco/teaching/md/
      • Demonstrointi ja siihen liittyvät teknologiat ovat syventävää asiaa, jotka ilmentävät kuinka malleja hyödynnetään nykyaikaisessa ohjelmistotuotannossa ja järjestelmien ylläpidossa. Ei tarvitse osata kokeessa.
    • Koodihajut (21.8):  ODP PDF
    • Kertausta (23.8): ODP PDF
    • Hieman lisää malleista ja niiden hyödyntämisestä (23.8): ODP PDF
    • Torstaina 24.8. syvennetään hieman mallien roolia ohjelmistotuotannossa sekä käydään läpi mahdollisia eteen tulevia kysymyksiä.

Laskuharjoitustehtävät

  • Harjoitukset osa 1 (käsitellään 3.8. laskuharjoitustilaisuudessa)
  • Harjoitukset osa 2 (tehtävä ennen laskuharjoituksia; käydään läpi 10.8. laskuharjoitustilaisuudessa)
  • Harjoitukset osa 3 (tehtävä ennen laskuharjoituksia; käydään läpi 17.8. laskuharjoitustilaisuudessa)
  • Harjoitukset osa 4 (tehtävä ennen laskuharjoituksia; käydään läpi 24.8. laskuharjoitustilaisuudessa)
  • Harjoitukset osa 5 (tehtävä ennen laskuharjoituksia; käydään läpi 31.8. laskuharjoitustilaisuudessa)