12 Dokumenttiluokkien suunnittelusta

Koko: px
Aloita esitys sivulta:

Download "12 Dokumenttiluokkien suunnittelusta"

Transkriptio

1 Dokumenttiluokkien suunnittelusta 12 Dokumenttiluokkien suunnittelusta XML-sovellusten suunnittelun keskeinen ja toistuva osaalue on dokumenttiluokkien (tai XML-tekstiformaattien) suunnittelu. Työn kärjistetty (ja nyt tarkoituksella rajattu) lopputulos on XML DTD tai XML-skeema. Dokumenttityypin abstrakti tehtävä on määrittää rajapinta jonka sovellus sitten tavalla tai toisella toteuttaa. Tyyppimäärityskiel(t)en yksinkertaisuudesta huolimatta hyvän dokumenttiluokan suunnittelu on ei-triviaali tehtävä, aihepiirin kytköksistä johtuen (osaprj). Hyvä tyyppimääritys mallintaa sovelluksen keskeisen tiedon järkevästi jäsennettynä, toimii sekä teknisen kirjoittamisen että sovellusohjelmoinnin näkökulmasta (std-ratkaisut ja välineet huomioiden), ja tarjoaa puitteet tuleville laajennuksille. Suunnittelutehtävä helpottuu esim. visuaalisten apuvälineiden käytöllä. MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 223

2 Dokumenttiluokkien suunnittelusta 12.1 Suunnittelutehtävän reunaehdoista Rakdok-suunnittelu käynnistyy yleensä selvitystyöllä joka pyrkii jäsentämään tehtävän osana olemassa olevaa sovellusperhettä Hyvin yleisellä tasolla, dokumenttityypin tietomallin määrittelyn pitää asettaa ainakin - tavoite ja käyttötapa - tarkkuus (granulariteetti) - sovellusala Onnistumisen avain = hyvä sovellusalueen ja välineiden tuntemus MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 224

3 Dokumenttiluokkien suunnittelusta 12.2 Systemaattisuudesta ja menetelmistä (1/2) Mikäli suunnittelukäytäntö on epäselvä, seurauksena on ikäviä ongelmia: - tekijätiimin huonomuistisuus aiheuttaa virheitä ja tehottomuutta (samaa jauhetaan kerrasta toiseen ja ratkaisut keksitään aina uudelleen) - tavoitteet ja tulokset ovat epäselviä ja muuttuvat huomaamatta matkalla - oikeita kysymyksiä ei huomata kysyä oikeina aikoina tai unohdetaan kokonaisia työvaiheita (tyypillisesti dokumentointi, raportointi ja korjaukset) - suunnitteluprosessin seuraaminen on hankalaa ja tehtyjen päätösten vaikutusten arvioiminen jälkikäteen (ja esim. työstä oppiminen!) vaikeaa MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 225

4 Dokumenttiluokkien suunnittelusta 12.3 Systemaattisuudesta ja menetelmistä (2/2) Systemaattisen suunnittelun idea on soveltaa kuvaustekniikoita ja hyviä käytäntöjä kirjaavia toimintatapoja: - yhtenäinen kieli ja käsitejärjestelmä jonka avulla esittää suunnitelmia ja keskustella niistä - selkeä malli suunnitteluprosessin toteuttamiseksi ja kirjaamiseksi - muistilistoja joiden seuraaminen varmistaa pahimpien sudenkuoppien välttämisen työn eri vaiheissa - esimerkkejä joista ottaa mallia työn suorittamiseksi käytännössä Menetelmien jaottelusta: vapaamuotoiset (informaalit) menetelmät (esim. seinätaulut), puoliformaalit menetelmät (esim. UML+RUP), formaalit menetelmät (tiedon ja käyttötapausten looginen kuvailu) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 226

5 Dokumenttiluokkien suunnittelusta 12.4 Systemaattisen työn vaiheet Kaikentyyppinen projektityö hyötyy seuraavien hyväksi havaittujen työvaiheiden mukaisesta jäsennyksestä (kärjistys) a) esitutkimus (mitä tehdään/onnistuuko edes/mitä pitää tietää) b) määrittely (mitä ajetaan takaa/keskeiset tavoitteet/reunaehdot) c) suunnittelu (miten tavoitteeseen päästään) d) toteutus (tyyppimäärityksen kirjoittaminen ja dokumentointi) e) testaus (toimiiko todella kuten ajateltiin/otetaanko käyttöön) f) korjaus (jos ja kun ei mennyt kuin elokuvissa) Iteratiivinen kehitys jäsentää vaiheet yhden iterat. kehitysaskeleen sisäisiksi välivaiheiksi, pienissä projekteissa osa-alueet sulautuvat Conceptualisation Problem Problem-solving Solution Inception Elaboration Construction Transition Development Cycle Realisation Product Generation MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 227

6 Dokumenttiluokkien suunnittelusta 12.5 Riskeistä Työn tyypillisimpiä riskejä ovat (kohde)sovelluksen heikko tuntemus ja epärealistisuus tavoitteiden suhteen (lue: liian nopea eteneminen) - määrittelytekniset riskit (keskeistä tietoa tai tavoitteita ei huomioida määrittelyvaiheessa, tavoitteissa ei huomioida tekniikan rajoituksia [yleensä hankalan toteutuksen hintaa]) - poliittiset riskit (piilotavoitteet, katteettomat lupaukset ja sitoutumattomuus, yliampuva markkinointi, erit. "X[ML] viisasten kivenä") - osaamiseen liittyvät riskit (asiakas vs. toimintaympäristö vs. toteuttajat) - teknologiaan liittyvät riskit (esim. kypsyys ja välineiden puutteet) Terve järki ja maanläheisyys auttavat riskien arvioinnissa; tyypillinen virhe on "sanella itse sisältöä ja antaa asiakkaan sanella toteutustekniikkaa" (liikaa) Hyvässä projektissa "luovuus valjastetaan hallittujen osatehtävien puitteisiin" MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 228

7 Dokumenttiluokkien suunnittelusta 12.6 Suunnittelun kulmakivi: systemaattinen kokeileminen Kun sisällöllinen tavoite on haarukoitu, suoraviivainen tapa lähteä liikkeelle (dokumenttiluokan) suunnittelussa on esimerkki- ja testiaineiston tuottaminen (vrt. protoilu). Käytännössä esim. dokumentteja joiden avulla... - ideoidaan tietomalli (abstrahointi ja tietorakenteiden suunnittelu) - suunnitellaan tuotanto- ja ylläpito- ja hallintaprosessit - testataan ja varmennetaan tekniikat tavoitteeseen pääsemiseksi -...ja luodaan keskusteluyhteys eri toimijoiden välille Huomaa että KYSE EI OLE DOKUMENTIN TYYPPIMÄÄRITTELYN KIRJOITTMISEST VN DOKUMENTTITYYPIN J TÄHÄN LIITTYVIEN VÄLINEIDEN SUUNNITTELUST OSN TIEDON HLLINTPROSESSIN J SEN REUNEHTOJEN SUUNNITTELU MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 229

