Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Tietojärjestelmätyön perusteet

Samankaltaiset esitykset


Esitys aiheesta: "Tietojärjestelmätyön perusteet"— Esityksen transkriptio:

1 Tietojärjestelmätyön perusteet
402T11A 3 op. Tuija Kuisma

2 Opintojakson sisältö pääpiirteittäin
Tietojärjestelmä käsitteenä Tietojärjestelmien kehittämisen vaiheet Tietojärjestelmätyön tavoitteet ja sisältö Tietojärjestelmien kehittämismallit Järjestelmätyön työvälineet ja –tekniikat Ohjelmistojen kehittämisen erityisvaatimuksia Kuvausmenetelmät tietojärjestelmätyössä MS-Visio

3 Opintojakson suorittaminen ja arviointi
Kurssin läpäistäkseen on Hyväksyttävästi tehtävä ja palautettava annetut ryhmätyöt ja Läpäistävä opintojakson lopussa oleva tentti

4 Kurssimateriaali Lähiopetuksen materiaali (pääosin ka.ramk.fi –palvelimelle) Kirjana R.Pohjosen ‘Tietojärjestelmien kehittäminen’ (koulun kirjastossa muutamia kappaleita + e-kirjana)

5 Tietojärjestelmä on Atk-sanakirjan mukaan…
Ihmisistä, tietojenkäsittelylaitteista, tiedonsiirtolaitteista ja ohjelmista koostuva järjestelmä, jonka tarkoitus on tietoja käsittelemällä tehostaa tai helpottaa jotakin toimintaa tai tehdä toiminta mahdolliseksi (Käsitteenä laajempi ja monitahoisempi ilmiö kuin tietokoneohjelma tai -ohjelmisto, joiden synonyyminä sitä usein käytetään). Abstrakti systeemi, jonka muodostavat tiedot ja niiden käsittelysäännöt.

6 Eräs määritelmä Tietokoneperustainen järjestelmä, joka tarjoaa tietylle käyttäjäryhmälle informaatiota heidän mielenkiinnon kohteistaan tietyssä organisatorisessa ympäristössä (Iivari & Hirschheim)

7 Tietojärjestelmät muodostuvat
ihmisistä hardware- ja software-komponenteista proseduureista datasta informaatiosta

8 Tietojärjestelmistä…
Tietojärjestelmiä on kaikissa organisaatioissa (toimintayksiköissä), mutta kaikki ne eivät ole automaattisia tai formaalisti määriteltyjä tai edes tiedostettuja. Toimintayksikön sisällä toiminnot voidaan jakaa perustoimintoihin ohjaustoimintoihin ja tukitoimintoihin

9 TOIMINTAYKSIKKÖ YHTEISKUNTA KILPAILIJAT ASIAKKAAT OHJAUSTOIMINNOT
RAAKA-AINEET TUOTTEET PERUSTOIMINNOT TUKITOIMINNOT VALTIOVALTA SUORITTAVA TOIMINTA OMISTAJAT ALIHANKKIJAT

10 Toimintayksikön toiminnot
Perustoiminnot ovat toimintayksikön primaaritoimintoja, eli toimintoja, jotka mahdollistavat yksikön olemassaolon. Esim. jotakin tuotetta valmistavan toimintayksikön perustoimintoja ovat kaikki tuotteen valmistamiseen liittyvät toiminnot. Ohjaustoiminnot ovat yksikön toiminnan suunnitteluun, toimeenpanoon ja valvontaan liittyvät toiminnot. Tukitoimintoihin kuuluu henkilöstöhallinto, taloushallinto, tietohallinto, tuotekehitys ja huolto.

11 Systeemien tarkastelunäkökulmat
Prosessinäkemys tarkastelee systeemin tuotosten määrittelyä ja tuotosten tekemiseen tarvittavia raaka-aineita ja loogisen tason toimintasääntöjä. Rakennenäkemys tarkastelee systeemiin kuuluvia komponentteja, niiden rakenteita ja suhteita. Vuorovaikutusnäkemys tarkastelee systeemin ja sen ympäristön välisiä suhteita (mihin, miten ja milloin systeemi on vuorovaikutuksessa ympäristöönsä)

12 Tietojärjestelmien asema toimintayksiköissä
Syyt, miksi tietojärjestelmiä käytetään, voidaan karkealla tasolla ryhmitellä kolmeen luokkaan: perus-, liike- ja operatiivisten toimintojen tukeminen johdon päätöksenteon tukeminen strategisen kilpailuedun saavuttaminen

