T Ohjelmistokehitysprojekti I Tekninen Määrittely

Samankaltaiset tiedostot
T Ohjelmistokehitysprojekti I Tekninen Määrittely

SEPA päiväkirja. Aihe: Suunnittelumallit Tekijät: Tuukka Laakso ja Antti Kettunen Ryhmä: Neptune T Ohjelmistoprojekti I

Simulaattorin asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje

SEPA päiväkirja. Aihe: Suunnittelumallit Tekijät: Tuukka Laakso ja Antti Kettunen

Maventa Connector Käyttöohje

Sähköpostitilin käyttöönotto

T Ohjelmistokehitysprojekti I - Iteraatiosuunnitelma (I2)

BaseMidlet. KÄYTTÖOHJE v. 1.00

CSV - XML ohjelman käyttöohje

ELM GROUP 04. Teemu Laakso Henrik Talarmo


Valpas-projektin vaatimusmäärittely

Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.

Sähköpostitilin käyttöönotto. Versio 2.0

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Tarjoustyökalun käyttöohje

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Fixcom Webmail ohje. Allekirjoitus. Voit lisätä yhden tai useamman allekirjoituksen.

Asiakastietojen tuominen toisesta tietokannasta etaika-ohjelmistoon. Kuinka yhdistän tietoja eri asiakastietokantojen välillä

Valpas-projektin vaatimusmäärittely

Sanomapavelinohjelmiston käyttöohje (Vanha versio RO)

Convergence of messaging

EMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille Meeri Nieminen

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

LIITTEIDEN lisääminen laskulle. Pikaohje (1.1)

HÄLYRI-SOVELLUKSEN KÄYTTÖOHJEET

Tulorekisteri: Erillisilmoitus Visma Fivaldi

Uutiskirjesovelluksen käyttöohje

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Opus SMS tekstiviestipalvelu

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3


Office 365 palvelujen käyttöohje Sisällys

Vaatimusmäärittely. Sisällys. Hyväksyntä

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Napsauta Kurssin viikkonäkymä- näkymässä oikeassa yläreunassa sijaitsevaa Muokkaustila päälle -painiketta.

SoleMOVE lähtevän harjoittelijan ohje

Aimo-ohjauspaneelin käyttöohje Sisällys

PATA HENKILÖSTÖ. Alasvetolistojen arvot ovat parametroitavissa. Yksiselitteiset arvot mahdollistavat luotettavat haut ja tilastoinnit.

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Tikon ostolaskujen käsittely

SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

Kielivalinta Kojelauta - Luo lasku Asetukset - Käyttäjät - Kirjaudu ulos

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Suunnitteluvaihe prosessissa

TEMPNET-OLOSUHDEHÄLYTYKSET

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / tietoverkkotekniikka. Jarno Akkanen, Antti Parkkinen. Nagios verkkovalvonta- palvelin

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

Pikaohje Kouluväylään perustilauksen tekemistä varten. Luottamuksellinen

RATKAISU REAALIAIKAISEEN TIEDONSIIRTOON NIINIPLUS PROJEKTIPANKKI INTEGRAATION - PIKAOPAS

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

ILMOITTAUTUMINEN. Hämeentie 105 A, FI Helsinki Tel , Fax

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki

Javan asennus ja ohjeita ongelmatilanteisiin

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

SiMAP - lämmityksen ohjauskeskus. Contents

Solteq Tekso v Versiopäivitysohje.

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

Maiju Mykkänen Susanna Sällinen

MOODLE-OHJE: Liitetiedoston lisääminen ja päivittäminen

DNA Netti. Sisältö. DNA Netti - Käyttöohje v.0.1

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä

Katalogin luominen Coupan toimittajaportaalissa

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Action Request System

Näin haet sairauspäivärahaa työnantajalle

Maali Esiehdot Toimijat Testitapauksen suoritus ja hyväksytyt lopputilat. Käyttäjä. Käyttäjä. Käyttäjä

T Testiraportti - järjestelmätestaus

Kannettava tiedonsiirtolaite yksilötason LIVE paikannukseen! Pikakäyttöohje

