Johdantoluento. Ohjelmien ylläpito

Samankaltaiset tiedostot
Ylläpito. Ylläpidon lajeja

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Software engineering

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

Ohjelmistojen ylläpito. JOT Minna Hillebrand

SFS-ISO/IEC Tietoturvallisuuden hallintajärjestelmät. Ohjeistusta. Riku Nykänen

Määrittelyvaihe. Projektinhallinta

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Ohjelmistotekniikan menetelmät, kesä 2008

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

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Mikkelin sähköisen asioinnin alusta - päätöksenteko. Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net

Ohjelmistotuotteen hallinnasta

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

ITK130 Ohjelmistojen luonne

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Ohjelmistotekniikka - Luento 2

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

ITK130 Ohjelmistoprosessi

Projektityö

Ohjelmistojen suunnittelu

Ohjelmistojen mallintaminen, mallintaminen ja UML

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

Työkalut ohjelmistokehityksen tukena

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

EnergiaTehokkuusJärjestelmän. sisältö ja käyttöönotto yrityksissä

Avoimen ja yhteisen rajapinnan hallintamalli

Johdatus projektitoimintaan. Kimmo Lind, Pekka Kaunismaa, Anna Pikala

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

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

käyttötapaukset mod. testaus

Työkalujen yleinen arkkitehtuuri. Ylläpitoon liittyvät työkalut. Ylläpitotehtävien mukaiset työkalut. Työkalujen jaotteluperusteita

Standardi IEC Ohjelmisto

Ohjelmistojen mallintaminen, kesä 2009

Projektin suunnittelu

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ

Oleelliset vaikeudet OT:ssa 1/2

Tuotemallipohjaisen toimintaprosessin mallintaminen

ITSM. Olli Saranen Senior Consultant Avoset Oy Oliko ennen kaikki paremmin kuin nykyään? Kivikaudelta nykyaikaan

xxx avoimen rajapinnan hallintasuunnitelma (VALMIS 1.4)

Vaatimustenhallinta. Exit

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

Käyttäjäkeskeinen suunnittelu

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

IPR ja DRM. Eetu Luoma Dr.Elma projekti TKTL, Jyväskylän yliopisto

Ohjelmistojen mallintaminen, kesä 2010

Tietojärjestelmän osat

Mitä on ohjelmistotuotanto? Johdanto. Tämän kurssin näkökulma. Kurssin suhde muuhun opetukseen

Simulation model to compare opportunistic maintenance policies

Työkalujen merkitys mittaamisessa

Vuosi ISO 9001 ja 14001:2015 julkaisusta sertifioijan kokemuksia Sertifioinnilla kilpailuetua - Inspectan tietopäivä

TIE Ohjelmistojen suunnittelu. Luento 2: protot sun muut

Ketterä vaatimustenhallinta

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

Turvallisuusseminaari Silja-Line

Onnistunut SAP-projekti laadunvarmistuksen keinoin

OHJ-1010 Tietotekniikan perusteet 4 op Syksy Luento 9: Ohjelmistotuotanto, peruskäsitteitä

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

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

Projektityö

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmien analysointi. ER-kaaviot

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Johdatusta ohjelmistotekniikkaan

Ohjelmistotekniikka kevät 2015 Jouni Lappalainen

Rakennustietomallien hallinta linkitettynä tietona

TIETOKANNAN SUUNNITTELU

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Integrointi. Ohjelmistotekniikka kevät 2003

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

IPR ja DRM. Määritelmät

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

Projektityökaluilla tuottavuutta toimintaan, Espoo, Kari Kärkkäinen

ohjelman arkkitehtuurista.

Ohjelmistotuotanto, syksy laatu Ohjelmiston laatu

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

Testaus teoriassa ja käytännössä. Jukka Paakki Helsingin yliopisto Tietojenkäsittelytieteen laitos

Theseus ja rajatun käytön aineistot

Hankesuunnitelma. Novus-Hanke. Novus-Hanke. YYL:n tietojärjestelmien kokonaisuudistus HANKESUUNNITELMA. LIITE 1

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Suunnitteluvaihe prosessissa

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistojen mallintaminen

Paikkatiedon hyödyntäminen vesiensuojeluyhdistyksissä

TkK-tutkielmat

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

Toiminnallinen turvallisuus

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

Transkriptio:

Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito Muutosten luokittelu: korjaavat (corrective) muutokset mukauttavat (adaptive) muutokset täydellistävät (perfective) muutokset ehkäisevät (preventive) muutokset Ylläpidon määritelmä (IEEE standardi, 1993): järjestelmän muuttaminen käyttöönoton jälkeen virheiden korjaamiseksi, suorituskyvyn tai muiden ominaisuuksien parantamiseksi tai mukauttamiseksi muuttuneeseen ympäristöön TTY Ohjelmistotekniikka 2 1

Ylläpitomuutosten jakauma 21 % 4 % 50 % Täydellistävä Mukauttava Korjaava Ehkäisevä 25 % TTY Ohjelmistotekniikka 3 Muutostehtävien vaikutukset toisiinsa Mukauttava ylläpito Täydellistävä ylläpito Korjaava ylläpito Ehkäisevä ylläpito TTY Ohjelmistotekniikka 4 2

