Kravspesifikasjon Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 12.01.2013 Public 2013 Aker Solutions Page 1 of 7
Table of Contents Forord... 3 Om bakgrunnen... 3 Presentasjon... 3 Innledning... 3 Kort systembeskrivelse... 4 Kravspesifikasjon... 4 Funksjonelle krav... 4 Konfigurasjonsfilgenerator... 4 Webside... 4 Ikke funksjonelle krav... 5 Øvrige ønsker... 5 Logisk datamodell... 5 Krav til dokumentasjon... 5 Risikoevaluering... 6 Ordforklaringer... 7 Public 2013 Aker Solutions Page 2 of 7
Forord Hensikten med kravspesifikasjonen er at det skal fungere som et styringsdokument for gruppen, slik at vi kan konsultere denne om det skulle oppstå en diskusjon om hvilken retning prosjektet skal bevege seg i. Ved å sjekke kravene som står skrevet her vil man lettere kunne ta beslutninger og justere kursen om dette skulle bli nødvendig. Kravspesifikasjonen skal også fungere som en avtale mellom oppdragsgiver og gruppe om hva som skal lages samt betingelsene rundt dette. Den skal vise de viktige betingelsene for hva oppdragsgiver ønsker, men dokumentet er også til for at vi som gruppe trenger det for å skrive et hovedprosjekt. Denne avtalen er ingen låst kontrakt, og vi vil kunne ha mulighet til å legge til eller fjerne krav etter som prosjektet utvikles, og problemer/muligheter viser seg. Kravspesifikasjonen skal også fungere som en veileder for sensor om hva som kan forventes av dette prosjektet, slik at dette kan sammenlignes med det som kommer frem i sluttdokumentasjonen. Om bakgrunnen Aker Solutions tilbyr produkter, systemer og tjenester for kunder innenfor olje- og gassindustrien på verdensbasis. Firmaet har over 25 000 ansatte i over 30 land. De har behov for et felles overvåkningssystem av prosjekter og programmer de kjører. De bruker opptil 2 timer daglig på å sjekke status på jobbene som kjører/har kjørt over natta. I tillegg krever de ulike serverne de benytter seg av, forskjellige metoder for å få sjekke status på sine prosjekter. Presentasjon Oppgave: Utvikle et overvåkningssystem for loggfilene til Aker Solutions Periode: 10. januar til 13. juni Gruppemedlemmer: Katrina Aquino Jonas Bergem Sindre Flotve Sofie Elisabeth Johnsen Prosjektgruppe: Gruppe 26 Veileder: Eva Hadler Vihovde, tlf. 928 88 788 Oppdragsgiver: Aker Solutions Kontaktperson: Marit Leding Kibsgaard, tlf. 476 66 666 Innledning Denne kravspesifikasjonen starter med en litt generell beskrivelse av gruppen, arbeidsgiver og prosjektet, slik at leser vil kunne raskt sette seg inn i den aktuelle problemstillingen. Etter dette forsetter vi med en risikoevaluering som tar for seg både risikoer ved prosjektutførelsen, men også risikoer innad i gruppen. Vi vil også legge ved diagrammer som kan gjøre det enklere både for leseren og for gruppen å forstå hvordan systemet skal fungere og hvordan de forskjellige delene henger sammen. Deretter kommer selve kravspesifikasjonen med aktuelle krav som er kommet frem under samtaler mellom arbeidsgiver og gruppen. Tilslutt finner vi krav til dokumentasjon og ordforklaringer. Public 2013 Aker Solutions Page 3 of 7
Det forutsettes at leseren har generell teknisk innsikt, men det forventes ikke at den skal ha hørt om alle systemene som omtales her. Derfor vil vi legge ved en liste med forklaringer på begreper som vi bruker i denne rapporten. Kort systembeskrivelse Systemet vi skal lage vil bestå av en applikasjon som kjøres lokalt på en data. Denne applikasjonen skal lage en konfigurasjonsfil, hvor brukeren fyller inn i et skjema de søkeord han/hun trenger for å lese og lete gjennom en loggfil. Når konfigurasjonsfilen blir opprettet, lagres den som et XML dokument. Dette gjør det lett å hente ut de parameterne man er interessert i. Vi programmerer deretter en klasse som bruker disse parameterne til å lese gjennom og hente ut data fra Aker sine loggfiler. Loggfilene blir generert av systemene som Aker Solutions kjører og plasseres på et bestemt sted i dere mappestruktur. Vi skal lage en webside som presenterer informasjon som har blitt lest fra loggfilene, slik at de som jobber hos Aker Solutions lett kan får en oversikt over statusen fra loggfilene. Use-case diagram in progress! Kravspesifikasjon I dette avsnittet vil vi ta for oss krav som er satt til prosjektet, kommet frem til i samarbeid mellom Aker Solutions og gruppemedlemmene. Dette gjelder både krav til hva programmet skal kunne gjøre og krav av ikke-funksjonell art. Denne vil kunne forandre seg litt underveis ettersom gruppen for mer innsikt i oppgavens omfang og funksjon, eller om oppdragsgiver har noen punkter å tilføye/forandre. Funksjonelle krav Konfigurasjonsfilgenerator Den skal ha et grafisk brukergrensesnitt Standalone applikasjon for installasjon på klient Generere konfigurasjonsfil utfra brukerdefinerte parametere, f. eks.: E-post adresser for varsling Applikasjonstype Prosjektnavn Søkeord som skal brukes ved presentasjon av resultatet Programmet skal kunne brukes av forskjellige systemer Generisk kode Skal ha en kilde som brukes til å ferdig utfylle enkelte komponenter i grensesnittet Kilden skal være redigerbar i grensesnittet Webside Vise status på jobber som har kjørt innenfor en spesifisert tidsramme Vise overordnet presentasjon av status med mulighet til å gå i dybden Gruppere jobber etter prosjekter og applikasjoner Skal kunne vise eldre loggfiler Oppdatering av data skal skje automatisk på et spesifisert tidspunkt Skal kunne filtrere søkeresultater Public 2013 Aker Solutions Page 4 of 7
Ikke funksjonelle krav Konfigurasjonsfilgeneratoren skal kunne lastes ned og kjøres på Windows 7 Konfigurasjonsfilgeneratoren skal bare brukes av autoriserte personer Websiden skal kunne vises i Internet Explorer 8 Det skal lages en brukermanual for hele løsningen på engelsk Løsningen skal lages i C# og.net Løsningen skal være utvidbar Øvrige ønsker Logisk datamodell In progress! Krav til dokumentasjon Dokumentasjonen skal utgjøre en stor del av grunnlaget for karakteren, og det er derfor viktig at denne utføres etter visse krav. Høgskolen i Oslo og Akershus har lagt ut en dokumentasjonsstandard som fungerer som en veiledende mal. Denne malen inneholder styringsdokumentene: Prosjektskisse Prosjektdagbok Forprosjektrapport Kravspesifikasjon Disse dokumentene skal skrives under prosjektperioden, mens sluttdokumentasjonen skal skrives ved utgangen av arbeidsperioden, når selve utviklingsarbeidet nærmer seg slutten. Sluttdokumentasjonen vil inneholde dokumenter som: Prosessdokumentasjon Produktdokumentasjon Testdokumentasjon Brukerveiledning Brukermanual Vi har fått som krav fra Aker Solutions at brukermanualen skal skrives på engelsk, men resten av dokumentasjonen vil være på norsk. Gruppen skal under hele perioden være flinke til å oppdatere prosjektdagboken, slik at det blir lettere å skrive sluttdokumentasjonen når den tid kommer. Vi har fått lov til å bruke Aker Solutions sin layout på dokumenter, og vil da bruke den til mal for utseende på dokumentasjonen. Public 2013 Aker Solutions Page 5 of 7
Risikoevaluering I dette avsnittet ser vi på forskjellige risikoer som kan oppstå under prosjektperioden. Vi bruker trepunktskalaen for både sannsynlighet og konsekvenser. Tiltak dersom noen av punktene skulle oppstå er også beskrevet her. Mål for sannsynlighet:, Middels, Høy Mål for konsekvenser: Liten, Middels, Stor Tap av data (serverfeil) Middels All koden vi skriver ligger både lokalt på hver vår datamaskin og på Team Foundation Serveren som driftes av Aker Solutions. Dersom noen skulle miste data vil det være mulig å gjenopprette prosjektet ved hjelp av andres lokale kopier. Tap av datamaskin eller hardware-feil Middels Middels Aker Solutions låner ut bærbare maskiner til oss og, og de kan erstattes ved feil og mangler. Prosjektet/kildekoden er ikke et problem å få tak i, men oppsett av maskinen og installering av programmer kan ta lang tid. I den perioden kan gruppemedlemmet som mangler datamaskin par-programmere med en annen i gruppen. Dårlig samarbeid innad i gruppen Middels Om det oppstår konflikter mellom gruppemedlemmer som hindrer prosjektets framgang må gruppen gå til gruppeveilederen for å få hjelp til en løsning dersom gruppemedlemmene selv ikke klarer å løse problemet. Oppgaver må fordeles på nytt dersom mye tid har gått til problemløsning istedenfor programmering eller annen gruppearbeid. Sykdom innad i gruppen Stor Middels Public 2013 Aker Solutions Page 6 of 7
Ved sykdom er det viktig at den syke personen melder ifra til gruppen så tidlig som mulig slik at hans eller hennes arbeidsoppgaver kan fordeles til de andre i gruppen. Det er også viktig at gruppemedlemmet ikke smitter resten av gruppen - mye av arbeidet kan gjøres hjemmefra. Miste et gruppemedlem Stor Dersom et gruppemedlem velger å, eller må, forlate gruppen må oppgaver fordeles og prioriteres på nytt. Med et medlem mindre er det mindre sannsynlig at alle målene som ble satt tidligere i prosjektet vil bli oppnådd. For mange krav fra oppdragsgiveren Middels Middels Hvert krav eller ny funksjon oppdragsgiveren vil legge til prosjektet skal vurderes og prioriteres opp mot krav som ble satt tidligere i prosessen. Om gruppen føler at det kontinuerlig blir flere nye forslag under prosjekttiden må vi forklare situasjonen til oppdragsgiveren og be dem holde seg til de tidligere kravene. For få krav fra oppdragsgiveren Liten Om oppdragsgiveren kommer med lite innspill til prosjektet og løsningen er det viktig at vi kommuniserer med dem og ta initiativ til å gi oss selv krav. Ordforklaringer Comos: Er navnet på en av serverne til Aker Solutions. PowerCenter: Er navnet på en av serverne til Aker Solutions. Det er på denne serveren jobbene kjører Konfigurasjonsfil: Fil som inneholder informasjon om hvordan en fil skal leses. I vårt tilfelle er dette en.xml fil. Public 2013 Aker Solutions Page 7 of 7