Elektroonilise ajalehe projekti aruanne. Oleg Mürk

Similar documents
MAJANDUSTARKVARA ABACUS KASUTUSPLATVORMI ANALÜÜS

oleopator G Maasse paigaldatav õlipüüdur l Klaasplast I klassi õlipüüdur vastavalt standardile EN 858 Tootesertifikaat Eraldusvõime Materjal

Ravimi kõlblikkusaeg ja säilitustingimused. Laivi Saaremäel

LOCATIFY. Aarde jaht Veebi juhend

EUROOPA PARLAMENDI JA NÕUKOGU DIREKTIIV 2006/121/EÜ, 18. detsember 2006,

Masinloetavate avaandmete esitamine Lennuameti näitel

Programmeerimine toimub ikoonide abil. Programm moodustub omavahel juhtmega ühendatud, üksteise järele asetatud ikoonidest. Vaata joonis 1.

LEGO MINDSTORMS Education NXT v1.1 lühitutvustus

Tupikud. Süsteemi mudel. Tupiku tingimused. Tupikute käsitlemise meetodid. Tupikute ennetamine. Tupikute vältimine. Tupikute avastamine

This document is a preview generated by EVS

Lisa 1. EESTI VÕISTLUSTANTSU LIIDU treeneritele kutsekvalifikatsiooni omistamise ÕPPEKAVA. TREENER I, II ja TREENER III ASTE

This document is a preview generated by EVS

Vali riba pealt: View > Backgrounds ning lülita taustapilt WBBackground välja nii, et näeksid mudelit selgemalt.

Muuseumide statistika. Kutt Kommel analüütik

Seiretulemused: soojuslik mugavus ja piirete toimivus

OPERATSIOONISÜSTEEMIDE EHITUS. Ülevaade. Taust. Võrkude tüübid. Topoloogiad. Side. Kommunikatsiooni protokollid VARMO VENE & MEELIS ROOS 2

EESTI STANDARD EVS-EN 15532:2008. Cycles - Terminology

This document is a preview generated by EVS

Kogemused POCT INRanalüsaatorite. Agnes Ivanov Tartu Ülikooli Kliinikum Ühendlabor

LEGO Mindstorms NXT ga ühilduv aeglase kiirenduse sensor

Infosüsteemide etalonturbe süsteemi ISKE rakendamise mõju IT riskidele Eesti avaliku sektori näitel

LEGO Mindstorms NXT juhtimine mobiilsete seadmetega

Komisjoni otsus seoses juhtumiga EE/2012/1352: Eesti konkreetsetes mobiiltelefonivõrkudes häälkõne lõpetamine

This document is a preview generated by EVS. Swimming pools - Part 1: Safety requirements for design CONSOLIDATED TEXT

This document is a preview generated by EVS

This document is a preview generated by EVS

Väline kvaliteedi kontroll- milline oleks optimaalne valik? Agnes Ivanov Tartu Ülikooli Kliinikum, Ühendlabor

Avalike ärakuulamiste korraldamise ja läbiviimise töökord ravimiohutuse riskihindamise komitees (PRAC)

This document is a preview generated by EVS

Euroopa Liidu Nõukogu Brüssel, 23. detsember 2016 (OR. en) Jeppe TRANHOLM-MIKKELSEN, Euroopa Liidu Nõukogu peasekretär

Tõnis Vilu ÖKOKRIITILISE ANALÜÜSI VÕIMALUSTEST UKU MASINGU LOODUSTEKSTI MÄLESTUSI TAIMEDEST NÄITEL. Magistritöö

This document is a preview generated by EVS

EUROOPA LIIT 2005/0183 (COD) PE-CONS 3696/1/07 REV 1

Mindsensors arvuti kontrolleri kasutamine koolirobootika komplektiga

1.1. The regatta will be governed by the rules as Võistlusreeglite (PVR) alusel.

This document is a preview generated by EVS

This document is a preview generated by EVS

TTÜ EESTI MEREAKADEEMIA. Merendusteaduskond Meretranspordi juhtimise õppetool

Ajakohastatud juhend liikmesriikidele vigade käsitlemiseks iga-aastastes kontrolliaruannetes

WILSON BUSINESS ABSTRACTS CD-ROM

This document is a preview generated by EVS

This document is a preview generated by EVS

LEGO Mindstorms NXT ga ühilduv WiFi sensor

PRIVAATSUSÕIGUSE RIIVE PROPORTSIONAALSUSE HINDAMISE KRITEERIUMID EUROOPA LIIDU ÕIGUSES ELEKTROONILISE SIDE ANDMETE KAITSE VALDKONNA NÄITEL

Tallinna Ülikool Digitehnoloogiate Instituut. Diagrammid ja nende kasutamine Excel 2016 näitel Seminaritöö

KUTSE. Eesti lahtised Meistrivõistlused 2018 Estonian Open Championships 2018 MN13 MN MN40, MN50; MN60 Harrastajad detsember 2017 Haanja

TALLINNA TEHNIKAÜLIKOOL. Infotehnoloogiateaduskond. Raadio- ja sidetehnika instituut. Telekommunikatsiooni õppetool

1.1. The regatta will be governed by the rules as Võistlusreeglite (PVR) alusel.

