kertausta 5.12.2008 Harri Laine 1
Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit - yleismalleja elinkaaren kehittymisestä, etenemiskontrollin perusta määritelty vaihetuotteita ei ole täsmällisesti määritelty konkreettisempi kuin yleinen puitemalli esim. Vesiputous, Iteratiivinen, Spiraali, Ketterä kehitys Teoriaa Kehittämismenetelmä prosessimallin ilmentymä vaiheilla täsmällinen etenemiskontrolli ja vaihetuotteet konkreettisuuden aste vaihtelee - valmis / mukautettava esim. RUP (Rational Unified Model ) - UML-pohjainen {ei käsitelty} Käytäntöä 5.12.2008 Harri Laine 2
Abstraktiot ja abstraktiotasot Kohteen malli: tiettyyn käsitteistöön perustuva kuvaus kohteesta Jotta malli olisi ymmärrettävä muillekin kuin laatijalleen on kohdeyleisön jaettava yhteinen käsitteistö (ymmärrettävä käsitteiden merkitys) käsitteistö = ontologia käsitteistö määrittelee, mikä kuvauksissa on oleellista 5.12.2008 Harri Laine 3
Tietojenkäsittelyä kuvattaessa kohde itsessään on abstrakti ja kuvauskohteena nuori ei ole olemassa yhtä yleisesti hyväksyttyä vakiintunutta käsitteistöä standardit ja tutkijat tarjoavat käsitteistöjä, kaikki on kuitenkin keinotekoista käsitteistöjä syntyy lisää nopeaan tahtiin suunnittelijan on pystyttävä omaksumaan uusia käsitteistöjä ja käyttämään niitä 5.12.2008 Harri Laine 4
Abstraktiotasot samaan kohdealueeseen liittyy useita ei näkökohtia korostavia käsitteistöjä käsitteistöjä voidaan sijoittaa tasoihin esimerkiksi teknisyysasteensä tai laiteläheisyytensä perusteella vielä vähemmän tekninen vähemmän tekninen teknisin 5.12.2008 Harri Laine 5
Näkemys järjestelmästä Tiedonmuokkausprosessi Tieto kulkee järjestelmän läpi ja jalostuu eri käsittelyvaiheissa Tietovuotekniikka (periaate) (data flow) Palveluprosessi, jossa tietojenkäsittelypalvelut toteutetaan eri tasoisten (tietojenkäsittely)olioiden palveluja hyödyntämällä Oliot tarjoavat palveluja Oliot tekevät yhteistyötä Olioperustainen kehittäminen 5.12.2008 Harri Laine 6
Olioperustaisen mallintamisen tekniikoita Mallien esittämiseen graafisia esitystekniikoita Graafiset tekniikat ovat pelkistettyjä kuvauksia, lisäksi tarvitaan vapaamuotoisia tai formaaleja tekstikuvauksia 5.12.2008 Harri Laine 7
5.12.2008 Harri Laine 8
Mallit määrittelyssä Sidosryhmäkaavio (rajaukseen) Käyttötapausmalli (järjestelmän palvelut käyttäjän kannalta = toiminnalliset vaatimukset) Luokkakaavio (tietosisältö) Liiketoiminnan kuvaamisessa voi käyttää myös käyttäytymismalleja osapuolten yhteistyö ja työnkulut sekvenssikaavioilla, yhteistyökaavioilla tai aktiviteettikaavioilla prosessin vaiheet tilakaavioina Lisäksi on selvitettävä ei toiminnalliset vaatimukset (suorituskyky, tietosuoja, skaalautuvuus,käytettävyys, jne.) 5.12.2008 Harri Laine 9
Mallit suunnittelussa Luokka ja oliokaaviot (monella tasolla) Aktiviteettikaaviot Sekvenssikaaviot, yhteistyökaaviot Pakkauskaaviot, Komponenttikaaviot, Asennuskaaviot Suunnittelu on monitasoista, isompien ja pienempien osien rakenteita ja yhteistyötä mallinnettavissa samoin välinein Samoja mallinnustekniikoita voi käyttää eri abstraktiotasoilla Vaikka mallia ei dokumentoitaisi, pitää tekijöillä olla jokin käsitys siitä mitä ollaan tekemässä. Yhteinen peruskäsitteistö muodostaa paremman perustan kuin kertakäyttökäsitteistö. 5.12.2008 Harri Laine 10
Luokat ja yhteydet nimi ilman lukusuuntaa Jokaisella asiakkaalla on 1-9 pankkitiliä Asiakas omistus 1..3 omistaja 1..9 tili Pankkitili nimi lukusuunnalla Asiakas >omistaa 1..3 omistaja 1..9 tili Pankkitili 5.12.2008 Harri Laine 11
Luokat ja yhteydet (kompositio olemassaoloriippuvuus) Kurssi * Harjoitusryhmä Rakennus * Huoneisto 5.12.2008 Harri Laine 12
Riippuvuus Luontiriippuvuus: luokan ilmentymä luo toisen luokan ilmentymiä (instantiate) Tehdas <<instantiate>> Ilmentymäriippuvuus (instance of) Tuote Auto käyttöriippuvuus x <<instance of>> <<uses>> ABC-123:Auto y 5.12.2008 Harri Laine 13
Käsitehierarkkia ja periminen luokkamallissa Ohjelmaolioiden luokkahierakkia vs. UMLluokkahierarkkia 5.12.2008 Harri Laine 14
Käyttäytymismallit Kuvaavat toiminnan etenenemistä Sekvenssikaavio kuvaa toiminnan etenemistä olioiden yhteistyönä 5.12.2008 Harri Laine 15
:A :B avusta hoida_itse_tämä (paluukutsu) Tässä viestit ovat synkronisia palvelupyyntöjä = pyytäjä odottaa kunnes pyyntö on hoidettu ja paluuarvot palautettu odotusta 5.12.2008 Harri Laine 16
Kommunikointikaavio korostaa yhteistyön perustumista olioiden välisiin yhteyksiin, ajallinen aspekti tulee esiin huonommin kuin sekvenssikaaviossa olio1 yhteys1 olio2 Järjestysnumero kuvaa suoritusjärjestyksen. Numerointi: palvelun I sisällä i.1, i.2, 1.1: palvelu2 olio3 yhteys2 5.12.2008 Harri Laine 17
Aktiviteettikaavio kuvaa toiminnan etenemistä ja kontrollia kokonaisuutena Toiminnan haarautuminen ja jakautuminen Toiminta voi olla olioille jaettua tai olioista riippumatonta Asiakas Toimittaja 5.12.2008 Harri Laine 18
Tilakaaviot kuvaat prosessin etenemistä tilasta toiseen Tapahtumat aiheuttavat siirtymiä Tilat kuvaavat olotilaa UML:ssä sama notaatio kuin aktiviteettikaavioissa Tilakaavioissa toiminta liittyy siirtymiin aktiviteettikaavioissa tiloihin. 5.12.2008 Harri Laine 19
Arkkitehtuurista: Kruchtenin 4+1 mallin periaatteet Paketoinnin perusteita Millainen on hyvä pakkaus Kiinteys, koheesio Osiinjaon periaatteita: toiminnallinen ositus ja abstraktiotasoihin perustuva ositus Riippuvuuksien karsiminen Rajapinnat Ohjelman etenemiskontrolli Arkkitehtuurityyli, mitä se on? Esimerkkejä MVC 5.12.2008 Harri Laine 20