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

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

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

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

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

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

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

DELLEVERANSE 1 INF2120 V06

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

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

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

INF2120 Prosjektoppgave i modellering. Del 1

Trafikanten + Innlevering oblig 1 INF2120 Våren Versjon 1

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

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

INF2120 Prosjektoppgaven Våren Et Trafikkoppfølgingssystem. Tjenester. Konkret gjennomføring. (Versjon )

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

INF2120 Prosjektoppgaven Våren 2006

Prosjektoppgave INF2120 Våren 2007: Rebusløp

DROP 2.

UNIVERSITETET I OSLO

Fra krav til objektdesign

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

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

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

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

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

Spesifikasjon av Lag emne

UKE 11 UML modellering og use case. Gruppetime INF1055

UML 1. Use case drevet analyse og design Kirsten Ribu

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Beskjed fra Skagestein

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

STRATMOD: FORSINKELSER OG TRENGSEL I KOLLEKTIVTRAFIKKEN

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Øving 5: Brukergrensesnitt (usability)

INF1010 UML. Marit Nybakken 26. januar 2004

IBIS Logitrans Brukernes vurdering av sanntids ruteinformasjon i Trondheim

Trygt eller truende? Opplevelse av risiko på reisen

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Operatørkontroll Kvalitetsmanual Buss. Kvalitetsmanual Buss. Versjon 8.0 Februar

NB! Endring i undervisningsplanen

Hovedprosjekt i Anvendt Datateknologi Våren 2008 FORSIDE

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

INF100 Institutt for informatikk Universitetet i Bergen Øving 5

Løren T -en ny forbindelse. Reisetilfredshet blant reisende ved LørenT banestasjon

Operatørkontroll Kvalitetsmanual - Buss. Ruter AS Versjon: Kvalitetsmanual Buss. Operatørkontroll. Fotograf: Bonanza AS

Løsningsforslag til Case. (Analysen)

Objektorientering og UML. INF1050: Gjennomgang, uke 06

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

