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

Slides:



Advertisements
Samankaltaiset esitykset
Ohjelmistokehitys Viikko 2 Mika Salo Pekka Valtonen Asmo Voutilainen
Advertisements

Testaus ja testausympäristöt
Univaje.
Ohjelmistotekniikka - Software Control Management Kevät 2003 Hanna-Kaisa Lammi LTY/Tite Osa materiaalista on peräisin kurssikirjasta Haikala,
Yhteistyössä Tietohallinto liikunnassa ja urheilussa
Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen Laura Vuorinen Kehittämisosasto / Opiskelijarekisteri.
Ohjelmistotekniikka Tuotteenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen raportointiohje Testitapauksen raportointi Havainnon raportointi.
Turvallisuuskulttuuri, työmetodit ja ohjeistus
4. Vaatimusten hallinta Ohjelmistotuotantoprosessin tavoitteena
M U U T O S T E N V A L M I S T E L U K e h i t t ä j ä n K a r t t a k i r j a Kehitysprojektien kriittiset menestystekijät.
Ohjelmistokehittäminen. Luku 1 – Mitä on ohjelmistokehittäminen?
19.– , Tampereen Messu- ja Urheilukeskus
Solita.. Juha Salonen Concept Designer Palveluhakemiston ammattilaiskäyttöliittymän testaus.
Sovellusohjelman suunnittelu & toteutus
 Kirjoita harkiten keskusteluryhmiin Jos kirjoitat viestejä julkisiin keskusteluryhmiin varmista, että viestisi liittyy ryhmän aiheeseen. Älä lähetä.
