DELLEVERANSE 2 INF2120 GRUPPE 12. Jon G. Berentsen Geir A. Nilsen Lailuma Arezo



Like dokumenter
DELLEVERANSE 1 INF2120 GRUPPE 12. Jon G. Berentsen Geir A Nilsen Lailuma Arezo

DELLEVERANSE 3 INF2120 GRUPPE 12. Jon G. Berentsen Geir A. Nilsen Lailuma Arezo

DELLEVERANSE 1 INF2120 V06

INF2120 Prosjektoppgave i modellering. Del 1

DROP 2.

INF2120. Gruppe 14. Innlevering 1. Våren Joakim Bjørnstad

Universitetet i Oslo Institutt for informatikk. Leveranse 2 - inf2120. Gruppe 9. Mads Andre Bergdal Neeru Bhardwaj Saqib Riaz Trond Arne Sørby

Del - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle

Vårt system kan kjøres ved å skrive. STUD1 konto fredo 37 (holdeplass)

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5

INF2120 V2005. Gruppe 2 christrc ieronnin kjetimk noushinm sjuros. Trafikanten+ Innlevering

UNIVERSITETET I OSLO Institutt for informatikk. INF2120: ICU - a surveillance system, Drop 1. gisleal, eivindjo, tanxn, behrozm

INF2120 Prosjektoppgaven Våren 2006

INF 2120 PROSJEKT: <DROP 3 GRUPPE 7> ATLE WANDSVIK DAMIR NEDIC SOHAIL AHMED CHAUDRY LARS ANTHONY MAPOY FOZIA SAEED

INF 2120-PROSJEKT: <DROP 2 GRUPPE 7> ATLE WANDSVIK DAMIR NADIC SOHAIL AHMED CHAUDRY LARS ANTHONY LAMPAY FOZIA SAEED

Prosjektoppgave INF2120 Våren 2007: Rebusløp

Trafikanten Pluss, delleveranse 2. Gruppe 8 Eivind Hasle Amundsen [eivinha] og Eigil Moe [eigilmo]

INF 2120 drop 3. Trafikanten plus. Group 4. danielmw, ronnieo, naimaa, arep, andeba

Innlevering 2b i INF2810, vår 2017

Bruksanvisning. Bruksanvisning. Käyttöohje FIN. Brugsanvisning. User Manual. Gebruikershandleiding. DEFA SilentAlarm

Installere JBuilder Foundation i Mandrake Linux 10.0

Transaksjonsstandard for virkesomsetningen i Norge. Transportoppdrag. Versjon 2.0. Desember 2007 SKOG-DATA AS

Mellom. (heretter kalt Behandlingsansvarlig) Orgnr: ØkonomiBistand AS (heretter kalt Databehandler) Orgnr:

2. Hvordan administrere filer / legge ved dokumentasjon til kurs? Hvordan melde av en som er påmeldt endre opplysninger?..5

Educatia AS. Programmeringsgrensesnitt (API) for brukersynkronisering. Versjon: 1.1 ( ) Educatia AS

Kurs i krisestøtteverktøyet DSB-CIM Del 1: Brukere, kontakter, ressurser og distribusjonslister

INF Obligatorisk innlevering 7

Bruker- dokumentasjon. for. Norsk Kompetanseregister

Innledning. Det geniale med GEOREG er at systemet er fullstendig automatisert,

Innføring av elektronisk skattekort. Presentasjon fra Skatteetaten til opplæring av Altinn brukerstøtte

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

RF Ny forvalter

Innledning. Det geniale med GEOREG er at systemet er fullstendig automatisert,

Cantor Controller - Installasjon av nettverksklient

INF1010 MVC i tekstbaserte programmer

Installasjonsdokument

UML 1. Use case drevet analyse og design Kirsten Ribu

Dublettsammenslåing. GolfBox A/S Sensommervej 34 F 8600 Silkeborg, Danmark Tlf.: :info@golfbox.no Web:golfbox.

Lotus Traveler - Manual for installasjon

Orientering vedrørende bruk av GolfBox og Golfkortet.

INF Algoritmer og datastrukturer

Installere JBuilder Foundation i Windows XP

Squashbooking. For administrator kan bookinger visuelt merkes i timeplanen med status for betaling og oppmøte.

Vanlige spørsmål. GallupPanelet. TNS Panel-app. TNS Juni 2015 v.1.3

KRAVSPESIFIKASJON FOR SOSIORAMA

Utviklingssak/ID Resume Endring (g2) Rettet i versjon (g1) Rettet i versjon Ingen endring

Brukermanual for. Internettbookingen. Versjon 1.0

RingAccess en innføring

Scan Secure GTS PAS

