KIRJASTOJÄRJESTELMÄ Tietojenkäsittelytieteiden laitos Jyväskylän Yliopisto



Samankaltaiset tiedostot
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

Etsi aineistoa, uusi lainoja, tee varauksia. Onnistuneita hetkiä Juolukan parissa!

MagicDraw-pikaohje (VH5)

Formaalit menetelmät: Kirjaston formalisointi Z-kuvauskielellä

PISKI HANKE - SATEENVARJO:

Helsingin kaupunginkirjasto logistiikkaprosessi: 2 Kierto

VH5, JOTU, MagicDraw:n käyttö

Anders-kirjastojen käyttösäännöt

Kirjautuminen ja oma tili

Oripään kirjaston käyttösäännöt. Oripään kunnankirjasto ja muut Loimaan seutukunnan kirjastot muodostavat yhdessä Loisto-kirjastot.

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

OHJE TILAAJALLE: YHTEISLAINAPYYNNÖN TEKEMINEN

OHJE TILAAJALLE: YHTEISLAINATILAUKSEN TEKEMINEN

Kirjaston käyttöoikeus sisältää lainausoikeuden sekä oikeuden käyttää kirjaston muita palveluja ja yleisötiloja.

käyttötapaukset mod. testaus

Copyright 2008 Ab Axiell Kirjastot Oy

Määrittelyvaihe. Projektinhallinta

Vaatimusmääritelystä UML:n avulla

Yhteistoimintakaavio (Esimerkki)

Oulaisten kaupungin Sivistyslautakunta. Oulaisten kaupunginkirjasto, Sahankatu 2, Oulainen

SEITTI-YHTEISKIRJASTOJÄRJESTELMÄN KÄYTTÖSÄÄNNÖT ALKAEN Käyttöoikeus. Lainausoikeus

VASKI-kirjastojen käyttösäännöt

Tervetuloa Hämeenlinnan kirjastoihin! Kysymyksiä ja vastauksia kirjaston käytöstä

KÄYTTÖSÄÄNNÖT JA HINNASTO

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Kuopion kaupunginkirjaston käyttösäännöt , voimassa toistaiseksi

Porin tiede- kirjasto , Pohjoisranta 11 C

Kirjaston kotisivut: Verkkokirjasto:

KAKE kaukopalvelun pyyntölainauksen tietokanta

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

KUHMON KAUPUNGINKIRJASTO KIRJASTON PALVELUT. Tervetuloa!

Helle-kirjastojen käyttösäännöt ALKAEN

Helle-kirjastojen käyttösäännöt ALKAEN

Uusi Celianet

ATLAS - varastonhallintaohjelma, Lainaus

Ohje RMA-hakuun online palvelusta

3 REKISTERIN VASTUUHENKILÖT JA REKISTERIASIOITA HOITAVAT HENKILÖT

Kanta. Potilastiedon arkiston arkistonhoitajan opas

Helle-kirjastojen käyttösäännöt ALKAEN

UML- mallinnus: Tilakaavio

OPAS VERKKOLASKUTUKSEEN

Helle-kirjastojen käyttösäännöt ALKAEN

Aloittaminen: Miten e-kirja lainataan?

KÄYTTÖOHJE truck check In Itsepalvelukioski

Helle-kirjastojen käyttösäännöt ALKAEN

Oy Oticon Ab. Korvakappale.fi. Käyttöohje

Eksote-tilauksen ajaminen poikkeaa tavallisesta taksintilauksesta muutamin osin, jotka käydään läpi tässä ohjeessa.

VASKI-KIRJASTOJEN KÄYTTÖSÄÄNNÖT alkaen

HelMet-kirjaston käyttösäännöt

Ajoneuvotietopalvelun käyttöohje Päivitetty

Kysymykset ja vastaukset

Sisäänkirjaus Uloskirjaus. Yritystieto

KUHMON KAUPUNGINKIRJASTO KIRJASTON PALVELUT. Tervetuloa!

vaski-kirjastojen käyttösäännöt alkaen

Nämä käyttösäännöt koskevat kaikkia Vaski-kirjastoja. Käyttösäännöt ovat voimassa alkaen.

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013

Rekisteriin kuuluvat seuraavat henkilötietoja sisältävät rekisterit ja osarekisterit:

Yrityksen sisäinen tunnus Henkilönumero tai muu yrityskohtainen tunniste, mikäli tieto on tallennettu verkkopalveluun.

