Ohjelmiston määrittely
TTY Porin yksikkö
Slk-2009


Kurssin Moodle-sivusto: http://moodle.tut.fi

Luennot ja harjoitukset:
Lähiopetus 54 tuntia. Kurssi edellyttää lähiopetukseen osallistumisen lisäksi itsenäisesti suoritettavaa työskentelyä. Lähiopetus professori Hannu Jaakkola, harjoitustyö lehtori Harri Keto. Sähköposti: etunimi.sukunimi@tut.fi.

Tavoitteet: Opiskelija ymmärtää määrittelyn merkityksen osana ohjelmistokehitystä ja hänellä on perusvalmiudet määrittelymenetelmien soveltamiseen. Opiskelija kykenee osallistumaan ohjelmiston määrittelyprojektiin sekä määrittelyn asiantuntijana että tilaajan edustajana. Kurssilla perustana ovat

Kurssi on suunnattu asiakkaan ja toimittajan väliseen vuorovaikutukseen ohjelmistotuotannossa.
 

Sisältöalue Ydinaines Täydentävä tietämys Erityistietämys
1. Ohjelmiston määrittelyprosessin ymmärtäminen: Esitutkimus, vaatimusten kerääminen ja analysointi, vaatimusten dokumentointi. Vaatimusten validointi ja laadunvarmistus.
Määrittelyn sidos suunnittelutyöhön.
 
2. Vaatimusten kuvaaminen UML:n kuvaustekniikoilla: tiedot ja toiminnot, luokkakaaviot, vuorovaikutuksen kuvaaminen, tilakaaviot, tietovirrat. Formaalit kuvaustekniikat. Kuvaamisen työkalut.  
3. Toiminnalliset ja ei-toiminnalliset vaatimukset, reunaehdot ja rajoitteet. Vaatimusten kuvaamisen käytännöt. Vaatimusten priorisointi ja riskianalyysi.  
4. Vaatimusten keräämisen ja analysoinnin menettelytavat.    
5. Määrittelyprojekti. Ohjelmiston toiminnnallinen määrittely.    

Toteutustapa: Luennot, niihin liittyvät harjoitustehtävät sekä omaehtoinen työskentely ja  harjoitustyö.

Kurssin laajuus: 5 op.

Kurssin suorittaminen: Kurssi suoritetaan osallistumalla luentoihin, niihin perustuvalla kuulustelulla sekä kurssikokonaisuuden soveltamistaitoja mittaavalla harjoitustyöllä.  Kuulustelusta saatava maksimipistemäärä on 40. Kuulustelusta on saatava hyväksytty suoritus (min. 16 pistettä = 2/5*max) kurssin läpäisemiseksi; osallistumisaktiviteetin ja harjoitustyön lisäpisteet siis lasketaan mukaan vasta kun kuulustelu on suoritettu hyväksytysti. Kurssin luennoilla läsnäolosta voi kerätä 10 pistettä (piste per kerta = 4h). Hyväksytystä harjoitustyöstä  annettavat pisteet ovat 1-10 pistettä. Palauttamatta olevan tai sisältönsä vuoksi hylätyn harjoitustyön vaikutus arvostelussa on -7 pistettä. Negatiiviset harjoituspisteet eivät muuta hyväksytyllä kuulustelulla ansaittua kurssin suoritusta hylätyksi  (vaikuttavat kuienkin arvosanaan - mahdollisesti). Arvosana määräytyy jakamalla yhteenlaskettu pistemäärä luvulla 10 ja pyöristämissääntöjen mukaisesti muuntamalla saatu tulos kokonaisluvuksi. Loppuarvosanan määräytymisessä arvosteluasteikko on 1-5. Pelkällä tenttituloksella saatavissa oleva arvosana on näinollen 3 (maksimipisteet 40 vähennettynä jättämättömällä harjoitustyöllä). Palauttamalla harjoitustyön huonoimmallakin mahdollisella arvosanalla arvosteltuna on mahdollisuus jo arvosanaan 5 - olettaen että tentti on onnistunut lähes täydellisesti. Kun menestystä kerrytetään vielä edes kohtalaisella luentoihin osallistumisella, on hyvän arvosanan saaminen jo lähes varma. 


Harjoitustyö:  Toimeksianto Moodlessa .
Harjoitustyö arvostellaan arvosanalla 1-10 (0= hylätty/voi tehdä uudelleen). Mikäli hylättyä harjoitustyötä ei ole korjattuna jätetty määräaikaan mennessä tai harjoitustyö on kokonaan jätetty tekemättä, arvostellaan se kuulustelussa saatua pistemäärää vähentävänä arvosanalla -7. Harjoitustyö palautetaan 6.4.2010 mennessä ja annettujen ohjeiden mukaisena. Harjoitustyöhön liittyy välinäyttö 26.2.2010 mennessä. Lopullinen kurssiarvostelu suoritetaan vasta harjoitustyön palauttamisen jälkeen.

Kirjallisuus ja kurssimateriaali:

Luennot on rakennettu seuraavia kirjoja hyödyntäen

Tyyppi Nimi Tekijä ISBN URL Painos,saatavuus... Tentti-
materiaali
Kieli
Kirja  Software Engineering  Sommerville, Ian  0-321-31379-8    Addison-Wesley, 8. painos  Kyllä  Englanti 
Kirja  UML Distilled  Fowler, Martin  0-321-19368-7    Addison-Wesley, 3. painos  Ei ole  Englanti 
Kirja  Mastering the Requirements Process  Robertson Suzanne, Robertson James  0-321-41949-9    Addison-Wesley, 2. painos, 2006  Ei ole  Englanti 
Kirja  Ohjelmistotuotanto  Haikala Ilkka, Märijärvi Jukka      Talentum, 10. painos  Ei ole  Suomi 
Luentokalvot  Ohjelmiston määrittelyn kalvomateriaali  Jaakkola, Hannu      TTY, Porin yksikkö  Kyllä  Suomi 