Web-basert Alønn innrapportering for Mediebedriftene Brukerveiledning Versjon 2 fikse.net AS Leif Bolsø, fikse net as

Brukerveiledning Webline Portal for E-post Bedrift/E-post Basis

Installasjonsbeskrivelse for CAB Service Plattform med CABInstall

TDT4165 PROGRAMMING LANGUAGES. Exercise 02 Togvogn-skifting

Brukerdokumentasjon for Administrator og andre brukere fra PT

Kravspesifikasjon. 14. oktober 2002

BRUKSANVISNING EASYSTART GSM TC

INF Obligatorisk innlevering 7

PRODUKTBESKRIVELSE TJENESTE. NRDB Nummerportabilitet

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

Legge til brukar. Legge til ein lærar Då det er lite utskifting på lærarar så legg eg til dei manuelt 1. Klikk Kontoredigering Legg til Manuelt

AP221 Use Case SBL Finn aktive, mottatte og arkiverte elementer

1: Steng ned alle MAB på alle maskiner før dere starter oppdateringen. Dette gjelder også MAB Schedule som dere vil finne på serveren.

Her kan du lese om forskjellige tilgangsområder, passord, utlogging og tilslutt en gjennomgang av hvordan man håndterer skrivere.

PRODUKTBESKRIVELSE INFRASTRUKTUR. NRDB Internett

Akseptansetest av mottak Elektronisk epikrise - Den gode epikrise

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

eportal for legekontoret

Leveranse 2. September 27, 2002

ProMed. Brukermanual for installasjon og bruk av mobiltelefon eller SMS og nett for sending av SMS direkte fra. for Windows

SMS overføringer av tekstmeldinger til mobiltelefon

1.1 Planlegg Operasjon Definisjonsområde Planlegg Operasjon Nivå Sub-funksjon

Opprette politisk saksfremlegg,

INF 2120 Innlevering 1. Gruppe 4. Kravspesifikasjoner til trafikanten +

Ingen investeringskostnader Ingen risiko Ingen bindinger eller forpliktelser Løpende oversikt over status Enkel håndtering av nye poster

Kundeoppfølging og kundefiltre i Xakt

KTN1 - Design av forbindelsesorientert protokoll

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Hjelp til Fraværssøknad og Oversikt fraværssøknader

F-Secure Mobile Security for Windows Mobile

GSM MINI. Bruksanvisning OVERSIKT GSM MINI 2. FØR BRUK: 2 - Aktivering av SIM-kort - Oppstart - Signalstyrke - Reset av adgangskode

2013 Aditro AS 1 (24)

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

Brukerhåndbok TNS Gallup Mediepanel

Hvordan innføre studentbevisappen

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

En app for fuglekikkere

HØGSKOLEN I SØR-TRØNDELAG

- Så har man antagelig et problem med Windows sin driversignering å gjøre.

Filoverføring med Corporate Netbank Innhold klikk på aktuelle kapittel

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Opus Systemer AS 2013

Eksamen i Internetteknologi Fagkode: IVA1379

INSTALLASJONSVEILEDNING FOR KALK2010 KALKULASJONSPROGRAM

INF5150 H07. Obligatorisk oppgave 2: Survival of the SMSest the game

Spesifikasjon av Lag emne

FAQ community. Ofte stilte spørsmål. Hvordan lager jeg fotoalbum? Gå inn på bilder i menyen øverst på siden. Klikk på nytt bildegalleri knappen.

K750i til W800i oppgraderingsinstruksjoner. Instruksjoner

:05 QuestBack eksport - Brukerundersøkelse om brukermedvirkning

Transkript:

DELLEVERANSE 2 INF2120 GRUPPE 12 Av Jon G. Berentsen Geir A. Nilsen Lailuma Arezo

