Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

Samankaltaiset tiedostot
Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Johdatus sovellussuunnitteluun, s 2001, osa 4b Helsingin yliopisto / TKTL Harri Laine / Inkeri Verkamo 1. Luokkakaavion tarkoitus

Luokkakaavion laatiminen

Johdatus sovellussuunnitteluun, s2000, osa5 Helsingin yliopisto;/tktl. Harri Laine 1. Luokkakaavion tarkoitus. Luokkakaavion tarkoitus

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

3. Käsiteanalyysi ja käsitekaavio

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

HELIA 1 (20) Outi Virkki Tiedonhallinta

Luento 3 Tietokannan tietosisällön suunnittelu

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

UML - unified modeling language

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

HELIA 1 (17) Outi Virkki Tiedonhallinta

Nimi: Henkilötunnus: {id} {+id}

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen

Ohjelmistojen mallintaminen, kesä 2010

Luokkakohtaiset eli stattiset metodit ja attribuutit

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen luokkamallin laatiminen

Tietokantojen suunnittelu, relaatiokantojen perusteita

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

Ohjelmistotekniikan menetelmät, kevät 2008

Tietokannan suunnittelu

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Ohjelmistojen mallintaminen, kesä 2009

2. Käsiteanalyysi ja relaatiomalli

Lähestymistavat - toiminnallinen

Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)

HELIA 1 (17) Outi Virkki Tiedonhallinta

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Ohjelmistojen mallintaminen, mallintaminen ja UML

1. Tarkastellaan seuraavaa kaaviota

Ohjelmistojen mallintaminen luokkamallin laatiminen

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Tietokannan suunnittelu

HELIA 1 (12) Outi Virkki Tiedonhallinta

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Paikkatietojen tietotuotemäärittely

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

Yhteistoimintakaavio (Esimerkki)

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

5. Järjestelmämallit. Mallinnus

Paikkatietojen tietotuotemäärittely

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Ohjelmistotekniikan menetelmät, koe

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

Luonnos eams-rakenteeksi

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

JYVÄSKYLÄN YLIOPISTO Valintakoe s2011 Sivu 1 Tietojärjestelmätieteen opiskelijavalinta. Nimi: Henkilötunnus:

2.1 Sovellusarkkitehtuuri 2.2 Käsitteellinen mallintaminen. Luku 2. Arkkitehtuuri ja analyysi. ITKA204 kevät

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistojen mallintaminen

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Johdanto. Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Yhteentoimiva.suomi.fi - palvelukokonaisuuden ja työkalujen esittely

Ohjelmistojen mallintaminen, kertausta

Ohjelmistojen mallintaminen, mallintaminen ja UML

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Tieto/datamallit. Marttila-Kontio/Unicta Oy

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Käyttötapausanalyysi ja testaus tsoft

Määrittelyvaihe. Projektinhallinta

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Käsitteellinen mallintaminen

Muuttujien määrittely

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

Luokka- ja oliokaaviot

Ohjelmistotuotanto, s

TYÖN OPINNOLLISTAMINEN OPISKELIJAN OHJEET

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

OPS editor - Kuali student vertailu ja vertailun tulokset

MTTTP1 Tilastotieteen johdantokurssi Luento JOHDANTO

1. Tavoitteiden luominen ja tarkentaminen. Tutkinto

Opintosuoritukset. Kaaviokuva

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Palvelusuuntautunut ohjelmistotuotanto Laskuharjoitus 1: Ryhmätöiden alustaminen Toni Ruokolainen,

Ohjelmistotuotanto, s /3/2003

811393A JOHDATUS TUTKIMUSTYÖHÖN

Hyvinvointia työstä Tiina Kalliomäki-Levanto. Työterveyslaitos

1. Johdanto Todennäköisyysotanta Yksinkertainen satunnaisotanta Ositettu otanta Systemaattinen otanta...

TKT50004 Akateemiset taidot, 1 op

Transkriptio:

Tietosisällön kuvaaminen Toteutusvälineistä riippumaton tietosisällön kuvaus Entity-Relationship malliperhe Lähtökohta: Chenin malli vuodelta 1976 Useita muunnelmia, pieniä eroja peruskäsitteissä ja erityisesti esitystekniikassa Mallit keskittyvät tiedon rakenteeseen ja tietojen välisiin riippuvuuksiin ja sääntöihin tiedon käsittelyäkin on mallinnettu, mutta tähän malliin pohjautuvia tietokannanhallintajärjestelmiä ei juurikaan ole tarjolla tarkoitettu suunnittelun apuvälineeksi, ihmisille ei koneille Tietosisällön kuvaaminen ER-mallilla laadittu tietosisällön kuvaus esitetään yleensä graafisena kaaviona kaaviotekniikoissa paljon vaihtelua tällä kurssilla käytetään graafisena esitystekniikkana UML:n luokkakaaviota 1 2 Kohdetyyppi (yksilötyyppi, entity type) määritelmä joukolle samankaltaisia kohteita, joihin liittyviä tietoja halutaan tallentaa tai käsitellä kohteet voivat olla abstrakteja tai konkreettisia Esimerkkejä: kurssi oppitunti kurssisuoritus ilmoittautuminen suunnittelija jäsentää kohdealuetta ja päättää kohdetyypit kohdetyypi (UML kaaviossa) <<entity>> 3 4 Attribuutti (attribute) Kohteiden ominaisuudet esitetään datana kohdetyyppikohtaisten attribuuttien ja niiden arvojen avulla kohteen ominaisuudelle annettu nimi attribuutit määritellään tyyppitasolla = kaikille kohdetyypin kohteille Esimerkkejä kohdetyyppiin liittyvistä attribuuteista: nimi syntymävuosi opiskelun aloitusvuosi pääaine 5 kohdetyyppi: opettaja määrittelee attribuutti: sukupuoli arvojoukko: {M (=mies),n (=nainen),t (=tuntematon)} määrittelee arvon tulkinta sukupuoli=m kuvaus datana 6 Harri Laine 1