Ylläpitokustannukset 90 80 70 60 50 40 30 20 10 0 Ylläpidon osuus ohjelmistotuotannon kokonaiskustannuksista 1970- alku 1980- alku 1980- loppu 1990- alku % Thomas M. Pigoski: Practical Software Maintenance 1997 TTY Ohjelmistotekniikka 5 Ohjelmistotuotannon vaiheet Esitutkimus Määrittely Elinkaari Vaihejakomalli Suunnittelu Toteutus Testaus Käyttöönotto ja ylläpito TTY Ohjelmistotekniikka 6 3

Esitutkimus ongelman ymmärtäminen vaatimusten asettaminen asiakasvaatimukset ongelman (muutostarpeen) ymmärtäminen muutospyyntö asiakkaan pyytämä (kuvaama) muutos TTY Ohjelmistotekniikka 7 Määrittely vaatimusten analysointi asiakasvaatimusten muuntaminen ohjelmistovaatimuksiksi toiminnallinen määrittely (sis. myös rajoitukset) muutospyynnön analysointi muutoksen kuvaaminen järjestelmän termein TTY Ohjelmistotekniikka 8 4

Suunnittelu toimintojen toteuttamisen suunnittelu arkkitehtuurisuunnittelu moduulisuunnittelu järjestelmän jakaminen osiin muutosvaikutusten analysointi mihin järjestelmän osiin muutos vaikuttaa väreilyvaikutus TTY Ohjelmistotekniikka 9 Toteutus ohjelman kirjoittaminen muutoksen toteuttaminen olemassa olevan koodin muuttaminen uuden koodin lisääminen TTY Ohjelmistotekniikka 10 5

Testaus varmistuminen järjestelmän toimivuudesta varmistuminen siitä, että muutos tuli tehtyä oikein varmistuminen siitä, että muutos ei aiheuttanut vikoja järjestelmän toimintaan TTY Ohjelmistotekniikka 11 Käyttöönotto ja ylläpito uuden järjestelmän toimitus, asennus ja käyttöönotto käytön tuki uuden version julkistaminen käytön tuki seuraavan muutospyynnön käsittely TTY Ohjelmistotekniikka 12 6

Muita tehtäviä Esitutkimus s Määrittely Suunnittelu u Toteutus Testaus to Käyttöönott ja ylläpito Dokumentointi Projektinhallinta Tuotteenhallinta Laadunvarmistus Laatusertifikaatti ISO 9001 TTY Ohjelmistotekniikka 13 Ohjelmien uuskehitys vs. ylläpito Ohjelmistotuotanto (uuskehitys): Järjestelmän määrittely Suunnittelu ja toteutus Uusi järjestelmä Ylläpito: Olemassa oleva järjestelmä Analysointi ja uudistaminen Uudistettu järjestelmä TTY Ohjelmistotekniikka 14 7

Uudet vaatimukset Jos vaatimukset olisivat tiedossa suunnitteluvaiheessa, ne olisi helppo ottaa huomioon Olemassa olevan ohjelman voi olla vaikea mukautua uusiin vaatimuksiin TTY Ohjelmistotekniikka 15 Pohdintaa ylläpito-termistä Vrt. koneiden ja laitteiden huolto esim. kuluvien osien vaihtaminen uusiin ohjelmat eivät kulu käytössä Paremmaksi termiksi ehdotettu evoluutiota ylläpito-termin kuitenkin vakiintunut Maintenance = ylläpito, huolto Esitutkimus Määrittely Suunnittelu Toteutus Testaus Käyttöönotto ja ylläpito TTY Ohjelmistotekniikka 16 8

Evoluutio Ohjelmiston ylläpito muutosten tekemistä niin, että järjestelmä voi suoriutua uusista tehtävistä sekä vanhoista tehtävistä uusissa olosuhteissa Ohjelmistoevoluutio järjestelmän dynaaminen muuntuminen, kun sitä ylläpidetään ja laajennetaan koko k elinajan Lehmanin evoluutiota koskevia lakeja: 1. Reaalimaailmaa kuvaavien ohjelmien täytyy muuttua, tai niistä tulee hyödyttömiä. 2. Kun ohjelmaa muutetaan, sen rakenne tulee mutkikkaammaksi, ellei suoriteta aktiivisia toimenpiteitä tätä ilmiötä vastaan. There is no such thing as a finished computer program. (Lehman) TTY Ohjelmistotekniikka 17 Muita kurssiin liittyviä termejä Uudelleenrakentaminen (restructuring) ohjelman muuttaminen esitysmuodosta toiseen pysytään samalla abstraktiotasolla ohjelman toiminta ei muutu Takaisinmallinnus (reverse engineering) ohjelman osien tunnistaminen ja niiden välisten suhteiden selvittäminen ohjelman esittäminen korkeammalla abstraktiotasolla Uudistaminen (re-engineering) ohjelman tutkiminen ja muuttaminen toiseen muotoon tarkoituksena ohjelman laadun parantaminen TTY Ohjelmistotekniikka 18 9

Termien väliset suhteet Vaatimukset Suunnittelu Toteutus takaisinmallinnus ohjelmistotuotanto uudelleenrakentaminen uudelleenrakentaminen uudelleenrakentaminen uudistaminen = takaisinmallinnus + ohjelmistotuotanto (peruuttava vaihe) (etenevä vaihe) TTY Ohjelmistotekniikka 19 Vielä lisää termejä Legacy software (perintöohjelmat) Program comprehension (ohjelmien ymmärtäminen) Program analysis (ohjelmien analysointi) Software metrics (metriikat, mittaaminen) Refactoring Reuse engineering, reuse re-engineering Wrapping (kääriminen) TTY Ohjelmistotekniikka 20 10