Innledning: Hensikten med vår oppgave er å lage et overvåkningssystem basert på posisjonering av mobiltelefon. Overvåkningssystemet skal posisjonere registrerte brukere når de ber om det. De slik skal kunne få informasjon om hvor en annen samtykket bruker befinner seg relativt til demselv. Kommunikasjonen mellom systemet og brukerne foregår vha sms. Som registrert bruker får publikum tilgang til en rekke tjenester. De skal kunne melde seg av og på. Registrerte brukere deles inn i buddylister, og medlemmer av en byddyliste skal kunne få informasjon om hverandre, men ikke om medlemmer av andre buddylister. Man skal også kunne posisjonere steder, såkalte hotspots. Vi er nå ferdig med designprosessen, og neste steg er implimentasjon og eventuelt noe redesign.vi kommer til å basere sluttdokumentet for leveransen på dette dokumentet. Vi har gått over til et mer tjeneste spesifikt system. Det lages tilstandsmaskiner etter hvert som tjenester blir forespurt. Disse blir så destruert når tjenesten er utført. Spesifikasjon: Brukerforutsetninger: Brukeren har mobiltelefon med telenor abonnement. Vedkommede befinner seg i Norge, og har dekning. Personen må kunne håndtere mobiltelefon og smsfunksjonen. En bruker er enten påmeldt eller avmeldt, inaktiv er en tilstand en bruker ikke kan være i. Melder man seg av mister man hele "profilen" sin i systemt. Systemforutsetninger: Systemprogrammet vårt er oppe og kjører hele tiden. Definisjon av en BuddyList: De som er i buddylisten, er de du kan få posisjonen til. Hver bruker har en buddyliste. Hvis en buddy aksepterer din buddy-request havner han i din og du i hans buddyliste. Brukere i listen er synlig for hverandre, innebærer synlighet begge veier og ikke bare en vei. Ved sletting av en buddy blir man fjernet fra hverandres buddyliste, og ikke synlig for hverandr lengre. Definisjon av en BuddyHotSpot: Når en bruker registrerer en BuddyHS vil alle i brukerens BuddyListe få et tilbud om å adoptere denne HS. HS blir da lagt til i buddyens HS liste. OBS! Når man melder seg av tjenesten må man slettes fra alle Buddylister man er medlem av. Definisjon av Dynamiske HotSpot: To registrerte brukere. Ide om at buddy og dynamiske HS er nestendet samme. En DynHS vil ikke ha en buddyliste/muligheten til å lage HS. //* Revidert spesifikasjon: Tjenesten BuddyHotSpot er fjernet. Vi har tatt hensyn til feilmeldinger. Skjer det en (kritisk) feil, f.eks at DB ikke vil r/w, så stenger vi ned alle aktive sesjoner.

Kml fila genereres når man benytter tjenesten posbuddies og bare da. Når man ber om en posisjonering sjekkes man opp mot sine registrerte hotspots, men ikke buddies. Vi skiller ikke mellom Dynamisk hotspot og buddy. Diagrammer i systemet: Tilstandsmaskinen UserHandler: Dette er den største og mest aktive delen av systemet. Her gjøres parsing av SMS meldingen, slik at en kan velge hva en skal gjøre videre. En SMS melding består av tjeneste og argument(ene) til tjenesten. Den tar seg også av rutingen av forespørsler fra sessjonene som har blitt behandlet i DB_hanler og skal tilbake til sesjonene. Userhandler starter ved oppstart, henter inn brukere fra databasen., om databasen er ok ligger den og lytter på sms meldinger eller db meldinger. Om det skjer noe feil avsluttes programmet.

DB_relasjons-design: En bruker kan være medlem i flere buddylister. Og en liste kan kun eies av en bruker. På samme måte kan en bruker ha flere hotspot, og hver hotspot kan kun tilhøre en bruker. Liste er bare et begrep for å lette forståelsen av systemet. Disse listene oppstår bare når man gjør spørringer mot db og får listen som retur. Signaler: Disse signalene trigger tilstandsmaskiner til å gå over til neste tilstand. Dbreply: sendes som svar fra DB opp til sesjoner. Har to attributter som kan brukes litt forskjellig. Dbreplylist: same som dbreply, bare at den returnerer en liste, f.eks en buddyliste. Error: den trigger feilsekvens UserPos: returnerer en brukers posisjon DbReguest: sender en forespørsel til DB Compare: brukes for å sammenlikne to koordinater Timermsg: brukes for å sende tilstandsmaskiner i finalstate dersom de har eksistert for lenge

Tilstandsmaskin DB_Handler: DB_Handler mottar alle kall mot databasen. Dette kan deles i tre områder: Det som har med brukerhåndtering å gjøre (adduser, removeuser), buddyhåndtering (addbuddy, removebuddy, osv) og hotspot (gethotspots osv). Brukerhåndtering: DBHandler sjekker først om brukeren eksisterer i systemet, hvis ikke lagres brukeren i systemet og det sender en sms-bekreftelse. Hvis brukeren allerede eksisterer, får han beskjed om det, og det skjer ikke noe utover det. Buddyhåndtering: Oppdaterer buddylisten som ligger i db. Hotspothåndtering: Oppdaterer en bestemt brukers hotspots.

Komposit Struktur JSD: Dette er den overornede kompositstrukturen for systemet vårt. UserHandler og DB_Handler er tilstandsmaskiner. PositionServices, BuddyServices og HotSpotServices er komposit strukturer. Hele systemet er bygd opp rundt UserHandler. Mye av kommunikasjonen går fra -Services til DB_Handler til UserHandler og tilbake til -Services. Scenario: Sms kommer inn fra en bruker. UserHandler sjekker typen tjeneste brukeren ønsker utført. Hvis det er en buddytjeneste, sendes den til BuddyServices. Hvis det er en hotspottjeneste, sendes den til HotSpotServices osv. Sms til bruker går direkte fra tjenestene.

