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

Samankaltaiset tiedostot
Ylläpito. Ylläpidon lajeja

Johdantoluento. Ohjelmien ylläpito

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Kooste kotitehtävien vastauksista. Kotitehtävä 6 - Ylläpito- ja kehittämismalli

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

T Projektikatselmus

Yhteinen opintohallinnon järjestelmä

Suunnitteluvaihe prosessissa

Menetelmäraportti - Konfiguraationhallinta

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Software engineering

Basware Financial Performance Management (FPM)

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ohjelmistojen mallintaminen

Ohjelmistojen suunnittelu

Yhteenveto. Menettelytavat

TermBase NET versio (Beta)

Kirjanpidon ALV-muutos

Ohjelmointi 1 / syksy /20: IDE

TURVALLISUUDEN HUOMIOMINEN OHJELMISTON HANKINTAKETJUSSA

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Ohjelmistojen mallintaminen, mallintaminen ja UML

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Luku 10 Käyttöönoton suunnitteluja toteutusvaihe

VYPEdit verkkosivualusta SVY-toimijoille

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Ohjelmistojen virheistä

Rutiinin muodostaminen. 2. Rutiinin muodostaminen. specification) Määrittely (specification( Määrittelyn osapuolet. Hyvän ohjelman tunnusmerkit

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

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

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Kontrollipolkujen määrä

Tietotekniikan Sovellusprojektit

Oleelliset vaikeudet OT:ssa 1/2

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Suomen avoimien tietojärjestelmien keskus COSS ry

Visual Case 2. Miika Kasnio (C9767)

COTOOL dokumentaatio SEPA: Refaktorointi

Työkalujen merkitys mittaamisessa

KADA (Drupal 7) migraatio uuteen (versioon) webiin

STATUSTEN JA HOITOJAKSOJEN KORJAUS

Kurssin hallinta -työväline

2. Ohjelmistotuotantoprosessi

Ohjelmistotuotantoprojekti

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

T Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

ohjelman arkkitehtuurista.

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Oha-selvitys 2008 HISinOne-järjestelmän arviointi

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

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

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Järjestelmän alasajon suunnittelu. Kullström Satu

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

13/20: Kierrätys kannattaa koodaamisessakin

Edustajiston kokous Lahdessa MR Kuva Jorma Tenovuo. Uusi ohjelmistokehittäjä aloittaa marraskuu 2008

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Kanta. Potilastiedon arkiston arkistonhoitajan opas

Turva-automaation suunnittelu

Koodistoeditorin tavoitteet ja tilannekatsaus

IT Service Desk palvelun käyttöönotto palvelukeskuksissa

Ylläpitodokumentti Mooan

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Avoimen ja yhteisen rajapinnan hallintamalli

arviointi edellyttää historiatietoja, esim. mittareiden kalibroimiseksi

A4.1 Projektityö, 5 ov.

Vaatimustenhallinta. Exit

Tietojärjestelmän osat

Julkisen hallinnon yhteinen kokonaisarkkitehtuuri

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Kohti Kohaa avoimen lähdekoodin kirjastojärjestelmän käyttöönotto

Lohtu-projekti. Testaussuunnitelma

S11-09 Control System for an. Autonomous Household Robot Platform

206 Verkkosivun tuottaminen finaalitehtävät

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Ikivihreä kirjasto loppuraportti määrittelyprojektille

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Johdatus projektitoimintaan. Kimmo Lind, Pekka Kaunismaa, Anna Pikala

Projektisuunnitelma Nero-ryhmä

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

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

15. Ohjelmoinnin tekniikkaa 15.1

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

T SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B

Projektinhallintaa paikkatiedon avulla

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015

OTM - Katsaus sisältöön. Sidosryhmäseminaari

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

Transkriptio:

Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa paljastumatta jääneiden virheiden korjaus sopeuttava ylläpito (adaptive) ohjelmiston mukauttaminen uusiin käyttöympäristöihin (laitteet, käyttöjärjestelmä, ) kehittävä ylläpito (perfective) uusien käyttötarpeiden toteuttaminen (uusia toimintoja, paremmat raportit, parempi käyttöliittymä huoltava ylläpito (preventive) ohjelmiston tai sen dokumentaation laadun parantaminen tulevien ylläpitotilanteiden helpottamiseksi Harri Laine 1/6

65 50 46 30 17 21 18 25 14 4 10 korjaava sopeuttava kehittävä huoltava tutkimuksia ylläpidon jakautumisesta Ylläpitäjien tehtäviä ohjelmiston ymmärtäminen (noin puolet ylläpidon työmäärästä) tietojen löytäminen dokumentaatiosta dokumentaation pitäminen ajantasalla olemassaolevien toimintojen muuntaminen uusien toimintojen lisääminen häiriöiden syiden selvittäminen virheiden paikallistaminen ja korjaaminen ohjelmiston toiminnan selittäminen suunnitelmien ja koodin uudistaminen tarpeettomien suunnitelmien ja koodin poisto muutosten hallinta Harri Laine 2/6

Ongelmia: ohjelmista useita versioita, joista osa dokumentoimattomia perintöjärjestelmät (legacy) : vanhoja mutta edelleen käyttökelpoisia, mutta usein ainoa luotettava dokumentti on ohjelmakoodi tuotantoprosessia on vaikea jäljittää jälkikäteen toisten tekemiä ohjelmia ja niiden taustalla olevia suunnitteluratkaisuja on vaikea ymmärtää alkuperäinen suunnittelu ja toteutusryhmä ei ole tavoitettavissa ohjelmistoa ei ole suunniteltu ja toteutettu joustavasti muunneltavaksi tehdyt muutokset saattavat aiheuttaa uusia virheitä tylsää ja huonosti arvostettua työtä Ylläpidon perustana version- ja konfiguraationhallinta hallinnollinen / tekninen muutoskontrolli työkohteet, priorisointi, hyväksyminen, tuotantoonsiirto mistä osista ohjelmisto oikeastaan koostuu? mikä on käännettyä koodia vastaava lähdekieliversio? hallintaohjelmat Harri Laine 3/6

Ylläpidon työkaluja tiedostovertailijat, versioiden eroja etsittäessä indeksointityökalut (cross-reference), missä x esiintyy koodin analysointivälineet (static code analyzer) kutsukaaviot kompleksisuusmitat riippuvuudet- esim. viipaleet (slice) eteenpäin: minne arvo kulkeutuu - minne vaikuttaa taaksepäin: miten arvo on syntynyt - mitkä vaikuttavat a:=10; b:=5;. e:=a+b;. d:=f(e); a:=10; b:=5; c:=100;. d:=a*c; eteenpäin viipalointi taaksepäin viipalointi Harri Laine 4/6

uudelleendokumentointi tavoitteena ajantasalla oleva, mahdollisesti aiemmasta poikkeavaan tekniikkaan perustuva dokumentti uudelleenstrukturointi koodi järjestellään uudelleen paremmin ymmärrettävään muotoon käänteistekniikka (reverse engineering) korkeamman abstraktiotason kuvauksen tuottamista alemman perusteella graafisia esityksiä koodista uudistaminen (re-engineering) käänteistekniikka + uudelleentoteutus esim cobol --> java määrittely reverse engineering suunnitelma: moduulikuvaus kutsukaaviot arkkitehtuuri tietokantakaaviot lähdekoodi käännetty ohjelma tietokanta Harri Laine 5/6

joidenkin mielestä tässä vaiheessa ei sallita toiminnallisuuden muutoksia - re-engineering vanhän speksit uudelleen dokumentointi esim. muunnos olioperustaiseksi uuden speksit käänteistekniikka toteutus vanha toteutus uusi toteutus Laajoja ylläpito-ongelmia vuosi 2000 (Y2K) päiväykset esim. muodossa yymmdd 990101 =1.1.1999 000101= 1.1.1900 ongelma, jos päiväyksillä lasketaan tai järjestetään tai päätellään erilaiset ratkaisumallit vaativat erilaista ylläpitoa - esim. vanhojen tiedostojen konversioita päiväysongelmia voi tulla jo aiemmin: 9.9.99 (voi olla null käytössä) Euro rinnakkaisrahaongelma, verrattavuus vanhoihin Harri Laine 6/6