13 Tietojärjestelmien roolit toimintayksiköissä
Päätöstukijärjestelmät Toimistoautomaatio-järjestelmät TOIMINTAYKSIKKÖ PERUSTOIMINNOT TUKITOIMINNOT OHJAUSTOIMINNOT SUORITTAVA TOIMINTA Tuotannonohjaus-järjestelmät Prosessinohjaus-järjestelmät Sulautetut järjestelmät Taloushallinnon ja henkilöstöhallinnon järjestelmät Toimistoautomaatio-järjestelmät

14 Käsitteitä Toimistoautomaatiojärjestelmä (office automation systems)
apuvälineohjelmisto/työkaluohjelmisto, jota käytetään dokumenttien hallintaan ja pienehköjen töiden automatisointiin Tapahtumankäsittelyjärjestelmä (transaction processing systems, on-line systems) käsittelee erilaisia organisaation tapahtumia ja transaktioita, yleensä monenkäyttäjän sovelluksia Suorakäsittely (online processing)Eräkäsittely (batch p.) suorakäsittelyssä käyttäjät ovat tosiaikaisessa yhteydessä tietokantaan, esim. paikkavarausjärjestelmät eräkäsittelyssä tapahtumat ensin kerätään ja suoritetaan myöhemmin, vaikkapa yöaikaan, esim. laskutusajot Reaaliaikajärjestelmä (real-time systems) kontrolloivat jotakin ympäristöä ja keräävät tietoa sen toiminnasta, käsittelevät keräämänsä tiedon ja palauttavat tulokset takaisin ko. ympäristöön, joka sitten tarvittaessa muuttaa niiden perusteella toimintaansa esim. prosessinohjausjärjestelmät

15 Käsitteitä Päätöstukijärjestelmä (DSS=decision-support systems)
tuottavat informaatiota päätöksen teon tueksi analysoimalla organisaatiota koskevaa tietoa Johdon tietojärjestelmä (MIS=management information systems, ESS=executive support systems) päätöstukijärjestelmiä, jotka auttavat johtoa esim. organisaation toiminnanohjauksessa tai strategisessa suunnittelussa Asiantuntija- ja tietämyspohjaiset järjestelmät (expert systems, knowledge-based systems) rajatun erikoisalueen tietoa sisältävä järjestelmä, joka pyrkii simuloimaan asiantuntijan (henkilön) toimintaa päätöksentekotilanteessa esim. lääkärien käytössä oleva järjestelmä, jonne tiedot syötetään ja järjestelmä antaa arvion mahdollisesta sairaudesta ja siihen sopivasta lääkityksestä Tietotyön tukijärjestelmät (KWS=knowledge work support) tietojärjestelmiä jotka auttavat tietotyötä tekeviä luomaan ja integroimaan uutta tietoa

16 Mitä tietojärjestelmien kehittämisellä tarkoitetaan
Atk-sanakirjan mukaan: Tietojärjestelmien kehittäminen (information systems development, ISD) on uusien tietojärjestelmien laatimista tai nykyisten oleellista muuttamista. Systeemityö on tietojärjestelmien suunnittelua, ohjelmointia ja ylläpitoa. Oppikirjamme mukainen määritelmä: Tietojärjestelmien kehittäminen on kehitysryhmän tietyssä ympäristöissä kohdejärjestelmälle suorittama muutosprosessi, joka tapahtuu kohdejärjestelmälle asetettujen tavoitteiden mukaisesti.

17 Miksi tietojärjestelmiä kehitetään?
Osana organisaation oman toiminnan kehittämistä Auttaa tavoitteiden saavuttamisessa Auttaa vaativimpien tavoitteiden asettamisessa Mahdollistaa uudet toiminnot Tehostaa olemassa olevia toimintoja

18 Mitä kehittämisellä tarkoitetaan?
Uusien järjestelmien kehittämistä tai Olemassaolevien järjestelmien muuttamista Muutosprosessi Havainnointi (nykytila) Tavoitteiden asettaminen (pyrkimys) Suoritus (työ) Ohjaus (kontrolli/arviointi) Muutos (muuttunut kohde)

19 Tietojärjestelmien kehittäminen
KEHITYSRYHMÄ ASETTAA TAVOITTEET SUORITTAA OHJAA OVAT OMINAISUUKSIA HAVAINNOI KOHDE- JÄRJESTELMÄ KOHDE- JÄRJESTELMÄ MUUTOSPROSESSI YMPÄRISTÖ

20 Näkemyksiä tietojärjestelmätyön tavoitteista
Toimintokeskeinen 1960 – siirrettiin tietokoneella tehtäväksi aikaisempia käsin suoritettuja toimintoja, kuten kirjanpito, laskutus, palkanlaskenta Tietokeskeinen 1975 – suuret, keskitetyt tietovarastot otettiin käyttöön, tarkoituksena palvella monia toimintoja ja käyttäjiä Käyttäjäkeskeinen 1980 – käyttäjät mukaan suunnitteluun, kiinnitettiin huomiota käyttöliittymien ominaisuuksiin Asiakaskeskeinen 1985 – asiakkaan mukaan suunnitteluun Prosessikeskeinen 1990 – järjestelmän toimintaa pyrittiin tehostamaan, kehitettiin tiedonsiirtoyhteyksiä Viestintäkeskeinen 1995 – tietosisältöjen kehittäminen, sähköinen tiedotus otettiin laajemmin käyttöön Muutoskeskeinen 2000 – jatkuva muutosprosessi käynnissä, stabiilitilaa ei edes tavoitella