ENTERPRISE ESTONIA NORWAY MIS ON SEKTORI BRAND? MILLEKS ESTONIAN PARTNERSHIP PLATFORM?

EESTI REISIKORRALDUSETTEVÕTETE SUHTELINE MAKSEJÕULISUS JA TEGEVUSE TÕHUSUS AASTATEL

(Teatised) EUROOPA LIIDU INSTITUTSIOONIDE, ORGANITE JA ASUTUSTE TEATISED EUROOPA KOMISJON

2018 UEFA SUPER CUP TICKETING TERMS AND CONDITIONS

This document is a preview generated by EVS

This document is a preview generated by EVS

EUROKOODEKS 6: KIVIKONSTRUKTSIOONIDE PROJEKTEERIMINE Osa 2: Projekteerimise alused, materjalide valik ja tööde tegemine

Mittesiduv heade tavade juhend direktiivi 92/57/EMÜ mõistmiseks ja rakendamiseks

VIGADE VÄHENDAMISE VÕIMALUSED LAOPROTSESSIDES MEDIQ EESTI OÜ NÄITEL

Näide läbi kihtide. Ülesandepüstitus. Kihtideks jagunemine. Serverrakenduse komponendid ja nende vaheline suhtlus.

Nutikas spetsialiseerumine - kitsaskohtade ja uute võimaluste analüüs. Eesti Arengufond

LEGO MINDSTORMS NXT ga ühilduvad alalispinge ja alalisvoolu andurid

Euroopa hea tava suunised veose kinnitamiseks maanteevedudel

2018 ESTONIAN OPEN RALLY CHAMPIONSHIP REGULATIONS 2018 EESTI AUTORALLI LAHTISTE MEISTRIVÕISTLUSTE ÜLDJUHEND

OSAKAPITALI SISSEMAKSETA ASUTATUD OSAÜHINGUTE JÄTKUSUUTLIKKUSE HINDAMINE

Golfireeglid. Kinnitanud R&A Rules Ltd ja Ameerika Ühendriikide Golfiliit. 32. väljaanne Kehtiv alates 1. jaanuarist 2012

EESTI AKREDITEERIMISKESKUS ESTONIAN ACCREDITATION CENTRE

ASSA ABLOY Baltic hinnakiri 2016

VÄIKESTELE JA KESKMISTELE ETTEVÕTETELE

Lõppraport: Universaalse disaini kontseptsiooni rakendamise kaudu täieliku kaasamise saavutamine Mr Soren GINNERUP, Konsultant

Tartu Ülikool Loodus- ja tehnoloogiateaduskond Tehnoloogiainsituut

SPETSIALISTIDELE MÕELDUD RIIGIHANKEMENETLUSTE SUUNISED

Majandus- ja Kommunikatsiooniministeerium EESTI INFOÜHISKONNA ARENGUKAVA 2020

This document is a preview generated by EVS

This document is a preview generated by EVS

Kommunikatsiooni- ja kujunduskäsiraamat

Keeletehnoloogia rakendustest eesti keeles

TALLINNA TEHNIKAÜLIKOOL

Ajakirjanduse ja poliitika roll ning suhted poliitilises skandaalis Silvergate i näitel

This document is a preview generated by EVS

Avaliku sektori ressursikasutuse analüüs riigi saldoandmike põhjal aastatel

This document is a preview generated by EVS

KARJÄÄRIPLANEERIMINE

keskkonnavastutuse direktiivi rakendamise praktikast ja kasutatud metoodikatest Euroopa Liidu liikmesriikides

EVS-EN 13546:2002+A1:2007 This document is a preview generated by EVS

KOOLIÕPIKUD KUI ERINEVA MAAILMAVAATE KUJUNDAJAD: EESTI AJALOO GÜMNAASIUMIÕPIKUTE NÄITEL ( )

TEADLIKKUSE SUURENDAMISE KAMPAANIA MEIL KÕIGIL ON ÜHESUGUSED UNISTUSED

Riigi roll popmuusika tootmises, levitamises ning tarbimises Martin Cloonani teooria alusel ja Eesti raadiojaamade näitel

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

SUPPLEMENTARY REGULATIONS VÕISTLUSTE JUHEND

KEILA JK UUDISKIRI OKTOOBER 2017 KEILA JALGPALLIKLUBI AMETLIK TRÜKIPARTNER:

ET ELi noortegarantii: esimesed sammud on tehtud, kuid ees ootavad rakendamisega seotud riskid. Eriaruanne EUROOPA KONTROLLIKODA

This document is a preview generated by EVS

MAKSEJÕUETU TÖÖANDJA ETTEVÕTTE ÜLEMINEKU MÕJU TÖÖLEPINGUTELE

Jigoro Kano kui judo looja ja arendaja

Diagrammid ja nende kasutamine Excel 2016 näitel

KLASTRIPROGRAMMI VAHEHINDAMINE. Pille Mihkelson, Tanel Rebane, Ewen Peters, Karel Lember

This document is a preview generated by EVS

Transcription:

Elektroonilise ajalehe projekti aruanne Oleg Mürk