1. Tarkastellaan seuraavaa kaaviota

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Ohjeita Heili-kirjastojen Rockway.fi-palvelun käyttäjälle

MikroVara 2.0. Käyttöohje

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Ohjelmoinnin perusteet Y Python

TIE = JOTU. VH5 - MagicDraw

KARJALAN TUTKIMUSLAITOKSEN KIRJASTOKÄSIKIRJA

Tervetuloa Feeniks-kirjastoon! Mika Sarlin

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Ratkaisut harjoitusviikon 2 tehtäviin

Elisa Kassa - Kassa käyttöliittymä

kun tilille tulleeseen rahaan ei liity myyntilaskua, esim. pankin maksama korko.

Asetuksissa määritellyt Auroran käyttäjäryhmät

UML -mallinnus TILAKAAVIO

Asiakasnumeron haltija on vastuussa tilauksesta ja vastaa laskun maksamisesta toimitusehtojen mukaisesti Oriolalle.

OHJELMISTOTEKNIIKKA LABORATORIOHARJOITUKSEN OHJEET

Teija Jokiharju-Keso

vaski-kirjastojen käyttösäännöt alkaen

INTINU13A6 Java sovellukset

Ohjelmistoprojektin vaiheet ja OMT++ -suunnittelumenetelmä

Uuden työ- tai mittavälineen luominen tietokantaan

Maksuturvan pikaopas Valmiskauppiaille

Vianova Systems Finland Oy:n Novapoint käytön tuki

Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2

Kirjaudu sisään oikeasta yläkulmasta tai klikkaamalla kohtaa Omat sivut.

1 Kirjautuminen ja Käyttöliittymä Kirjautuminen Käyttöliittymä Uuden varauksen tekeminen Normaali varaus...

TEHTÄVIEN PALAUTTAMINEN MOODLEEN

Opinnäytteen tallennus Theseus-verkkokirjastoon

Porin tiedekirjasto. Teppo Hjelt

Kaikkien kirjasto. Näin käytät kirjastoa. Selkoesite

Yrityksen sisäinen tunnus Henkilönumero tai muu yrityskohtainen tunniste, mikäli tieto on tallennettu verkkopalveluun.

TILITYKSET JA TILAUKSET

Palveluntuottaja Tapahtumakirjausohje

Varatusta aineistosta lähetetään karhuilmoitus heti eräpäivää seuraavana päivänä.

KÄYTTÖSÄÄNNÖT. Kaakon kaksikon kirjastojen. Virolahden ja Miehikkälän kirjastot alkaen. Sivistyslautakunta xxxxxxxx

Vertti. Verituotteiden tilaus. Versio 2.1

LAINAUSJÄRJESTELMÄ. Kyllä. Vihermetsän lukion kirjastossa on samankaltainen, mutta monimutkaisempi lainausjärjestelmä:

Transkriptio:

KIRJASTOJÄRJESTELMÄ Oliokeskeinen tietojärjestelmien kehittäminen Harjoitustyön esimerkki 29.2.2000 Mauri Leppänen mauri@jytko.jyu.fi 0.0.2006 Markus Tuominen ja Timo Käkölä timokk@cc.jyu.fi Tietojenkäsittelytieteiden laitos Jyväskylän Yliopisto

2 Esipuhe Tämän esityksen tarkoituksena on havainnollistaa UML-menetelmän soveltamista kirjastoympäristössä. Työselosteeseen on sisällytetty lyhyt tehtäväksianto kirjastojärjestelmän suunnittelemiseksi ja esimerkkejä käyttötapauskaaviosta, käyttötapauksista, luokkakaavioista, sekvenssikaavioista, tilakaavioista sekä luokkamäärityksistä analyysi- ja suunnitteluvaiheen osalta. Seloste sisältää harjoitustyöraportin kaikki olennaiset osat (tilakaavioita ei harjoitustyöhön sisälly), vaikkakin suppeampina kuin mitä opiskelijatöiltä vaaditaan. Opiskelijoilta edellytetään Microsoft Vision tai muun vastaavan välineen käyttämistä. Sisällysluettelo:. TEHTÄVÄNANTO... 3.. TOIMINTAYKSIKÖN KUVAUS... 3.2. TAVOITEMÄÄRITYS... 3 2. KÄYTTÖTAPAUKSET... 4 2.. KÄYTTÖTAPAUSKAAVIO... 4 2.2. KÄYTTÖTAPAUSKUVAUS: LAINAUS... 5 3. ANALYYSIVAIHEEN LUOKKAKAAVIO... 6 3.. LUOKKAKAAVIO... 6 3.2. TIETOHAKEMISTO... 7 4. ANALYYSIVAIHEEN SEKVENSSIKAAVIOT... 9 4.. ASIAKASLAINAUS... 9 5. TILAKAAVIOT... 2 5.. LAINAUSPISTE... 2 5.2. NIDE... 4 6. SUUNNITTELUVAIHEEN SEKVENSSIKAAVIOT... 6 6.. ASIAKASLAINAUS... 6 6.2. PALAUTUS... 7 7. SUUNNITTELUVAIHEEN LUOKKAKAAVIO... 8 8. LUOKKAMÄÄRITYKSET... 9