21 Tietojärjestelmien kehittämisen ongelmia
1. Epäonnistuneet kehittämishankkeet ja –projektit projekti ei koskaan valmistu projektin ylittää resurssit (taloudelliset, aika- ja henkilöresurssit) Syitä: tekniset syyt puutteellinen projektinhallinta ryhmätyö organisointi ja hallinta projektien sisäinen ja ulkoinen kommunikaatio

22 Tietojärjestelmien kehittämisen ongelmia
Systeemityön tuottavuus ja kustannukset tietojärjestelmät yhä suurempia, monimutkaisempia, vaativampia tietojärjestelmien rakentamiskustannukset kasvaneet tietojärjestelmien tuottamiselle asetetut vaatimukset kiristyneet systeemityössä tarvitaan työvoimaa jatkuvasti lisää  kustannukset nousevat

23 Tietojärjestelmien kehittämisen ongelmia
Tietojärjestelmien kehittämisen laadulliset ongelmat virheet ja puutteet järjestelmän toiminnassa järjestelmä ei vastaa asiakkaan vaatimuksia järjestelmää ei jostain syystä voida ottaa käyttöön Järjestelmän ylläpitoon liittyvät ongelmat mitä tärkeämpi järjestelmä on, sitä kauemmin se elää ja sitä enemmän resursseja kuluu sen ylläpitoon (vain 1/3 tietojärjestelmien kehittämistyöstä on uusien järjestelmien kehittämistä, loput vanhojen järjestelmien ylläpitotyötä)

24 Ohjelmistotuotannon erityispiirteitä
Monimutkaisuus Näkymättömyys tuotteen valmiusasteen määrittäminen hankalaa Muunnettavuus ohjelmistoille asetettuja vaatimuksia tarkennetaan ja muunnetaan, toimintaympäristöt muuttuvat Ainutkertaisuus Skaalautumattomuus aiemmin hyväksi todetut menetelmät eivät välttämättä toimi suuremmissa projekteissa Epäjatkuvuus pienikin vika ohjelmistossa saattaa lamaannuttaa koko järjestelmän

25 Ongelmia aiheuttavat myös…
ihmisten epärealistinen usko omiin kykyihinsä ja teknologian tarjoamiin mahdollisuuksiin nopeasti muuttuva teknologia järjestelmien integrointi erilaiset toimintaympäristöt käyttäjäkohtaisesti räätälöidyt järjestelmäversiot tietojärjestelmiä on vaikea hahmottaa kokonaisuutena, joten eri sidosryhmillä voi olla erilaisia näkemyksiä ja odotuksia järjestelmän suhteen

26 Hallittu ohjelmistoprosessi

27 Ohjelmistoprosessi (software process)
on kokonaisuus, jolla ohjataan tietojärjestelmän kehittämistä järjestelmän idean syntymisestä aina järjestelmästä luopumiseen saakka kattaa järjestelmän koko elinkaaren mitä tarkemmin määritelty, noudatettu, toistettavissa oleva, optimoitu ja hyväksytty ohjelmistoprosessi on, sitä korkeammalla kypsyystasolla organisaatio on

28 Systeemin elinkaari (information system life-cycle)
Systeemin elinkaari alkaa tietojärjestelmän kehittämisajatuksen esittämisestä ja päättyy tietojärjestelmästä luopumiseen. Se pitää sisällään tietojärjestelmän ylläpitotoimia ja kehittämisaktiviteetteja. Projektin elinkaari tarkoittaa samaan hankkeeseen liittyvien työvaiheiden ja tehtävien joukkoa, jonka tuloksena uusi tietosysteemi saadaan aikaan. Elinkaaren vaihejaolla pyritään määrittämään eri tehtävät, niiden ajoitus ja riippuvuudet toisistaan. Systeemin elinkaari on yleensä pidempi kuin projektin elinkaari. Vaikka elinkaaren eri toiminnot kuvataan peräkkäisinä, ovat ne käytännössä usein päällekkäisiä.

29 Tietojärjestelmien rakentaminen
kohteen määrittely ja rajaus mikä on tavoite mitkä ovat tuloksen laadun mittarit vastuuhenkilöt, työryhmä, resurssit rakenteen suunnittelu ja kuvaaminen sovituilla malleilla mallin toteutus valitulla työvälineellä ratkaisun testaus tuloksen vertailu tavoitteisiin laadun mittaaminen ratkaisun testaus vaihtoehtoisilla tekijöillä mallin käyttö ja kehittäminen

