Skip to content
Leo Leppänen edited this page Aug 26, 2014 · 6 revisions

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

Kurssi koostuu viikottaisista harjoitustehtävistä ja ns. miniprojektista. Kurssiin ei kuulu luentoja

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

Ajankohtaista

  • 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ä
  • 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: ti 2.9. D122 klo 16-18

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

luento 2:

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

Laskarit 1

Viikko 2

luento 3:

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

luento 4:

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

Laskarit 2

Viikko 3

luento 5:

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

luento 6:

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

taustamateriaalia

miniprojektin aloitus

laskarit

Viikko 4

luento 7:

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

taustamateriaalia

luento 8:

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

taustamateriaalia

Laskarit 4

miniprojekti: sprintin 1 demo ja sprintin 2 suunnittelu

Viikko 5

viikolla vain yksi luento

luento 9:

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

taustamateriaalia

Laskarit 5

miniprojekti: sprintin 2 demo ja sprintin 3 suunnittelu

Viikko 6

viikolla vain yksi luento

luento 10:

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

taustamateriaalia

Laskarit 6

miniprojekti, loppudemot

  • miniprojektin kolmannen sprintin demojen ajankohdat selviävät myöhemmin.