27.07.2013 Views

Kravspesifikasjon

Kravspesifikasjon

Kravspesifikasjon

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Kravspesifikasjon</strong><br />

Dette dokumentet beskriver krav til applikasjonen som skal designes i prosjektet Nettverksbasert<br />

applikasjonsovervåking. Det beskrives her både krav til selve applikasjonen og hva som forventes av de<br />

forskjellige lagene i denne, men også krav til hvordan systemet skal designes og dokumenteres.<br />

Skrevet av: Lars Haugan;Tim Sæterøy;Ole Henrik Paulsen;Anders Struksnæs<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx<br />

Status: Godkjent<br />

Versjon: 1.0<br />

Opprettet: 14.01.2013<br />

Sist endret: 25.01.2013 19:52:00<br />

Sider: 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

Revisjonshistorikk<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

Dato Versjon Beskrivelse Forfatter<br />

16.01.2013 0.1 Disposisjon fullført. *<br />

18.01.2013 0.9 Informarsjon fylt inn i dokumentet fra eksternt<br />

sammarbeidsverktøy<br />

*<br />

25.01.2013 1.0 Godkjent *<br />

*Alle punkter er dokumentert og godkjent av Ole Henrik Paulsen, Tim Sæterøy, Lars Haugan og Anders<br />

Struksnæs.<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 2 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

1. PRESENTASJON<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

PROSJEKTTITTEL Nettverksbasert applikasjonsovervåking<br />

APPLIKASJONSTITTEL PySniff<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

OPPGAVE Utvikle en applikasjon for innhente, prosessere og presentere nettverksdata<br />

for å illustrere driftssituasjonen til applikasjoner.<br />

1.1 MEDLEMMER I PROSJEKTET<br />

Anders Struksnæs<br />

Lars Haugan<br />

Ole Henrik Paulsen<br />

Tim Sæterøy<br />

1.2 OPPDRAGSGIVER<br />

SpareBank 1 Gruppen AS<br />

KMIT & Innkjøp<br />

Hammersborggata 2<br />

0191 Oslo<br />

origo@sparebank1.no<br />

1.3 KONTAKTPERSON<br />

SpareBank 1 Gruppen AS<br />

Martin Jensen<br />

Martin.Jensen@sparebank1.no<br />

40218026<br />

Avdelingsleder KMIT & Innkjøp, Drift Alliansen<br />

1.4 VEILEDER<br />

Torunn Gjester<br />

Seksjon for Informasjonsteknologi<br />

Høgskolen i Oslo og Akershus<br />

1.5 BAKGRUNN<br />

Origo og Drift Alliansen er avdelinger for IT brukerstøtte og drift i SpareBank 1 Gruppen. Avdelingene<br />

leverer tjenester til SpareBank 1 Gruppen AS med datterselskap og bankene i SpareBank 1 Alliansen. Som<br />

en del av oppgavene til Origo og Drift Alliansen jobbes det med monitorering og overvåking av ITtjenestene<br />

innen SpareBank 1 Gruppen AS.<br />

Hensikten med prosjektet er utviklingen av et nytt overvåkingsverktøy som kan benyttes for overvåking av<br />

applikasjoner som benyttes i SpareBank 1 Gruppen AS. Applikasjonen vil være et supplement til dagens<br />

driftsovervåking og innføre begrepet trending i overvåkingen. Data skal trendes i form av å finne en grense<br />

på hva som er normalt og hva som ikke er normalt i bestemt tidsperiode (baselining).<br />

2. FORORD<br />

Denne kravspesifikasjonen er beregnet for utviklere, oppdragsgiver andre som er med i prosessen med<br />

utvikling av applikasjonen. <strong>Kravspesifikasjon</strong>en definerer de krav som skal være til prosjektet og<br />

applikasjonen og er ment som et kontinuerlig verifiseringsdokument for å sikre god utvikling i prosjektet.<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 3 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

3. LESERVEILEDNING<br />

Innholdsfortegnelse<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

1. PRESENTASJON 3<br />

1.1 MEDLEMMER I PROSJEKTET 3<br />

1.2 OPPDRAGSGIVER 3<br />

1.3 KONTAKTPERSON 3<br />

1.4 VEILEDER 3<br />

1.5 BAKGRUNN 3<br />

2. FORORD 3<br />

3. LESERVEILEDNING 4<br />

4. LOGISK DATAMODELL 6<br />

4.1 DATAFLYTMODELL 6<br />

5. SYSTEMKRAV 7<br />

