2D1954 Programutvecklingsprojekt 2003-02-21 – Projektgrupp Elvin

 

 

User Requirerments Document

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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


1 Introduktion

1.1 Syfte

Detta dokument syftar till att noggrant, och så uttömmande som möjligt, specificera de krav som beställare och användare vill att produkten skall leva upp till. Dokumentet skall läsas både som en kravlista på vilken funktionalitet som mjukvaran skall leverera, samt som ett stöd, alternativt checklista, under utvecklingen av mjukvaran.

1.2 Mjukvarans omfattning

Mjukvaran skall möjliggöra kommunikation med Elvin-meddelanden från och till en mobiltelefon av modell Sony-Ericsson P800/802. Elvin är ett system för meddelandehantering som skiljer sig från vanliga meddelandetjänster. Istället för att ett meddelande skickas specifikt mellan två applikationer som är fallet i vanliga meddelandesystem, så styrs meddelandedirigeringen i Elvin-systemet helt och hållet av innehållet i de specifika meddelanden som skickas.

1.3 Definitioner, akronymer och förkortningar

API, Application Programming Interface
GPRS, General Packet Radio System
HTTP, Hypertext Transfer Protocol
SDK, Software Development Kit

TICKERTAPE, En speciell typ av Elvin-meddelanden avsedd för chatt och nyheter
Sony-Ericson P800/802, En mobiltelefon med handdatorfunktioner
C++, Ett vanligt förekommande högnivåprogrammeringsspråk
Java, Ett vanligt förekommande plattformsoberoende högnivåprogrammeringsspråk
Elvin-klient, Den programvara som en vanlig användare använder för att få tillgång till Elvin-meddelanden

1.4 Referenser

Projektets hemsida: http://www.nada.kth.se/projects/proj03/elvin/
Elvin huvudsida: http://elvin.dstc.edu.au/
Elvin klient-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/

1.5 Översikt av dokumentet

Avsnitt två i dokumentet ger en generell beskrivning av mjukvaran. Denna omfattar i vilket perspektiv och omgivning mjukvaran skall användas (2.1) och hur den passar in i befintliga system. Sedan följer en beskrivningar av de funktioner som mjukvara kommer att leverera samt varför dessa behövs från ett användarperspektiv, samt hur väl projektet bedömes kunna möta dessa utifrån givna premisser (2.2-3). Sedan följer under vilka antaganden detta dokument är utformat, samt vilka externa system som produkten bygger på och hur dessa fungerar (2.4-5). Tredje avsnittet i dokumentet behandlar de specifika tekniska funktionalitetskraven indelat i två grupper; funktionalitet (3.1) samt icke funktionella krav (3.2).

2 Allmän översikt

2.1 Elvin ur ett omvärldsperspektiv

Elvin finns idag implementerat för en rad olika plattformar på persondatorer. Oss veterligen finns det dock ingen kommersiell tillämpning av Elvin. En implementering av protokollet på Ericssons P800 kommer att bredda användningsområdet ytterligare och härigenom vinner vi många nya erfarenheter om design och tillämpningar och av applikationer för handdatorer. Detta är viktigt i och med att allt fler handdatorer tas i bruk i, inte bara inom it-branschen; även andra branscher har under senare år insett fördelen med små, lätta handdatorer. Och för att vinna den genomslagskraft som pc:n gjorde under 80- och 90-talen, måste man finna nya tillämpningsområden. Vi hoppas att Elvin ska bli ett av dessa.

2.2 Systemets funktioner

Syftet med denna Elvin-klient är att utgöra en grund för utvärdering av Elvin-tillämpningar på mobiltelefoner. Systemet kommer i sin första version att vara relativt enkelt kommer att baseras på den s.k. Tickertape-varianten av Elvin-protokollet. Programmet har 3 huvudfunktioner. Dessa är:

-                 Ta emot / Läsa meddelanden

-                 Skicka meddelanden

-                 Inställningar

Funktionen ta emot listar ett specificerat antal av de senast inkomna meddelandena under varandra. Vi tror inte den för persondatorer vanligt förekommande varianten med en rullande text är lämplig på mobiltelefoner.

Funktionen skicka ger möjlighet att skicka ett meddelande till fördefinierade grupper, alternativt ange en ny grupp till vilken meddelandet ska skickas.

I inställningar kan användaren ange värdnamn för aktuell Elvin-server samt definiera vilka grupper man prenumererar på.

2.3 Projektets begränsningar

Detta projekt utförs inom ramen för kursen Programutvecklingsprojekt på Kungliga tekniska högskolan och skall omfatta 4 heltidsveckor. Detta är den tid som de 6 projektdeltagarna har till sitt förfogande.

När det gäller tekniska begränsningar är projektet helt beroende av den utvecklingsmiljö för Ericsson P800 som tillhandahålls av Ericsson. Programvara för telefonen kan skrivas i antingen Java eller C++. Det senare språket är att föredra om man vill göra en applikation som integreras med telefonen. Man får här tillgång till samtliga telefonens funktioner och detta verkar det enda realistiska alternativet om man ska göra en riktig, kommersiell tillämpning av applikationen.

