Vuokrahuoneistojen välitystä tukeva tietojärjestelmä.

Koko: px
Aloita esitys sivulta:

Download "Vuokrahuoneistojen välitystä tukeva tietojärjestelmä."

Transkriptio

1 Kertusesimerkki: Vuokrhuoneistojen välitystä tukev tietojärjestelmä. Esimerkin trkoituksen on on hvinnollist mllinnustekniikoiden käyttöä j suunnitteluprosessin etenemistä tietojärjestelmän kehityksessä. Esimerkki ei ole täydellinen. Lähdetään liikkeelle krkest yrityksen j sen toiminnn kuvuksest: KtonAlle Oy välittää vuokrhuoneistoj. Yrityksellä on useit toimistoj. Kullkin toimistoll on päällikkö. Toimistoiss on useit työntekijöitä.yrityksen työntekijöistä on muodostettu tiimejä esim. Luksuskämppätiimi. Tiimiin voi kuulu eri toimistojenkin työntekijöitä. Kullkin tiimillä on vetäjä j mhdollisesti sihteeri. Yritys ott välitettäväkseen huoneistoj niiden omistjilt. Kullekin huoneistolle nimetään vstuuhenkilö. Ennenkuin siks vuokr huoneiston, hän yleensä hlu nähdä huoneiston. Tätä vrten järjestetään näyttöjä. Yrityksen työntekijät käyvät trkstmss huoneiston ennen vuokrust, ik join vuokruksen ikn sekä vuokrsuhteen päätyttyä. Trkstusten tulos ilmoitetn huoneiston omistjlle j vuokrliselle. Huoneistoll voi oll mont omistj. Vuokrust vrten yritys ltii vuokrsopimuksen, jonk siks j omistjt llekirjoittvt. Yritys mrkkinoi huoneistoj lehtiminoksill j hlu pitää kirj siitä, missä lehdissä j milloin ilmoitus on julkistu. Informtiojärjestelmät /kertusesimerkki 1

2 Alustv oliomlli: johtj sihteeri 0..1 vetäjä vust 1 1 joht toimisto 1 toimistonro {id} 1 töissä 1..n työntekijä tt_nro {id} nimi virk vetää 1..n 1..n tiimi Nimi {id} 1..n 0..1 kuuluu siks nimi {id} kuvilu näyttö päiväys {+id} ik {+id} {id} 1 vst huoneisto tunnus {id} pikkkunt tyyppi vuokr huoneiden_lkm 1 tekee 1..n on-kohde omist {id} 1..n ktselmus ik päiväys {+id} huomiot omistj nimi {id} vuokrj vuokrsopimus solimispäivä {+id} voimss_lken voimss_sti vuokr irtisnomisik {id} {id} minos ltimispvm {+id} julkisukerrt lehti {+id} julkisupäivät (tulukko) Informtiojärjestelmät /kertusesimerkki 2

3 (Tämän esimerkin lkuperäinen trkoitus oli toimi reltiotietokntkvion ltimisen esimerkkinä siksi tämä vihe tulee hiemn ennenikisesti.) Muunnetn mlli reltiotietoknnn kvioksi. Seurvss muunnoksen välivihe, joss on rtkistu yhteyksien toteutus viitevimin, mutt viitevimi ei ole vielä purettu srkkeiksi. Tulut johtj, sihteeri j vetäjä ovt virtulisi j häviävät lopullisess rtkisuss. Yhteys omist on toteutettu erillisenä tulun, smoin monirvoinen ttribuutti julkisupäivät. Ehyt yhteysviiv kuv viitevint, jonk kutt viittv ospuoli tunnistetn. johtj sihteeri 0..1 vetäjä 1 joht toimisto toimistonro ref(johtj) 1 1 töissä 1..n työntekijä tt_nro nimi virk ref(toimisto) ref(tiimi) vust 1..n 1..n 0..1 kuuluu 1 vetää 1..n tiimi Nimi ref(vetäjä) ref(sihteeri) vuokrj nimi kuvilu siks vuokrsopimus näyttö päiväys ik ref(siks) ref(huoneisto) 1 vst huoneisto tunnus pikkkunt tyyppi vuokr huoneiden_lkm ref(työntekijä) tekee on-kohde omistus ref(huoneisto) ref(omistj) ktselmus ik päiväys huomiot ref(työntekijä) ref(kohde) nimi omistj solimispäivä voimss_lken voimss_sti vuokr irtisnomisik ref(siks) ref(huoneisto) minos ltimispvm julkisukerrt lehti ref(huoneisto) julkisu julkisupäivä ref(minos) Informtiojärjestelmät /kertusesimerkki 3