30 Systeemin kehittämismalleista
Yleisimpiä kehittämismalleja ovat: klassinen systeemin kehittämismalli puolirakenteellinen systeemin kehittämismalli rakenteellinen systeemin kehittämismalli ja prototyyppiperusteinen tietosysteemin kehittämismalli. Tietojärjestelmien suunnittelussa käytetään usein ns. top-down –läheistymistapaa eli toiminnallista osittamista.

31 Systeemin kehittämismalleista
Kehittämismallin tehtävänä on: Määritellä tarkasti ne toiminnot, joita systeemin suunnittelun yhteydessä on käytävä läpi. Määritellä osaprojektien väliset säännöt. Määritellä projektin ohjauksen kannalta tarkoituksenmukainen ohjausaikajänne, joka sisältää ajalliset tarkastuspisteet hankkeen jatkamispäätöksen tekemiseksi.

32 Klassinen systeemin kehittämismalli
Sen osat ovat: systeemianalyysi, systeemisuunnittelu ja toteutusvaihe Bottom-up –periaate (mallin heikkous), vesiputousmalli Lineaarinen, toinen toistaan seuraava toteutusjärjestys

33 Tietojärjestelmän kehittämisen vesiputousmalli
Esitutkimus Määrittely / Analyysi Suunnittelu (design) Toteutus Testaus Käyttöön- otto Ylläpito

34 Klassinen systeemin kehittämismalli
Vesiputousmallin lähtökohtana lienee teollisuuden kokoonpanolinjojen töiden suunnittelumalli. Periaate, että mitään ei valmistu ennen kuin hankkeen kaikki vaiheet on kokonaisuudessaan käyty läpi, ei toimi tietojärjestelmien kehittämisen yhteydessä. Mallin mukaan edellisen vaiheen tulee olla valmis, ennen kuin seuraavaan vaiheeseen voidaan siirtyä. Testaus vasta loppuvaiheessa ei myöskään sovi tietojärjestelmien kehittämiseen. Lineaarinen suorittamisjärjestys ontuu myös, sillä usein hankkeen edetessä huomataan asioita, joita ei suunnittelun alkuvaiheessa olla osattu ottaa huomioon. Em. puutteista huolimatta edelleen yleisessä käytössä.

35 Puolirakenteinen systeemin kehittämismalli
Eroaa vesiputousmallista 2 eri kohdassa: bottom-up –periaatteen mukainen koodin tuottaminen, moduulien testaus ja systeemin testaus on korvattu top-down –toteutuksella, missä korkeamman tason moduulit koodataan ja testataan ensin (rakenteellista ohjelmointia) klassinen suunnittelu on korvattu rakenteellisella suunnittelulla Top-down –lähestymistapa mahdollistaa systeemin osien erillisen kehittämisen sekä ohjelmiston koodaamisen ja systeemin testauksen rinnakkaisesti.

36 Rakenteellinen systeemin kehittämismalli
Malli koostuu kahdeksasta eri aktiviteetista: Esitutkimus Vaatimusmäärittely Systeemianalyysi Suunnittelu Toteutus Testaus Käyttöönotto Ylläpito

37 Esitutkimus (feasibility study)
tarkoituksena selvittää, onko tietojärjestelmän rakentaminen mahdollista ja mielekästä (tuotetaan tietoa päättäjille) ja jos on, niin kehitettävän systeemin vastuullisten käyttäjien tunnistaminen ja systeemin kokonaiskuvan tuottaminen (pääsyötteet ja -suoritteet) nykysysteemin puutteiden tunnistaminen mihin ongelmiin järjestelmä toisi ratkaisun luodaan alustava suunnitelma kehittämishankkeen läpiviemiseksi

38 Vaatimusmäärittely (requirement specification)
Dokumentti, johon on koottu kehitettävän järjestelmän toiminnalliset ja ei-toiminnalliset vaatimukset. Vaatimukset määrittelevät eri sidosryhmien tarpeet (user requirements) järjestelmän suhteen, mutta eivät ota kantaa siihen, millainen teknisen toteutuksen tulisi olla. Toiminnalliset vaatimukset määrittävät sen, mitä järjestelmän odotetaan tekevän; miten se kommunikoi ympäristönsä kanssa ja miten eri sidosryhmät sitä käyttävät. Ei-toiminnalliset vaatimukset määrittävät, millaisten reunaehtojen vallitessa järjestelmä täyttää toiminnalliset vaatimuksensa, esim. vastausajat, kapasiteetti ja käytettävyys. Joskus järjestelmän toiminnallisille vaatimuksille asetetaan myös rajoitteita (constraints).