Tapahtuipa Testaajalle...

Viva-16. Käyttöohje Veikko Nokkala Suomen Videovalvonta.com

LAATURAPORTTI Iteraatio 1

Käyttöohje 1 (8) Kontakti Tiedonsiirto Käyttöohje. Posti Oy. Helsinki PL POSTI

Coolselector Asennusohje

OFFICE 365 PIKAOHJE

Web Services tietokantaohjelmoinnin perusteet

Visma asiakaspalvelu Tukipyyntöjen lähettäminen

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Drupal-sivuston hallintaopas

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Retrotec FanTestic ohjelman pikaopas

Toimittajaportaalin pikaohje

Tukipyyntö-toiminnon ohje

ALVin käyttöohjeet. Kuvaus, rajaus ja tallennus puhelimella ALVin -mobiilisovelluksen avulla dokumentit kuvataan, rajataan ja tallennetaan palveluun.

Tiedonsiirrot Oodista Noppaan Päivitetty

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Tekstiviestipalvelun rajapintakuvaus

VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi

Ohjeistus pöytäkirjan käyttöön. Suomen Lentopalloliitto ry

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Transkriptio:

T-76.4115 Ohjelmistokehitysprojekti I Tekninen Määrittely Versio Päiväys Muokkaaja Kuvaus 0.9 30.11.2005 Tuukka Laakso Kommentoitava versio 1.0 4.12.2005 Tuukka Laakso Palautettava versio 2.0 Tuukka Laakso I2 Palautettava versio

1 Johdanto...3 2 Arkkitehtuuri...4 3 Ilmoitinlaitesimulaattori...5 4 Valpas...6 4.1 Core...6 4.2 Tetraconnection...6 4.3 Webui...7 5 Analysaattori...8 2

1 Johdanto Tämän dokumentin tarkoitus on toimia ryhmän Neptune kurssin T-76.4115 Ohjelmistoprojekti I ulkoisena teknisenä spesifikaationa projektissa Valpas. Projekti on alkanut syksyllä 2005 ja jatkuu keväälle 2006. Projekti käsittää kolme iteraatiota (PP, I1, I2). Projektin tarkoituksena on tuottaa prototyyppi hälyttimien tarkkailuun Tetra-verkon yli. Dokumentissa käydään lyhyesti läpi järjestelmän eri osien toiminta 3

2 Arkkitehtuuri T-76.4110 Ohjelmistoprojekti I Projekti voidaan jakaa kolmeen erilliseen osaan, jotka ovat: ilmoitinlaitesimulaattori, Valpas ja lokien analysointityökalu. Näiden osien välistä kommunikaatiota ja riippuvuuksia on kuvattu kuvassa 1. Seuraavissa kappaleissa kuvataan tarkemmin näiden osien toimintaa. Kuva 1 Arkkitehtuuri 4