Sisukord 1 Sissejuhatus 2 2 Eesmärk 3 3 Talitluse mudel 4 3.1 Talitlusobjektmudel..................................... 4 3.2 Talitlusloomudel...................................... 5 3.3 Talitluse realisatsioon.................................... 6 4 Nõuete spetsifikatsioon 7 4.1 Loogiline andmemudel................................... 7 4.2 Funktsionaalsed nõuded................................... 8 4.2.1 Kasutaja kasutuslood................................ 9 4.2.2 Töötaja kasutuslood................................ 10 4.2.3 Toimetaja kasutuslood............................... 12 4.2.4 Administraatori kasutuslood............................ 14 4.3 Mitte-funktsionaalsed nõuded............................... 15 4.3.1 Lugeja ligipääsupoliitikad............................. 15 4.3.2 Jõudlus....................................... 15 5 Analüüs: loogiline andmemudel 16 6 Analüüs: lugeja moodul 19 6.1 Staatiline Struktuur..................................... 19 6.1.1 Liidesed....................................... 19 6.1.2 SessiooniHaldur.................................. 20 6.1.3 Põhihaldurid.................................... 21 6.1.4 Taaskasutatavad haldurid.............................. 26 6.2 Käitumine.......................................... 28 7 Analüüs: töötaja moodul 30 8 Teostus- ja levitus- mudel 31 1

Peatükk 1 Sissejuhatus Antud dokument esitab elektroonilise ajalehe projekti (fiktiivseid) tulemusi ning sisaldab järgnevaid osi: eesmärk, talitluse mudel (business model), nõuete spetsifikatsioon (requirements specification), analüüsimudel (analysis model), teostus- ja levitus- mudel (implementation and deployment model). Nende sisu vastab üldjoontes vastavatele RUP i artefaktidele. 2

Peatükk 2 Eesmärk Luua elektroonilise ajalehe tarkvara, mis võimaldaks avaldada artikleid ning lasta inimestel neid lugeda ja kommenteerida. Peab toetama artiklite koostamise, toimetamise, kinnitamise ning avaldamise protsessi. Artiklitel võivad olla atribuudid nagu pealkiri, kuupäev, autorid, rubriigid. Artikleid peab olema võimalik avaldada nii eraldi kui ka ajalehe numbri sees. Peab võimaldama tekitada vaateid, kus esitataks erinevate kriteeriumitele vastavaid artikleid. Peab toetama väljaannete arhiivi kuupäevade kaupa ning võimaldama artiklite täistekstiotsingut. Peab eristama erinevate õigustega lugejaid (tasuta, tasunud, jne) ning käituma lähtudes vastava lugejate liigi jaoks määratud ligipääsupoliitikast: millal ja milliseid artikleid saab vaadata, kas näidata reklaami, jne. 3

Peatükk 3 Talitluse mudel Selles peatükis kirjeldame loodava elektroonilise ajalehe üldisi toimimise printsiipe. 3.1 Talitlusobjektmudel <<business entity>> Rubriik Üks lehe number alamrubriik <<business entity>> Väljaanne <<business entity>> Artikkel <<business entity>> Kommentaar Artikkel võib olla sidumata väljaandega. Sellisel juhul on ta kättesaadav omaette. Joonis 3.1: Põhimõisted Joonisel 3.1 on esitatud relevantsed põhimõisted: Väljaanne - üks ajalehe number. Artikkel - artiklid võivad kuuluda väljaannetesse, kuid ei pruugi. 4

Rubriik - artikleid klassifitseeritakse hierarhilistesse rubriikidesse. Kommentaar - artiklitega võivad olla seotud kommentaarid. <<business worker>> Töötaja <<business worker>> Toimetaja Joonis 3.2: Põhitöötajad Joonisel 3.2 on esitatud elektroonilise ajalehe protsessi põhitöötajad: Töötaja - funktsiooniks on artiklite koostamine. Toimetaja - funktsiooniks on artiklite toimetamine, nende kinnitamine, sidumine väljaannetega ning avaldamine. 3.2 Talitlusloomudel <<business actor>> <<business use case>> Ajalehe lugemine Lugeja <<business use case>> Ligipääsupaketi ostmine Joonis 3.3: Lugeja talitluslood Joonisel 3.3 on esitatud loodava süsteemi ainuke talitlusaktor Lugeja ning tema talitluslood: Ajalehe lugemine - saab navigeerida väljaannetes ja artiklites, lugeda ning kommenteerida neid. Ligipääsupaketi ostmine - selleks, et lugeda ajalehte peab ostma ligipääsupaketi, kuigi on võimalik, et on olemas ka vaikimisi tasuta ligipääs. 5

3.3 Talitluse realisatsioon Toimetaja tegevused Lugeja tegevused Artikli saatmine kinnitamisele Artikli ülevaatamine [sobib] Artikli kinnitamine [ei sobi] Artikli koostamine Artikli parandamine Artikli lisamine väljaanetesse Lugemine Kommenteerimine Artikli kommenteerimine Töötaja tegevused Artikli avaldamine Artikli tagaslükamine Joonis 3.4: Elektroonilise ajalehe põhiprotsess Joonisel 3.4 on esitatud elektroonilise ajalehe põhiprotsess. 6