Komposit Struktur BuddyServices: Buddyservices håndterer alt som har å gjøre med buddytjenesten. Alle parteneer tilstandsmaskiner. Vi har mao en tilstandsmaskin for hver tjeneste.. Controller initieres i starten og kjører hele tiden. Det lages en addbuddy og en removebuddy tilstandsmaskin for hver gang en tjeneste blir etterspurt av en bruker, og termineres etter at tjenesten har utført kommandoen.

Tilstandsmaskin controller: Controller initieres i starten og kjører hele tiden. Den mottar signal fra UserHandler som ber om en tjeneste. Den utfører så ett av tre mulige tjenesteroperasjoner: å registrere/slette en bruker fra en buddyliste i DB, eller bare å oversende en liste med buddies som er registrert på en brukers kontoprofil.

Tilstandsmaskin addbuddy: Når metoden addmybuddy blir kalt så skjer følgende: Denne operasjonen sjekker at både bruker og buddy eksisterer i DB. Bruker1 sender sms til bruker2 og spør om han vil bli buddy. Hvis han ikke mottar svar innen en viss tid, så får han beskjed om at bruker2 ikke svarer/ er det ensbetydende med at han svarer nei. Hvis han svarer ja, så registreres denne relasjonen i DB og det gis beskjed til bruker1 før den dør. På samme måte får bruker1 beskjed hvis bruker2 svarer nei.

Composite Structure HotSpotService: HotSpotservices håndterer alt som har å gjøre med hotspottjenesten. Alle partene er tilstandsmaskiner. Vi har igjen en tilstandsmaskin for hver tjeneste. Det lages en addhotspot og en removehotspot tilstandsmaskin for hver gang en tjeneste blir etterspurt av en bruker, som avsluttes etter at tjenesten har utført kommandoen.

Tilstandsmaskin HotSpotController: controller initieres i oppstarten og kjører hele tiden. Den mottar signal fra UserHandler som ber om en tjeneste. Den utfører så ett av to mulige tjenesteoperasjoner: å registrere eller å slette en hotspot fra DB.

Tilstandsmaskin addhotspot: DB mottar et signal om å gjøre en sjekk på bruker. Det lages en hotspot som lagres i DB med relasjon til brukeren, og det sendes bekreftelse til bruker. Hvis bruker derimot ikke eksisterer i DB, får bruker beskjed om det. addhotspot kalles med en brukerid og et navn som identifiserer posisjonen. Først så sjekkes det at brukeren er gyldig, i så fall så sendes en melding til PATS via WaitForPosUserResponse-metoden. Denne kan feile f.eks dersom PATS er nede, men normalt vil det nye hotspotet lagres via StoreTheNewHotspot. Når hotspotet blir lagret blir det sendt en melding tilbake til brukeren om dette.

Komposite Structure PositionServices: Controller initieres i starten og kjører hele tiden. Den mottar signal fra UserHandler som ber om en tjeneste. Avhengig av argument utføres så ett av tre mulige tjenesteoperasjoner.

Tilstandsmaskin PosServiceController:

Tilstandsmaskin nearanyhotspot: Denne tilstandsmaskinen beskriver et scenario der bruker spør systemet om å få nærmeste hotspot i forhold til hvor brukeren befinner seg. JSD sender med en liste med hotspot. nearanyhotspots mottar brukerid, gjør et oppslag via PATS for å få posisjonen, så gjør et søk i databasen for å finne nærmeste posisjoner, og så returnerer det nærmeste.

Tilstandsmaskin posbuddies: Gangen i systemet er som følger: PosBuddies gjør et oppslag i databasen og produserer en liste over alle vennene til den gjeldende brukeren. For hver buddy opprettes det en singlebuddy. SingleBuddy kaller posoneuser som gjør et oppslag mot PATS og rapporterer posisjonen til buddien tilbake til brukeren. Deretter legger singlebuddy posisjonen inn i databasen. Input: Output: Denne tilstandsmaskinen opprettes når brukeren spør JSD om å få en liste over hvor sine buddies er for øyeblikket. posbuddies mottar et signal fra userhandler om å foreta en sjekk på om bruker eksisterer i systemet. CreatePosSingleUserBuddies kaller posoneuser for hver bruker som gjeldende bruker har som buddies.

Tilstandsmaskin posoneuser:

Tilstandsmaskin PosAllusers: Denne tilstandsmaskinen gjør kommunikasjonen mot PATS.

Sekvensdiagrammer