39 Vaatimusmäärittely Asiakasvaatimusten keräämiseen käytetään
haastatteluja aivoriihiä ja ideointipalavereja markkinatutkimuksia ym. Ongelmia vaatimusten keskeneräisyys, ristiriitaisuus ja epämääräisyys (esim. ’järjestelmän tulee tehostaa kirjaston toimintaa’) vaatimusten todellisen tarkoituksen selvittäminen

40 Systeemianalyysi (System analysis)
tarkoituksena selvittää, mitä kehitettävän järjestelmän tulee tehdä analysoimalla vaatimusmäärittelyä pyritään johtamaan järjestelmän toiminnallinen määrittely (functional specification), joka on toteutusriippumaton luodaan loogisen tason kuvaus järjestelmän toiminnoista, sen käsittelemästä tiedosta, yhteyksistä ympäristöön jne. em. asiat tehdään/dokumentoidaan mallintamalla käyttäjän toimintaympäristö tietovirtakaavioina, kohdemalleina, tilamuutoskaavioina jne. tuottamalla ympäristömalli ja systeemin käyttäytymismalli tuottamalla tietojen ja tietokantojen kuvaukset määrittelemällä järjestelmän suorituskyky, käytettävyys, virhetilanteista toipuminen ja turvallisuus tuottamalla tarkat hyöty-/kustannuslaskelmat hankkeen budjetin muodostamiseksi jne.

41 Suunnittelu (Design) tässä vaiheessa suunnitellaan, miten järjestelmä toteutetaan analyysissä tuotettu järjestelmän toiminnallinen määrittely muunnetaan tekniseksi määrittelyksi (technical specification) suunnittelu jakautuu yleensä arkkitehtuuri- ja moduulisuunnitteluun arkkitehtuurisuunnittelussa järjestelmän yleinen rakenne määritetään ja jaetaan järjestelmä (mahdollisimman itsenäisiin) moduuleihin, jotta toteutustyö voidaan jakaa tiimeille tai yksittäisille työntekijöille moduulien väliset kytkennät ovat kriittisiä, sillä mitä enemmän niitä on, sitä monimutkaisempi ja vaikeammin ylläpidettävä järjestelmä on moduulisuunnittelussa suunnitellaan jokaisen moduulin sisäinen rakenne

42 Toteutus (Implementation)
ohjelma koodataan ja ohjelmamoduulit sekä mahdollinen tietokanta integroidaan tietojärjestelmäsovellukseksi toteutuksessa käytetään jotakin ohjelmointikieltä tai sovelluskehitintä toteutusvälineen valintaan vaikuttavat: sovellusalue (matemaattinen, relaatiotietokanta-pohjainen jne.) käytetyt menetelmät ja mallit (esim. oliokuvaus-menetelmien kanssa olio-ohjelmointikielet) tehokkuusvaatimukset (toiset kielet tehokkaampia) toteutus- ja käyttöympäristö (Windows, UNIX tms.) huom! siirrettävyys, ylläpidettävyys, dokumentointi

43 Testaus (testing) testauksen tarkoitus on löytää ohjelmistosta virheitä testaus jaetaan yleensä: moduulitestaukseen sisäinen testaus (testaa sisäisiä algoritmeja) ulkoinen testaus (testaa ohjelmistokomponenttien tulosarvojen oikeellisuutta) integrointitestaukseen etsitään vikoja moduulien yhteistoiminnasta järjestelmätestaukseen etsitään virheitä koko järjestelmän toiminnoista hyväksymistestien määrittely (acceptance test generation) laadunvarmistuksen välineenä käytetään hyväksymistestejä muodostetaan laatukriteerit

44 Käyttöönotto (installation)
järjestelmän asennus toteutettu ja testattu järjestelmä otetaan käyttöön mahdollinen tietokantakonversio olemassa olevan tietokannan muunnos uuteen järjestelmään sopivaan muotoon käyttäjien ja ylläpitohenkilökunnan koulutus

45 Ylläpito (maintenance)
ohjelmiston elinkaaren pisin vaihe, vie n. 70% kaikista resursseista, joita järjestelmään käytetään sen elinkaaren aikana korjaava ylläpito tarkoittaa järjestelmän käyttöönoton jälkeen havaittujen virheiden korjaamista sopeuttava ylläpito tarkoittaa järjestelmän siirtämistä uusiin käyttöympäristöihin täydentävä ylläpito tarkoittaa uusien ominaisuuksien lisäämistä järjestelmään ennakoiva ylläpito tarkoittaa järjestelmän tai sen dokumentaation tason parantamista tulevia ylläpitotilanteita varten