8 Dokumenttiluokkien suunnittelusta 12.7 Hyviä huomioita Miten ja millä välineellä dokumenteista löytyvä tieto tuotetaan ja käsitellään? - tietokoneohjelma tuottaa/ tekninen kirjoittaja tuottaa/ kadunmies tuottaa -...ts. tarvitaanko "psykologista suunnittelua", virheiden minimointi, yms. Mikä on yksinkertaisin tietomalli joka ratkaisee ongelma (suunnittelun miniperiaate)? - pieni on kaunista (kunhan laajennettavissa) - on helppoa suunnitella "liian rikas" tietomalli jonka avulla saavutettavat (lisä)hyödyt ovat minimaalisia suhteessa haittoihin (esim. kustannukset, ymmärrettävyys, lipsuminen [vrt. TS]) Staattisen vs. dynaamisen tietomallin suunnittelu - järjestelmän objektien tyypit (tietosisällöt), ominaisuudet ja suhteet vs. informaatiovirrat systeemin eri osien välillä MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 230

9 Dokumenttiluokkien suunnittelusta 12.8 Suunnittelun lopputuotteista (ei pelkkä DTD) Tietomalli/skeema (kuvaileva tieto tyyppimäärityskielen avulla esitettynä) - päätason elementtihierarkia (rakenne-elementit) - mielekkäät tietokokonaisuudet / yhden tapahtumankäsittelijän tarvitsemat tiedot (tietue-elementit) - tietueiden sisältö (dataelementit) Informaali ohjeistus, (lisä)rajoitteet ja reunaehdot name - käyttöohje käyttöesimerkkeineen (sis. keskeisesti tavoitellut käyttötapaukset) - mahdollisia lisävaatimuksia (joiden formalisointi ei kenties onnistuisi valitulla tyyppimäärityskielellä järkevästi) music * album Kärjistetysti: data vs. dokumenttilähtöisen mallintamisen ero on tapa jolla tietue-elementit ovat viitattavissa/saatavilla (ts. löytyykö "päätasoa" ylipäänsä, tietue-elementtien "itseriittoisuus", kuvailu- ja metatiedot,...) tracks * track MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 231

10 Dokumenttiluokkien suunnittelusta 12.9 Suunnittelun visuaalisista apuvälineistä Dokumenttiluokan suunnittelu onnistuu teknisesti suoraan DTD/Skeemakielen varassa Erilaiset mallinnus- ja kuvailukielet tulevat mukaan projektin kasvaessa täsmällisyys ei kuitenkaan tarkoita "formaalin näköistä" Nyt tarkastellaan yksinkertaisuuden vuoksi vain (DTD-) suunnittelun visuaalisia apuvälineitä Tarkoituksena on nyt luonnehtia suunnittelun apuvälineitä hyvin yleisellä tasolla; käytännössä notaatio vaihtelee välineittäin, valitun tyyppimäärityskielen mukaan Huomaa suunnitteluperspektiivit notaation suhteen (conceptual-specification-implementation) name music lang: xsd:language * album id: xsd:id year: xsd:date /TEXT #PCDT tracks * track len: xsd:duration /TEXT #PCDT MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 232

11 Dokumenttiluokkien suunnittelusta Esimerkkejä: Epic Editor & XML Spy Schema Editor MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 233

12 Dokumenttiluokkien suunnittelusta Rakennediagrammit (1/2): idea Rakennediagrammin idea on kuvata elementin tietomalli automaatin avulla - vrt. oheinen automaatti R R: B tunnistaa (hyväksyy) kielen F B D E (B+ C)DE[FG] sanat Kyse on hyvin matalan tason G C välineestä (esim. sieventäminen) Vastaavuus säännönmukaisten kielioppien (vrt. DTD) kanssa on ilmeinen () ( B) B (,B) B MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 234

13 Dokumenttiluokkien suunnittelusta Rakennediagrammit (2/2): notaatio ja rakenteet Kertojat (*, +,?), lyhennemerkintöjen määrittely (esim. &), ositetut rakennediagrammit Käytännössä käyttö nykyään melko vähäistä, mutta hyvä ymmärtää (+) BODY (*) HTML: HED (?) FRMESET HED: TITLE MET B "&B" ~ ((,B) (B,)) B MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 235

14 Dokumenttiluokkien suunnittelusta Puudiagrammit (1/6): idea Puudiagrammin idea on kuvata dokumentin (yleensä geneerinen) tyyppimääritys tiivistetysti puumuodossa Visuaalisuuden keskeinen etu on tietomallin "näkeminen" kokonaisuutena; vrt. elementtien teknisten tyyppimäärittelyjen "lukeminen" Käytännössä tyyppimääritykset ovat suuria diagrammiesityksiä piirretäänkin siis esim. päätason ja tietue-elementtien tasoilla (eri kuvina) Pääpaino on usein elementtirakenteissa; attribuutit jätetään toisinaan kokonaan merkitsemättä Johtuen esim. tyyppimäärityskielten eroista, diagrammien ja vaikkapa DTDtyyppimäärityskielen välillä ei (automaattisesti) ole 1:1-suhdetta Seuraavaksi tarkastellaan ELM-puudiagrammeista (Enables Lucid Modelling) ja UML:stä (Unified Modelling Language) johdettua notaatiota MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 236

15 Dokumenttiluokkien suunnittelusta Puudiagrammit (2/6): notaatio Käytössä on useita vaihtoehtoisia notaatiota; tärkeintä on tietenkin systemaattisuus ja album selkeys Huom. Nyt rajoitutaan DTD- tyyppimääritystä toisintavaan notaatioon; käytännössä esim. ID/REF - viittausrakenteet ja periytyminen id: xsd:id year: xsd:date name /TEXT #PCDT tracks * track len: xsd:duration /TEXT #PCDT suunnitellaan esim. UML:n luokkasuunnittelun mukaan (esim. association) name #PCDT album tracks * track #PCDT name type: xsd:pcdt id: xsd:id year: xsd:date id: xsd:id year: xsd:date len: xsd:duration album type: albumtype id: xsd:id year: xsd:date tracks type: trackstype id: xsd:id year: xsd:date * track type: xsd:pcdt len: xsd:duration MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 237

16 Dokumenttiluokkien suunnittelusta Puudiagrammit (3/6): perusrakenteita Ohessa ELM-puudiagrammien (rekursiivinen) syntaksi XML-DTD:n mukaan esitettynä; Puun haaroihin voidaan liittää myös kertojia *, + tai? (korvaa merkki ' ' kertojalla) B C B C <!ELEMENT (B)> Notaatiota on helppo laajentaa (vrt. {4,7}); tämä mahdollistaa monimutkaisten DTD-määritysten sieventämisen suunnitteluvaiheessa B <!ELEMENT (B,C)> C <!ELEMENT (B C ) > <!ELEMENT (B C)> B C <!ELEMENT (B,C ) > MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 238