3. Tehtävänanto.. Toimintayksikön kuvaus Kirjaston toiminta-ajatuksena on palvella kuntalaisia hankkimalla ja lainaamalla kirjoja, äänitteitä, videoita ja muuta vastaavaa materiaalia. Kirjasto toimii opetusministeriön ja kunnan määrittelemän johtosäännön mukaisesti. Kirjasto kartuttaa kokoelmiaan uushankinnoilla myönnettyjen määrärahojen puitteissa. Toteuttaakseen toiminta-ajatustaan kirjasto suorittaa seuraavia tehtäviä. Kustantajilta saadun esitemateriaalin ja lainaajilta tulleiden toiveiden perusteella tehdään päätökset tilattavasta materiaalista. Tilaukset toimitetaan kustantajille. Materiaalin saavuttua se luetteloidaan nimekkeiksi ja niteiksi sekä sijoitetaan asianmukaiseen paikkaan. Henkilö voi päästä asiakkaaksi antamalla henkilötietonsa, jonka jälkeen hänelle annetaan henkilökohtainen lainauskortti. Asiakas voi saada niteen lainaksi määräajaksi (4 vrk kk), jonka kuluessa hänen tulee se palauttaa. Jos hänen haluamaansa nimikettä ei ole saatavilla, hän voi jättää siitä varauksen. Palauttaessaan asiakas voi uusia lainan, jos vastaavaa nimikettä ei ole kukaan muu varannut. Myöhässä olevista lainoista lähetetään asiakkaalle muistutus. Jos asiakas ei kahden muistutuksen jälkeen palauta nidettä, hän joutuu lainauskieltoon. Myöhässä olevasta palautuksesta peritään viivästyssakko, jonka voi maksaa myöhemminkin. Jos sakkosumma ylittää 5 euroa, asiakas joutuu lainauskieltoon siihen saakka, kunnes hän maksaa sakon..2. Tavoitemääritys Tietojärjestelmäprojektin tavoitteena on kehittää yleiskäyttöinen kirjaston toimintaa tukeva oliopohjainen tietojärjestelmä. Järjestelmän avulla tulee voida tallentaa nimeke-, asiakas-, lainaus, palautus- ja varaustiedot. Järjestelmän pääasiallisina käyttäjinä ovat kirjastonhoitajat. Järjestelmän tulee tukea myös asiakkaan itsenäistä tiedonhakua, lainausta ja varausta. Tätä varten käytetään asiakaspäätteitä, joista osa on varustettu myös viivakoodinlukijoilla ja turvamerkinnän poistolaitteilla. Tekninen vastuuhenkilö koulutetaan poikkeustapausten käsittelijäksi. Kirjastonhoitajat suorittavat järjestelmän avulla luetteloinnin, asiakastietojen tallennuksen ja ylläpidon, palautustietojen kirjauksen sekä sakkomaksujen vastaanoton. He voivat asiakkaan puolesta suorittaa myös tiedonhakuja, lainauksia ja varauksia.

4 2. Käyttötapaukset 2.. Käyttötapauskaavio Kirjastojärjestelmä Kokoelman päivitys Kortin anto Lainaus Kirjastonhoitaja Asiakaslainaus KHoitajalainaus Varaus Asiakas Palautus Tekninen vastuuhenkilö Haku