46 Kehittämisen vaiheista
tietojärjestelmien kehittäminen ei useinkaan kulje lineaarisesti em. vaiheesta toiseen, vaan paljon esiintyy myös samanaikaisuutta ja limittäisyyttä takaisinkytkentöjä poikkeustapauksia prosessin keskeytyksiä jne. tietojärjestelmän kehittäminen sisältää myös koko sen elinkaaren läpi jatkuvia toimintoja, kuten vaatimustenhallinta laadunvarmistus dokumentaatio riskien hallinta

47 Prototyyppiperusteinen tietojärjestelmän kehittämismalli
kehitettävä systeemi mallinnetaan toimivalla tietojärjestelmämallilla (epätäydellinen demo), eikä paperilla tehtävillä kuvauksilla järjestelmän toiminnot pyritään havainnollistamaan tietokoneella apuna käytetään mm. näyttögeneraattoria, raporttigeneraattoria, kyselykieltä jne. vaarana, että protoilu tulee liian kalliiksi ja suurimittaiseksi prosessiksi tai että prototyyppi jää systeemin viimeiseksi versioksi

48 Prototyyppiperusteinen tietojärjestelmän kehittämismalli
soveltuu hyvin projekteihin, joissa: käyttäjällä ei ole halua tai valmiuksia abstraktien sanallisten suunnitelmien tarkasteluun käyttäjä ei kykene ilmaisemaan tarpeitaan riittävän yksityiskohtaisesti, mutta pystyy tekemään valintoja nähdessään esimerkkejä suunniteltava järjestelmä on on-line –järjestelmä, jossa käyttäjä työskentelee päätteellä paljon systeemin ohjelmiston algoritminen rakenne on yksinkertainen (ei tarvita yksityiskohtaista spesifiointia)

49 Prototyyppilähestymistapa
Tavoitteet Määritä vaatimukset Vaatimukset Rakenna prototyyppi Korjauksia Käyttäjän arviointi Suorituskyky Demoa prototyyppiä OK Arkkitehtuuri ja toimintoja Toteuta järjestelmä Järjestelmä Uusia tavoitteita Hyötykäyttö

50 Spiraalimalli (spiral model)
iteratiivinen, uusi elinkaarimalli prosessiin liittyvien riskien jatkuva analysointi ja toiminnan muutos riskianalyysin perusteella seuraavaa neljää vaihetta toistetaan jatkuvasti, kunnes järjestelmä on valmis: suunnittelu (tavoitteiden, vaihtoehtojen ja rajoitusten määrittely) riskianalyysi (eri vaihtoehtojen ongelmien arviointi) tuotanto (seuraavan vaiheen valmistus) asiakkaan suorittama arviointi (tarkastuspiste ennen seuraavaa kierrosta) järjestelmä tarkentuu sitä mukaa, kun edetään kohti spiraalin ulompia kehiä prosessi keskeytetään, jos riskit liian suuria tarkoitus kuitenkin pienentää riskejä joka iteraatiolla

51 Systeemianalyysi sen tekee yleensä organisaation useista sidosryhmistä koostuva ryhmä työskentely on projektiluonteista, aikakriittistä ja tulossidonnaista analyysissä on kiinnitettävä huomiota tuloksena syntyvän tietojärjestelmän tuottavuuteen, laatuun ja ylläpidettävyyteen jne.

52 Systeemianalyysissä mallit muodostavat yleisen kuvauksen:
systeemin suhteesta ympäristöön sen tietosisällöstä ja tietojen käsittelyprosesseista sekä systeemin toteutusteknologiasta. mallien tulee olla toiminnallisia ohjeita muulle työlle mallit ovat abstrakteja, usein vain paperilla olevia kuvauksia systeemistä

53 Tietojärjestelmien yhteydessä malleja käytetään:
järjestelmän suunnitteluun vaihtoehtojen arviointiin kohteen analysointiin

54 Systeemianalyysissä informaatiojärjestelmiä kuvataan:
Tietovirtakaavioilla (Data Flow Diagrams) Kohdemalleilla (Entity-Relationship Diagrams) Tilanmuutoskaavioilla (State Transition Diagrams) Rakennekaavioilla Tapahtumalistoilla Tietohakemistoilla Prosessikuvauksilla ym. menetelmillä / malleilla valitusta systeemianalyysimetodologian riippuu, mitä malleja käytetään

55 Malleista… mallit eivät ole ainoastaan tietojärjestelmien suunnitteluun soveltuvia, vaan niitä voidaan käyttää myös esim. biologisten taloudellisten ja teollisuuden prosessien kuvaamiseen sekä myös poliittisten järjestelmien ja materiaalivirtojen kuvaamiseen.

