Skip to content

Ohjelmistotuotanto kevät 2014

Matti Luukkainen edited this page May 10, 2014 · 67 revisions

Kurssilla käsitellään ohjelmistotuotantoprojektien hallinnan, työvaiheiden ja työvälineiden perusteita. Erityinen painotus ketterissä ohjelmistotutantomenetelmissä.

Kurssilla sisältää luentoja 4 tuntia viikossa, viikottaiset harjoitustehtävät ja ns. miniprojektin

kurssin opetusjärjestelyt ja arvosteluperusteet on kuvattu tarkemmin luennon 1 kalvoilta

Ajankohtaista

  • Kurssin arvostelu valmiina
  • Jos teit kaikki kurssin versionhallintaan liittyvät tehtävät ja osallistuit hyväksytysti miniprojektiin, saat halutessasi opintopisteen opintojaksolta Versionhallinta
    • ilmoita halukkuutesi versionhallintaopintopisteeseen täällä
    • Jos sinulta jäi kurssin aikana joitain versionhallintaan liittyviä tehtäviä tekemättä, saat opintopisteen tekemällä tehtävät toukokuun loppuun mennessä
  • Kurssilla on laskaritehtäviä yhteensä 56 (+ viikon 6 bonustehtävät), joista 17 on git-tehtäviä.
    • Lisäopintopisteeseen vaaditaan 36 ei-git-tehtävää
    • 50 tehtyä tehtävää tuo 10 kurssipistettä, 45 tehtävää 9 pistettä, …, ja 5 tehtävää yhden kurssipisteen
  • kurssin irc-kanava #ohtu2014

Linkkejä

Viikko 1

luento 1: ma 10.3. B123 klo 14-16

  • johdanto, ohjelmistoprosessin vaiheet, prosessimallit
  • tekniset asiat: versionhallinnan ja buildhallinnan alkeet

luento 2: ti 11.3. CK112 klo 12-14

  • ketterä/iteratiivinen ohjelmistoprosessi: scrum
  • design pattern of the day: dependency injection

Laskarit 1

  • tehtävät
  • apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107

Viikko 2

luento 3: ma 17.3. B123 klo 14-16.30

  • vaatimusmäärittely
  • ketterä vaatimustenhallinta ja projektisuunnittelu, osa 1:
    • vaatimusten kerääminen
    • vaatimusten dokumentointi: user storyt
    • estimointi

luento 4: ti 18.3. CK112 klo 12.45-14

  • vaatimusmäärittely
    • hyvän backlogin tunnusmerkit
    • release planning
  • ketterä vaatimustenhallinta ja projektisuunnittelu, osa 2:
    • iteration suunnittelu
    • edistymisen raportointi

Laskarit 2

  • tehtävät
  • apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107

Viikko 3

luento 5: ma 24.3. B123 klo 14-16

  • testaus, osa 1
    • verifiointi ja validointi
    • katselmoinnit ja tarkastukset
    • testauksen tasot (yksikkö-, integraatio- ja järjestelmätestaus)
    • testitapausten valinta
    • testauksen kattavuuden mittaus

luento 6: ti 25.3. CK112 klo 12-14

  • testaus, osa 2
    • TDD
    • User Storyjen automatisoitu hyväksymätestaus
    • Continuous integration

taustamateriaalia

miniprojektin aloitus

laskarit

  • tehtävät
  • apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107

Viikko 4

luento 7: ma 31.3. B123 klo 14-16

  • testaus, osa 2
    • tutkiva testaaminen
  • olioiden persistointi relaatiotietokantaan
  • ohjelmiston arkkitehtuuri
  • arkkitehtuuri ketterissä menetelmissä

taustamateriaalia

luento 8: ti 1.4. CK112 klo 12-14

  • ohjelmiston suunnittelu osa 1
    • oliosuunnittelun periaatteita
    • suunnittelumalleja: composed method, static factory, strategy, command, template method

taustamateriaalia

Laskarit 4

  • tehtävät
  • apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107

miniprojekti: sprintin 1 demo ja sprintin 2 suunnittelu

Viikko 5

viikolla vain yksi luento

luento 9: ma 7.4. B123 klo 14-17

  • ohjelmiston suunnittelu osa 2
    • suunnittelumalleja: dekoraattori, komposiitti, proxy, adapteri, fasaadi, MVC, observer
    • domain driven design
    • DSL

taustamateriaalia

Laskarit 5

  • tehtävät
  • apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107

miniprojekti: sprintin 2 demo ja sprintin 3 suunnittelu

Viikko 6

viikolla vain yksi luento

HUOM: pääsisiloma 17-23.4.

luento 10: ma 14.4. B123 klo 14-17

  • ohjelmiston suunnittelu osa 3
    • koodinhajut
    • refaktorointi
  • käytetäänkö ketteriä menetelmiä ja toimivatko ne?
  • katsaus kokeen kannalta tärkeimpiin asioihin

taustamateriaalia

Laskarit 6

  • tehtävät
  • apua tehtävien tekoon to 15-17 ja pe 14-16 salissa BK107

miniprojekti, loppudemot

  • miniprojektin kolmannen sprintin demot to 24.4. klo 12-15 B121 ja pe 25.4. klo 10-12 B222