5 2.2. Käyttötapauskuvaus: Lainaus Tässä kohdassa esitetään esimerkkinä käyttötapauskuvauksesta Asiakaslainaus. Käyttötapaus: Yhteenveto: Aktorit: Edellytykset: Kuvaus: Poikkeukset: Jälkitilanne: Asiakaslainaus Asiakas lainaa omatoimisesti kirjoja, äänitteitä tai videofilmejä. Kunkin lainattavan niteen osalta järjestelmä ilmoittaa lainauksen hyväksymisestä tai hylkäämisestä. Lopuksi järjestelmä tuottaa lainattujen niteiden listan. Asiakas Asiakkaalla on voimassa oleva lainauskortti, nide on lainattavissa ja järjestelmä on toimintavalmiina. Asiakas työntää lainauskorttinsa kortinlukijaan, joka tunnistaa asiakkaan. [Poikkeus : Kortinluku ei onnistu.] Jos lainauskortti on voimassa [Poikkeus 2: Kortti ei ole voimassa.], järjestelmä pyytää asiakasta kuljettamaan lainattavaa nidettä viivakoodinlukijan alla. Niteen kulkiessa lukijan alta järjestelmä tunnistaa sen. [Poikkeus 3: Nidettä ei tunnisteta.] Jos nide on lainattavissa [Poikkeus 4: Nide ei ole lainattavissa], järjestelmä kirjaa niteen lainatuksi asiakkaalle määräajaksi (kirja: kk, äänite: 2 vk, videofilmi: vk), poistaa magneettisen turvamerkinnän ja ilmoittaa asiakkaalle kirjauksen onnistumisesta. [Poikkeus 5: Kirjaus ei onnistunut.] Järjestelmä pyytää asiakasta kuljettamaan seuraavan niteen. Näin jatketaan, kunnes asiakas valitsee uuden lainauksen sijasta järjestelmän tarjoaman lopetustoiminnon. Tällöin järjestelmä tulostaa lainattujen niteiden otsikot ja lainausten eräpäivät. () Kortinluku ei onnistu: Järjestelmä pyytää asiakasta työntämään kortin uudelleen lukijaan; jos kolmen yrityksen jälkeenkään kortinluku ei onnistu, järjestelmä pyytää asiakasta ottamaan yhteyttä kirjastonhoitajaan. (2) Kortti ei ole voimassa: Järjestelmä ilmoittaa, että myöhästymissakkojen takia (sakkosumma > 5 e) lainausoikeus on toistaiseksi evätty. Oikeus palautetaan vasta, kun sakot on maksettu. (3) Nidettä ei tunnisteta: Jos viivakoodimuodossa olevaa tunnusta ei tunnisteta, järjestelmä pyytää asiakasta suorittamaan kuljetuksen uudelleen. Kolmen epäonnistuneen yrityksen jälkeen järjestelmä kehottaa asiakasta kääntymään kirjastonhoitajan puoleen (joka voi käyttää käsisyöttöä). (4) Nide ei ole lainattavissa: Järjestelmä ilmoittaa lainauskiellosta, jos nide on lukusalikappale tai asiakkaan palauttama, mutta ei vielä palautukseksi kirjattu, tai jos nide ei ole lainattavissa jostain muusta syystä. (5) Kirjaus ei onnistunut: Jos teknisen virheen tai muun syyn takia järjestelmä ei ole onnistunut lainauskirjauksessaan, se ilmoittaa siitä asiakkaalle. Samalla tieto häiriöstä kirjataan lokiin ja välitetään tekniselle vastuuhenkilölle. Järjestelmä jää toimintavalmiiksi uutta asiakasta varten.

6 3. Analyysivaiheen luokkakaavio 3.. Luokkakaavio -henkilötunnus -nimi -korttinro -osoite -sakkosumma Asiakas -varauspvm. -voimassaolopvm. Varaus -luokkakooodi -kuvaus Luokka -lainauspvm -eräpäivä Lainaus -tunnus Lainauspiste -tunnus -nimi -osoite Toimipiste -nidekoodi -hankintapvm. -hankintahinta -tila Nide -nimeke# -otsikko -tekijät Nimeke tekee suorittaa tehdään tehdään -nimeke# -kpl -hinta Toimitusrivi -nimi -osoite Kustantaja -nimi -osoite Kirjasto -pvm -summa Toimitus -tilausnro -tilaaja -tilauspvm. Tilaus -nimeke# -kpl Tilausrivi.. käyttää.. kuuluu lainaus_koskee varaus koskee.. sijoitettu on.. toimii.. omistaa toim_koskee_nide.. toim_koskee_nimeke.. vastaa vastaanottaa.. kustantaa.. til_koskee.. ottaa vastaan tekee toimittaa