5.1 FUNKSJONSKRAV 7<br />

5.1.1 KRAV TIL SENSOR 7<br />

5.1.2 KRAV TIL DATABASE 7<br />

5.1.3 KRAV TIL CORE 8<br />

5.1.4 KRAV TIL FRONTEND 8<br />

5.2 TEKNISKE KRAV 9<br />

5.3 KRAV TIL DATALAGRING 9<br />

5.3.1 FUNKSJONELLE KRAV 9<br />

5.3.2 IKKE FUNKSJONELLE KRAV 9<br />

6. KRAV TIL DESIGN 9<br />

6.1.1 FUNKSJONELLE KRAV 9<br />

6.1.2 IKKE FUNKSJONELLE KRAV 9<br />

7. KRAV TIL KODE 9<br />

7.1 KODESTANDARD 9<br />

7.2 VARIABLER OG FUNKSJONER 10<br />

7.2.1 FUNKSJONELT 10<br />

7.2.2 IKKE FUNKSJONELLE KRAV 10<br />

7.3 KOMMENTERING 10<br />

7.4 SPRÅK 10<br />

8. KRAV TIL DOKUMENTASJON 10<br />

8.1 OBLIGATORISK DOKUMENTASJON 10<br />

8.1.1 STYRINGSDOKUMENTER 10<br />

8.1.2 SLUTTDOKUMENTASJON 10<br />

8.2 GENERELLE KRAV TIL DOKUMENTASJON 10<br />

8.3 PROSJEKTDAGBOK 10<br />

8.3.1 FUNKSJONELLE KRAV 10<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 4 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

8.3.2 IKKE FUNKSJONELLE KRAV 11<br />

8.4 MØTEREFERATER 11<br />

8.5 VERSJONSKONTROLL 11<br />

8.5.1 FUNKSJONELLE KRAV 11<br />

8.5.2 IKKE FUNKSJONELLE KRAV 11<br />

9. UTVIDELSER 11<br />

10.FREMMEDORD OG DEFINISJONER 11<br />

11.LENKER / KILDER 11<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 5 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

4. LOGISK DATAMODELL<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

Følgende modeller viser hvordan dataflyten går mellom de forskjellige delene i systemet. Bilde 1 viser en<br />

overordnet modell av hvordan systemet er utformet. Her blir data fra nettverssensorer sendt til «core», som<br />

er applikasjonens kjerne for mottak av data. Data optimaliseres og settes inn i det første laget i databasen,<br />

som inneholder sanntidsdata. «Core» er der all logikken skal foregå, og dreier seg blant annet å hente ut data<br />

som skal sendes til frontend. Frontend har igjen ansvaret for presentering av data.<br />

Bilde 1 - Dataflyt fra nettverkssensor til presentasjonslag<br />

4.1 DATAFLYTMODELL<br />

Bilde 2 - Avansert logisk datamodell for illustrering av informasjonsflyten i applikasjonen.<br />

Beskrivelse av punkter i modell<br />

Link1 og Link2 Her går dataen vi er ute etter. Applikasjonsdata i rådata. For eksempel http kall.<br />

S1 og S2 Her sniffes datatrafikk på linjen opp til dedikerte sensorer som er installert på<br />

maskinen.<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 6 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

Link3 og Link4 Her overfører sender sensoren rådata direkte inn i Core. Dette er samme data som blir<br />

transportert i S1 og S2.<br />

D1 Data sendes videre til det første laget i databasen.<br />

D2 Ved aggregering blir data sendt fra det første databaselaget til plugin (D2).<br />

D4 Her går uaggregert data inn fra D1 til plugin og blir aggregert og sendt på D4 som<br />

aggregert data.<br />

F1 Kommunikasjonen mellom core og frontend og benyttes ved henting av både realtime<br />

data og aggregerte data.<br />

F2 Database direkte knyttet til frontend som ikke har nettverksdata.<br />

D5 Aggregert data blir hentet ifra databaselag 2 og sendt via F1.<br />

5. SYSTEMKRAV<br />

5.1 FUNKSJONSKRAV<br />

5.1.1 KRAV TIL SENSOR<br />

5.1.1.1 FUNKSJONELLE KRAV<br />

Sensor skal være uavhengig av resten av applikasjonen.<br />

Ved flere sensorer skal disse være uavhengig av hverandre.<br />

Sensor skal kun sniffe TCP.<br />

Konfigurasjonen i sensor skal kun inneholde ip og eventuelt port for tilkobling til Core.<br />

