tietoj rjestelm ty n perusteet n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Tietojärjestelmätyön perusteet PowerPoint Presentation
Download Presentation
Tietojärjestelmätyön perusteet

Loading in 2 Seconds...

play fullscreen
1 / 70

Tietojärjestelmätyön perusteet - PowerPoint PPT Presentation


  • 114 Views
  • Uploaded on

Tietojärjestelmätyön perusteet. 402T11A 3 op. Tuija Kuisma. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Tietojärjestelmätyön perusteet' - adlai


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
tietoj rjestelm ty n perusteet

Tietojärjestelmätyön perusteet

402T11A

3 op.

Tuija Kuisma

opintojakson sis lt p piirteitt in
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
opintojakson suorittaminen ja arviointi
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
kurssimateriaali
Kurssimateriaali
  • Lähiopetuksen materiaali (pääosin ka.ramk.fi –palvelimelle)
  • Kirjana R.Pohjosen ‘Tietojärjestelmien kehittäminen’ (koulun kirjastossa muutamia kappaleita + e-kirjana)
tietoj rjestelm on
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.
er s m ritelm
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)
tietoj rjestelm t muodostuvat
Tietojärjestelmät muodostuvat
  • ihmisistä
  • hardware- ja software-komponenteista
  • proseduureista
  • datasta
  • informaatiosta
tietoj rjestelmist
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
slide9

YHTEISKUNTA

KILPAILIJAT

TOIMINTAYKSIKKÖ

ASIAKKAAT

OHJAUSTOIMINNOT

RAAKA-AINEET

TUOTTEET

PERUSTOIMINNOT

TUKITOIMINNOT

VALTIOVALTA

SUORITTAVA TOIMINTA

OMISTAJAT

ALIHANKKIJAT

toimintayksik n toiminnot
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.
systeemien tarkastelun k kulmat
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ä)
tietoj rjestelmien asema toimintayksik iss
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
tietoj rjestelmien roolit toimintayksik iss

TOIMINTAYKSIKKÖ

OHJAUSTOIMINNOT

PERUSTOIMINNOT

TUKITOIMINNOT

SUORITTAVA TOIMINTA

Tietojärjestelmien roolit toimintayksiköissä

Päätöstukijärjestelmät

Toimistoautomaatio-järjestelmät

Tuotannonohjaus-järjestelmät

Prosessinohjaus-järjestelmät

Sulautetut järjestelmät

Taloushallinnon ja henkilöstöhallinnon järjestelmät

Toimistoautomaatio-järjestelmät

k sitteit
Käsitteitä
  • Toimistoautomaatiojärjestelmä (office automationsystems)
    • 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
k sitteit1
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öntukijärjestelmät(KWS=knowledge work support)
    • tietojärjestelmiä jotka auttavat tietotyötä tekeviä luomaan ja integroimaan uutta tietoa
mit tietoj rjestelmien kehitt misell tarkoitetaan
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.
miksi tietoj rjestelmi kehitet n
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
mit kehitt misell tarkoitetaan
Mitä kehittämisellä tarkoitetaan?
  • Uusien järjestelmien kehittämistä tai
  • Olemassaolevien järjestelmien muuttamista
  • Muutosprosessi
    • Havainnointi (nykytila)
    • Tavoitteidenasettaminen (pyrkimys)
    • Suoritus (työ)
    • Ohjaus (kontrolli/arviointi)
    • Muutos (muuttunutkohde)
tietoj rjestelmien kehitt minen
Tietojärjestelmien kehittäminen

KEHITYSRYHMÄ

ASETTAA

TAVOITTEET

SUORITTAA

OHJAA

OVAT OMINAISUUKSIA

HAVAINNOI

KOHDE-

JÄRJESTELMÄ

KOHDE-

JÄRJESTELMÄ

MUUTOSPROSESSI

YMPÄRISTÖ

n kemyksi tietoj rjestelm ty n tavoitteista
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
tietoj rjestelmien kehitt misen ongelmia
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
tietoj rjestelmien kehitt misen ongelmia1
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
tietoj rjestelmien kehitt misen ongelmia2
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ä)
ohjelmistotuotannon erityispiirteit
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
ongelmia aiheuttavat my s
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
ohjelmistoprosessi software process
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
systeemin elinkaari information system life cycle
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ä.
tietoj rjestelmien rakentaminen
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
systeemin kehitt mismalleista
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.
systeemin kehitt mismalleista1
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.
klassinen systeemin kehitt mismalli
Klassinen systeemin kehittämismalli
  • Sen osat ovat:
    • systeemianalyysi,
    • systeemisuunnittelu ja
    • toteutusvaihe
  • Bottom-up –periaate (mallin heikkous), vesiputousmalli
  • Lineaarinen, toinen toistaan seuraava toteutusjärjestys
slide33

Tietojärjestelmänkehittämisenvesiputousmalli

Esitutkimus

Määrittely /

Analyysi

Suunnittelu

(design)

Toteutus

Testaus

Käyttöön-

otto

Ylläpito

klassinen systeemin kehitt mismalli1
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ä.
puolirakenteinen systeemin kehitt mismalli
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.
rakenteellinen systeemin kehitt mismalli
Rakenteellinen systeemin kehittämismalli

Malli koostuu kahdeksasta eri aktiviteetista:

  • Esitutkimus
  • Vaatimusmäärittely
  • Systeemianalyysi
  • Suunnittelu
  • Toteutus
  • Testaus
  • Käyttöönotto
  • Ylläpito
esitutkimus feasibility study
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
vaatimusm rittely requirement specification
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).
vaatimusm rittely
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
systeemianalyysi system analysis
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.
suunnittelu design
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
toteutus implementation
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
testaus testing
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
k ytt notto installation
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
yll pito maintenance
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
kehitt misen vaiheista
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
prototyyppiperusteinen tietoj rjestelm n kehitt mismalli
Prototyyppiperusteinentietojä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
prototyyppiperusteinen tietoj rjestelm n kehitt mismalli1
Prototyyppiperusteinentietojä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)
prototyyppil hestymistapa
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ö

spiraalimalli spiral model
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
systeemianalyysi
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.
systeemianalyysiss
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ä
tietoj rjestelmien yhteydess malleja k ytet n
Tietojärjestelmien yhteydessä malleja käytetään:
  • järjestelmän suunnitteluun
  • vaihtoehtojen arviointiin
  • kohteen analysointiin
systeemianalyysiss informaatioj rjestelmi kuvataan
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
malleista
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.
systeemity n tekij t
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
systeemity n tekij t1
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
systeemity n tekij t2
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
systeemity n tekij t3
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.
ongelmia kehitysty ss
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ä
laatu ja laadunvarmistus
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.
laatu ja laadunvarmistus1
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.
laatu ja laadunvarmistus2
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).
dokumentaatio
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.
dokumentaatio1
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ää.
riskienhallinta
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.
riskienhallinta1
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
vaatimustenhallinta requirements management
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ä.
vaatimustenhallinta
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.
uudelleenk ytett vyys
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).