Programutvecklingsprojekt 2003-04-24 – Projektgrupp Elvin

 

 

Projektpresentation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Björn Engdahl

engdahl@kth.se

Fredrik Dahlström

fd@kth.se

Mats Eriksson

d94-mae@nada.kth.se

Staffan Friberg

sfriberg@kth.se

Thomas Glod

glod@kth.se

Tom Eriksson

tome@kth.se


Innehållsförteckning

 

1      Inledning. 3

2      Sammanfattning av projektet 3

3      Bakgrund. 3

4      Problembeskrivning. 4

5      Slutanvändaren. 4

6      Prototyp. 4

7      Datormiljö och programvara. 4

8      Funktioner i systemet & användargränssnitt 5

8.1       Inställningar 5

8.2       Uppkoppling mot server 5

8.3       Meddelandelista. 6

8.4       Vy för att läsa meddelande. 7

8.5       Vy för att skriva och skicka nytt meddelande. 8

9      Referenser 9

10        Bilaga 1 – Systematisk metod. 10

 


1             Inledning

Projekt Elvin är ett projekt som har utförts inom ramen för kursen 2D1954 Programutvecklingsprojekt vid KTH i Stockholm. Projektstart skedde 21 januari 2003, projektet avslutas med slutredovisning 6 maj 2003.

Meningen med detta dokument är att få en sammanfattning av projektet, samt ge en överblick av hur upplägget har varit. Detta dokument, samt övriga dokument som skrivits under projektets gång finns tillgängliga på projekthemsidan dels i pdf format, dels i html format.

 

Projektets namn:              Projekt Elvin

Uppdragsgivare:               Kristian Groth, IPLab, NADA, KTH

Gruppmedlemmar:          Björn Engdahl

                                    Fredrik Dahlström

                                    Mats Eriksson

                                    Staffan Friberg

                                    Thomas Glod

                                    Tom Eriksson, Projektledare

Projekthemsida:               http://www.nada.kth.se/projects/proj03/elvin

2             Sammanfattning av projektet

Elvin är en produkt för nätverkskommunikation som skiljer sig från de flesta andra applikationer för att skicka meddelanden över nätverk. Elvinmeddelanden routas över nätverket till en eller flera mottagare baserat på meddelandets innehåll. Plattformen Elvin tillhandahåller ett mycket enkelt och snabbt sätt att kommunicera.

Utvecklingen av Elvin började i Australien. Nu, tio år senare, har Projekt Elvin på KTH utvecklat den första mobila applikationen som kommunicerar via Elvin­meddelanden. Vi kallar vår applikation Mobile Elvin eftersom den är skriven för mobiltelefonen Sony-Ericsson P800 för att skicka och ta emot Elvinmeddelanden från hela världen, mellan både stationära och mobila klienter. Vårt projekt har därmed utökat användbarheten för Elvinplattformen och resulterat i en riktigt nyttig produkt i och med att allt fler mobiltelefoner blir uppkopplade mot Internet.

3             Bakgrund

Uppdragsgivare för projektet är Kristina Groth som är intresserad av att undersöka hur kommunikation kan utvecklas på en arbetsplats. Det stora problemet är när vissa av medarbetarna sitter vid datorer i olika arbetsrum och andra endast är möjliga att nå via mobiltelefon. Syftet med projektet är, som redan nämnts, att utveckla en Elvinklient för mobiltelefoner som gör det möjligt att skicka och ta emot meddelanden till och från andra mobiltelefoner och datorer. Detta skulle kunna användas för att lösa de kommunikationsproblem som uppstår i en utspridd organisation, eftersom man då skulle kunna skicka endast ett meddelande som alla skulle kunna ta emot oavsett om de sitter framför datorn eller bara har telefonen med sig.

4             Problembeskrivning

Produktens syfte är att fungera som en fullvärdig Elvinklient. Klienten ska kunna ta emot och skicka meddelanden, spara mottagna meddelanden och visa dem i en lista. Programmet ska kunna köras i bakgrunden på telefonen så att möjligheten att vara ständigt uppkopplad via Elvin finns. När ett nytt meddelande inkommit ska programmet meddela om detta.