Attribuutti: voi olla yksiarvoinen (:syntymävuosi) tai moniarvoinen (opettaja:suoritettu tutkinto) arvo voi olla pysyvä (:syntymävuosi) tai muuttuva (:osoite) voi olla pakollinen (:nimi) tai valinnainen (:puhelinnumero) arvoa voidaan käyttää kohteen identifiointiin (:numero) Attribuutit UML-luokkakaaviossa Opiskelijanumero <<id>> Nimi Syntymävuosi Opiskelun aloitusvuosi Pääaine opettaja Henkilönumero <<id>> Nimi Tutkinto [] 7 moniarvoinen [voitaisiin antaa arvojen määrä Jos se tiedetään esim 1..3] identifiointiin käytettävä 8 Yhteys (relationship) mallintaa kohteiden välistä kytkentää on saanut aikaan kurssisuorituksen oppitunti kuuluu kurssille ilmoittautuminen kohdistuu kurssiin ilmoittautuminen koskee a Tieto yhteyden olemassaolosta tallennetaan datana luento 31.10.07 10-12 salissa B123 kuuluu TIKAPE kurssiin Yhteydet määritellään kohdetyyppien välisinä ja toteutuvat yksilötasolla tyypin kohteiden välisinä Yhteydelle voidaan antaa nimi, samoin osapuolten roolille yhteydessä on saanut aikaan kurssisuorituksen nimi voisi olla suoritus n rooli: suorittaja kurssisuorituksen rooli: kohde 9 10 Yhteydet osallistumisrajoitteilla kuvataan kohdetyypin ja yhteyden välistä suhdetta (rakenteellista sääntöä) miten kohdetyypin kohteet osallistuvat yhteyksiin suoritus rooli suorittaja: voi olla tässä roolissa kytkeytynyt moneen suoritukseen mutta ei välttämättä yhteenkään rooli kohde: kurssisuoritus voi olla tässä roolissa kytkeytynyt vain yhteen an, eli kurssisuorituksella on vain yksi suorittaja. Henkilöllä ------------- 0..1 Matkakohdetta 11 12 Harri Laine 2

Henkilöllä ---------------------- 0..1 Matkakohdetta Matkakohteessa -------1..1 Henkilöä Henkilö 0..1 ------------- 0.. Matkakohde Henkilö 1..1 ------- 0..1 Matkakohde Esim: matkatoimiston kohdevastaava 13 Esim. Matkatoimiston opas 14 Henkilö 0.. ------------- 0.. Matkakohde Henkilö 1.. ------------- 0.. Matkakohde Esim: matkailu 15 Esim: kohteen myynti 16 Yhteydet UML-luokkakaaviossa rooli Yhteydet, joissa molemmat osapuolet saman tyyppisiä suoritus suorittaja kohde 1 0.. kurssisuoritus Kurssi seuraaja edeltäjä on esitietona kurssisuoritus mukana tasan yhdessä yhteydessä (oletusarvo) lla voi olla nolla tai useampia suorituksia ( 0.. on sama kuin ) 17 18 Harri Laine 3

