Ohjelmiston elinkaarimallit

Slides:



Advertisements
Samankaltaiset esitykset
Ohjelmistokehitys Viikko 2 Mika Salo Pekka Valtonen Asmo Voutilainen
Advertisements

Testaus ja testausympäristöt
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen raportointiohje Testitapauksen raportointi Havainnon raportointi.
Suunnitelma ohjelmiston testaukseen
4. Vaatimusten hallinta Ohjelmistotuotantoprosessin tavoitteena
TIPTOP: käyttöliittymien kehittäminen TaY:ssa. Käyttöliittymän rooli suunnittelutyössä – Oikeaa sovellusta riittävällä tavalla muistuttavan käyttöliittymän.
Sami Nikula, Stefan Lindström
Tekninen suunnit-telu
T Projektikatselmus GenCode PS iteraatio
Ohjelmiston toteutus (teknisestä näkökulmasta)
T Projektikatselmus Ryhmä Reilu PP-Iteraatio
Tietojärjestelmän suunnittelu
Projektikatselmus Publicum Teknillinen korkeakoulu Publicum-ryhmä.
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  PÄIVÄOPISKELIJAT: – KAKSI LUOKAA (SUOMI) –YKSI LUOKKA (ENGLANTI)
Korkeakoulujen ja opetusministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto RAKETTI-XDW Käsitemäärittely,
T Projektikatselmus Ampel 3. Toteutusvaihe
T Projektikatselmus GenCode PS iteraatio
Testaus Tiptopissa draft Mats Lindstedt, Mika Rintala.
Korkeakoulujen ja opetus- ja kulttuuriministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto Korkeakoulujen.
Jatkuva Integraatio ohjelmistokehityksessä
UKJ Työpakettien tilanne TukityöpaketitResurssitSisältöAikatauluHuom (Seuraava sivu) TP 1 Projektin hallinnointi OK, 1) TP 2 Resurssinhallinta.
Elinkeinopoliittinen mittaristo 2014
3. Spesifikaatioiden laatiminen
Ohjelmistotekniikka - Tenttiin valmistautumisesta Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
2. Vuokaaviot.
Oliosuunnittelu.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
UKJ Työpakettien tilanne TukityöpaketitResurssitSisältöAikatauluHuom (Seuraava sivu) TP 1 Projektin hallinnointi OK, 1) TP 2 Resurssinhallinta.
Ohjelmistojen suunnittelumenetelmät ja –työkalut
(mukaellen Haikala & Mikkonen 2011, 29)
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
UKJ ja ulkoiset järjestelmät AAPA ja FUCIO –yhteistyöpalaveri Ari Ahlqvist.
Projektikatselmus Publicum Teknillinen korkeakoulu Publicum-ryhmä.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Onnistunut IT-projekti - Haaveesta totta? Tiken näkemys
JHS:N SUOSITUKSET VAATIMUSMÄÄRITTELYLLE SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta,
Esitutkimus (tarvekartoitus)
1 Arkkitehtuuriin liittyvien kuvien teko Sekvenssikaavio Komponenttikaavio Luokkakaavio Ohjausryhmän palaveri Toimitussisällön tarkastelu Vaatimusten läpikäynti.
Ohjelmistotuotanto.
Systeemityö 2 Vesiputousmalli Teppo Räisänen, Principal Lecturer
T Loppudemo Kaffetauko eAuction
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
© Conformiq Software Ltd. | The Future of Software Testing Kuormitustestaus.
Uudelleenkäyttö. Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  AVOIMEN OPISKELIJAT: – YKSI LUOKA (SUOMI) – LUOKKA ICT02O-1.
Heuristinen arviointi Käyttöliittymäseminaari Jere Salonen.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestaus – Miksi ja miten?
Arkkitehtuurisuunnittelu Jarkko Ilomäki. Tavoitteet Tuottaa IOBASE-projektiin hyvin suunniteltu, dokumentoitu ja ylläpidettävä arkkitehtuuri Oppia eräs.
1 © NOKIA 2000 projektikatselmus_ PPT/ / Tapani Tarri Projektikatselmus Esitykset Esitys projektin tilasta Esitys toiminnallisesta.
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Vaatimustenhallinta.
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.
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 3 Projektin esittely lyhyesti Projektin arviointi –projektin tila –suunnitelmat P1-vaiheelle.
Pakkanen * * * Komponenttipohjaisen sovellustuotannon menetelmäpilotti PlugIT-seminaari Annamari Riekkinen ja Kirsi Karvinen FixIT-DoIT / HIS-tutkimusyksikkö.
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 2 Projektin esittely lyhyesti Projektin tilanne Vaiheen lopputulokset Seuraavan vaiheen (SU)
FTR (Formal Technical Review) Kimmo Airamaa. Johdantoa Muodollinen tekninen tarkastus = toiminta tarkastustilaisuudessa on tarkasti määritelty Muodollinen.
Ohjelmistotekniikka - Määrittely (Analysis) Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Tietojärjestelmät ja Systeemisuunnittelu
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Projektityökurssi KLTITE05SU/OH Projektitöiden seminaariohjeet.
Ohjelmistotekniikka Vaatimustenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
jew1 Systeemityön eteneminen opintojaksolla Ohjelmiston suunnittelutaito Opintojakson eteneminen.ppt.
18. Testaus.
Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4
Tietojärjestelmät KEHITTÄMINEN JOHTO KIRJANPITO TILAUSTEN KÄSITTELY
Vaatimusmäärittely kehitysprosessissa
Kansallinen palveluväylä
Esityksen transkriptio:

Ohjelmiston elinkaarimallit RASE 2.5.2006

Ohjelmiston elinkaari Aika, joka kuluu ohjelmiston kehittämisen aloittamisesta käytöstä poistumiseen Vaihejakomalleilla kuvataan ohjelmiston elinkaaren eri vaiheita malleista löytyy yleensä ainakin määrittely-, suunnittelu- ja toteutusvaiheet Yleisin malli on vesiputousmalli

Ohjelmiston elinkaari mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot Esitutkimus millainen järjestelmä täyttää ongelman vaatimukset Määrittely Suunnittelu miten järjestelmä toteutetaan ja ositetaan Toteutus osien ohjelmointi Integrointi ja testaus osien yhtyeenliittäminen ja testaaminen Käyttöönotto ja ylläpito

Ohjelmiston elinkaari Kaikkiin vaiheisiin liittyy tarkastuksia, katselmointeja ja testausta laadunvarmistus Tarkastuksilla ja testaamisella pyritään virheet kitkemään mahdollisimman aikaisessa vaiheessa Katselmoinnit järjestetään yleensä tietyn vaiheen lopuksi projektin tilanteen läpikäynti ja todennetaan, että kaikki tietyn vaiheen tavoitteet on saavutettu ja dokumentit ovat kunnossa

Ohjelmiston elinkaari Esitutkimuksen tavoitteena on asettaa yleiset vaatimukset järjestelmälle määrittävät yleensä asiakkaan tarpeet, asiakasvaatimukset eivät ota kantaa millainen järjestelmän tulee olla Esitutkimus antaa vastauksen kysymykseen, miksi järjestelmä tai ohjelmisto tulisi tehdä tai miksi se pitäisi jättää tekemättä Hyvän järjestelmän ehdoton edellytys on, että oikeat asiakasvaatimukset on saatu selville suuri haaste on selvittää asiakkaan todelliset tarpeet ja ymmärtää ne perusteellisesti Esitutkimus mielletään myös osaksi määrittelyä tarpeiden analysointi ja tarkentuminen jatkuu läpi koko määrittelyvaiheen

Ohjelmiston elinkaari Esitutkimus: asiakasvaatimukset Järjestelmäsuunnittelu: järjestelmävaatimukset Ohjelmiston määrittely: ohjelmistovaatimukset Laitteiston määrittely: laitteistovaatimukset

Ohjelmiston elinkaari Määrittelyvaiheessa asiakasvaatimuksista johdetaan ohjelmistovaatimukset ohjelmistovaatimukset määrittelevät toteutettavan järjestelmän Määrittelyvaiheessa tuotetaan dokumentti, jossa kuvataan ohjelmiston toiminnot, toteutuksen ei-toiminnalliset vaatimukset ja rajoitukset toiminnallinen määrittely

Ohjelmiston elinkaari Ohjelmiston toiminnoissa määritellään toteutettavat ominaisuudet käyttöliittymä liitynnät muihin järjestelmiin Ei-toiminnallisia vaatimuksia ovat vasteajat käytettävyys suoritusteho