7 3.2. Tietohakemisto Seuraavassa on esitetty esimerkinomaisesti sanalliset kuvaukset joistakin keskeisimmistä kirjastojärjestelmän luokista ja assosiaatioista. A. Luokkia: Nimeke: Tarkoittaa yleisnimeä, jolla tarkoitetaan kirjaa, videota, äänitettä, CD-levyä tai muuta vastaavaa lainattavaa materiaalia. Tiettyä nimekettä voi olla useampia kappaleita (= nidettä). Esim. kirja Rumbaugh ym. Object-oriented modelling and design, 99. nimeke#: yksikäsitteinen tunnus otsikko: nimekkeen otsikko tekijät: nimekkeen tekijätiedot kustantaja: nimekkeen kustantaja julkaisuvuosi: nimekkeen julkaisuvuosi Nide: Tarkoittaa yksittäistä kirjaa, videota, äänitettä, CD-levyä tai muuta vastaavaa lainattavaa kappaletta. Esim. tietty Rumbaugh ym. kirja. nidekoodi: yksikäsitteinen nidekoodi hankintapvm: hankintapäivämäärä hinkintahinta: hankintahinta tila: ilmaisee, onko nide saatavilla, lainassa vai varattuna Asiakas: Tarkoittaa kirjaston asiakkaaksi hyväksyttyä henkilöä. henkilötunnus: henkilötunnus nimi: henkilön etu- ja sukunimi osoite: henkilön kotiosoite korttinro: lainauskortin tunnusnumero sakkosumma: maksamattomista myöhästymissakoista kertynyt summa Tilaus: Tarkoittaa kirjaston toimihenkilön lähettämää pyyntöä kustantajalle toimittaa materiaalia. Tilaus voi koskea useampia nimikkeitä (vertaa Tilausrivi). tilausnro: yksikäsitteinen tilausnumero tilaaja: tilauksen tehneen henkilön nimi tilauspvm: tilauspäivämäärä Tilausrivi: Tarkoittaa tilauksen sisältämää yhtä nimikettä koskevaa toimituspyyntöä. nimeke#: nimekkeen yksikäsitteinen tunnus kpl: tilattavien niteiden kappalemäärä Lainaus: Tarkoittaa niteen luovuttamista asiakkaalle määräajaksi lainausehtojen mukaisesti (erääntymispäivään saakka). lainauspvm: lainauspäivämäärä eräpäivä: lainan erääntymispäivämäärä

8 B. Assosiaatioita: suorittaa: Tarkoittaa asiakkaan lainauksen suoritusta. Asiakas voi tehdä useampia lainauksia, lainaus on tietenkin aina yhden asiakkaan tekemä. lainaus_koskee: Tarkoittaa, että lainauksen kohteena on (yksi) nide. Nide voi olla samanaikaisesti vain yhden lainauksen kohteena. on: Tarkoittaa, että nide on tietyn nimekkeen mukainen. Nimekkeestä voi olla useampia niteitä. til_koskee: Tarkoittaa, että tilausrivi koskee tiettyä nimikettä. Tiettyä nimikettä koskevia tilausrivejä voi olla useampia (vaikkakaan ei samassa tapauksessa). tekee: Tarkoittaa, että kirjasto tekee kustantajalle tilauksen. Kirjaston tekemiä tilauksia on useita, sen sijaan tietyn tilauksen tekee vain yksi kirjasto. toim_koskee_nimeke: Tarkoittaa, että toimitusrivi koskee tiettyä nimekettä. Tiettyä nimekettä koskevia toimitusrivejä voi olla useampia (ei kuitenkaan samassa tapauksessa). toim_koskee_nide: Tarkoittaa, että toimitusrivi koskee tiettyä nidettä. Tiettyä nidettä kohti on vain yksi toimitusrivi.

