PROJECT PLANNING DOCUMENT NISSE 2000 15 FEBRUARI 2000 Jonas Lindholm <su98-jli@nada.kth.se> Ali Shokri <su98-ash@nada.kth.se> Ronja Yu <su99-ryu@nada.kth.se> Simon Josefsson <jas@nada.kth.se> Maria Thunberg <md97-mth@nada.kth.se> Ulf Bourelius <dharynn@nada.kth.se> Kajetan Kazimierczak <md96-kka@nada.kth.se> Fredrik Jonsson <ms97-fjo@nada.kth.se>
Innehållsförteckning rev. A 1 Presentation av problemet... 3 1.1 Kort presentation av problemet... 3 1.2 Motivation... 3 1.3 Mål... 3 1.4 Gruppens kompetens... 4 2 Bakgrund... 5 2.1 Kommersiell bakgrund... 5 2.2 Vetenskaplig bakgrund... 5 2.3 Teknisk bakgrund... 6 3 Appendix... 7 3.1 Ansvarsområden... 7 3.2 Telefonlista... 8 3.3 E-postadresser... 8 1
Sammanfattning Dokumentets första del består av en kort beskrivning av problemet. Vidare har vi skrivit några rader om våra mål och motivation. Vi har även tagit upp vilken kompetens det fins inom gruppen. Andra delen av dokumentet består av en beskrivning av bakgrunden till problemet. Både kommersiell, vetenskaplig och teknisk. 2
1 Presentation av problemet 1.1 Kort presentation av problemet Vår uppdragsgivare är ett företag som sysslar med support och underhåll av datorutrustning hos kunder. I nuläget sker all kommunikation mellan företaget och kunden via telefon och fax, vilket är väldigt tidskrävande. Vår uppgift är att skapa ett system för orderhantering via internet och mobiltelefoner, som ska göra det möjligt för företagets personal att snabbt och enkelt få information om nya uppdrag. En kund ska kunna via företagets hemsida lägga en beställning på ett nytt uppdrag. Kunden får då ett beställningsnummer som han kan använda för att senare se hur arbetet fortskrider. När en ny beställning har kommit in ska ett SMS-meddelande skickas till företagets supporterpersonal, så att de via sin WAP-kompatibel mobiltelefon snabbt kan logga in på företagets hemsida. Där kan den nya beställningen läsas av och en tekniker ska då kunna välja att anta uppdraget direkt eller vid ett senare tillfälle. När han har utfört en viss del av arbetet kan han också markera detta via telefonen. Kunden ska, via företagets hemsida, kunna följa hur arbetet med beställningen fortlöper. På det sättet effektiviseras kommunikationen mellan företaget och kunderna eftersom alla parter har tillgång till aktuell information via internet. Systemet skall även ha stöd för fakturering av utfört arbete. En bokföringsfirma ska kunna, antingen via hemsidan eller ett specialskrivet program, få ut ett fakturaunderlag med information om avslutade uppdrag som är klara att fakturera. Dessa uppdrag kan kunden sedan, via hemsidan, verifiera vid bejov. 1.2 Motivation Gruppen har flera motiv att välja just det här projektet. Projektet leder till att vi får arbeta med flera viktiga teknologier som är som ligger i tiden. Vi ser det som en utmaning och möjlighet att lära oss mera om att sammankoppla flera olika typer av teknologier. Till exempel kommunikation mellan mobiltelefoner och internet genom WAP och SMS-tjänster är viktiga komponenter. Kravet på kommunikation mellan beställare och deras kunder kräver ett flexibelt system som utnyttjar ett register (Vi räknar med att vi kommer att bli tvungna att använda någon slags databas, men vad och hur bestämmer vi senare.) för att lagra data och ge rätt information till rätt person. Detta måste vi kombinera så att vår beställare kan fakturera sina kunder, som i sin tur ska kunna göra beställningar via webben och kunna avläsa statusen på felanmälningar och beställningar. Vi får en möjlighet att få inblick i hur ett supportföretag fungerar. Vi siktar på att det ska leda till att vi kan få in mer än en fot på datasupportmarknaden. I och med att många skaffar dator i hemmet växer den marknaden med stormsteg. 1.3 Mål Under projektet ska vi bygga ett gränssnitt mellan tre helt olika typer av användare som arbetar i olika miljöer. Deras kunskapsnivåer skiljer sig mycket mellan varandra och därför är det viktigt att kommunikationen mellan dessa tre parter genom gränssnittet ska fungera så friktionsfritt som möjligt. För att bygga detta gränssnitt får vi möjlighet att lära och arbeta med flera viktiga områden inom dagens och morgondagens IT-värld. Dessa områden är framförallt databaser, nätverksprogrammering, människa- datorinteraktion och telekommunikation. 3
Databaser har en viktig roll i många av dagens applikationer och används av de allra flesta företag. Därför ser vi fram emot att lära oss mer om detta spännande område. Vi kommer att använda en stor, sammanhållande databas vars uppgift är att fungera som den underliggande spindeln i nätet. Där lagras alla beställningar med information om vad som åtgärdats och huruvida detta arbete har fakturerats eller inte. Internet har under 90-talet vuxit och blivit enormt viktigt inom IT-branschen och vi räknar med att många företag kommer att vara beroende av nätet inom en snar framtid. I princip alla människor har stött på internet i något sammanhang i dag och för oss kommer internet att vara avgörande för kommunikationen mellan användarna och olika plattformer. Gränssnittet har som huvuduppgift att hantera detta och för att lyckas måste vi behärska flera typer av nätverksprogrammering. Å ena sidan måste vi lär oss mera om html- och cgi-programmering för att bygga gränssnittet gentemot kunderna och ekonomipersonalen. Å andra sidan ska teknikerna snabbt och enkelt kunna koppla upp sig mot databasen med hjälp av en mobiltelefon och WAP. Om vi lär oss utnyttja WAP kan det ge oss en stark position i IT-världen, eftersom kompetensen inom detta nya område är begränsad. För att kommunikationen mellan parterna ska fungera krävs att vi utvecklar ett väl genomtänkt gränssnitt, vilket innebär att vi måste göra en djupdykning i människa-dator interaktionens dunkla värld. Användarvänlighet är ett område som blir allt viktigare att använda som konkurrens medel. Dagens närhet mellan telefoni och programmering är något som intresserar oss. Vi kommer då få tillfälle att lära oss mer om telekommunikation eftersom vi måste skicka SMS till mobiltelefoner. Givetvis ser vi också fram emot att få en chans att förbättra våra färdigheter i att samarbeta inom gruppen. Vi måste också lära oss att föra en vettig dialog med beställaren. 1.4 Gruppens kompetens Samtliga personer i gruppen har bra kunskaper i diverse datalogi, som till exempel programspråk Java, Scheme och Pascal. Alla har vidare grundläggande kunskaper om databaser samt bra grundkunskaper inom matematiken. Flera medlemmar i gruppen har arbetat som konsulter och har erfarenheter av arbetslivet. Andra erfarenheter som flera i gruppen har är dokumentation och protokollskrivning. Inom gruppen finns det även kunskaper om en fri webserver Apache. En del av gruppen har mer djupgående kunskaper i olika programspråk såsom C, Java, Lisp, CGI, PHP och Visual Basic. Vissa gruppmedlemmar har erfarenhet av labbhandledning, varit övningsassistent eller instruktör inom karate. Vissa programspråk och datahantering är det bara enstaka i gruppen som behärskar. Exempel på sådana är Borland Delphi, Microsoft SQL server, modem och GUI-utformning. Andra delar som bara någon i gruppen behärskar är NT-server, Linux, Nokia-telefoner och PC (SMS och datakommunikation), MySQL och perl. En av personerna i gruppen har skrivit en egen webserver som en laboration som kan visa sig vara en användbar kunskap. Vi behöver utöka våra kunskaper i WAP, html- och CGI-programmering och även i databashantering. Några av medlemmarna i gruppen har erfarenheter av att arbeta i större grupper men inte alla. Vi kommer att vara tvungna att jobba som en enhet om detta projekt skall klaras av. 4
2 Bakgrund 2.1 Kommersiell bakgrund Med tanke på mjukvaror som finns på marknaden idag, kan vårt projekt delas in i tre olika delar; 1. Kontakt mellan kunder och företagets tekniker: Sker många gånger genom news-grupper, via brev eller e-post. 2. Administration (fakturaunderlag, ekonomi-rapporter, lön etc.): Administrativa program finns det gott på marknaden. Det är även mycket vanligt att t.ex. löneprogram har kopplingar till bokföringsprogram osv. 3. Intern kommunikation inom företaget: Sker ofta med internpost eller via intranät. Någon bred lösning för automatisk och (som i vårt fall) mobil kontakt finns idag inte. När alla tre delarna ska finnas med i ett system är det svårt att hitta färdiga lösningar på marknaden. Förmodligen är det mycket svårt att utveckla ett generellt system som passar flera olika typer av företag och kunder. Ett exempel på program som kommer i närheten av åtminstone de två första punkterna ovan, är Lundalogiks "Kontakt". Här finns kontakthantering för försäljare och ekonomistöd för den administrativa avdelningen. Detta program kostar idag mellan 2000 och 7000 kronor per användare, beroende på version. Idéen bakom projektet har säkerligen en stor marknad. Företaget får en minskad arbetsbelastning och kan sätta in sina personalresurser på annat håll. Företaget kan erbjuda sina kunder snabbare och effektivare service. Kvar finns svårigheten att sälja den färdiga produkten till mer än en kund. Det finns gott om kundregister och säljstöd på marknaden. Vi har som ett exempel Lundalogiks "Kontakt" som har kontakthantering för försäljare och ekonomistöd för den administrativa avdelningen. Detta program kostar idag mellan 2000 och 7000 kronor per användare, beroende på version. 2.2 Vetenskaplig bakgrund Bortsett från WAP-tekniken innefattar projektet inga outforskade marker. Det finns sedan ett par år ett flertal lösningar oavsett plattform för att koppla webbsidor till databaser. De databaser som finns tillgängliga bör klara av uppgiften utan problem. Även vad beträffar SMS-meddelanden finns ett par kommersiella lösningar från olika tele-operatörer som är i drift. WAP är fortfarande ett ganska nytt område och begreppet nämns oftare än det kan förklaras. Specifikationer m.m. finns dock att tillgå, t.ex. via Ericssons hemsida. Här ska gruppen fortsätta att studera vilka möjligheter och begränsningar som finns i dag. En trolig framtida utveckling är fortsatt ökade överföringshastigheter och informationsmängder. WAP är idag klart begränsat av att mobiltelefonerna har små fönster och litet minnesutrymme. Vid en första bedömning ser vi heller inget behov av komplicerade algoritmer eller datastrukturer. Den information vi vill lagra kommer att sparas i något befintligt databassystem. 5
2.3 Teknisk bakgrund Vi har identifierat fyra områden där en teknisk lösning behövs: Databasen SMS-sändning Webbserver för kunder Webbserver för tekniker För alla fyra områden behöver vi välja operativsystem och programmeringsspråk. Valet av operativsystem står huvudsakligen mellan Windows och någon form av Unix, där t.ex. Linux är ett intressant val. Eventuellt kan man tänka sig att i olika delar av systemet använda olika operativsystem. Det eller de programmeringsspråken bör ha möjligheten att utnyttja någon databas eftersom de flesta delar av projektet behöver kommunicera med databasen. Inom gruppen finns stor erfarenhet av Java, men även C, Perl, PHP som alla är tänkbara alternativ. Vi förväntar oss att med stor säkerhet behöva skriva olika delar av systemet i olika språk, beroende på vilket som är lämpligast för respektive uppgift. Det finns huvudsakligen tre delar där programmering behövs: 1.I webbservern för kunder och tekniker passar ett scriptspråk med snabba databaskopplingar bäst. Det kan t.ex. vara Perl eller PHP. 2. För SMS-sändning beror det mycket på vilken kommersiell lösning som väljs (se nedan) men för åtminstone Europolitans lösning är Java ett tänkbart språk eftersom den använde TCP/IP (se nedan). Comviqs lösning kräver seriell kommunikation, något som vi tror kan vara problematiskt i Java. Ett lämpligare språk kan vara C. 3. Bokföringsdelen kan vara en del i webbserverdelen, eller en Java-applikation. Databasen Det finns flera databaser att välja bland. Inom gruppen har vi kunskaper om två servrar med öppen källkod, MySQL och PostgreSQL. De är tekniskt jämförbara, men den förstnämnda kostar 1000 SEK om man använder den i kommersiella syften medan den senare är helt gratis. I övrigt på marknaden finns Microsoft SQL som är ett alternativ om vi väljer Nokias WAP-lösning (se nedan) eftersom man då kan begränsa sig till ett operativsystem (Windows). SMS-sändning Det finns en kommersiell lösning hos Comviq, som heter IQ TEXT Online, samt en lösning hos Europolitan, som heter SMS Direkt. Bägge har tekniskdokumentation över hur man använder deras lösningar. Utdrag ur Comviqs beskrivning: Tjänsten gör att du kan skicka textmeddelanden till GSM-telefoner från din dator. Antingen via modem och då ringer du 070-711 90 10. Du får alltid kvittens på att meddelandet nått den du söker eller om meddelandet lagrats för att skickas ut senare. Det finns många program på marknaden som stöder denna funktion. Utdrag ur Europolitans beskrivning: Europolitan SMS Direkt ger företaget möjlighet att på etteffektivt sätt överföra korta textmeddelanden 6
mellan en fast punkt, tex. en ordercentral, svarsservice, larmutskick, och en eller flera mobiltelefoner, tex ett antal budbilar eller serviceenheter. Tjänsten ger företaget möjlighet att snabbt och precist dirigera verksamheten. Företaget får också fullständig kontroll över utsända och mottagna meddelanden och därigenom en mer effektiv ordergivning. Webbserver för kunder Under Windows finns Microsoft IIS som är en kommersiell produkt. Enligt information från Microsoft går den att integrera med övriga Microsoft-lösningar. För oss är det mest intressant med Microsoft SQL, om vi skulle välja den och Nokias WAP-lösning. Inom gruppen finns kunskaper om en fri webbserver, Apache, som det finns bra utvecklingsverktyg och kopplingar till olika programmeringsspråk som Perl, C, PHP. Den fungerar under både Windows och Unix. Om det mot allt förmodan skulle visa sig, att de tillgängliga webbservrarna inte är flexibla, har vi möjligheten att utveckla en egen. Eftersom de erfarenheterna finns redan inom gruppen (laborationsuppgift i en tidigare kurs.). Webbserver för tekniker Teknikerna behöver en mobil lösning, ett område som är ganska nytt. WAP är en omtalad lösning, men gruppen behöver läsa på mer för att utröna vilka lösningar som finns. Eventuellt går det bra att använda en vanlig webbserver och en WAP-gateway hos mobiltelefonoperatören, istället för en WAPserver. Nokia har en WAP-utvecklingsmiljö för Windows NT som är nedladdningsbar från internet. Ericsson har en WAP-browser för Palmpiloter, som också är fritt nedladdningsbar. 3 Appendix 3.1 Ansvarsområden Projektledare Sekreterare Programmeringsansvarig Programmering Dokumentationsansvarig Rapporter Tester Designer GUI experter Projektplanering Kontaktperson Ulf Bourelius. Fredrik Jonsson. Simon Josefsson. Samtliga i gruppen. Maria Thunberg. Maria Thunberg och Fredrik Jonsson. Beslutas senare. Simon Josefsson och Kajetan Kazimierczak. Jonas Lindholm och Simon Josefsson. Ali Shokri och Kajetan Kazimierczak. Kajetan Kazimierczak. 7
3.2 Telefonlista Namn Hem Mobil Simon: 08-619 04 22 070 845 86 02 Ronja: 08-667 34 48 070 497 59 53 Kaj: 08-655 01 43 070 753 19 72 Jonas: 08-581 702 93 070 920 35 06 Ali: 08-29 44 23 Maria: 08-96 37 06 070 684 88 30 Ulf: 08-798 99 30 Fredrik: 08-585 792 75 070 568 01 77 3.3 E-postadresser Jonas Lindholm <su98-jli@nada.kth.se> Ali Shokri <su98-ash@nada.kth.se> Ronja Yu <su99-ryu@nada.kth.se> Simon Josefsson <jas@nada.kth.se> Maria Thunberg <md97-mth@nada.kth.se> Ulf Bourelius <dharynn@nada.kth.se> Kajetan Kazimierczak <md96-kka@nada.kth.se> Fredrik Jonsson <ms97-fjo@nada.kth.se> 8