Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

1 010758000 Ohjelmistotekniikka - Ylläpito Kevät 2003 Hanna-Kaisa Lammi LTY/Tite Osa materiaalista on peräisin kurssikirjasta Haikala, Märijärvi: Ohjelmistotekniikka,

Samankaltaiset esitykset


Esitys aiheesta: "1 010758000 Ohjelmistotekniikka - Ylläpito Kevät 2003 Hanna-Kaisa Lammi LTY/Tite Osa materiaalista on peräisin kurssikirjasta Haikala, Märijärvi: Ohjelmistotekniikka,"— Esityksen transkriptio:

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.


Lataa ppt "1 010758000 Ohjelmistotekniikka - Ylläpito Kevät 2003 Hanna-Kaisa Lammi LTY/Tite Osa materiaalista on peräisin kurssikirjasta Haikala, Märijärvi: Ohjelmistotekniikka,"

Samankaltaiset esitykset


Iklan oleh Google