Sensor skal ikke forstyrre eller “stjele” kapasiteten eller resurser til andre applikasjoner på serveren<br />

den står på.<br />

Sensor skal bare videresende pakker som er definert i sensor.<br />

Sensor skal aggregere data som videresendes<br />

Sensor skal determinere hvilken applikasjon trafikken kommer fra, og velge å sende/ikke sende data<br />

videre basert på dette.<br />

5.1.1.2 IKKE FUNKSJONELLE KRAV<br />

Sensor skal ha en oppetid på minimum 96,0% første året etter prosjektet er avsluttet.<br />

Sensor skal ved bruk på applikasjonsserver ikke benytte mer enn en prosessorkjerne.<br />

5.1.2 KRAV TIL DATABASE<br />

5.1.2.1 FUNKSJONELLE KRAV<br />

Databaselag 1 skal inneholde all data sensoren sender videre til core.<br />

Databaselag 2 skal kun inneholde aggregert data som hentes i fra databaselag1.<br />

Det skal være et logisk skille mellom databaselag 1, databaselag 2 og frontend i form av egen<br />

database.<br />

Kun “Core inkl. plugins” skal kunne lese, skrive og slette i fra databasen hvor nettverkstrafikk er<br />

lagret.<br />

5.1.2.2 IKKE FUNKSJONELLE KRAV<br />

Databaseserveren skal ha en oppetid på minst 99% over ett år i fra prosjektslutt.<br />

Data i databaselag 1 skal ikke være lagret lengere enn maksimalt 14 dager.<br />

Data i databaselag 1 skal minst være lagret i databaselag 1 i 1 døgn.<br />

Data i databaselag 2 skal ikke være lagret i lengere tid enn 27 måneder.<br />

Data i databaselag 2 skal minst være lagret i databaselag 2 i 25 måneder.<br />

Gjennomsnittet på spørre-kall skal være under 2 sekunder ved mindre en 4 klienter tilkoblet<br />

frontend.<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 7 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

Spørring på real-time data skal maksimalt ha en forsinkelse på 5 sekunder i fra spørringen<br />

ankommer databasen til databasen svarer.<br />

5.1.3 KRAV TIL CORE<br />

5.1.3.1 FUNKSJONELLE KRAV<br />

Generelt<br />

Endring av konfigurasjon i core gjøres av en egen konfigurasjonsfil. Inneholder systemvariabler som<br />

definerer oppførsel i de ulike funksjonene i core.<br />

Skal ha en socket nettverkstilkobling og ta imot datastrøm fra sniffer.<br />

Data fra sniffer må preprosesseres for innsetting i databaselag 1; hent ut relevante data, sortering,<br />

markering i database (for videre prosessering).<br />

Systemet skal logge feilsituasjoner og informasjon om status til en loggfil.<br />

Plugins<br />

Håndtere et sett med plugins som hver jobber med å aggregere data for de ulike<br />

systemene/protokollene de er beregnet på. Plugins er også ansvarlige for innsetting av data fra<br />

sniffer til databaselag 1.<br />

All aggregert data av forskjellige plugins skal formateres etter en standard for innsetting i database.<br />

Plugins definerer strukturering av tabeller i databasens datalag 2, og skal håndteres gjennom<br />

databaselaget SQLAlchemy (ORM). Plugins skal også benytte SQLAlchemy for innsetting av data<br />

til databaselag 2.<br />

Database<br />

Core skal vha. plugins transportere og aggregere data mellom databaselag 1 og databaselag 2 i<br />

databasen.<br />

Aggregering og flytting av data skal gjøres på et fastsatt tidsintervall, definert i konfigurasjonsfilen.<br />

Databasespørringer for frontend skal utføres mot analysedata i databasen(e), gjennom plugins som<br />

har egne kall for strukturering av data.<br />

Data skal trendes i form av å finne en grense på hva som er normalt og hva som ikke er normalt i<br />

bestemt tidsperiode (baselining).<br />

Eks: Antall kall som gjennomsnittelig feiler for system A kl. 09:00 på hverdager<br />

5.1.3.2 IKKE FUNKSJONELLE KRAV<br />

Skal minimum forminske aggregert data med 50%.<br />

Skal ha en oppetid på minimum 99% etter prosjektets slutt.<br />

Prosessen som tar seg av aggregering skal være ferdig før neste aggregering av samme data starter.<br />

Systemet skal kunne takle skalering og ha flere plugins tilsvarende X% stigning i datamengde<br />