4 Seurvss kvioss muunnos on viety loppuun sti. (*):llä merkityt srkkeet kuuluvt tulun vimeen. Viitevimet on merkitty piirtämällä nuoli viitevimest viitttvn tuluun. toimisto *toimistonro Johtj:Työntekijänro(>) työntekijä *tt_nro nimi virk toimisto(>) tiimi(>) tiimi *Nimi vetäjä(>) sihteeri(>) *nimi kuvilu siks näyttö *päiväys *ik siks(>) *huoneisto(*) huoneisto *tunnus pikkkunt tyyppi vuokr huoneiden_lkm vstv(>) omistus *huoneisto_tunnus(>) *omistj_nimi(>) ktselmus ik *päiväys huomiot Ktselmoij(>) *Kohde(>) *nimi omistj vuokrsopimus *solimispäivä voimss_lken voimss_sti vuokr irtisnomisik siks(>) *huoneisto(>) minos *ltimispvm julkisukerrt *lehti *huoneisto(>) julkisu *julkisupäivä *ltimispvm *lehti *huoneisto Informtiojärjestelmät /kertusesimerkki 4

5 SQL-muotoisen reltiokvion tulos on seurv: crete tble toimisto ( toimistonro integer, vrchr(40), vrchr(20), johtj integer, primry key (toimistonro)); crete tble tyontekij( tt_nro integer, nimi vrchr(40), vrchr(40), vrchr(40), virk vrchr(40), toimisto integer, tiimi vrchr(40), primry key (tt_nro)); crete tble siks( nimi vrchr(40), vrchr(40), vrchr(40), kuvilu vrchr(240), primry key (nimi)); crete tble huoneisto( tunnus integer, vrchr(40), pikkkunt vrchr(40), tyyppi vrchr(40), vuokr integer, huoneiden_lkm integer, vstv integer, primry key (tunnus)); crete tble minos huoneisto integer, lehti vrchr(40), ltimispvm dte, Informtiojärjestelmät /kertusesimerkki 5

