Copyright by Haikala. Ohjelmistotuotannon osa-alueet



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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

2. Ohjelmistotuotantoprosessi

Ohjelmistotekniikka - Luento 2

Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Tietojärjestelmän osat

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

Ohjelmistojen suunnittelu

Johdantoluento. Ohjelmien ylläpito

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Ohjelmistojen mallintaminen, mallintaminen ja UML

Suunnitteluvaihe prosessissa

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

ITK130 Ohjelmistoprosessi

Ohjelmistojen mallintaminen. Luento 11, 7.12.

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Määrittelyvaihe. Projektinhallinta

Ohjelmistoprojektien hallinta Vaihejakomallit

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Oleelliset vaikeudet OT:ssa 1/2

käyttötapaukset mod. testaus

Turvakriittisen projektin menetelmät ja työkalut

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

Projektityö

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

ITK130 Ohjelmistojen luonne

Ohjelmistoprosessit ja ohjelmistojen laatu kevät Suunnitelmakeskeiset prosessit (lukuisia lähteitä)

Ohjelmistoprosessit ja ohjelmistojen laatu kevät 2009

Kontrollipolkujen määrä

Standardi IEC Ohjelmisto

Ohjelmistojen mallintaminen. Matti Luukkainen

Tutkittua tietoa. Tutkittua tietoa 1

TIETOKANNAN SUUNNITTELU

Avoimen ja yhteisen rajapinnan hallintamalli

Petteri Pyrrö OHJELMISTOTUOTANTOPROSESSIN KEHITTÄMINEN INFOMATES SOFTWARE TECHNOLOGIES OY:SSÄ

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Projektin suunnittelu

TOIMINNALLINEN MÄÄRITTELY MS

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Spesifikaatioiden laatiminen

Hajaantuminen. Juha Taina, Marko Salmenkivi ja Kjell Lemstöm, Ohjelmistotuotanto 30

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Johdattelua, motivointia, eli missä ollaan ja kuinka siihen on tultu

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

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

Software engineering

1. Johdanto. Ohjelmistotuotannon piirteitä. Ohjelmisto ja järjestelmä. Osajärjestelmät ja käyttäjät. Järjestelmän ja ohjelmiston laadinta

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

1. Johdanto. Ohjelmistotuotannon ongelmia

Johdatus ohjelmistotuotantoon

4. Vaatimusanalyysi. Vaatimusanalyysin tavoitteet

1. Johdanto. Ohjelmistotuotannon piirteitä

Vaatimusten keräys ja hallinta

Ohjelmistotuotteen hallinnasta

Ohjelmistotuotanto s

Yhteenveto. Menettelytavat

TOIMINNALLINEN MÄÄRITTELY- DOKUMENTTI KETTERÄSTI

Ohjelmistotekniikan menetelmät, UML

1. Johdanto. Ohjelmistotuotannon piirteitä

Tietokantapohjaisen web-sovelluksen vaatimusmäärittely

Kymecon Oy urakkatarjouslaskenta- ja kustannusseurantajärjestelmän toiminnallinen määrittely

Koodaa ja korjaa -malli

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

OT-s200: Prosessimallit

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

Käyttäjäkeskeinen suunnittelu

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Uudelleenkäytön jako kahteen

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

1. Johdanto. Ohjelmistotuotannon piirteitä. Ohjelmisto ja järjestelmä. Osajärjestelmät ja käyttäjät. Järjestelmän ja ohjelmiston laadinta

Ketterä vaatimustenhallinta

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

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Johdatusta ohjelmistotekniikkaan

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

ABB Drives and Controls, Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa

Matematiikan oppifoorumi Projektisuunnitelma

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

1. Johdanto. Ohjelmistotuotannon piirteitä

9. Muunneltavuuden hallinta

PROJEKTIN SUUNNITTELU JOUNI HUOTARI, PAAVO MOILANEN, ESA SALMIKANGAS

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

1. Johdanto. Ohjelmistotuotannon piirteitä. Ohjelmisto ja järjestelmä. Osajärjestelmät ja käyttäjät. Järjestelmän ja ohjelmiston laadinta

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus. Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela

Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Jussi Kasala OHJELMISTOTUOTANNON PROSESSIT JA MENETELMÄT. Tietojenkäsittelyn koulutusohjelma 2016

Ohjelmistoprosessit ja käyttöliittymäsuunnittelu

Standardin IEC testaustekniikoista. V-malli vai ketterämpi prosessi?

Vaatimusmäärittely- ja hallinta

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Transkriptio:

Copyright by Haikala Ohjelmistotuotannon osa-alueet

Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary analysis, system engineering, system design) strateginen suunnittelu, toiminnan suunnittelu, kehittämisohjelmat, ideat, tarpeet, reunaehdot 2. Määrittelyvaihe, vaatimusmäärittely (requirements analysis, requirements specification, system analysis) nykytoiminnot ja uuden toiminnan tavoitteet, ulkoiset vaatimukset, tietojen, tietoryhmien ja niiden väliset yhteydet, tietosysteemin periaateratkaisu, rajoitukset 3. Suunnitteluvaihe: ohjelmiston arkkitehtuurisuunnittelu (sovellus-, tieto-, tietoliikenne- ja laitearkkitehtuuri sekä moduulisuunnittelu (achitecture design, module design, detailed design) käyttäjän toiminta, käyttöliittymä, tietosuunnittelu ja tietokantojen rakenne, ohjelmisto, käyttöönoton suunnittelu, kokonaisratkaisun esitestaus 4. Toteutusvaihe: ohjelmointi, ohjelmisto- ja laitteistohankinnat, tietoliikenne, tietokannat 5. Testaus: moduulitestaus, integrointitestaus, järjestelmätestaus 6. Käyttöönotto: koulutus, jakelu, seuranta 7. Ylläpito: virheenkorjaus, uusien piirteiden lisäys, sisältää vaiheet 2-6 versioissa

Vaihejakomalleja 1. Vesiputousmalli - vaiheet seuraavat toisiaan lineaarisesti 2. Evo/proto-malli - piirteiden lisäys vähittäin 3.Spiraalimalli - syklit, sektorit 4. Kevyet menetelmät -XP (extreme programming) 5. Formaalit menetelmät - matemaattinen malli muunnetaan ohjelmaksi

Copyright by Haikala Vesiputousmalli

Copyright by Haikala Vesiputousmalli todellisuudessa

Copyright by Haikala Proto-malli

Copyright by Haikala Esimerkki proto-mallista

Copyright by Haikala Evo-malli

Spiraalimalli

Spiraalimalli jatkuu Kukin sykli sisältää 3-6 vaihetta esim: - suunnittelu - riskianalyysi - toteutus - asiakaspalautteen keruu ja analyysi Seuraava sykli tuottaa tarkemman dokumentaation tai parannetun ohjelmiston, kunnes saadaan valmis tuote.

Rational Unified Process - evo- ja spiraalimallien piirteitä Copyright by Haikala

XP - pienet versiot - toteutus perustuu kuvaukseen - toteutetaan kevyimmällä mahd. tavalla - testitapaukset ennen toteutusta, testaus automatisoitu - koodin rakenne muuttuu jatkuvasti (refaktorointi) - pariohjelmointi - yhteinen koodi - standardoitu koodi (pystyy ymmärtämään toisen koodia) - asiakas jatkuvasti läsnä - 40 tunnin työviikko

Formaalit menetelmät - ratkaistava ongelma on kuvattavissa matemaattisella mallilla - sarja hyvin määriteltyjä muunnoksia mallista ohjelmaksi - formalismeja voidaan löytää vain harvoille ongelmille - kehittäminen vie aikaa - vaikea selittää asiakkaalle

Copyright by Haikala Toimitusprojekti: osaprojekteja, rinnakkaisuutta

Copyright by Boehm Esimerkki ohjelmistoyrityksen arvoketjusta

Laatu, laatujärjestelmä ja laadunvarmistus

Dokumentaatio ja tuotteenhallinta

Rationaalisen tuotantoprosessin ongelmia

Rationaalisen prosessimallin käyttö on kuitenkin perusteltua

Ohjelmistotuotanto on spesifikaatioiden tuottamista kukin vaihe tuottaa spesifikaation edellisen vaiheen spesifikaatiosta

Spesifikaation sisältö toiminnalliset ominaisuudet (rajapinnat: käyttöliittymä, muut liittymät, tiedot, tietoryhmät, toiminnot) ei-toiminnalliset ominaisuudet (suorituskyky, luotettavuus, turvallisuus, siirrettävyys) reunaehdot ja rajoitukset (laitteisto ja ohjelmisto, budjetti, aikataulu, työkalut, lait ja standardit)

Hyvän spesifikaation ominaisuuksia täydellisyys (kaikki tarvittavat asiat ja vain ne) tarkkuus virheettömyys ymmärrettävyys voi olla ristiriidassa tarkkuuden kanssa testattavuus (verifiointi) jäljitettävyys

Systeemityön menetelmiä ja välineitä Malli puitteet, joka kiinnittää työvaiheet ja -tehtävät, menetelmät, tekniikat ja työvälineet perustuu johonkin vaihejakomalliin kuten vesiputousmalliin Menetelmä sovittu tapa soveltaa kuvaustekniikoita tietyn tuloksen tuottamiseksi Kuvaustekniikka tapa esittää tai kuvata tietty tulos notaatio, kieli tietovuokaavio, käsitekaavio, tilakaavio, päätöstaulutekniikka Työväline ohjelmisto, joka tukee systeemityön tekemistä (piirrosvälineet, CASE) CASE (Computer Aided Systems/Software Engineering)

Spesifiointimenetelmiä Informaalit menetelmät aivoriihi seinätaulumenetelmät miellekartta (mind map) voidaan käyttää puoliformaalien menetelmien apuna ideoinnissa Puoliformaalit menetelmät UML-menetelmä (Unified Modeling Language) SA-menetelmä (Structured Analysis) OMT ++ -menetelmä OOA: analyysioliomalli laatiminen + käyttäytymisanalyysi + käyttöliittymän määrittely OOD: suunnitteluoliomallin laatiminen + käyttäytymisen suunnittelu OOP: luokkamäärittely + luokkien toteutus Formaalit menetelmät matemaattisia, formaaliin logiikkaan perustuvia spesifiointimenetelmiä Z, Vienna Development Method (VDM), DisCo (TTKK)