17 Dokumenttiluokkien suunnittelusta Puudiagrammit (4/6): perusrakenteita Mahdollista on sopia myös kiinteästi DTD:hen liittyvä notaatio (tyhjät elementit, yhdistelmäsisältöiset elementit [mixed]) Notaatio sallii myös ositetut, luonnokset sekä entiteetein paloitellut tyyppimäärittelyt <!ELEMENT EMPTY> (REF) kuvaus jatkuu toisaalla #PCDT <!ELEMENT (#PCDT)> "TEKSTIÄ" elementin sisältö kuvataan vapaamuotoisesti (suunnittelu kesken tms.) B #PCDT <!ELEMENT (#PCDT B)*> B * eclass elementtiluokkaan eclass viitataan entiteetin avulla: <!ELEMENT (B,(%eclass;))> MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 239

18 Dokumenttiluokkien suunnittelusta Puudiagrammit (5/6): attribuuteista B id: xsd:id val[0..1]: CDT C col: (RED GREEN) = RED desc: CDT = "ed"? D idname[0..1]: ID tref: IDREF id=id val=cdt? desc=cdt("ed")? B C col=(red GREEN) D idname=id? tref=idref <!ELEMENT (B C)> <!TTLIST id ID #REQUIRED val CDT #IMPLIED> <!TTLIST C col (RED GREEN) "RED"> <!ELEMENT (D?)> <!TTLIST desc CDT "ed"> <!TTLIST D idname ID #IMPLIED tref IDREF #REQUIRED> MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 240

19 Dokumenttiluokkien suunnittelusta Puudiagrammit (6/6): muuta Kuten rakennediagrammien tapauksessa, lyhenne- ja lisämerkintöjä on helppo keksiä lisää Lisämerkinnät kuitenkin vain kuorruttavat notaatiota, sieventäen alla olevan skeemakielen syntaksia {1,3} 3+ B C B C <!ELEMENT (((B (B,B)) (B,B,B)),C,C,C+)> :n malli on B&C ~ <!ELEMENT ((B,C) (C,B))> MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 241

20 Dokumenttiluokkien suunnittelusta Lopuksi Rakenteisia dokumentteja (kuvailevia tietorakenteita) hyödyntävän sovelluksen suunnittelu on tehtävänä erittäin yleinen ja esiintyy kaikessa tietojenkäsittelyssä Projekti ei tietenkään voi onnistua ilman yhteistyötä eri sidosryhmien kanssa - muodollinen tilaaja ja asiakkaan edustaja(t), toteutusprojektin ohjausryhmä - loppukäyttäjät - sovelluksen sisällön asiantuntijat - sisällöntuottajat ja tekniset kirjoittajat - toteutuksesta vastaavat suunnittelijat - testaajat...esitystapa ja kommunikaatio, tiedolliset ja taidolliset valmiudet, (piilo)tavoitteet MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 242

21 Pieni suunnittelutehtävä 13 Pieni suunnittelutehtävä Tehtävänanto: Tarvitaan yleiskäyttöinen sovellus (sis. XML-tekstiformaatin) joka tuottaa pylväsdiagrammeja SVG-formaatissa (vrt. harjoitus 12) Reunaehtoja: perusgrafiikan vaatimukset, samaa suunnittelua tulisi voida käyttää pohjana myös muissa esitysgrafiikan sovelluksissa, huokea toteutus, jne. Tarkastellaan seuraavaksi "erästä" suunnitteluprosessia ja -ratkaisua. Tarkoitus on herätellä lähinnä ideoita, nyt sovellus on lähes triviaali joten erilaisten suunnitteluratkaisujen seuraamukset on melko helppo "nähdä". MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 243

22 Pieni suunnittelutehtävä 13.1 Ensimmäinen mieleen tuleva ratkaisu... (?) Kerätään/analysoidaan toteutukseen tarvittavat perustiedot - otsikko, palkin korkeus, palkin väritys, nimilappu, ideoita käytöstä Koodataan kaikki mikä mieleen juolahtaa yhteen tiedostoon: <bar-set title="dire Straits"> <bar height="80px" fillcol="blue" linecolor="red"=>down to the waterline</bar> <bar height="120px" fcolor="blue">water of love</bar>... </bar-set> Huonoa: - tietosisältö ja esitystapa sekoittuneet, kuvapinnan koon esitys huono - liian spesifi tietorakenne ("tietää liikaa käyttötarkoituksestaan"), hankala laajentaa, miinusmerkki nimessä saattaa (turhaan) aiheuttaa pulmia ohjelmoinnissa, jne. MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 244

23 Pieni suunnittelutehtävä 13.2 Parempi ratkaisu (1/4): tietorakenne Yleistetään tietorakenne ja irrotetaan ulkoasu <dataset xml:lang="en" class="viewport" type="value_label_pairs"> <desc> <title class="title">dire Straits</title> </desc> <item class="generic_bar"> <values> <value desc="3:59">3.98</value> <!-- onko hyvä ratkaisu? --> </values> <label>down to the waterline</label> </item>... </dataset> Huono: aluksi kömpelömpi kirjoittaa(?). Hyvää: - kertoo "vain" tietosisällöstä (class-attribuutit), helppo laajentaa sekä kuvailutiedon (esim. desc-lisäosat) että datan osalta (vrt. plotmatic) - sis. valinnaisia osia (esim. lisää kuvauksia, class-attribuutit pois) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 245

24 Pieni suunnittelutehtävä 13.3 Parempi ratkaisu (2/4): tietomalli (muttei "paras") Säiliöelementtien etuja (esim. desc ja values): - mahdollisuus tuoda laajennuksia rakenteeseen ilman että viitaus sisältöön menee sekaisin (esim. descin sisään tieto numeroarvojen tyypeistä) - xml:lang ja classattribuuttien voidaan ajatella periytyvän jälkeläisille desc title class[0..1]: CTYPE /TEXT #PCDT - joskus säiliöt mallintavat konkreettisia objekteja (so. "sisältötiedon" poistaminen ei saa hävittää tietoa itse säiliöstä) dataset type: DTYPE xml:lang: xsd:language class[0..1]: CTYPE values desc: CDT class[0..1]: CTYPE * value desc: CDT class[0..1]: CTYPE /TEXT #PCDT * item class[0..1]: CTYPE label class[0..1]: CTYPE /TEXT #PCDT MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 246

25 Pieni suunnittelutehtävä 13.4 Parempi ratkaisu (3/4): ulkoasu & ratkaisun iterointia Esitystavan määrittely konfiguraationa (vaihtoehtoisesti kytkimin) <presentation type="bar_diagram"> <viewport_size width="200" height="200"> <dataset="ds-data.xml" /> <stylesheet="bars.css" type="text/css"/> </presentation> CSS-tiedostoksi kelpaa mikä tahansa SVG:n kanssa toimiva CSS-tiedosto Kysymyksiä ja kehitettävää - tarvitaanko datalle yksikkö (laskuja ja esitystä varten)? formalisoidaanko esitystapa tarkemmin? (nythän ei kirjattua tietoa esim. sommittelusta) - onko datan tyypin ja esitystavan tyypin esitys riittävän selkeä, tarvitaanko formalisointi (todennäköisesti ei, voidaan ohjeistaa että value_label_pairs - tyyppinen datajoukko sopii bar_diagram-tyyppiseen esitykseen) - nimet ja termit! (desc...) rakenteiden viilaus, viittaukset, nimiavaruus? MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 247