Att använda C++ är emellertid inte att föredra för detta projekt. Dels kostar en utvecklingsmiljö pengar, dels tar det mycket längre tid och dels är det svårare att testa applikationen ”live” på telefonen. Därför har vi valt Java som språk. Vi får tillgång till en gratis SDK som kan laddas ner från Ericssons hemsida och det går lättare att testa applikationen. I gengäld förlorar vi möjligheten att använda många av telefonens inbyggda funktioner.

2.3 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 Elvin som det idag är att skicka SMS. Endast genom ett enkelt och intuitivt användargränssnitt kan detta uppnås. Därför kommer en relativt stor del av tiden att läggas ner på att utforma användargränssnittet. Det går inte att kopiera en befintlig Elvin-klient för PC, eftersom skärmen på handdatorer är mycket mindre.

2.4 Externa beroenden och antaganden

Förutsättningarna för ett lyckat projekt är många. Här är de omständigheter som projektmedlemmarna själva inte kan påverka.

-                 Tillgång till en Ericsson P800. För att kunna testa applikationen på ett tillfredsställande sätt krävs en riktig telefon. Det räcker inte att bara använda Ericssons emulator.

-                 Elvin-servern och GPRS. Efter vad projektmedlemmarna känner till har inga tidigare tillämpningar har gjorts med elvin-servrar och GPRS-baserade mobiltelefoner. Detta bör dock inte vara något problem eftersom mobiltelefoner med GPRS-uppkoppling till Internet får en IP-adress precis som vanliga persondatorer. Servern bör därför inte märka om den pratar med en mobiltelefon eller med en persondator.

-                 Java API för Elvin. Projektet kommer att använda sig av det vedertagna Java-APIet för Elvin som tillhandahålls via Elvins webbplats. Vi är medvetna om att vissa korrigeringar kan behövas för att anpassa APIet till Java Micro Edition, men det mesta borde kunna användas rakt av.

3 Specifika krav

3.1 Funktionalitetskrav

3.1.1 Funktionalitet

Elvin klienten skall kunna ansluta till en Elvinserver på en specificerad IP-adress alternativt datorvärdnamn. Klienten kommer inte ha någon funktionalitet att hitta en Elvin server automatiskt.

Klienten ska kunna registrera hos server vilka grupper den prenumerera på. Det kommer endast att vara möjligt att prenumerera på en av användaren lista av grupper. Ingen möjlighet kommer att finnas för användaren att ange mer avancerade regler via Elvin Subscription Language.

Klienten ska ha möjlighet att både skicka och ta emot meddelanden. Meddelanden ska kunna skickas till en av användaren angiven grupp. Klienten kommer att stödja meddelanden enligt standarden org.tickertape.message av version 1.3 alternativt 2.0. Meddelanden mottagna av klienten ska kunna lagras och läsas av användaren. Användaren ska kunna specificera antalet meddelanden som ska lagras och visas samtidigt.

Användaren ska ha möjlighet att avaktivera och aktivera enskilda gruppers prenumerationer utan att behöva lägga till och ta bort grupper ur listan.

3.1.2 Gränssnitt

Det ska finnas möjlighet för användaren att på ett användarvänligt sätt mata in eller ändra sina inställningar. Inställningsmöjligheterna kommer att vara följande användarnamn, server, grupper samt antal sparade meddelanden.

Användaren ska smidigt kunna skicka meddelanden i ett steg. För meddelanden ska mottagargrupp kunna väljas. Inmatning av meddelanden ska ske på samma sätt som övrig textinmatning sker på telefonen.

Emottagna meddelanden ska visas sorterade i tids ordning och tydligt tid, grupp och avsändare för meddelandet. Texten i meddelandet ska visas så mycket som möjligt beroende på storlek. För stora meddelanden ska möjlighet finnas att klicka på meddelanden för att få se hela texten.

Om användaren ej befinner sig aktivt i klienten ska ett fönster komma fram och avisera att nytt meddelande har kommit.

Språket på klienten ska vara automatiskt vara samma som telefonen är inställt på.

3.2 Icke funktionella krav

Klienten kommer att skrivas i Java och fungera på Sony-Ericssons mobiltelefon P800/802 med operativsystemet Symbian v7.

Klienten kommer att stödja Elvinserver, Elvind v4.0.3.

Klienten kommer endast att stödja meddelanden enligt standarden org.tickertape.message av version 1.3 alternativt 2.0.

Klientens gränssnitt ska utvecklas så att snabbheten maximeras och antalet steg för att skicka och läsa meddelanden minimeras.

Det är av största vikt att klientens storlek (d.v.s. filstorleken) minimeras så mycket som möjligt. Detta eftersom det ska vara möjligt att ladda ner klienten från Internet direkt till mobiltelefonen.