Ohjelmiston elinkaari Rajoituksissa voidaan kuvata käytössä oleva muistin määrä tietty ohjelmointiympäristö tietty käyttöjärjestelmä Seuraavassa kuvassa on esitetty määrittelyprosessi

Ohjelmiston elinkaari määrittelyprosessi ideat, lähtökohdat rajoitteet, reunaehdot ongelman ymmärtäminen, vaatimusten kartoitus toteutettavan järjestelmän spesifiointi korjattavaa toiminnallinen määrittely, alustava käyttöohje, toteutusprojektin projektisuunnitelma, testaussuunnitelma tarkastus ok arkkitehtuurisuunnittelu

Ohjelmiston elinkaari IEEE830, toiminnallinen määrittely 1. Johdanto 1.1 Tarkoitus - kenelle tarkoitettu 1.2 Tuote - kenelle tehty - järjestelmän tavoitteet 1.3 Määritelmät, termit ja lyhenteet - Määritelmät, termit ja lyhenteet esitellään tässä kohtaa 1.4 Viitteet, muut tähän liittyvät dokumentit - mitä muita asiaan liittyviä dokumentteja on olemassa 1.5 Yleiskatsaus dokumenttiin - kuvataan dokumentin rakenne (lukijalle selviää, mutta kohdat dokumentista hänelle hyödyllisiä) 2. Yleiskuvaus 2.1 Ympäristö - järjestelmän liittymät ympäristöön ja myös itse ympäristö 2.2 Toiminta - yleiskuvaus järjestelmän toiminnoista 2.3 Käyttäjät - järjestelmän käyttäjät ja käyttöympäristö (jos ei kuvattu edellisissä kohdissa) 2.4 Yleiset rajoitteet - lainsäädäntöön liittyvät - toteutustyökaluihin liittyvät 2.5 Oletukset ja riippuvuudet - ne oletukset, joiden voimassa ollessa määrittely on voimassa (muiden projektien tuotokset, laitteistojen teho ja muisti…) 3. Tiedot ja tietokanta - tietosisällöt, tiedon pysyvyysvaatimukset, kapasiteetti- ja saantiaikavaatimukset järjestelmän käsittelemistä tiedoista ja tietokannoista

Ohjelmiston elinkaari 4. Toiminnot 4.n Toiminnon kuvaus - jokaisesta järjestelmän toiminnosta kuvataan tarkoitus, mitä tarvitaan syötteinä, miten käsittely tapahtuu ja mitkä ovat vaikutukset (tulosteet) 5. Ulkoiset liittymät 5.1 Käyttöliittymä - käyttöliittymä voidaan esitellä jo tässä vaiheessa tarkalla tasolla. Jos se esitetään yleisellä tasolla, niin tarkentaminen tehdään suunnittelu- vaiheessa 5.2 Laitteistoliittymät - liittymät oheislaitteisiin 5.3 Ohjelmistoliittymät - liittymät muihin ohjelmistoihin 5.4 Tietoliikenneliitynnät - tietoliikenneyhteydet 6. Muut ominaisuudet 6.1 Suorituskyky 6.2 Käytettävyys, toipuminen, turvallisuus ja suojaukset 6.3 Ylläpidettävyys 6.4 Siirrettävyys, yhteensopivuus 7. Suunnittelurajoitteet 7.1 Standardit 7.2 Laitteistorajoitteet 7.3 Ohjelmistorajoitteet 7.4 Muut rajoitteet

Ohjelmiston elinkaari Suunnitteluvaiheessa toimintojen toteutus suunnitellaan määrittely muutetaan tekniselle kielelle eli järjestelmän toteutuksen kuvaukseksi Suunnitteluvaihe jaetaan yleensä kahteen osaan arkkitehtuurisuunnittelu moduulisuunnittelu

Ohjelmiston elinkaari Arkkitehtuurisuunnittelussa järjestelmä jaetaan moduuleihin, jotka ovat mahdollisimman riippumattomia toisistaan osien työnjako ja rajapinnat tavoitteena toisistaan riippumattomat moduulit, jolloin yhden moduulin muutokset eivät vaikuta muihin moduuleihin uudelleenkäytettävyyteen pyrittävä tekninen määrittely