56 Systeemityön tekijät Aikoinaan tietojärjestelmien kehittämisessä olivat mukana vain atk-ammattilaiset, sillä kehitettiin lähinnä laskennallisia sovelluksia tai automatisoitiin aikaisemmin manuaalisesti suoritettuja rutiineja. Järjestelmän tulevat käyttäjät olivat usein samoja atk-ammattilaisia. Nykyään tietotekniikka levinnyt lähes kaikkiin työtehtäviin ja kehittäjien ja käyttäjien roolit ovat eriytyneet. Järjestelmät ovat monimutkaisia organisatorisia ja sosiaalisia kokonaisuuksia, joilla laaja vaikutus ympäristöönsä  käyttäjät/asiakkaat mukaan kehittämistyöhön

57 Systeemityön tekijät Tietojärjestelmän kehittäjät
määrittelijät (system analysts), jotka tekevät esitutkimuksen, vaatimusmäärittelyn ja järjestelmäanalyysin suunnittelijat (system designers), jotka luovat toteutussuunnitelmat ja ohjelmoijat (programmers), jotka toteuttavat järjestelmän määrittelyjen ja suunnitelman mukaan

58 Systeemityön tekijät Tietojärjestelmän käyttäjät
yleensä kohdeorganisaation työntekijöitä tuntevat järjestelmän kohdealueen hyvin ja ovat siksi korvaamattomia tietolähteitä vaatimusmäärittelyssä ja analyyseissä käyttäjät voivat osallistua kehittämishankkeisiin vastaamalla kyselyihin tai antamalla haastatteluja toimimalla asiantuntijoina projektiryhmässä joissain tapauksissa osallistua myös määrittely- ja suunnittelutyöhön käyttäjät voidaan jaotella operationaalisiin käyttäjiin, esimies-käyttäjiin ja johtotason käyttäjiin tai amatööreihin, noviiseihin ja ammattilaisiin

59 Systeemityön tekijät Johto
operationaalinen johto vastaa järjestelmän toimialueen töiden ja työntekijöiden valvonnasta tietohallinnon johto osallistuu työnsä puolesta hankkeiden päätöksentekoon yleisjohto on kiinnostunut siitä, miten kehitettävä järjestelmä edesauttaa organisaation strategisten tavoitteiden saavuttamista.

60 Ongelmia kehitystyössä
erilaiset odotukset ja tavoitteet kehitettävän järjestelmän suhteen yhteisen ’kielen’ puuttuminen käyttäjillä ja kehittäjillä käyttäjien vastarinta käyttäjäryhmien väliset eturistiriidat kehittämishankkeesta voi tulla ’politikoinnin ja valtataistelun väline eri työntekijäryhmien välillä

61 Laatu ja laadunvarmistus
Laadulla tietojärjestelmien yhteydessä tarkoitetaan yleensä järjestelmän kykyä täyttää käyttäjän kohtuulliset toiveet ja odotukset. Näin laatu on subjektiivinen, käyttäjästä ja käyttöympäristöstä riippuva käsite. Samalla tarkastellaan myös tietojärjestelmäprosessin laatua eli toiminnallista laatua.

62 Laatu ja laadunvarmistus
Nykyisen laatuajattelun mukaan tuotteen laatuun vaikutetaan parhaiten toiminnan laadun kautta. Tuotteen tekemisessä käytettävää toimintatapaa kutsutaan yrityksen laatujärjestelmäksi, joka kuvataan laatukäsikirjassa. Laatujärjestelmän tarkoituksena on taata, että tuotantoprosessissa syntyy tiettyä laatutasoa olevia tuotteita sovitussa aikataulu- ja budjettikehyksessä. Laatujärjestelmiin liittyy toiminnan todistettavuus ja jäljitettävyys, eli organisaation ulkopuolisen tahon on kyettävä toteamaan, että organisaatio toimii laatujärjestelmän mukaisesti. Tämä voidaan yleensä todentaa tutkimalla tarkastuspöytäkirjoja, muistioita, virheraportteja yms.

63 Laatu ja laadunvarmistus
Toiminnan laatua voidaan valvoa esim. auditoinneilla, joissa tarkistetaan, että toiminta on laatujärjestelmän mukaista. Tuotteen laadunvarmistuksella on 2 tarkoitusta: pyritään estämään virheiden pääseminen tuotteeseen pyritään löytämään tehdyt virheet mahdollisimman aikaisessa vaiheessa Tuotteen laadunvarmistuksessa puhutaan usein verifioinnista eli että tuote vastaa määrityksiään (building the product right) validoinnista eli että tuote sopii käyttötarkoitukseensa (building the right product).

