Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuMarjatta Hämäläinen Muutettu yli 9 vuotta sitten
1
1 010758000 Ohjelmistotekniikka - Ylläpito Kevät 2003 Hanna-Kaisa Lammi LTY/Tite Osa materiaalista on peräisin kurssikirjasta Haikala, Märijärvi: Ohjelmistotekniikka, 2000.
2
2Sisältö Mitä on ylläpito? Ylläpidon lajeja Ylläpidon ongelmia Ylläpidon perusta Ylläpidon työkaluja Kokemuksia ylläpidosta Ylläpidon visio
3
3 Mitä on ylläpito? Jos tietojärjestelmän rakentamista verrataan talon rakentamiseen, niin ylläpitoa voidaan verrata huolto- ja remonttityöhön, jolla varmistetaan, että talo pysyy asumiskuntoisena, työhön, jota tehdään talon valmistumisesta lähtien niin kauan kuin talossa asutaan. Omakotitaloissa asukkaat voivat itse huolehtia talonmiehen tehtävistä, mutta kerrostaloissa on oma talonmies tai huoltofirma, joka huolehtii katu- ja rappukäytävän puhtaanapidosta sekä pikkuremonteista. Kun talo vanhenee, normaali huolto ei enää riitä vaan edessä voi olla kylpyhuoneremontti, katon korjaaminen tai vesijohtoputkien uusiminen.
4
4 Ylläpito (1/2) Ylläpidolla tarkoitetaan kaikkia ohjelmistoon julkistamisensa jälkeen kohdistuvia muutostoimenpiteitä Jopa 65-80% ohjelmiston elinkaaren aikaisista kehityskustannuksista aiheutuu ylläpidosta Ylläpidosta sovitaan asiakkaan kanssa jo ensimmäisen kehitysprojektin aikana --> ylläpitosopimus (palvelusopimus)
5
5 Ylläpito (2/2) Ylläpito aloitetaan yleensä joko pilottivaiheen alussa tai viimeistään heti projektin päätyttyä. Suunnittelu pitää kuitenkin aloittaa aiemmin. Ylläpito-organisaatio voidaan rakentaa joko aiemman projektiryhmän osasta tai täysin ulkopuolisesta ylläpitoryhmästä.
6
6 Ylläpidon kustannukset tuotteen elinkaaressa, esimerkki
7
7 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 sopeuttava ylläpito (adaptive) – ohjelmiston mukauttaminen uusiin käyttöympäristöihin (laitteet, käyttöjärjestelmät,…) kehittävä ylläpito (perfective) – uusien käyttötarpeiden toteuttaminen (uusia toimintoja, paremmat raportit, parempi käyttöliittymä)
8
8 Tutkimuksia ylläpidon jakautumisesta, esimerkki
9
9 Ylläpitoa helpottaa Arkkitehtuuriratkaisu – modulaarisuus – selkeät rajapinnat Ajan tasalla oleva dokumentaatio – vaatimusmäärittely – jäljitettävyys – arkkitehtuuri – moduulispeksit
10
10 Ylläpidon 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 tekijöitä – 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ä
11
11 Ylläpidon perusta Ylläpidon perustana version- ja konfiguraationhallinta – sekä hallinnollinen että tekninen apuväline – muutoskontrolli työkohteet, priorisointi, hyväksyminen, tuotantoonsiirto – mistä osista ohjelmisto oikeastaan koostuu? – mikä on käännettyä koodia vastaava lähdekieliversio?
12
12 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
13
13 Keinoja vanhojen järjestelmien ylläpitoon 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
14
14 Uudistaminen
15
15 Käänteistekniikka
16
16 Kokemuksia ylläpidosta Laajoja ylläpito-ongelmia, esimerkiksi – 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 – Euro rinnakkaisrahaongelma, verrattavuus vanhoihin
17
17 Hyvä ylläpito = suunnitelmallista ylläpitoa Ylläpito on suunnitelmallista, kun – vastuut on määritelty – hälytystilanteet kirjataan ja tilanteesta tiedotetaan asiallisesti – muutostoiveet esitetään määrämuotoisina yhteyshenkilön kautta – kaikki muutokset testataan ja kirjataan – muutostoiveet kootaan yhteen ylläpitoprojekteiksi – ylläpitoprojekteja seurataan – muutoksista tiedotetaan
18
18 Ylläpidon visio Ylläpidon merkitys kasvaa lähivuosina, koska valtaosa yritysten perustietojärjestelmistä on jo rakennettu, joten ylläpidon laatu korostuu Ylläpitotyöt kootaan projekteiksi, joille tehdään aikataulut, resurssiarviot ja kannattavuuslaskelmat Ylläpitoprojekteja seurataan, eivätkä ne jää prioriteettijärjestyksessä viimeisiksi Ylläpidettävien tietojärjestelmien kehitys- ja parannustyöt ovat asiakaspalvelua, näkyväthän muutoksista tulevat hyödyt välittömästi tietojärjestelmien käyttäjien jokapäiväisessä työssä Kehittämis- ja ylläpitotyön raja on hämärtymässä, kun uudenlaiset tekniikat, kuten oliotekniikka, tekevät mahdolliseksi tietojärjestelmien kehittämisen niin, että ensin otetaan käyttöön minimijärjestelmä, jota evolutionaarisesti laajennetaan ja kasvatetaan Käytössä oleva tietojärjestelmä ei koskaan ole valmis, vaan se kehittyy jatkuvasti, samalla tavalla kuin liiketoimintakin kehittyy.
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.