Yliopiston etusivulle Suomeksi Inte på svenska No english version available
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

582104 - Ohjelmistojen mallintaminen 4 op, syksy 2010, 2. periodi

Kurssikuvaus

Kurssi on tietojenkäsittelytieteen pääaineopiskelijoiden ja sivuaineopiskelijoiden perusopintoihin sisältyvä pakollinen opintojakso, laajuudeltaan 4 opintopistettä. 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. Kurssi korvaa vanhan tutkintojärjestelmän kurssin Ohjelmistotekniikan menetelmät.

Oppimistavoitteet

Ajankohtaista

  • Palautetilaisuus maanantaina 17.1. klo 15-16 salissa B221

  • Koe on korjattu. Laskarirastien tarkastuslista ja kokeen tehtävien pisteet täällä.

  • Kurssin tulokset.

  • Arvosanarajat:
    • 30p: 5
    • 27p: 4
    • 24p: 3
    • 21p: 2
    • 18p: 1
    Lisäksi hyväksyttyyn suoritukseen vaaditaan vähintään puolet eli 14 kokeen pisteistä.

  • Kokeen esimerkkivastaukset ja arvosteluperusteita.

  • Viimeisen luennon kalvoista löytyy hieman kokeen kannalta oleellista asiaa. Koe siis 15.12.2010 9.00-12 salissa A111.

  • Kokeeseen saa tuoda mukanaan itse tehdyn, käsin tehdyn yhden A4 arkin (saa olla 2-puolinen) lunttilapun. Lunttilapun teossa siis ei saa käyttää kopiokonetta tai tietokonetta.

  • Viime syksyn kurssikoe näytti tältä

  • Laskareiden piteytys:
    • 30 tehtävää 8 pistettä
    • 27 tehtävää 7 pistettä
    • ...
    • 9 tehtävää 1 piste

  • Muutama Ron Jeffriesin lyhyt artikkeli liittyen viime päivien teemoihin

  • Tiistain 7.12. luennon aihepiiri on muuttunut. Alunperin oli tarkoitus esitellä lisää UML:ää (tilakaavio ja aktiviteettikaavio). Kaaviot kuitenkin väistyvät tärkeämmän ja mielenkiintoisemman aiheen tieltä. Tämän muutoksen takia monisteen luku 7 ei kuulu kurssikokeen aihepiiriin

    Luennolla puhutaan testauksesta ja testauksen automatisoinninsta JUnit-testauskehyksen avulla. Aihe on tärkeä, sillä esim. Ohjelmoinnin harjoitustyössä JUnitia on ensi keväästä asti pakko käyttää.

    Luennon toinen puolikas sisältää jotain tähän mennessä laitoksella (lähes) ennenäkemätöntä. Esittelen yhdessä Matti Paksulan kanssa ns. Test Driven Development -tekniikkaa (TDD) ja pariohjelmointia. TDD ja pariohjelmointi ovat eturivin ohjelmistoyrityksissä tehtävissä ketterissä ohjelmistoprojekteissa yleisesti käytössä olevia käytänteitä. Ks esim. Reaktor innovationsin sivuja

    Toinen luento tulee olemaan livedemonstraatio, jossa pariohjelmoimme Matin kanssa TDD:llä erään ohelmoinnin jatkokurssin tehtävän.

  • Luentoon 11 liittyvä JUnit-ohje

  • UML-kaavioiden piirtelyyn on olemissa kymmenittäin erilaisia ohjelmia. Eräs tälläinen on Magic Draw, jonka asennusohje täällä.

    Muita käyttökelpoisia ohjelmistoja:

    Ohma-kurssilla ei edellytetä minkään mallinnusohjelmiston käyttöä, käsin piirretyt kaaviot riittävät.

  • luentomonisteen "lopullinen" versio ilmestynyt
  • Kurssin IRC-kanava #ohma10 on auennut
  • Laskarit alkavat jo viikolla 1, tehtävät löytyvät hieman alempaa
  • Vaikeuksia laskareiden tekemisessä? Neuvontapaja auttaa!
    • neuvontapajassa CK110 on ohjaaja paikalla ma 17-, ti 16- ja to 12-
    • neuvontapajaluokka on opiskelijoiden käytössä muinakin aikoina

Luennot

01.11.-10.12. TI 10-12, PE 12-14 A111 Matti Luukkainen

Alustava sisältö:

Pvm aihe monisteen sivut
02.11. Johdanto ohjelmistotuotantoon 1-10
05.11. Käyttötapausmalli 11-20
9.11. Luokka- ja oliokaavio (luokka, olio, yhteys) 21-32
12.11. Luokkakaavio jatkuu (kooste, kompositio) 32-34
16.11. Yhteysluokat, luokkamallin muodostaminen 34-42
19.11. Sekvenssi- ja kommunikaatiokaaviot 51-62
23.11. Luokkakaavio jatkuu (yleistyshierarkiat) 42-50
26.11. Kirjastoesimerkki (käyttötapausmalli ja kohdealueen luokkamalli) 63-72
30.11. Ohjelmiston arkkitehtuuri, pakettidiagrammit) 73-78
03.12. Kirjastoesimerkki jatkuu (oliosuunnittelu) 79-99
07.12. JUnit-testauskehys ja Test Driven Development
10.12. Esimerkkejä, kertausta, hieman uutta asiaa oliosuunnittelusta

Laskuharjoitukset

HUOM: Laskuharjoitukset alkavat jo ensimmäisellä viikolla.

Jokaisella harjoitusviikolla on noin 5-7 kotona tehtävää tehtävää. Joillakin viikoilla on ehkä myös muutama laskareissa tehtävä tehtävä.

Tehtäviä ja esimerkkiratkaisuja:

Harjoitusajat:

TI 12-14 C222  Arto Vihavainen 
KE 16-18 C222  Arto Vihavainen 
TO 10-12 C222  Matti Luukkainen 
PE 14-16 B222  Matti Luukkainen 

Kurssimateriaali

Luentomoniste

Luentokalvot

Magic Draw -ohjelmiston asennusohje.

Information in English

Opiskelun tukena voi käyttää esim. seuraavia kirjoja:

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

Kurssin suoritus

Kurssiin liittyy yksi koe, joka järjestetään 15.12.2010 9.00-12 salissa A111.

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

Kurssin voi suorittaa myös erilliskokeella. Erilliskokeiden aikataulu. Syksyn kurssin laskuharjoituspisteet huomioidaan helmikuun erilliskokeessa. Erilliskokeen voi toki tehdä myös "normaalina" erilliskokeena, jolloin laskaripisteillä ei ole vaikutusta.