Behandlingen av et kall mot databasen for frontend skal ta mindre enn 4 sekunder.<br />

Skal støtte en nettverkstilkobling på minst 1 Gbit.<br />

5.1.4 KRAV TIL FRONTEND<br />

5.1.4.1 FUNKSJONELLE KRAV<br />

Frontend skal vise statistikk i form av kall som feiler og hvor mange kall som pleier å feile.<br />

Frontend skal oppdateres automatisk med ny data minimum hvert minutt.<br />

Skal kunne presentere sammendrag av den kontinuerlige status.<br />

o Eksempler: Navn på kall, responstid, antall kall og antall feil.<br />

Frontend skal benytte mellomlagring av data (cache) for å minske forespørsler til core, som igjen vil<br />

minske forespørsler mot database.<br />

5.1.4.2 IKKE FUNKSJONELLE KRAV<br />

Systemet skal kunne benyttes på en overvåkingsskjerm for å gjøre det mulig å respondere på<br />

driftshendelser.<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 8 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

Versjon:<br />

1.0<br />

Opprettet:<br />

14.01.2013<br />

Mellomlagringen av data (caching) skal lagres i maks ett minutt.<br />

Skal benyttes javascript for å gjøre visning og bruk av frontend så responsiv som mulig.<br />

Forsiden skal være lastet på mindre enn 2 sekunder.<br />

Data kan sendes asynkront for å gjøre siden mer responsiv.<br />

5.2 TEKNISKE KRAV<br />

Systemet skal kunne kjøre på 64-bits versjon av Linux-distribusjonene som benyttes i<br />

produksjonsmiljøet til SpareBank 1 (CentOS, RedHat).<br />

Systemet skal utvikles og kjøres på Python versjon 2.7.<br />

5.3 KRAV TIL DATALAGRING<br />

5.3.1 FUNKSJONELLE KRAV<br />

Gruppen skal bruke Dropbox, Google Docs og Git<br />

Alle på prosjektgruppen skal ha tilgang til overnevnte lagringsplasser<br />

5.3.2 IKKE FUNKSJONELLE KRAV<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

Det skal gjennomføres backup av Dropbox, Google Docs minst 1 gang per uke. (For Git se punkt<br />

eget punkt)<br />

Dokumenter og innhold i overnevnte tjenester skal ikke slettes før minst ett halvt år etter<br />

prosjektslutt.<br />

6. KRAV TIL DESIGN<br />

6.1.1 FUNKSJONELLE KRAV<br />

Nettsiden skal benytte skrifttype (font) som er beregnet for lesing på datamaskin.<br />

Skrifttype brukt på nettsiden skal være åpen og tilgjengelig for bruk på Windows, Mac OS X og<br />

Linux.<br />

6.1.2 IKKE FUNKSJONELLE KRAV<br />

Det bør være lett å få oversikt<br />

Det skal være et felles grensesnitt på alle sidene.<br />

Det skal være gode kontraster i fargebruken.<br />

Nettsiden skal være kompatibel med alle moderne nettlesere som Chrome, Firefox, Opera og<br />

Internet Explorer med siste versjon.<br />

7. KRAV TIL KODE<br />

7.1 KODESTANDARD<br />

Koden skal benytte UTF-8 tekst-encoding.<br />

Koden skal være objektorientert.<br />

Feilmeldinger skal alltid håndteres med logging av feilsituasjoner til fil.<br />

Koden skal følge PEP8-standarden [1]<br />

PEP20-retningslinjene [2] bør følges for god kode.<br />

Tekst skal aldri skrives stil stdout eller stderr, men til logg.<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 9 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

7.2 VARIABLER OG FUNKSJONER<br />

7.2.1 FUNKSJONELT<br />

Versjon:<br />

1.0<br />

Flere ord i variabelnavn skal settes sammen med bruk av underlinje (_).<br />

Flere ord i funksjoner skal settes sammen med bruk av underlinje (_).<br />

7.2.2 IKKE FUNKSJONELLE KRAV<br />

Variabelnavn skal være logisk i sammenhengen.<br />

7.3 KOMMENTERING<br />

Funksjoner skal alltid kommenteres med beskrivende tittel og returverdi.<br />

Variabler trenger ikke å kommenteres.<br />

Klasser skal kommenteres med hva de skal brukes.<br />

7.4 SPRÅK<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

Gjennomgående språk i koden skal være engelsk, dette for å lette arbeidet med å sette seg inn i koden for<br />

