Oppimistavoitteet. Suunnittelumalli Design Model. Suunnittelumalli. Suunnittelumalli. Suunnittelumalli SUUNNITTELUMALLI.
|
|
- Tuula Härkönen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Oppimistavoitteet Design Model Rajapintamalli, sisärakennemallit Luento Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 2 SUUNNITTELUMALLI sisältää arkkitehtuurin suunnittelun ja analysoinnin kannalta oleelliset suunnittelupäätökset Käsitteellisellä tasolla se on täydellinen sisältäen kaikki oleelliset suunnittelupäätökset (Master-malli) Jos laadittaisiin konkreettinen täydellinen suunnittelumalli, siitä tulisi hyvin laaja ja siksi epäkäytännöllinen Ymmärrettävyys, ylläpidettävyys Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 4 Täydellinen suunnittelumalli jääköön siis suunnittelijoiden mieleen, mutta siitä on silti pystyttävä laatimaan konkreettisia kuvauksia, joita voidaan efektiivisesti käyttää päätelmien tekoon arkkitehtuurista Seuraavia tekniikoita käytetään efektiivisten suunnittelumallien laadinnassa Näytetään vain ne yksityiskohdat, joita tarvitaan suunnitteluongelmien ratkomiseen Näkymä (View) Projektio, joka poimii tietyn näkökulman mukaisen joukon yksityiskohtia täydellisestä Master-mallista konkreettiseksi kuvaukseksi Kapselointi (Encapsulation) Arkkitehtuurielementin malli jaetaan rajapintamalliin (boundary model) ja sisärakennemalliin (internals model) Erotetaan elementin julkisesti muille elementeille näkyvä osa (rajapinta, palvelut) sen toteutuksesta Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 6 1
2 Yinzer Top-Level Design Model Sisäkkäisyys (Nesting) Useimmilla mallin elementeillä on hienorakenne (sub-structure) Sisärakennemalli kuvaa hienorakenteen, joka esitetään sisältyvien komponenttien rajapintamallin avulla Sisältyvillä elementeillä on taas oma sisäinen rakenteensa Näin syntyy puumainen elementtihierarkia Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 8 Yinzer-palvelun suunnittelumalli Seuraavassa käydään läpi Yinzer SoMepalvelun suunnittelumalli, joka kuvaa koko järjestelmän rajapinnan muuhun maailmaan Käyttötapaukset ja toiminnalliset skenaariot, systeemikonteksti, ulos näkyvät koodimoduulit, sijoittelu laitteistoon, laatuskenaariot Ylimmän tason sisärakennemalli, joka kuvaa koko järjestelmän sisäistä suunnittelua Komponenttikokoonpano, sisäkkäiset rakennemallit YLIMMÄN TASON RAJAPINTAMALLI Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 10 Rajapintamalli Käyttötapaukset ja skenaariot KÄYTTÖTAPAUKSET UML:nkäyttötapauskaaviot(use case diagram) tarjoavat kompaktin graafisen yhteenvedon Järjestelmän toiminnallisuudesta Toimijoista (Actor) ja muista järjestelmistä, joiden kanssa SUD 1 on vuorovaikutuksessa Kaavion käyttötapaukset kuvaavat järjestelmän toiminnallisuuden yleisellä tasolla, eivät mitään tiettyä yhtä skenaariota eivätkä käyttötapausten keskinäisiä riippuvuuksia (esim. suoritusjärjestys) 1 SUD = system under design, suunnitteilla oleva järjestelmä Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 12 2
3 Käyttötapauskaavio TOIMINNALLISET SKENAARIOT Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 14 Toiminnalliset skenaariot Skenaariot kuvaavat täydellisiä tapahtumakulkuja, joissa SUD on vuorovaikutuksessa ulkopuolisten toimijoiden (actor) kanssa Erona sovellusaluemallin skenaarioihin nyt voidaan jo puhua Yintzer-järjestelmästä ja siihen kuuluvista jäsenistä (member) erotuksena muista ihmisistä Skenaarion kulussa voidaan jo ottaa kantaa myös suunnitteluratkaisuihin, eli miten järjestelmän toiminta näkyy järjestelmän rajapinnalla ja vuorovaikutuksessa ulkop. toimijoiden kanssa ei kuvata siis SUD:n sisäistä toiminnan kulkua Nimi Alkutila Toimijat Skenaarioesimerkki Kevin saa töitä Widgetron-yhtiöstä Alan ja Owen ovat jäseniä Yinzerissä; Kevin ei ole jäsen. Alan on töissä Widgetronissa Alan, Kevin,Owen, Widgetron Askelet 1. Alan kutsuu Kevinin kontaktikseen (Contact) omaan verkostoonsa (Network). / Järjestelmä lähettää Kevinille kutsun sähköpostissa. 2. Kevin klikkaa sähköpostiviestissä olevaa linkkiä, liittyy jäseneksi Yinzeriin ja hyväksyy Alanin kutsuun liittyvän kontaktipyynnön. 3. Widgetron julkaisee ilmoituksen (Ad) avoimesta ohjelmistokehittäjän toimesta (Job). / Järjestelmä automaattisesti ehdottaa Owenia rekrytoitavaksi ja lähettää hänelle sähköpostin. 4. Alan näkee ilmoituksen ja ehdottaa Keviniä toimeen. / Järjestelmä lähettää Kevinille sähköpostin. 5. Kevin saa työpaikan ja hän päivittää Yinzer-profiiliinsa uuden työnsä Widgetron-yhtiössä Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 16 Skenaarioesimerkki Jokainen edellä olevan skenaarion erillinen askel vastaa yhtä käyttötapausmallin käyttötapausta Käyttötapausmalli kuvaa mahdolliset tapaukset, mutta skenaario kuvaa jonkin tietyn ketjun käyttötapausten suorituksia Skenaarioiden ei tarvitse käyttää kaikkia käyttötapauksia; tämä oli vain yksi esimerkki Jos käyttötapausten keskinäiset riippuvuudet ovat tärkeitä (esim suoritusjärjestys), UML:n aktiviteettikaaviot sopivat kaikkien mahdollisten laillisten polkujen (skenaarioiden) määrittelyyn yleisen (tila-)mallin avulla Skenaarioesimerkki Skenaariossa ei kuvattu järjestelmän käyttöliittymän yksityiskohtia Käyttöliittymää koskevat suunnittelupäätökset on tällä tasolla syytä jättää avoimiksi selkeyden vuoksi Toiminnallisissa skenaarioissa ei ole toisaalta syytäkään vielä kiinnittää käyttöliittymän suunnittelua, vaan mahdollistaa monia toteutuksia (vaihtoehtoja on!) Käytettävyydellä ja käyttöliittymällä on kuitenkin usein vaikutusta arkkitehtuuriin, joten niitäkin pitää projektin aikaisessa vaiheessa alkaa miettiä Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 18 3
4 Systeemikonteksti SYSTEEMIKONTEKSTI Kuten käyttötapauskaavio, systeemikontekstikaavio (system context diagram) näyttää SUD:n kanssa vuorovaikutuksessa olevat ulkoiset järjestelmät / toimijat Mallinnetaan komponentteina Erona toiminnallisuuteen keskittyvään käyttötapauskaavioon systeemikonteksti näyttää järjestelmiä yhdistävät kommunikaatiokanavat eli konnektorit Portit, joiden kautta kommunikaatio tapahtuu ja jotka kokoavat loogisesti yhteen kuuluvat rajapinnat samaan yhteyspisteeseen Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 20 Yinzer - systeemikontekstikaavio Systeemikonteksti Systeemikontekstikaavio ottaa kantaa konkreettisiin vuorovaikutusmekanismeihin Konnektorit ja portit Käyttötapauskaavio näyttää Yinzer -jäsenen kommunikoivan suoraan järjestelmän kanssa, mutta systeemikonteksti näyttää sen tapahtuvan web-selaimen välityksellä kahden teknisesti samanlaisen mutta loogisesti erillisen kanavan ja portin kautta Lisäksi näytetään sähköpostiliikenteen kulku sähköpostipalvelimen ja sen asiakkaiden kautta Porttien tukemat käyttötapaukset määrittävät porttien roolit Käyttötapausten ja skenaarioiden kuvaamat vuorovaikutukset ulkoisten järjestelmien ja toimijoiden kanssa pitää pystyä selittämään systeemikontekstin kuvaamien kommunikaatioväylien avulla Jokaiselle käyttötapaukselle pitää olla sen mahdollistava portti / portit Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 22 Systeemikonteksti Huomaa, että systeemikontekstikaavio näyttää komponentti-instansseja, eli ajonaikaisen tilanteen Järjestelmätason komponentti-instansseja on usein vain yksi (esim. SUD eli Yinzer), mutta asiakaskomponentteja voi olla useita näitten eri roolien havainnollistamiseksi (Yinzer-jäsenet ja ei-jäsenet) Mitä isommasta komponentista on kysymys, sitä todennäköisempää on, että siitä koskaan on olemassa vain yksi tai korkeintaan muutama instanssi järjestelmän käytössä ollessa Systeemikontekstikaavio on vain yksi esimerkki kaikista mahdollisista ajonaikaisista konfiguraatioista Asiakkaiden ja s-postipalvelimien määrä vaihtelee järjestelmän elinkaaren aikana paljonkin Neuvo: Systeemikonteksti Komponenttien kaikki portit ja niitä yhdistävät konnektorit pitäisi aina näyttää, kun komponentteja piirretään kaavioihin Näin on todennäköisempää, että kaavioiden avulla todella voi ymmärtää järjestelmän toimintaa Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 24 4
5 Moduulit MODUULIT Moduulimalli kuvaa järjestelmän ulospäin näkyviksi tarkoitetut koodimoduulit (pakkaukset) Nämä liittyvät järjestelmän porttien toteutukseen Moduulit sisältävät ne määrittelyt (luokat, rajapinnat, tietotyyypit ja niiden käyttöön vaadittavan implementaation) joita tarvitaan porttien/rajapintojen käyttöön ulkoisista ohjelmistoista Yleisempänä pyrkimyksenä on noudattaa ohjelmointityyliä, joka tekee arkkitehtuurin näkyväksi myös implementaation tasolla (eli koodimallissa) Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 26 Moduulimalli SIJOITTELU SUORITUSYMPÄRISTÖÖN Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 28 Sijoittelumalli Yinzer-sijoittelukaavio Yinzer-järjestelmän suoritusympäristö (laitteisto, tietoliikenneyhteydet) vaikuttaa merkittävästi järjestelmän suoriutumiseen tehtävistään Sijoittelukaavio (deployment diagram) kuvaa, miten järjestelmän komponenttien instanssit on allokoitu suoritusympäristön laitteistoon (palvelimet, verkot, erilaiset päätelaitteet) ja mitä kommunikaatiokanavia ne käyttävät Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 30 5
6 Sijoittelumalli Ohjelmistojen asennukseen, varmistukseen, päivitykseen ja migraatioon liittyy monenlaisia teknisiä haasteita Näistä kannattaa laatia toiminnallisia skenaarioita, jotka kuvaavat esimerkiksi ohjelmistoversion päivitykseen tai varmuuskopiointiin liittyvät työvaiheet ja järjestelmän tilan LAATUATTRIBUUTIT Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 32 Laatuattribuutit ja arkkitehtuuriajurit Laatuattribuuttiskenaarioesimerkki Järjestelmän laatuominaisuudet on syytä priorisoida toimivan teknisen ratkaisun löytämiseksi Priorisointi on tehtävä näkyväksi kaikille kehittäjille Laatuvaatimukset voidaan kuvata eksplisiittisemmin myös laatuattribuuttiskenaarioita käyttäen (quality attribute scenarios) Skenaario Lähde Heräte Ympäristö Artefakti Vastaus Mittari Koko skenaarion kulku #<tunniste> Yinzer -jäsen Web-sivun pyyntö Yinzer-palvelimelta Normaali toiminta Koko järjestelmä Palvelin palauttaa pyydetyn web-sivun Yinzer-järjestelmä lähettää vastauksen yhden (1) sekunnin kuluessa Yinzer-jäsen klikkaa linkkiä web-selaimessa; selain lähettää sivupyynnönyinzer-palvelimelle, joka lähettää vastauksena websivun yhden sekunnin kuluessa Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 34 Laatuattribuuttiskenaariot Todella merkittäviä laatuattribuuttiskenaarioita on yleensä vain kourallinen järjestelmää kohden Tulisi siis valita oikeasti tärkeimmät laatuominaisuudet ja niihin liittyvät konkreettiset vaatimukset skenaarioihin Laatuskenaarion määrittely on helppoa, jos attribuutilla on selkeä ja suoraviivaisesti laskettava ja mitattava mittari Esimerkiksi ylläpidettävyyteen liittyvien mittarien määrittely voi olla huomattavan hankalaa Arkkitehtuuriajurit Laatuattribuuttiskenaariot voidaan priorisoida 1 niiden suhteellisen tärkeyden ja toisaalta niiden toteuttamisen vaikeuden perusteella Sekä hyvin tärkeät että vaikeasti toteutettavat laatuskenaariot vaativat aivan erityistä huomiota suunnittelussa ja toteutuksessa Tämän takia niitä kutsutaan arkkitehtuuriajureiksi (architectural driver) Suunnittelupäätösten ja valintojen kelpoisuus arvioidaan niitä vasten 1 Tähän palataan kurssilla arkkitehtuurin arvioinnin yhteydessä Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 36 6
7 Laatuominaisuuksien tasapainottelu Järjestelmän suunnittelussa jostakin laatuominaisuudesta täytyy yleensä tinkiä jonkin toisen hyväksi (trade-off) Esimerkiksi Yinzer lähettää ei-jäsenille sähköpostitse kontaktiksi -kutsun yhteydessä linkin sivulle, joka sisältää joitakin henkilökohtaisia tietoja kutsujasta Sähköpostin saaja voi klikata linkkiä ja nähdä sivun suoraan sivu ei vaadi lataajan tunnistamista. Toisaalta linkin URI:iin sisältyy suuri satunnaisluku, jonka arvaaminen ilman linkkiä on aika epätodennäköistä. Turvallisemmat ratkaisut, joissa klinkin likkaaja jollain tavoilla autentikoitaisiin, vaikuttaisivat heikentävästi käytettävyyteen lisäämällä uusia askeleita käyttötapaukseen. Tämä voisi vähentää myös potentiaalisen jäsenen halua tulla mukaan. Nyt käyttäjä näkee hyvin nopeasti, mistä kutsussa on oikein kysymys ja voi päättää, haluaako mukaan palveluun vai ei. Rajapintamallin yhteenveto Suunittelumallin ylimmän tason rajapintamalli (boundary model) sisältää siis seuraavat osat jotka kuvaavat järjestelmän ulospäin näkyviä piirteitä Käyttötapaukset ja toiminnalliset skenaariot Systeemikonteksti Portteihin liittyvät moduulit Sijoittelu laitteistoon Laatuominaisuudet ja laatuskenaariot Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 38 Sisärakennemalli SISÄRAKENNEMALLI Komponenttikokoonpano(Component Assembly) näyttää joukon komponentti-instansseja ja niitä porttien kautta yhdistävät konnektorit Yinzer systeemikontekstikaavio on esimerkki tällaisesta konfiguraatiosta Sisärakennemalleissa komponenttikokoonpanoilla määritellään rajapintamalleissa esiteltyjen komponenttien sisäinen suunnittelu, joka piilotettiin rajapintamalleissa Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 40 Yinzer systeemin ylimmän tason sisärakenne Yinzer systeemin sisärakenne Sisärakennemallissa näytetään kaikki rajapintamallissa määritellyt portit sekä komponentit, jotka loogisesti ovat systeemi-komponentin sisällä ja muodostavat sen kokoonpanon Kokoonpano näyttää, kuinka Yinzer-systeemin portit delegoivat toimintansa sisärakenteen komponenttien portteihin Ulompi portti ei itse asiassa tee mitään, vaan delegaatti hoitaa kaiken työn Porttien on oltava vähintään yhteensopivia, joskin sisempi portti voi tarjota enemmän operaatioita, jotka eivät ole näkyvissä ulommassa portissa Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 42 7
8 Sisäkkäiset rakenteet Rajapinta- ja sisärakennemallit muodostavat rekursiivisen rakenteen Yinzer-järjestelmän rajapintamallin systeemikontekstikaavio näytti Yinzer-systeemin yhtenä komponenttina, joka oli porttiensa ja niihin kytkettyjen konnektorien kautta yhteydessä ulkoisiin toimijoihin Ylimmän tason sisärakennemalli näyttää systeemikomponentin välittömän komponenttikokoonpanon Tämä kaavio toimii samalla rajapintamallina kokoonpanon komponenteille Niillä voi olla kullakin oma sisärakennemallinsa, joka näyttää rekursion seuraavan tason kokoonpanon Sisäkkäiset rakenteet Sisärakenteen tarkentamista (refinement) kannattaa jatkaa vain tiettyyn rajaan asti (itse päätettävä) Jollekin tarkennustasolle tultaessa on yleensä jo järkevämpää siirtyä suoraan varsinaiseen implementaatioon (koodiin) Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 44 Toiminnalliset skenaariot, osa II Sisärakennemalli TOIMINNALLISET SKENAARIOT Toiminnallisia skenaarioita voi käyttää sisärakennemallissa kuten rajapintamallissakin toiminnallisuuden kuvaamiseen Nyt skenaarion askeleisiin voi kuitenkin sisällyttää kuvauksen, mitä järjestelmän sisäiset komponentin tekevät niiden yhteydessä Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 46 Toiminnalliset skenaariot, osa II Nimi Alkutila Toimijat Kevinsaa töitä Widgetron-yhtiöstä Alan ja Owen ovat jäseniä Yinzerissä; Kevin ei ole jäsen. Alan on töissä Widgetronissa Alan, Kevin,Owen, Widgetron Askelet 1. Alan kutsuu Kevinin kontaktikseen (Contact) omaan verkostoonsa (Network). / Järjestelmä lähettää Kevinille kutsun sähköpostissa. a) Contacts-komponentti etsii Kevinin sähköpostiosoitetta Users-komponentin palveluja käyttäen. Keviniä ei löydy Yinzer-käyttäjien joukosta. b) Contacts-komponentti muodostaa sähköpostiviestin Kevinille kutsuen hänet jäseneksi Yinzeriin ja Alanin verkostoon. Contactspyytää -komponenttia lähettämään viestin 2. Kevin klikkaa sähköpostiviestissä olevaa linkkiä, liittyy jäseneksi Yinzeriin ja hyväksyy Alanin kutsun kontaktipyynnön Ohjelmistoarkkitehtuurit 47 Sisärakennemalli KOMPONENTTIEN VASTUUT, SUUNNITTELURAJOITTEET Ohjelmistoarkkitehtuurit 48 8
9 Arkkitehtuurielementtien vastuut Mallit käyttävät lyhyitä nimiä kuvaamaan kompleksisia asioita (esim. komponentin tai portin nimi) On kuitenkin erittäin tärkeätä ymmärtää elementtien vastuut 1 (resposibility) väärinkäsitysten ja väärien oletusten välttämiseksi Mitä komponentti tietää? Mitä komponentti tekee? Mikä on sen rooli mikä ei toimisi järjestelmässä tai jäisi tekemättä, jos komponenttia ei olisi? Mikä on sen salaisuus? Vastuiden kirjaaminen on helppo ja halpa tapa lisätä mallin ymmärrettävyyttä ja käyttökelpoisuutta 1 Katso esim. Reponsibility-driven design, CRC -cards Ohjelmistoarkkitehtuurit 49 Rajoitteiden ohjausvaikutus Rajoitteiden (constraints) tarkoitus on ohjata (guide-rails) suunnittelua ja toteutusta tunnistettujen riskien minimoimiseksi ja laatuvaatimusten saavuttamiseksi Esimerkiksi Pyritään rajoittamaan mitä käyttöjärjestelmän palveluja ohjelma saa käyttää, jotta sen siirtäminen eri käyttöjärjestelmän päälle olisi helpompaa Asetetaan komponenttien RAM-muistin käytölle yläraja, jotta ohjelma voi toimia sulautetussa järjestelmässä, jossa on vain vähän muistia käytössä Ohjelmistoarkkitehtuurit 50 Rajoitteet Yinzer-järjestelmän suunnittelussa laatuskenaario antaa tiukan rajoitteen web-sivupyynnön vastausajalle ( 1s) Yksi osa ratkaisua on vaatia asynkronisen konnektorin käyttöä web-pyyntöjä käsittelevien komponenttien ja -komponentin välillä, koska sähköpostin lähettäminen saattaa kestää arvaamattoman pitkään Rajoite on kehittäjän ystävä, ei riesa Rajoitteet on syytä dokumentoida ja automatisoida niiden valvonta (jos vain mahdollista) Yhteenveto Sisärakennemalli Sisäkkäisten rakennemallien muodostama puumainen hierarkia, jonka juurena on koko järjestelmäkomponentin sisärakenne komponenttikokoonpanona ja alahaaroina näitten komponenttien rakennemallit Rajapintamallin toiminnallisia skenaarioita voidaan tarkentaa komponenttien toimintojen ja yhteistyön kuvauksella Komponenttien vastuut kannattaa selittää Rajoitteet ohjaavat suunnittelua ja toteutusta laatuvaatimusten saavuttamiseksi ja riskien minimoimiseksi Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 52 Yinzer suunnittelumallin rakenne Käyttötapaukset ja toiminnalliset skenaariot Systeemikonteksti ulos näkyvät koodimoduulit sijoittelu laitteistoon laatuskenaariot Ylimmän tason sisärakennemalli Komponenttikokoonpano Tarkennetut toiminnalliset skenaariot, jotka selostavat komponenttien yhteistoiminnan Contacts -komponentin malli Komponenttikokoonpano Toiminnalliset skenaariot tarkennettuna tälle tasolle. (muitten komponenttien mallit) Katso myös Kurssikirjan 4. luvussa on yksityiskohtaisempi esimerkki arkkitehtuurimallien käytöstä osana riskien hallinnan perustalta lähtevää arkkitehtuurityötä (risk-driven approach) Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 54 9
OA:n kanoninen malli II
OA:n kanoninen malli II Luento 8 27.9.2013 581385 Ohjelmistoarkkitehtuurit 1 Suunnittelumalli Oppimistavoitteet Rajapintamalli, sisärakennemallit 27.9.2013 581385 Ohjelmistoarkkitehtuurit 2 1 SUUNNITTELUMALLI
Sovellusalue- ja suunnittelumallit Domain Model, Design Model
Sovellusalue- ja suunnittelumallit Domain Model, Design Model Luento 5 10.10.2017 CSM14101 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Sovellusalueen mallintaminen Tietomalli, invariantit, toiminnalliset
OA:n kanoninen malli I
OA:n kanoninen malli I Luento 7 27.9.2013 581385 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Sovellusalueen mallintaminen Tietomalli, invariantit, toiminnalliset skenaariot Suunnittelun mallintamisen
Arkkitehtuurin mallintaminen
Arkkitehtuurin mallintaminen Luento 6 19.9.2013 581385 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Miksi ja milloin ohjelmistoarkkitehtuurista kannattaa laatia malleja? Ohjelmistoarkkitehtuurin kanoninen
OA:n kanoninen malli III
OA:n kanoninen malli III Luento 9 1.10.2013 581385 Ohjelmistoarkkitehtuurit 1 Näkymätyypit Koodimalli Oppimistavoitteet Arkkitehtuurisuunnittelun ja implementaation välinen kuilu Arkkitehtuurin tekeminen
Arkkitehtuurin mallintaminen
Arkkitehtuurin mallintaminen Luento 7 25.9.2014 581385 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Miksi ja milloin ohjelmistoarkkitehtuurista kannattaa laatia malleja? Ohjelmistoarkkitehtuurimallin ohjeellinen
Oppimistavoitteet. Koodimalli Code Model. Näkymätyypit. Näkymätyypit Yksi arkkitehtuuri monta näkymää NÄKYMÄTYYPIT
Oppimistavoitteet Koodimalli Code Model Luento 10 Näkymätyypit (suunnittelumalliasiaa) Koodimalli Arkkitehtuurisuunnittelun ja implementaation välinen kuilu Arkkitehtuurin tekeminen näkyväksi koodissa
Koodimalli Code Model
Koodimalli Code Model Luento 6 10.10.2017 CSM14101 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Koodimalli Arkkitehtuurisuunnittelun ja implementaation välinen kuilu ja sen hallitseminen Arkkitehtuuria
Oppimistavoitteet. Arkkitehtuurin mallintaminen. Malleista ja niiden käytöstä. Malleista ja niiden käytöstä. Kommutatiivinen kaavio 22.9.
Oppimistavoitteet Arkkitehtuurin Miksi ja milloin ohjelmistoarkkitehtuurista kannattaa laatia malleja? mallin ohjeellinen rakenne Luento 7 22.9.2015 581385 Ohjelmistoarkkitehtuurit 1 22.9.2015 581385 Ohjelmistoarkkitehtuurit
UML:n yleiskatsaus. UML:n osat:
UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän
UML- mallinnus: Tilakaavio
UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
Ohjelmistojen mallintaminen, kesä 2009
582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
Tenttikysymykset. + UML- kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.
Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat
Oppimistavoitteet. Sovellusaluemalli Domain Model. Esimerkkiohjelmisto Yinzer 1. Sovellusaluemallin käyttö. Sovellusaluemallin käyttö 24.9.
Oppimistavoitteet Sovellusaluemalli Domain Model Luento 8 Sovellusalueen mallintaminen Tietomalli, invariantit, toiminnalliset skenaariot Suunnittelun mallintamisen perusteet Komponentit, konnektorit,
Ohjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
Ohjelmistotekniikan menetelmät, kesä 2008
582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
Ohjelmistotekniikan menetelmät, kevät 2008
582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
SUD SUD. Haasteet. Haasteet Esimerkki riskilähtöisestä arkkitehtuurityöstä ja mallinnuksesta. Esimerkkitapauksen rajaukset ja oletukset
SUD Esimerkki riskilähtöisestä arkkitehtuurityöstä ja mallinnuksesta Luento 11 (osa 1) 6.10.2015 581385 Ohjelmistoarkkitehtuurit 1 The Home Player is a computer that plays media (like music, videos, and
Ohjelmistojen mallintaminen, kesä 2010
582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
Dynaaminen analyysi II
Dynaaminen analyysi II Luento 7 Antti-Pekka Tuovinen 9 April 2013 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syys-seurausverkot ja päätöstaulut Käyttötapaukset Yhteenveto
Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely
582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla
Analyysi on tulkkaamista
Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti
Ohjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1
Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista
Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.
Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen
Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
Ohjelmistojen mallintaminen kertausta Harri Laine 1
kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit
Ohjelmistotekniikan menetelmät, UML
582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka
Ohjelmiston toteutussuunnitelma
Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,
Ohjelmistojen mallintaminen. Luento 2, pe 5.11.
Ohjelmistojen mallintaminen Luento 2, pe 5.11. Kertausta Ohjelmistotuotantoprosessin vaiheet: Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan
Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1
Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa 14.11.2008 Harri Laine 1 Oliot ohjelmiston mallinnuksessa käyttötapaus käyttää Käyttämämme oliokeskeinen perusmalli ohjelmistojen
Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto
OHJ-3200 Ohjelmistoarkkitehtuurit 1 Arkkitehtuurien tutkimus Outi Räihä 2 Darwin-projekti Darwin-projekti: Akatemian rahoitus 2009-2011 Arkkitehtuurisuunnittelu etsintäongelmana Geneettiset algoritmit
Testaaminen ohjelmiston kehitysprosessin aikana
Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/
Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1
Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto
TOIMINNALLINEN MÄÄRITTELY MS
TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa
Lomalista-sovelluksen määrittely
Thomas Gustafsson, Henrik Heikkilä Lomalista-sovelluksen määrittely Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikka Dokumentti 14.10.2013 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika Thomas
Käyttötapausanalyysi ja testaus tsoft
Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten
Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:
Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus
Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä
582104 Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä 1 Sisältö Oliomenetelmien taustaa Kirjastojärjestelmän käyttötapaukset Kirjastojärjestelmän luokkamalli 2 Oliosuuntautunut suunnittelumenetelmä
Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia
Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.
Hirviö. Design Patterns
Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 8. helmikuuta 2005 1 Sisältö 1 Johdanto 3 2 Menetelmän käytäntöön soveltaminen 3 3 Kokemuksia ja muutoksia 3 3.1 PP..........................................
Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja
582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri
Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen
Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen Toiminnallinen määrittely: Työsuunnitelma TYÖSUUNNITELMAN TIEDOT Versio 0.1 Laatija Ulla Angervo Laatimispäivämäärä Hyväksyjä Hyväksymispäivämäärä
Tenttikysymykset. + UML- kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen
Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen www.cs.helsinki.fi 9 April 2018 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syy-seurausverkot ja päätöstaulut Kombinaatioiden
Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa
1 Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa Passion leads to design, design leads to performance, performance leads to SUCCESS! OLLI NIEMI Yoso Oy Mitä määrittelyltä
Tenttikysymykset. + UML-kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurin kehittäminen Liite 2 Arkkitehtuurikehyksen kuvaus
JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurin kehittäminen Liite 2 Arkkitehtuurikehyksen kuvaus Versio: 1.0 Julkaistu: 8.2.2011 Voimassaoloaika: toistaiseksi Sisällys 1 Arkkitehtuurikehyksen
HALLINTAPANEELI - UUDEN ASIAKKAAN LISÄÄMINEN
HALLINTAPANEELI - UUDEN ASIAKKAAN LISÄÄMINEN 1. PERUSTIETOJEN SYÖTTÄMINEN 1. Valitse ylävalikosta Tilit 2. Valitse Luo uusi 3. Kirjoita asiakkaan tiedot 4. Lopuksi tallenna Y-tunnus kenttään kannattaa
Ohjelmistojen mallintaminen Unified Modeling Language (UML)
582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..
UML - unified modeling language
UML - unified modeling language Lähtökohtana: Booch, Rumbaugh, Jacobsson Tavoitteena Unified Method - syntyykö? Kehittäjänä: Rational Inc. Standardointi: Object Management Group (OMG) - vaiheessa Lähteet:
Ohjelmistojen mallintaminen, sekvenssikaaviot
582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden
Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet
Toiminnot eli käyttäytyminen Tieto eli rakenteelliset ominaisuudet Olio (ks. määritelmä): rajattavissa ja yksilöitävissä oleva asia tai käsite, joka on merkityksellinen käsillä olevan tarkastelun kannalta
Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter
Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä Maria Vinter 2 Taustaa Diplomityö: Tietomallinnuksen hyödyntäminen siltojen ylläpidossa, valmis 09/2017 https://julkaisut.liikennevirasto.fi/pdf8/opin_2017-03_tietomallinnuksen_hyodyntaminen_web.pdf
2 Ohjelmistoarkkitehtuurien kuvaus
2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurikuvauksen merkityksestä 2.2 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.3 Arkkitehtuurikuvaukset eri tasoilla 2.4 Arkkitehtuurinäkymät ja kuvaustyypit
582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus
582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen
Ohjelmistotekniikan menetelmät, luokkamallin laatiminen
582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue
Hakemistojen sisällöt säilötään linkitetyille listalle.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ
Muutamia peruskäsitteitä
Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä
Olioiden yhteistyön mallintaminen
Olioiden yhteistyön mallintaminen Luokkakaaviosta käy hyvin esille ohjelman rakenne minkälaisia luokkia on olemassa miten luokat liittyvät toisiinsa Entä ohjelman toiminta? Luokkakaaviossa voi olla metodien
Webforum. Version 15.1 uudet ominaisuudet. Päivitetty: 2015-03-28
Webforum Version 15.1 uudet ominaisuudet Päivitetty: 2015-03-28 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Dokumentit... 5 Uudet versiot dokumenttien katseluohjelmista ipadille... 5 Dokumenttien
Unified Modeling Language
Unified Modeling Language Confuse 25.11.2001 Tila Versio: 1.0 Vaihe: T1 Jakelu: Julkinen Luontipäivä: 15.11.2001 Antti Haapakoski Muutettu viimeksi: 25.11.2001 Antti Haapakoski Sisältö 1 Yleistä 1 2 Mallinnuksesta
Tietojärjestelmän osat
Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto
käyttötapaukset mod. testaus
käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)
Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat
Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta
AUTODESK ACCOUNT -OHJE
AUTODESK ACCOUNT -OHJE Tuotteiden asentaminen Avaa selaimeen sivu https://manage.autodesk.com ja kirjaudu Autodesk ID -tunnuksillasi. Jotkin kohdat ovat erinäköisiä riippuen käyttäjäroolista. Tuotteet
Valppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
Määrittelyvaihe. Projektinhallinta
Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti
Ilmoitus saapuneesta turvasähköpostiviestistä
Tullin turvasähköposti Asiakkaan ohje www.tulli.fi versio 2.2 8.1.2015 Korvaa version 2.1 22.5.2014 Tullin turvasähköposti Tulli lähettää sinulle sähköpostiviestin salattuna silloin, kun viesti tai sen
UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005
UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005 Tutustumiskierros Vision UML-kaavioihin Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli
Suorituskyky ja ohjelmistokehitys Suorituskykymallit
Suorituskyky ja ohjelmistokehitys Suorituskykymallit Luento 2 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKYISTEN OHJELMISTOJEN KEHITTÄMINEN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto
Ohjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien
Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )
Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot
UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010
UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010 TUTUSTUMISKIERROS VISION UML-KAAVIOIHIN Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli eri sivuilla oleviin kaavioihin (napsautus
Ohjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit Luento 1 1 Oppimistavoitteet Mitä ohjelmistoarkkitehtuuri on? Mitä hyötyä siitä on? Miten aihetta kurssilla käsitellään? 2 1 ALUKSI 3 2010 2000 Ohjelmistotekniikan kehityksestä
OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen
Helsingin yliopisto WebOodi 1 OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen Opetustapahtuman opiskelijalistan tulostaminen Ilmoittautuneista opiskelijoista
5. Järjestelmämallit. Mallinnus
5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.
Yhteistoimintakaavio (Esimerkki)
Yhteistoimintakaavio (Esimerkki) Käyttötapaus: Vuokraa ajoneuvo Yleiskuvaus: Käyttäjä vuokraa ajoneuvon määräajaksi. Esiehdot: Käyttäjä on hakenut vuokrausaikana vapaat ajoneuvot näytölle. Aktori: Asiakas
Oma kartta Google Maps -palveluun
TAMPERE 1 (6) Oma kartta Google Maps -palveluun Google Maps palveluun on mahdollista luoda karttoja omilla paikkamerkeillä. Tilin luonti Google-palveluihin Tehdäksesi karttoja omilla paikkamerkinnöillä,
AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML
AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen
Comtieto Uutiskirje on helppokäyttöinen ja tehokas ratkaisu markkinointiin ja
Comtieto Uutiskirjeohjelman perusteet. Copyright Comtieto Oy 2018. Comtieto Uutiskirje on helppokäyttöinen ja tehokas ratkaisu markkinointiin ja asiakasviestintään. Sen avulla voit lisätä myyntiäsi, vahvistaa
Onnistunut Vaatimuspohjainen Testaus
Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen
SÄHKÖPOSTIN SALAUSPALVELU
------- SÄHKÖPOSTIN SALAUSPALVELU Käyttäjän opas ver. 106865-4, 6.2.2014 Sisältö 1 Salauspalvelun toimintaperiaate... 1 2 Salauspalvelun käyttö... 2 2.1 Avausviestin lähettäminen... 2 2.2 Vastaanottajan
PlugIT / Ydin: teemat ja jaksojen 2-6 suunnitelma ( )
PlugIT / Ydin: teemat ja jaksojen 2-6 suunnitelma (1.5.2002-31.8.2004) Ydin-osaprojekti: potilastietojen toiminnallisen hallinnan näkökulma Yhteisten ydinkomponenttien määrittely" Ydin-osaprojektin rooli
Hallintaliittymän käyttöohje
Hallintaliittymän käyttöohje 1. Yleisiä huomioita Hallintaliittymän käyttöä helpottavia yleisiä huomioita: - Käytä listanäkymien hakukentissä kentän vieressä olevaa hakunappia, älä enter-näppäintä. - Älä
Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu
Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu
T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Käyttötapaukset
T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Käyttötapaukset Lasse Lindqvist Lasse Lopperi llindqvi@cc.hut.fi lmlopper@cc.hut.fi Andrey
PAS-ilmo eli "Xaltotun" Käyttöohje Riku Kalinen
PAS-ilmo eli "Xaltotun" Käyttöohje 11.11.2018 Riku Kalinen Sisällys Johdanto...2 Yleiskuva järjestelmästä...2 Käyttäjäryhmät...2 Käyttötapaukset...2 Käyttäjän ohje...2 Käynnistys...2 Käyttöliittymä...3
Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.
RUUTU DYNAAMINEN SPOTTI TEKNISET OHJEET Versio 1.0 Yleistä Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja. Dynaamiset spotit ovat flash mainoksia, jotka mahdollistavat
Vaatimusmääritelystä UML:n avulla
Vaatimusmääritelystä UML:n avulla Mitä käyttötapauskaaviolla voi kuvata? Mitkä ovat sen keskeiset elementit? Miten laaditaan käyttötapauskaavio? Miksi laaditaan kirjallisia kuvauksia? Miksi käyttötapaukset
Bosch-malli. Kolme vaihetta. Termistöä. Ohjelm!toarkkitehtuu"n
Bosch-malli Ohjelm!toarkkitehtuu"n suunni#elu 2$6 Quality Attribute-oriented Software Architecture Design method Toiminnallisista vaatimuksista laadittu arkkitehtuurimalli kehitetään arvioimalla sitä laadullisten
OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen
Helsingin yliopisto WebOodi 1 OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen Opetustapahtuman opiskelijalistan tulostaminen Ilmoittautuneista opiskelijoista
812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä
2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa
Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012
Tiedostot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi työpöydältä raahata
Jotta voit käyttää Facebookia täytyy sinun ensiksi luoda sinne käyttäjätili. Käyttäjätilin luominen onnistuu noudattamalla seuraavia ohjeita.
Facebook-pikaopas Mikä Facebook on? Facebook on internetissä toimiva sosiaalinen palvelu, jonka avulla sen käyttäjät voivat olla yhteydessä ystäviinsä ja sukulaisiinsa, jakaa kuvia ja videoita sekä liittyä
Ohjelmistoarkkitehtuuri
Ohjelmistoarkkitehtuurien ylläpito Arkkitehtuurityylejä ja laatuvaatimuksia Arkkitehtuurin uudistaminen Arkkitehtuurin uudistamisen malleja Arkkitehtuurin arviointi TTY Ohjelmistotekniikka 1 Ohjelmistoarkkitehtuuri