Det är inte möjligt att ta en färdig Elvinklient för en dator och köra på mobiltelefonen. Framförallt beror detta på att dessa skulle bli för otympliga att använda. De är ofta gjorda för att användas på en stor skärm och tillgång till tangentbord samt mus. En mobiltelefon saknar oftast den utrustningen och klienten måste därför förenklas och anpassas till de inmatningsmetoder som finns tillgängliga på en mobiltelefon.

5             Slutanvändaren

Hur ser den typiska användaren av systemet ut och vilka förkunskaper har denna? Målgruppen är en ”vanlig” människa utan särskild datorvana. Vår målsättning är att det ska vara lika enkelt att använda Elvinklienten som det idag är att skicka SMS. Endast genom ett enkelt och intuitivt användargränssnitt kan detta uppnås.

6             Prototyp

Ingen prototyp av klienten har tillverkats då vi upplevde att det inte skulle förenkla utveckling. Det skulle i en prototyp vara svårt att simulera de begränsningar som en mobiltelefon ger.

7             Datormiljö och programvara

Utvecklingen av Elvinklienten har gjorts i Java på en P800-emulator för PC. Den finns att ladda ner från Sony-Ericssons hemsida. Den Java-version som används är Personaljava, vilket är en delmängd av Java SDK 1.1.8 från Sun. Med emulatorn och sdk:n från Sony-Ericsson följer verktyg för att skapa installationsfiler som gör det lätt för användare att installera applikationen på telefonen.

8             Funktioner i systemet & användargränssnitt

Programmets huvudsakliga funktion är att skicka och ta emot Elvin-meddelanden av typen Tickertape. Användaren väljer själv vilken server han/hon ska koppla upp sig mot och vilka grupper att prenumerera på.

8.1      Inställningar

Användaren kan ställa in sitt användarnamn, adress till server, TCP port till servern, lägga till/ta bort grupper för prenumeration och ställa in hur stor listan över inkomna meddelanden ska vara. Inställningarna sparas till fil när användaren går ur inställnings­vyn genom att klicka på OK-knappen. Klickar användaren på Cancel­-knappen återgår programmet till de tidigare inställningarna. (Se figur 1).

 

Figur 1.

8.2      Uppkoppling mot server

Användaren kontrollerar själv genom ett menyval uppkoppling och nedkoppling mot server. När klienten ansluts till servern meddelas detta genom ett fönster som dyker upp kortvarigt. Om ingen GPRS-uppkoppling finns aktiv kommer det automatiskt upp en dialogruta för att koppla upp sig mot Internet när användaren försöker ansluta till servern. (Se figur 2).

Figur 2.

8.3      Meddelandelista

Meddelandelistan är programmets huvudvy. Listan innehåller de senaste inkomna meddelandena, upp till det antal meddelanden som användaren ställt in. I meddelandelistan är varje rad ett meddelande. Användarnamnet för den användare som skickade meddelandet syns tillsammans med inledningen på innehållet i meddelandet. Är antalet meddelandet större än vad som kan visas på skärmen samtidigt får användaren utnyttja rullisten till höger för att navigera bland meddelandena.

När ett nytt meddelande anländer dyker en liten pop-up ruta upp som meddelar användaren om detta och det nya meddelandet hamnar överst i listan.

När applikationen stängs ner sparas meddelandena på fil. Dessa läses in när programmet startas upp på nytt.

I meddelandelistan kan användaren välja ett meddelande genom att markera det. Längst ner i vyn finns en knapp för att visa det valda meddelandet och en knapp för att ta bort det valda meddelandet. Ett borttaget meddelande går inte att få tillbaka. (Se figur 3).

 

Figur 3.

8.4      Vy för att läsa meddelande

Ett meddelande visas i sin helhet när användaren valt det i listan och klickat på Read-knappen. Överst i denna vy visas info om själva meddelandet. From talar om vilken användare som skickat meddelandet. Group anger vilken grupp meddelandet skickats till. Date är klockslaget då meddelandet togs emot, enligt den tid som är inställd på telefonen.