26 Pieni suunnittelutehtävä 13.5 Parempi ratkaisu (4/4): prosessin suunnittelu Julkaisuprosessin hahmotelma näyttäytyy käytännössä yhtenä suunnittelun reunaehtona (luvut voidaan nyt löyhästi tulkita esitutkimuksena) XSL-muunnoksen helpottamiseksi (ja nopeuttamiseksi) voidaan tuottaa d2svgbars.xsl esim. aputiedosto stats.xml: <stats maxvalue="5.2" items="9" /> Sovelluksen sisäiset välivaiheet on taas helppo kapseloida tyyliin barmatic Huomaa miten esim. "tyylejä" esiintyy sovelluksessa eri rooleissa Tarvitaan tietenkin vielä toteutus... bars.css pres.xml dataset.xml Statistics.py XSLT-pros. stats.xml out.svg MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 248

27 Pieni suunnittelutehtävä 13.6 Huomautuksia Nyt sovellus on tarkoituksella niin yksinkertainen että tyydyttävä ratkaisu on "nähtävissä suoraan" (ja ideointi on helppoa): näin ei tietenkään aina ole Nyt käytännössä tarvittiin kuitenkin jo mm. - substanssiosaamista (pylväsdiagrammit ja niiden käyttö esim. music-sovelluksessa, ideoita järkevistä laajennuksista, esim. PlotMatic) - SVG ja CSS-teknologioiden osaamista - XML-sovellusohjelmointiin liittyvää osaamista (esim. XSLT ja DOM2) - ymmärrystä tietojenkäsittelystä (rakenteiset dokumentit ja tiedon mallintaminen prosessoinnin näkökulmasta) - "XML-osaamista" (mutta <tag/>-osaaminen ei riitä mihinkään!)...jota ilman tehtävän toteuttaminen ei ilmeisestikään olisi onnistunut MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 249

28 Kohti suunnittelijan muistilistaa 14 Kohti suunnittelijan muistilistaa Projektin se-ja-se suunnittelutehtävä on erittäin konkreettinen, useita erilaisia taitoja, tilannetajua ja luovuutta vaativa prosessi. Suunnittelu sinänsä on kuitenkin abstrakti prosessi josta on periaatteessa helppo puhua teoriassa. Kuten tavallista, todellinen haaste piilee eri tarkastelutasojen toimivassa yhdistämisessä (ja harjaantuneisuudessa). Seuraavassa tarkastellaan tietorakenteiden suunnittelua yksityiskohtaisella tasolla ja dokumenttityypin suunnitteluprosessia yleisellä tasolla, suunnittelumallien tavoin. Tarkoituksena on lähinnä nostaa esille merkillepantavia asioita yksinkertaisen muistilistan hengessä. MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 250

29 Kohti suunnittelijan muistilistaa 14.1 Kuvaileva merkkaus & tiedon luokittelu (1/2) (Tiedon hallintaprosessin kontekstissa) dokumenttityypin suunnittelussa tulee vastaan kolmentyyppistä tietoa: - (sovelluksen keskeinen) asiasisältö (content), (asiasisällön koodaus)rakenne (structure) ja esitystapa (presentation) Esimerkkejä (ideoita saattavat vaihdella sovelluksissa merkittävästikin) - osoite, katu, koneen osanumero, myyntiartikkelin lukumäärä, hinta, erisnimi, kuvaus, tietokoneohjelman komento, kakkureseptin raaka-aine, paistolämpötila - luku, kappale, lista, luettelo, taulukko, palsta, metodi, luokka, säiliö, joukko, relaatio - tietyn näköinen elementti, kirjasimella Y merkitty kappale, koristekuva, vaakaviiva, sivunvaihdon merkitsevä elementti, varjostus, vakioteksti, logo, sivunumero, kaavion tai tekstiluvun numero MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 251

30 Kohti suunnittelijan muistilistaa 14.2 Kuvaileva merkkaus & tiedon luokittelu (2/2) Rakenteisten dokumenttien suunnittelun nyrkkisääntöjä - rakenne-tyyppisten elementtien avulla sisällöistä jäsennetään tietueita -...joita edelleen ryhmitellään päätasolla (dokumenttilähtöinen suunnittelu) -...tai rakenne-tyyppisiä tietoja käytetään tietue-elementtien kuvailuun (datalähtöinen suunnittelu) - esitystapa-tyyppisiä elementtejä/tietoja ei sekoita muiden kanssa vaan otetaan käyttöön "tyylimääritysten" muodossa (se, että tämä todellakin onnistuu pitää etukäteen tietenkin tutkia, testata ja dokumentoida) Erityisen suurta huomiota kannattaa kiinnittää: - kuvaavien nimien keksimiseen (sovellusalueen "luonnolliset" nimet) - yleiskäyttöisten rakenteiden suunnitteluun (hyvät perusideat toistuvat) - viittausrakenteisiin (identifiointi/avaimet), määrittelyn systemaattisuuteen MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 252

31 Kohti suunnittelijan muistilistaa 14.3 Rakenteiden päälinjoja (1/5): geneerisyys Sopimaton tietorakenne hankaloittaa sekä tiedon tuottamista, hallintaa että sen hyödyntämistäkin Rakenteiden suhteen joudutaan yleensä suorittamaan perusvalinta merkkauksen sisältöspesifisyyden tai pelkän rakenteellisen yhtäläisyyden välillä (esimerkkejä seuraa lisää tuonnempana): - runkona sisällön mukaan nimetyt elementit (content-based model) - runkona rakenteen mukaan nimetyt elementit (structure-based model) Esimerkki: sisältöspesifisyys vs. geneerisyys: <!ELEMENT BOOK (BSRCT,INTRODUCTION,TERMS,THEORY,MODEL, PPLICTION,REFINEMENT,RESULTS,DISCUSSION,REFS)> <!ELEMENT BOOK (BSTRCT,SECTION+,REFS)> <!TTLIST SECTION TYPE CDT #IMPLIED> MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 253

32 Kohti suunnittelijan muistilistaa 14.4 Rakenteiden päälinjoja (2/5): joustavuus Suunnittelukriteerinä voidaan pitää myös annetun rakenteen jäykkyyttä tai joustavuutta: - (lähes) kaikkien elementtien kirjoittaminen pakollista (rigid model) - pakollinen elementtijoukko on pieni (flexible model) Esimerkki: jäykkyys vs. joustavuus <!ELEMENT BOOK (BSRCT,INTRODUCTION,TERMS,THEORY,MODEL, PPLICTION,REFINEMENT,RESULTS,DISCUSSION,REFS)> <!ELEMENT BOOK (BSRCT,INTRODUCTION?,TERMS?, (THEORY EXMPLES),MODEL,PPLICTION*, REFINEMENT*,RESULTS,DISCUSSION?,REFS?)> Strategian määräävät tietenkin työn reunaehdot (esim. yhteensopivuus legacy-sovellusten kanssa, aidosti pakolliset tiedot, tekn. kirj. laiskuus) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 254

