581259-4 Ohjelmistotuotanto -- syksy 1999
Luentokurssi, 3 ov
Kokeen 16.11. 1999 tulokset ovat valmistuneet.
Kokeen 8.12. 1999 tulokset ovat valmistuneet. Arvostelusta voi käydä keskustelemassa vastaanottoaikoina 21.12.1999 asti sekä 10.1.2000 lähtien.
Yleistä
Kurssi on tietojenkäsittelytieteen cum laude -oppimäärän pakollinen kurssi. Se vaaditaan esitietoina ohjelmistotuotantoprojekti -kurssin osallistumiselle. Kts. myös kurssikuvausta.Kurssi luennoidaan nyt ensi kertaa 3 ov:n laajuisena, entisen 4 ov:n sijasta. Materiaalia on karsittu UML- ja oliotekniikan osalta.
Uusiin tutkintovaatimuksiin siirryttäessä on kurssin ennakkovaatimuksiin tullut pakollinen Ohjelmoinnin ja laskennan perusmallit. Tätä kurssia ei ole vielä ollut mahdollista suorittaa, eikä lähintä vastinetta Laskennan teoria ole aikaisemmin pidetty Ohjelmistotuotanto-kurssin ennakkovaatimuksena. Näistä syistä johtuen Ohjelmistotuotanto-kurssille voi toistaiseksi osallistua, vaikka Ohjelmoinnin ja laskennan perusmallit tai Laskennan teoria -kurssi puuttuisikin.
Kurssiin liittyvä tiedotus tapahtuu luennoilla ja tällä www-sivulla.
Huomaa pidennetyt luennot perjantaisin kurssin loppuun asti!
OHTU-projekteihin
ilmoittautuminen 3.11-1.12. 1999.
Täytäthän kurssipalautelomakkeen http://www.cs.helsinki.fi/kurssit/kyselyt/syksy_1999/ !
Sisältö
Kurssin tavoitteena on perehdyttää opiskelijat ohjelmistotuotannon yleisiin periaatteisiin, menetelmiin, prosesseihin ja projektityöskentelyyn.Seuraavassa alustava sisällysluettelo:
- Johdanto
- Mitä ohjelmistotuotanto on?
- Mitä projektityö on?
- Mitä ammattilaisen on osattava?
- Osa I: Ammattilaisen tietoisuus
- Ohjelmistotuotannon prosessimallit
- Vesiputousmalli
- Prototyyppimalli
- Spiraalimalli
- Evolutionäärinen malli
- Projekti laatuprosessinaprosessina
- CMM - Capabilty Maturity Model
- Ohjelmiston ja projektin laatu
- Ohjelmiston ja projektin riskit
- Minä, työryhmä, projekti ja tuote
- Ohjelmistotuotannon prosessimallit
- Projektin hallinta
- Projektin hallinta
- Projektisuunnitelma
- Työmäärien arvointi
- Projektin seuranta
- Projektin hallinnan välineitä
- Projektisuunnitelma ja projektin seuranta OHTU-projekteissa
- Ohjelmiston vaatimusten määrittely
- Käyttö- ja käyttäjänäkökulma
- Määrittelydokumentti
- Formaalit menetelmät
- Kuvaustekniikat: perinteiset tekniikat, oliotekniikat
- Ohjelmiston suunnittelu
- Suunnitteluperiaatteet
- yleiset periaatteet
- arkkitehtuurimallit
- ohjelmiston jako osiin
- modulaarisuus, kiinteys, kytkentä, muita kriteerejä
- Suunnittelumenetelmät
- toimintokeskeiset
- tietorakennepohjaiset
- olioperustaiset
- Suunnitteluperiaatteet
- Toteutusvaiheesta
- Ohjelmointiparadigmoista
- Dokumentoinnista
- Demonstraation järjestämisestä
- Laadunvarmistus ja testaus
- Laadunvarmistuksen keinoja: testaus ja tarkastukset
- Testauskäsitteistöä
- Menetelmiä testitapausten määräämiseen
- Black/White-box
- Graafisen käyttöliittymän testaus
- Olio-ohjelman testaus
- Testaussuunnitelma
- Testauksen dokumentointi
- Tarkastukset ja katselmukset
- Ylläpito
- Ylläpidon lajit
- Ohjelmistotuotteen hallinnan ongelmat ja apuvälineet
Luentomateriaalia ja muuta luettavaa
Materiaali myös paperiversiona 4. kerroksen opiskelijatilasta, kurssimapista.Valitettavasti alkupään PowerPoint-esitykset kärsivät ohjelmaversioiden välisestä talletusformaattiongelmasta siinä määrin, että ehjää PostScript- tai PDF-tulostetta tuntuu olevan kohtuuajassa mahdotonta saada aikaan --- jos joku ihmeen kaupalla siinä onnistuu, syntynyt tiedosto otetaan kiitollisuudella vastaan.
Viitteet Pressmaniin: Roger S. Pressman: Software engineering - a practioner's approach, 4th edition. McGraw Hill International Editions. Mustakantinen.
- Johdanto
- OSAI: Ammattilaisen tietoisuus
- Pressman 1, 2, 3, 8
- M.C. Paulk, B. Curtis, M. B. Chrissis, Capability Maturity Model, version 1.1. IEEE Software, July 1993.
- B. Kitchenham, S. L. Pfleeger, Software Quality: The Elusive Target. IEEE Software, January 1996.
- OSAI: Ammattilaisen tietoisuus -- ppt
- OSAI: Ammattilaisen tietoisuus -- ps
- Esimerkki laatukäsikirjasta Tampereen teknillisen korkeakoulun Ohjelmistotekniikan laitokselta: http://www.cs.tut.fi/ohj/laatu/
- OSAII: Käytännön taitoja
- Projektin hallinta
- Pressman 4, 5, (6), 7
- Projektin hallinta -- ppt
- Projektin hallinta -- ps
- man sccs, man scv, jne
- COCOMO
- Vaatimusmäärittely
- Pressman (10-12), 11, 12.4-12.7
- Ohjelmiston vaatimusten määrittely -- ppt
- Ohjelmiston vaatimusten määrittely -- ps
- Ohjelmiston vaatimusten määrittely -- pdf
- Ohjelmiston suunnittelu
- Pressman 13, 14
- Ohjelmiston suunnittelu -- ppt
- Ohjelmiston suunnittelu -- ps
- Ohjelmiston suunnittelu -- pdf
- Oliosuunnittelu -- ppt
- Oliosuunnittelu -- ps
- Oliosuunnittelu -- pdf
- A. Charmichael, Seeking A Unified Component Model.
- C. W. Krueger: Software Reuse. ACM Computing Surveys 24, 2, June 1992.
- Hillside patterns
- Tekstejä suunnittelumalleista
- UML oletetaan opituksi aikaisemmilla kursseilla
- Toteutusvaiheesta
- Laadunvarmistuksesta ja testauksesta
- Ylläpidosta
- Yhteenveto
- ps
- Muuta materiaalia
- Vanhoja koetehtäviä vuosien varrelta:
1999,
1998,
1994
Koekysymykset sisältävät mm. käsitteiden määrittelyjä, isompiin kokonaisuuksiin kuten CMM:n tai projektinhallintaan liittyviä esseitä, "tekniikkaharjoituksia" erilaisten esiteltyjen tekniikoiden soveltamisesta, arviointitehtäviä ja strategianvalintatehtäviä.
- Vanhoja koetehtäviä vuosien varrelta:
1999,
1998,
1994
Aikatauluasioita
LuennotLea Kutvonen 15.9-5.11 KE 16-18, PE 10-12 AUDITORIO
Seuraavat luennot joudutaan peruuttamaan (lista elää):
- 22.9. 1999 -- kts. tilaisuus Tietoyhteiskunnan tulevaisuus (klo 17-20)
- 29.9. 1999
- 1.10. 1999
- Perjantain 24.9. 1999 luento pidetään pidennettynä 9-12.
- Perjantain 22.10 1999 luento pidetään pidennettynä 9.45-12, lyhennetyin tauoin.
- Perjantain 29.10. 1999 luento pidetään pidennettynä 9.45-12, lyhennetyin tauoin.
- Perjantain 6.11. 1999 luento pidetään pidennettynä 9.45-12, lyhennetyin tauoin.
Harjoitukset
Harjoitusryhmät: 27.9-12.11
1. Tuntiop. Erkki Rautama TI 14-16 B453 2. Tuntiop. Erkki Rautama TO 14-16 C454 3. Tuntiop. Erkki Rautama ei vierailuja! PE 12-14 C454 4. Tuntiop. Merja Alaluoma MA 12-14 A318 5. Tuntiop. Merja Alaluoma PE 8-10 A319Harjoituksia pidetään 7 kertaa - harjoitukset alkavat viikkoa aikaisemminilmoitettua myöhemmin! Viikon viimeisessä ryhmässä vierailu ei ole suotavaa.
Kokeet
Kurssin koe pidetään tiistaina 16.11. klo 16-20 Auditoriossa.
Reputtaneille järjestetään uusintakuulustelu keskiviikkona 8.12, klo 12-16 Auditoriossa.
Kurssikokeen 16.11 tulokset tulevat 2.12. 1999.
Suorittaminen
Ainoastaan kurssin päättävä koe on pakollinen (max. 60 p). Harjoitusaktiivisuudesta saa lisäpisteitä (max. 6 p).Luentojen ja harjoitusten lisäksi edellytetään myös muuhun materiaaliin tutustumista. Materiaali ilmoitetaan kurssin kuluessa tällä sivulla.
Luennoilla osallistuminen on suositeltavaa. Etukäteinen oppimateriaaliin tutustuminen auttaa kyselemään ja keskustelemaan luennolla.
Kuulusteltava oppimateriaali
Kurssin luennot seuraavat kirjaa:Roger S. Pressman: Software Engineering - A Practitioner's Approach, 4th ed. McGraw-Hill, 1997.
Kurssilaiset ovat useina vuosina itse järjestäneet yhteistilauksia oppikirjan hankkimiseksi alennettuun hintaan.
Oppikirjojen omatoimisen lukemisen tueksi on yllä annettu luettelo luennoilla käsitellyistä aiheista. Seuraava luettelo kattaa kurssikuulustelun pohjana pidettävän "pakollisen" materiaalin.
- Luettelo kurssikirjan mukaanluettavista luvuista
- M.C. Paulk, B. Curtis, M. B. Chrissis, Capability Maturity Model, version 1.1. IEEE Software, July 1993.
- B. Kitchenham, S. L. Pfleeger, Software Quality: The Elusive Target. IEEE Software, January 1996.
- C. W. Krueger: Software Reuse. ACM Computing Surveys 24, 2, June 1992.
- Joitakin alueita on käsitelty pelkästään luennoilla: ohjelmointiparadigmat, ylläpito, tiimityö. Näiden teemojen kohdalla kannattaa vilkaista luentomuistiinpanoja ja hankkia omatoimisesti aiheeseen liittyviä tietoja ja kirjallisuutta.
Harjoitukset
HarjoitustehtävätLisävihjeitä harjoitusten tekemiseen
Helsingissä, 24.9. 1999
Lea Kutvonen