Peatükk 4 Nõuete spetsifikatsioon Selles peatükis kirjeldame nõuded elektroonilise ajalehe tarkvarale. 4.1 Loogiline andmemudel Rubriik +nimetus : String Vaata olekuskeemi Vaata olekuskeemi alamrubriik Artikli sisu Väljaanne +aeg : Date Artikkel hetkeseis avaldatud versioon +aeg : Date +pealkiri : String +kokkuvõte : String +tekst : String Kommentaar autor Inimene Kommentaarid võivad olla kas seesmised või välised +on seesmine : boolean +pealkiri : String +sisu : String +aeg : Date autor +nimi : String +email : String Joonis 4.1: Loogiline andmemudel Joonisel 4.1 on esitatud elektroonilise ajalehe loogiline andmemudel: Väljaanne - üks ajalehe number, joonisel 4.2 on esitatud selle olekuskeem. 7

Artikkel - joonisel 4.3 on esitatud artikli olekuskeem, artikli sisust võib olla kaks versiooni: hetkeversioon ning avaldatud versioon. Artikli sisu - artikli sisu, mis ei ole seotud ajalehe protsessi korraldamisega. Rubriik - artikleid klassifitseeritakse hierarhilistesse rubriikidesse. Kommentaar - artikli kommentaar, võib olla kas seesmine või väline (lugejate jaoks). Inimene - süsteemis esinev inimene: kas lugeja või töötaja. Avaldamata Avaldatud Muudatused avaldatud väljaandes on kohe nähtavad lugejale Joonis 4.2: Väljaande olekud Artiklit võib avaldada ainult kinnitatud olekus Kinnitatud Koostamisel Saadetud kinnitamisele Kinnitama peab toimetaja Tagasilükatud Joonis 4.3: Artikli olekud 4.2 Funktsionaalsed nõuded Selles sektsioonis esitame süsteemi funktsionaalsed nõuded. Süsteemi aktorid on esitatud Joonisel 4.4: 8

Lugeja - ajalehe lugeja. Töötaja - ajalehe töötaja, kelle põhifunktsiooniks on artiklite koostamine. Toimetaja - ajalehe töötaja, kelle põhifunktsiooniks on artiklite toimetamine, kinnitamine, nende sidumine väljaannetega ning avaldamine. Administraator - toetav aktor, kelle funktsiooniks on loodava süsteemi töös hoidmine. Lugeja Töötaja Toimetaja Administraator Joonis 4.4: Aktorid 4.2.1 Kasutaja kasutuslood Navigeerimine artiklites Artikli lugemine Navigeerimine väljaandes Artikli kommentaaride lugemine Lugeja Navigeerimine väljannete arhiivis Artikli kommenteerimine Artikli otsing Joonisel 4.5 on esitatud lugeja kasutuslood: Joonis 4.5: Lugeja kasutuslood 9

Navigeerimine artiklites - lugeja saab vaadata artiklite nimekirju, mis on piiratud etteantud rubriigiga ning ajavahemikuga. Artikleid esitatakse sorteerituna kronoloogilises järjekorras. Navigeerimine väljaandes - lugeja saab navigeerida rubriikide hierarhias ning vaadata hetkel valitud rubriigiga ning selle alamrubriikidega seotud artikleid, mis kuuluvad väljaandesse. Artiklite järjekord on määratud toimetaja poolt. Navigeerimine väljaannete arhiivis - lugeja saab valida väljaannet kuupäeva järgi. Artikli otsing - lugeja saab sooritada täistekstiotsingut üle kõikide artiklite. Artikli lugemine - lugeja saab lugeda artiklit. Artikli kommentaaride lugemine - artikli kommentaare esitatakse kronoloogilises nimekirjas. Artikli kommenteerimine - lugeja saab lisada kommentaari artikli kohta. Esimeses kahes kasutusloos iga artikli kohta näidatakse tema pealkiri, kuupäev, autorid, kokkuvõte ning kommentaaride arv. Lugejaks registreerimine Lugeja Ligipääsupaketi ostmine Joonis 4.6: Lugeja ülejäänud kasutuslood Joonisel 4.6 on esitatud lugeja ülejäänud kasutuslood: Lugejaks registreerumine - enne ajalehe lugemist peab registreeruma lugejaks, kuigi ajalehte võib lugeda ka anonüümselt. Ligipääsupaketi ostmine - lugeja saab osta endale paketi, mis määrab tema ligipääsuõigusi (vaata Sektsiooni 4.3.1). 4.2.2 Töötaja kasutuslood Joonisel 4.7 on esitatud töötaja artiklitega soetud kasutuslood: Navigeerimine artiklites - sarnane vastava Lugeja kasutuslooga, kuid lisaks on näha artikli staatus (koostamise seis, kas on avaldatud) ning saab filtreerida nende tunnuste järgi. 10

Navigeerimine artiklites Artikli vaatamine Artikli kommentaaride vaatamine Töötaja Artikli kommenteerimine Artikli koostamine Artikli saatmine kinnitamisele Artikli viimine olekusse koostamisel Joonis 4.7: Töötaja artiklitega seotud kasutuslood 11

