Tietokanta-analyysi, suunnittelu ja toteutus

Download Report

Transcript Tietokanta-analyysi, suunnittelu ja toteutus

Tietokanta-analyysi, suunnittelu ja
toteutus
• Tietokantajärjestelmä on osa yrityksen
informaatiojärjestelmää (IS, Information System).
• Tietokantajärjestelmän elinkaari voidaan jakaa kuvan
1 mukaisiin vaiheisiin.
• Kuvataan seuraavaksi lyhykäisesti kuvassa
esiintyvien laatikoiden merkitys.
Tietokanta-analyysi,
suunnittelu...
tMyn
1
Tietokannan määrittely
Järjestelmämäärittely
Tietokantasovelluksen
suunnittelu
Vaatimusten keruu
ja analysointi
DBMS:n valinta
Käsitemallin suunnittelu
Prototyypin teko
Fyysinen suunnittelu
Toteutus
Datan konversio ja siirto
Käyttöönottotestaus
Ylläpito
Kuva 1. Tietokantajärjestelmän elinkaari.
Tietokanta-analyysi,
suunnittelu...
Tietokannan suunnittelu
Looginen suunnittelu
tMyn
2
Tietokannan määrittely
• Miten elinkaaren vaiheet voidaan toteuttaa
mahdollisimman tehokkaasti ja optimaalisen
vaikutuksen tuottavaksi?
– Mitkä ovat yrityksen tavoitteet – miten tässä voi auttaa
informaatiojärjestelmä parhain päin?
– Miten asiat on nyt hoidettu IS-puolella – vahvuudet,
heikkoudet.
– Mitä pitäisi tehdä paremmin?
Tietokanta-analyysi,
suunnittelu...
tMyn
3
Järjestelmämäärittely
• Mitkä ovat järjestelmän rajat ja miten tämä
tietokantajärjestelmä liittyy yrityksen yleiseen IS:ään?
• Ketkä ovat nykyiset ja tulevat käyttäjät?
• Mitkä ovat nykyiset ja tulevat sovellukset?
• Mitkä ovat esim. johdon, myynnin, etc. erityistarpeet?
Tietokanta-analyysi,
suunnittelu...
tMyn
4
Vaatimusten keruu ja analysointi
• Otetaan selville mitkä ryhmät käyttävät/tulevat
käyttämään sovellusta.
• Kunkin ryhmän vaatimusmäärittely kerätään
kattavasti (fact finding techniques).
• Näin saadaan selville ainakin
– kuvaus käytettävästä datasta tai siitä datasta jota
generoidaan
– miten dataa käytetään tai generoidaan
– uudet vaatimukset tietokantajärjestelmälle
• Tästä kaikesta saadaan analyysivaiheen jälkeen
vaatimusmäärittely.
Tietokanta-analyysi,
suunnittelu...
tMyn
5
Tietokannan suunnittelu
• Suunnittelussa on kaksi perusmenetelmää: joko
”bottom up” tai ”top-down”.
• ”Bottom-up”-menetelmässä aloitetaan
perusattribuuttien etsimisestä ja löytämisestä.
• Tähän prosessiin liittyy normalisointi.
• ”Bottom-up”-menetelmä soveltuu erityisesti
yksinkertaisiin tietokantatoteutuksiin.
• Monimutkaisiin tietokantatoteutuksiin soveltuu
paremmin ”top-down” –menetelmä.
Tietokanta-analyysi,
suunnittelu...
tMyn
6
• ”Top-down” –menetelmässä aloitetaan hierarkkisesti
ylimmän tason kokonaisuuksista ja suhteista.
• Sitten mennään iteratiivisesti alaspäin
hierarkiatasoilla kohti pienempiä yksityiskohtia.
• ”Top-down” –menetelmään liittyy ER (EntityRelationship) –mallinnus.
• On olemassa vielä muitakin menetelmiä, näistä
mainittakoon niminä ”inside-out” – ja ”mixed strategy”
–menetelmät.
• Tietokannan suunnitteluun liittyy käsitemallin
suunnittelu, looginen suunnittelu ja fyysinen
suunnittelu.
Tietokanta-analyysi,
suunnittelu...
tMyn
7
Tietokannan käsitemallin suunnittelu
• Tämä on ensimmäinen vaihe tietokannan
suunnittelussa.
• Käsitemalli rakennetaan kaikilta käyttäjiltä kerätyn (ja
sen perusteella rakennetun) vaatimusmäärittelyn
perusteella.
• Se on täysin riippumaton valittavasta DBMSohjelmistosta, sovellusohjelmista, ohjelmointikielistä,
hardware platformista, etc.
• Käsitemallin hyvyyttä testataan vaatimusmäärittelyä
vasten.
Tietokanta-analyysi,
suunnittelu...
tMyn
8
Tietokannan looginen suunnittelu
• Tässä lähdetään liikkeelle käsitemallista.
• Laaditaan sisällöstä ja rakenteesta loogisen tason
kuvaus, esim. relaatiokuvaus, jos tavoitteena on
relaatiotietokanta.
• Tässä vaiheessa ei pitäisi olla mitään riippuvuutta
mihinkään tiettyyn DBMS:ään vaikkakin tiedossa siis
on, että tietokantajärjestelmään tullaan valitsemaan
relaatiotietokanta, hierarkkinen tietokanta,
oliotietokanta tms.
• Normalisointitekniikkaa käytetään testaamaan
loogisen tietokantamallin oikeellisuutta.
Tietokanta-analyysi,
suunnittelu...
tMyn
9
Tietokannan fyysinen suunnittelu
• Tässä lähdetään liikkeelle tietokannan loogisesta
mallista.
• Nyt pitää olla tiedossa valittava DBMS-tuote.
• Päätetään tietokannan tallennusrakenteista ja
saantimenetelmistä.
• Miten saavutetaan tietokannan optimisuorituskyky?
• Miten huomioidaan turvallisuusnäkökannat?
Tietokanta-analyysi,
suunnittelu...
tMyn
10
DBMS:n valinta
• Joskus voi olla mahdollista käyttää olemassa olevaa
tuotetta – tehdään vain uusi tietokantasovellus.
• Jos joudutaan ostamaan uusi DBMS, niin silloin
joudutaan tekemään päätös perustuen
– nykyiset ja tulevat tarpeet
– mitä muuta ohjelmistoa/kovoa tarvitaan
– mitkä ovat muutoskustannukset (konversio vanhasta
DBMS:stä…)
– henkilöstön koulutustarve
– …
Tietokanta-analyysi,
suunnittelu...
tMyn
11
Tietokantasovelluksen suunnittelu
• Tietokantasovelluksen suunnittelu on rinnakkainen
aktiviteetti tietokannan suunnittelun kanssa.
• Toki uusia sovelluksia voidaan suunnitella valmiiseen
tietokantaympäristöön.
• Sovellussuunnitteluun liittyy keskeisesti
tietokantatapahtumien suunnittelu.
Tietokantatapahtuma, transaction:
Yhdestä tai useammasta tietokantaoperaatiosta
koostuva kokonaisuus, jolle voidaan taata
jakamattomuus, pysyvyys, eristyvyys ja oikeellisuus.
Tietokanta-analyysi,
suunnittelu...
tMyn
12
• Tietokantatapahtumia on kolmen tyyppisiä:
– Tiedon haku, retrieval transaction. Esim. haetaan
tietokannasta joidenkin hakukriteerien perusteella ja
kaiutetaan näytölle.
– Tiedon päivittäminen, update transaction. Esim. lisätään
monikko johonkin tauluun.
– Edellisten yhdistelmä, mixed transaction.
• Toinen keskeinen elementti sovelluksen
suunnittelussa on käyttöliittymän suunnittelu.
Tietokanta-analyysi,
suunnittelu...
tMyn
13
Prototyypin teko
• Prototyypillä ei tyypillisesti ole kaikkia lopullisen
tuotteen ominaisuuksia toteutettuna.
• Auttaa arvioimaan, mitkä ominaisuudet ovat toimivia,
ja toisaalta mitkä osat vaatimusmäärittelyssä ovat
olleet epäonnistuneita.
• Prototyypit voidaan jakaa kahteen kategoriaan:
– Requirements prototyping: kun protoilun avulla on saatu
halutut asiat selville, niin prototyyppi heitetään roskiin.
– Evolutionary prototyping: ei lähdetä liikkeelle risukasan
kyhäämisestä, vaan prototyyppi on osa lopullista tuotetta.
Tietokanta-analyysi,
suunnittelu...
tMyn
14
Toteutus
• Tässä vaiheessa toteutetaan tietokanta ja sen taulut
datan määrittelykielellä (DDL, Data Definition
Language).
• Tuo työ voidaan tehdä puhtaasti SQL-käskyillä tai
sitten DBMS:n työkalulla, joka peittää graafisen
käyttöliittymän alle tekniset yksityiskohdat.
• Sovellusohjelma toteutetaan vaikkapa PHP:llä tai
C#:lla.
• Sovellusohjelmaan on sulautettu datan
käsittelykielellä (DML, Data Manipulation Language)
tehdyt tietokantatapahtumat.
Tietokanta-analyysi,
suunnittelu...
tMyn
15
Datan konversio ja siirto
• Tämä vaihe on tarpeen silloin kun siirrytään uuteen
tietokantaympäristöön.
• Työ voi olla valtava, eikä se missään tapauksessa
onnistu käsipelillä.
• Uuden tietokantaympäristön tulee tarjota apuohjelma
(utility program) työn tekemiseen.
Tietokanta-analyysi,
suunnittelu...
tMyn
16
Käyttöönottotestaus
• Parasta olisi, että testaajat joukossa olisi lopullisen
tuotteen käyttäjiä.
• Testaus on työvaihe, joka seuraa rinnalla koko
tuotteen elinkaaren ajan.
Tietokanta-analyysi,
suunnittelu...
tMyn
17
Ylläpito
• Tässä vaiheessa seurataan järjestelmän
suorituskykyä.
• Jos muutoksia tapahtuu (heikennyksiä), joudutaan
toiminnan virittämiseen ja mahdollisesti joudutaan
tekemään muutoksia tietokannan rakenteeseen.
• Sovellusohjelmaa joudutaan ylläpitämään, ja
mahdollisesti joudutaan toteuttamaan uusia piirteitä.
Tietokanta-analyysi,
suunnittelu...
tMyn
18