Ohjelmiston elinkaari Suunnittelun yleisiä tavoitteita ovat selkeys ymmärrettävyys tehokkuus luotettavuus ylläpidettävyys siirrettävyys

Ohjelmiston elinkaari Määrittelyvaiheessa kerrotaan mitä järjestelmä tekee ja suunnitteluvaiheessa kerrotaan kuinka se tehdään Seuraavassa kuvassa esitetään suunnitteluprosessi

Ohjelmiston elinkaari uudelleen käytettävät komponentit määrittely toiminnallinen määrittely arkkitehtuuri- suunnittelu tekninen määrittely korjattavaa moduuli- suunnitelmat moduulisuunnittelu, toteutussuunnittelu tarkastus korjattavaa tarkastus ohjelmointi koodi tarkastukseen, testaukseen

Ohjelmiston elinkaari IEEE1016, tekninen määrittely 1. Johdanto 1.1 Tarkoitus 1.2 Dokumentin kattavuus 1.3 Määritelmät, termit ja lyhenteet 1.4 Viitteet, muut tähän liittyvät dokumentit, standardeihin 1.5 Yleiskatsaus dokumenttiin 2. Järjestelmän yleiskuvaus Sovellusalueen kuvaus, järjestelmän osuus siinä, laitteisto- ja ohjelmistoympäristön kuvaus, toteutuksen keskeiset reunaehdot ja järjestelmän liittyminen ympäristöönsä 3. Arkkitehtuurin kuvaus 3.1 Ratkaisuperiaatteet 3.2 Tietokanta-arkkitehtuuri 3.3 Ohjelmistoarkkitehtuuri moduulit ja prosessit 3.4 Uudelleenkäytettävät komponentit 4. Moduuli (ja prosessi) kuvaukset 4.n Kustakin moduulista yleiskuvaus, attribuutit (ylläpidettävät tilatiedot), operaatiot (rajapinnat), poikkeus- ja virhetilanteiden käsittely, mahdolliset ohjeet moduulisuunnittelua ja toteutusta varten Muita mahdollisia kohteita: Ylläpito-ohjeet, siirrettävyys, luotettavuus, erityiset tekniset ratkaisut, hylätyt vaihtoehdot (ja miksi ne hylättiin), käyttöliittymä, rajoitteet, testattavuus

Ohjelmiston elinkaari Ohjelmointivaiheessa ohjelma ”kirjoitetaan” Yleensä ohjelmoija myös yksikkötestaa oman ”tekeleensä” ennen varsinaista testaus-vaihetta Joskus erehdytään kuvittelemaan, että ohjelmistotekniikka sisältää vain ohjelmoinnin

Ohjelmiston elinkaari Testauksen tavoite on yksinkertaisesti löytää ohjelmistosta virheitä Testaus suoritetaan yleensä monella tasolla alkaen ohjelmointivaiheen yksikkötestauksella ja päättyen järjestelmätestaukseen V-malli

Ohjelmiston elinkaari Testauksen v-malli Määrittely Järjestelmä- testaus testauksen suunnittelu ja tulosten verifiointi Arkkitehtuuri- suunnittelu Integrointi- testaus Moduuli- suunnittelu Moduuli- testaus Ohjelmointi

Ohjelmiston elinkaari Moduulitestauksessa virheitä etsitään yksittäisistä moduuleista testaus suunnitellaan moduulisuunnittelun yhteydessä Integrointitestauksessa virheitä etsitään moduulien yhteistoiminnasta testaus suunnitellaan arkkitehtuurisuunnittelun yhteydessä Järjestelmätestauksessa virheitä etsitään koko järjestelmän toiminnoista ja suorituskyvystä testaus suunnitellaan määrittelyvaiheessa

Ohjelmiston elinkaari Mitä aikaisemmassa vaiheessa virheet löydetään, sitä halvemmaksi niiden korjaaminen tulee Testaaminen vaatii erityistä tarkkuutta sen suorittajalta. Yksikään virhe ei saa lipsahtaa läpi huomaamatta testaus voi olla erittäin yksitoikkoista ja ikävää ja samankaltaisia testitapauksia voi olla paljon

Ohjelmiston elinkaari Käyttöönotto- ja ylläpitovaiheessa käyttäjät koulutetaan järjestelmä otetaan tuotantokäyttöön ratkotaan asiakkaiden ongelmia korjataan virheitä muutetaan ohjelmaa vaatimusten muuttuessa lisätään uusia ominaisuuksia ohjelmaan