Artikli vaatamine - sarnane vastava Lugeja kasutuslooga, kuid on näha artikli staatust, ning saab vaadata nii jooksvat seisu kui ka avaldatud versiooni. Artikli kommentaaride vaatamine - sarnane vastava Lugeja kasutuslooga, kuid saab näha ka seesmiseid kommentaare. Artikli kommenteerimine - sarnane vastava Lugeja kasutuslooga, kuid saab koostada ka seesmiseid kommentaare. Artikli koostamine - töötaja saab koostada artiklit: määrata selle pealkirja, kuupäeva, autoreid, rubriike, kokkuvõtet, sisu. Artiklit saavad modifitseerida ainult selle autorid ning toimetaja. Artikli saatmine kinnitamisele - artikli autor saab viia artiklit olekust Koostamisel olekusse Saadetud kinnitamisele. Tüüpiliselt tegeleb toimetaja ainult sellises olekus artiklitega. Artikli saatmine kinnitamisele - artikli autor saab viia artiklit tagasi olekusse Koostamisel. Rubriikide vaatamine Navigeerimine väljaannetes Töötaja Väljaande vaatamine Joonis 4.8: Töötaja kasutuslood Joonisel 4.8 on esitatud töötaja ülejäänud kasutuslood: Rubriikide vaatamine - töötaja saab vaadata rubriikide hierarhiat. Navigeerimine väljaannetes - sarnane vastava Lugeja kasutuslooga. Väljaande vaatamine - saranane vastava Lugeja kasutuslooga. 4.2.3 Toimetaja kasutuslood Joonisel 4.9 on esitatud toimetaja rubriikidega soetud kasutuslood: Rubriikide haldamine - toimetaja saab redigeerida rubriikide hierarhiat. Joonisel 4.10 on esitatud toimetaja artiklitega soetud kasutuslood: 12

Rubriikide haldamine Toimetaja Joonis 4.9: Toimetaja rubriikidega seotud kasutuslood Artikli kinnitamine Artikli tagasiükamine Toimetaja Artikli avaldamine Artikli tagasivõtmine Joonis 4.10: Toimetaja artiklitega seotud kasutuslood 13

Artikli kinnitamine - toimetaja saab viia artiklit olekust Saadetud kinnitamisele olekusse Kinnitatud. Sellises olekus saab artiklit avaldada. Artikli tagasilükkamine - toimetaja saab viia artiklit olekust Saadetud kinnitamisele olekusse Tagasilükatud, mis tähendab seda, et autorid peavad artiklit parandama. Artikli avaldamine - toimetaja saab muuta artiklit lugejatele kättesaadavaks. Artikli kuulumist väljaannetesse määratakse mujal. Artikli tagasivõtmine - toimetaja saab võtta avaldatud artiklit tagasi, pärast mida ei ole artikkel enam lugejatele nähtav. Väljaande koostamine Väljaande avaldamine Toimetaja Väljaande tagasivõtmine Joonis 4.11: Toimetaja väljaannetega seotud kasutuslood Joonisel 4.11 on esitatud toimetaja väljaannetega soetud kasutuslood: Väljaande koostamine - toimetaja valib millised artiklid lähevad väljaandesse. Lisaks saab määrata artikli kaalu. Lugejale näidatakse artikleid kaalude vähenemise järjekorras (võrdsete kaalude puhul kronoloogilises järjekorras). Väljaande avaldamine - toimetaja saab muuta väljaannet nähtavaks lugejatele. Kõik muudatused väljaandes on koheselt nähtavad lugejatele. Väljaande tagasivõtmine - toimetaja võib otsustada võtta väljaannet tagasi, pärast mida ei ole väljaanne enam lugejatele nähtav. 4.2.4 Administraatori kasutuslood Joonisel 4.12 on esitatud administraatori kasutuslood: Töötajate haldamine - registreerib ning haldab töötajaid, määrab nende ligipääsuõigusi (töötaja, toimetaja). 14

Töötajate haldamine Lugejate haldamine Administraator Lugejate ligipääsupoliitika haldamine Joonis 4.12: Administraatori kasutuslood Lugejate haldamine - kuigi lugejate haldamine peab olema automatiseeritud, peab administraatoril olema võimalus hallata lugejaid ka käsitsi. Lisaks saab kustutada lugejaid, kes pole ammu ajalehte lugenud. Lugejate ligipääsupoliitika haldamine - vaata Sektsioon 4.3.1 4.3 Mitte-funktsionaalsed nõuded 4.3.1 Lugeja ligipääsupoliitikad Lugeja ligipääsupoliitika P seisneb järgnevas: Kas näidata reklaami. Artiklitel ja väljaannetel on ligipääsutasemet määrav atribuut: lihtne, tavaline, kõrge, ekstra. Artikleid ja väljaandeid tasemega Q saab lugeda T P (Q) ajaühikut pärast nende avaldamist. Lugejad saavad osta endale teatud ajavahemikus ligipääsupaketi, mis seisneb teatud ligipääsupoliitika rakendamises. Pakette müüakse päevahinna alusel. Artikkel või väljaanne on kättesaadav mingil hetkel kui vähemalt ühe ostetud paketi ligipääsupoliitka lubab seda. Reklaami ei näidata kui vähemalt üks ostetud pakettidest seda lubab. 4.3.2 Jõudlus Süsteem peab toetama 10000 lugeja ning 100 töötaja samaaegset tööd, kusjuures tihti kasutatavate operatsioonide latentsus ei tohi ületada ühte sekundit. 15