6 julkisukerrt integer, primry key (huoneisto, lehti, ltimispvm)); crete tble omistj( nimi vrchr(40), vrchr(40), vrchr(20), primry key (nimi)); crete tble ktselmus( Ktselmoij vrchr(40), Kohde integer, päiväys dtetime, huomiot vrchr(2000), primry key (kohde,pivys); crete tble vuokrsopimus( siks vrchr(40), huoneisto integer, solmimispiv dte, voimss_lken dte, voimss_sti dte, vuokr integer, irtisnomisik dte, primry key (huoneisto,solmimispiv)); crete tble näyttö( huoneisto integer, siks vrchr(40), pivys dtetime, primry key (huoneisto,siks,pivys)); crete tble tiimi( Nimi vrchr(40), vetj vrchr(40), sihteeri vrchr(40), primry key (nimi)); Informtiojärjestelmät /kertusesimerkki 6

7 crete tble omistus( huoneisto_tunnus integer, omistj_nimi vrchr(40), primry key (huoneisto_tunnus,omistj_nimi)); crete tble julkisu( julkisupiv dte, ltimispvm dte, lehti vrchr(40), huoneisto integer, primry key (julkisupv, ltimispvm,lehti,huoneisto); lter tble toimisto dd ( foreign key (johtj) references tyontekij); lter tble tyontekij dd ( foreign key (toimisto) references toimisto, foreign key (tiimi) references tiimi ); lter tble huoneisto dd ( foreign key (vstv) references tyontekij); lter tble minos dd ( foreign key (huoneisto) references huoneisto); lter tble ktselmus dd ( foreign key (ktselmoij) references tyontekij, foreign key (kohde) references huoneisto); lter tble vuokrsopimus dd ( foreign key (siks) references siks, Informtiojärjestelmät /kertusesimerkki 7

8 foreign key (huoneisto) references huoneisto); lter tble nytto dd ( foreign key (siks) references siks, foreign key (huoneisto) references huoneisto); lter tble tiimi dd ( foreign key (vetj) references tyontekij, foreign key (sihteeri) references tyontekij); lter tble omistus dd ( foreign key (omistj) references omistj, foreign key (huoneisto) references huoneisto); lter tble julkisu dd ( foreign key (huoneisto) references huoneisto); Informtiojärjestelmät /kertusesimerkki 8

9 Trkstelln yrityksen tietojärjestelmän käyttötpuksi. (knnttisi tehdä ennen reltiotietokntrkenteen tuottmist) Virkilijoiden käyttämiä peruskäyttötpuksi voisivt oll: Uusien huoneistojen vienti Omistjn vienti Huoneistotietojen muutos Huoneistotietojen poisto Uusien sikkiden vienti Näyttöjen llokointi Vuokrsopimusten kirjus Minosten kirjus Ktselmusten kirjus Työnjohtohenkilöstön käyttötpuksi voisivt oll: Uuden työntekijän vienti Työntekijätietojen muutos Työntekijän poisto Tiimin perustminen Työntekijän liittäminen tiimiin Työntekijän poisto tiimistä Toimiston perustminen Toimiston poistminen Toimiston tietojen muuttminen Asikklle trkoitettuj käyttötpuksi voisivt oll: Huoneistotietojen ktselu Näyttöjn vrus Näyttöjn peruminen Informtiojärjestelmät /kertusesimerkki 9

10 Kun järjestelmän tietosisältöä trkstelln näiden käyttötpusten pohjlt, tulee esiin uusi tietotrpeit, joiden perusteell iknstu oliomlli j tietokntkviot joudutn täydentämään. Otetn esimerkiksi vikkp käyttötpus 'huoneistotietojen ktselu'. Vihtoehto1: Asiks vlitsee pikkkunnn j huoneistotyypin. Järjestelmä esittää sikklle luettelon kyseisen pikkkunnn hlutun tyyppisistä huoneistoist Asiks vlitsee huoneiston Asikklle näytetään yksityiskohtist tieto huoneistost, mm. huoneiston pint-l, huoneiden lukumäärä, vpmuotoinen kuvus huoneistost, selvitys huoneiston vrustelust, mhdollisi kuvi. Asiks voi hlutessn jtk käyttötpukseen 'näytön vrus' ti siirtyä ktsomn jotin uutt huoneisto. Huoneistoon lunperin liitetyt tiedot trjovt eivät trjo kike käyttötpuksen kuvuksen yhteydessä minittu informtiot. Käyttötpust vstv näkymä tietosisällöstä voisi oll tällöin: Informtiojärjestelmät /kertusesimerkki 10

11 tt_nro nimi virk työntekijä 1 vst huoneisto tunnus pikkkunt tyyppi vuokr huoneiden_lkm koko tekstikuvus vrustelu [tulukko] 1..1esittää kuvnro selitys kuv kuv Informtiojärjestelmät /kertusesimerkki 11

12 Muuttunut oliomlli vikuttisi puolestn reltiotietokntkvioon seurvsti: crete tble huoneisto( tunnus integer, vrchr(40), pikkkunt vrchr(40), tyyppi vrchr(40), vuokr integer, huoneiden_lkm integer, vstv integer, koko deciml(4,1), tekstikuvus vrchr(2400), vrustelu chr(32), primry key (tunnus)); crete tble kuv ( kuvnro integer, huoneisto integer, selitys vrchr(240), kuv bit_vrying(64k), primry key (kuvnro)); crete tble vrustelu ( huoneisto integer, vruste vrchr2(30), primry key (huoneisto, vruste)); lter tble kuv dd foreign key (huoneisto) references huoneisto; lter tble vrustelu dd foreign key (huoneisto) references huoneisto; Informtiojärjestelmät /kertusesimerkki 12

13 Kosk tietosisältö muuttui trvitn uusi käyttötpuksi: Kuvn lisääminen Kuvn poistminen Smll tvoin olisi syytä käydä läpi kikki käyttötpukset (mieluummin ennen tietoknnn rkenteen tuottmist). Oliomllin j käyttötpusmllin yhdenmukisuuden vrmistmiseksi voisi lti käyttötpus / luokk - riippuvuusmtriisi, jok kuv miten, käyttötpukset liittyvät oliomllin luokkiin (luovt ilmentymiä, kirjvt muutoksi, poistvt ilmentymiä, käyttävät ilmentymien tietoj) si k s h u o n e is t o k t s e l m u s k u v m i n o s n ä y tt ö o m is t j ti i m i t o i m is t o t y o n t e ki j v u o k r s o p i m u s * j o h t * v u s t * k u u l u u * o m is t * t ö is s ä * v e t ä ä Uusien huoneistojen vienti L Omistjn vienti L L Huoneistotietojen muutos M Huoneistotietojen poisto P P P P Uusien sikkiden vienti L Näyttöjen llokointi L Vuokrsopimusten kirjus L Minosten kirjus L Ktselmusten kirjus L Kuvn lisääminen L Kuvn poistminen P Uuden työntekijän vienti L L Työntekijätietojen muutos M Työntekijän poisto P Tiimin perustminen L Työntekijän liittäminen tiimiin L L L Työntekijän poisto tiimistä P P P Toimiston perustminen L Toimiston poistminen P Toimiston tietojen muuttminen M Huoneistotietojen ktselu R Näyttöjn vrus L Näyttöjn peruminen P Informtiojärjestelmät /kertusesimerkki 13

14 Informtiojärjestelmät /kertusesimerkki 14

15 Tämä kvio näyttää, että käyttötpusmlli on puutteellinen trvitn käyttötpukset inkin seurviin tehtäviin: Asikkn poisto Asikstietojen muutos Näytön poisto Omistjtietojen muutos Omistjn poisto Tiimin lopettminen Toimistopäällikön nimitys Toimistöpäällikön erotus/siirto Työntekijän erotus Työntekijän siirto Nämä siis pitäisi ott mukn ylläolevn mtriisiin. Voidn lti myös reltio / käyttötpus -riippuvuusmtriisi, jonk vull vrmistutn siitä, että toiminnot vikuttvt tietokntn sinmukisesti. Informtiojärjestelmät /kertusesimerkki 15

16 Käyttöliittymä j järjetelmän toteutusperitteet Kun käyttötpusmlli j siihen liittyvä tietosisältömlli on stu vlmiiksi muutmn itertiokierroksen jälkeen olisi oike hetki lti reltiotietokntkvio. Tällöin myös suunnitelln käyttöliittymä j järjestelmän yleisrkkitehtuuri tehdäänkö keskitetty vi hjutettu järjestelmä millisi osjärjestelmiä millä lustll osjärjestelmät toimivt miten käyttötpukset jetn osjärjestelmien kesken. Seurvss trkstelln sikklle trkoitettuj plveluit: Huoneistotietojen ktselu Näyttöjn vrus Näyttöjn peruminen. Näistä muodostetn Asiks-osjärjestelmä, jonk toteutuslustksi vlitn www. Järjestelmä trjo kikelle milmlle luettelon, (KMLu) joss pikkkunnittin kerrotn trjoll olevien eri kokoisten huoneistojen määrät rekisteröityneille sikkille selusplvelun (ReASe), jost siks voi hke huoneisto eri kriteerein j s näkyviinsä huoneistoon liittyvän informtion. Jos huoneisto miellyttää sikst hän voi vrt huoneistolle näyttöjn. Asikkille trkoitettu pääsivu näyttää jotkuinkin seurvlt: Informtiojärjestelmät /kertusesimerkki 16

17 KtonAlle Oy Ei enää elämää! Meiltä hyviä vuokr-suntoj hyviltä pikoilt Rekisteröidy sikkksemme niin pääset käyttämään edistyksellistä sunnonhku plvelumme. Informtiojärjestelmät /kertusesimerkki 17

18 Linkkiä vuokr-suntoj (1) näpäyttämällä käynnistyy tietokntproseduuri kmlu, jok näyttää pikkkunnittin j huoneistotyypeittäisen luettelon trjonnst. Linkistä rekisteröidy (2) pääsee sivulle uusisiks.html, joss potentiliselle sikklle esitetään rekisteröintilomke. Linkki sunnonhku plvelumme (3), vie sikstunnuksen kysymyssivun kutt vrsinisille sunnonhkusivuille. Oheinen kvio kuv osn järjestelmän yleisrkenteest: Informtiojärjestelmät /kertusesimerkki 18

19 Pääsivu (yllä) 1 Proseduuri kmlu Sivu:Kmlu 2 Sivu: Uusisiks.html 3 Proseduuri: kirjasiks Sivu: Tunnus.html Proseduuri: TunnusTrkistus Proseduuri: generoihkusivu Sivu: HeAsunto Proseduuri: NytKmpt Sivu: NytKmpt Proseduuri: VrNytto Proseduuri: HeKuv Näyttövrus Informtiojärjestelmät /kertusesimerkki 19

20 Proseduuri KMLu: Proseduuri tulost luettelon vpist sunnoist lueittin. Rportin rkenne on seurv: KtonAlle Oy Alppil: Arbi: 6 h+k 1 kpl h+k 2 kpl h+k 2 kpl h+kk 1 kpl sv 1 kpl 450 Rekisteröidy sikkksi! Informtiojärjestelmät /kertusesimerkki 20

21 Rportin perusdtn tuottv kysely on seurv: select pikkkunt, huoneiden_lkm, tyyppi, count(*) lkm, min(vuokr) minimi, mx(vuokr) mksimi from huoneisto group by pikkkunt, huoneiden_lkm, tyyppi order by pikkkunt, huoneiden_lkm desc, tyyppi desc; HTML-esityksen rkenne on: <H1>KtonAlle Oy</H1> <H2>Pikkkunt</H2 <tble border=0 width=80%> (tällinen rivi tuotetn in kun pikkkunt vihtuu), <tr><td> huoneiden_lkm <td>tyyppi <td>lkm <td>minimi <td>mksimi (tällinen rivi tuotetn jokist kyselyn tulosriviä kohden) </tble> (määre kunkin pikkkunnn rivijoukon loppuun) Informtiojärjestelmät /kertusesimerkki 21

22 Sivull HeAsunto on lomke, jonk kutt käyttäjä voi nt hkuehtoj sunnolle. Lomkkeen lustv mlli on seurv: KtonAlle Oy Alue: Vuokr enintään: Huoneit: Huoneistotyyppi: Astinpesukone Autopikk /- tlli Piiloss: sikkn-nimi Viinikellri/-kppi He Tyhjennä Informtiojärjestelmät /kertusesimerkki 22

23 Miten lomke on toteutettu? mitä osi html-lomke, jonk kutt nnetut tiedot käsitellään tietokntproseduurill NytKmpt <Form method="get" ction =" lomkkeell vkiotekstiä, 4 vlikko (select) (lue, vuokr,huoneit,huonetyyppi) n kpl vlintnppej (checkbox) tyyppisiä syöttökenttiä (nppi1,, nppin) hidden- piilokenttä (snimi), joss rvon sikkn nimi submit j reset npit. Alue vlikon rvot hetn knnst, smoin sikkn nimi. Muilt osin lomke on vkiomuotoinen. miten lomkett käsitellään Tietokntproseduuri NytKmpt käsittelee lomkkeen. Proseduurill oltv prmetri kutkin syöttökenttää kohden, eli prmetrit ovt lue, vuokr,huoneit,huonetyyppi, nppi1,, nppin, snimi Ennen kyselyn suoritust tehdään nnetuille prmetreille esimuokkust. NppiX prmetreist muodostetn hkupeite, jot voidn verrt vrustelu-tietoon. Suoritetn kysely, jok hkee ehdot täyttävät huoneistot. Generoidn tulossivu. Tulossivulle tulee kustkin löydetystä huoneistost perustiedot j kuvus sekä linkit huoneiston kuvien hku vrten. Informtiojärjestelmät /kertusesimerkki 23

24 Huoneisto, omistj, toimisto j työsuhdetietojen käsittelyä vrten toteutetn ohjelmisto sovelluskehittimellä, mhdollisimmn pienellä työpnoksell, käyttäen kehittimen perusplveluj. Millinen olisi luentomonisteen mukisen sovelluskehittimen vull tuotettu sovellus huoneistojen käsittelyyn? Sovelluksess on hierrkkinen ikkunrkenne, jonk perustn on huoneisto-tuluun liittyvä käyttöikkun. Ikkunss näkyy yksi tietue kerrlln. Hierrkisesti listeiset ikkunt toteutetn kikki erillisinä npist ukevi ponnhdusikkunoin (Delphissä tämä on hiemn hnklmp kuin siinä tpuksess, että li-ikkunt olisivt smll näyttösivull kuin pääikkun, mutt niitä ei s mhtumn smlle näyttösivulle). Alisteiset ikkunt ovt tulukkomuotoisi, eli ikkunss näkyy kerrll usempi rivejä. Alisteisiss ikkunoiss näkyvät rivit kytkeytyvät pääikkunn viitevimen perusteell. Alisteisi ikkunoit: omistminen minos - julkisukert ktselmus näyttö Ikkunoiss pystytään selmn tietueit, lisäämään j poistmn niitä. Vihdettess riviä pääikkunss vihtuvt rivit myös listeisiss ikkunoiss. Ikkunoihin ei liity utomttisesti mitään tietokenttien trkistuksi, vn ne on erikseen ohjelmoitv (ti määriteltävä) Informtiojärjestelmät /kertusesimerkki 24

25 Muut osttv: tietokntproseduurin käsite, mitä niillä voi tehdä, miksi milloin käyttää eri toteutustpoj miten sovellukehittimellä tehtyyn sovellukseen toteutetn sovelluslogiikk siks / plvelin -sovelluksen työnjko URL hypertekstidokumentti stttiset j dynmiset html-dokumentit Mitä ei trvitse ost: PL/SQL-syntksi. HTML:n yksityiskohtinen syntksi. Pitäisi kuitenkin osttv kurssill käsitellyssä ljuudess millisist ossist html-dokumentti koostuu, mutt ei trvitse muist miten ne esitetään. Trvittess jetn lyhyt syntksi. Informtiojärjestelmät /kertusesimerkki 25