INF Modellering med objekter (Oblig 2) **TimeregistreringSystem** (Designet av Alen Cemer

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner

IBIS-prosjektet i Trondheim

Obligatorisk oppgave nr. 3 i INF1300 høsten 2009

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

UML-Unified Modeling Language

INF1000: noen avsluttende ord

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006

Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store. Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson

IT-arkitektur leveransemodell

Elektronisk sanntidsinformasjon på holdeplasser langs Timekspressruta i Møre og Romsdal

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Modellering av krav. INF1050: Systemutvikling 11. februar Universitetslektor Yngve Lindsjørn

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

Use case drevet design med UML

INF1050 Systemutvikling

Signalgrensesnitt for Trafikanten Pluss

- På Farten - Midttermsrapport

Eksamen i fag TDT4140 Systemutvikling. 22. mai, 2008 kl

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

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

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

Requirements & Design Document

Sanntids informasjonssystem for synshemmede i kollektivtrafikken et skritt nærmere universell utforming

Mer$om$objektorientering$og$UML

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

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

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

INF Algoritmer og datastrukturer

INF1400. Tilstandsmaskin

INF Obligatorisk innlevering 7

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

INF1050 Systemutvikling

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

Fysiske problemer med å bruke transportmidler Omfang, kjennetegn, reiseaktivitet og opplevelse av barrierer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oversikt over forelesningen. DFD sentrale konsepter. Intro til Dataflytdiagrammer (DFD) Marakas, kap. 5

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

Oversikt over forelesningene. Fra analyse til objektdesign. Utfordringen i å lage OO-modeller. Metode for ansvarsdrevet OO. Uke 12: Ansvarsdrevet OO:

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

1 Introduksjon til designmodellen - del B 2

EUROPEISK KAMPANJE TA SJANSEN I BYEN UTEN BILEN

Prosjektoppgave våren 2007

Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?

Teknisk regelverk for bygging og prosjektering. C-Elektrotekniske anlegg. 5. Publikumsinformasjonsanlegg (PIA-anlegg)

Tilstandsmaskiner med UML og Java

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

Transkript:

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

2

1 Innledning Vi har nå designet et system kalt Trafikanten Pluss, et system hvor reisende kan få dynamisk oppdatert ruteinformasjon. Utgangspunktet for denne leveransen er spesifikasjonen av Trafikanten Pluss-systemet gitt av Gruppe 8. 1.1 Forutsetninger Vi forutsetter at alle holdeplassene har en kjent posisjon, og at denne posisjonen er registrert i vår statiske database. Videre forutsetter vi at det ikke er noen vesensforskjell mellom ulike transportmidler som buss, båt, tog eller trikk; systemet vil derfor ikke skjelne mellom de ulike typene. Vi ser videre bort fra eventuelle endringer av rutene, opprettelse av nye holdeplasser og lignende. Systemet vil således være begrenset til virkeligheten slik den er nå. Vi forutsetter at vi alltid kan skaffe oss oppdatert informasjon om hvor hvert enkelt transportmiddel finnes. 1.2 Interessenter Selv om systemet også kan være til nytte for de ansatte i trafikkselskapet, vil de primære interessentene være passasjerene. 2 Revidert spesifikasjon I den opprinnelige spesifikasjonen var det beskrevet en rekke tjenester: Brukeren sender SMS, og systemet svarer med SMS, beste alternativ. Brukeren sender SMS med NESTE, og får neste alternativ som SMS. Brukeren sender SMS med KART, og får kart via MMS. Brukeren sender SMS med forespørsel om alle nærliggende stasjoner, og får tilbakemelding om så mange stasjoner det er plass til i en enkelt melding. Vi har i designet valgt å begrense oss til kun de to første tjenestene. Karttjenesten ville vært spennende å implementere, men vi kan ikke se at det ville være gjennomførbart med de ressurser som er tilgjengelige for oss. Sekvendsdiagrammene er sterkt modifisert fra delleveranse 1, da vi nå vet mer om grensenittet til de eksterne tjeneste vi benytter det var ønskelig å løse flerbrukerproblematikken på en god måte 3

2.1 Sd TrafikantenPluss Vi har tatt med det overordnete sekvensdiagrammet fra den opprinnelige spesifikasjonen, med lett modifiserte navn (FinnRute tilsvarer FinnPunkter, FinnAvgang tilsvarer TilPunkt og FinnHoldeplass tilsvarer FraPunktTil- Punkt). Vi har som tidligere nevnt begrenset tjenestetilbudet, og konsentrert oss om å gjennomføre FinnAvgang. 2.2 Sd FinnAvgang Med utgangspunkt i sd TilPunkt fra leveranse 1 har vi nå laget et nytt sekvensdiagram, som er mer spesifikt og konkret. I tillegg viser diagrammet at vi håndterer flere samtidige brukere parallelt. Sekvensdiagrammet viser oss to konkrete hendelser hvor Pelle og Proffen sender sms for å få informasjon om sine avganger. Pelle skal til Høybråten, mens Proffen skal til Majorstua. Brukerne får melding fra sentralen om mulige avganger i ønskede retninger, med rutenummer og klokkeslett for første avgang. Vi ser at hvis Pelle eller Proffen ønsker å få tidspunkt for neste avgang i samme retning, sender de en SMS med kodeordet NESTE og får så tilsendt sms med tidspunktet for den neste avgangen. 2.3 Sd FinnAvgangSystem Dette er den detaljerte dekomponeringen av systemlivslinjen fra det forrige diagrammet. La oss følge gangen for Pelle: SMSsystemet (PATS) mottar SMSen fra Pelle (melding 1), og sender den videre til kontrollobjektet (2) i vårt system. Kontrollobjektet lager så et sesjonsobjekt (3) for Pelle, og sender kommandoen fra SMSen til sesjonsobjektet (8). Sesjonsobjektet ber så PATS finne ut hvor Pelle befinner seg (12), og får svaret som koordinater (13). Sesjonsobjektet ber så rutetabellobjektet om å finne den nærmeste relevante holdeplassen (14/15). Deretter spør sesjonsobjektet Trafikantenobjektet om status for denne holdeplassen (16) og får svaret som en XML-fil som inneholder dynamisk informasjon om de nærmeste avganger fra holdeplassen (17). Sesjonsobjektet finner utifra dette den neste avgangen, og får PATS til å sende Pelle en SMS med informasjonen (18/19). Hva som skjer hvis Pelle så sender en SMS med kodeordet NESTE er beskrevet i sekvensdiagrammet sd FinnAvgangSystemNeste. 10 minutter etter at sesjonsobjektet ble opprettet, vil kontrolleren avslutte sesjonen (22). 2.4 Sd FinnAvgangSystemNeste Sender bruker kodeordet NESTE til systemet, så skjer ett av to: Hvis brukerens sesjonsobjekt fremdeles eksisterer, ber kontrolleren det om neste avgang. Sesjonsobjektet har allerede informasjonen den trenger, og beregner neste avgang utifra dette og sender SMS til bruker. Hvis sesjonsobjektet derimot 4

ikke finnes (dvs at det er over 10 minutter siden den første meldingen), vil bruker få SMS med feilmelding. 3 Design Her kommer en spesifisering av diagrammene for designmodellen. 3.1 Klassediagram Klassediagrammet består av fem objekter: 1. SMSsystem, er PATS-laben som blir brukt til kommunikasjon mellom systemet og mobilenheten til brukeren. Den kan motta og sende sms, og spørre om posisjon til mobiltelefon. 2. Kontroller, håndterer kommunikasjonen mellom SMSsystemet og de aktuelle sesjonene. Kontrolleren består av en SesjonsManager, en SesjonsBygger og en Beslutningstaker. 3. Sesjon, tar seg av kommunikasjonen mellom brukeren og systemet. Det kan være mange sesjoner samtidig tilknyttet systemet. 4. Trafikanten kommuniserer med Trafikantens eksisterende system, og gir systemet dynamisk informasjon om framkomstmidlene, i form av XML-fil. 5. Rutetabell gjør spørringer mot databasen med rutetabeller. Dette brukes til å hente informasjon om framkomstmidlenes ordinære rutetider. 3.2 Composite Structure 3.2.1 CS Trafikanten Pluss Composite Structure diagrammet av Trafikanten Pluss viser hvordan objektene kommuniserer med hverandre. Brukeren kommuniserer med Trafikanten Pluss gjennom SMSsystemet (PATS). SMSsystemet er knyttet til kontroller og sesjoner. Trafikanten Pluss systemet kan ha mange sesjoner på en gang, uten at det påvirker noen av de andre sesjonene. Hver sesjon henter ut dynamisk informasjon om fremkomstmidlene fra Trafikanten (dagens system) gjennom XML fil. Statisk informasjon blir hentet fra rutetabell for hver sesjon. 3.2.2 CS kontroller Kontroller fra CS Trafikanten Pluss har en Beslutningstaker som spør SesjonsManager om sesjonen allerede finnes. Finnes den ikke ber Beslutningstakeren Sesjonsbyggeren om å opprette et nytt sesjonsobjekt. 5

3.3 State Machines 3.3.1 Sm Kontroller Kontrollerens hovedtilstand vil være venterpåmelding. I denne tilstanden vil kontrolleren få ett av to signaler: tilholdeplass eller neste. Behandlingen av disse signalene er beskrevet i henholdsvis smbehandlerfinnholdeplass og smbehandlerneste. 3.3.2 Sm BehandlerFinnHoldeplass Utgangspunktet er at kontrolleren har fått signalet tilholdeplass. Kontrolleren vil så vente på om SesjonsManageren finner referert sesjon eller ikke. Får vi null som svar fra SesjonsManageren trigges lagsesjon og vi går over i tilstanden Venter På ny Sesjon. Når sesjonen er laget vil sesjonsid returneres. 3.3.3 Sm BehandlerNeste Utgangspunktet er at kontrolleren har fått signalet BehandlerNeste. Kontrolleren vil så vente på om SesjonsManageren finner referert sesjon eller ikke. Hvis sesjonobjektet blir funnet blir det returnert. Hvis det ikke blir funnet får vi null som returverdi. 3.3.4 Sm Sesjon Tilstandsmaskinen for sesjonsobjektet er relativt sekvensiell. Etter at sesjonsobjektet har blitt laget med create, havner vi i den initielle tilstanden. Når sesjonsobjektet får signalet tilholdeplass(destinsasjon, Tidspunkt, Id) vil det sende sendsms(pats, FinnPos(Id) ) og havne i tilstanden venterpåposisjon. Når koordinatene til posisjonen er kjent er det posisjon(koordinatene) som er triggeren, og setter i gang finnholdeplass(koordinater, destinasjon). Sesjonen kommer i tilstanden venterpåholdeplass. Når holdeplassen er kjent for sesjonen, blir finnframkomstmidler(holdeplass) satt i gang, mens sesjonen kommer inn i tilstanden VenterPåFramkomstmiddel. Når sesjonen vet om framkomstmidler, blir førstealternativ satt i gang. Sesjonen går inn i tilstanden Venter, hvor den befinner seg i 10 minutter, før sesjonen blir drept. I Venter kan triggeren være finnneste, som setter i gang nestealternativ. 3.3.5 Sm Rutetabell Fra start går rutetabell inn i Venter, hvor den venter på trigger som finnholdeplass(koordinater), og da returnerer Holdeplass. 6

3.3.6 Sm Trafikanten Sm Trafikanten Fra start går Trafikanten inn i Venter, hvor den venter på trigger som finnholdeplass(koordinater, destinasjon), og da returnerer Holdeplass. 7