Peatükk 5 Analüüs: loogiline andmemudel Joonisel 5.1 on esitatud nõuete analüüsis kirjeldatud loogilise andmemudeli edasiarendus. Järgnevas kirjeldame ainult erinevused: Inimene - inimesi eristatakse atribuudi kasutajanimi järgi. Artikkel - omab atribuuti seis, mis määrab selle seisu. ArtikliSisu - tekst ja kokkuvõte hoitakse eraldi klassis Dokument. Kommentaar - atribuut onseesmine määrab, kas tegemist on seesmise või välise kommentaariga. Väljaanne - atribuut onavaldatud määrab, kas väljaanne on avaldatud. ArtikkelVäljaandes - määrab seda, et Artikkel kuulub Väljaandesse, kusjuures atribuut kaal määrab artikli kaalu väljaandes. Joonisel 5.2 on esitatud ligipääsukontrolliga seotud andmemudel: TöötajaRoll - seotud Inimesega, kui ta on töötaja. Atribuut ontoimetaja määrab kas tegemist on toimetajaga. LugejaRoll - seotud Inimesega, kui ta on lugeja. LigipääsuPakett - üks võimalik ligipääsupakett, mida lugeja saab osta. Atribuut onaktiivne määrab, kas seda paketi saab osta hetkel. Atribuut näidatareklaami määrab kas näidata reklaami. Paketid on järjestatud atribuudi tase järgi. LigipääsuTase - üks võimalik ligipääsutase, millega klassifitseeritakse artikleid ja väljaandeid. Tasemed on järjestatud atribuudi tase järgi. LigipääsuOoteaeg - määrab antud LigipääsuTaseme ooteaega antud LigipääsuPaketis. Kui mõnes paketis puudub ooteaeg mõne taseme jaoks, siis loetakse selle väärtuseks. OstetudPakett - näitab, et Lugeja on ostnud LigipääsuPaketi teatud ajavahemikuks. 16

Väljaanne +aeg : Date +onavaldatud : boolean Rubriik +nimetus : String alamrubriik ArtikkelVäljaandes +kaal : int Artikkel +seis : int hetkeseis tekst avaldatud versioon ArtikliSisu +aeg : int kokkuvõte +pealkiri : String Dokument autor Kommentaar +onseesmine : boolean +aeg : Date +pealkiri : String +sisu : String autor Inimene +kasutajanimi : String +nimi : String +email : String Joonis 5.1: Loogilise andmemudeli põhiklassid 17

TöötajaRoll +ontoimetaja : boolean Inimene +kasutajanimi : String +nimi : String +email : String LugejaRoll Kui mõne taseme jaoks ooteaeg puudub, loetaksese selle väärtuseks lõpmatust. OstetudPakett +algus : Date +lõpp : Date LigipääsuTase +tase : int +nimetus : String Artikkel +seis : int LigipääsuOoteaeg +ooteaeg : Date Väljaanne +aeg : Date +onavaldatud : boolean LigipääsuPakett +onaktiivne : boolean +tase : int +nimetus : String +näidatareklaami : boolean +hindpäevas : double Joonis 5.2: Loogilise andmemudeli ligipääsuga seotud klassid 18

Peatükk 6 Analüüs: lugeja moodul Selles peatükis kirjeldame lugeja funktsionaalsuse analüüsi. 6.1 Staatiline Struktuur Selles sektsioonis kirjeldame loodava süsteemi staatilist struktuuri. 6.1.1 Liidesed KLHaldur +annavaade() : Vaade Kasutajaliidese (KL) haldur +kuva() Vaade Kontroller +töötlesündmust() Joonis 6.1: Liidesed Süsteemis esinevad peamised liidesed on esitatud Joonisel 6.1: KLHaldur - kasutajaliidese haldur, mis vastutab mingi konkreetse kasutajaliidese funktsionaalsuse realiseerimise eest. Vaade - miski, mis oskab ennast kuvada. KLHalduri käest saab küsida Vaadet meetodiga annavaade(). Kontroller - miski, mis töötleb sissetulevaid kasutajaliidese sündmuseid. Enamasti seotud konkreetse Vaatega. 19

Nende liideste detailid sõltuvad suuresti platvormist ning kasutajaliidese ehituse põhimõtetest (veeb, aknad, jne). 6.1.2 SessiooniHaldur SessiooniHalduriLiides +annakasutajainfo() +näitaväljaanne() +näitaartikkel() +näiteartikkelväljaandes() SessiooniHaldur KLHaldur +annavaade() : Vaade PõhiKLHaldur +annavade() : Vaade +annamenüü() : Vaade Joonis 6.2: SessiooniHaldur Vaatleme Joonist 6.2: süsteemi keskseks klassiks on SessiooniHaldur, mis vastab ühe kasutaja sessioonile süsteemis. SessiooniHaldur realiseerib liidest KLHaldur. Liides PõhiKLHaldur on liidese Haldur alamliides ning omab ühte lisameetodit annamenüü(). Nagu näeme hiljem SessiooniHaldur agregeerib endas mitu haldurit, sealhulgas PõhiKLHaldurit, ning tegeleb nende töö koordineerimisega. Juhitavad haldurid suhtlevad SessiooniHalduriga liidese SessiooniHalduriLiides kaudu. Joonisel 6.3 on esitatud haldurid, mille juhtimisega tegeleb SessiooniHaldur: SisseLogimiseHaldur - tegeleb kasutaja sisselogimisega. ReklaamiHaldur - tegeleb reklaami kuvamisega. LigipääsuPakettideHaldur - võimaldab kasutajal näha oma ligipääsupakette ning osta neid juurde. RegistreerimiseHaldur - võimaldab anonüümsel kasutajal registreeruda. ArtikliPõhihaldur - võimaldab kasutajal lugeda ühte artiklit. 20

