Kravspesifikasjon Presentasjon Tittel: Oppgave: Backup for PDA/Smartphones Utvikle en applikasjon for PDA/Smartphones med funksjonalitet for backup av sms, mms, e-post, kontakter, kalender, bilder og dokumenter Prosjektperiode: 27.10.2006 25.5.2007 Gruppemedlemmer: Mikael Cabot, Are Flyen, Bjørn Arne Hagen, Håvard Hebnes Prosjektgruppe: 07-02 Veileder: Simen Hagen, HiO Oppdragsgiver: Touch Mobility AS Kontaktperson: Even Weberg, tlf. 95203058 1. Innledning Innledning Prosjektet skal gjennomføres som hovedprosjekt ved Høgskolen i Oslo avd. for Ingeniørutdanning i samarbeid med Touch Mobility AS. Oppgaven går ut på å lage en løsning bestående av diverse verktøy for å ta backup av personlig informasjon som ligger lagret på en PDA/Smartphone basert på Windows Mobile 5. Om bedriften Touch Mobility AS ble startet januar 2005 og eies av gründerne, Telenor og Telefast (importør av PDA'er og Smartphones) Touch Mobility AS har pr. dags dato 10 ansatte fordelt på administrasjon, salg, utvikling og support. Firmaet utvikler programvare for PDAer og Smartphones basert på Microsoft Windows Mobile operativsystem. Kjerneproduktet er et såkalt Device Management System som benyttes for administrasjon av PDA/Smartphones over telefon nettet (Over The Air (OTA) teknologi). Med denne løsningen kan en IT Administrator i fra hvilken som helst datamaskin med internett-tilgang administrere alle slike enheter uansett hvor brukerne befinner seg eneste krav er at det er GPRS-dekning på PDA/Smartphone og firmaets InTouch-klient installert. Bakgrunn for prosjektet Typiske brukere av PDA/Smartphones er bedrifter, og de har gjerne både sensitive og forretningskritiske data lagret på denne. Hvis brukeren skulle være uheldig å miste eller bli frastjålet telefonen, uheldig sletting, uopprettelig feil på telefonen, Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 1
hardwarefeil, osv. vil dette kunne få store konsekvenser for både den ansatte og for bedriften. Derfor er det ønskelig med en funksjon for å kunne ta backup av informasjonen som er lagret på en slik telefon. Dette er en funksjon som per dags dato ikke eksisterer på disse telefonene uten bruk av 3.parts programvare. Touch Mobility ønsker derfor å inkludere en slik funksjon i den løsningen de tilbyr sine kunder. 2. Forord Formålet med denne kravspesifikasjonen er for det første å avgrense hovedoppgavens omfang mot vår oppdragsgiver Touch Mobility AS. Kravspesifikasjonen vil i så måte kunne endre seg underveis i løpet av prosjektperioden. Den vil videre være et hjelpemiddel for oss i det videre arbeidet med prosjektet, og sørge for at vi holder oss til kravene som er gitt. Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 2
3. Innholdsfortegnelse 1. Innledning... 1 Innledning... 1 Om bedriften... 1 Bakgrunn for prosjektet... 1 2. Forord... 2 3. Innholdsfortegnelse... 3 4. Systemkrav... 4 Overordnet usecase... 4 Funksjonelle krav... 5 Bruker skal kunne velge hva man tar backup av... 5 Velge hvor backup skal lagres... 5 Overføre backup til en ekstern server... 5 Applikasjonen må kjøres på WM 5... 5 Sikker overføring og lagring av data... 5 Brukervennlighet... 5 Admin system for oppretting av brukerrettigheter... 5 Ikke funksjonelle krav... 5 Oppetid... 5 Ubegrenset antall brukere... 5 Tekniske krav... 6 Utviklingsplattform... 6 Driftsplattform... 6 5. Krav til design... 7 Brukervennlighet... 7 Fleksibilitet... 7 Universell design... 7 6. Kode... 8 Krav til kode... 8 7. Dokumentasjon... 9 Krav til dokumentasjon... 9 8. Utvidelser... 10 Restore... Feil! Bokmerke er ikke definert. VNC... Feil! Bokmerke er ikke definert. Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 3
4. Systemkrav Overordnet usecase Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 4
Funksjonelle krav Bruker skal kunne velge hva man tar backup av Det er flere typer data det kan bli tatt backup av. Data som sms, mms, e-post, kontakter, kalender, bilder, dokumenter, filer, osv. Brukere kan velge hvilke data som skal sikkerhetskopieres. Velge hvor backup skal lagres Bruker kan velge hvor dataene det tas backup av skal lagres. Dette kan lagres enten lokalt på enhetens minnekort eller eksternt på en server. Overføre backup til en ekstern server Bruker skal kunne velge om han ønsker å overføre backup til en ekstern server. Under overføring av backup eksternt, vil SyncML bli benyttet. Applikasjonen må kjøres på WM 5 Det er et krav at applikasjonen skal kjøres på Windows Mobile 5, da applikasjonen skal utvikles for PDA/Smartphones med dette operativsystemet. Sikker overføring og lagring av data Når det skal tas backup av dataene, skal det være et krav at dataene er ivaretatt på best mulig måte under backup prosessen, slik at det ikke skal forekomme at data forsvinner. Brukervennlighet Det er et mål at systemet skal være brukervennlig. Vi vil så langt det lar seg gjøre sørge for et brukervennlig system. Admin system for oppretting av brukerrettigheter Det vil bli fremsatt et enkelt system for oppretting av brukerrettigheter for de forskjellige backup funksjonene i applikasjonen. Ikke funksjonelle krav Oppetid Synkroniseringsserveren bør ha en oppetid på tilnærmet 100%. Ubegrenset antall brukere Det vil ikke være noen begrensninger i antall brukere som kan benytte seg av systemet. Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 5
Tekniske krav Utviklingsplattform Utviklingsverktøy: Microsoft Visual Studio 2005 Rammeverk: Microsoft.NET Compact framework 2.0 Operativsystem: Windows XP Driftsplattform Alle PDA/Smartphones med Windows Mobile 5.0 som operativsystem Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 6
5. Krav til design Brukervennlighet Ved utformingen av systemet vil det bli lagt stor vekt på brukervennlighet. Designet på systemet skal være av en slik karakter at det er lett å bruke de forskjellige funksjonene i applikasjonen, med logisk og naturlig plassering av slikt som knapper, menyvalg, funksjoner, innstillinger og lignende. Det tekniske ved systemet skal ikke synliggjøres for brukeren i noen form, men skjules over et enkelt og brukervennlig GUI. Dette skal ikke gå på bekostning av funksjonaliteten i systemet, men heller presenteres på en slik måte at bruker kan velge enkle snarveier for å utføre mer avanserte/kraftfulle funksjoner. Vi mener at dette er viktig da vi tenker oss at typiske brukere av systemet ikke bare er de med god teknisk forståelse, men også de som har liten teknisk innsikt. Dette vil gjøre det lettere for alle typer brukere å benytte seg av løsningen. Fleksibilitet Løsningen som skal bygges opp, tar utgangspunkt i en fleksibel grunnstruktur. Der vi har tatt høyde for at videreutvikling av systemet skal være så smertefritt som mulig. Systemet blir derfor designet slik at det skal være lett å implementere ny funksjonalitet, enkelt å tilpasse og endre eksisterende elementer. Dette er viktig da nye krav til funksjonalitet kan gjøre seg gjeldende i fremtiden. Universell design Vi skal bestrebe å utvikle systemet så universelt som mulig. Med dette menes utformingen av produktet, slik at det kan brukes av de aller fleste brukere, i så stor utstrekning som mulig, og uten behov for tilpasning til en bestemt brukergruppe. Totalt sett vil dette medføre at terskelen blir mindre for å ta i bruk funksjonene i applikasjonen. Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 7
6. Kode Krav til kode Målet med å sette krav til koden som skrives i dette prosjektet er for at det både skal følge gitte standarder, samt at det skal være lett for hvem som helst å overta den på et senere tidspunkt. På samme måte vil det være enkelt for deltakerne i prosjektet å utveksle kode uten at det settes spor av hvem som har jobbet med den. Oppdragsgiver har ingen gitte krav til kodestandard men følger standarder ut fra Microsoft / Visual Studio. Microsoft har utviklet et grunnleggende dokument for design av klasser og datastrukturer [1]. Det gir en innsikt i hvordan en bør strukturere koden sin, men sier ikke detaljert om hvordan navngiving, tegnsetting, språk og dokumentasjon bør være. En av arkitektene bak.net rammeverket har utviklet mer detaljerte retningslinjer som beskriver dette [2]. De er mer lette å lese og oppsummerer de viktigste elementene som en bør følge under koding. Derfor bør de og ansees som en gjeldende retningslinje for utviklingen i dette prosjektet. En siste referanse er til en retningslinje fra Microsoft om hvordan skrive sikker kode [3]. De kan brukes for å se flere eksempler på syntaksbruk. Videre er de viktige for å få en grunnleggende innføring i hvordan en kan skrive sikrere kode nettopp for å bedre den generelle standarden på produktet. Oppsummert kan en si at det skal settes som mål å skrive både strukturert, enkel og sikker kode i dette prosjektet basert på de overstående anbefalingene. [1] http://msdn2.microsoft.com/en-us/library/ms229042.aspx [2] http://blogs.msdn.com/brada/articles/361363.aspx [2] http://msdn2.microsoft.com/en-us/library/aa302372.aspx Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 8
7. Dokumentasjon Krav til dokumentasjon Det blir i løpet av prosjektet ført prosjektdagbok, der denne kort beskriver hva som er blitt gjort. Vi har også utarbeidet en arbeidsplan og en fremdriftsplan, som hjelper oss å holde fokus på arbeidsoppgavene og holde oss til disse innen gitte frister. Vi har opprettet en egen dokumentmal som vi skal bruke for alle dokumenter vi skal lage. Dette vil medføre en lik og gjennomført stil for alle dokumenter vi lager. Og vil resultere i mindre jobb da vi slipper formateringsjobben i etterkant. Det er et krav at vi følger dokumentstandarden som er satt av skolen. Siden det er ganske store krav til dokumentasjonen og mengden av dokumenter som skal opprettes, skiller vi mellom styringsdokumentasjon og sluttdokumentasjon som hoveddeler. Der styringsdokumentene er dokumentene som lages under prosessen, og sluttdokumentasjonen er samlingen av dokumenter som skal leveres inn til slutt. På grunn av at kravspesifikasjonen vil kunne endres underveis vil denne være en del av både styringsdokumentasjonen og sluttdokumentasjonen. Dette for at veileder og sensor skal kunne se evt. endringer som er gjort i denne og for å kunne evaluere i hvilken grad denne er oppfylt. Styringsdokumenter: Prosjektskisse Prosjektdagbok Forprosjektrapport Arbeidsplan og fremdriftsplan Overordnet kravspesifikasjon Sluttdokumentasjon: Endelig kravspesifikasjon Prosessdokumentasjon Produktdokumentasjon Testdokumentasjon Brukerveiledning Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 9
8. Utvidelser Restore Av fremtidige utvidelser vil det være ønskelig å implementere en restore funksjon slik at brukeren kan legge inn en backup hvis det skulle bli behov for dette. Det bør kunne kjøres restore fra tidligere backup som er lagret som fil, og man bør også kunne kjøre restore fra backup som er lagret på ekstern server. VNC En VNC-leser (Virtual Network Computing) er et program som f.eks. kjøres på en lokal maskin hvor man kopler seg opp til en ekstern PDA/Smartphone. Når man har koplet seg til PDA/Smartphonen kan man bruke den som om det var sin egen telefon. Dette vil være til stor hjelp for en som sitter på support og skal hjelpe en kunde som har problemer med sin egen PDA. Det er et ønske fra Touch Mobility at en slik leser utvikles hvis tiden tillater dette. Webgrensesnitt for administrator Et grensesnitt der administrator kan sjekke status på en kundes backup. Det bør også være mulig å se på hvor mange som har brukt systemet det siste døgnet, siste måneden, siste uken eller en valgt periode. Høgskolen i Oslo Hovedprosjekt i data, 2007 Gruppe 2 Side 10