64 Dokumentaatio Tietojärjestelmien kehittämisprojekteissa dokumentaatiolla tarkoitetaan järjestelmää kuvaavien dokumenttien tuottamisesta. Kehitysprojektin koosta ja monimutkaisuudesta riippuu, kuinka laajamittaista dokumentaatiota tarvitaan. Tietty perusdokumentaatio tulee kuitenkin jokaisella rakennettavalla järjestelmällä olla. Usein kiireen vaivatessa määrittely- ja suunnitteluvaiheiden dokumentointi voi jäädä pintapuoliseksi. Dokumenttien ylläpito voi myös unohtua. Joskus tilanne voi olla päinvastainenkin, eli dokumentoinnista nousee koko järjestelmäkehityksen tärkein vaihe ja se vie kaiken ajan ja resurssit.

65 Dokumentaatio Ohjelmistoprosessiin liittyvä dokumentaatio voidaan jakaa kolmeen ryhmään, joita ovat: tuotteen dokumentaatio (tekninen dokumentaatio, käyttöohjeet ja koulutusmateriaalit) projektinhallinnan dokumentit (projektisopimus, projektisuunnitelma, projektin loppuraportti yms.) laatujärjestelmän dokumentit (laatukäsikirja, dokumenttimallit, laatujärjestelmän raportit yms.). Yleensä organisaatiossa määritellään kaikille dokumenteille mallit (perusrunko), jotta kehittämishankkeiden dokumentaatio olisi yhdenmukaista. Nämä mallit liitetään osaksi laatujärjestelmää.

66 Riskienhallinta Tietojärjestelmien kehittämisessä riskiksi määritellään tilanne tai asia, joka saattaa haitata järjestelmälle tai sen kehittämiselle asetettuja tavoitteita. Menestyksekäs riskienhallinta on osa onnistunutta tietojärjestelmähanketta.

67 Riskienhallinta Eräs riskienhallinnan lähestymistapa:
Tunnista ja arvioi riskit tunnista riskit ja analysoi niiden vaikutukset priorisoi riskit niiden vaikutusten ja esiintymistodennäköisyyksien mukaan laadi riskien top 10 -lista Tee päätökset riskien ratkaisemiseksi aloita suurimmista riskeistä Toteuta riskien ratkaisemiseksi tehdyt päätökset lisää päätösten edellyttämät muutokset projektisuunnitelmaan laadi riskienhallintasuunnitelma vakavimmille riskeille

68 Vaatimustenhallinta (requirements management)
Vaatimustenhallinnan tehtävänä on varmistaa, että valmis järjestelmä on asiakkaan toiveiden mukainen. Järjestelmälle asetetut vaatimukset muuttuvat tai lisääntyvät usein kehitystyön aikana ja kehittäjien on kyettävä reagoimaan muuttuneeseen tilanteeseen  ratkaisuna koko elinkaaren kattava vaatimustenhallinta. Esim: Asiakas ilmoittaa haluavansa järjestelmään uuden ominaisuuden. Uusi vaatimus lisätään tarkemmin analysoimatta hankkeen tavoitteisiin  seuraa aikataulun ja budjetin ylityksiä.

69 Vaatimustenhallinta Jokaisessa projektissa tulisi olla määritelty muutospyyntö-käytäntö (change request) uusien vaatimusten käsittelyä varten. Seuraavista asioista tulisi huolehtia: tiedotus (kaikille osapuolille uuden vaatimuksen vaikutuksesta) päätös (uuden vaatimuksen aiheuttamista toimenpiteistä) vastuunotto (se taho, joka päätöksen tekee, kantaa vastuun sen seurauksista, kuten esim. budjetin ylityksestä) Vaatimusten tulee olla jäljitettäviä, eli ohjelmistoprosessin aikana pitää tallentaa myös informaatiota vaatimusten muutoksista ja niiden perusteella tehdyistä ratkaisuista.

70 Uudelleenkäytettävyys
Uudelleenkäytettävyys tarkoittaa ohjelmistotuotannossa aikaisemmin rakennetun ohjelmiston osan uudelleen käyttöä. Uudelleenkäyttö edellyttää tavallista enemmän paneutumista määrittelyyn, suunnitteluun ja toteutukseen ja vaatii näin enemmän resursseja ensimmäisessä projektissa. Varsinainen hyöty saadaan vasta seuraavissa projekteissa. Uudelleenkäyttö voi olla: hyväksi havaittujen ideoiden kopioimista ja kierrätystä yleiskäyttöisten aliohjelmien kokoaminen kirjastoksi kokonaisen sovelluksen toimintalogiikan uusiokäyttämistä (järjestelmä vain räätälöidään haluttuun käyttöön sopivaksi) Komponentti (component): riippumaton, täydellisellä toiminnallisuudella varustettu kokonaisuus, jonka julkinen palvelurajapinta määrittää sen, miten komponentti on liitettävissä muihin komponentteihin (vrt. moduuli).


Lataa ppt "Tietojärjestelmätyön perusteet"

Samankaltaiset esitykset


Iklan oleh Google