andre utviklere på et senere tidspunkt, samt at norske bokstaver (æ, ø og å) har vist seg å skape trøbbel i<br />

tidligere prosjekter.<br />

8. KRAV TIL DOKUMENTASJON<br />

8.1 OBLIGATORISK DOKUMENTASJON<br />

Følgende obligatoriske dokumenter skal utformes i løpet av prosjektets periode:<br />

8.1.1 STYRINGSDOKUMENTER<br />

Prosjektskisse<br />

Prosjektdagbok<br />

Forprosjektrapport<br />

Arbeids- og fremdriftsplan<br />

<strong>Kravspesifikasjon</strong> (Dette dokumentet)<br />

8.1.2 SLUTTDOKUMENTASJON<br />

<strong>Kravspesifikasjon</strong><br />

Prosessdokumentasjon<br />

Produktdokumentasjon<br />

Testdokumentasjon<br />

Brukerdokumentasjon<br />

8.2 GENERELLE KRAV TIL DOKUMENTASJON<br />

Dokumentasjon skal følge standard dokumentmal fra SpareBank 1.<br />

Dokumentene skal være skrevet for visning på papir.<br />

8.3 PROSJEKTDAGBOK<br />

8.3.1 FUNKSJONELLE KRAV<br />

Prosjektdagboken skal skrive rett til fil.<br />

Dato, Navn og Tekst er obligatoriske felter.<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 10 av 11


Skrevet av:<br />

Lars Haugan;Tim<br />

Sæterøy;Ole Henrik<br />

Paulsen;Anders Struksnæs<br />

KRAVSPESIFIKASJON<br />

Status:<br />

Godkjent<br />

Det skal være mulig å endre alle innlegg.<br />

Det skal være mulig å legge til bildelink.<br />

8.3.2 IKKE FUNKSJONELLE KRAV<br />

Versjon:<br />

1.0<br />

Prosjektdagboken skal være passordbeskyttet med htaccses fil.<br />

Prosjektdagboken skal være tilgjengelig under hele prosjektperioden<br />

Siden skal ikke trenge opplæring.<br />

Filen med dagbokinnlegg skal minst bli tatt backup av en gang i uken.<br />

Det skal være norske og forstålige feilmeldinger.<br />

8.4 MØTEREFERATER<br />

Opprettet:<br />

14.01.2013<br />

Sist endret:<br />

25.01.2013<br />

19:52:00<br />

Møtereferater skal skrives med grunnlag i mal fra SpareBank 1. Dokumentet skal lagres på formatet<br />

«Møtereferat – 2013-01-16.docx» og i PDF-format for publisering.<br />

Før hvert møte skal det defineres møtepunkter (agenda) hvis dette er optimalt for møtet.<br />

Møtereferatene skal i etterkant renskrives slik at de er lettere leselige for å kunne se tilbake til hva man ble<br />

enige om på møtet.<br />

8.5 VERSJONSKONTROLL<br />

8.5.1 FUNKSJONELLE KRAV<br />

Alle på prosjektgruppen skal kunne skrive, klone og hente til/fra git repostoriet.<br />

Ingen skal jobbe direkte på Master branch.<br />

Master branch skal bli brukt til produksjonsetting<br />

Alle som skriver til git repostoriet skal kommentere dette på norsk.<br />

8.5.2 IKKE FUNKSJONELLE KRAV<br />

Git repostoriet skal være private og kun prosjektmedlemer skal ha tilgang.<br />

Det skal taes backup av git repostoriet minst 1 gang per dag.<br />

Git skal være tilgjengelig minst 99% av prosjektperioden.<br />

9. UTVIDELSER<br />

Administrasjonsmuligheter fra frontend.<br />

Illustrering av trender og data som grafer på frontend.<br />

Tilgangskontroll for visning av frontend.<br />

Støtte for flere protokoller<br />

10. FREMMEDORD OG DEFINISJONER<br />

Aggregering - Kombinere eller slå sammen data. F.eks minke data over lengre tidsperioder.<br />

Trending - Det normalet i en gitt tidsperiode.<br />

Sensor - En applikasjon som leser av nettverkstrafikk eller eksempelvis tekstfiler.<br />

11. LENKER / KILDER<br />

[1] - Pep8 - http://www.python.org/dev/peps/pep-0008/<br />

[2] - Pep20 - http://www.python.org/dev/peps/pep-0020/<br />

Filnavn: <strong>Kravspesifikasjon</strong>.docx Side: 11 av 11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!