33 Kohti suunnittelijan muistilistaa 14.5 Rakenteiden päälinjoja (3/5): yhdistelmäsisältöisyys Tyypillinen tilanne, jossa jäykkyyden ja joustavuuden välille vedetään selkeä raja on (matalan tason suunnittelu)päätös mixed/children element content - tyyppisten mallien välillä Esimerkki: yhdistelmäsisältöinen tietomalli vs. elementtiperustainen tietomalli <!ELEMENT PRG (#PCDT EM NOTE QUOTE)*> <!ELEMENT PRG ((EM? (QUOTE,NOTE)?),TEXT)*> <!ELEMENT TEXT (#PCDT)> Huomaa rakenteiden ja ohjelmallisen käsittelyn erot (yhdistelmä on tietomallina hyvin salliva) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 255

34 Kohti suunnittelijan muistilistaa 14.6 Rakenteiden päälinjoja (4/5): eksplisiittisyys Valinta joudutaan tekemään myös (meta)tiedon eksplisiittisen esittämisen ja kokoamisen suhteen: - kerätäänkö (meta)tietoa valmiiksi omiksi elementeikseen (eksplisiittinen ratkaisu) - vai koostetaanko (meta)tieto sieltä täältä dokumenttia vasta tarvittaessa (implisiittinen ratkaisu) Käytännössä dokumentin tiedoista osa on implisiittisessä muodossa (vrt. puurakenteen hyödyntäminen); määräävä tekijä on yleensä tilantarve vs. käsittelyn tehokkuus Esimerkki: henkilön isoäidin nimen päättely vs. auki kirjoittaminen <PERSON NME="Jack" MOTHER="Jill"/> <PERSON NME="Jill" MOTHER="Judith"/> <PERSON NME="Jack" MOTHER="Jill" GRNDMOTHER="Judith"/> <PERSON NME="Jill" MOTHER="Judith"/> MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 256

35 Kohti suunnittelijan muistilistaa 14.7 Rakenteiden päälinjoja (5/5): rekursiivisuus Hierarkkisten elementtirakenteiden syvyyteen joudutaan yleensä ottamaan myös kantaa. Vaihtoehtoja ovat - rekursiiviset elementtimallit (recursive) - lapsielementit luettelevat elementtimallit (specified) Esimerkki: rekursio vs. kiinteä hierarkia <!ELEMENT BOOK (SECTION)> <!ELEMENT SECTION (SECTION+ CONTENT)> <!ELEMENT BOOK (SECTION)> <!ELEMENT SECTION (SUBSECTION+ CONTENT)> Rekursion käytön (käytännölliset) perusteet kannattaa miettiä huolella sukutiedot * henkilö sotu: ID nimi: CDT äiti: IDREF isä: IDREF...koska käytännössä voi olla järkevää rakentaa esim. relaatiomainen tietorakenne jonka käsittely on rekursiivista (vrt. sukupuu) * lapsi sotu: IDREF toinen-vanhempi: IDREF MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 257

36 Kohti suunnittelijan muistilistaa 14.8 Elementit vs. attribuutit (1/2) Suunnittelun konkreettinen pulma on tiedon jakaminen järkevästi elementeiksi ja attribuuteiksi Jako on osin mielivaltainen, nyrkkisääntöjä: - elementit ovat konkreettisia (ja keskeisiä) objekteja joiden ominaisuuksia attribuutit luonnehtivat - toisinaan auttaa ajatus jonka mukaan "dokumentti on luettavissa ilman tageja" (SGML-filosofia) Elementtien tyypillisiä ominaisuuksia: - hierarkkisuus, kertojat, paljon tekstiä, paloiteltava osiin (entiteetit), kirjoitetaan tekstieditorilla ttribuuttien tyypillisiä ominaisuuksia: 1788, Chekov - määre, oletusarvot, vähän tekstiä, annetaan Ominaisuudet-dialogin avulla MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 258

37 Kohti suunnittelijan muistilistaa 14.9 Elementit vs. attribuutit (2/2) Tiedon jako elementteihin ja attribuutteihin riippuu lopulta esim: - jo vakiintuneista käytännöistä - merkkauskäytännöstä esitetyistä toiveista (esim. joskus kaikki tieto halutaan esittää elementteinä) - dokumenttien käsittelyn tekniikkaan liittyvistä rajoitteista (esim. CSS1 ei osaa esittää attribuutteja) - XML-määritysten sisäisistä suunnitteluvalinnoista (esim. XML DTD:n avulla voidaan elementille sallia mv. määrä lapsielementtejä mutta ei attribuutteja ja jäsentämätöntä dataa käsitellään aina attribuutteihin liitettävien entiteettiviittausten perusteella) - työkaluohjelmistojen rajoitteista (esim. ohjelma se-ja-se ei osaa käsitellä kaikentyyppistä attribuuttitietoa oikein) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 259

38 Kohti suunnittelijan muistilistaa Vielä säiliöelementeistä Elementtien ja attribuuttien selkein ero mallinnuksessa on hierarkkisuus Tärkeä elementtien "erikoistapaus" ovat ns. säiliöelementit (container) Tarkastellaan esimerkkiä - säilytetään tietoja tarvikkeista ja niiden sijainneista varastoissa - miten varaston tietojen käy tarvikkeiden tietoja poistettaessa? tarvikkeet * tarvike nimi: CDT varaston-sijainti: CDT varasto-lukittavissa: (kyllä ei) Ts. myös tieto varastosta on arvokasta (ja siihen liittyy määreitä, kuten varasto-lukittavissa) ja varaston tiedot periytyvät tarvikkeille (sijainti) tarvikkeet * varasto sijainti: CDT lukittavissa: (kyllä ei) * tarvike nimi: CDT Varastolle voitaisiin määritellä myös jokin oletusominaisuus jonka "poikkeavat" tarvikkeet päällekirjoitettavat (vrt. perintä ja esim. xml:lang XHTMLdokumentissa) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 260

39 Kohti suunnittelijan muistilistaa Olio- vs. relaatioperustainen suunnittelu Puumainen tiedonesitys ei tietenkään pakota "oliomaisuuteen"; myös relaatiomaiset tietomallit ovat tietenkin mahdollisia - käytön intuitiivisuus, periytyvät tiedot (päällekirjoitus) - datan paloittelun helppous, sovellusohjelmoinnin haasteet -... tarvikkeet tiedot * varasto sijainti: CDT lukittavissa: (kyllä ei) * tarvike nimi: CDT vs. varastot * varasto sijainti: CDT tunniste: ID lukittavissa: (kyllä ei) tunniste varasto tarvikkeet * tarvike nimi: CDT varasto: IDREF MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 261

40 Kohti suunnittelijan muistilistaa Suunnittelijan muistilista (1/4) Kirjataan seuraavaksi kärjistetyn tiivis mutta konkreettinen muistilista joka käy läpi dokumenttiluokan suunnittelu- ja toteutusvaiheet Vaihe 0, määrittely ja esitutkimus - asetetaan dokumenttiluokan avulla muotoiltava ongelma ja tavoite sen ratkaisemiseksi ja varmistetaan työn onnistumisen edellytykset Vaihe 1, elementtien tunnistaminen - ideoidaan (esim. käsitekaavion ja/tai esimerkkien avulla) minkälaisen tietorakenteen avulla käsillä olevan tietosisällön esittäminen on mahdollista ja tunnistetaan elementit Vaihe 2, elementtien luokittelu - luokitellaan elementit niiden ominaisuuksien mukaan (ainakin asiasisältö, rakenne, esitystapa) ja erotetaan toisistaan erityyppinen tieto MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 262

41 Kohti suunnittelijan muistilistaa Suunnittelijan muistilista (2/4) Vaihe 3, esimerkeistä oppiminen - tutustutaan muihin tunnettuihin samantyyppisiin suunnittelutöihin ja sovelluksiin ja arvioidaan erilaisista suunnitteluratkaisuista seuraavia hyviä ja huonoja puolia Vaihe 4, tuotanto- ja käsittelyprosessin läpikäynti - käydään koko ajateltu (dokumenttien/datan) hallintaprosessi läpi ja kirjataan mitä tietoja tarvitaan prosessi(e)n eri vaiheissa Vaihe 5, elementtien valinta - valitaan omassa sovelluksessa tarvittavat kuvailevat elementit, tarkennetaan tietorakennetta (so. dokumenttien tietosisältö vs. esitystavan tietosisältö vs. hallintaprosessin tietosisältö) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 263

42 Kohti suunnittelijan muistilistaa Suunnittelijan muistilista (3/4) Vaihe 6, päätason hierarkian suunnittelu - jäsennetään dokumenttiluokan ylärakenne rakennetyyppisten elementtien avulla (tai määritetään datalähtöisen sovelluksen kuvailutiedot); sovelluksen yksityiskohdat jäävät vielä avoimiksi Vaihe 7, tietue-elementtien kokoaminen - tunnistetaan usein toistuvat tietorakenteet ja jäsennetään niiden rakenne Vaihe 8, dataelementtien koostaminen - kootaan sisältötyyppiset elementit rakenne-tyyppisten elementtien lapsiksi Vaihe 9, yhdistäminen - yhdistetään suunnittelun eritasoiset rakenteet yhdeksi kokonaisuudeksi Vaihe 10, viittaukset - tunnistetaan ja toteutetaan viittaukset ja niiden tulkinta elementtien välillä MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 264

43 Kohti suunnittelijan muistilistaa Suunnittelijan muistilista (4/4) Vaihe 11, varmentaminen ja arviointi - käydään läpi alkuperäinen määrittely ja tutkitaan & testataan että varmasti tehtiin oikea työ ja että se tehtiin oikein (osana hallintaprosessia) Vaihe 12, sovelluksesta riippuen - koulutus, ylläpito, päivitykset, versioinnin suunnittelu, laajennukset,... Huomioita - luksi (vaiheet 1-3) kannattaa ottaa mukaan enemmän tietoa kuin tarvitaan ja valita & karsia (perustelujen kera) sisältöä vaiheessa 4; kokeile; älä takerru ensimmäisiin ideoihin; keksi hyviä nimiä - Työ tietenkin dokumentoidaan (esimerkit!) ja kirjataan suunnitteluratkaisut ylös perusteluineen (muuten unohdetaan miksi valinnat tehtiin) - Muista suunnittelijan mantra kun mietit piirteen X sisällyttämistä sovellukseen: välttämätön - tarpeellinen - hyödyllinen (älä näpertele!) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 265

44 Kohti suunnittelijan muistilistaa Hyvän suunnittelun teknisiä piirteitä Noudata määrittelyä - suunnittelun tulee tähdätä ensisijaisen ja sovitun ongelman ratkaisemiseen Vältä tiedon päällekkäisyyttä - jos sama tieto useassa paikassa, luvassa on päivityspulmia Vältä turhia kytköksiä - suosi modulaarisia rakenteita (poistopulmat!) Yksinkertainen on kaunista - yksinkertaisin ratkaisu jota voi laajentaa hallitusti on usein paras Valitse sanasto huolella - käytä aina "luonnollisia" käsitteitä (ihmisiä varten) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 266

45 Kohti suunnittelijan muistilistaa Hyvän suunnittelun strategisia piirteitä Täydellisyys - kaikki asiaankuuluva määritellään ja kuvataan Tarkkuus ja virheettömyys - minimoitu väärinymmärtämisen mahdollisuus, ei asiavirheitä Ymmärrettävyys - esitystapa on niin yksinkertainen kuin mahdollista (muttei yhtään yksinkertaisempi), sopusoinnussa täydellisyyden ja tarkkuuden kanssa Testattavuus - mahdollisuus tarkistaa työ suhteessa määrittelyyn ja tavoitteisiin Jäljitettävyys - mahdollisuus seurata määrityksiä suunnitteluvalintojen kautta toteutukseen ja päinvastoin (ts. kirjaa ja perustele nekin vaihtoehdot joita ei valittu) MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 267

46 Kohti suunnittelijan muistilistaa Lopuksi Opiskelun alkuvaiheessa tulee helposti korostaneeksi tekniikan roolia tietoteknisten ongelmien ratkaisussa. Tekniikka on kuitenkin vain väline määrittelyn, suunnittelun ja toteutuksen "välissä" väline joka pitää tietenkin hallita Jos kuitenkaan ei osaa ("teknisesti") toteuttaa annetun määrittelyn kuin "yhdellä tavalla", ei todennäköisesti pysty hyvään suunnitteluun Hyvän projekti edellyttää perustaitojen ohella paitsi rutinoitunutta osaamista, myös tilannetajua Tilaajan pitää osata määritellä ongelmansa reunaehtoineen sekä arvioida toteutuksen vaativuus (hinta); usein tämä edellyttää suunnitteluosaamista Toimittajan pitää osata (paitsi toteuttaa työ, myös) arvioida toteutuksen vaativuus (hinta), sekä ymmärtää jättää itselleen liikkumavaraa jos ja kun kaikki ei mene aivan täsmälleen kartoitusten osoittamalla tavalla MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 268

47 Loppusanat 15 Loppusanat Rakenteinen dokumentaatio tarjoaa lähtökohdan erityyppisten tietoa prosessimaisesti käsittelevien sovellusten toteuttamiseen. Perusidea on mallintaa tietoa sen käsittelyn näkökulmasta. Useissa sovelluksissa XML:n keskeinen funktio on tarjota puitteet tiedon mallintamiselle, ohjelmalliselle käsittelylle sekä sovellusten eri osien integroinnille. Toimiva lähestymistapa on mieltää XML rajapintana. Sovellusten suunnittelu on kuin vieraan kaupunkikartan tarkastelua; kun tiedetään missä ollaan ja minne halutaan mennä, pulmaksi jää rakentaa toimiva yhteys pisteiden välille, saatavilla olevia välineitä hyödyntäen ja resurssit huomioiden (ts. milloin kävellä, milloin mennä metrolla, milloin on syytä rakentaa kokonaan uusi reitti). MTHM RKENTEISET DOKUMENTIT (kevät 2006) - ON 269

12 Dokumenttiluokkien suunnittelusta

12 Dokumenttiluokkien suunnittelusta 12 Dokumenttiluokkien suunnittelusta XML-sovellusten suunnittelun keskeinen ja toistuva osaalue on dokumenttiluokkien (tai XML-tekstiformaattien) suunnittelu. Työn kärjistetty (ja nyt tarkoituksella rajattu)

Lisätiedot

12 Dokumenttiluokkien suunnittelusta

12 Dokumenttiluokkien suunnittelusta Dokumenttiluokkien suunnittelusta 12 Dokumenttiluokkien suunnittelusta XML-sovellusten suunnittelun keskeinen ja toistuva osaalue on dokumenttiluokkien (tai XML-tekstiformaattien) suunnittelu. Työn kärjistetty

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

12 Dokumenttiluokan toteuttamisesta

12 Dokumenttiluokan toteuttamisesta 12 Dokumenttiluokan toteuttamisesta Tyypillisiä XML-sovellutuksia ovat esimerkiksi: - annettuun käyttötarkoitukseen räätälöity dokumenttityyppi (esim. painotalon ABC malli käsikirjoituksen rakenteelle)

Lisätiedot

Merkkauksen valinnan suunnittelufilosofisia päälinjoja

Merkkauksen valinnan suunnittelufilosofisia päälinjoja Merkkauksen valinnan suunnittelufilosofisia päälinjoja Suunnitteluvaiheessa tehty merkkauskäytännön valinta määrää sen, millaista dokumenttien merkkaus tulee olemaan. Sopimaton merkkauskäytäntö hankaloittaa

Lisätiedot

3 Verkkosaavutettavuuden tekniset perusteet

3 Verkkosaavutettavuuden tekniset perusteet 3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on

Lisätiedot

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa

Lisätiedot

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi. 11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

Sisällys. 11. Rajapinnat. Johdanto. Johdanto Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.

Lisätiedot

Paikkatiedot ja Web-standardit

Paikkatiedot ja Web-standardit Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide

Lisätiedot

6 DTD ja dokumentin tyyppimääritys

6 DTD ja dokumentin tyyppimääritys 6 DTD ja dokumentin tyyppimääritys Tietojenkäsittelyssä päähuomio ei yleensä ole tiedon matalan tason formaatissa vaan sovelluksissa joissa tietoa käytetään loogisesti jäsennettynä. XML-merkkaus tarjoaa

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

M. Merikanto 2012 XML. Merkkauskieli, osa 2

M. Merikanto 2012 XML. Merkkauskieli, osa 2 XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao

Lisätiedot

13 Tiedostot, dokumentit, tieto (&h-media)

13 Tiedostot, dokumentit, tieto (&h-media) 13 Tiedostot, dokumentit, tieto (&h-media) Esimerkki: HTML-dokumentti Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää

Lisätiedot

XML johdanto, uusimmat standardit ja kehitys

XML johdanto, uusimmat standardit ja kehitys johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama

Lisätiedot

6 DTD ja dokumentin tyyppimääritys

6 DTD ja dokumentin tyyppimääritys 6 DTD ja dokumentin tyyppimääritys Tietojenkäsittelyssä päähuomio ei yleensä ole tiedon matalan tason formaatissa vaan sovelluksissa joissa tietoa käytetään loogisesti jäsennettynä. XML-merkkaus tarjoaa

Lisätiedot

12 Dokumenttiluokan toteuttamisesta

12 Dokumenttiluokan toteuttamisesta 12 Dokumenttiluokan toteuttamisesta Tyypillisiä XML-sovellutuksia ovat esimerkiksi: - annettuun käyttötarkoitukseen räätälöity dokumenttityyppi (esim. painotalon BC malli käsikirjoituksen rakenteelle)

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen ossi.nykanen@tut.fi Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Esitelmä "Semanttinen Web" Sisältö Konteksti: W3C, Web-teknologiat

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: Semanttinen Web (SW) on

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Rakenteisten dokumenttien jatkokurssi, syksy 2006

Rakenteisten dokumenttien jatkokurssi, syksy 2006 Rakenteisten dokumenttien jatkokurssi, syksy 2006 MATHM-57200 Rakenteisten dokumenttien jatkokurssi, 5 op opetetaan syksyn 1-2 periodeilla Kotisivu: http://matriisi.ee.tut.fi/hmopetus/rdj/index.html Luennot:

Lisätiedot

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

Määrittelyvaihe. Projektinhallinta

Määrittelyvaihe. Projektinhallinta Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti

Lisätiedot

The OWL-S are not what they seem

The OWL-S are not what they seem The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

6 DTD ja dokumentin tyyppimääritys

6 DTD ja dokumentin tyyppimääritys 6 DTD ja dokumentin tyyppimääritys XML-merkkaus tarjoaa yhteensopivan ja yksinkertaisen perustan rakenteisten dokumenttien tms. rakenteisen tiedon käsittelyyn. Tietojenkäsittelyn sovelluksissa päähuomio

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

UML-kielen formalisointi Object-Z:lla

UML-kielen formalisointi Object-Z:lla UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,

Lisätiedot

10 Tiedostot, dokumentit, tieto (&h-media)

10 Tiedostot, dokumentit, tieto (&h-media) 10 Tiedostot, dokumentit, tieto (&h-media) Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää asiakokonaisuutta, joka

Lisätiedot

Paikkatietojen tietotuotemäärittely

Paikkatietojen tietotuotemäärittely Paikkatietojen tietotuotemäärittely Esityksen sisältö: Mikä on paikkatietotietotuote? Mikä on paikkatietotuotemäärittely? Kuka paikkatietotuotteita määrittelee? Mikä on paikkatietotuotemäärittelyn sisältö?

Lisätiedot

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisuus kahdella tasolla Oppimisaihiot ( Learning Objects

Lisätiedot

W3C-teknologiat ja yhteensopivuus

W3C-teknologiat ja yhteensopivuus W3C-teknologiat ja yhteensopivuus Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C asettaa

Lisätiedot

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden

Lisätiedot

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

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

XML johdatus: DTD. Jaana Holvikivi

XML johdatus: DTD. Jaana Holvikivi XML johdatus: DTD Jaana Holvikivi Dokumenttityypin rakennemäärittely DTD = kielioppi esim. XML- esitykselle Elementit Attribuutit Entiteetit ja notaatiot Prosessointikomennot DTD:n suunnittelu 19.1.2013

Lisätiedot

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

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

RDF ja RDFS. 8 RDF ja RDFS

RDF ja RDFS. 8 RDF ja RDFS 8 RDF ja RDFS RDF:n merkitys selkiytyy kun tarkastelemme RDFsanastojen määrittelyä (kuvailua). RDF-skeemat (RDF Schema) tarjoaa peruskäsitteet joiden varassa voidaan karkeasti luonnehtia esim. yksinkertaisten

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Paikkatietojen tietotuotemäärittely

Paikkatietojen tietotuotemäärittely Paikkatietojen tietotuotemäärittely Esityksen sisältö: Mikä on paikkatietotuote? Mikä on paikkatietotuoteseloste? Kuka paikkatietotuotteita määrittelee? Mikä on paikkatietotuoteselosteen sisältö? Mitä

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

Lisätiedot

13 Tiedostot, dokumentit, tieto (&h-media)

13 Tiedostot, dokumentit, tieto (&h-media) 13 Tiedostot, dokumentit, tieto (&h-media) Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää asiakokonaisuutta, joka

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

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

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

HELIA 1 (11) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu

HELIA 1 (11) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu HELIA 1 (11) Luento 4 Käytettävyyden tuottaminen... 2 Käytettävyys ja systeemityöprosessi... 3 Määrittely... 3 Suunnittelu... 3 Toteutus ja testaus... 3 Seuranta... 3 Kriittiset tekijät käytettävyyden

Lisätiedot

ARVO - verkkomateriaalien arviointiin

ARVO - verkkomateriaalien arviointiin ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 1/8: Informaation esitystapa

Lisätiedot

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

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje 04.02.2005 1 (6) SÄHKE-hanke Versio ja pvm Laatinut Tarkpvm Tarkastanut Hyvpvm Hyväksynyt 2.0 / 04.02.2005 Anneli Rantanen 15.02.2005 Markus Merenmies 18.02.2005 Ohjausryhmä 04.02.2005 2 (6) Muutoshistoria

Lisätiedot

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja Eero Hyvönen Semanttinen web Linkitetyn avoimen datan käsikirja WSOY:n kirjallisuussäätiö on tukenut teoksen kirjoittamista Copyright 2018 Eero Hyvönen & Gaudeamus Gaudeamus Oy www.gaudeamus.fi Kansi:

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

VÄLI- JA LOPPURAPORTOINTI

VÄLI- JA LOPPURAPORTOINTI Tuija Nikkari 2012 VÄLI- JA LOPPURAPORTOINTI Raportointikoulutus 23.8.12 Raportoinnin tarkoitus Raportoinnin tehtävänä on tuottaa tietoa projektin etenemisestä ja tuloksista rahoittajalle, yhteistyökumppaneille

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /

Lisätiedot

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa 4. Roolimallipalvelu 4.1 Tiedot palvelusta Palvelun nimi: Palvelun versio 01.01.00 Toteuttaa palvelun yksilöllistä palvelua (kts. M14.4.42) Roolimallipalvelu (Model role service) MYJ:lle, jotka toteuttavat

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

Lisätiedot

è è è RDF-perusteet 7 RDF-perusteet

è è è RDF-perusteet 7 RDF-perusteet 7 RDF-perusteet Semanttisen Webin määrittelyteknisen ytimen muodostaa siis Resource Description Framework (RDF) -määritys. Tarkastellaan seuraavassa lyhyesti kielen (kaikille sovelluksille yhteisiä) primitiivejä

Lisätiedot

Luento 3: Tietorakenteiden esittäminen

Luento 3: Tietorakenteiden esittäminen Luento 3: Tietorakenteiden esittäminen AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Tietorakenteiden esittäminen XML-dokumentti puuna Muunnokset muodosta toiseen Perustietorakenteet listat puut

Lisätiedot

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014. Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014. Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0 KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014 Käyttäjätutkimus ja käsitteellinen suunnittelu Järjestelmän nimi versio 1.0 Jakelu: Tulostettu: 201543 Samuli Hirvonen samuli.hirvonen@student.tut.fi

Lisätiedot

Verkkopalveluiden saavutettavuus

Verkkopalveluiden saavutettavuus Verkkopalveluiden saavutettavuus Puhuja: Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Paikka: Helsinki, Tieteiden talo, 24.3.2011 Johdanto Verkkopalvelun saavutettavuus

Lisätiedot

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group 1.10.2010 1(15) Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group Graanintie 7 Tel. + 358 15 338 800 FIN-50190 MIKKELI Fax + 358 15 338 810 VERSIOHISTORIA Versio Pvm Tekijä Selite 1.0

Lisätiedot

Hieman lisää malleista ja niiden hyödyntämisestä

Hieman lisää malleista ja niiden hyödyntämisestä Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu

Lisätiedot

Käytäntöjen kehittämisen, mallintamisen ja arvioinnin REA-työkalu

Käytäntöjen kehittämisen, mallintamisen ja arvioinnin REA-työkalu Käytäntöjen kehittämisen, mallintamisen ja arvioinnin REA-työkalu Juha Koivisto, THL Pasi Pohjola, THL REA = Relational Evaluation Approach REA-työkalu perustuu relationaalisen arvioinnin lähestymistapaan,

Lisätiedot

TIETOKANNAN SUUNNITTELU

TIETOKANNAN SUUNNITTELU TIETOKANNAN SUUNNITTELU HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 2 JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS TIETOJEN MALLINNUKSESTA TIETOKANTAAN Käsiteanalyysin

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

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

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Alkukartoitus Opiskeluvalmiudet

Alkukartoitus Opiskeluvalmiudet Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan

Lisätiedot

W3C ja alueellinen standardointi

W3C ja alueellinen standardointi W3C ja alueellinen standardointi Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C on kansainvälinen konsortio

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 8. kesäkuuta, 2018 Agenda Ohjelmistokehitys Ohjelmistokehitys vs. konsultointi Vaatimukset Tietosuoja Tietosuoja ohjelmistokehityksessä kiteytettynä

Lisätiedot

SOVELLUSALUEEN KUVAUS

SOVELLUSALUEEN KUVAUS Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu SOVELLUSALUEEN KUVAUS LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 2.1 Tila: hyväksytty Päivämäärä: 12.12.2000

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Korkeakoulujen yhteentoimivuusmalli

Korkeakoulujen yhteentoimivuusmalli Korkeakoulujen yhteentoimivuusmalli Tavoitteena korkeakoulujen opetus-, tutkimus- ja julkaisutietojärjestelmien yhteentoimivuus Miika Alonen Suvi Remes Nykytila Esim. Kirjastotoimi Opintopolku? Korkeakoulujen

Lisätiedot

Oliot ja tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos

Oliot ja tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos Oliot ja tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 19. maaliskuuta 2007 Olion tyyppi? attribuutti on oikeastaan metodi,

Lisätiedot

Suoritusraportointi: Loppuraportti

Suoritusraportointi: Loppuraportti 1 (5) Suoritusraportointi: Loppuraportti Tiimitehtävä, 20 % kurssin arvosanasta Ryhmän vetäjä toimittaa raportit keskitetysti projektiyrityksille Raportti sisältää kaksi osiota: Johdon tiivistelmän (Executive

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

2 Rakenteisten dokumenttien perusteet

2 Rakenteisten dokumenttien perusteet 2 Rakenteisten dokumenttien perusteet Kuten todettua, rakenteinen dokumentaatio tähtää tiedon mallintamiseen käytössä olevien välineiden mahdollisuudet huomioiden (tietokoneet!). Tavoitteet ovat yleensä

Lisätiedot

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

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet. 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

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. 2.2 Luokat ja oliot Olio-ohjelmoinnin keskeisimpiä

Lisätiedot