T Projektikatselmus Ampel 3. Toteutusvaihe
AIEMMIN OPITUN TUNNISTAMINEN HOLLANNISSA
Ketterä kehitys käytännössä – TFS & Meteor
UKJ Työpakettien tilanne TukityöpaketitResurssitSisältöAikatauluHuom (Seuraava sivu) TP 1 Projektin hallinnointi OK, 1) TP 2 Resurssinhallinta.
T Personal SE assignment Project progress tracking and control.
Ohjelmistotekniikka - Tenttiin valmistautumisesta Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Rakenteen ja ilmeen määrittelystä konseptissa. Konseptisuunnittelu Konseptisuunnitelman sisällöstä Konseptisuunnitelmassa kuvaillaan Projektin tausta.
Kansallinen digitaalinen kirjasto Pitkäaikaissäilytys Kirjastoverkkopäivä Esa-Pekka Keskitalo.
Laatujärjestelmät.
Pienin ja suurin arvo suljetulla välillä
UKJ Työpakettien tilanne TukityöpaketitResurssitSisältöAikatauluHuom (Seuraava sivu) TP 1 Projektin hallinnointi OK, 1) TP 2 Resurssinhallinta.
Mentortapaaminen Elma, Agenda Tilannekatsaus –Tehtyä –Tekemättä –Demo Ongelmia Palautteen pohdintaa Personal SE-esityksiä.
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
Ohjelmistojen suunnittelumenetelmät ja –työkalut
Työllisyysportti ”Ei vain tietoa, vaan ihmistä varten”
Verkko-opetuksen laadun tekijät – Kansallisen VOPLA-laatuverkosto- ja –palveluhankkeen esiselvityksen tuloksia Kristiina Karjalainen Annikka Nurkka Virtuaaliyliopistohanke.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Onnistunut IT-projekti - Haaveesta totta? Tiken näkemys
VTT RAKENNUS- JA YHDYSKUNTATEKNIIKKA Ilkka Heinonen1 Vanhojen paperiarkistojen muuttaminen sähköiseen muotoon 1. Valitaan vanhasta paperiarkistosta.
* Miksi ja kenelle www-sivut halutaan tehdä? * Mitkä ovat tavoitteet? * Kohderyhmän käyttäjien määritely ! SUUNNITTELUN PERUSTEITA.
Pienyritykset ja käytettävyys Ville Juhani Lehtonen, 49515B.
T Loppukatselmus OtaShop2 Halme, Inkinen, Karanko, Kosunen, Kärkkäinen, Larmo, Ojanen.
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
Pk-yritysbarometri, kevät 2015 Alueraportti, Pohjanmaa 1.
Oodin versio 3.1 1Opiskelijarekisteri.
Vaatimustenhallinta.
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 1 Projektin esittely lyhyesti Projektin tilanne Vaiheen lopputulokset Seuraavan vaiheen (MÄ)
T Ryhmä ”Tete” Henkilökohtainen SE-harjoitus Marko Nikula (Assesment of Architecture) Arkkitehtuurin arviointi.
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 3 Projektin esittely lyhyesti Projektin arviointi –projektin tila –suunnitelmat P1-vaiheelle.
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 2 Projektin esittely lyhyesti Projektin tilanne Vaiheen lopputulokset Seuraavan vaiheen (SU)
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmöijän nimi Systeemitieteiden kandidaattiseminaari – Syksy/Kevät 200X Virheraportoijien jakaumat.
Ohjelmistotekniikka kevät 2003 CASE-välineet. Ohjelmistotekniikka kevät 2003 Mitä ovat CASE-välineet? Computer Aided Software Engineering Tietokoneavusteinen.
Liiketoimintaprosessit ja MS Visio 2010
Ohjelmistotekniikka - kurssin yleiset asiat Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite.
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Ohjelmistotekniikka kevät 2003 Ohjelmistotekniikan määritelmä Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista.
Ohjelmistotekniikka Vaatimustenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
Avoimen tuotteen hallintamalli Tuotteenhallinnan työpaja
Projektityöskentely Projekti käsitteenä Projektin vaiheet Projektin asettaminen Projektin suunnittelu Projektin käynnistäminen ja toteuttaminen Projektin.
Dokumentointi kyse on asioiden ”paperille panemisesta” toimintoja on helpompi arvioida, muuttaa ja parantaa työntekijöiden tehtävät ja vastuut tulevat.
”Vapaaseen lähdekoodiin perustuva kehitys” Projektinhallinnan näkökulma avoimeen koodin perustuvassa ohjelmistokehityksessä.
Liiketoimintaprosessit ja MS Visio 2013
Sosiaali- ja terveydenhuollon organisaatio- ja palvelutiedon hallinta
Opiskelun ja opetuksen sekä niiden tuen ja hallinnon toiminta-arkkitehtuuria eli Prosessit Pekka Linna, CSC.
Klubin strategia työkalu KST
Metatietopalvelut Elementit Mikael Vakkari, neuvotteleva virkamies. VM.
Tietoturva internetissä
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista.
THL – SÄHKÖINEN JULKAISEMINEN MÄÄRITTELYTYÖPAJA
Liiketoimintaprosessit ja MS Visio 2010
[Projektin nimi]: Jälkianalyysi
Ohjelmistotekniikan menetelmät, muutoksenhallinnan työkaluista
Näkökulma sote-tietoaltaaseen ja yhteinen raportointipalvelu Pääarkkitehti Heikki Siltala Heikki Siltala.
Avoimen tuotteenhallinta
Esityksen transkriptio:

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

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 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 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 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 Ylläpidon kustannukset tuotteen elinkaaressa, esimerkki

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 Tutkimuksia ylläpidon jakautumisesta, esimerkki

9 Ylläpitoa helpottaa  Arkkitehtuuriratkaisu – modulaarisuus – selkeät rajapinnat  Ajan tasalla oleva dokumentaatio – vaatimusmäärittely – jäljitettävyys – arkkitehtuuri – moduulispeksit

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 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 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 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 Uudistaminen

15 Käänteistekniikka

16 Kokemuksia ylläpidosta  Laajoja ylläpito-ongelmia, esimerkiksi – vuosi 2000 (Y2K)  päiväykset esim. muodossa yymmdd  = =  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 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 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.