Ohjelmistoarkkitehtuurit, syksy
|
|
- Anna Väänänen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Oppimistavoitteet Ohjelmistoarkkitehtuurit Luento 13 Mitä, miksi, milloin? Arviointimenetelmiä Skenaariopohjaiset menetelmät, suunnittelupäätöksiin kohdistuva menetelmä Ketterä arkkitehtuurin arviointi 1 2 (architectural analysis) ARKKITEHTUURIN ARVIOINTI Arkkitehtuurin arvioinnin tarkoituksena on muodostaa perusteltu käsitys kehitettävän ohjelmiston tärkeistä ominaisuuksista Arkkitehtuuri = tärkeimmät suunnittelupäätökset Nyt ja tulevaisuudessa Arvioinnin rooli korostuu suunnitelmallisuutta vaativissa kehitysprojekteissa, joihin liittyy huomattavia riskejä Kaikki keinot käyttöön riskien minimoimiseksi Voi olla myös osa ohjelmiston laajempaa evaluointia kun ollaan hankkimassa ohjelmistoratkaisua kun olemassa oleva ohjelmisto tulee elinkaarensa johonkin käännekohtaan 3 4 (architectural analysis) Täsmällisemmin tavoitteina voi olla saavuttaa aikainen arvio järjestelmän koosta, monimutkaisuudesta ja kustannuksista käsitys ohjelmistoon kohdistuvien vaatimusten (sekä toiminnallisten että erityisesti laadullisten) toteutumisesta käsitys suunnitteluohjeiden ja sääntöjen noudattamisesta käsitys dokumenttien ja toteutuksen vastaavuudesta, jne Arvioinnin kohteena Komponentit ja niiden väliset kytkennät Järjestelmä kokonaisuutena ja osajärjestelmät Tiedot ja tiedonkulku osajärjestelmien välillä Arkkitehtuurit Vaihtoehtoiset / suhde referenssiarkkitehtuuriin Arvioinnissa päähuomio on laadullisissa vaatimuksissa Jos jotain laadullista ominaisuutta ei voida arkkitehtuurin (kuvauksen) perusteella arvioida, arkkitehtuuri(kuvaus) on tältä osin puutteellinen Poikkeuksia Käytettävyys riippuu pitkälti käyttöliittymän yksityiskohdista, jotka eivät näy arkkitehtuurikuvauksessa Toteutustason tietorakenne- ja algoritmiratkaisut vaikuttavat suorituskykyyn Arkkitehtuurin on kuitenkin mahdollistettava laatuvaatimusten täyttyminen tunnettujen toteutustapojen puitteissa 5 6 Harri Laine, A-P Tuovinen 1
2 Arvioitavat yleiset laatuvaatimukset on aina täsmennettävä ja priorisoitava esim. muunneltavuus minkä asioiden suhteen järjestelmän tulee olla muunneltava esim. suorituskykyvaatimusten priorisointi keskenään ja suhteessa muunneltavuusvaatimuksiin Myös toiminnallisia vaatimuksia voidaan arvioida arkkitehtuurin pohjalta Ovatko halutut toiminnot toteutettavissa arkkitehtuurin komponenttien välisellä vuorovaikutuksella? Arviointi auttaa ennustamaan järjestelmän evoluutiota ja ylläpitokustannuksia Hyödyllistä tietoa johdolle resursointia varten Arviointi auttaa suunnittelijoita ymmärtämään järjestelmää paremmin ja näkemään sen ongelmakohtia Hyödyllistä myös jälkikäteen tehtynä Auttaa jakamaan hiljaista tietoa ratkaisujen perusteluista, jota ei ole ehkä koskaan kirjattu mihinkään Arviointi voi toimia koulutuksena uusille tekijöille 7 8 osana ohjelmistoprosessia Arkkitehtuurin arvioinnin tulokset ovat aina suhteessa Pitäisi olla rutiininomainen osa normaalia arkkitehtuurikuvauksen (arkkitehtuurin mallin) laatuun: jos ohjelmistokehitysprosessia (riskiarvion perusteella) kuvaus/malli on epätarkka, myös arvioinnin tulokset ovat vaativuudeltaan erilaisia arviointeja projektin ja riskien mukaan epätarkkoja Arkkitehtuuri sisältää kriittisimmät suunnitteluratkaisut arviointi erityisen tärkeää Erilaisia arkkitehtuuriarviointeja Arkkitehtuurikuvaus on järjestelmän ensimmäinen arvioinnin mahdollistava kuvaus Arvioidaan heti ensimmäinen arkkitehtuurin luonnos havaitut puutteet pystytään vielä korjaamaan suhteellisen vähillä Arvioidaan valmis arkkitehtuurikuvaus kustannuksilla Arvioidaan valmiin järjestelmän arkkitehtuuri Arviointi on edullinen tapa testata arkkitehtuuri prototyypin rakentaminen on kalliimpaa (entä agile, Walking Skeleton?) arkkitehtuurin testaus vasta järjestelmätestauksen yhteydessä on kallein tapa Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Arvioidaan heti ensimmäinen arkkitehtuurin luonnos Luonnokselle vain pienimuotoinen arviointi Analysoidaan vaatimukset arkkitehtuurin kannalta: voiko mikään arkkitehtuuri täyttää vaatimukset Tuloksena realistinen, priorisoitu vaatimusjoukko sekä alustava arkkitehtuuriratkaisu niiden täyttämiseksi Alustavassa arkkitehtuurin arvioinnissa tulisi olla läsnä henkilöitä, joilla on valtuus määrätä vaatimuksista Arvioidaan valmis arkkitehtuurikuvaus (malli) Tähän kannattaa käyttää enemmän resursseja Tulisi tapahtua ennen kuin toteutus aloitetaan, koska arvioinnin tuloksena arkkitehtuuri saattaa muuttua Ongelma: toteutus on resursoinnin ja aikataulun takia aloitettava usein jo arkkitehtuurityön aikana Ongelma: BDUF kuinka toteuttamiskelpoinen ennakkosuunnittelun tuottama arkkitehtuuri lopultakaan on? Osittaisarviointi Harri Laine, A-P Tuovinen 2
3 Arvioidaan valmiin järjestelmän arkkitehtuuri Voi olla järkevää, jos halutaan esim. lisätä tietoa järjestelmän laatuattribuuteista (esim. onko järjestelmä siirrettävissä uuteen ympäristöön) Osana jotain suurempaa muutosta Koulutustarkoituksessa tai tiedon jakamiseksi tehty arviointi Jos ei ole ajan tasalla olevaa arkkitehtuurikuvausta, sellainen voidaan tuottaa (osittain) automaattisesti takaisinmallinnustyökalujen avulla Kysymyksiä: Sopiiko suunniteltu arkkitehtuuri järjestelmälle? Järjestelmän (laatu)vaatimusten täyttyminen tietyllä arkkitehtuurilla Jos ei sovi, niin vastauksen pitäisi kertoa myös miksi Mikä vaihtoehtoisista arkkitehtuureista sopii parhaiten järjestelmälle ja miksi? Arkkitehtuurille on esitetty useita vaihtoehtoja Vastaus kertoo, mikä on paras ja miksi Miten hyvä tulee olemaan järjestelmän jokin tietty laadullinen ominaisuus, olettaen järkevä toteutustapa? Määrälliset arviot joistain laatuominaisuuksista Vastaus voi esimerkiksi kertoa, kuinka kalliiksi järjestelmän ylläpito todennäköisesti tulee ARVIOINTIMENETELMÄT Arvioinnin perusongelma: tulevan järjestelmän tiettyyn laatuominaisuuteen vaikuttavien kohtien (eli suunnittelupäätösten) poimiminen arkkitehtuurin kuvauksesta Asiantuntija-arvio on yleisin tapa tehdä arviointi: tulos riippuu täysin arvioijan kokemuksesta ja taidoista Siksi on kehitetty menetelmiä, jotka ainakin periaatteessa ovat yksilön mielipidettä objektiivisempia Eri tyyppistä arviointia Arkkitehtuuriin tai arkkitehtuurin suunnitteluprosessiin liittyvät tarkistuslistat ja kysymyslomakkeet esim. "onko käyttöliittymä erotettu sovelluslogiikasta?" yleisiä tai sovellusaluekohtaisia voidaan yhdistää skenaariopohjaisiin menetelmiin Mallipohjainen arviointi Edellyttää täsmällisiä yksityiskohtaisia malleja (tarkasteltavan ominaisuuden suhteen) Sopii huonosti laajojen kokonaisuuksien arviointiin Staattisiin ominaisuuksiin perustuva mallipohjainen arviointi Sopii erityisesti sisäisten yksittäisten rakenteellisten piirteiden arviointiin: syntaktinen oikeellisuus, tyylin noudattaminen, lukkiutumattomuus, kuormitus, jne (tila-automaatit, jonoverkot, riippuvuusmatriisit,...) Dynaamisten ominaisuuksien simulointipohjainen arviointi Sopii yksittäisten käyttäytymispiirteiden arviointiin Skenaarioihin perustuva arviointi Esitetään konkreettisia esimerkkitilanteita, joissa tietyt laatuominaisuudet tulevat esiin Tutkitaan, miten arkkitehtuuri sopii kyseiseen skenaarioon Etuna skenaarioiden suhteellisen helppo löytäminen, konkreettisuus ja ymmärrettävyys Pyritään saamaan kaikki sidosryhmät osallistumaan skenaarioiden määrittelyyn omasta näkökulmastaan Harri Laine, A-P Tuovinen 3
4 Skenaarion luonne riippuu sitä, mitä laatuominaisuutta halutaan tarkastella Jos tarkastellaan muutettavuutta, skenaario käsittelee jotakin muutostarvetta järjestelmän evoluutiossa Jos tarkastellaan suorituskykyä, skenaario käsittelee jotakin suorituskykykriittistä tilannetta järjestelmän käytössä (tämä on lähellä käyttötapauksen käsitettä) Jos tarkastellaan turvallisuutta, skenaario käsittelee jotakin uhkatilannetta järjestelmän käytössä Jos tarkastellaan uudelleenkäytettävyyttä, skenaario käsittelee jonkin uuden sovelluksen tekemistä uudelleen käyttämällä järjestelmää (= tuoterunko) Skenaariopohjaisia arviointimenetelmiä SAAM (Software Architecture Analysis Method ) Varhaisimpia skenaariopohjaisia menetelmiä Kehitetty SEI:ssä (Software Engineering Institute, Carnegie- Mellon University) Tarkoitettu lähinnä muunneltavuuteen liittyvien laatuominaisuuksien arviointiin, mutta sillä voidaan arvioida myös toiminnallisuutta (Architecture Tradeoff Analysis Method) SAAM-menetelmästä edelleen SEI:ssä johdettu yleisempi menetelmä myös muihin laatuominaisuuksiin MPM (Maintenance Prediction Method) Jan Boschin kehittämä ylläpidettävyyteen keskittyvä arviointimenetelmä Suunnittelupäätöksiin perustuva arviointi DCAR Decision Centric Architecture Review Kevyempi menetelmä skenaariopohjaisiin arviointeihin verrattuna Tiivis, yhden päivän kestävä istunto; pähkinänkuoressa: 1. Liiketoiminnan tavoitteiden, rajoitteiden ja tärkeimpien vaatimusten läpikäynti suunnitteluun vaikuttavien voimien tunnistamiseksi (architectural drivers) 2. Arkkitehtuurin läpikäynti 3. Suunnittelupäätösten tunnistaminen ja priorisointi 4. Tärkeimpien suunnittelupäätösten dokumentointi 5. Dokumentoitujen suunnittelupäätösten arviointi: mahdolliset riskit ja muut huomioitavat asiat sekä äänestys (liikennevalot) 6. Retrospektio ja raportointi 21 -ARVIOINTI 22 ATM-prosessi Architectural trade-off analysis Rick Kazman, Mark Klein, Paul Clements:: Method for Architecture Evaluation ( Ensisijaisesti riskien kartoitukseen kehityksen alkuvaiheessa Keskittyy laadullisiin ominaisuuksiin Määrittelee prosessin ja käytännöt Prosessi luonteeltaan formaalin katselmuksen kaltainen Lähtökohtana (liike)toimintatavoitteet ja järjestelmän arkkitehtuuri Suorittajana arviointiryhmä, jossa eri sidosryhmien edustaja Vaihe 1: Esittelyosiossa käydään läpi -menetelmä, järjestelmän arkkitehtuuri sekä liiketoimintatavoitteet Analyysiosiossa etsitään laatuominaisuuksiin vaikuttavat arkkitehtuuriratkaisut analysoidaan järjestelmän laatuvaatimukset kuvataan laatuvaatimuksiin liittyvät skenaariot identifioidaan skenaarioiden avulla arkkitehtuurin kriittiset kohdat Vaihe 2: Testausosiossa täydennetään skenaarioita järjestelmän käyttäjien näkökulmasta ja analysoidaan arkkitehtuuri uutta skenaariojoukkoa vasten Raportointiosiossa esitetään arvioinnin tulokset Harri Laine, A-P Tuovinen 4
5 -prosessi Esittely- ja analyysiosiot muodostavat menetelmän ensimmäisen vaiheen, johon osallistuvat arviointiryhmän lisäksi tuoteprojektin vastuuhenkilöt Testaus- ja raportointiosio muodostavat arvioinnin toisen vaiheen, johon osallistuu ensimmäisen vaiheen osallistujien lisäksi muiden sidosryhmien edustajia (esim. asiakkaan) Koko prosessi kestää noin kolme päivää Kahdessa jaksossa (1+2), välissä parin viikon tauko Toisen vaiheen aluksi käytetään päivä ensimmäisen vaiheen tulosten kertaamiseen uusille osallistujille -prosessi Esittelyosio: (1) -menetelmän esittely (arvioinnin johtaja selostaa) Arviointiprosessi, roolitus, käytettävät tekniikat ja tulosten muoto Tärkeää: kaikille realistiset odotukset prosessista (2) Järjestelmän olennaiset vaatimukset, liiketoiminta-tavoitteet ja toimintaympäristö (projektipäällikkö) (3) Arkkitehtuuri, sen tekninen toimintaympäristö ja rajapinnat muihin järjestelmiin (pääarkkitehti) Käytetään näkymiä Erityisesti arkkitehtuurin kannalta keskeiset näkökulmat Tulisi olla esiteltävissä tunnissa prosessi Analyysiosa: (1) Arkkitehtuuriratkaisujen ja niiden laatuvaikutusten tunnistus arkkitehtuurityylit ja patternit listataan -prosessi Analyysiosa: (2) Skenaarioiden määrittely Eri tyyppisiä skenaarioita riippuen siitä, mitä laatuominaisuutta tarkastellaan Käyttötapaukset Kuinka käyttäjät käyttävät Kasvuskenaariot Kuvaavat suunniteltuja tai ennakoitavia muutoksia ohjelmistossa Rajoja kartoittavat skenaariot Etsivät järjestelmän rajoja: esim, kuormitusmuutoksia, alustan vaihto, palvelimen rikkoutuminen Kaikkiin skenaarioihin voidaan liittää suoritusaika/- määrätavoitteita prosessi Laatupuu Laatupuun (utility tree) laatiminen jäsentämään skenaarioita (ks. Seuraava kuva ) Puussa kuvataan laatuattribuutit ja niiden jako alikohtiin Lehdiksi skenaarioita, jotka testaavat kyseistä ominaisuutta Skenaariot painotetaan tärkeydelläja vaikeudella Asteikkona esim (H=high, M=medium, L=low) (painotus kyettävä perustelemaan) Painopari esim (H,L) Laatupuu on järjestelmäkohtainen, vaikka samantyyppisillä järjestelmillä on yleensä samantyyppiset laatupuut Eri järjestelmissä voidaan tarkastella eri osajoukkoja eri painotuksin (esim. ylläpidettävyys vs. siirrettävyys) painot puun haaroille Harri Laine, A-P Tuovinen 5
6 (3) Painotetun laatupuun & skenaarioiden liittäminen arkkitehtuuriratkaisuihin Skenaarioihin liitetään niitä tukevat arkkitehtuuriratkaisut Tarkastelu aloitetaan tärkeimmistä ja vaikeimmista (H,H)-luokka, vähempiarvoiset saattavat jäädä vähäiselle käsittelylle Arkkitehtuurityylit ja muut skenaarioon vaikuttavat ratkaisut Identifioidaan riskit, turvalliset ratkaisut, herkkyyskohdat ja tasapainottelukohdat puun avulla Tunnistuksen perustana laatuattribuuttikohtaiset kysymykset Riski (risk) Suunnittelupäätös tai arkkitehtuurin piirre, joka voi johtaa jonkin laatuominaisuuden huononemiseen Kuvataan kertomalla kyseinen päätös/ominaisuus, siitä mahdollisesti aiheutuva laatuongelma ja ongelman syy Turvallinen ratkaisu (non-risk) Järjestelmän laatuominaisuuksia parantava ja arkkitehtuurissa voimassa oleviin olettamuksiin perustuva päätös (jos arkkitehtuurioletukset muuttuvat, ratkaisu ei välttämättä pysy turvallisena) Kuvataan kertomalla taustaoletukset, suunnittelupäätös, siitä seuraavat laatuedut sekä syyt näille seurauksille Herkkyyskohta (sensitivity point) Suunnittelupäätös tai arkkitehtuurin piirre, joka on kriittinen jonkin laatuominaisuuden kannalta Jos tätä ominaisuutta muutetaan tai päätöksestä luovutaan, jokin laatuominaisuus on vaarassa huonontua Miksi järjestelmä saavuttaa tietyn laatuominaisuuden? Kuvataan kertomalla kyseinen suunnittelupäätös ja siitä riippuva laatuominaisuus Tasapainottelukohta (trade off point) Herkkyyskohta, joka vaikuttaa useampaan kuin yhteen laatuominaisuuteen (esim. edullisesti johonkin ja epäedullisesti toiseen) Esim. jonkin patternin soveltaminen voi lisätä muunneltavuutta, mutta heikentää suorituskykyä Kuvataan selostamalla kyseinen suunnittelupäätös ja sen vaikutus laatuominaisuuksiin Testausosio: (1) Muut kiinnostusryhmät kuin arkkitehdit tai arviointiryhmä (esim. testaajat, ylläpitäjät, asiakkaat, johto) ideoivat skenaarioita omista lähtökohdistaan Esim. käyttötapauksia, odotettavissa olevia muutoksia, Skenaariot priorisoidaan esim. äänestämällä Tavoitteena on herättää keskustelua eri kiinnostusryhmien välille ja saavuttaa yhteinen näkemys laatuominaisuuksista Testausosio jatkuu: (2) Skenaarioita verrataan jo löydettyihin skenaarioihin Jos nämä täsmäävät, kaikki on hyvin Jos skenaariota ei löydy puusta, mutta sille on puussa sopiva laatuhaara, siitä tulee uusi lehti puuhun (tai useita, jos se liittyy useisiin laatunäkökohtiin) Jos skenaariolle ei ole sopivaa haaraa puussa, se joko ei liity lainkaan laatuun tai se liittyy uuteen laatuominaisuuteen Jälkimmäisessä tapauksessa puuhun lisätään uusi haara, johon skenaario liitetään lehdeksi (tällainen skenaario paljastaa yleensä järjestelmästä uusia riskejä) Harri Laine, A-P Tuovinen 6
7 Raportointi: -prosessin tulokset esitetään arvioinnin lopuksi koko arviointiin osallistuneelle ryhmälle ja laaditaan arviointiraportti Raportti voidaan organisoida esim. skenaarioittain skenaariota tukevat arkkitehtuuriratkaisut skenaarioon liittyvät riskikohdat, turvalliset ratkaisut, herkkyyskohdat ja tasapainokohdat (listataan erikseen) laatuominaisuudet, joita skenaario testaa kuvaus olosuhteista, joissa skenaario tapahtuu Raportointi: Saadaan tietoa, joka auttaa ymmärtämään arkkitehtuuria ja hallitsemaan sen riskejä: miten arkkitehtuuri liittyy laatuun Tuloksena voi joskus tulla myös parannusehdotuksia arkkitehtuuriin (ei kuitenkaan ole :in varsinainen tavoite) Arvioinnin tuloksiin kootaan myös nk. riskiteemoja riskien ryhmiä, joiden taustalla on sama yleinen syy esim. tiedon häviäminen laitteisto- tai ohjelmistohäiriöissä riskiteema riittämätön tiedon varmistus Tarkoituksena on liittää riskit liiketoimintatavoitteisiin ja tehdä ne ymmärrettävämmiksi johdolle Arvioinnin ongelmia Arvioinnin raskaus pienille järjestelmille & organisaatioille Hyvien skenaarioiden laatiminen voi osoittautua hankalaksi! Voidaan tehdä osittainen tai kevennetty katselmointi Tarkastuslista keskeisimmistä arkkitehtuurilta vaadittavista ominaisuuksista arvioinnin minimivaatimus Arvioinnin ajoitus Aikaisessa vaiheessa arviointi voi tuntua tarpeettomalta, sillä järjestelmästä tiedetään suhteellisen vähän Toteutusvaiheen alkaessa arviointi voidaan nähdä uhkana järjestelmän toteutusaikataululle (löydettyjen vikojen korjaaminen!) Toteutuksen jälkeinen arviointi puolestaan voidaan nähdä turhana, koska järjestelmä on jo toteutettu ja toimii Näistä syistä arviointi pitäisi kiinnittää johonkin ohjelmistoprosessin etappiin Arvioinnin ongelmia Usein kuullun huomion mukaan arkkitehdit tietävät arkkitehtuurin ongelmista jo etukäteen, ja siksi arviointi voi vaikuttaa turhalta Tällöin korostuu arvioinnin rooli tiedon välityksen työkaluna Arviointia voi esim. hyödyntää opetustilaisuutena kutsumalla arviointiin mukaan ohjelmistosuunnittelijat, jotka lopulta toteuttavat arkkitehtuurin mukaisen järjestelmän Tietämyksen siirto pitkään käytössä olleen ja jatkuvasti kehittyvän järjestelmän eri kehittäjäsukupolvien välillä (jatkuvuus!) Suunnittelupäätöksiin perustuva arviointi on prosessina kevyempi ja se keskittyy tiedettyihin konkreettisiin asioihin (tehtyihin päätöksiin) ja niiden seurauksiin Voi olla helpompi lähtökohta osallistujille kuin laatuskenaarioiden (vaatimusten) riittävän tarkalle tasolle viety määrittely KETTERÄ ARKKITEHTUURIN ARVIOINTI Lähde: Veli-Pekka Eloranta, Techniques and Practices for Software Architecture Work in Agile Software Development. PhD Thesis, Tampere University of Technology, Pub. #1293, Väitöskirjassa kehitellään mm. kevyitä menetelmiä arkkitehtuuritietämyksen hallintaan ketterässä kehityksessä (VK:n 9. Luku, Kai Koskimies artikkelin toinen kirjoittaja) Avainroolissa ovat DCAR-tyyppiset arkkitehtuurin arvioinnit Harri Laine, A-P Tuovinen 7
8 Eloranta ja Koskimies ovat osallistuneet pariin kymmeneen kattavaan -tyyppiseen arkkitehtuurin arviointiin Yritysten edustajat pitivät tyypillisesti tärkeimpänä arvioinnin antina organisaatiossa lisääntynyttä arkkitehtuuritietämystä Arvioinnin aikana nousee esiin suuri määrä tietoa Suunnittelupäätöksiä, liiketoimintatavoitteita, arkkitehuuriin vaikuttavia vaatimuksia ja rajoitteita jne. Hiljaista tietoa, joka tyypillisesti tulee esiin arviointikeskusteluissa Tieto on koodattava helpolla ja lukijoille käyttökelpoisella tavalla (lightweight Architecture Knowledge Management) Tarjottava eri sidosryhmille heidän tarpeidensa mukainen näkymä tietoon Dokumentaation on synnyttävä lähes automaattisesti, kehitystyön sivuvaikutuksena, ilman huomattavaa lisätyötä 43 on kuitenkin melko raskas menetelmä Sidosryhmien edustajien kokoaminen useaksi päiväksi samaan paikkaan on yleensä vaikeaa Skenaarioiden kehittely vie suhteellisesti paljon aikaa, eikä suurinta osaa skenaarioista kuitenkaan käytetä (priorisointi) Skenaarioissa on kysymys vaatimusten täsmentämisestä ja keskustelu kiertyy usein järjestelmän tarkoitukseen Vaatimusten validointi Are we building the RIGHT system? Ketterässä kehityksessä taas validointi on jo muutenkin jatkuvaa (lyhyet iteraatiot, inkrementaalinen kehitys, walking skeleton) 44 :ia ei ole tarkoitettu jatkuvaan arviointiin vaan kerran suoritettavaksi Mutta milloin ketterässä projektissa on oikea aika arvioinnin suorittamiseksi? Iteraation aikaisten arkkitehtuuripäätösten arviointi on luontevampi tulokulma ketterässä projektissa, jossa muutenkin tehdään retrospektiota DCAR sopii siis paremmin ketterän projektin arviointityypiksi Vaatii tyypillisesti puoli päivää ja noin henkilötyötuntia kaiken kaikkiaan Voidaan tehdä inkrementaalisesti, jos käydään läpi suunnittelupäätösten jokin osajoukko kerrallaan Vaatii vain päätöksiin osallisten läsnäolon Suunnittelupäätösten välisten riippuvuuksien kirjaaminen näkyviin tukee emergenssiä Eloranta ja Koskimies tekivät kyselytutkimuksen arkkitehtuuri-informaation tuottamisesta ja käyttämisestä Scrum-projekteissa teollisuudessa (kaksi yritystä, yhteensä kolme tiimiä) Käytössä oli kolme eri tapaa arkkitehtuurityöhön BDUF architecting Sprint-Zero architecting In-Sprints architecting (Separated architecture team ei ollut käytössä) Kyselyn tuottaman tiedon perusteella Eloranta ja Koskimies esittelevät kaksi tapaa käyttää arviointeja tuottamaan ajantasaista arkkitehtuuritietämystä BDUF / Sprint-Zero architecting 0-Sprintin yhteydessä + DCAR osana retrospektiivia niissä sprinteissä, joissa on tehty uusia/muutettu tehtyjä arkkitehtuuripäätöksiä In-Sprint architecting DCAR osana jokaisen sprintin retrospektiivia Tärkeässä roolissa on AIR keskitetty arkkitehtuuritietämyksen tietovarasto, johon arviointien tuottama tieto+dokumentaatio automaattisesti tallentuu arvioinnissa käytetyn kirjanpitotyökalun kautta 47 Lightweight AKM manifesto 1. The producing and consuming of architectural information in AKM should not require extra effort. There should be no activities that are related only to AKM itself during the software system lifecycle. 2. AKM should be invisible from the viewpoint of information producers and consumers. The producers and consumers should not need to be aware of AKM. AKM should be seamlessly integrated with usual knowledge-sharing activities like documentation, reviews and project meetings. 3. Only potentially useful architectural information should be stored in AKM. All stored information is expected to be used in the context of a probable development or evolution scenario. The burden of useless information surpasses the possible benefit of coincidental usage. Veli-Pekka Eloranta, Techniques and Practices for Software Architecture Work in Agile Software Development. PhD Thesis, Tampere University of Technology, Pub. #1293, Harri Laine, A-P Tuovinen 8
Ohjelmistoarkkitehtuurit, syksy
Ohjelmistoarkkitehtuurit Luento 10 1 (architectural analysis) Arkkitehtuurin arvioinnin tarkoituksena on muodostaa käsitys kehitettävän ohjelmiston tärkeistä ominaisuuksista Nyt ja tulevaisuudessa Arvioinnin
Arkkitehtuurin arviointi
Arkkitehtuurin arviointi Luento 7 1 Oppimistavoitteet Arkkitehtuurin arvioinnin tarkoitus Arviointimenetelmät ATAM DCAR ATAM esimerkkinä menetelmistä 2 ARKKITEHTUURIN ARVIOINTI 3 Arkkitehtuurin arviointi
Kevät Ohjelmistoarkkitehtuurit 2014
Ohjelmistoarkkitehtuurit Kevät 2014 http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto 2 Mitä on ohjelmistoarkkitehtuurin
Ohjelmistoarkkitehtuurit kevät
Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto
Ohjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto
Ohjelmistoarkkitehtuurien arviointi
Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto
9. Ohjelmistoarkkitehtuurien arviointi
9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Mitä on ohjelmistoarkkitehtuurin
Kevät 2016 Arkkitehtuurin arviointi, ATAM. Ohjelmistoarkkitehtuurit 2016
Ohjelmistoarkkitehtuurit Kevät 2016 Arkkitehtuurin arviointi, ATAM http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto
Ohjelmistoarkkitehtuurit. Kevät
Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto 2 Kurssin tavoitteet
9. Ohjelmistoarkkitehtuurien arviointi
9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM menetelmä Esimerkki Yhteenveto 1 Miksi ohjelmistoarkkitehtuuria on arvioitava? Arkkitehtuuri on ensimmäinen täsmällinen kuvaus järjestelmästä Arkkitehtuuri
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
Sisäänrakennettu tietosuoja ja ohjelmistokehitys
Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology
Ohjelmistoarkkitehtuurit. Syksy 2010
Ohjelmistoarkkitehtuurit Syksy 2010 Kai Koskimies Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto, Vaasan yliopisto Kurssin tavoitteet Arkkitehtuurin roolin
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
Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä
Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?
Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
Ohjelmistoarkkitehtuurit Syksy 2009 Kai Koskimies Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto (Kajaani), Tampereen yliopisto, Turun yliopisto,
1.3 Katsaus ohjelmistotuotannon kehittymiseen
Yleisiä asioita Oliokirja:http://www.cs.tut.fi/~kk/Ohjelmistoarkkitehtuuri.pdf Tenttipäivä 7.5. Tallennukset, jospas tänään onnistaisi Viikkoharkat löytyvät IDLEstä (TTY), kurssin kotisivuilta/paikallisilta
Ohar-ATAM pikaisesti. Ohjelmistoarkkitehtuurit 2009
Ohar-ATAM pikaisesti Ohjelmistoarkkitehtuurit 2009 Aikataulu Tämä Ohar-ATAM esittely otsikkotasolla(~5min) Arkkitehtuurin esittely (~40min), arvioiva ryhmä esittää kysymyksiä Arkkitehtuurilähestymistavat,
Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
Decision-centric architecture review method (DCAR) Tarjolla tänään. Arkkitehtuuritietämys Arkkitehtuuritietämys. Arkkitehtuuripäätökset
Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta 22.02. 2012 Tarjolla tänään Arkkitehtuuritietämys Arkkitehtuuripäätökset DCAR -arviointimenetelmä Arkkitehtuuritietämys
Ohjelmistoarkkitehtuurit. Syksy 2008
Ohjelmistoarkkitehtuurit Syksy 2008 Kai Koskimies 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto, Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto, Vaasan yliopisto, Tampereen teknillinen
Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä
1 Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä Kai Koskimies Tampereen teknillinen yliopisto Taustaa: Sulake projekti 2008-2009 2 Osallistujat Areva T&D John Deere Kone Sandvik
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
Ohjelmistoarkkitehtuurit Kevät käytäntöjä
Ohjelmistoarkkitehtuurit Kevät 2014 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto
Sisäänrakennettu tietosuoja ja ohjelmistokehitys
Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 8. kesäkuuta, 2018 Agenda Ohjelmistokehitys Ohjelmistokehitys vs. konsultointi Vaatimukset Tietosuoja Tietosuoja ohjelmistokehityksessä kiteytettynä
1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008
1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Epäonnistuneen ohjelmistoarkkitehtuurin seurauksia 1.4 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi
Ohjelmistoarkkitehtuurit. Kevät
Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that
Ohjelmistoarkkitehtuurit Kevät Johannes Koskinen Esimerkki: Auton toiminnan monitorointijärjestelmä
Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that
Ohjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen
Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Yleiskuva seuraavista aiheista Testauksen organisointi Testaussuunnittelma Testauksen kustannukset Testausstrategia
TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI
TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI Vesa Tenhunen Tarkastusmenettelyt Keino etsiä puutteita ohjelmakoodeista, dokumenteista ym. ohjelmistoprosessissa syntyvästä materiaalista Voidaan käyttää kaikissa
Suunnitteluvaihe prosessissa
Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet
Ohjelmistotekniikka - Luento 2
Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit
Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta
Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta 26.02. 2014 Tarjolla tänään Lyhyesti arkkitehtuuritietämyksestä Arkkitehtuuripäätökset DCAR -arviointimenetelmä
7. Ohjelmistoarkkitehtuurien arviointi
7. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto 1 Miksi ohjelmistoarkkitehtuuria on arvioitava? Arkkitehtuuri on ensimmäinen täsmällinen
Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta (Samuel Lahtinen)
Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta (Samuel Lahtinen) Tarjolla tänään Arkkitehtuuritietämys Arkkitehtuuripäätökset DCAR ja ATAM-arviointimenetelmä
VÄLI- JA LOPPURAPORTOINTI
Tuija Nikkari 2012 VÄLI- JA LOPPURAPORTOINTI Raportointikoulutus 23.8.12 Raportoinnin tarkoitus Raportoinnin tehtävänä on tuottaa tietoa projektin etenemisestä ja tuloksista rahoittajalle, yhteistyökumppaneille
Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
Esimerkki: Auton toiminnan monitorointijärjestelmä
Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that collects various kinds of data during the running of the car, to be used for monitoring
Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4
Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Tämän esityksen sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan
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.
Tutkittua tietoa. Tutkittua tietoa 1
Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.
Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta
Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta 26.02. 2013 Tarjolla tänään Arkkitehtuuritietämys Arkkitehtuuripäätökset DCAR -arviointimenetelmä Arkkitehtuuritietämys
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento
TOISINAJATTELUA STRATEGISESTA
TOISINAJATTELUA STRATEGISESTA JOHTAMISESTA Saku Mantere, Eero Vaara, Hanken Kimmo Suominen, Perfecto Oy (Aalto/Tuotantotalous) 18.11.2011 STRATEGIA JA IHMISET Strategian eriskummallisuuksia 1. Strategia
ITK130 Ohjelmistojen luonne
ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys
Software engineering
Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of
Yhteisön kehitystyöhön osallistumisen mahdollisuudet ja mallit
Yhteisön kehitystyöhön osallistumisen mahdollisuudet ja mallit Tavoiteltava ketterä projektin kehitysprosessi? ( projektin arki ) Muutamia päiviä Viikko(ja) Kuukausi(a) 0. Projekti-ideavaihe Kehitysaloitteita
Ketteryys kokeilemalla. Leo Malila Kehittämispäällikkö, Kela
Ketteryys kokeilemalla Leo Malila Kehittämispäällikkö, Kela 1.11.2016 Agenda Kelan ICT Ketteryys tavoitteena Teetetyn tutkimuksen ja sen kohteen esittely Havaintoja tutkimuksen perusteella Kelan ketteryys
Ohjelmistoarkkitehtuurit. Syksy 2007
Ohjelmistoarkkitehtuurit Syksy 2007 Kai Koskimies 1 Tervetuloa Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto 2 Kurssin tavoitteet Arkkitehtuuritason peruskäsitteiden ymmärtäminen Arkkitehtuurien
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,
Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi 1.4 Toteutusalustan arkkitehtuurin rooli 1.5 Yhteenvetoa
Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
Ohjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä
Ohjelmistoarkkitehtuurit Kevät 2016 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 13.1.2016 1 Tervetuloa Tampereen teknillinen yliopisto, Oulun yliopisto, Turun yliopisto 13.1.2016 2 Tiedonvälitys
Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework
Työn ositusmalleista Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Walker Royce, Software Project Management, A Unified Framework 1 Tavoitteista Luentojen jälkeen opiskelijan tulisi osata:
Yleisiä asioita. Harkat alkavat ensi viikolla Vierailuluentoa. Slackin #luennot-kanava taas käytössä. Ensi viikon perjantaina, Janne Viitala, Sandvik
Yleisiä asioita Harkat alkavat ensi viikolla Vierailuluentoa Ensi viikon perjantaina, Janne Viitala, Sandvik Slackin #luennot-kanava taas käytössä 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2
1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1
1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3 Katsaus ohjelmistotuotannon kehittymiseen 1.4 Miksi ohjelmistoarkkitehtuuri on tärkeä 1.5 Ohjelmistoarkkitehtuuri
Avoimen ja yhteisen rajapinnan hallintamalli
Avoimen ja yhteisen rajapinnan hallintamalli 1.10.2015 Sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan hallitsemat rajapinnat)
Uudelleenkäytön jako kahteen
Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta
Tapahtuipa Testaajalle...
Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman
Ketterä projektinhallinta
Ketterä projektinhallinta Petri Heiramo Agile Coach, CST 1 Petri Heiramo Ikä: 37 (vielä pari päivää ) Oma koulutus- ja valmennusyritys, Agilecraft Oy, reilut 3 viikkoa Lähes 10v ohjelmistokehitys- ja -prosessitausta
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)
Copyright by Haikala. Ohjelmistotuotannon osa-alueet
Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary
Käyttövaltuushallinnan hyödyt tehokkaasti käyttöön. Johanna Lampikoski, RM5 Software Juha Arjonranta, TeliaSonera Finland
Käyttövaltuushallinnan hyödyt tehokkaasti käyttöön Johanna Lampikoski, RM5 Software Juha Arjonranta, TeliaSonera Finland 1 Sisältö Skaalautuva pilvipalvelu Käyttövaltuushallinnan käyttöönotto palveluna
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
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
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ä
Lyhyt johdatus ketterään testaukseen
TTY:n Testauspäivät, Tampere 15.8.2006 Lyhyt johdatus ketterään testaukseen eli Ketterän ohjelmistokehityksen laatukäytäntöjä Juha Itkonen SoberIT Teknillinen korkeakoulu Juha.Itkonen@tkk.fi Ketterä ohjelmistokehitys
Määrittely- ja suunnittelumenetelmät
Menetelmädokumentti Määrittely- ja suunnittelumenetelmät Versio Päiväys Tekijä Kuvaus 0.01 5.12.01 Pekka Koskinen Alustava sisällysluettelo 0.1 7.12.01 Pekka Koskinen Ensimmäinen luonnos 1.0 11.12.01 Pekka
Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.
Scrum is Not Enough Scrum ei riitä Ari Tanninen & Marko Taipale Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.2009 Ari Tanninen Vanhempi ohjelmistoinsinööri Marko Taipale Teknologiajohtaja,
Hieman lisää malleista ja niiden hyödyntämisestä
Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu
Etukäteistehtävää
ATAM-ohjeistusta Etukäteistehtävää Valmistautukaa huolella, tutustukaa materiaaliin etukäteen. Miettikää kysymyksiä arkkitehtuurista. Valitkaa roolit, arvioijaporukassa kirjuriksi kaveri, joka keskittyy
Kansallinen ASPAtietojärjestelmä
Kansallinen ASPAtietojärjestelmä Taustoitus Järjestäjien tarve yhteiselle asiakaspalautteen keräämisen järjestelmälle nousi esiin kevään selvityksessä Asiakaspalautetieto on myös osa kansallista sote-tietopohjaa
Yrittäjäkasvatuksen polku - sivusto. Yksityiskohtainen suunnittelu Huhtikuu 2018
Yrittäjäkasvatuksen polku - sivusto Yksityiskohtainen suunnittelu Huhtikuu 2018 Sisällys 1. Sivuston tavoitteet 2. Tausta 3. Näkemys työn tekemisestä ja etenemisestä 4. Roolit ja vastuut -ehdotus 5. Ylätason
Ohjelmistotekniikka kevät 2003 Laatujärjestelmät
Laatujärjestelmät Ohjelmistotekniikka kevät 2003 Prosessiajattelu Sisään Prosessi Ulos ohjaus mittaus Laatujärjestelmät Laatujärjestelmät määrittelevät sen, mitkä prosessit täytyy olla määritelty ei sitä,
Ohjelmistoarkkitehtuurit, syksy
Ohjelmistoarkkitehtuurit Tuoteperheet Tuoterunkoarkkitehtuurit Perinteisessä ohjelmistotuotannossa on keskitytty uusien ohjelmistojen laadukkaaseen tuottamiseen Erikoistuneista ainutlaatuisista vaatimuksista
HELIA 1 (11) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu
HELIA 1 (11) Luento 4 Käytettävyyden tuottaminen... 2 Käytettävyys ja systeemityöprosessi... 3 Määrittely... 3 Suunnittelu... 3 Toteutus ja testaus... 3 Seuranta... 3 Kriittiset tekijät käytettävyyden
Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma
Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma 12.11.2007 Janne J. Korhonen 12.11.2007 Agenda 1. Prosessit ja palvelut, BPM ja SOA 2. BPM-projekteista yleensä 3. Prosessin elinkaarimalli 4. Kokemuksia
Projektityö
Projektityö 24.9.2010 Ohjelmistojen kehitysmalleista Vaatimusten määrittely ja kerääminen Lähteinä (vaatimusten määrittely): Haikala ja Märijärvi, Ohjelmistotuotanto, Talentum, 2005. Luvut 3, 4, 5, 6-10
Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori
Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita
Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa
Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3
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ä
tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004
Tarkastusmenettelyt ja katselmukset tsoft Vesa Tenhunen 4.2.2004 http://cs.joensuu.fi/tsoft/ Johdanto Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen tuottamisessa on puutteiden aikainen havaitseminen
Mihin kaikkeen voit törmätä testauspäällikön saappaissa?
Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Arto Stenberg Copyright Kuntien Tiera Oy Kuntien Tiera Copyright Kuntien Tiera Oy Tiera on vuonna 2010 perustettu yli 200:n kuntatoimijan omistama
Moduuli 8 Vihreän liiketoiminnan johtaminen
2O16-1-DEO2-KA2O2-003277 Moduuli 8 Vihreän liiketoiminnan johtaminen Osa 2 Johtamistyylit ja -tekniikat Hanke on rahoitettu Euroopan komission tuella. Tästä julkaisusta (tiedotteesta) vastaa ainoastaan
Ohjelmistoprojektien hallinta Vaihejakomallit
Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli
Luonnos - VAHTI-ohje 2/2016 Toiminnan jatkuvuuden hallinta. 1 Ohjeen soveltamisala, tavoitteet ja rajaukset. 2 Jatkuvuuden hallinnan säädösympäristö
Luo / Muokkaa Lähetä Lausunnonantajat Yhteenveto Luonnos - VAHTI-ohje 2/2016 Toiminnan jatkuvuuden hallinta Johdanto Kommentit ja huomiot - Johdanto 3. kappaleessa sanotaan Ohjeella pyritään sekä julkishallinnon
Onnistunut SAP-projekti laadunvarmistuksen keinoin
Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.
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
Ylläpito. Ylläpidon lajeja
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)
Standardi IEC Ohjelmisto
Sundcon Oy Standardi IEC 61508 3 Ohjelmisto muutokset Matti Sundquist Sundcon Oy www.sundcon.fi Standardi IEC 61508 3 (1) Standardissa di esitetään vaatimukset niiden tietojen ja menettelytapojen valmisteluun,
Pysähdy! Nyt on syytä miettiä tämä asia uudelleen. Kiinnitä huomiosi tähän. Hienoa, jatka samaan malliin. Innokylän arviointimittari
Innokylän arviointimittari Innokylän arviointimittari on kehittämistoiminnan itse- ja vertaisarvioinnin työkalu, jonka avulla arvioidaan kehittämisprosessia ja kehittämisen tavoitteiden saavuttamista.
Ristiinopiskelun kehittäminen -hanke
Joustavia opiskelumahdollisuuksia tuetusti Exam-kevätpäivät (31.5.2018) Joustavia opiskelumahdollisuuksia tuetusti Hanke on opetus- ja kulttuuriministeriön rahoittama korkeakoulujen kehittämishanke. Tukea
Ohjelmiston testaus ja laatu. Testaus käytettävyys
Ohjelmiston testaus ja laatu Testaus käytettävyys Yleistä - 1 Käytettävyys on osa tuotteen laatuominaisuutta Käytettävyys on mittari, jolla mitataan tuotteen käytön tuottavuutta, tehokkuutta ja miellyttävyyttä.
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
Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA
Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta
Viitearkkitehtuurin suunnitteluprosessi. Ohje. v.0.7
Viitearkkitehtuurin suunnitteluprosessi Ohje v.0.7 Viitearkkitehtuurin suunnitteluprosessi XX.XX.201X 2 (13) Sisällys 1. Johdanto... 3 2. Viitearkkitehtuurin suunnitteluprosessin vaiheet... 3 2.1. Vaihe
Miten löydän Sen Oikean? 22.11.2012 Senaattoritilaisuus Liisa Paasiala, Senior Consultant
Miten löydän Sen Oikean? 22.11.2012 Senaattoritilaisuus Liisa Paasiala, Senior Consultant On mahdollista löytää Se Oikea! Luotanko sattumaan? Onnistuminen on aloitettava heti Onnistumisen kaava on 4 x
IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS
20.4.2015 IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA 1 1.1 SOVELTAMINEN Näitä erityisehtoja sovelletaan ohjelmistojen tai niiden osien toimituksiin ketterien