TTY kirjaston verkkopalvelussa on saatavilla yksi kurssin keskeisistä lähdeteoksista - Robertson & Robertson, Mastering the Requirements Process [E-kirjasto -> Verkkokirjat -> Safari Books Online -> Software Engineering -> Requirements ans Specification; suora linkki http://proquest.safaribooksonline.com/0321419499]. Linkit:
Materiaalin käyttö edellyttää TTYn verkkoavaruudessa olemista (käyttöä TTYn sisäverkosta tai muualta VPN-yhteydellä). VPN-yhteyden asennus on ohjeistettu TTY:n verkkosivuilla (http://www.tut.fi/haavi/ -> ATK-palvelut -> Etäyhteydet -> VPN); sieltä voi ladata asennukseen tarvittavat kilkkeet (exe-muotoinen asennuspaketti). Ohje ja tarvittavat asennusvälineet ovat saatavissa myös kurssin työkalusivustossa http://www.pori.tut.fi/~hj/otuper-verkkokurssi/Tools/ .

Muita aihepiiriä käsitteleviä suositeltavia kirjoja lukemistoksi  asiasta kiinnostuneelle ovat

Luentomateriaalin jakelu:

Sisältö ja aikataulu:


Yleistarkastelu

Määrittely osana ohjelmistotyötä
- vaatimukset määrittelytyölle (2)
- ohjelmistoprojektit (3)
Johdatus ohjelmiston määrittelyyn – kokonaisuus (4)
Vaatimusten hallinta (5)
Kuvaustekniikat osana määrittelytyötä
Johdatus UML-kieleen (6)
Toimintojen ja tietojen kuvaaminen (7)
Luokka- ja oliokaaviot (8)
Tilakaaviot (9)
Vuorovaikutuksen kuvaminen (10)
Tietovirtojen kuvaaminen (11)

Yksityiskohtainen tarkastelu

Projektin käynnistäminen (12)
- sidosryhmäanalyysi
Järjestelmän rajaaminen (13)
Vaatimusten etsinnän menettelytapoja (14)
Vaatimuskuvaus (15)
Funktionaaliset ja ei-funktionaaliset vaatimukset (16)
Vaatimusten arviointi (17)
- vaatimusten hyväksymiskriteerit (testattavuus)
- vaatimusten laadukkuus
Vaatimusten dokumentointi (18)
Vaatimuksista toiminnalliseen määrittelyyn (19)
Case – järjestelmän määrittely (20)

Aika
2009
Aihe (alustava aikatauluarvaus)
Viitteet
ke 28.10. klo 12-16
LK 205
Kurssin aloitus.
Määrittely osana ohjelmistotyötä.
01-.pdf
02-.pdf
to 29.10. klo 12-16
AUD 240
Johdatus ohjelmiston määrittelyyn

Asiakasvaatimusten hallinta
03-.pdf
04-.pdf
05-.pdf
pe 30.10. klo 8:30-12
LK 205
Johdatus UML-kieleen

Toimintojen ja tietojen kuvaaminen
06-.pdf
koskimies-etal-UML.pdf
07-.pdf
ti 3.11. klo 8:30-12
LK 226
Prosessien mallintaminen
Luokkakaaviot
08-.pdf
ke 4.11. klo 12-16
LK 205
Tilakaaviot 09-.pdf
ti 10.11. klo 8:30-12
LK 226
Vuorovaikutuksen kuvaaminen 10-.pdf
ke 11.11. klo 12-16
LK 205
Tietovirtojen kuvaaminen
Projektin käynnistäminen
11-.pdf
12-.pdf
to 19.11. klo 12-16
LK 205
Järjestelmän rajaaminen
13-.pdf
pe 20.11. klo 8:30-12
LK 205
Vaatimusten etsinnän menettelytapoja
 
14-.pdf
ti 24.11. klo 8:30-12
LK 205
Vaatimuskuvaus
Vaatimusluokat
15-.pdf
16-.pdf
ke 25.11. klo 12-16
LK 205
Vaatimusten arviointi
Vaatimusten dokumentointi
17-.pdf
18-.pdf
to 3.12. klo 12-16
LK 205
Dokumentointi
Vaatimuksista toiminnalliseen määrittelyyn
19-.pdf
20-.pdf
pe 4.12. klo 8:30-12
LK 205
Case ja harjoitustyön toimeksianto

Tentti
1. Uusinta
2. Uusinta
 
26.2.2009
6.4.2009
Harjoitustehtävän välinäyttö
Harjoitustehtävän palautus
 



Hyödyllisiä linkkejä:
 

UML-standardi

Linkkejä alan asioihin

TTY Porin ohjelmistoprosessitoiminta

Opetuksen tukimateriaali ja muiden yliopistojen kursseja

Kirjalllisuutta ja apuvälineitä

UML-standardi

Ohjelmistoprosessien ja laadun kehittäminen - organisaatioita

Tietoja

     Tietoviikko - 250 suurinta yritystä: http://www.tietoviikko.fi/
     Sähkö- ja elektroniikkateollisuusliitto: http://www.elektroind.fi/