Kravspesifikasjon
Kravspesifikasjon
Kravspesifikasjon
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