ArtikliPõhihaldur SisseLogimiseHaldur LigipääsuPaketideHaldur ArtikliteHaldur KLHaldur +annavaade() : Vaade SessiooniHaldur näitab PõhiKLHaldur +annavade() : Vaade +annamenüü() : Vaade ArtikliteOtsinguHaldur ReklaamiHaldur VäljaandeHaldur RegistreerimiseHaldur VäljaanneteHaldur Joonis 6.3: SessiooniHalduri struktuur ArtikliteHaldur - võimaldab kasutajal navigeerida artiklites. ArtikliteOtsingHaldur - võimaldab kasutajal otsida artikleid. VäljaandeHaldur - võimaldab kasutajal lugeda väljaannet. VäljaanneteHaldur - võimaldab kasutajal navigeerida väljaannetes. Paljud nendest halduritest vastavad ühele konkreetsele kasutusloole. Joonisel 6.4 on esitatud SessiooniHalduri seesmine ehitus. SessiooniHaldur koosneb SessiooniVaatest ning SessiooniKontrollerist, mille funktsiooniks on vastavalt halduri kuvamine ning kasutajaliidese sündmuste töötlemine. Lisaks agregeerib SessiooniHaldur klassi KasutajaInfo, mille funktsiooniks on kasutajainfo pakkumine. See realiseerib ka liidest KasutajaInfoLiides, mille kaudu pääsevad kasutajainfole ligi juhitavad haldurid. 6.1.3 Põhihaldurid Selles alamsektsioonis kirjeldame põhihaldurite struktuuri. VäljaandeHaldur Joonisel 6.5 on esitatud VäljaandeHaldur. VäljaandeHaldur realiseerib liidest PõhiKLHaldur ning omab viidet SessiooniHalduriLiidesele. Lisaks on olemas seos näidatava Väljaandega ning hetkel aktiivse Rubriikiga. 21

KasutajaInfoLiides +annakirje() +annaligipääsuooteaeg() +näidatareklaami() SessiooniVaade +kuva() Vaade KasutajaInfo SessiooniHaldur SessiooniKontroller Kontroller +töötlesündmust() Joonis 6.4: SessiooniHalduri seesmine ehitus PõhiKLHaldur +annavade() : Vaade +annamenüü() : Vaade SessiooniHalduriLiides +annakasutajainfo() +näitaväljaanne() +näitaartikkel() VäljaandeHaldur näitab Väljaanne +aeg : Date +onavaldatud : boolean +näiteartikkelväljaandes() aktiivne Rubriik +nimetus : String Joonis 6.5: VäljaandeHaldur 22

VäljaandeHaldur VäljaandeRubriikideHaldur VäljaandeArtikliteHaldur ArtikliHaldur +näitasisu() +näitkommentaarid() Sellest saab menüü ArtikliKokkuvõteHaldur ArtikliKokkuvõteHalduriKlient +näitasisu() +näitkommentaarid() Joonis 6.6: VäljaandeHalduri struktuur Joonisel 6.6 on esitatud VäljaandeHalduri struktuur: VäljaandeRubriikideHaldur - näitab hetkel aktiivse rubriigi alamrubriike ning artiklite arvu nendes. Täidab menüü funktsioone. VäljaandeArtikliteHaldur - võimaldab kasutajal navigeerida hetkel aktiivse rubriigi artiklites. Artiklite kokkuvõtete kuvamiseks kasutab ArtikliKokkuvõteHaldurit ning suhtleb sellega liidese ArtikliKokkuvõteHalduriKlient kaudu. ArtikliHaldur - näitab hetkel valitud artiklit. Lõpuks, Joonisel 6.7 on esitatud VäljaandeHalduri seesmine ehitus: vaade ja kontroller. ArtikliteHaldur Joonisel 6.8 on esitatud ArtikliteHaldur. ArtikliteHaldur realiseerib liidest PõhiKLHaldur ning omab viidet SessiooniHalduriLiidesele. Lisaks on olemas seos ning hetkel aktiivse Rubriikiga. Joonisel 6.9 on esitatud ArtikliteHalduri struktuur: ArtikliteRubriikideHaldur - näitab hetkel aktiivse rubriigi alamrubriike. Täidab menüü funktsioone. ArtikliKokkuvõteHaldur - selle abiga kuvatakse artiklite kokkuvõtteid. Suhtlus sellega käib liidese ArtikliKokkuvõteHalduriKlient kaudu. ArtikliHaldur - näitab hetkel valitud artiklit. Lõpuks, Joonisel 6.10 on esitatud ArtikliteHalduri seesmine ehitus: vaade ja kontroller. 23

VäljaandeVaade +kuva() Vaade VäljaandeHaldur VäljaandeKontroller Kontroller +töötlesündmust() Joonis 6.7: VäljaandeHalduri seesmine ehitus PõhiKLHaldur +annavade() : Vaade +annamenüü() : Vaade SessiooniHalduriLiides +annakasutajainfo() +näitaväljaanne() +näitaartikkel() +näiteartikkelväljaandes() ArtikliteHaldur aktiivne Rubriik +nimetus : String Joonis 6.8: ArtikliteHaldur 24

