Ohjelmistojen mallintaminen kertausta Harri Laine 1

Samankaltaiset tiedostot
Ohjelmistotekniikan menetelmät, UML

Ohjelmistojen mallintaminen, mallintaminen ja UML

UML - unified modeling language

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen, kertausta

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistotekniikan menetelmät, kesä 2008

Analyysi on tulkkaamista

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistojen suunnittelu

UML- mallinnus: Tilakaavio

UML:n yleiskatsaus. UML:n osat:

Ohjelmistojen mallintaminen, sekvenssikaaviot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen, mallintaminen ja UML

käyttötapaukset mod. testaus

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Sisällönhallinnan menetelmiä

Ohjelmistotekniikan menetelmät

Ohjelmistotekniikan menetelmät

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Luokkakaavion laatiminen

Ohjelmistojen mallintaminen. Luento 4,

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

UML OHJELMISTOPROSESSIEN TUKENA

Luokka- ja oliokaaviot

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Ohjelmistojen mallintaminen luokkamallin laatiminen

Johdatus sovellussuunnitteluun

Ohjelmistojen mallintaminen Ohjelmistoarkkitehtuuri Harri Laine 1

Toimintokaavio. UML-Toimontokaavio 1

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Johdatus sovellussuunnitteluun, s2000, osa4 Helsingin yliopisto;/tktl. Harri Laine 1. Luokka- ja oliokaaviot. Luokka- ja oliokaaviot

Luokkakohtaiset eli stattiset metodit ja attribuutit

UML-kaaviot. Jouni Kylä-Nikkilä

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Johdatus sovellussuunnitteluun, s2001, osa 4a Helsingin yliopisto / TKTL Harri Laine / Inkeri Verkamo 1. Luokka- ja oliokaaviot

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Avoimen ja yhteisen rajapinnan hallintamalli

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

UML-kielen formalisointi Object-Z:lla

Hieman lisää malleista ja niiden hyödyntämisestä

Kaavioista luettavat UML-laajennukset

Ohjelmistojen mallintaminen luokkamallin laatiminen

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Unified Modeling Language

3. Käsiteanalyysi ja käsitekaavio

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

2. Olio-ohjelmoinnin perusteita 2.1

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely

SÄILYTETTÄVIEN TIETOJEN MÄÄRITYS LUOKKAMALLI

Ohjelmistotuotanto, s2001 2/10/2003

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Mallinnus UML-yleiskatsaus

Tietokannan suunnittelu

Ohjelmistojen mallintaminen. Matti Luukkainen

Ohjelmistotuotanto, s

Johdatus sovellussuunnitteluun, s 2001, osa 4b Helsingin yliopisto / TKTL Harri Laine / Inkeri Verkamo 1. Luokkakaavion tarkoitus

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely

UML Luokkakaavio 14:41

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

Ohjelmistotuotanto, s

Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)

Viestinvälitysarkkitehtuurit Lähtökohta:

Ohjelmiston vaatimusmäärittely. tietoteknisen järjestelmän osat

Johdatus sovellussuunnitteluun, s2000, osa5 Helsingin yliopisto;/tktl. Harri Laine 1. Luokkakaavion tarkoitus. Luokkakaavion tarkoitus

Transkriptio:

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