3 Ilmoitinlaitesimulaattori Ilmoitinlaitesimulaattori on Linuxissa toimiva Java-ohjelma, joka on sarjaportin välityksellä AT-rajapintaa käyttämällä yhteydessä Nokian TETRA-puhelimeen. Puhelin välittää kaikki saamansa viestit simulaattorille. Ilmoitinlaitesimulaattori pystyy simuloimaan paloilmoitinlaitteen toimintaa kahdessa eri tilassa, joko passiivisesti generoimatta laitevikoja tai generoimalla laitevikoja. Toimintatila valitaan simulaattoria käynnistettäessä. Simuloidessaan paloilmoitinlaitetta simulaattori seuraa saapuvia viestejä. Linjakyselyyn simulaattori ei reagoi muuten, kuin että kirjaa lokitiedostoon saaneensa viestin. Erilaiset testiviestit simulaattori kirjaa lokiin ja vastaa niihin seuraavasti: Testaa hälytys Simulaattori vastaa yleensä luomalla hälytysviestin. Simulaattori lähettää hälytysviestin puhelimella EPA:lle ja kirjaa lokiin luodun hälytyksen. Jos simulaattorin käynnistysvaiheessa on valittu, että simulaattori voi generoida laitevikoja, niin satunnaisesti simulaattori simuloi vikatilannetta, eikä lähetä vastaukseksi mitään viestiä. Simulaattori kirjaa luodun vikatilanteen lokiin. Testaa anturit Simulaattori vastaa yleensä luomalla anturihälytysviestin. Simulaattori lähettää anturihälytysviestin puhelimella EPA:lle ja kirjaa lokiin luodun hälytyksen. Jos simulaattorin käynnistysvaiheessa on valittu, että simulaattori voi generoida laitevikoja, niin satunnaisesti simulaattori simuloi vikatilannetta, eikä lähetä vastaukseksi mitään viestiä. Simulaattori kirjaa luodun vikatilanteen lokiin. Testaa hyvinvointi Simulaattori vastaa yleensä luomalla anturihälytysviestin. Simulaattori lähettää anturihälytysviestin puhelimella EPA:lle ja kirjaa lokiin luodun hälytyksen. Jos simulaattorin käynnistysvaiheessa on valittu, että simulaattori voi generoida laitevikoja, niin satunnaisesti simulaattori simuloi vikatilannetta, joita tässä tapauksessa on kaksi erilaista. Simulaattori joko lähettää viestin ei toleranssissa puhelimella EPA:lle tai ei lähetä mitään viestiä vastaukseksi. Molemmissa tapauksissa Simulaattori kirjaa luodun vikatilanteen lokiin. Simulaattori voi luoda myös satunnaisesti hälytyksiä, jos vikatilanteiden generointi on asetettu päälle. Tällöin simulaattori lähettää hälytysviestin puhelimella EPA:lle ja kirjaa lokiin luodun hälytyksen. Lisäksi simulaattoria voi käsin ohjastaa luomaan jonkun edellä mainituista vioista tai hälytyksen. Myös nämä kirjataan lokiin. Simulaattori myös säännöllisin väliajoin testaa yhteyttään puhelimeen, jotta voidaan selvittää, onko puhelimen AT-rajapinta kaatunut. Jos simulaattori ei saa puhelimeen yhteyttä, se kirjaa tapahtuman lokiin ja jää yrittämään yhteyttä puhelimeen. Näiden toimintojen avulla voidaan lokien analysointityökalulla selvittää, soveltuuko VIRVE palonilmoitinlaitteiden yms. valvontaan. 5

