581259 Ohjelmistotuotanto (ohtk 25.8.2011)
Pääteemat | Esitiedot | Lähestyy oppimistavoitetta | Saavuttaa oppimistavoitteet | Syventää oppimistavoitteita |
---|---|---|---|---|
Ohjelmistotuotanto yhteiskunnassa | • Osaa listata tärkeimmät ohjelmistotekniikan historian etapit. • Osaa luetella ohjelmistojen positiivisia ja negatiivisia vaikutuksia ihmisten toimintaan. |
• Tunnistaa ohjelmistotekniikan historiassa alkaneet ja edelleen jatkuvat suuntaukset. • Tunnistaa ohjelmistotuotannon eettisiä piirteitä ja selittää miten niihin suhtaudutaan. |
• Osaa tulkita annetun ohjelmistototeutuksen vaikutuksen ympäristöön. • Osaa arvioida ACM:n, IEEE:n jne esittämien ammattietiikan koodistojen hyvyyden ja merkittävyyden yhteiskunnalle. |
|
Ohjelmistoprosessit ja projektinhallinta | • Osaa selittää prosessimallin, prosessin ja projektin erot. • Osaa selittää ohjelmistoprosessimallien perustehtävät. • Osaa valita perustellen joukosta ohjelmistoprosessimalleja tietyn ohjelmiston kehitystyölle ja/tai ylläpidolle sopivimman mallin. • Osaa selittää projektinhallinnan toiminnot. • Tietää projektipäällikön tärkeimmät tehtävät. • Hallitsee riskianalyysin perusteet. • Tuntee prototyypin käsitteen. |
• Osaa verrata eri tapoja ja tekniikoita varmistaa ohjelmistotuotteen laatu. • Osaa selittää laatuattribuuttien erot. • Taitaa projektinhallinnan graafiset kuvaustavat ja osaa käyttää niitä projektin aikataulun suunnitteluun. • Osaa verrata objektiivisesti prosessimalleja. • Hallitsee ohjelmistojen mittauksen ja tulosten arvioinnin perusteet. • Tuntee prosessinparannuksen perusteet. |
• Osaa selvittää alan kirjallisuudesta nykyaikaiset näkemykset prosesseista ja prosessimalleista. • Osaa selittää miksi ohjelmistoprojektien hallinta on vaikeampaa kuin muiden insinööriprojektien hallinta. • Osaa arvioida annetusta prosessista sen kypsyystason. |
|
Ohjelmistoprojektin elinkaari | Olioohjelmoinnin perusteet (Ohjelmoinnin perusteet) |
• Osaa selittää eri vaatimustyyppien erot. • Osaa selittää verifioinnin ja validoinnin eron. • Osaa selittää tarkastusprosessin ja siihen osallistujien roolit. • Hallitsee testausprosessin perusteet. • Osaa selittää, miksi suunnittelussa tarvitaan abstraktiotasoja. • Hallitsee vaatimusmäärittelyprosessin työvaiheet ja menetelmät. |
• Tunnistaa vaatimusten ja laatuattribuuttien yhteyden. • Osaa perustella, miksi vaatimukset voivat olla ristiriidassa keskenään. • Osaa erottaa keskikokoisen ohjelmiston testauksessa tarvittavat testaustasot, -vaiheet ja menetelmät. • Osaa selittää, mitä eroa on mustalaatikko- ja lasilaatikkotestauksella. • Osaa perustella, miksi rajapintojen suunnittelu on erityisen tärkeää. |
• Osaa kääntää luonnolliselle kielelle jollain formaalilla menetelmällä kuvatun ohjelmistomäärittelyn. • Hallitsee tärkeimmät oliopohjaisen testauksen menetelmät. • Osaa arvioida erilaisten ohjelmistojen suunnittelun hyvyyden käytettyjen ratkaisujen avulla. |
Ohjelmistoevoluutio | • Tunnistaa ohjelmistoevoluution syyt ja niiden vaikutukset ohjelmiston elinkaareen. • Osaa selittää ohjelmistojen ja komponenttien uudelleenkäytön edut ja haitat. |
• Osaa selittää perinnejärjestelmän ylläpidon haasteet. • Osaa selittää ohjelmiston uudistamisen tarpeellisuuden ja sen työvaiheet. |
• Osaa antaa arvion keskikokoisen ohjelmiston muutospyynnön vaikutuksista tuotteeseen. • Osaa kehittää muutospyyntöön perustuvan keskikokoisen ohjelmiston uudistamisen projektisuunnitelman. |