ArtikliteHaldur ArtikliHaldur +näitasisu() +näitkommentaarid() ArtikliteRubriikideHaldur ArtikliKokkuvõteHaldur ArtikliKokkuvõteHalduriKlient +näitasisu() +näitkommentaarid() Sellest saab menüü Joonis 6.9: ArtikliteHalduri struktuur ArtikliteVaade +kuva() Vaade ArtikliteHaldur ArtikliteKontroller Kontroller +töötlesündmust() Joonis 6.10: ArtikliteHalduri seesmine ehitus 25

Ülejäänud põhihaldurid Ülejäänud põhihaldurid kirjeldatakse järgmises iteratsioonis. 6.1.4 Taaskasutatavad haldurid Selles alamsektsioonis kirjeldame taaskasutatavate haldurite struktuuri. ArtikliHaldur KLHaldur +annavaade() : Vaade +kuva() Vaade Artikkel +seis : int ArtikliHaldur +näitasisu() +näitkommentaarid() Kontroller +töötlesündmust() Joonis 6.11: ArtikliHaldur Joonisel 6.11 on esitatud ArtikliHaldur, mille funktsioonis on ühe artikli ning selle kommentaaride kuvamine. ArtikliHaldur realiseerib liidest KLHaldur ning hoiab viidet kuvatavale Artiklile. ArtikliHaldur realiseerib ise liidesed Vaade ja Kontroller, sest enamus tööst on delegeeritud alamhalduritele ning nende liideste realiseerimine on triviaalne. ArtikliHaldur omab kahte meetodit: näitasisu() ning näitakommentaarid(), mille kaudu määratakse kas näidata artikli sisu või kommentaarid. Joonisel 6.13 on esitatud ArtikliHalduri struktuur: ArtikliSisuHaldur - kuvab artikli sisu. ArtikliKommentaarideHaldur - kuvab artikli kommentaare. ArtikliKommenteerimiseHaldur - võimaldab kommenteerida artiklit. 26

ArtikliHaldur +näitasisu() +näitkommentaarid() ArtikliSisuHaldur ArtikliKommnetaarideHaldur ArtikliKommenteerimiseHaldur Joonis 6.12: ArtikliHalduri struktuur ArtikliKokkuvõteHalduriKlient +näitasisu() +näitkommentaarid() ArtikliKokkuvõteVaade +kuva() Vaade Haldur +annavaade() : Vaade ArtikliKokkuvõteHaldur Artikkel +seis : int ArtikliKokkuvõteKontroller Kontroller +töötlesündmust() Joonis 6.13: ArtikliHaldur 27

ArtikliKokkuvõteHaldur Joonisel 6.13 on esitatud ArtikliKokkuvõteHaldur, mille funktsiooniks on artikli kokkuvõte kuvamine. ArtikliteKokkuvõteHaldur suhtleb oma omanikuga liidese ArtikliKokkuvõteHalduriKlient kaudu, mis omab kahte meetodit: näitasisu() ning näitakommentaarid(), mille kaudu saab teatada, et kasutaja soovib näha vastavalt artikli sisu või kommentaare. Ülejäänud haldurid Ülejäänud haldurid kirjeldatakse järgmises iteratsioonis. 6.2 Käitumine Joonisel 6.14 on esitatud süsteemi käitumise põhistenaarium SessiooniHalduriga ning VäljaandeHalduriga: 1. Süsteem loob SessiooniHalduri eksemplari. 2. Süsteem saadab SessiooniKontrollerile teadet töötlesündmust. Selle peale luuakse VäljaandeHaldurit. 3. Süsteem saadab SessiooniHaldurile teadet annavaade. 4. Süsteem saadab SessiooniVaatele teadet kuva. 28

süsteem : : SessiooniHaldur : SessiooniVaade : SessiooniKontroller töötlesündmust : : VäljaandeHaldur : VäljaandeVaade : VäljaandeRubriikideHaldur annavaade : kuva : annavaade : kuva : annamenüü : annavaade : kuva : Joonis 6.14: Süsteemi põhistenaarium 29

Peatükk 7 Analüüs: töötaja moodul Tehakse järgmises iteratsioonis. 30

Peatükk 8 Teostus- ja levitus- mudel Lugeja klientmoodul Töötaja klientmoodul Lugeja servermoodul Töötaja servermoodul Andmete moodul Joonis 8.1: Teostusmudel Joonisel 8.1 on esitatud planeeritav teostusmudel. Andmete moodul tegeleb andmete haldamisega. Lugeja funktsionaalsus on löödud lahti kaheks osaks: Lugeja servermoodul ja Lugeja klientmoodul. Samuti on tehtud ka töötaja funktsionaalsusega: Töötaja servermoodul ja Töötaja klientmoodul. Joonisel 8.2 on esitatud planeeritav levitusmudel. 31

Lugeja arvuti Töötaja arvuti Lugeja klientmoodul Töötaja klientmoodul Lugejate server Töötajate server Lugeja servermoodul Töötaja servermoodul Andmete server Andmete moodul Joonis 8.2: Levitusmudel 32