4 Valpas T-76.4110 Ohjelmistoprojekti I 4.1 Core Valppaan toimintalogiikka sijaitsee ydin eli core-paketissa ja se tarjoaa hallintarajapinnat mm. konsolikäyttöliittymälle. Ytimen vastuulla on laitteiden tarkistusten skedulointi, laitteiden statuksen tarkistaminen sekä tapahtumien lokitus. Lisäksi ydin tarjoaa rajapinnan viestilokittajalle sekä myös muidenkin laitteiden statuksia kuuntelevien komponenttien toteuttamiseen. Valpasta ohjataan käyttäen tarkoitusta varten toteutettua komentorivikäyttöliittymää. Käyttöliittymä on RMI:n kautta yhteydessä valppaan hallintarajapintoihin ja sitä ajetaan Valppaasta erillisessä JVM:ssä. Käyttöliittymä tarjoaa joukon yksinkertaisia komentoja, joilla Valpasta voidaan hallita. Ilmaisinlaitteille Valpas suorittaa testejä lähettäen niille testausviestejä, joihin laitteet vastaavat omaa statustaan kuvaavalla vastausviestillä (ks. kappale 3). Testejä suoritetaan laitekohtaisesti määritetyn aikavälein sekä laitekohtaisen maksimivastausviiveen mukaan. Lisäksi laitteille suoritetaan linjatarkastuksia, joilla selvitetään onko valvottavan laitteen TETRA-verkkoon yhteydessä oleva puhelin tms. elossa. Sekä statustesteille että linjatesteille voidaan määrittää maksimivastausviiveet. Statustestillä tämä on laitekohtainen ja linjatarkastuksella kaikille laitteille sama. Näin ollen kaikilla yhden laitteen statustesteillä on sama maksimivastausviive. Laitetyyppejä voidaan valvoa joko automaattisesti tai manuaalisesti. Automaattiselle valvonnalle voidaan määrittää joukko testityyppejä, joita suoritetaan määritetyin aikavälein. Tyypit jakautuvat linjatestiin ja statustesteihin. Statustestejä ovat hälytystesti, vikatesti ja sensoritesti. Linjatesti suoritetaan implisiittisesti joka laitteelle, statustestit jos näin on määritetty. Aikavälit määritellään asettamalla laitteelle linjantestausaikaväli ja statustesteille luku, joka määrittää kuinka monta linjatestiä suoritetaan jokaisen statustestin välissä. Eri tyyppisiä statustestejä suoritetaan vuorotellen, mutta ydin tarjoaa helpon laajennettavuuden myös monimutkaisemmille järjestyksille. Laitteiden automaattinen valvonta on toteutettu käyttäen Quartzia, joka on avoimen lähdekoodin skedulointikomponentti. Quartzin toiminta perustuu pääasiassa kolmen komponentin varaan. Skeduleri (Scheduler) vuorottaa liipaisimia (Trigger), jotka laukaisevat töitä (Job) suoritettavaksi. Skeduleria ja liipaisimia ei ole persistoitu tehokkuussyistä, joten niiden tila ei säily, jos järjestelmään tulee häiriöitä. Jokainen työ skeduloidaan uudestaan Valppaan käynnistyksen yhteydessä. Laitteiden tiedot pidetään erillisessä tietokannan taulussa, jota aksessoidaan käyttäen Hibernatea. 4.2 Tetraconnection Tetraconnection-paketti tarjoaa Valppaalle viestien lähetys- ja vastaanottopalveluita. Tetraconnection muodostaa yhteyden EPAn Web Services rajapintaan ja tarjoaa metodeita viestien lähettämiselle ja vastaanottamiselle. Pakkaus huolehtii itse istunnon ylläpitämisestä lähettämällä tarvittaessa uudelleenkirjautumisviestejä, jos istunto on vanhenemassa tai luo kokonaan uuden istunnon, jos istunto on jostain syystä katkennut, esimerkiksi EPAn kaaduttua. 6

Tetraconnection-pakettia käytetään Valppaan ytimestä, eli core-paketista. Tetraconnection tarjoaa tälle pakkaukselle yksinkertaistetun julkisivuluokan, jonka kautta toiminnallisuuksiin pääsee käsiksi. Vaikkakin tetraconnection ei sinällään ota kantaa lähetettyjen ja vastaanotettujen viestien sisältöön, siellä kuitenkin pidetään huoli, että EPAlle menevät viestit ovat eheitä siten, että kaikki tarvittavat kentät ovat niissä täytettyinä. Jos EPAlle lähetettävässä viestinipussa koitetaan lähettää väärin muodostettuja viestejä, nämä lähetetään takaisin corelle ja vain kriteerit täyttävät viestit lähetetään EPAlle. Vastaanotettujen viestien suhteen ollaan avoimempia. Vaikka kaikki kentät eivät olisikaan täydennettyjä, viestit välitetään kuitenkin corelle asti. Viestien välityksessä noudatetaan siis käytäntöä "be strict on what you send and generous on what you receive". 4.3 Webui Valppaan käyttöliittymänä on www-käyttöliittymä. Käyttöliittymän kautta voidaan lisätä, muokata ja poistaa laitteita valvonnasta sekä tarkastella niiden toimintakuntoa ja suorittaa laitteille myös manuaalisia testejä. WWW-käyttöliittymän valinta Valppaan pääkäyttöliittymäksi oli luonnollinen ratkaisu, koska näin esimerkiksi demoaminen käy kätevämmin. WWW-käyttöliittymä on tehty JavaServer Pages (JSP) teknologiaa apuna käyttäen. Sivuissa on käytetty lisäksi JavaServer Pages Standard Tag Library (JSTL):ä, jonka avulla JSP-sivuihin on saatu upotettua tarvittava määrä logiikkaa, tarvitsematta käyttää suoraan Java koodia, mikä osaltaan nostaa käyttöliittymän ylläpidettävyyttä. Lisäksi käyttöliittymän erillisten komponenttien rakentamisessa käytimme apunamme Struts-tilesiä. Spring Framework toi suuren avun käyttöliittymän kehitykseen. Sen tarjoama Web MVC - paketti tuo hyödyllisen Model-View-Controller implementaation, jonka avulla saadaan siisti ja selkeä erottelu businesslogiikkakoodin ja web formien välille. Lisäksi teknologia tarjoaa muitakin näppäriä ominaisuuksia, kuten validoinnin, jonka avulla voidaan varmistaa formissa syötetyn datan oikeellisuus ja käsitellä mahdolliset virheet jo siellä ja näin varmistua, että businessobjekteille menevä tieto on validia. Kontrollerit mahdollistivat sen, että itse JSP-sivuihin ei tarvinnut käyttää niin paljon logiikkaa. 7