Under detta i vyn visas själva innehållet i meddelandet. Är meddelandet större än vad som får plats på ytan får användaren använda en rullist för att navigera i meddelandet.

Längst ner i vyn finns en knapp, Reply, för att besvara meddelandet och en knapp, Close, för att stänga meddelandevyn och återgå till meddelandelistan. Reply tar användaren till en vy för att skriva ett nytt meddelande. Det meddelandet kommer dock vara markerat som ett svar på det meddelande som besvaras (detta är en funktion i meddelandetypen Tickertape). (Se figur 4).

 

Figur 4.

8.5      Vy för att skriva och skicka nytt meddelande

Vyn för att skriva och skicka ett nytt meddelande består av en rullgardinsmeny för att välja till vilken grupp meddelandet ska skickas till, ett textfält för att skriva själva meddelandet, samt två knappar: En ångraknapp och en knapp för att skicka meddelandet. I rullgardinsmenyn finns de grupper som användaren lagt till i vyn för inställningarna. Textarean har en rullista till höger om meddelandet blir långt.

Användaren kan enbart komma ifrån denna vy genom att antingen klicka Send eller Cancel. Om användaren klickar Cancel töms vyn och applikationen återgår till meddelandelistan. Klickar användaren på Send skickas meddelandet och applikationen återgår till meddelandelistan. Fungerar uppkopplingen till servern korrekt anländer det skickade meddelandet inom kort.

Skulle applikationen stängas ner medan användaren skriver ett meddelande sparas den text användaren skrivit ner på fil och när applikationen startar upp igen finns texten kvar. (Se figur 5).

 

Figur 5.

9             Referenser

Projektets hemsida: http://www.nada.kth.se/projects/proj03/elvin/
Elvin huvudsida: http://elvin.dstc.edu.au/
Elvinklient API: http://elvin.dstc.edu.au/doc/apis.html
Elvin Subscription Language: http://elvin.dstc.com/doc/esl4.html

Tickertape standarder: http://elvin.dstc.com/projects/tickertape/doc/index.html
Sony-Ericsson P800/802: http://www.sonyericsson.com/

Elvins Java API JE4: http://elvin.dstc.edu.au/projects/je4/index.html

PSS05: ESA Software Engineering Standards

Suns hemsida: http://www.java.sun.com

 


10      Bilaga 1 – Systematisk metod

Den systematiska metoden vi jobbat efter i projektet är PSS-05-01 som är utvecklad av ESA, European Space Agency. Den version vi utgått från är något modifierad jämfört med originalet. Modifikationen är gjord av Karl Meinke vid gruppen för teoretisk datalogi vid NADA, KTH. Det är hans mallar vi har utgått ifrån när vi har dokumenterat projektet. Vi har inte använt oss av alla steg som finns i PSS-05-01, men en stor del av dem.

De dokument vi har skapat är User Requirements Document (URD), Software Requirements Document (SRD), samt Detailed Design Document. Alla dessa dokument, samt övrig dokumentation, finns tillgänglig via projekthemsidan.

Vi tycker att det har varit en stor hjälp att jobba efter PSS-05-01. Det känns som man får mycket gratis eftersom det redan finns färdiga mallar att utgå ifrån. Man behöver så att säga inte uppfinna hjulet igen. Men det är inte bara hjälpen med dokumentationen som varit bra. Genom att man har ett visst antal dokument som ska göras var det lätt att sätta upp en tidsplan för hela projektet. Varje dokument i PSS-05-01 tar en ett steg närmare färdigställandet av projektet. Detta innebär att varje dokument är varit ett delmål. När ett dokument var färdigt så var automatiskt en fas av projektet färdig och man kunde gå vidare med nästa fas.

Det känns bra att ha använt en metod som faktiskt används ute i ”verkligheten”. Vi ser därför detta som en nyttig erfarenhet, eftersom sannolikheten är stor att vi senare i arbetslivet kommer att använda metoden igen.