Ylläpito. Ylläpidon lajeja

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

Johdantoluento. Ohjelmien ylläpito

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

Yhteinen opintohallinnon järjestelmä

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

TermBase NET versio (Beta)

Suunnitteluvaihe prosessissa

T Projektikatselmus

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Basware Financial Performance Management (FPM)

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

Menetelmäraportti - Konfiguraationhallinta

Ohjelmistojen suunnittelu

Yhteenveto. Menettelytavat

Kirjanpidon ALV-muutos

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

Ohjelmistojen mallintaminen, mallintaminen ja UML

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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Luku 10 Käyttöönoton suunnitteluja toteutusvaihe

Ohjelmistojen virheistä

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

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

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

Kontrollipolkujen määrä

Ohjelmointi 1 / syksy /20: IDE

Oleelliset vaikeudet OT:ssa 1/2

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

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

Suomen avoimien tietojärjestelmien keskus COSS ry

TURVALLISUUDEN HUOMIOMINEN OHJELMISTON HANKINTAKETJUSSA

COTOOL dokumentaatio SEPA: Refaktorointi

STATUSTEN JA HOITOJAKSOJEN KORJAUS

2. Ohjelmistotuotantoprosessi

Ohjelmistotuotantoprojekti

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

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

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

ohjelman arkkitehtuurista.

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

VYPEdit verkkosivualusta SVY-toimijoille

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

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

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

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

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

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

Software engineering

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Turva-automaation suunnittelu

Koodistoeditorin tavoitteet ja tilannekatsaus

Tietotekniikan Sovellusprojektit

Avoimen ja yhteisen rajapinnan hallintamalli

A4.1 Projektityö, 5 ov.

Vaatimustenhallinta. Exit

Ohjelmistojen mallintaminen

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

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

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

Käyttöjärjestelmät. 1pJÄKÄ1 KÄYTTÖJÄRJESTELMÄN HALLINTA, 12 OSP

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

Ikivihreä kirjasto loppuraportti määrittelyprojektille

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

Visual Case 2. Miika Kasnio (C9767)

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Työkalujen merkitys mittaamisessa

Projektisuunnitelma Nero-ryhmä

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

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

15. Ohjelmoinnin tekniikkaa 15.1

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Kurssin hallinta -työväline

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

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

sivu 1 (5) Sähköinen lääkemääräys vaatimusmäärittely versio 2.91

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU käyttöjärjestelmässä -projekti

xxx avoimen rajapinnan hallintasuunnitelma (VALMIS 1.4)

Tehokasta palkanlaskentaa

Henkilöstön pätevyyden varmistaminen muutostilanteissa. Tuula Pirhonen Laatupäällikkö, tutkija Evira Tutkimus- ja laboratorio-osasto

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

WINE API ja Virtualisointiohjelmistot

Osaa käyttää työvälineohjelmia, tekstinkäsittelyä taulukkolaskentaa ja esitysgrafiikkaa monipuolisesti asiakasviestintään.

P e d a c o d e ohjelmointikoulutus verkossa

13/20: Kierrätys kannattaa koodaamisessakin

Visma Document Center Versiosaate

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

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

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

IT Service Desk palvelun käyttöönotto palvelukeskuksissa

Tietojärjestelmän osat

Kanta. Potilastiedon arkiston arkistonhoitajan opas

15. Ohjelmoinnin tekniikkaa 15.1

JHS 166 Julkisen hallinnon IT-hankintojen yleiset sopimusehdot Liite 8. Erityisehtoja tilaajan sovellushankinnoista avoimen lähdekoodin ehdoin

Lohtu-projekti. Testaussuunnitelma

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Built Environment Process Reengineering (PRE)

Transkriptio:

Ylläpito 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 huoltava ylläpito (preventive) ohjelmiston tai sen dokumentaation laadun parantaminen tulevien ylläpitotilanteiden helpottamiseksi

Ylläpidon lajeja 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ä) Ylläpito 65 50 46 30 17 21 18 25 14 4 10 korjaava sopeuttava kehittävä huoltava tutkimuksia ylläpidon jakautumisesta

Ylläpitotehtä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 Ylläpitotehtäviä 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

Ylläpito-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 Ylläpito-ongelmia 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

Ylläpito-ongelmia ohjelmistoa ei ole suunniteltu ja toteutettu joustavasti muunneltavaksi tehdyt muutokset saattavat aiheuttaa uusia virheitä tylsää ja huonosti arvostettua työtä Ylläpito 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

Ylläpitotyökaluja Tiedostovertailijat -> versioiden erot 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); eteenpäin viipalointi a:=10; b:=5; c:=100;. d:=a*c; taaksepäin viipalointi

Ylläpitotehtäviä uudelleendokumentointi tavoitteena ajantasalla oleva, mahdollisesti aiemmasta poikkeavaan tekniikkaan perustuva dokumentti uudelleenstrukturointi Ylläpitotehtäviä 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

Reverse engineering määrittely suunnitelma: moduulikuvaus kutsukaaviot arkkitehtuuri tietokantakaaviot lähdekoodi Käännetty ohjelma tietokanta joidenkin mielestä tässä vaiheessa ei sallita toiminnallisuuden muutoksia vanhan speksit Re-engineering uudelleen dokumentointi esim. muunnos olioperustaiseksi käänteistekniikka uuden speksit 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