Ohjelmiston elinkaari Hyvä muistaa, että käytännössä ohjelmistokehitys ei etene orjallisesti vesiputousmallin mukaisesti osa vaatimuksista selviää vasta projektin edetessä vaatimukset muuttuvat projektin aikana Pyrittävä kuitenkin toimimaan mallin mukaisesti mahdollisuuksien mukaan

Ohjelmiston elinkaari Muita elinkaarimalleja ovat mm Evo-malli ja protoilumallit Evo-mallissa pyritään ensimmäisessä vaiheessa rakentamaan perusjärjestelmä, jota myöhemmissä vaiheissa kehitetään jokainen vaihe on vesiputousmallin mukainen Evo-mallia voidaan käyttää tuotekehitysprojekteissa, joiden tarkoituksena on julkistaa esimerkiksi vuosittain uusi versio tuotteesta Yhdessä projektissa, jossa versioita tehdään n kappaletta ennen lopullista järjestelmää. Ominaisuuksia lisätään kierros kierrokselta

Ohjelmiston elinkaari Määrittely Määrittely Määrittely Suunnittelu Suunnittelu Suunnittelu Toteutus Toteutus Toteutus Testaus Testaus Testaus Versio 1 Versio 2 Versio 3

Ohjelmiston elinkaari Evo-mallia sovellettaessa ongelmaksi saattaa muodostua julkaistun version virheiden korjaus ja asiakkaiden ongelmien ratkominen kaikki projektilaiset ovat kiinni näissä tehtävissä ja seuraavaa versiota ei päästä kehittämään Versioiden (inkrementtien) ominaisuudet tulee myös suunnitella järkevästi, ettei uusia ominaisuuksia lisätä liikaa tai liian vähän seuraavaan versioon

Ohjelmiston elinkaari Protoilulla tarkoitetaan sitä, että tehdään jonkinlainen kokeilumalli ennen kuin varsinaista järjestelmää aletaan kehittämään Protoilulla voidaan selvittää epäselviä asiakasvaatimuksia Uudet tekniset ratkaisut voidaan testata prototyypeillä ennen kuin päätetään ratkaisun käyttöönotosta

Ohjelmiston elinkaari Käyttöliittymien suunnittelu on järkevää tehdä protoilemalla lopullisten käyttäjien hyväksyntä erittäin tärkeä Suorituskyky voidaan etukäteen varmistaa erityisillä suorituskykyprototyypeillä

Ohjelmiston elinkaari Kun prototyyppi on kehitetty, niin sen jälkeen on useita vaihtoehtoja jatkolle ajateltu järjestelmä ei tuo asiakkaalle lisäarvoa ja projekti ”ammutaan alas” tai aloitetaan protoilu alusta hieman eri perspektiivistä määritellään järjestelmä, jota aletaan kehittämään alusta alkaen uudestaan jatketaan prototyypin kehittelyä oikeaksi järjestelmäksi kahden viimeksi mainitun tapauksen välimuodot ovat yleisiä

Ohjelmiston elinkaari Proto-projekti Varsinainen tuoteprojekti Määrittely Määrittely Suunnittelu Suunnittelu Toteutus Toteutus Testaus Testaus Prototyyppi Järjestelmä

Ohjelmiston elinkaari Esitutkimusraportti Esikartoitus Määrittely Määrittely Projektisuunnitelma Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuuri Prototyyppi Tarkastus Järjestelmädokumentit Testitapaukset Asennettavan järjestelmän teko Käyttöohjeet Testaus Muutosten määrittely Toimitus ja hyväksymistestaus Testitulokset Käyttöönotto Ylläpito

Ohjelmiston elinkaari Protoilun ongelmana on, että asiakas saattaa luulla järjestelmän olevan jo suurimmalta osin valmis todellisuudessa ”demo-polut” ovat yleensä kapeita ja käyttäjien toimenpiteisiin vastataan esimerkiksi kovakoodatuilla viesteillä Aina ei kannata protosta tehdä valmiin näköistä asiakkaalle selviää ohjelmiston tarkoitus, mutta myös se, että työt ovat alkutekijöissään Mitä ongelmia saattaa koitua edellisen kuvan protoilumallista?