9 4. Analyysivaiheen sekvenssikaaviot 4.. Asiakaslainaus Seuraavassa on esitetty kuusi sekvenssikaaviota, joista ensimmäinen kuvaa normaalitapauksen ja muut viisi kuvaavat poikkeustapaukset (vrt. käyttötapauskuvaukseen). Verrattuna analyysivaiheen luokkakaavioon, näissä kaavioissa esiintyy uusia olioita (Lainausohjain, Loki ja Valvontapääte). Ne otetaan mukaan suunnitteluvaiheen luokkakaavioon. ASIAKAS :Lainauspiste :Lainausohjain :Asiakas :Nide kortin syöttö tarkistaasiakas haeasiakas [haeasiakas = 'true'] OK esitä OK OK, kuljeta nide Repeat: niteiden luku niteen kuljetus hoidalainaus kirjaalainattu [kirjaalainattu = 'true' OK kirjaalainaus :Lainaus [kirjaalainaus = 'true'] OK esitä OK OK, kuljeta nide End: niteiden luku lopetus kokoalainaustiedot esitä kuitti kuitti

0 Asiakaslainaus: [Poikkeus : Kortinluku ei onnistu] ASIAKAS :Lainauspiste :Lainausohjain :Asiakas :Nide [haeasiakas = 'false'] NO Repeat: toistolkm = 3 esitäkorttitoisto toistopyyntö kortin syöttö End: toistoluku = 3 Asiakaslainaus: [Poikkeus 2: Kortti ei ole voimassa] ASIAKAS :Lainauspiste :Lainausohjain :Asiakas :Nide [haeasiakas = 'ei voimassa'] NO esitäeivoimassa ei voimassa Asiakaslainaus: [Poikkeus 3: Nidettä ei tunnisteta] ASIAKAS :Lainauspiste :Lainausohjain :Asiakas :Nide [kirjaalainattu = 'false'] NO Repeat: toistolkm = 3 esitätoisto toistopyyntö niteen kuljetus End: toistoluku = 3

Asiakaslainaus: [Poikkeus 4: Nide ei lainattavissa] ASIAKAS :Lainauspiste :Lainausohjain :Asiakas :Nide [kirjaalainattu = 'ei lainattavissa'] NO esitäeilainattavissa ei lainattavissa Asiakaslainaus: [Poikkeus 5: Kirjaus ei onnistunut] ASIAKAS :Lainauspiste :Lainausohjain :Asiakas :Nide :Lainaus [kirjaalainaus = 'false'] NO esitäeionnistunut ei onnistunut :Loki :Valvontapääte kirjaavirhe esitävirheilmoitus

2 5. Tilakaaviot Seuraavassa on esitetty selitys kahdelle tilakaaviolle, joista ensimmäinen kuvaa lainauspisteen ja toinen niteen käyttäytymistä. 5.. Lainauspiste Lainauspiste-olio luodaan joka kerta, kun lainauspisteessä oleva laite kytketään päälle. Seuraava kuvaus on tehty yksinkertaisemman herätekaavion pohjalta eli olettaen, että lainauspiste pystyy huolehtimaan myös ohjaustoiminnoista. Olion luonnin jälkeen se on aloitustilassa, eli valmiina ottamaan vastaan asiakkaan lainauskortin. Kortin sisääntyöntö saa lainauspisteessä olevan kortinlukijan lukemaan tunnuksen. Tunnus lähetetään varmistettavaksi, jonka ajaksi lainauspiste jää odotustilaan. Jos lukeminen ei onnistunut, pyydetään kortin uudelleensyöttöä. Jos varmistamisessa todetaan kortin kuuluvan lainauskiellossa olevalle asiakkaalle, siitä ilmoitetaan. Jos kortti on voimassa, ilmoitetaan valmius niteen tunnistamiseen. Asiakkaan kuljettaessa nidettä viivakoodinlukijan alapuolelta, koodi luetaan ja lähetetään lainaustietojen kirjaukseen. Kirjauksen ajaksi lainauspääte jää odotustilaan. Jos koodia vastaavaa tietoa ei löydy, pyydetään asiakasta toistamaan niteen kuljetus. Jos kolmannenkaan toiston jälkeen ei löydy oikeaa koodia, pyydetään asiakasta kääntymään henkilökunnan puoleen. Onnistuneen niteen lainauksen jälkeen lainauspiste siirtyy odottamaan uuden niteen kuljetusta. Näin toimitaan, kunnes asiakas valitsee painaa Lopetus-painiketta, jonka seurauksena käynnistetään kuitin tulostus. Sen jälkeen lainauspiste palaa aloitustilaan.

3 do: pyydä toistoa Aloitustilassa kortin syöttö / lue korttitunnus [ei onnistunut] do / pyydä lainauskortti kortin syöttö / lue korttitunnus [onnistui] do: pyydä toistoa ei OK Varmistamassa do / tarkista asiakas ei OK do: ilmoita lainauskielto OK do: tulosta kuitti Lopetus Valmis niteen tunnistamiseen do / ilmoita valmius OK niteen kuljetus / lue koodi do: pyydä kääntymään henkilökunnan puoleen Lainausta kirjaamassa do / hoida lainaus ei OK [toistokerta > 3] ei OK [toistokerta <= 3] do: pyydä toistoa

4 5.2. Nide Nide-olio luodaan niteen saavuttua luetteloinnin yhteydessä. Tällöin siihen tallennetaan niteen yksilöivät tiedot (mm. niteeseen teipattu nidekoodi) ja sijaintitiedot (ts. toimipiste). Nide on tämän jälkeen lainattavissa. Lainauksen yhteydessä nide siirtyy lainassa tilaan. Kun nide palautetaan, sen kunto tarkistetaan ja jos on aihetta, nide korjataan. Jos nide on varattu, palautuksesta ilmoittavan viestin kirjoitus käynnistetään ja nide siirretään odotustilaan. Varaajalla on mahdollisuus niteen lainaukseen viikon sisällä; jos hän ei sitä tee, siirtyy nide yleisesti lainattavien joukkoon. Jos nide on hävinnyt, korvauskäsittelyn jälkeen sen tiedot hävitetään. Samoin menetellään, jos nide on vahingoittunut käyttökelvottomaksi. Aika-ajoin poistetaan kirjaston valikoimasta vanhentuneita tai kuluneita niteitä, jolloin myös niiden tiedot hävitetään. Nide lainassa tila on kuvattu yksityiskohtaisemmin alitilakaaviossa. Laina-ajan kuluttua umpeen, nide siirtyy karhuamistilaan. Jos nidettä ei ole palautettu puolen vuoden jälkeenkään, nide todetaan hävinneeksi. Laina-aikana asiakas voi uusia lainan ns. jatkolainana sillä ehdolla, ettei sitä ole kukaan varannut.

5 Nide luetteloinnissa saapui / kirjaa saapuneeksi do / luetteloi poistetaan / kirjaa poistetuksi Nide lainattavissa [aika > vk] lainaa / kirjaa lainaus ei häviäminen / kirjaa hävinneeksi Nide lainassa palautus / kirjaa palautetuksi do: onko kunnossa? häviäminen / kirjaa hävinneeksi on lainaa / kirjaa lainaus do: onko varattu? Nide hävinnyt on / ilmoita varaajalle ei / kirjaa tila Varaajaa odottamassa Nide korjattavana Nide lainassa jatkolainaus / kirjaa lainaus [ei varausta] jatkolainaus / kirjaa lainaus [ei varausta] aika > vk / lähetä karhu 2 Lainassa laina-ajalla aika ummessa / lähetä karhu Nidettä karhutaan palautus / kirjaa palautetuksi aika > 6 kk häviäminen / kirjaa hävinneeksi

6 6. Suunnitteluvaiheen sekvenssikaaviot 6.. Asiakaslainaus :kortinlukija :viivakoodinlukija :näyttö :nide :lainausohjain :asiakas :varaus :kirjoitin kortinsyöttö tarkistaasiakas(korttinro) haeasiakas(korttinro) esitäok(korttinro) asiakastiedot Repeat: nappia painettu niteen kuljetus hoidalainaus(nidekoodi) haenide(nidekoodi) näytänideok(nidekoodi) kirjaalainaus() niteen tiedot :lainaus kirjaalainattu() ilmoitasuoritettu() suoritettu poistavaraus(varaus_ref) End: nappia painettu :nappi painallus kokoalainaustiedot tulostakuitti(nimi, nidekoodi...)

7 6.2. Palautus :viivakoodinlukija palautus niteen tiedot palautus OK :näyttö :nide :lainaus :nimeke :asiakas :varaus :kirjoitin hoidapalautus(nidekoodi) :palautusohjain haenide(nidekoodi) näytäok(nidekoodi) poistalainaus() kirjaapalautettu haevaraus(nimeke#) [haevaraus = 'löytyi'] OK haenimeke(nimeke_ref) haeasiakas(asiakas_ref) kirjaavaratuksi() tulostasaapumisilmoitus(nimeke#, otsikko, nimi, osoite...) näytäok

8 7. Suunnitteluvaiheen luokkakaavio Seuraavassa on esitetty se osa suunnitteluvaiheen luokkakaaviosta, jonka sisältämien luokkien oliot osallistuvat edellisessä kohdassa kuvattuun Lainaus- ja Palautus-toimintaan. Luokkakaavio täydentyisi muiden käyttötapausten mallintamisen myötä. Nappi Viivakoodinlukija Kortinlukija Näyttö Kirjoitin +esitäok() +näytänideok() +ilmoitasuoritettu() +näytäok() +tulostakuitti() +tulostasaapumisilmoitus() Lainausohjain Palautusohjain 0.. +tarkistaasiakas() +hoidalainaus() +kokoalainaustiedot() 0.. 0.. +hoidapalautus() 0.. 0.. Nide Lainaus Asiakas Varaus Nimeke -nidekoodi -hankintahinta -hankintapvm -tila -nimeke_ref -varaus_ref -lainaus_ref +haenide() +kirjaalainattu() +kirjaavarattu() +kirjaapalautettu() lain_koskee -asiakas_ref -nide_ref -lainapvm -eräpäivä -jatkolaina +kirjaalainaus() +poistalainaus() suorittaa -henkilötunnus -nimi -osoite -korttinro -sakkosumma +haeasiakas() on tekee -asiakas_ref -nimeke_ref -varauspvm -voimassaolopvm +haevaraus() +poistavaraus() var_koskee -nimeke# -otsikko -tekijät -vuosi -kustantaja +haenimeke()..

9 8. Luokkamääritykset LUOKKA: Lainaus Kuvaus: tarkoittaa kirjastoasiakkaan tekemää niteen lainausta määräajaksi. Attribuutit: asiakas_ref: viiteattribuutti asiakkaaseen nide_ref: viiteattribuutti niteeseen lainapvm: lainauspäivämäärä eräpäivä: eräpäivämäärä jatkolaina: arvot (0,,2) osoittavat, kuinka mones jatkolaina on kysymyksessä Operaatiot: kirjaalainaus(asiakas_ref, nide_ref, tyyppi): tallentaa lainausta koskevat tiedot; lainauspäivämäärä saadaan järjestelmäajasta ja eräpäivä lasketaan 2 vk kk päähän (lainattavan niteen tyypistä riippuen) lainauspäivämäärästä poistalainaus(lainaus_ref): poistaa Lainaus-olion, jonka tunnistin on saatu Palautusohjain-olion hakemana vastaavasta Nide-oliosta; palauttaa tiedon onnistumisesta / epäonnistumisesta. LUOKKA: Palautusohjain Kuvaus: tarkoittaa ohjausluokkaa, jonka velvollisuutena on huolehtia niteen palautuksen vaatimista toimenpiteistä palautettavan niteen koodin tarkistamisesta aina saapumisilmoituksen tulostuttamiseen asti. Attribuutit: viiteattribuutteja niteeseen, nimekkeeseen ja asiakkaaseen Operaatiot: hoidapalautus(nidekoodi): luodaan uusi Palautusohjain-olio, joka alkaa suorittaa seuraavia tehtäviä: () Olio lähettää viestin (haenide) Nide-oliolle sen tarkistamiseksi, onko parametrina välitetty nidekoodi oikea; samalla se tallentaa viiteattribuuttinsa arvoksi osoittimen oikeaan Nide-olioon. (2) Olio lähettää Näyttö-oliolle viestin (näytäok) nidekoodin hyväksymisestä. (3) Olio lähettää Lainaus-oliolle viestin (poistalainaus) vastaavan lainaustiedon poistamiseksi (käyttäen Nide-oliossa olevaa lainaus_ref-attribuuttia hyväkseen). (4) Olio lähettää Nide-oliolle viestin (kirjaapalautettu) sen Tila-attribuutin muuttamiseksi. (5) Olio lähettää Varaus-oliolle viestin (haevaraus) sen selvittämiseksi, onko ko. nimikettä koskevia varauksia; jos on, Varaus palauttaa asiakas_ref-arvon. (6) Olio lähettää Nimeke-oliolle viestin (haenimeke) nimekkeen otsikkotietojen saamiseksi. (7) Olio lähettää Asiakas-oliolle herätteen (haeasiakas) saadakseen selville varauksen suorittaneen asiakkaan tiedot (8) Olio lähettää palautunutta nidettä vastaavalle Nide-oliolle viestin (kirjaa- Varatuksi) niteen merkitsemiseksi varatuksi asiakkaalle. (9) Olio lähettää Kirjoitin-oliolle viestin (tulostasaapumisilmoitus) saapumisilmoituksen tulostamiseksi varauksen tehneelle asiakkaalle. (0) Olio lähettää Näyttö-oliolle viestin (näytäok) palautustoimenpiteen onnistumisesta. () Olio tuhoaa itsensä em. tehtävien onnistuneen suorituksen jälkeen, koska olio on tilapäisluonteinen.