5 Analysaattori T-76.4110 Ohjelmistoprojekti I Analysaattori on Java-ohjelma, joka tarkastelee Valppaan ja simulaattorien lokitiedostoja. Ohjelma laskee lokeihin merkittyjä vikatilanteita ja niiden toipumisaikoja. Lasketut statistiikat esitetään käyttäjälle graafisesti ja numeerisena datana. Analysaattorin ikkuna on jaettu kolmeen osaan: Ylin laatikko kertoo ladattujen lokitiedostojen määrät ja puuttuuko tiedostoja.. Keskimmäiseen tulee graafinen esitys lokeihin merkittyjen linjavikojen määristä ja toipumisajoista pylväsdiagrammina. Oletuksena kukin pylväs kuvaa 30 minuutin mittaista jaksoa. Ylempi diagrammi näyttää jakson aikana havaittujen linjavikojen määrän suhteessa kaikkien jakson aikana lähetettyjen viestien määrään. Alempi taas kertoo kuinka toipumisajat linjavioista ovat jakautuneet eri aikaväleille. Viimeinen, punainen, palkki tässä diagrammissa tarkoittaa, että lokeissa on havaittu vika, josta ei lokien kattamassa aikavälissä toivuta. Alin laatikko sisältää numeerisen yhteenvedon lokeihin merkityistä viesteistä. Numeerinen yhteenveto sisältää kaikkien lähetettyjen ja vastaanotettujen viestien määrän sekä Valppaan että simulaattorien lokitiedostoista, Valppaan kirjaamien vikojen määrän, Valppaan kirjaamien linjavirheiden määrän yhteensä ja eroteltuna sekä simulaattorien at-rajapintavikojen ja simulaattorien luomien vikojen määrän. Lisäksi näytetään kolme eri prosenttia. Ensimmäisenä on onnistumisprosentti, joka on lähetettyjen viestien ja linjavikojen suhde. Toisena on vastaanottoprosentti, joka on lähetettyjen ja vastaanotettujen viestien suhde ja viimeisenä on todellinen vikaprosentti, joka on Valppaan kirjaamien vikojen, joista on vähennetty simulaattorien luomat viat, ja lähetettyjen viestien suhde. Lokit ladataan analysaattoriin valitsemalla Tiedosto->Avaa. Myös puuttuvia tiedostoja saa ladattua käyttämällä Tiedosto->Avaa komentoa. Tällöin aukeaa uusi ikkuna, josta voi tarkistaa jo ladatut tiedostot, poistaa niitä tai lisätä uusia. Jos joku tiedosto on jo ladattuna, ei sitä ladata uudestaan. Tästä johtuen jos tiedostoa on päivitetty lataamisen jälkeen, täytyy kyseinen tiedosto poistaa ja hyväksyä muutokset, jolloin analysaattori poistaa poistetut ja lisää uudet tiedostot. Tämän jälkeen valitsemalla Tiedosto->Avaa aukeaa tiedostojen valintaikkuna, johon voi nyt lisätä aikaisemmin poistetun tiedoston uudestaan. Tämän jälkeen täytyy painaa hyväksy nappia, että muutos tallennetaan. Kun kaikki tarvittavat lokit on ladattu, ne saa analysoitua valitsemalla Suorita->Analysoi. 8