582104 Ohjelmistojen mallintaminen, kesä 2009 1
Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin perusteet-kurssin laajuudessa Web-sivu: http://www.cs.helsinki.fi/u/pohjalai/ke09/ohma/ Korvaa aikaisemmat kurssit Johdatus sovellussuunnitteluun tai Ohjelmistotekniikan menetelmät 2
Mikä on malli? A model is an abstract representation of an item or a concept a car, a plane, or a building or a part of something, such as a tire, a wing, or a room. Models are created in order to view, manipulate, or test the thing they represent without having to build the real thing. [MSDN Microsoft Oslo documentation] 3
Suhde muihin peruskursseihin 4
Kurssikirja Maciaszek L., Liong B., Practical Software Engineering A Case Study Approach, Addison- Wesley, 2005 5
Oppimistavoitteet Olio-ohjelmiston kehittämiseen ja elinkaareen liittyvät peruskäsitteet ja -menetelmät Käyttötapaus-, luokka- ja sekvenssikaavioiden laatiminen UML:llä Vaatimusanalyysin, kohdealueen mallinnuksen sekä arkkitehtuuri- ja oliosuunnittelun alkeet & soveltaminen pienessä mittakaavassa 6
Kurssin suoritus 24 luentotuntia, 10 laskuharjoitustuntia Luennot 01.06. MA 16-18, 04.06. TO 16-20, 08.06. MA 16-20, 10.06. KE 16-20, 12.06. PE 16-18, 16.06. TI 16-20, 18.06. TO 16-20 Luennoija FM Pietu Pohjalainen pietu.pohjalainen@cs.helsinki.fi Laskuharjoitukset R1: klo 14-16, R2: klo 16-18, sali CK111 Laskuharjoitusten pitäjä Tia Määttänen tia.maattanen@cs.helsinki.fi 7
Kurssikoe ja arvostelu Kurssikoe maanantaina 29.6. klo 16-19 osoitteessa Unioninkatu 40, sali 1 Kurssin maksimipistemäärä 60 pistettä Tentti: jaossa 50 pistettä Laskuharjoitukset: jaossa 10 pistettä Yhteensä kurssin läpäisemiseksi vaaditaan minimissään noin 30 pistettä. Lisäksi PeerWise-harjoituksista jaossa ylimääräiset 6 pistettä 8
Kurssin sisältö Johdatus ohjelmistotuotantoon Ohjelmistojen mallintaminen ja UML Käyttötapauksiin perustuva vaatimusmäärittely Luokkamallien laatiminen Vuorovaikutuksen suunnitteleminen Ohjelmistojen arkkitehtuuri ja rajapinnat 9
Kurssin pääsisältö (1/5) Johdatus ohjelmistotuotantoon (Ch. 1) Tietojärjestelmien peruskäsitteet Ohjelmistotuotannon eroavuudet verrattuna muuhun teolliseen tuotantoon Ohjelmiston elinkaaren päävaiheet 10
Kurssin pääsisältö (2/5) Ohjelmistojen mallintaminen ja UML (Ch. 2) Miksi ohjelmistoja pitää mallintaa Strukturoitu mallinnus: DFD- ja ER-kaaviot Oliokäsitteistön kertaus UML:n yleisesittely ja eri kaaviotyyppien käyttötarkoitukset Sidosryhmäkaavio Käyttötapauskaavio Luokkakaavio Sekvenssikaavio 11
Kurssin pääsisältö (3/5) Käyttötapauksiin perustuva vaatimusmäärittely (Ch. 6-8) Ohjelmiston sidosryhmien löytäminen Käyttötapausmalli ja -kaavio Käyttötapaukset kaaviona ja tekstinä Käyttötapausten organisoiminen Käyttötapausmallin laatiminen Käyttötapaukset ohjelmiston elinkaaressa 12
Kurssin pääsisältö (4/5) Luokkamalli (Ch. 6-8) Esimerkkejä UML-luokkamalleista Luokkakaavio UML:ssä Luokat ja luokkien ilmentymät Luokkien attribuutit Yhteydet Operaatiot Luokkamallin lisäohjeistusta Erilaiset yhteystyypit: kooste ja kompositio Muita suhteita, riippuvuuksista, luokkahierarkia 13
Kurssin pääsisältö (5/5) Vuorovaikutuksen suunnitteleminen (Ch 11.3) Sekvenssikaaviot, kommunikointikaavio Esimerkkejä Arkkitehtuurisuunnittelu (Ch 9) Esimerkkejä erilaisista arkkitehtureista Arkkitehtuurikehyksistä Suunnittelumalleja Järjestelmän eri osien välisten riippuvuuksien hallinta 14
Harjoituksista Opintopiireissä harjoituksia viitenä viikkona 1. Sidosryhmät 2. Käyttötapaukset 3. Luokkamallinnus 4. Vuorovaikutus 5. Arkkitehtuuri Luentojen ja laskuharjoitusten välillä vain lyhyt kalenteriaika! 15
PeerWise -harjoitukset Normaalien laskuharjoitusten lisäksi käytetään PeerWise järjestelmää Laskuharjoitusten jälkeen järjestelmään voi syöttää omia monivalintakysymyksiä harjoituksiin liittyen Harjoitusten aihetta kerrataan vastaamalla ja arvioimalla toisten laatimia kysymyksiä Porkkana: kysymyksen laatimisesta kirjataan 1 bonuspiste; toisten kysymyksiin vastaamisesta kirjataan bonuspiste per 2 vastausta + arviointia 16
PeerWise harjoitukset, aikataulu 17
PeerWise -pikaohjeet 1. Lue PeerWisen käyttöön liittyvä erillinen englanninkielinen ohje kurssin kotisivuilla 2. Odota, että saat yhteyshenkilöltä sähköpostilla henkilökohtaisen avaimesi. 3. Kun saat henkilökohtaisen avaimesi, mene osoitteeseen: http://peerwise.cs.auckland.ac.nz/ register/ ja rekisteröidy käyttäjäksi 4. Syötä järjestelmään avaimesi, kurssi id () ja keksi itsellesi käyttäjätunnus ohjeistuksen mukaisesti. 5. Tutustu järjestelmään ja sen toimintoihin. Muista, että laatimasi kysymykset näkyvät kaikille. 18