Yhteyksien attribuutit Joissain ER-malliperheen malleissa voidaan myös yhteyksiin liittää attribuutteja henkilön ja yhdistyksen väliseen jäsenyysyhteyteen voitaisiin liittää attribuutti alkamisaika henkilö yhdistys Alisteiset kohdetyypit (weak entity type) Kohteet voivat olla riippumattomia tai alisteisia jollekin toiselle kohteelle. Alisteinen kohde on olemassaoloriippuva alistavasta kohteesta. Alistettu kohde on koko olemassaolonsa ajan kytkeytyneenä yhteyden kautta samaan kohteeseen. huone alisteinen rakennukselle kurssisuoritus alisteinen lle kurssisuoritus alisteinen kurssille jäsenyys alkamisaika 19 20 Alisteiset kohdetyypit ja alistussuhteet UMLluokkakaaviossa Sisältyvät kohdetyypit rakennus kurssi henkilö sisältyvyys, eli jokainen nainen on myös henkilö huone kurssisuoritus johtaja nainen 21 22 Tietosisällön analysointi Määrittelyprosessi Kokonaisvaltainen lähestymistapa: pyritään löytämään kerralla koko tietosisältöä kuvaava malli hankalaa, jos kohdealue on laaja ensin karkea yleiskuva, sitten lisää yksityiskohtia Tietokohteet ryhminä, joita sitten tarkennetaan Osista kokonaisuuteen: jaetaan kokonaisuus osiin ja tehdään osakohtaisia malleja, jotka sitten yhdistetään kokonaismalliksi osa voisi olla jonkin käyttötapauksen tietosisältö Edetään alhaalta ylös yksityiskohdista yleiskuvaan Yhdistelyn ongelmat (homonyymit, synonyymit, mallintaminen eri tavoin) Kartoita tietokohde-ehdokkaita. Karsi ehdokkaita. Tunnista tietokohteiden väliset yhteydet. Täsmennä kohdekuvauksia määrittelemällä attribuutit ja niiden arvojoukot. Määrittele yhteyksiin liittyvät osallistumisrajoitteet. Tarkista onko määritelty tietosisältö tarkoitukseensa soveltuva, täydennä 23 24 Harri Laine 4

Kohteiden kartoitus Laadi luettelo tarkasteltavan ilmiön kannalta keskeisistä kohteista tai ilmiöistä, jotka voisivat tulla kyseeseen tietokohteina: toimintaan osallistujat, toiminnan kohteet, toimintaan liittyvät tapahtumat, materiaalit, tuotteet ja välituotteet, toiminnalle edellytyksiä luovat asiat. Tekstianalyysi kartoitustapana Kartoituksen pohjana voi käyttää vapaamuotoista tekstikuvausta tarkasteltavasta ilmiöstä. Kuvauksesta alleviivataan tietokohde-ehdokkaita ja kerätään ne luetteloon. Ehdokkaat esiintyvät kuvauksessa usein subjekteina tai objekteina. Verbit voivat ilmaista yhteyksiä, samoin genetiivit. Alustavaa karsintaa voi tehdä sen perusteella, onko asia lainkaan oleellinen mallinnettavan ilmiön kannalta. Yksinkertaista, mutta toimivaa käytännössä kuitenkaan tekstikuvausta ei ole tiedot pitää kaivaa esiin haastattelemalla ja tutustumalla erilaisiin dokumentteihin >>> Katso suunnitteluistunnon nauhoitus verkkomateriaalista 25 26 Analysoi kartoituksen tulosta Löydetyt ehdokkaat käydään läpi ja arvioidaan sopiiko ehdokas tietokohteeksi Liittyykö kohteeseen tietosisältöä, joka on välttämätöntä järjestelmän kannalta yleensä pitäisi olla useita attribuutteja Tarvitaanko tietoa kohteiden olemassaolosta? Onko asia riittävän tärkeä kohdealueen kannalta? Eroon synonyymeistä Karsintaa ja ehdokkaiden kartoitusta voidaan joutua tekemään iteratiivisesti. Ensimmäinen karsintakierros ei välttämättä tuota lopullista tulosta. Määrittele yhteydet Yhteyksiä kohteiden välille voi etsiä vapaamuotoisesta kuvauksesta: verbit genetiivit muut ilmaukset, jotka kuvaavat kytkentää Yhteyksienkin suhteen tulisi miettiä onko yhteys oleellinen tarkasteltavan ilmiön kannalta? onko se rakenteellinen? (vallitseva asiaintila) Ei pitäisi jäädä irrallisia kohteita Asia pitäisi esittää vain kertaalleen: johdettavissa olevat yhteydet karsitaan tai merkitään Älä piilota yhteyksiä attribuuteiksi! 27 28 Määrittele attribuutit Attribuutteja saattaa löytyä vapaamuotoisesta kuvauksesta. Yleensä niiden löytäminen edellyttää lisäselvityksiä kohdealueesta, esimerkiksi toiminnan osapuolten haastatteluja. Attribuuttien kohdalla pitäisi myös selvittää, mihin niitä tarvitaan. Ja uudelleen: Älä piilota yhteyksiä attribuutteihin! Selvitä yhteyksiin liittyvät rajoitteet Osallistumisrajoitteiden avulla ilmaistaan rakenteellisia sääntöjä. Säännöt eivät välttämättä tule esiin vapaamuotoisessa kuvauksessa, vaan edellyttävät tarkempaa kohdealueen analysointia. 29 30 Harri Laine 5

Eräitä mallinnusongelmia Tietoon liittyvät metatiedot, Esim. Työntekijän palkka Jos halutaan tietää vain nykyinen palkka voidaan palkka määritellä työntekijän attribuutiksi (a) Jos halutaan säilyttää pakkahistoria, asia tulee hankalammaksi, palkan nauttiminen onkin mallinnettava tietokohteeksi, johon liittyy attribuutteja (b) Henkilö palkka (a) Henkilö (b) Henkilön palkka Palkka Alku_pvm Loppu_pvm 31 Harri Laine 6