29.07.2013 Views

02329: Datateknisk produktudvikling - Danmarks Tekniske Universitet

02329: Datateknisk produktudvikling - Danmarks Tekniske Universitet

02329: Datateknisk produktudvikling - Danmarks Tekniske Universitet

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.

Eksamensprojekt<br />

Titel: SAPS<br />

Sammenbinding Af Parknets Systemer<br />

Rapportnummer: IMM-B.Eng-2009-02<br />

Henrik Bering s032251<br />

Vejleder: Mads Nyborg<br />

Denne rapport indeholder 80 sider inklusiv denne side.<br />

Udtræk af rapporten:<br />

Denne rapport handler om udvikling af et nyt administrationssystem til en<br />

Internetudbyder på Nørrebro ved navn IT-lauget Parknet (herefter benævnt<br />

Parknet). Systemet skal styre, hvilke services som tilbydes til de specifikke<br />

adresser, brugere, opkrævninger og simulere styring af netværksudstyr via<br />

SNMP kommandoer.<br />

Analysen dækker Parknet i sin nuværende udformning med de eksisterende<br />

systemer. Designet af databasen og applikationen dækker ca. 90 % af<br />

Parknets tilslutninger. Der er implementeret ca. 75 % af designet. Resten<br />

står som forslag i afsnittet om ”forslag til forbedringer af SAPS”.<br />

Det er meningen, at SAPS i fuldt færdig form skal kunne erstatte Winkas<br />

(Winkas forklares i rapporten).<br />

SAPS kan ses kørende på adressen: http://saps.tiptop8.dk<br />

Online tilmelding kører på: http://opret.tiptop8.dk<br />

Testbruger til SAPS:<br />

Brugernummer: 11111111<br />

Password: password


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

1 Indholdsfortegnelse<br />

1.1 Outline<br />

1 Indholdsfortegnelse ..................................................................... 2<br />

2 Forord ....................................................................................... 4<br />

3 Indledning.................................................................................. 4<br />

4 Domænemodel og beskrivelse af Parknet ........................................ 6<br />

5 Analyse.................................................................................... 17<br />

6 Design ..................................................................................... 26<br />

7 Implementering ........................................................................ 34<br />

8 Test......................................................................................... 50<br />

9 Forslag til forbedringer af SAPS ................................................... 58<br />

10 Procesafsnit.............................................................................. 60<br />

11 Konklusion ............................................................................... 61<br />

12 Spørgsmål og svar med Parknets chef .......................................... 62<br />

13 Anbefaling til Parknet ................................................................. 63<br />

14 Lister....................................................................................... 64<br />

15 Bilag........................................................................................ 65<br />

1.2 Index<br />

1 Indholdsfortegnelse ..................................................................... 2<br />

1.1 Outline .......................................................................................2<br />

1.2 Index .........................................................................................2<br />

2 Forord ....................................................................................... 4<br />

3 Indledning.................................................................................. 4<br />

3.1 Formål .......................................................................................4<br />

3.2 Succeskriterie..............................................................................4<br />

3.3 Målgruppe...................................................................................5<br />

3.4 Læsevejledning............................................................................5<br />

4 Domænemodel og beskrivelse af Parknet ........................................ 6<br />

4.1 Historien bag Parknet ...................................................................6<br />

4.2 Parknets services (pr. 1/1-2009)....................................................7<br />

4.2.1 TV ..........................................................................................7<br />

4.2.2 Telefon....................................................................................7<br />

4.2.3 Internet ..................................................................................7<br />

4.2.4 Generelt ..................................................................................7<br />

4.3 Beskrivelse af Parknets netværk.....................................................8<br />

4.4 Beskrivelse af tekniske anlæg i Parknet...........................................9<br />

4.5 Beskrivelse af Parknets administrationssystemer ............................10<br />

4.6 Beskrivelse af en bruger i Parknet ................................................14<br />

4.7 Beskrivelse af procedurer i Parknet...............................................14<br />

4.7.1 Oprettelse af Internet..............................................................14<br />

4.7.2 Oprettelse af et telefonnummer ................................................14<br />

4.7.3 Oprettelse af TV/ændring af TV pakke .......................................14<br />

4.7.4 Bookning af teknikerbesøg .......................................................15<br />

4.7.5 Opkrævning...........................................................................15<br />

4.7.6 Overdragelse af abonnement....................................................15<br />

4.7.7 Diagram over domænemodellen ...............................................16<br />

5 Analyse.................................................................................... 17<br />

5.1 Kravspecifikation til det nye system..............................................17<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 2 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5.1.1 Funktionelle krav ....................................................................17<br />

5.1.2 Non funktionelle krav ..............................................................18<br />

5.1.3 Designvalg.............................................................................19<br />

5.2 Analyse af applikationen .............................................................20<br />

5.2.1 Use case diagram ...................................................................20<br />

5.2.2 Aktørbeskrivelser....................................................................21<br />

5.2.3 Overordnede use case beskrivelser............................................21<br />

5.2.4 Detaljerede use case beskrivelser .............................................23<br />

5.3 Analyse af databasen til Parknet...................................................25<br />

6 Design ..................................................................................... 26<br />

6.1 Databasen ................................................................................27<br />

6.1.1 Databasediagram ...................................................................27<br />

6.2 SAPS........................................................................................30<br />

6.3 Online tilmelding........................................................................30<br />

6.4 Sitemap over SAPS og online tilmelding ........................................31<br />

6.4.1 Designklassediagram SAPS ......................................................32<br />

Designklassediagram online tilmelding ....................................................33<br />

7 Implementering ........................................................................ 34<br />

7.1 Databasen ................................................................................34<br />

7.1.2 Stored Procedures ..................................................................38<br />

7.1.3 Views....................................................................................38<br />

7.2 Sitemap over SAPS og online tilmelding ........................................39<br />

7.3 SAPS........................................................................................40<br />

7.3.1 Beskrivelse af de forskellige JSP filer .........................................40<br />

7.4 Online tilmelding........................................................................44<br />

7.4.1 Beskrivelse af de forskellige JSP filer .........................................44<br />

7.4.2 State diagram ........................................................................47<br />

7.5 Implementeret og ikke-implementeret: .........................................48<br />

8 Test......................................................................................... 50<br />

8.1 Indledning ................................................................................50<br />

8.2 Demonstration...........................................................................50<br />

8.3 Brugertest ................................................................................50<br />

8.3.1 Test cases .............................................................................50<br />

8.4 Fejlrapportering og fejlliste..........................................................56<br />

8.5 Test konklusion .........................................................................57<br />

9 Forslag til forbedringer af SAPS ................................................... 58<br />

10 Procesafsnit.............................................................................. 60<br />

11 Konklusion ............................................................................... 61<br />

12 Spørgsmål og svar med Parknets chef .......................................... 62<br />

13 Anbefaling til Parknet ................................................................. 63<br />

14 Lister....................................................................................... 64<br />

14.1 Litteratur liste ...........................................................................64<br />

14.2 Forkortelser brugt i rapporten ......................................................64<br />

14.3 Figurliste ..................................................................................64<br />

15 Bilag........................................................................................ 65<br />

15.1 Bilag 1 – Projektoplæg................................................................65<br />

15.2 Bilag 2 – Billede af krydsfeltet b16x16 ..........................................68<br />

15.3 Bilag 3 – billeder af TV skab ........................................................69<br />

15.4 Bilag 4 – Indhold på CD-rom: ......................................................71<br />

15.5 Bilag 5 – Installationsvejledning til SAPS .......................................72<br />

15.6 Bilag 6 – Brugermanual til SAPS...................................................73<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 3 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

2 Forord<br />

Dette projekt er udført i forlængelse af min ingeniørpraktik hos Parknet. Det<br />

tager udgangspunkt i manglende samspil mellem Parknets mange systemer<br />

– heraf projekttitlen: ”Sammenbinding Af Parknets Systemer (SAPS)”. Jeg<br />

vil gerne sige tak til Parknets medarbejdere og bestyrelse for at lade mig<br />

være i ingeniørpraktik og efterfølgende skrive eksamensprojekt om Parknet.<br />

3 Indledning<br />

Denne rapport handler om et bruger- og netværksadministrationssystem til<br />

Parknet. Systemet er skræddersyet til Parknet og vil ikke have anvendelsesmuligheder<br />

andre steder.<br />

Systemet tager udgangspunkt i en analyse af Parknets nuværende systemer<br />

og forretningsgange herunder: Netværket, databaser, opkrævninger,<br />

brugere, arbejdsgange og samspillet imellem systemerne.<br />

3.1 Formål<br />

Formålet med projektet er følgende:<br />

• At vise, hvordan mange systemer, udviklet i forskellige<br />

programmerings–sprog og kørende på forskellige styresystemer, kan<br />

samles i et system med en fælles brugergrænseflade.<br />

I forbindelse med udvikling af systemet bliver følgende udarbejdet:<br />

• detaljeret beskrivelse af to udvalgte use cases<br />

• domænemodel (analysedokumentation)<br />

• databasemodel<br />

• dokumentation af implementeret kode (på cd-rom)<br />

• dokumentation af implementerede databasetabeller (på cd-rom)<br />

• test<br />

• forslag til forbedringer af systemet<br />

3.2 Succeskriterie<br />

At SAPS kan bruges af Parknet i daglig drift.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 4 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

3.3 Målgruppe<br />

Den primære målgruppe for denne opgave med tilhørende rapport er lærer<br />

og censor. Sekundær er Parknet, som vil kunne bruge produktet til<br />

administration.<br />

Systemet vil også kunne bruges af andre mindre bredbåndsudbydere, men<br />

vil kræve nogen tilpasning til deres forretning.<br />

Læseren formodes at have kendskab til programmering og unified modelling<br />

language (UML), hvorfor der ikke kan forventes forklaringer på mindre<br />

problemstillinger.<br />

3.4 Læsevejledning<br />

Overordnet starter jeg med en analyse af de nuværende systemer og<br />

måden, de bliver anvendt på. Dernæst beskriver jeg forslag til, hvordan<br />

tingene kunne gribes an i stedet for. I forbindelse med dette vil jeg ofte<br />

referere til, hvordan tingene bliver gjort nu for at vise forskellen mellem det<br />

nye og det nuværende system. Det nye system skal testes, hvilket til dels<br />

bliver gjort undervejs i udviklingsprocessen. Den store test bliver at<br />

demonstrere systemet for Parknets medarbejdere og få deres<br />

kommentarer. Eventuelle forslag til forbedringer kommer med i kapitlet om<br />

forslag til forbedringer. Afrunding på rapporten bliver en konklusion, et<br />

kapitel med spørgsmål og svar til Parknets chef og en række anbefalinger til<br />

Parknet.<br />

Craig Larmans (1) indgangsvinkel til objekt orienteret analyse er brugt i<br />

rapporten.<br />

Jeg berører kortvarigt elementer fra bogen ”Goal directed project<br />

management” (5).<br />

Undervejs i rapporten anvendes ordene krydsfelt, intersection og x-felt i<br />

flæng. Der menes det samme uanset, hvilket ord som er brugt. Derudover<br />

bruges også ordene abonnement, ydelser og service i betydningen -<br />

abonnement.<br />

Jeg bor i andelsboligforeningen Lindegaarden og undervejs i rapporten<br />

refereres der til denne boligforening. Testdata i SAPS er baseret på A/B<br />

Lindegaardens tilslutning til Parknet.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 5 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

4 Domænemodel og beskrivelse af Parknet<br />

4.1 Historien bag Parknet<br />

Parknet er et IT-laug på Nørrebro, som leverer Internet, telefoni og TV. Der<br />

er fire fastansatte og en studentermedhjælper. Bogholderifunktionen er<br />

outsourcet og bestrides af en fultids- og en deltidsansat.<br />

Parknet blev formelt stiftet 1. januar 2004 som en forening uden ansatte,<br />

dvs. alt var baseret på ildsjæles frivillige arbejde. På dette tidspunkt var der<br />

ca. 1.000 tilslutninger. I løbet af 2005 blev der penge nok til at ansætte de<br />

første folk på fuldtid. Det medførte en øget interesse for Parknet, da visse<br />

boligforeninger havde været skeptiske overfor en organisation uden ansatte<br />

og dermed uden mulighed for at stille krav til kvaliteten af de leverede<br />

services. 2006 blev det hidtil største vækst år for Parknet og antallet af<br />

tilslutninger var pr. 31. december 2006 nået op på 7.000.<br />

I 2007 var fokus på konsolidering af tilslutningerne da, der var inkonsistens<br />

i data og manglede opdatering af dokumentation i forbindelse med alle<br />

tilslutningerne i 2006. Opdatering og oprydning pågår stadig og er et af<br />

kravene for at kunne automatisere netværket yderligere.<br />

I 2008 er Indre Nørrebro IT-laug med navnet Firkantnet koblet til Parknet.<br />

Det medførte en forøgelse på 2.000 tilslutninger og bringer det samlede<br />

antal tilslutninger pr. 1. januar 2009 op på ca. 10.500. Desværre skete der<br />

også det kedelige, at Parknet mistede den ene af sine 3 services i 2008 –<br />

TV. I hovedtræk var det uoverensstemmelser mellem YouSee, Viasat og<br />

Parknets måde at levere TV på, som gjorde at signalet blev lukket. Der blev<br />

dog hurtigt sammensat en løsning, som nu fortsat leverer TV til Parknets<br />

brugere (dog uden Viasatkanaler).<br />

Pr. 1. april er TV servicen tilbage i Parknets (det afsluttende arbejde med<br />

genimplementering pågår, mens denne rapport skrives). Derudover skal der<br />

ske en fortsat vækst i netværket. Mange, som er flyttet fra en adresse på<br />

Nørrebro med Parknet til et nyt sted uden Parknet, er store fortalere for<br />

Parknet på foreningernes generalforsamlinger. Det betyder en naturlig<br />

tilgang af nye foreninger. Parknet er i skrivende stund ved at tilkoble de<br />

første foreninger på Østerbro og Amager. Derudover har Parknet fået sin<br />

første ”Fiber to the Home (FTTH)” installation i drift i Haveforeningen<br />

Birkevang (Brønshøj ved Husum Torv). FTTH betyder, at der er lysleder til<br />

hver bruger i stedet for kobberkabler.<br />

Parknet, som startede med 1.000 tilslutninger i postnummer 2200 for 5 år<br />

siden, dækker nu over 2100, 2200, 2300, 2400, 2500 og 2700 med ca.<br />

10.500 tilslutninger.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 6 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Parknets formål (jf. www.parknet.dk)<br />

Parknets mål er at levere bredbånd til alle, som er helt uden konkurrence<br />

på såvel kvalitet og ydelse som support.<br />

Parknets koncept<br />

Parknet er en non-profit, brugerejet og brugerstyret forening. Parknet<br />

består af mere end 100 boligforeninger, der er gået sammen om at indkøbe<br />

de bedst mulige bredbåndsydelser, som sælges videre til brugerne uden<br />

fortjeneste.<br />

4.2 Parknets services (pr. 1/1-2009)<br />

4.2.1 TV<br />

Parknet har fire TV pakker. Indholdet af pakkerne kan ses på Parknets<br />

hjemmeside. De fire pakker er:<br />

- Lille<br />

- Mellem<br />

- Stor<br />

- Super<br />

Da Parknet ikke længere har tilladelse til at transmittere Viasat skal<br />

medlemsforeningerne selv indgå en aftale med Viasat og hente signalet via<br />

egen parabol. Parknet sørger for den tekniske installation således, at Viasat<br />

kanalerne bliver lagt korrekt ind sammen med de øvrige kanaler fra<br />

Parknet.<br />

4.2.2 Telefon<br />

Parknet leverer analog telefoni til brugerne. I netværket køres<br />

telefontrafikken dog over IP. I nye foreninger monteres der altid<br />

Audiocodes, som er en IP telefoncentral.<br />

I de første Parknet foreninger sidder der analoge centraler af forskellige<br />

mærker (EADS, Philips og Matra).<br />

Abonnementet inkluderer ekstra services som: banke på, forstyr ikke,<br />

viderestilling, vis/skjul nummer, vækning og telefonsvarer.<br />

4.2.3 Internet<br />

Parknets ældste service er Internet. Brugerne er ikke garanteret nogen<br />

bestemt hastighed, men Parknet indkøber båndbredde, så brugerne i<br />

princippet altid har mindst 10/10 Mbit. Der er til gengæld ingen øvre<br />

begrænsning (andet end udstyrets nuværende begrænsning på 100 Mbit).<br />

Hvis der er ledig båndbredde, kan brugerne surfe og dele filer med op til<br />

100 Mbit.<br />

4.2.4 Generelt<br />

Visse foreninger har fælles abonnement på TV og/eller Internet, de får<br />

derfor servicen til en billigere pris, fordi foreningen selv står for opkrævning<br />

hos brugerne. Det kræver korrekt dokumentation, når brugere og<br />

foreninger skal opkræves rigtigt.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 7 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

4.3 Beskrivelse af Parknets netværk<br />

Parknets distributionsnetværk er baseret på lysleder. For det meste er der<br />

brugt single mode (SM), men enkelte steder (i de første foreninger) er der<br />

anvendt multimode (MM).<br />

Der er et antal hovedkrydsfelter i Parknet. Fra disse er der trukket<br />

blæsefiber, som enten er 7- eller 19-rørs. Dvs. at der inde i blæsefiberen er<br />

enten 7 eller 19 rør med en tykkelse på 5mm., hvori der med trykluft kan<br />

blæses fra 12 til 48 lysledere.<br />

Til en forening som har alle tre Parknet services bruges minimum 2 SM<br />

lysledere, men helst 3 for at sikre redundans.<br />

Den ene lysleder bruges til TV, som sendes med en bølgelængde på 1550<br />

nM. I foreningen sidder der en TV fibernode, der omdanner signalet i<br />

lyslederen til analogt TV signal, som efterfølgende fødes ind i en<br />

antenneforstærker og fordeles ud til brugerne. Det er mellem TV fibernoden<br />

og antenneforstærkeren at Viasat signalet lægges oven i Parknets jf.<br />

beskrivelsen i 4.2.1.<br />

Den anden lysleder bruges til data og telefoni. Backbonen i Parknet tilsluttes<br />

til den første switch i krydsfeltet via et SFP modul. Den nyeste generation<br />

behøver kun 1 lysleder (i stedet for 2 i gamle dage), da den kan sende data<br />

begge veje samtidigt. Den bruger 1310 nM til at sende på og 1550 nM til at<br />

modtage på.<br />

Den tredje lysleder (som godt kan undværes, hvis der mangler ledige fibre)<br />

bruges til at forbinde den sidste switch i en forening retur til Parknet. På<br />

den måde er netværket bedre rustet, så udfald i enkelte krydsfelter ikke går<br />

ud over flere brugere end højest nødvendigt.<br />

Når en ny forening skal tilkobles i nærheden af en eksisterende, blæses<br />

fiberen ofte kun imellem disse to foreninger. Forbindelsen mellem den nye<br />

forening og nærmeste hovedkrydsfelt skabes ved at bruge 2 af de ledige<br />

fibre fra den eksisterende forening til hovedkrydsfeltet. Tilkobling på denne<br />

måde er med til at holde udgifterne nede.<br />

Parknet er 100 % foreningsejet og tilsammen ejer alle foreningerne<br />

distributionsnettet. Til nogle af yderforeningerne i Parknet har det ikke<br />

kunnet betale sig at trække egen fiber. I disse tilfælde har Parknet i<br />

samarbejde med foreningen valgt at købe fiberen hos Global Connect.<br />

Kort om Global Connect (6)<br />

Global Connects netværk er opbygget på egen infrastruktur af rør, fiber og<br />

transmissionsudstyr. I dag er det <strong>Danmarks</strong> stærkeste og største åbne<br />

fibernet baseret på "carrier class" services for både engrosvirksomheder og<br />

større virksomheder.<br />

Signalet i Parknets backbone kan ikke bruges uden videre i en almindelig<br />

computer. Backbonen er inddelt i 3 VLANs: tele, management og user. På<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 8 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

denne måde kan Parknet styre, hvilke porte i Parknet som kan bruges til<br />

andet end almindelig brugertrafik. På tele VLAN’et sidder alle Audiocodes og<br />

har dedikeret båndbredde til telefontrafik. På management VLAN kan man<br />

logge ind på alle switche og bl.a. åbne og lukke for porte. User VLAN bruges<br />

til almindelig Internettrafik så som surf, e-mail osv.<br />

4.4 Beskrivelse af tekniske anlæg i Parknet<br />

Der er et antal krydsfelter i hver ejendom i Parknet, hvorfra signalet<br />

fordeles til hver lejlighed. Internet og telefoni fordeles altid ud fra samme<br />

krydsfelt. I nyere foreninger er TV installationen også monteret i<br />

krydsfeltet, i ældre foreninger sidder der et lille skab under hver opgang.<br />

Parknet er inddelt i blokke fra 0 til 255 (det passer med et klasse B netværk<br />

til hver blok). Hvis en ejendom er større end 250 lejligheder, skal den<br />

inddeles i flere blokke. A/B Lindegaarden har 100 tilslutninger og er blok 16<br />

i Parknet. Krydsfelter navngives efter bloknummer og opgangsnummer.<br />

Dvs. at de to krydsfelter på hhv. Kærsangervej 16 og Tornsangervej 7<br />

hedder b16x16 og b16x7.<br />

Krydsfeltet b16x16: TV skab mellem nr. 12 og 14:<br />

Figur 1 - Billeder af krydsfelter<br />

Beskrivelse af figur 1 - b16x16 (billedet kan ses i fuld størrelse i bilag 2):<br />

Øverst i billedet ses patchpanelerne, hvori ledningerne til lejlighederne er tilsluttet.<br />

De to lilla komponenter er Extreme Summit 200 switche med 24 porte.<br />

De to blå komponenter er Audiocodes MP 124 VOIP gateways med 24 porte.<br />

Den sorte skuffe med de grønne stik er forbindelsen til Parknet via lysleder.<br />

I bunden af skabet ligger en UPS til ca. 2 timers drift.<br />

Beskrivelse af figur 1 - TV skab (billedet kan ses i fuld størrelse i bilag 3):<br />

De to sorte ledninger er forsyningskabler fra antenneforstærkeren (sidder centralt)<br />

Øverst til højre i skabet sidder TV fordeleren - i fordeleren sidder pakkefiltrene<br />

De hvide ledninger går ud til lejlighederne<br />

Et pakkefilter er et lavpasfilter. Parknet har 4 TV pakker, dvs. der er brug for 3<br />

typer filtre (der er ikke filter på den dyreste pakke).<br />

- Lille pakke er alle kanaler under 400 MHz (filteret er umalet dvs. blankt)<br />

- Mellem pakke er alle kanaler under 566 MHz (filteret er gult)<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 9 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

- Stor pakke er alle kanaler under 750 MHz (filteret er blåt)<br />

- Super pakke kræver ikke filter, ledningen er monteret direkte i fordeleren.<br />

Hvis TV skal frakobles eller ændres, skal der en tekniker ud HVER gang…<br />

4.5 Beskrivelse af Parknets administrationssystemer<br />

Parknet er baseret på mange systemer som griber ind i hinanden. De<br />

vigtigste, som jeg har valgt at tage med i denne beskrivelse er Winkas,<br />

Miralix, @mail, Google kalender og en Parknet programmeret telefonbog.<br />

Winkas er brugerdatabasen. Dette system bruges til:<br />

• Brugeroplysninger, adresseoplysninger<br />

• Netværksoplysninger specifikke for adressen (fx switch port nr.)<br />

• Opkrævning af services samt andre ydelser (fx teknikerbesøg)<br />

Internet har følgende muligheder:<br />

• Tilmeldingsdato, Udmeldelsesdato<br />

• Ekstra IP, man kan købe op til 254 faste IP adresser (pt. vises kun én)<br />

Telefon har følgende muligheder:<br />

• Tilmeldingsdato, Udmeldelsesdato, Abonnementstype<br />

• Flere telefonnumre (med separate tilmeldingsdatoer)<br />

• Kontonummer i Miralix, Lokalnummer (bruges til at rute opkald og til opkrævning)<br />

TV har følgende muligheder:<br />

• Tilmeldingsdato, Udmeldelsesdato, TV-pakkevalg, Pakkeskiftdato, Ny pakke<br />

Fordele (+) og ulemper (-) ved Winkas:<br />

+:<br />

• Et COTS produkt<br />

• Mulighed for support hos programleverandøren<br />

• Billig<br />

• Betalingsservice modul<br />

• Hurtigt at komme i gang<br />

• Baseret på en free ware database platform<br />

• Styring af placering af felter på skærmbilledet med drag and drop<br />

• Mulighed for til/fravalg af felter i listevisning<br />

•<br />

-:<br />

• Winkas har ikke printmulighed, man bruger print screen og sætter billedet fx i Word og printer<br />

derfra<br />

• Der er kun 100 felter i tabellen i databasen<br />

• Winkas kan ikke eksekvere kommandoer eller tilpassede forespørgsler i andre databaser<br />

• Tidsforbruget med at lave de hjælpeprogrammer til Winkas, som Parknet selv har udviklet, har<br />

været så stort, at det havde været hurtigere at lave sit eget system<br />

• Ved oprettelse af nye medlemmer er det ikke sikkert, at alle felter, defineret som<br />

standardværdier (fx netværksdata), bliver kopieret med, dvs. man efterfølgende skal lave<br />

manuel copy/paste af ca. 20 felter<br />

• Winkas yder kun support, hvis databasen kører på en MySQL 4.0.18 server under Windows<br />

Følgende tekst er hentet fra MySQL.com (udviklerne af MySQL databasesystemet)<br />

End of Product Lifecycle.<br />

Active development and support for MySQL database server versions 3.23, 4.0, and 4.1 has ended.<br />

However, for MySQL 4.0 and 4.1, there is still extended support available. For details, see<br />

http://www.mysql.com/company/legal/lifecycle/#calendar. According to the MySQL Lifecycle Policy (see<br />

http://www.mysql.com/company/legal/lifecycle/#policy), only Security and Severity Level 1 issues will<br />

still be fixed for MySQL 4.0 and 4.1. Please consider upgrading to a recent version (MySQL 5.0 or 5.1).<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 10 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Screen dump af en søgeoversigt i Winkas, hvorfra man kan få vist detaljer<br />

om hver enkelt bruger:<br />

Figur 2 - Screen dump af Winkas søgeoversigt<br />

Screen dump fra Winkas af min konto (jeg har konto 4878):<br />

Figur 3 - Screen dump af Winkas konto 4878<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 11 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Miralix:<br />

Er telefonafregningssystemet. Opkrævning af abonnement køres fra<br />

Winkas, mens afregning af telefonsamtaler køres i dette system. Hver gang<br />

en bruger i Parknet ringer, bliver samtalen logget fra start til slut og<br />

afhængig af opkaldsmodtagerens placering bliver prisen beregnet. Interne<br />

opkald i Parknet er gratis, flat rate giver gratis opkald til fastnet i DK + 60<br />

udlande de første 59 minutter af en samtale. Øvrige priser opdateres hver<br />

måned. Fakturering sker pr. sekund.<br />

Brugerne kan vælge to måder at afregne samtaler på. Den ene er, at de<br />

selv sørger for at indsætte taletid med dankort på deres taletidskonto. Den<br />

anden er, at Parknet opkræver forbruget kvartalsvis og sørger for, at<br />

beløbet bliver opkrævet sammen med abonnementet og indsat på<br />

taletidskontoen.<br />

Figur 4 - Screen dump af Miralix velkomstbillede<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 12 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

@mail:<br />

Er Parknets mailsystem. I dette system ligger et antal domæner, som<br />

brugerne får tildelt adresse ud fra eksempelvis valbymail til brugerne i<br />

Valby. Oprettelsen af en ny mailadresse foretages manuelt af en Parknet<br />

medarbejder ved at logge ind i administrationsdelen og indtaste oplysninger<br />

om brugeren (navn, postadresse og tlf. nr.) og herefter at tildele brugeren<br />

den ønskede adresse (hvis den er ledig). Der er ingen automatik i<br />

processen. Det eneste der kan gøres hurtigere, er oprettelse af mange<br />

adresser. Systemet kan læse en csv fil og på den måde oprette mange<br />

brugere på én gang.<br />

Manglende automatisering af dette system betyder, at selv om brugere er<br />

flyttet ud af Parknet, nedlægges deres e-mail ikke. I modstrid med, at der<br />

står i Parknets betingelser, at adressen nedlægges efter ½ år.<br />

Figur 5 - Screen dump af @-mail - tilføj ny bruger<br />

Parknet telefonbog:<br />

Systemet bruges til at holde styr på telefonnumrene i Parknet. I systemet<br />

kan man se ledige telefonnumre, samt tage disse og bruge dem.<br />

Google kalender:<br />

Bruges til at booke et teknikerbesøg hos en bruger, hvis vedkommendes<br />

problem ikke kunne løses via telefonen. P.t. er der mulighed for at bestille<br />

tider hver tirsdag i tidsrummet 16-20, hvor Parknets studentermedhjælper<br />

kører ud til brugerne.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 13 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

4.6 Beskrivelse af en bruger i Parknet<br />

Det hele begynder med, at boligforeningen bliver medlem af Parknet.<br />

Herefter kan alle beboere blive tilmeldt Parknet (dvs. abonnere på services).<br />

Beboeren kan enten tilmelde sig via blanket eller online. Brugeren oprettes<br />

herefter på adressen og betaler fremover for de services, som er bestilt.<br />

4.7 Beskrivelse af procedurer i Parknet<br />

Fælles for procedurerne er, at de er meget arbejdstunge og der er mange<br />

steder, hvor der er mulighed for at begå fejl.<br />

4.7.1 Oprettelse af Internet<br />

1) Slå brugeren op i Winkas og find switchen samt portnummeret<br />

2) Log ind på switchen via SSH<br />

3) Aktiver porten og gem<br />

4) Opdater brugeren i Winkas:<br />

a. Tilmeldingsdato<br />

b. Opkræv oprettelsesgebyr<br />

c. Opkræv abonnement for perioden ind til næste kvartal<br />

4.7.2 Oprettelse af et telefonnummer<br />

I beskrivelsen af proceduren herunder, vil punkt 1 kunne udelades, hvis der<br />

er tale om et indporteret (nummeret flyttes fra en anden udbyder) nummer.<br />

1) Find et ledigt nummer i Parknet telefonbogen<br />

2) Find et ledigt lokalnummer i Miralix<br />

3) Find den Audiocode og port brugeren er tilsluttet til i Winkas<br />

4) Log ind på Audiocoden og skriv lokalnummeret ind på den rigtige port<br />

5) Opret brugeren i Miralix (indtast: navn, adresse, Winkas<br />

kontonummer, e-mail, afregningsform, abonnementstype)<br />

6) Vælg lokalnummeret og indtast telefonnummeret<br />

7) Indsæt start taletid (så brugeren kan bruge telefonen)<br />

8) Opdater brugeren i Winkas:<br />

a. Tilmeldingsdato<br />

b. Abonnementstype<br />

c. Afregningsform<br />

d. Lokalnummer<br />

e. Telefonnummer<br />

f. Miralix kontonummer<br />

g. Opkræv oprettelsesgebyr og beløb for starttaletid<br />

h. Opkræv abonnement for perioden ind til næste kvartal<br />

4.7.3 Oprettelse af TV/ændring af TV pakke<br />

1) Slå brugeren op i Winkas og find adressen på krydsfeltet<br />

2) Kør ud til krydsfeltet og tilslut/skift til den ønskede TV pakke<br />

3) Kør hjem igen og opdater brugeren i Winkas:<br />

a. Tilmeldingsdato (ændres ej ved pakkeskift)<br />

b. TV pakke<br />

c. Opkræv gebyret for oprettelse/skift af pakke<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 14 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

d. Opkræv abonnement for perioden ind til næste kvartal fordelt<br />

på Copydan og resten af TV pakkens pris.<br />

4.7.4 Bookning af teknikerbesøg<br />

Hvis en bruger ikke kan få afhjulpet sit problem over telefonen, kan<br />

brugeren få besøg af tekniker. Hvis problemet er forskyldt af Parknet, er<br />

besøget gratis ellers koster det 250 kr.<br />

Teknikerbesøg bookes via Google kalender i blokke på 4 timer. P.t. om<br />

tirsdagen i tidsrummet 16-20.<br />

4.7.5 Opkrævning<br />

Hver måned kører bogholderen opkrævninger. Der køres dels de ordinære,<br />

dvs. brugere som har været oprettet i systemet mere end 1 kvartal. Til<br />

opkrævninger ud over almindeligt abonnement findes et felt som hedder<br />

”opkræves skævt”. I dette felt skriver supporteren sine initialer og derefter<br />

udfyldes feltet ”tekst til skæv opkrævning” med information om, hvad det<br />

er, brugeren skal betale for fx ”Skift af TV pakke til super”. Der er et antal<br />

felter til hver service, hvor supporteren kan indtaste de beløb, som<br />

brugeren skal opkræves i forbindelse med den skæve opkrævning.<br />

Når opkrævningerne er kørt har Winkas genereret en liste, som sendes til<br />

PBS. Resten af forløbet sørger PBS for og pengene sættes ind på Parknets<br />

konto. De brugere, som ikke har betalt, får en rykker samt rykkergebyr og<br />

der lukkes for brugerens services. Efter tredje rykker ryger sagen til<br />

inkasso.<br />

4.7.6 Overdragelse af abonnement<br />

Abonnementer kan opsiges til udgangen af et kvartal. Hvis kvartalet lige er<br />

startet og man ønsker at opsige, kan det dreje sig om op til 1.000 kr. for<br />

hhv. internet, telefon og den største TV pakke. For at pengene ikke skal gå<br />

tabt, kan brugere vælge at overdrage sit abonnement til den nye beboer.<br />

De to brugere skal selv afregne differencen, men på den måde får alle<br />

glæde af abonnementerne plus, at den nye bruger ikke skal betale<br />

oprettelsesomkostninger.<br />

Når en service afmeldes sættes udmeldelsesdatoen, dermed betragtes<br />

servicen som afmeldt. Hvis brugeren senere tilmelder sig igen sættes<br />

tilmeldelsesdato til den nye dato og udmeldelsesdatoen slettes. Derefter<br />

bliver det umuligt at se, præcis i hvilken periode brugeren tidligere har<br />

været tilmeldt. Det er muligt at hente noget brugbar data ud af<br />

posteringerne, da det vil fremgå hvornår der er betalt og specifikt for hvad.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 15 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

4.7.7 Diagram over domænemodellen<br />

Figur 6 - Domænemodel<br />

Figur 6 viser, hvordan jeg forestiller mig Parknet ser ud i en domænemodel.<br />

Nederst til venstre er medlemsforeninger. Disse har brugere, krydsfelter, et<br />

antal services de kan modtage fra Parknet og har en tilslutningsaftale med<br />

Parknet. Parknet leverer services jf. tilslutningsaftalen med foreningen, som<br />

brugerne kan abonnere på hos Parknet. Via administrationssystemerne<br />

køres opkrævninger, som brugerne betaler til Parknet. Parknet har også<br />

krydsfelter og igennem disse leveres services til brugerne.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 16 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5 Analyse<br />

5.1 Kravspecifikation til det nye system<br />

Ifølge bogen ”Goal directed project management” (5) er det vigtigt for et<br />

projekts succes, at alle involverede parter føler ejerskab over projektet.<br />

Derfor er det vigtigt, at brugerne af systemet involveres så tidligt som<br />

muligt i processen. Det er netop ved udarbejdelse af kravspecifikationen, at<br />

brugerne første gang bør få mulighed for at komme med forslag og ønsker<br />

til systemet.<br />

Kravspecifikationen er skrevet uden direkte input fra Parknets<br />

medarbejdere. Den er baseret på mine egne oplevelser med systemerne<br />

igennem 5 måneders praktik samt lige så lang tid som studentermedhjælper.<br />

Jeg har i den tid hørt mange ønsker og forslag til et nyt<br />

system, så medarbejderne har indirekte været med til at formulere<br />

kravene.<br />

Med ovenstående udgangspunkt har jeg ikke overholdt anbefalingen fra (5)<br />

til fulde. Jeg har afveget fra anbefalingen, da systemet et eksamensprojekt<br />

og ikke noget som Parknet har bestilt.<br />

5.1.1 Funktionelle krav<br />

Systemet skal samle processerne i forbindelse med styring af netværket,<br />

services og brugere i Parknet. Administrationen skal automatiseres så<br />

meget som muligt. Brugerne skal i størst muligt omfang kunne administrere<br />

egne services via en selvbetjeningsportal.<br />

Administrationsdelen skal bruges dels til den daglige telefonsupport og til<br />

administrative rutiner herunder:<br />

• opkrævning af brugere<br />

• indrapportering af telefonnumre og adresser til 118<br />

• oprettelse af services for brugerne<br />

• slå brugere op og se deres brugeroplysninger<br />

• administrator skal have adgang til alle services og priser<br />

I forbindelse med telefonsupport er det vigtigt, at supporteren hurtigt kan<br />

finde brugeren i systemet via et eller flere søgekriterier (oftest via<br />

adressen).<br />

Brugernes selvbetjeningsportal skal bestå af to dele. Den ene skal være til<br />

oprettelse af nye brugere. Her skal vises de services, Parknet tilbyder på<br />

den adresse, som brugeren ønsker at tilmelde. Den anden del skal være<br />

med login og er beregnet til eksisterende brugere. Når brugeren er logget<br />

ind, skal brugeren kunne ændre/tilvælge/fravælge services samt<br />

oprette/nedlægge e-mailadresser og foretage intern flytning af sit<br />

abonnement fra en adresse i Parknet til en anden.<br />

Alle ændringer/tilmeldinger skal vises i administrationsdelen og godkendes<br />

af en Parknet medarbejder, før de endeligt udføres. Der skal en<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 17 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

administrator ind over alle ændringer for at sikre, at brugere ikke tilmelder<br />

sig på en adresse, hvor der allerede er en tilmeldt bruger, som ikke er<br />

flyttet.<br />

Der skal være sikkerhed i systemet, så information ikke falder i hænderne<br />

på de forkerte personer.<br />

• Systemet skal have adgang til lagring af data.<br />

5.1.2 Non funktionelle krav<br />

Functionality:<br />

• Separat interface til brugere i Parknet og et andet til<br />

administrationen.<br />

• Systemet skal køre på en web server.<br />

• Systemet skal være skalerbart, dvs. at systemet skal kunne udvides<br />

og tilpasses til fremtidige ændringer i services.<br />

• Brugerne skal have adgang til aktuelle services og priser på sin<br />

adresse.<br />

Usability:<br />

• En hjælpefunktion til brugere (evt. FAQ).<br />

• En manual til personalet.<br />

Reliability:<br />

• Afvikling af programmet sker inden for Parknets netværk og fungerer<br />

uafhængigt af forbindelse til Internettet, reliability er i høj grad til<br />

stede.<br />

Performance:<br />

• Den maksimale svartid på en forespørgsel må være 1 sekund.<br />

Supportability:<br />

• PC’en skal have en Internetbrowser.<br />

• PC’en skal have Internetforbindelse.<br />

• PC’en skærmopløsning skal være mindst 1280x1024.<br />

Meningen med SAPS er, at det skal afløse Winkas. Dvs. at al data, som p.t.<br />

er i Winkas, skal være tilgængelig i SAPS.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 18 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5.1.3 Designvalg<br />

I forbindelse med udviklingen af systemet har jeg primært lagt vægten på<br />

programmet og ikke på det fysiske design. Parknet har eksisteret i 5 år, så<br />

den fysiske opstilling er allerede til stede.<br />

Figuren herunder viser visuelt, hvordan den fysiske opstilling ser ud.<br />

Figur 7 – Model af det fysiske design i Parknet<br />

Resten af rapporten omhandler udviklingen af SAPS. Jeg vil ikke behandle<br />

det fysiske design yderligere.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 19 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5.2 Analyse af applikationen<br />

5.2.1 Use case diagram<br />

I use case diagrammet er der forbindelse fra fire use cases til use case<br />

”Opret ticket”, det skyldes, at disse use cases automatisk opretter en ticket<br />

i systemet.<br />

Administrator<br />

Supporter<br />

Bogholder<br />

Bruger i Parknet<br />

Anonym bruger på Internettet<br />

Brugerens adresse<br />

og services<br />

Log ind i SAPS<br />

Opret ticket<br />

Online tilmelding<br />

Redigere services<br />

SAPS<br />

Ret bruger<br />

oplysninger<br />

TV to do liste<br />

Frameld service<br />

Tilmeld service<br />

Figur 8 - Use case diagram<br />

Opret/fjern<br />

adresser<br />

Opret/fjern x-felt<br />

Opret tlf. nr.<br />

Ændre bruger<br />

rettigheder<br />

Styre services pr.<br />

adresse<br />

Styre adresser,<br />

x-felter og aktivt udstyr<br />

Ændre service<br />

Miralix<br />

Vis saldo på<br />

telefonkonto<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 20 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5.2.2 Aktørbeskrivelser<br />

Administrator<br />

• Flere personer kan have denne rolle<br />

• Skal have adgang til alle data i systemet<br />

• Skal kunne redigere alle data i systemet<br />

Supporter<br />

• Flere personer kan have denne rolle<br />

• Skal have adgang til alle data i systemet<br />

• Skal kunne redigere visse data i systemet<br />

Bogholder<br />

• Flere personer kan have denne rolle<br />

• Skal have adgang til alle data i systemet<br />

• Skal kunne redigere visse data i systemet<br />

Bruger<br />

• Flere personer kan have denne rolle<br />

• Skal have adgang til oplysninger om egne services<br />

• Skal kunne redigere egne services<br />

Anonym bruger på Internettet<br />

• Flere personer kan have denne rolle<br />

• Skal kunne oprette abonnement på sin adresse i Parknet<br />

5.2.3 Overordnede use case beskrivelser<br />

• Opret/fjern adresser<br />

Beskrivelse af hvad administratoren gør for at oprette og slette<br />

adresser i SAPS.<br />

• Opret/fjern x-felt<br />

Beskrivelse af hvad administratoren gør for at oprette og slette<br />

krydsfelter i SAPS.<br />

• Opret tlf. nr.<br />

Beskrivelse af hvad administratoren gør for at tilføje telefonnumre til<br />

SAPS.<br />

• Ændre bruger rettigheder<br />

Beskrivelse af hvad administratoren gør for at redigere brugeres<br />

rettigheder i SAPS.<br />

• Styre services pr. adresse<br />

Beskrivelse af hvordan administratoren til- og fravælger services til<br />

en forening eller adresser enkeltvist.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 21 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

• Styre adresser, x-felter og aktivt udstyr<br />

Beskrivelse af hvordan administratoren tilføjer og redigerer aktivt<br />

udstyr i SAPS samt tilknytter aktivt udstyr til x-felter og aktivt<br />

udstyrs porte til adresser.<br />

• Redigere services<br />

Beskrivelse af hvordan administrator eller bogholder redigerer<br />

eksisterende services samt tilføjer nye.<br />

• Ret bruger oplysninger<br />

Beskrivelse af hvordan administrator, bogholder eller supporter<br />

redigerer en brugers oplysninger (uden mulighed for at ændre<br />

rettigheder).<br />

• TV to do liste<br />

Beskrivelse af hvordan administrator eller supporter bruger to do<br />

listen og markerer et punkt som ”done”.<br />

• Brugerens adresse og services<br />

Beskrivelse af hvad administrator, bogholder eller supporter gør for<br />

at finde en bruger eller en adresse og ser hvilke services, som er<br />

tilmeldt samt, hvilke services som kan tilmeldes.<br />

• Log ind i SAPS<br />

Beskrivelse af hvordan rollerne logger ind i SAPS<br />

• Opret ticket<br />

Beskrivelse af hvordan administrator, bogholder eller supporter<br />

opretter en ticket i SAPS, samt hvordan visse andre use cases<br />

automatisk opretter tickets.<br />

• Online tilmelding<br />

Beskrivelse af hvordan online tilmeldingen virker og opretter en ny<br />

bruger i SAPS samt aktiverer valgte services.<br />

• Ændre service<br />

Beskrivelse af hvordan en service kan ændres fra use casen<br />

”Brugerens adresse og services” og samtidig skriver en ticket.<br />

• Tilmed service<br />

Beskrivelse af hvordan online tilmeldingen eller use casen<br />

”Brugerens adresse og services” tilmelder en service til en bruger<br />

og samtidig skriver en ticket.<br />

• Frameld service<br />

Beskrivelse af hvordan en bruger framelder en service og at systemet<br />

skriver en ticket.<br />

• Vis saldo på telefonkonto<br />

Beskrivelse af hvordan SAPS henter brugerens saldo på<br />

telefonkontoen.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 22 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5.2.4 Detaljerede use case beskrivelser<br />

Jeg har udvalgt to use cases, som jeg har udarbejdet detaljerede<br />

beskrivelser for. Den ene er ”Online tilmelding”, da denne er en<br />

forudsætning for at få nye brugere i systemet og griber ind i mange dele af<br />

SAPS. Den anden er ”Styre services pr. adresse”, da det kun er<br />

aktiverede services, som kan vælges på adressen via SAPS og online<br />

tilmelding.<br />

5.2.4.1 Use case Online tilmelding<br />

USE-CASE Online tilmelding.<br />

Formål At oprette en ny bruger i SAPS og aktivere valgte services.<br />

Niveau Primær opgave<br />

Prækondition SAPS er online og der er ikke en aktiv bruger på den valgte<br />

adresse.<br />

Postkondition Brugeren er blevet oprettet i SAPS.<br />

Fejl afslutning Brugeren blev ikke oprettet eller gemt i databasen.<br />

Primære,<br />

Sekundære<br />

Aktører<br />

Primær: Anonym bruger på Internettet (i det efterfølgende<br />

omtalt som bruger).<br />

Trigger En bruger vælger at oprette sig som kunde hos Parknet.<br />

Hændelsesforløb:<br />

Trin Handling<br />

1 Brugeren vælger sit postnr.<br />

2 Brugeren vælger sin gade<br />

3 Brugeren vælger sin adresse<br />

4 Brugeren klikker på Næste<br />

5 Brugeren indtaster sine personlige oplysninger og vælger services<br />

6 Brugeren klikker på Næste<br />

7 Brugeren vælger at acceptere Parknets abonnementsvilkår<br />

8 Brugeren klikker på Næste<br />

9 Brugeren får besked om, at oprettelsen er sket med oplysning om<br />

brugernummer og password til selvbetjening. Der er desuden link til<br />

Betalingsservice, så brugeren med det samme kan tilmelde sig til PBS.<br />

Hændelsesforløb ved fejl:<br />

Trin Forgrenings handling<br />

1, 2, 3 Hvis der ikke er oprettet adresser i SAPS, vil det ikke være muligt at<br />

vælge hverken postnr., gade eller adresse.<br />

5 Ved forkert udfyldning i et eller flere felter viser SAPS feltet/felterne,<br />

som er udfyldt forkert, samt forklarer, hvad der er galt.<br />

6a Brugeren kan ikke klikke på Næste før, der er valgt mindst én service<br />

og angivet både for- og efternavn.<br />

6b Hvis brugeren ikke har angivet et telefon nr. eller en mailadresse, får<br />

brugeren besked om, at Parknet ikke afsender bekræftelse på<br />

oprettelsen.<br />

9 Hvis der allerede er en bruger tilmeld på adressen, får den nye bruger<br />

besked om, at bestillingen er lagt i kø og bliver behandlet hurtigst<br />

muligt. Brugeren er dog oprettet i systemet og får oplysning om sit<br />

brugernummer og password. Der er også link til PBS tilmelding.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 23 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5.2.4.2 Use case Styre services pr. adresse<br />

USE-CASE Styre services pr. adresse.<br />

Formål At aktivere services på adresser, så brugerne kan vælg dem.<br />

Niveau Primær opgave<br />

Prækondition SAPS er online og en administrator er logget ind og har valgt<br />

siden ”Services pr. adresse”.<br />

Postkondition Der er oprettet adresser i SAPS.<br />

Fejl afslutning Den valgte adresse har ikke fået aktiveret de ønskede<br />

services.<br />

Primære,<br />

Primær: Administrator<br />

Sekundære<br />

Aktører<br />

Trigger En administrator vælger at redigere aktive services til en<br />

adresse.<br />

Hændelsesforløb:<br />

Trin Handling<br />

1 Administrator vælger en adresse i drop down menuen<br />

2 Administrator klikker på ”Tilføj standard services”<br />

3 Administrator klikker på ”Fjern service” ved alle de aktive services som<br />

er i kategorien TV.<br />

4 Administrator klikker på ”Tilføj service” ved ”Opret TV online” og ”Lille<br />

pakke”<br />

Hændelsesforløb ved fejl:<br />

Trin Forgrenings handling<br />

1 Menuen er tom, hvis der endnu ikke er tilføjet adresser til SAPS.<br />

2 Der bliver ikke aktiveret nogle services, hvis standard services ikke er<br />

defineret.<br />

3 Hvis der sker en fejl under kommunikation med databasen, bliver den<br />

valgte service ikke deaktiveret.<br />

4 Hvis der sker en fejl under kommunikation med databasen, bliver den<br />

valgte service ikke aktiveret.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 24 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

5.3 Analyse af databasen til Parknet<br />

Et af de større irritationsmomenter ved Winkas er adressesorteringen. Den<br />

sorterer adresser som strenge. Når opgangsnummeret og etagen er en del<br />

af strengen medfører det at, 11 og 13 kommer før 3, 5, 7, 9 og at<br />

stueetagen kommer efter 1., 2. sal osv.<br />

I Winkas er der kun 100 felter pr. række i standardtabellen for brugere. Alle<br />

data om adresse, brugerens services, priser, opkrævninger og<br />

netværkstilslutninger står i en én række. Dette er en meget dårlig løsning,<br />

da den resulterer i meget unødvendig ekstra data. Når der flytter en ny<br />

bruger ind, deaktiveres den gamle, men data beholdes af hensyn til<br />

historik. Dvs. at adressen og netværksdata dubleres, for hver gang der<br />

oprettes en ny bruger.<br />

Den optimale løsning er at adresser kun oprettes én gang i én tabel,<br />

derefter skal der refereres til dem via ID.<br />

Forventninger til databasens størrelse og omfang:<br />

• Opstarts størrelse:<br />

(1) Der er ca. 10.000 adresser i Parknet.<br />

(2) Der er ca. 9.000 brugere.<br />

(3) Der er 3 forskellige services.<br />

• Forventet vækstrate:<br />

(1) Ca. 2.000 nye adresser pr. år (gennemsnit siden 1/1-04).<br />

(2) Ca. 100 til- og frameldinger pr. måned (stigende med<br />

brugerantallet).<br />

• Sikkerhed:<br />

(1) Databasen skal være password beskyttet.<br />

(2) Det er kun webklienten, som har adgang til databasen via http.<br />

(3) Det er kun muligt at logge på databasen fra Parknets<br />

management netværk.<br />

• Backup:<br />

(1) Der skal køres backup hver dag af databasen.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 25 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

6 Design<br />

SAPS skal være en webapplikation. En af overvejelserne i forbindelse med<br />

designet har været, om det skal være muligt at udskifte webapplikationen<br />

med en GUI applikation. Det har ikke været meningen fra starten af og der<br />

bliver ikke noget lag mellem databasen og SAPS til at styre data flow.<br />

Derfor vil en ny GUI skulle læse og skrive data i databasen på samme<br />

måde, som SAPS gør. Når SAPS læser/skriver data i databasen, kommer<br />

det til at foregå via queries indlejret i koden. Nogle få steder, vil der blive<br />

kaldt en stored procedure eller et view. Dvs. der vil være meget arbejde i at<br />

udvikle en GUI.<br />

En anden stor overvejelse har været validering af input. Det er naturligvis<br />

vigtigt at sikre, at de input som brugeren taster, stemmer overens med<br />

datatypen i databasen. Jeg har valgt, at der ikke er validering i SAPS. Det<br />

er kun Parknets medarbejdere, som har adgang til indtastningsfelter i SAPS<br />

og jeg betragter dem alle som professionelle mennesker, som ved hvad de<br />

gør. Derfor vil exception beskeden fra Java, være tilstrækkelig information<br />

om, hvad der evt. er tastet forkert. I online tilmeldingen skal alle input til<br />

gengæld valideres og sikres mod SQL injection, script eksekvering og<br />

lignende.<br />

Hvor skal arbejdet udføres – i databasen eller i Java? I så stor udstrækning<br />

som muligt, bør komplekse forespørgsler, lægges i stored procedures.<br />

Databasen er hurtigere til at kombinere data fra mange tabeller og<br />

samtidigt udføre evt. beregninger. I forbindelse med online tilmeldingen<br />

bliver det helt essentielt, at data skrives i databasen med en stored<br />

procedure, for at undgå sql injection. Derved kommer der ikke fejldata i<br />

databasen og dermed holder modellen.<br />

Sikkerheden i systemet skal komme fra REALM’et. Det skal sikre at de<br />

rigtige brugere har adgang til de rigtige data i SAPS. Hvis et REALM<br />

vurderes til ikke at være sikkert nok, vil SAPS kunne adskilles i to dele og<br />

køre på hver sin server i Parknet. Den ene server skal være på<br />

management LAN (mgt LAN), så vil der kun være adgang via computere på<br />

mgt LAN (fx dem på Parknets kontor). Den skal køre administrator,<br />

bogholder og supporter rollerne. Den anden server skal køre bruger rollen<br />

og være tilkoblet bruger nettet, så alle har adgang til at logge ind. På den<br />

måde vil en evt. hacker højest kunne få adgang til én brugers oplysninger<br />

ad gangen.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 26 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

6.1 Databasen<br />

For at få adresser sorteret korrekt, skal alle dele af en adresse indsættes i<br />

hver sin tabel og efterfølgende knyttes sammen via ID i en anden tabel. På<br />

den måde kan adresserne sorteres, så fx Tornsangervej 3 står før<br />

Tornsangervej 11 og stueetagen står før 1. sal. Løsningen er vist på figur 9.<br />

For at sikre, at data kun står i én tabel, skal der laves relationer mellem<br />

data via ID. Dette er med til at normalisere databasen og mindske<br />

datamængden.<br />

Jeg har taget udgangspunkt i Parknets services og derfor er tabellen, ved<br />

navn ydelser, en kopi fra Parknets database. Den skiller sig ud fra de øvrige<br />

tabeller ved at bruge teksten FUnique i stedet for id og derudover være med<br />

dansk tekst. Anden undtagelse er tabellen med postnumre, som også er på<br />

dansk.<br />

6.1.1 Databasediagram<br />

Efter at have analyseret data (i kapitel 5) og hvordan de skal bruges, skal<br />

der udarbejdes et diagram til systemet, som er en model af Parknets data<br />

og indbyrdes relationer.<br />

Jeg har valgt at dele databasediagrammet op i 3 diagrammer, da ét stort<br />

ville blive for uoverskueligt. Først viser jeg hvordan adresser sammensættes<br />

i addressrel tabellen, dernæst hvordan netværksdata knyttes til en adresse i<br />

addressrel tabellen. I det sidste diagram vises resten af databasen. Fra de<br />

to foregående diagrammer indgår kun addressrel tabellen.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 27 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

6.1.1.1 Addressrel (adresser) og intersections (x-felter)<br />

Figur 9 - ER-diagram for relationen addressrel med tilhørende tabeller<br />

Når alle dele af en adresse har et nummer, kan systemet sortere på tal i<br />

stedet for på strenge. Derfor er der 1 til 1 relation mellem alle delene af en<br />

adresse med undtagelse af opgangsbogstav, som kan være 0.<br />

6.1.1.2 Netværkets tabeller er knyttet til tabellen addressrel<br />

addressrel<br />

-id {pk} : int<br />

-roadid {fk} : int<br />

-stairawyid {fk} : int<br />

-stairwayletterid{fk} : int<br />

-floornameid {fk} : int<br />

-sideid {fk} : int<br />

-zipcode : int<br />

*<br />

addressdata<br />

-id {pk} : int<br />

-addressrelid {fk} : int<br />

-datapatch : string<br />

-telepatch : string<br />

-tvpatch : string<br />

-showinet : int<br />

-addroaddr {fk} : int<br />

-intersectionid {fk} : int<br />

add_port_rel<br />

-id {pk} : int<br />

-add_rel_id {fk} : int<br />

-intersec_equip_id {fk} : int<br />

-port : int<br />

intersections<br />

-id {pk} : int<br />

-roadid {fk} : int<br />

-stairawyid {fk} : int<br />

-stairwayletterid{fk} : int<br />

-floornameid {fk} : int<br />

-sideid {fk} : int<br />

-zipcode : int<br />

1 1 1 1 1 *<br />

0..1<br />

intersection_equipment<br />

-id {pk} : int<br />

-intersection_id {fk} : int<br />

-equipment_id {fk} : int<br />

-login_name : string<br />

-login_password : string<br />

-serial_number : int<br />

-start_date<br />

-name : string<br />

equipmentlist<br />

-id {pk} : int<br />

-name : string<br />

-ports : int<br />

Figur 10 - ER-diagram for relationen intersections med tilhørende tabeller<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 28 af 80<br />

*<br />

1<br />

*<br />

*


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

6.1.1.3 Diagram over resten af databasen<br />

addressrel<br />

-id {pk} : int<br />

-roadid {fk} : int<br />

-stairawyid {fk} : int<br />

-stairwayletterid{fk} : int<br />

-floornameid {fk} : int<br />

-sideid {fk} : int<br />

-zipcode : int<br />

-realestateid {fk} : int<br />

-tvpack {fk} : int<br />

add_yd_rel<br />

-id {fk} : int<br />

-funique {fk} : int<br />

*<br />

* * *<br />

1<br />

*<br />

user_add_rel<br />

user_svc_rel<br />

-id {pk} : int<br />

-id {pk} : int<br />

-user_id {fk} : int<br />

-add_rel_id {fk} : int<br />

-start_date : date<br />

-end_date : date<br />

-user_id {fk} : int<br />

-funique_current {fk} : int<br />

-funique_wanted {fk} : int<br />

-order_date : date<br />

-done_date : date<br />

-start_date : date<br />

-end_date : date<br />

-phone_pay_method {fk} : int<br />

*<br />

-miralix_acc_no {fk} : int<br />

1<br />

-phone_privacy {fk} : int<br />

-118_name : string<br />

-phone_num_type {fk} : string<br />

users_tabl<br />

-id {pk} : int 1<br />

*<br />

-tlf_authority : tinyint<br />

-phone_number : int<br />

-created : string<br />

-firstname : string<br />

-lastname : string<br />

-password : string<br />

-phone : int<br />

-cell_phone : int<br />

-email : string<br />

-role : int<br />

-active : tinyint<br />

-change_date {fk} : int<br />

*<br />

1<br />

user_roles<br />

-id {pk} : int<br />

-name : string<br />

*<br />

*<br />

wan_ip<br />

-id {pk} : int<br />

-user_id {fk} : int<br />

-ip : string<br />

*<br />

*<br />

*<br />

ydelser<br />

-funique {pk} : int<br />

-kode : string<br />

-navn : string<br />

-fakturatektst : string<br />

-engangs : smallint<br />

-engangspris : double<br />

-prisangives : double<br />

-kategori : string<br />

-medtageinet : smallint<br />

postnummer<br />

-postnr {pk} : int<br />

-bynavn : string<br />

phone_privacy<br />

-id {pk} : int<br />

-name : string<br />

phone_numbers<br />

-number {pk} : int<br />

-created_date : date<br />

-ok_date : datetime<br />

-end_date : date<br />

-status : int<br />

tickets<br />

-id {pk} : int<br />

-user_id {fk} : int<br />

-type_id {fk} : int<br />

-created_by_id {fk} : int<br />

-created_time : datetime<br />

-description : string<br />

-technician_booking_date : date<br />

-resolved_by_id : int<br />

-resolved_date : datetime<br />

-resolved_description : text<br />

phone_num_status<br />

-id {pk} : int<br />

-name : string<br />

ticket_types<br />

-id {pk} : int<br />

-name : string<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 29 af 80<br />

*<br />

0..1 *<br />

0..1 1<br />

0..1 1<br />

Figur 11 - ER-diagram for resten af tabellerne<br />

Adresserne står i addressrel tabellen. Denne er knyttet til brugerne i<br />

users_table via user_add_rel. Når en bruger flytter ind, sættes start_date<br />

og når brugeren flytter ud, sættes end_date. Dermed bliver adressen ledig<br />

til en ny abonnent og Parknet har historik på, hvornår den tidligere beboer<br />

var tilmeldt. Adresser er knyttet sammen med ydelser via add_yd_rel. Det<br />

skal sikre, at der ikke tilmeldes en service til en adresse, hvor servicen ikke<br />

leveres. User_svc_rel er brugerens abonnementer, der er en række i denne<br />

tabel for hvert abonnement.<br />

6.1.1.4 Databasens normalisering<br />

Databasen er normaliseret ud fra Connolly (2).<br />

For at tjekke om modellen af databasen er i 3NF, kan vi først tjekke om den<br />

står i 1NF. Da der ikke er nogen tabel som indeholder samme kolonne 2<br />

eller flere gange og alle grupper af relateret data er sat i hver sin tabel med<br />

en unik nøgle, kan det konkluderes, at modellen er i 1NF. Data, som kunne<br />

*<br />

1 1<br />

1


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

have stået i flere tabeller, er sat i separate tabeller og bliver henvist til via<br />

fremmednøgler. Et eksempel på dette er addressrel tabellen, hvor der<br />

henvises til adressens ID, i stedet for at have adressen som klar tekst i flere<br />

tabeller.<br />

Ud fra ovenstående kan det udledes, at modellen er i 2NF. Til sidst ses det,<br />

at tabellerne ikke har nogen attributter, som ikke er afhængige af<br />

primærnøglen. Et eksempel på dette er postnummer og by, da de er<br />

afhængige af hinanden og derfor ikke begge to behøves at stå i addressrel<br />

tabellen. Da dette er gældende, kan det konkluderes at databasemodellen<br />

er i 3NF.<br />

En positiv sideeffekt, af at modellen er i 3NF, er at ændringer i data, ikke<br />

har nogen stor indflydelse på databasen. Det skyldes, at der refereres<br />

mellem tabellerne via ID.<br />

6.2 SAPS<br />

Via SAPS er der fri adgang til data i databasen. Derfor kan der hurtigt ske<br />

fejl, hvis en bruger ved et uheld sletter en datapost med relation til andre<br />

dataposter. Jeg vælger derfor, at det er meget få steder, hvor data må<br />

kunne slettes. De steder, hvor det bliver muligt at slette/fjerne rækker i en<br />

tabel, skal systemet teste på om den pågældende række har<br />

relation/relationer til andre tabeller i databasen. Hvis det er tilfældet, skal<br />

”fjern” muligheden erstattes med en tekst om, at det ikke er muligt at<br />

fjerne rækken pga. at den er i drift eller har relation til andet data.<br />

Det er vigtigt, at de forskellige roller i systemet ikke kan tilgå hinandens<br />

filer indenfor REALM’et. Derfor skal hver side teste på om brugerens rolle er<br />

korrekt, hvis ikke skal brugeren sendes tilbage til en velkomstside, som<br />

bliver fælles for alle roller.<br />

6.3 Online tilmelding<br />

Designet af online tilmeldingen tager udgangspunkt i en meget primitiv<br />

udgave, som jeg udviklede mens jeg var i ingeniørpraktik hos Parknet.<br />

I online tilmeldingen er det vigtigt at programmet ikke går ned, ikke kan<br />

hackes og kommer med brugbare fejlmeddelelser til brugeren, hvis der er<br />

angivet et forkert input. Brugerne af online tilmeldingen kan ikke<br />

sammenlignes med brugerne af SAPS. Derfor skal den være så intuitiv som<br />

mulig og have så få valgmuligheder som muligt.<br />

Derudover er det vigtigt, at online tilmeldingen har en grafisk brugergrænseflade<br />

og at felter og informationer er sat overskueligt op. Billeder til<br />

grafik og design skal lægges i en separat folder.<br />

Brugerne skal hele tiden kunne se, hvor langt de er nået i oprettelsesprocessen<br />

via en trinindikator. Der skal være separate kasser/bokse til hver<br />

service for at lette overskueligheden. Som afslutning skal brugeren have<br />

mulighed for at tilmelde sig PBS.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 30 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

6.4 Sitemap over SAPS og online tilmelding<br />

Da jeg endnu ikke har det fulde overblik over behovet for filer eller<br />

navngivning af disse, har jeg valgt at tegne mappestrukturen i og udenfor<br />

REALM’et. Filen login.jsp ligger uden for REALM og ved korrekt login får<br />

brugeren adgang til welcome.jsp. Derfra vil adgang til de forskellige<br />

biblioteker være styret af REALM’et ud fra brugerens rettigheder.<br />

ROOT<br />

Authorized_users<br />

Inde i REALM<br />

Opret<br />

Welcome.jsp<br />

AccountantArea<br />

AdministratorArea<br />

SupporterArea<br />

UserArea<br />

Filer uden for REALM<br />

Online opret filer<br />

Bogholder filer<br />

Administrator filer<br />

Supporter filer<br />

User filer<br />

Figur 12 - Sitemap over designet<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 31 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

6.4.1 Designklassediagram SAPS<br />

Designklassernes navne tager udgangspunkt i use case beskrivelserne fra<br />

kapitel 5.2.3.<br />

designklasse: opret/fjern adresser<br />

designklasse: opret/ændre bruger<br />

designklasse: opret/fjern x-felt<br />

designklasse: opret tlf. nr.<br />

designklasse: service pr. adresse<br />

addressrel<br />

-id : int<br />

-roadid : int<br />

-stairawyid : int<br />

-stairwayletterid : int<br />

-floornameid : int<br />

-sideid : int<br />

-zipcode : int<br />

-realestateid : int<br />

-tvpack : int<br />

users_table<br />

-id : int<br />

-created : string<br />

-firstname : string<br />

-lastname : string<br />

-password : string<br />

-phone : int<br />

-cell_phone : int<br />

-email : string<br />

-role : int<br />

-inactivated_date : datetime<br />

-end_date : datetime<br />

intersections<br />

-id : int<br />

-roadid : int<br />

-stairawyid : int<br />

-stairwayletterid : int<br />

-floornameid : int<br />

-sideid : int<br />

-zipcode : int<br />

phone_numbers<br />

-number : int<br />

-created_date : date<br />

-ok_date : datetime<br />

-end_date : date<br />

-status : int<br />

add_yd_rel<br />

-id : int<br />

-funique : int<br />

add_port_rel<br />

-id : int<br />

-add_rel_id : int<br />

-intersec_equip_id : int<br />

-port : int<br />

user_add_rel<br />

-id : int<br />

-user_id : int<br />

-add_rel_id : int<br />

-start_date : date<br />

-end_date : date<br />

user_svc_rel<br />

-id : int<br />

-user_id : int<br />

-funique_current : int<br />

-funique_wanted : int<br />

-order_date : date<br />

-done_date : date<br />

-start_date : date<br />

-end_date : date<br />

-phone_pay_method : int<br />

-miralix_acc_no : int<br />

-phone_privacy : int<br />

-118_name : string<br />

-phone_num_type : string<br />

-tlf_authority : tinyint<br />

-phone_number : int<br />

-change_date : int<br />

designklasse: TV to do liste<br />

Figur 13 - Designklassediagram for SAPS<br />

designklasse: vis telefonsaldo<br />

designklasse: brugerens adresse og services<br />

designklasse: ændre service<br />

designklasse: opret ticket<br />

tickets<br />

-id : int<br />

-user_id : int<br />

-type_id : int<br />

-created_by_id : int<br />

-created_time : datetime<br />

-description : string<br />

-technician_booking_date : date<br />

-resolved_by_id : int<br />

-resolved_date : datetime<br />

-resolved_description : text<br />

Jeg forestiller mig, at designklasserne til SAPS læser og skriver data i<br />

tabellerne jf. figur 13. Opret ticket kan kaldes af brugeren og bliver kaldt af<br />

to andre klasser, når systemet har brug for at oprette en ticket.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 32 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Designklassediagram online tilmelding<br />

designklasse: trinindikator<br />

designklasse: adressevælger<br />

designklasse: vælg abonnementer<br />

designklasse: validering<br />

designklasse: indtast brugeroplysninger<br />

addressrel<br />

-id : int<br />

-roadid : int<br />

-stairawyid : int<br />

-stairwayletterid : int<br />

-floornameid : int<br />

-sideid : int<br />

-zipcode : int<br />

-realestateid : int<br />

-tvpack : int<br />

add_yd_rel<br />

-id : int<br />

-funique : int<br />

ydelser<br />

-funique : int<br />

-kode : string<br />

-navn : string<br />

-fakturatektst : string<br />

-engangs : smallint<br />

-engangspris : double<br />

-prisangives : double<br />

-kategori : string<br />

-medtageinet : smallint<br />

designklasse: opret bruger<br />

add_port_rel<br />

-id : int<br />

-add_rel_id : int<br />

-intersec_equip_id : int<br />

-port : int<br />

user_svc_rel<br />

-id : int<br />

-user_id : int<br />

-funique_current : int<br />

-funique_wanted : int<br />

-order_date : date<br />

-done_date : date<br />

-start_date : date<br />

-end_date : date<br />

-envoice_name : string<br />

-envoice_add : string<br />

-envoice_zip : int<br />

-phone_pay_method : int<br />

-miralix_acc_no : int<br />

-phone_privacy : int<br />

-118_name : string<br />

-phone_num_type : string<br />

-tlf_authority : tinyint<br />

-phone_number : int<br />

-change_date : int<br />

Figur 14 - Designklassediagram for online tilmelding<br />

designklasse: SNMP<br />

user_add_rel<br />

-id : int<br />

-user_id : int<br />

-add_rel_id : int<br />

-start_date : date<br />

-end_date : date<br />

users_table<br />

-id : int<br />

-created : string<br />

-firstname : string<br />

-lastname : string<br />

-password : string<br />

-phone : int<br />

-cell_phone : int<br />

-email : string<br />

-role : int<br />

-inactivated_date : datetime<br />

-end_date : datetime<br />

Jeg forestiller mig, at designklasserne til online tilmelding læser og skriver<br />

data i tabellerne jf. figur 14. Der vises adresser i adressevælgeren fra<br />

addressrel tabellen. Add_yd_rel sikrer, at der kun vises de services, som<br />

kan vælges på adressen. Når brugeren oprettes, bliver der oprettet<br />

abonnementer i user_svc_rel på de valgte services og brugeren bliver<br />

knyttet til adressen via user_add_rel. Hvis brugeren har valgt Internet<br />

abonnement åbnes for Internet med det samme via SNMP kommando<br />

(simuleres).<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 33 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7 Implementering<br />

Implementeringen af koden til SAPS er gjort færdig, før jeg begyndte på<br />

online tilmelding. I SAPS har jeg taget udgangspunkt i min viden om JSP og<br />

fortsat derfra. Da jeg begyndte på online tilmeldingen tog jeg udgangspunkt<br />

i en primitiv version 1 (udviklet i min ingeniørpraktik hos Parknet). Den<br />

eneste funktion som er taget med til version 2 er stripHTML(). Tankegangen<br />

og måden at implementere på med funktionskald, har bragt<br />

implementeringen af online tilmelding i en noget anden retning end SAPS.<br />

Koden til de to dele ligner umiddelbart ikke hinanden. Til gengæld viser de<br />

på hver sin måde, hvordan et design kan implementeres og komme til at<br />

fungere.<br />

Hen mod afslutningen af implementeringen, da online tilmeldingen og SAPS<br />

skulle forenes, har jeg dog implementeret nogle funktioner som deles af<br />

begge koder. Disse funktioner er i filer, som ligger i roden af webserveren. I<br />

forhold til sikkerhed er det ikke noget problem, at filerne er uden for<br />

REALM, da de ikke kan ses i browseren. Desuden skal funktionerne kaldes<br />

med de rigtige argumenter for at fungere.<br />

SAPS bruger views og stored procedures (SP) i nogen grad. I online<br />

tilmeldingen er det meget få steder at jeg bruger views og SP, resten køres<br />

med indlejrede queries i koden. Denne tilgang er valgt for, at online<br />

tilmeldingen hurtigt kan tilpasses til Winkas og sættes i drift i Parknet. Husk<br />

at Winkas kører på MySQL 4.0.18 (som hverken understøtter views eller<br />

SP).<br />

Da tabellen ved navn ydelser fra Winkas blev føjet til systemet, blev min<br />

konvention om kun at bruge engelske navne brudt, det gælder også for<br />

funktionskald (da nogle af dem henter data i ydelser fx getFakturaTekst()).<br />

7.1 Databasen<br />

Komplet datakatalog kan ses i filen /kode/db/datakatalog.doc på cd-rom’en<br />

I forhold til designet har det været nødvendigt at tilføje TV pakke til<br />

adressen, dette er gjort fordi, der kun kan være én TV pakke pr. adresse og<br />

fordi det er adressen som har TV pakken, brugeren betaler ”bare”.<br />

Derudover blev der også behov for at implementere 3 nye felter til<br />

user_svc_rel. Disse felter er til alternativ betaler og faktureringsadresse. På<br />

nuværende tidspunkt oprettes der to brugere i Winkas på den samme<br />

adresse. Hver af brugerne betaler så for de respektive services. Fremover<br />

bliver det ikke nødvendigt.<br />

Da brugerens ID fra tabellen users_table skal bruges som loginnavn, fandt<br />

jeg det ikke hensigtsmæssigt at lade den starte fra 1 og arbejde sig op.<br />

Derfor er startværdien sat til 11111111 og systemet autoinkrementerer<br />

derfra.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 34 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.1.1.1 Addressrel og intersections<br />

Figur 15 - Implementeringen af relationen addressrel med tilhørende tabeller<br />

Jeg har tilføjet tvpack i addressrel tabellen, da TV pakken følger adressen<br />

uafhængigt af brugere.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 35 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.1.1.2 Netværket<br />

Figur 16 - Implementeringen af relationen intersections med tilhørende tabeller<br />

Der er ikke sket ændringer til disse tabeller.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 36 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.1.1.3 Resten af databasen<br />

addressrel<br />

-id {pk} : int<br />

-roadid {fk} : int<br />

-stairawyid {fk} : int<br />

-stairwayletterid{fk} : int<br />

-floornameid {fk} : int<br />

-sideid {fk} : int<br />

-zipcode : int<br />

-realestateid {fk} : int<br />

-tvpack {fk} : int<br />

user_add_rel<br />

-id {pk} : int<br />

-user_id {fk} : int<br />

-add_rel_id {fk} : int<br />

-start_date : date<br />

-end_date : date<br />

users_table<br />

-id {pk} : int<br />

-created : varchar<br />

-firstname : varchar<br />

-lastname : varchar<br />

-password : varchar<br />

-phone : int<br />

-cell_phone : int<br />

-email : varchar<br />

-role : int<br />

-inactivated_date : datetime<br />

-end_date : datetime<br />

*<br />

1<br />

user_roles<br />

-id {pk} : int<br />

-name : varchar<br />

1<br />

*<br />

*<br />

1<br />

*<br />

*<br />

wan_ips<br />

-id {pk} : int<br />

-user_id {fk} : int<br />

-ip : varchar<br />

end_dates start_dates<br />

-id {pk} : int -id {pk} : int<br />

-navn : varchar -navn : varchar<br />

add_yd_rel<br />

-id {fk} : int<br />

-funique {fk} : int<br />

-dato : int -dato<br />

* * *<br />

cutting_dates<br />

-id {pk} : int<br />

-navn : varchar<br />

-dato : int<br />

*<br />

*<br />

1<br />

*<br />

user_svc_rel<br />

-id {pk} : int = 11111111<br />

-user_id {fk} : int<br />

-funique_current {fk} : int<br />

-funique_wanted {fk} : int<br />

-order_date : date<br />

-done_date : date<br />

-start_date : date<br />

-end_date : date<br />

-envoice_name : varchar<br />

-envoice_add : varchar<br />

-envoice_zip : int<br />

-phone_pay_method {fk} : int<br />

-miralix_acc_no {fk} : int<br />

-phone_privacy {fk} : int<br />

-118_name : varchar<br />

-phone_num_type {fk} : varchar<br />

-tlf_authority : tinyint<br />

-phone_number : int<br />

-change_date {fk} : int<br />

payments<br />

-id {pk} : int<br />

-fakturatekst : varchar<br />

-pris : double<br />

-add_rel_id : int<br />

-client_name : varchar<br />

-client_add : varchar<br />

-client_zip : int<br />

-date_added : datetimetime<br />

-date_payment : date<br />

-date_payed : date<br />

-term_start_date : date<br />

-term_end_date : date<br />

*<br />

*<br />

0..1 1<br />

standard_services<br />

-id {fk} : int<br />

*<br />

*<br />

ydelser<br />

-funique {pk} : int<br />

-kode : varchar<br />

-navn : varchar<br />

-fakturatektst : varchar<br />

-engangs : smallint<br />

-engangspris : double<br />

-prisangives : double<br />

-kategori : varchar<br />

-medtageinet : smallint<br />

postnummer<br />

-postnr {pk} : int<br />

-bynavn : varchar<br />

phone_privacy<br />

-id {pk} : int<br />

-name : varchar<br />

phone_numbers<br />

-number {pk} : int<br />

-created_date : date<br />

-ok_date : datetime<br />

-end_date : date<br />

-status : int<br />

tickets<br />

-id {pk} : int<br />

-user_id {fk} : int<br />

-type_id {fk} : int<br />

-created_by_id {fk} : int<br />

-created_time : datetime<br />

-description : varchar<br />

-technician_booking_date : date<br />

-resolved_by_id {fk} : int<br />

-resolved_date : datetime<br />

-resolved_description : text<br />

ydelser_farver<br />

-id {pk} : int<br />

-kode : varchar<br />

-farve : varchar<br />

ydelser_copydan<br />

-funique {fk} : int<br />

-fakturatekst : varchar<br />

-prisangives : double<br />

phone_num_status<br />

-id {pk} : int<br />

-name : varchar<br />

ticket_types<br />

-id {pk} : int<br />

-name : varchar<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 37 af 80<br />

*<br />

0..1 1<br />

0..1 1<br />

*<br />

1<br />

* 1<br />

1 1<br />

validation_patterns<br />

-id {pk} : int<br />

-name : varchar<br />

-id {pk} : int<br />

-mib : varchar<br />

-function : varchar<br />

Figur 17 - Diagram for implementeringen af resten af tabellerne<br />

mibs<br />

1<br />

-user_id {fk} : int<br />

-add_rel_id {fk} : int<br />

-email_wish : varchar<br />

-tlf_type_id {fk} : int<br />

-num_type_id {fk} : int<br />

-tlf_pay_id {fk} : int<br />

-pack_id {fk} : int<br />

-start_id {fk} : int<br />

-int_adm_id {fk} : int<br />

-inet_price_id {fk} : int<br />

-tlf_adm_id {fk} : int<br />

-tv_adm_id {fk} : int<br />

-tlf_authority : tinyint<br />

-date_created : datetime<br />

-date_done : datetime<br />

1<br />

user_wishes<br />

Jeg har tilføjet de stiplede tabeller. De tre i højre side, har ikke relationer,<br />

men bruges af online tilmelding i forbindelse med validering, SNMP og<br />

tilmelding. Payments knytter sig til brugeren og brugerens services, derfor<br />

er den placeret imellem disse. De tre stiplede i toppen er hhv. end_dates,<br />

start_dates og cutting_dates. Disse er alle tre afgørende for, hvilken dato et<br />

abonnement kan starte fra (start_dates) og slutte til (end_dates). Imellem<br />

disse vil cutting_dates skulle afgøre, hvilken start eller slut dato, som er<br />

mulig i forhold til dags dato.<br />

I users_table er feltet active skiftet ud med to datofelter hhv.<br />

inactivated_date og end_date. Active værdien bliver sat afhængig af om<br />

end_date er overskredet i forhold til dags dato. Funktionaliteten er<br />

forberedt til, når brugere opsiger alle services for at flytte fra sin adresse i<br />

Parknet. Så vil inactivated_date blive sat til den dato, hvor brugeren<br />

opsiger, mens end_date vil blive sat til den dato, hvorfra brugeren ikke<br />

længere har adgang til SAPS.<br />

Den stiplede streg mellem add_yd_rel og user_svc_rel, skal vise, at<br />

brugeren kun kan abonnere på services, som leveres på adressen.


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.1.2 Stored Procedures<br />

Navn Argument(er) Output<br />

getServices (input_address) ResultSet<br />

insert_user<br />

(input_firstname, input_lastname, input_password,<br />

input_phoneno, input_cellphoneno, input_email)<br />

(input_userNumber, input_address, input_email_wish,<br />

input_tlfTypeId, input_numTypeId, input_tlfPayId, input_packId,<br />

void<br />

insert_user_in_temp input_startId, input_user_internet_adPriceId,<br />

input_user_internet_monthPriceId, input_user_tlf_admPriceId,<br />

input_user_tv_admPriceId)<br />

void<br />

numbers () ResultSet<br />

portations () ResultSet<br />

to_do () ResultSet<br />

todo_tv () ResultSet<br />

usersintemp () ResultSet<br />

Den stored procedure (SP) kaldet getServices bruges til at hente, hvilke af<br />

Parknets tre services, der kan vælges på det adresse id, som proceduren<br />

kaldes med.<br />

De to SP til insert, bruges primært for at sikre, at databasen ikke bliver SQL<br />

injected. Insert_user bruges af online tilmeldingen, når der ikke er en aktiv<br />

bruger på adressen, ellers bruges insert_user_in_temp. Den tager flere<br />

argumenter end insert_user, da alle brugerens valg skal gemmes.<br />

De sidste SP bruges til sammentælling af de punkter, som skal præsenteres<br />

på velkomstsiden i REALM.<br />

7.1.3 Views<br />

Navn Output<br />

address_showinet id, roadid, adresse, postnr, forening, showinet<br />

address_view id, roadid, stairid, adresse, postnr, forening, TVpakke<br />

intersection_view id, blok, vej, nr., adresse, postnr<br />

users id, initials, name, role, password<br />

Viewet address_showinet viser de adresser, som har fået sat showinet = 1.<br />

Det bruges i online tilmeldingens adressevælger.<br />

address_view bruges alle steder i SAPS, hvor der skal vises en adresse. Den<br />

sørger for at sammensætte adressen fra de forskellige tabeller og vise den<br />

som en streng.<br />

intersection_view viser krydsfelter i SAPS, sat sammen af blok nr. og<br />

opgangs nr. samt adressen og post nr.<br />

users er et view som bruges af REALM i forbindelse med login. Det er<br />

felterne initials, name, role og password som bruges. Jeg har valgt, at login<br />

kører via bruger id i stedet for initialer. Derfor vises det samme tal i både id<br />

og initials.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 38 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.2 Sitemap over SAPS og online tilmelding<br />

Jeg har valgt at indsætte sitemappet over implementeringen før jeg<br />

beskriver filerne, for at lette forståelsen.<br />

Der er kommet nogle tilføjelser siden designfasen. Der er oprettet en folder<br />

til billeder af krydsfelterne, for at billedefilerne ikke bliver rodet sammen<br />

med resten af SAPS. Desuden krævede grafikken til online oprettelse<br />

billeder, som også har fået sin egen folder.<br />

Figur 18 - Sitemap over implementerede filer<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 39 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.3 SAPS<br />

Enkelte filer med basal funktionalitet bliver delt mellem SAPS og online<br />

tilmelding, de ligger i ROOT og bliver beskrevet i dette afsnit sammen med<br />

filerne til SAPS.<br />

7.3.1 Beskrivelse af de forskellige JSP filer<br />

Sti: /ROOT/ (filerne db, pay_tools og snmp er fælles med online<br />

opret)<br />

Filnavn: Beskrivelse:<br />

Skaber forbindelse til de to databaser hhv. localhost og Miralix (forudsætter at<br />

serveren har adgang gennem Parknets firewall til Miralix). Alle øvrige filer som<br />

bruger databaserne inkluderer denne fil.<br />

db<br />

Indeholder følgende funktioner:<br />

getUsername (henter et brugernavn ud fra ID)<br />

getColor (henter en farve ud fra en service ID)<br />

getDate (henter en startdato ud fra ID)<br />

Rummer HTML tags som skal stå i starten af alle de sider, som brugeren skal se.<br />

design_start<br />

Ved at inkludere denne i starten af alle filer, kan overskrift o.l. rettes ét sted.<br />

Rummer afslutnings tags til HTML og skal inkluderes i slutningen af alle de filer,<br />

design_end<br />

hvor design_start er inkluderet i starten.<br />

findUserRole Finder brugerens rolle.<br />

index Velkomst side uden for REALM.<br />

login Login i REALM via brugernummer og password.<br />

loginerror Vises hvis login mislykkedes.<br />

logout Invaliderer brugerens nuværende session, så nyt login bliver påkrævet.<br />

Indeholder følgende funktioner:<br />

insertCreateFee (indsætter oprettelsesgebyr i tabellen payments)<br />

insertUserSvcRel (indsætter Internet service i tabellen user_svc_rel)<br />

pay_tools<br />

insertUserSvcRelTlf (indsætter telefon service i tabellen user_svc_rel)<br />

insertUserSvcRelTv(indsætter TV service i tabellen user_svc_rel)<br />

getFakturaTekst (henter servicens fakturatekst fra tabellen ydelser)<br />

getFakturaNavn (henter servicens navn fra tabellen ydelser)<br />

Indeholder følgende funktioner:<br />

snmp_via_add (udfører den ønskede SNMP kommando, ud fra adresse ID)<br />

snmp<br />

snmp (udfører den SNMP kommando ud fra switch ID og port nr.)<br />

SNMP kommandoerne som kan vælges er: status, åben og luk.<br />

P.t. køres kommandoerne kun simuleret som print til server console.<br />

Sti: /ROOT/authorized_users<br />

Filnavn: Beskrivelse:<br />

design_start<br />

Samme som i ROOT, dog med den tilføjelse af denne fil<br />

findUserRole.jsp, således at menuen kan tilpasses brugerens rolle.<br />

inkluderer<br />

design_end Samme som i ROOT.<br />

Velkomstside til alle roller som har adgang til systemet. Inkluderer<br />

welcome<br />

findUserRole.jsp, så der kan præsenteres data afhængig af brugerens rolle.<br />

Almindelige brugere får vist deres abonnementer med mulighed for framelding.<br />

Alle andre får vist antal punkter på to do listerne, porteringer, tilmeldinger og<br />

antal telefonnumre i Parknet.<br />

Sti: /ROOT/authorized_users/AccountantArea<br />

Filnavn: Beskrivelse:<br />

accountant_tools<br />

Viser start datoer, slut datoer og skæringsdatoer og giver mulighed for<br />

ændringer.<br />

Søger på adresser i SAPS via indtastning af en del af vejnavnet, søgningen kan<br />

address_search indsnævres ved også at angive et opgangsnummer. Når resultatet af søgningen<br />

vises, kan man klikke på en adresse, hvorved user_add_svc_show bliver kaldt.<br />

copydan Viser priserne for copydan delen af en TV pakke og giver mulighed for at rette.<br />

design_start<br />

Desværre er denne fil nødvendig igen, for at holde stien rigtig, da brugeren nu er<br />

et niveau længere inde i REALM’et.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 40 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

design_end Det samme som ovenstående.<br />

functions<br />

Indeholder p.t. 37 funktioner som bruges af de øvrige JSP filer til at oprette,<br />

slette og redigere data i databasen.<br />

payments Viser data i tabellen payments.<br />

services<br />

Viser data i tabellen ydelser (dvs. Parknets services) med mulighed for at<br />

redigere.<br />

Viser oplysninger om adressen:<br />

- tilmeldt bruger<br />

user_add_svc_show<br />

-<br />

-<br />

tilmeldte services og deres status<br />

tickets<br />

- mulighed for ændring af TV servicen<br />

- mulighed for at åbne/lukke Internet port<br />

users_limited<br />

Viser alle brugere i systemet sorteret efter brugerrolle og fornavn. Der er<br />

mulighed for at rette navne, telefonnumre og e-mail. Det er kun administrator<br />

som kan rette brugerens rolle og aktivere/inaktivere brugere.<br />

Sti: /ROOT/authorized_users/AdministratorArea<br />

Filnavn: Beskrivelse:<br />

accountant_tools Kopi af filen fra AccountantArea.<br />

Når brugeren har valgt en vej fra drop down menuen vises alle adresser på den<br />

address_data<br />

vej. Ud for hver vej kan man angive x-felt data, dvs. patchpanel nr., navn på xfelt<br />

og om adressen skal vises i online tilmeldingen.<br />

Når brugeren har valgt en vej fra drop down menuen vises de adresser som har<br />

tilknyttet aktivt udstyr.<br />

address_ports Der er mulighed for at tilføje nye tilknytninger mellem adresser og aktivt udstyr<br />

ved at vælge adresse, udstyrets navn og portnummeret (antallet af porte er<br />

styret af udstyrets navn fx 8, 24 eller 48).<br />

address_search Kopi af filen fra AccountantArea.<br />

Viser hhv. foreninger, veje, etager, etagesider, opgangsbogstaver og<br />

address_tools opgangsnumre i SAPS. Der er mulighed for at rette og tilføje nye. Der kan ikke<br />

slettes.<br />

copydan Kopi af filen fra AccountantArea.<br />

Fra drop down menuen kan vælges de veje som er i systemet. Hvis der er<br />

adresser på vejen, kan disse fjernes – forudsat at der ikke er tilknyttet services<br />

til adressen. Hvis der ikke er adresser på den pågældende vej, kan der tilføjes<br />

nye serier ved at angive:<br />

Vej<br />

create_address<br />

Nr. fra og til (der oprettes kun hver anden, fx 1, 3, 5)<br />

Opgang fra og til (hvis der er bogstaver i opgangsnumrene ellers blank)<br />

Etage fra og til<br />

Antal sider (hvis der angives 2, bliver tv. og th. brugt, ved flere er det med nr.)<br />

Post nr.<br />

Foreningen, som adresserne hører til<br />

Når der klikkes på ”Tilføj” oprettes alle adresser i det ønskede interval.<br />

design_start Kopi af filen fra AccountantArea.<br />

design_end Kopi af filen fra AccountantArea.<br />

Fra drop down menuen vælges imellem krydsfelter i SAPS. Hvis der er aktivt<br />

equip_in_int<br />

udstyr i det valgte krydsfelt, vises det med mulighed for at rette. Der er mulighed<br />

for at tilføje nyt udstyr ved at angive navn, login, password, serienr, type og<br />

skrive en start dato.<br />

equipment<br />

Liste over aktivt udstyr. Listen kan redigeres og nyt udstyr kan tilføjes. Det er<br />

ikke muligt at slette.<br />

functions Kopi af filen fra AccountantArea.<br />

Viser krydsfelter i SAPS. Der kan vælges mellem veje eller blok nummer. Hvis der<br />

er et krydsfelt, kan man ved at klikke på adressen se et kort over krydsfeltets<br />

intersections<br />

placering. Hvis der ikke er tilknyttet aktivt udstyr til krydsfeltet, kan det fjernes.<br />

Der er mulighed for at tilføje nye krydsfelter til systemet. Husk at lægge en<br />

billedfil i /images.<br />

mib<br />

Viser de MIB strenge som bruges til SNMP kommandoerne: status, åben og luk.<br />

Strengene kan redigeres.<br />

payments Kopi af filen fra AccountantArea.<br />

Viser alle telefonnumre i SAPS, sorteret efter nummer. Der er mulighed for at<br />

phone_numbers<br />

rette nummerets status fx fra ”på vej ind” til ”OK”. Der er også mulighed for at<br />

tilføje nye numre, enten som serie eller som enkelt nummer (skriv det samme<br />

nummer i både ”første nummer” og ”sidste nummer”).<br />

Viser de statusser et telefonnummer kan have i systemet. Statussen kan rettes<br />

phone_tools<br />

og der kan tilføjes nye. Der kan desuden rettes i hemmeligt nummer<br />

mulighederne og tilføjes nye.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 41 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

services Kopi af filen fra AccountantArea.<br />

Viser alle services fra tabellen ydelser. Ud for hver ydelse kan man vælge om<br />

servicen kan vælges til den adresse, som man har valgt i drop down menuen.<br />

services_address Status er vist med rød eller grøn farve. Der er mulighed for at klikke på knappen<br />

”Tilføj standard services”, hvorved alle services defineret som ”standard services”<br />

tilføjes adressen.<br />

Viser farver til services. Der er mulighed for at redigere farverne. Farverne skal<br />

services_color<br />

tastes i tekst som lovlige HTML farver.<br />

Viser drop down menu, hvorfra man kan vælge foreninger i SAPS. Når man har<br />

services_realestate valgt en forening, kan man tilføje ”standard services” til alle adresser i foreningen<br />

ved at klikke på ”Tilføj standard services”.<br />

Viser alle services fra tabellen ydelser. Ud for hver ydelse kan man vælge, om<br />

std_services<br />

den skal være en del af definitionen ”standard services”. Status er vist med rød<br />

eller grøn farve.<br />

ticket_tools Rediger ticket typer i systemet og tilføj nye.<br />

Viser en liste over pakkeskift som skal udføres. Listen er sorteret efter dato,<br />

postnr., krydsfelt og adresse. På den måde vises de mest presserende først,<br />

sorteret efter postnr., så man kan vælge kørsler efter geografien. Dernæst er det<br />

todo_tv<br />

nemmest, når kørslerne er samlet pr. krydsfelt.<br />

user_add_svc_show<br />

Der er en done knap, som fjerner rækken fra listen. Der er INGEN undo funktion,<br />

så knappen skal kun bruges NÅR pakkeskiftet er udført.<br />

Kopi af filen fra AccountantArea.<br />

user_roles Viser brugerroller i systemet (kan ikke ændres).<br />

Den fulde udgave af filen fra AccountantArea. Der kan oprettes nye brugere. Alle<br />

users<br />

oplysninger om eksisterende brugere kan rettes og brugeren kan<br />

validation<br />

aktiveres/deaktiveres.<br />

Viser valideringsstrenge som bruges i online tilmeldingen til validering af hhv.<br />

navne, e-mailadresse og telefonnumre.<br />

Sti: /ROOT/authorized_users/SupporterArea<br />

Filnavn: Beskrivelse:<br />

address_search Kopi af filen fra AccountantArea.<br />

design_start Kopi af filen fra AccountantArea.<br />

design_end Kopi af filen fra AccountantArea.<br />

functions Kopi af filen fra AccountantArea.<br />

todo_tv Kopi af filen fra AdministratorArea.<br />

user_add_svc_show Kopi af filen fra AccountantArea.<br />

user_roles Kopi af filen fra AdministratorArea.<br />

users_limited Kopi af filen fra AccountantArea.<br />

Sti: /ROOT/authorized_users/UserArea<br />

Filnavn: Beskrivelse:<br />

design_start Kopi af filen fra AccountantArea.<br />

design_end Kopi af filen fra AccountantArea.<br />

functions<br />

Kopi af filen fra AccountantArea, hvor alle ikke-relevante funktioner er slettet.<br />

Dvs. der kun er funktion til opsigelse.<br />

Brugeren kan opsige sit abonnement ved at vælge opsigelsesdato og dernæst<br />

terminate<br />

klikke ja. Derefter vises abonnementet som værende aktivt indtil<br />

opsigelsesdatoen.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 42 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Beskrivelse af udvalgte funktioner i SAPS:<br />

Tilføj adresseserie – mode 5 i functions.jsp<br />

Der køres en for-løkke for intervallet af opgangsnumre, hvor der lægges 2<br />

til pr. gennemløb. For hvert gennemløb inde i denne køres for-løkker til hhv.<br />

opgangsbogstaver og etager. Afhængigt af hvor mange sider, der skal<br />

tilføjes pr. etage er der tre forskellige muligheder for, hvordan data skrives i<br />

tabellen addressrel.<br />

Hvis der kun er 1 side, skrives der ikke data sideid feltet.<br />

Hvis der er 2 sider, skrives 1 eller 2 i sideid feltet.<br />

Hvis der er flere end 2 sider, skrives fra 3 og op i sideid feltet.<br />

På den måde passer det med, at 1 og 2 bliver læst til tv. og th. og at tal<br />

større end 3 bliver læst til -1, -2 osv.<br />

Aktiver/deaktiver en bruger – mode 26 i functions.jsp<br />

For administrator ser det ud som om en bruger ”bare” har et aktiv flag.<br />

Sådan fungerer det ikke i databasen. Her er to felter inactivated_date og<br />

end_date. Hvis administrator sætter active til 0, skrives NOW() i begge<br />

felter. Hvis administrator sætter active til 1, skrives NULL i begge felter.<br />

Indsæt TV service hos en bruger – mode 32 i functions.jsp<br />

Der indsættes den valgte TV service i user_svc_rel<br />

Der indsættes oprettelsesgebyr i payments<br />

Der oprettes en ticket<br />

Tilføj standard services til en forening<br />

Funktionen vælger alle adresse ID’er fra den pågældende forening. Dernæst<br />

vælges alle ID’er fra standard services. Så tjekkes om adresse ID og service<br />

ID står i tabellen add_yd_rel, hvis ikke indsættes den nye relation. På den<br />

måde sikres det, at en relation aldrig optræder to gange. Hvis den gjorde,<br />

ville det kunne ses i online tilmeldingen, hvor TV pakkerne fx ville stå to<br />

gange.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 43 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.4 Online tilmelding<br />

7.4.1 Beskrivelse af de forskellige JSP filer<br />

(der bruges funktioner fra filerne db, pay_tools og snmp i /ROOT)<br />

Sti: /ROOT/opret<br />

Filnavn: Beskrivelse:<br />

address<br />

Funktioner til at vise adressevælgeren til brugeren i trin 1, adressevælgeren er 3<br />

trins, først vises postnummervælger, når brugeren har valgt postnummer vises<br />

gadevælger, når der er valgt gade vises til slut adressevælgeren og ”næste”<br />

knappen.<br />

Funktioner til at vise de forskellige bokse i trin 2 samt hjælpefunktioner til at<br />

hente navne og priser på services, datoer, passwordgenerator og indsættelse af<br />

det nye medlem i databasen.<br />

Trin 2 - getAllServices()<br />

Trin 2 - getName()<br />

Trin 2 - getInternet()<br />

Trin 2 - getPhone()<br />

Trin 2 - getTelevision()<br />

Trin 3 - getConfirmChoises()<br />

Trin 4 - getDone()<br />

boxes<br />

Hjælpefunktioner som kaldes af de ovenstående:<br />

getNoService()<br />

writeNewMember()<br />

getUserCreated()<br />

setUserInTemp()<br />

getErrorWhileCreatingUser()<br />

getServiceName()<br />

getStartName()<br />

getPrice()<br />

getCityName()<br />

getNewMemberNumber()<br />

getPassword()<br />

Visning af de forskellige bokse med næste og tilbage knapper<br />

getForwardBtn()<br />

buttons<br />

getForwardBakcBtnStep3()<br />

getForwardBackBtn()<br />

Rummer HTML tags og JavaScript funktioner som bruges af opret.jsp. Det er p.t.<br />

kun opret.jsp, som inkluderer design_start, men for overskueligheden skyld og<br />

segmentering af koden, giver det god mening at have det skilt ud i en separat fil.<br />

Indeholder følgende funktioner:<br />

doToggleService()<br />

design_start<br />

toggleService()<br />

toggleStep3()<br />

initStep2()<br />

init()<br />

charCount()<br />

setBtnNext()<br />

design_end Rummer HTML afslutnings tags.<br />

Funktioner til validering af brugerens input<br />

stripHTML()<br />

functions<br />

validateServiceId()<br />

validateStartId()<br />

getServices Bruges til at finde ud af, hvilke af Parknets 3 services, som er aktive på adressen.<br />

Online tilmeldingens hovedfil - bruger funktioner fra alle de andre filer. Bruges til<br />

opret<br />

at vise korrekte bokse til brugeren, validere input og gemme brugeren i<br />

databasen.<br />

stepIndicator Viser boksen med trinindikatoren.<br />

Generelt om alle funktionerne, der har med output til skærmen at gøre, kan<br />

det siges, at de returnerer en streng. Strengene er formateret pænt og alle<br />

linjer afsluttes med \n, som sørger for at kodens formatering er magen til i<br />

browseren, når nogen vælger ”vis sidens kildekode”.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 44 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

De funktioner som kører databasekald tager altid et statement som<br />

argument, hvis det er nødvendigt at køre flere databasekald inde i<br />

hinanden, skal der bruges et tilsvarende antal statements i funktionskaldet.<br />

Opret.jsp er inddelt i de samme 4 trin som brugeren ser ved tilmelding.<br />

Opret.jsp kan sætte flueben i boksene i trin 2 via JavaScript i linje 486-493.<br />

Beskrivelse af udvalgte funktioner:<br />

getAddressChooser()<br />

Sørger for at vise adressevælgeren til brugeren. Der køres en onchange på<br />

postnummer vælgeren, så siden automatisk opdateres, når brugeren har<br />

valgt et postnummer. Dernæst vises gadevælger, efter valg af gade vises<br />

adressevælger og næste knap.<br />

getName()<br />

Viser indtastningsfelter til brugerens navne, tlf. nr. og nuværende e-mail. I<br />

de to navnefelter køres charCount() ved keyup, dvs. funktionen køres, for<br />

hver gang brugeren slipper en tast. Når der står mindst 2 bogstaver i hhv.<br />

fornavn og efternavn forsvinder teksten om, at brugeren skal skrive for- og<br />

efternavn, før du kan klikke næste.<br />

getPhone(), getInternet() og getTelevision()<br />

Viser en boks til brugeren, hvori den pågældende service kan vælges. Når<br />

fluebenet til servicen markeres, køres JavaScript funktionen<br />

toggleService(). Den sørger for, at felterne til servicen aktiveres, så<br />

brugeren kan vælge disse. Felterne aktiveres via deres ID. Samtidigt fjernes<br />

teksten om at der skal vælges mindst én service, før du kan klikke næste.<br />

getDone()<br />

Opret.jsp sætter en sessionvariabel (”done”), når brugeren er oprettet. For<br />

hvert step bliver denne variabel testet og hvis den er sat kaldes getDone().<br />

Funktionen bruges, hvis en bruger efter tilmelding har brugt tilbage<br />

knappen i browseren og derefter klikker på næste eller tilbage knappen i<br />

online tilmeldingen.<br />

getNoService()<br />

Kaldes hvis den pågældende service ikke tilbydes på den valgte adresse.<br />

Beskrivelse af udvalgte JavaScript funktioner i design_start:<br />

function doToggleService(svc, val)<br />

Funktionen bruges til at aktivere felterne og fluebenet i en valgboks til en<br />

service. De tre cases i funktionen er til hhv. Internet, telefon og TV. I hver<br />

case styres de felter/drop down menuer som aktiveres/deaktiveres via<br />

deres ID. Desuden styres teksten om, at du skal vælge en service osv. og<br />

funktionen setBtnNext ud fra, om der er valgt nogen service. Når en service<br />

vælges/fravælges bliver der lagt 1 til eller trukket 1 fra variablen<br />

svcsenabled. Hvis denne variabel er større end nul, køres setBtnNext med<br />

1, hvis den er 0 køres setBtnNext med 0 og ellers køres funktionen ikke.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 45 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

If sætningen som tester værdien af val er meget kompakt og resultatet<br />

bliver lagt direkte ind i svcsenabled.<br />

Linjen ser således ud:<br />

svcsenabled += val ? 1 : -1;<br />

Skrevet på lang form ville den se således ud:<br />

if (val == true)<br />

{<br />

svcsenabled + = 1;<br />

}<br />

else<br />

{<br />

svcsenabled += -1;<br />

}<br />

Syntaksen for den korte form af if sætningen, går igen i mange af de andre<br />

funktioner.<br />

function toggleService(svc, elm)<br />

Funktionen kalder doToggleService. Denne funktion bruges, når brugeren<br />

sætter/fjerner fluebenet ved servicen. Den er nødvendig for at kalde<br />

doToggleService med korrekt værdi, fluebenet laves om til 0 eller 1.<br />

function toggleStep3(val)<br />

Funktionen styrer, at knappen ”næste” i trin 3 først vises, når brugeren har<br />

klikket ja til at acceptere Parknets abonnementsvilkår.<br />

function initStep2()<br />

Funktionen bruges, hvis brugeren klikker tilbage i trin 3, til at aktivere de<br />

services som brugeren har valgt tidligere. Funktionskaldet fra opret.jsp<br />

rummer servicen som boolsk værdi. Funktionen kalder charCount og<br />

doToggleService.<br />

function init()<br />

Funktionen kaldes når opret.jsp er i trin 2.<br />

function charCount()<br />

Funktionen tæller antallet af tegn i felterne til fornavn og efternavn. Når<br />

antallet af tegn i begge felter er større end 1 kaldes funktionen setBtnNext<br />

med 1 ellers med 0.<br />

function setBtnNext(caller, val)<br />

Funktionen bruger input fra hhv. charCount og doToggleService til at<br />

aktivere/deaktivere knappen ”næste” i trin 2. Hvis begge funktioner har<br />

kaldt setBtnNext, aktiveres knappen.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 46 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.4.2 State diagram<br />

Figur 19 - Statediagram for online tilmeldingen<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 47 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

7.5 Implementeret og ikke-implementeret:<br />

Jeg har valgt at lave en liste med implementerede funktioner samt de<br />

oprindelige fra mit projektoplæg (vises med + for oprindelig og – for ny<br />

funktion). Ud for hver funktion er der indikeret om den er implementeret.<br />

Efter listen begrunder jeg min prioritering af implementering.<br />

Nr. Felter Impl. +/-<br />

Netværksinstallationer:<br />

1a Adresser Ja +<br />

1b Netværksdata Ja +<br />

1c Services, som kan vælges til adressen Ja +<br />

Brugere:<br />

2a Navn Ja +<br />

2b Bruger ID/konto nr. Ja +<br />

2c E-mail Ja +<br />

2d Telefonnumre (fastnet og mobil) Ja +<br />

2e PBS aftalenummer Nej +<br />

2f Tilmeldte services Ja +<br />

2g Tilmeldings dato Ja +<br />

2h Frameldings dato Ja +<br />

2i Kommentarfelt Nej +<br />

Funktionaliteter:<br />

3a Adresser oprettes vha. relationer mellem husnumre, etager og sider Ja +<br />

3b Foreninger tilknyttes adresser Ja +<br />

3c Foreninger skal have tilknyttet x-felter Nej +<br />

3d X-felter skal have tilknyttet netværksudstyr Ja +<br />

3e<br />

Det skal være muligt at uploade et billede, som viser placeringen af<br />

krydsfeltet i ejendommen<br />

Ja +<br />

3f<br />

Man skal kunne forbinde de forskellige krydsfelter i systemet med den type<br />

af fiberflow/lysleder som er brugt<br />

Nej +<br />

3g<br />

OPTIONAL Brugeren skal kunne vælge hvilket rør i fiberflowen som er<br />

brugt<br />

Nej +<br />

3h OPTIONAL Brugeren skal kunne indsætte fordelerdåser på en fiberflow Nej +<br />

3i<br />

OPTIONAL Brugeren skal kunne vælge hvilken type fiber, der er blæst i<br />

røret<br />

Nej +<br />

3j<br />

OPTIONAL Brugeren skal kunne vælge hvor mange fibre som er splidset<br />

og hvilke som er i brug<br />

Nej +<br />

Liste over netværksudstyr:<br />

4a Switche Ja +<br />

4b Audiocodes Ja +<br />

4c UPS’e Ja +<br />

4d Fiberflow Nej +<br />

Liste over telefonnumre i systemet:<br />

5a Man skal kunne tilføje enkeltnumre og indikere om de er porteret eller ej Ja +<br />

5b Man skal kunne tilføje en hel nummerserie (fra nr. til nr.) Ja +<br />

5c<br />

Man skal kunne sætte et tidsrum som numre skal henligge, før de må<br />

bruges igen<br />

Nej +<br />

5d<br />

Man skal kunne nedlægge numre og indikere, om de skal udporteres eller<br />

må genbruges<br />

Delvist +<br />

Liste over e-mail i systemet:<br />

6a Brugeren skal selv kunne oprette en e-mailadresse (simuleres) Nej +<br />

6b<br />

Brugerens e-mailadresse(r) nedlægges 6. mdr. (eller en periode som kan<br />

ændres) efter opsigelse<br />

Nej +<br />

Søgninger:<br />

7a Foreningskontorer/kontaktpersoner Nej +<br />

7b Udstyrsspecifik Nej +<br />

7c Services specifik Nej +<br />

7d Ledig fiberflow Nej +<br />

Alle lister skal kunne redigeres:<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 48 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

8a<br />

8b<br />

8c<br />

Det skal altid være muligt at tilføje noget nyt (forudsat, at det ikke findes i<br />

forvejen)<br />

Der kan kun fjernes udstyr/adresser/etc., som IKKE har relationer til<br />

noget/nogen<br />

Administrationsdelen skal logføre alle ændringer, så det altid er muligt at<br />

spore, hvilken admin som har foretaget ændringer i oplysninger/relationer<br />

i databasen.<br />

Ja +<br />

Ja +<br />

Delvist +<br />

Online tilmelding:<br />

9a Brugerne i Parknet skal kunne tilmelde sig online og indsættes i databasen Ja -<br />

9b Der skal kun kunne vælges mellem adresser i Parknet Ja -<br />

9c Det skal kunne styres pr. adresse, hvilke services Parknet leverer Ja -<br />

9d Brugerens input skal valideres Ja -<br />

9e Online tilmeldingen skal være nem, overskuelig og se pæn ud Ja -<br />

9f Brugerens password skal autogenereres Ja -<br />

9g Brugeren skal kunne tilmelde sig PBS Ja -<br />

9h Brugeren må ikke kunne oprette sig flere gange via samme browservindue Ja -<br />

SAPS:<br />

10a Brugerne i Parknet skal have adgang til selvbetjening i SAPS Ja -<br />

10b Brugerne skal kunne opsige services i SAPS Ja -<br />

10c<br />

Brugerne skal kunne abonnere på nye services/ændre eksisterende,<br />

bestille fast IP nr., oprette e-mail adresse osv.<br />

Nej -<br />

10d<br />

SAPS skal selv indsætte poster i opkrævninger. Fx gebyr for ændring af TV<br />

pakke<br />

Delvist -<br />

10e Der skal være to do lister Delvist -<br />

10f<br />

Funktioner til bogholder, så der kan køres opkrævning af brugernes<br />

services<br />

Nej -<br />

10g<br />

Brugere skal kunne oprettes via SAPS, tilknyttes en adresse og få<br />

abonnementer (kører i online tilmelding, men endnu ikke i SAPS)<br />

Nej -<br />

10h<br />

Brugere skal kunne meddele flytning via SAPS, så adressen bliver ledig<br />

igen. Funktionen skal også være tilgængelig for bogholderen<br />

Nej -<br />

2e) PBS nummer skal bruges i forbindelse med at køre opkrævninger, som skal sendes til PBS. Jeg<br />

nåede ikke så langt, at dette felt blev relevant.<br />

2i) I stedet for et kommentarfelt har jeg implementeret mulighed for at skrive tickets. Jeg opfatter<br />

tickets som en form for kommentarer.<br />

3c) Krydsfelterne er implementeret, så de hører til en adresse eller en blok – ikke en forening.<br />

3f – 3j + 4d) er ikke implementeret. Dels har Parknet allerede et system til at dokumentere<br />

fiberforbindelser og derudover er hovedparten af Parknets netværk baseret på Extreme switche. Disse<br />

har en funktion som hedder SHOW EDP port X (EDP står for Extreme Discovery Protocol), dvs. at hvis<br />

man kører SHOW EDP på alle backbone porte, vil swithcene kunne tegne netværkstopologien selv.<br />

Derfor har jeg valgt at fokusere andre steder bl.a. på online tilmelding.<br />

6a + b) er ikke implementeret. Jeg havde ikke MySQL adgang til @-mail serveren, hvor jeg kunne have<br />

oprettet mailadresserne.<br />

7) er ikke implementeret. Data er i databasen (dog ikke til 7d), så det er kun et spørgsmål om at få<br />

defineret kriterierne for søgningerne.<br />

8c) er delvist implementeret ved, at SAPS skriver en ticket, når en supporter eller administrator ændrer<br />

brugerens TV pakke. Derudover skrives der også en ticket, når TV pakken er ændret og nogen klikker<br />

”Done” på TV to do listen.<br />

10c) brugeren kan logge ind i SAPS, resten er bare programmering af funktionerne.<br />

10d) der indsættes gebyr for hhv. oprettelse af Internet og TV via online tilmelding og fra SAPS ved<br />

ændring af TV pakke. Dette skal udbygges, så alle tilmeldinger/ændringer til services skrives i<br />

opkrævninger.<br />

10e) der er implementeret TV to do liste, listerne for telefon og Internet ville ligne denne liste.<br />

10f) der er implementeret felter i databasen, så systemet er klar til at køre opkrævningerne. Bl.a. skal<br />

skæringsdato for abonnements start bruges.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 49 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

8 Test<br />

8.1 Indledning<br />

Test skal altid være en fast del af udviklingen. Jeg har for hver ny<br />

komponent eller feature testet, at den virkede korrekt. Disse tests er ikke<br />

nok til at validere et system på SAPS størrelse. Der er for mange<br />

afhængigheder mellem data til, at små enkeltstående test kan blive<br />

afgørende for en konklusion på funktionaliteten af helheden.<br />

Opbygningen af testafsnittet er i høj grad inspireret af opbygningen af IEEE-<br />

829. Jeg har erfaring med brug af denne procedure fra tidligere projekter i<br />

min studietid på DTU.<br />

8.2 Demonstration<br />

SAPS blev demonstreret for nogle af mine kolleger hos Parknet fredag den<br />

17. april 2009. I den forbindelse fremkom mange gode kommentarer og<br />

forslag til ændringer og forbedringer. Der blev fundet én fejl under<br />

demonstrationen, som blev rettet med det samme.<br />

8.3 Brugertest<br />

Brugertest er den test som ligger efter systemtesten. I denne fase testes<br />

systemet med brugerinput for at afprøve samtlige funktioner og sikre at<br />

finde eventuelle fejl, samt klarlægge den overordnede kvalitet af produktet.<br />

Testeren har frie hænder til at teste ud over de givne test cases, for på den<br />

måde at komme til bunds i yderpunkter, hvor der kan opstå fejl. Testen vil<br />

blive udført med nedenstående test cases, fejl rapporteres i fejllisten afsnit<br />

8.4.<br />

8.3.1 Test cases<br />

8.3.1.1 Opret/rediger adresser<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

001 Vælg ”Foreninger, veje, numre, etager og sider” fra<br />

menuen<br />

Det er muligt Pass<br />

002 Tilføj A/B Lindegaarden til SAPS Det er muligt Pass<br />

003 Tilføj Tornsangervej, Kærsangervej og Mågevej til<br />

SAPS<br />

Det er muligt Pass<br />

004 Klik på tilføj ud for veje uden at taste noget input Der oprettes en tom vej Pass<br />

005 Ret adressen til Gransangervej Det er muligt Pass<br />

006 Vælg ”Tilføj/fjern adresser” fra menuen Det er muligt Pass<br />

007 Tilføj Tornsangervej 1 – 13, Gransangervej 1‐3,<br />

Mågevej 20‐22, Kærsangervej 10‐20, stuen – 2. sal, 2<br />

sider, 2400, A/B Lindegaarden<br />

Det er muligt Pass<br />

008 Fjern Tornsangervej 9 2.th og 2. tv Det er muligt Pass<br />

009 Tilføj Tornsangervej 9 – 9, 2. sal – 2. sal, 1 side, 2400,<br />

A/B Lindegaarden og Tornsangervej 11 kld.<br />

Det er muligt Pass<br />

010 Konstatér at alle adresser har en ”Fjern” knap i<br />

kolonnen ”Funktion”<br />

Ja Pass<br />

011 Klik på tilføj uden at vælge noget input Der oprettes ingen adresser Pass<br />

012 Tilføj en adresseserie, hvor ”nr. fra” > ”nr. til ”og<br />

”etage fra” > ”etage til” og 2 sider<br />

Der oprettes ingen adresser Pass<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 50 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

8.3.1.2 Opret/rediger krydsfelter<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

013 Vælg ”Vis/opret krydsfelter” fra menuen Det er muligt Pass<br />

014 Tilføj et krydsfelt på Tornsangervej 7 og Kærsangervej<br />

16, kld., blok 16, 2400<br />

Det er muligt Pass<br />

015 Vælg blok 16 i drop down menuen Der vises to krydsfelter (b16x7 og<br />

b16x16)<br />

Pass<br />

016 Vælg Tornsangervej i drop down menuen Der vises et krydsfelt (b16x7) Pass<br />

017 Vælg Kærsangervej i drop down menuen Der vises et krydsfelt (b16x16) Pass<br />

018 Konstatér at krydsfelterne har en ”Fjern” knap i<br />

kolonnen ”Funktion”<br />

Ja Pass<br />

019 Vælg ”Aktivt udstyr” fra menuen Det er muligt Pass<br />

020 Klik på tilføj uden taste noget input Java exception pga.<br />

nummerformateringsfejl<br />

Pass<br />

021 Tilføj MP 118 ‐ 8 porte, MP 124 – 24 porte, X200‐24 –<br />

24 porte, X200‐48<br />

Det er muligt Pass<br />

022 Ret en af rækkerne i tabellen Det er muligt Pass<br />

023 Ret et af portantallene til en IKKE‐integer Java exception pga.<br />

nummerformateringsfejl<br />

Pass<br />

024 Vælg ”Udstyr i x‐felt” Det er muligt Pass<br />

025 Vælg ”b16x7” fra drop down menuen Der vises udstyr i x‐feltet Pass<br />

026 Tilføj b16e21, b16e22 og b16e23 med admin, admin,<br />

12345, X200‐24, 2006‐10‐01<br />

Det er muligt Pass<br />

027 Tilføj b16t21, b16t22 med admin, admin, 12345, MP<br />

124, 2006‐10‐01<br />

Det er muligt Pass<br />

028 Klik på tilføj uden at taste/angive noget input Java exception pga.<br />

datoformateringsfejl<br />

Pass<br />

029 Klik på tilføj med kun start dato angivet Der oprettes tom linje med kun navn<br />

og start dato udfyldt<br />

Pass<br />

030 Ret den tomme linje til: b16t23 med admin, admin,<br />

12345, MP 118, 2006‐10‐01<br />

Det er muligt Pass<br />

031 Vælg ”Adressedata i x‐felt” Det er muligt Pass<br />

032 Vælg Tornsangervej fra drop down menuen Der vises alle adresser på<br />

Tornsangervej<br />

Pass<br />

033 Klik på ret ud for nr. 1 st. tv. og tilføj datapatch: C1 15,<br />

telepatch: C1 16, vælg b16x7 og sæt medtaginet til: 1<br />

Det er muligt Pass<br />

034 Vælg ”Adresser og porte” Det er muligt Pass<br />

035 Vælg Tornsangervej fra drop down menuen Det er muligt Pass<br />

036 Tilføj Tornsangervej 1 st. tv., b16e22 og port 18<br />

Tilføj Tornsangervej 1 st. tv., b16t22 og port 16<br />

Det er muligt Pass<br />

037 Ret Tornsangervej 1 st. tv., b16t22, port 16 til b16t23 Port nr. drop down menuen skal Pass<br />

(8 ports Audiocode)<br />

skifte fra 16 til ‐‐‐Vælg‐‐‐, da der kun<br />

er 8 porte i det valgte udstyr<br />

038 Ret test case 037 tilbage til b16t22, port 16 Det er muligt Pass<br />

039 Klik på tilføj uden at angive noget input Der bliver ikke tilføjet noget til<br />

tabellen<br />

Pass<br />

040 Tilføj en adresse uden at vælge udstyr og port Der bliver tilføjet en adresse uden<br />

udstyr og port<br />

Pass<br />

041 Klik på ”Vis opret krydsfelter” og vælg blok 16 Der vises to krydsfelter (b16x7 og<br />

b16x16)<br />

Pass<br />

042 Konstatér at krydsfeltet b16x7 ikke længere har en<br />

”Fjern” knap i kolonnen ”Funktion”, da der er<br />

tilknyttet adresser til dette krydsfelt<br />

Ja Pass<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 51 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

8.3.1.3 Rediger services<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

043 Vælg ”Services og priser” fra menuen Det er muligt Pass<br />

044 Ret en service med lovlige input Det er muligt Pass<br />

045 Ret en service og indtast bogstaver i pris kolonnerne Java exception pga.<br />

nummerformateringsfejl<br />

Pass<br />

046 Tilføj en ny linje til tabellen med et FUnique som er i Java exception pga. dobbelt<br />

Pass<br />

brug<br />

oprettelse af et unikt ID<br />

047 Vælg ”Copydan priser” fra menuen Det er muligt Pass<br />

048 Ret en linje med lovlige input Det er muligt Pass<br />

049 Ret en pris til bogstaver Java exception pga.<br />

nummerformateringsfejl<br />

Pass<br />

050 Vælg ”Definer std. services” fra menuen Det er muligt Pass<br />

051 Klik tilføj service ud for en services, hvor statusfeltet<br />

er rødt<br />

Statusfeltet bliver grønt Pass<br />

052 Klik fjern service ud for en service, hvor statusfeltet er<br />

grønt<br />

Statusfeltet bliver rødt Pass<br />

053 Vælg ”Farver til services” fra menuen Det er muligt Pass<br />

054 Ret en farve ved at skrive en gyldig HTML farve i farve<br />

feltet<br />

Farven vises korrekt Pass<br />

055 Ret en farve ved at skrive en ugyldig farve Vist farve er hvid Pass<br />

056 Vælg ”Services pr. adresse” fra menuen Det er muligt Pass<br />

057 Vælg en adresse fra drop down menuen Det er muligt Pass<br />

058 Klik tilføj service ud for en services, hvor statusfeltet<br />

er rødt<br />

Statusfeltet bliver grønt Pass<br />

059 Klik fjern service ud for en service, hvor statusfeltet er<br />

grønt<br />

Statusfeltet bliver rødt Pass<br />

060 Fjern alle services og klik derefter på Tilføj standard Der bliver tilføjet de services som er Pass<br />

services<br />

defineret i ”Definer std. services”<br />

061 Fjern services fra Tornsangervej 1 st. tv. og st. th. Alle statusfelter bliver røde Pass<br />

062 Vælg ”Services pr. forening” fra menuen Det er muligt Pass<br />

063 Vælg A/B Lindegaarden fra drop down menuen og klik Alle adresser i A/B Lindegaarden har Pass<br />

på Tilføj standard services<br />

fået tilføjet standard services<br />

(kontrolleres via ”Services pr.<br />

adresse”)<br />

8.3.1.4 Databasecheck af services<br />

Prækonditioner:<br />

‐ Testeren er logget på MySQL serveren via GUI tools (Query Browser)<br />

‐ Testen udføres lige efter test case 063<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

064 SELECT COUNT(id) FROM standard services; 15 Pass<br />

065 SELECT id, COUNT(FUnique)antal FROM add_yd_rel Værdien i kolonnen ”antal” er det Pass<br />

WHERE id IN (SELECT DISTINCT id FROM add_yd_rel) samme som resultatet fra test case<br />

GROUP BY id;<br />

064 pr. ID<br />

8.3.1.5 Rediger/tilføj telefonnumre og status<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

066 Vælg ”Telefon nr. status” fra menuen Det er muligt Pass<br />

067 Ret en Telefon nr. status Det er muligt Pass<br />

068 Ret en ”Hemmeligt/skjult nummer” Det er muligt Pass<br />

069 Tilføj en ny linje til tabellen Det er muligt Pass<br />

070 Vælg ”Telefon nr. i Parknet” fra menuen Det er muligt Pass<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 52 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

071 Klik på tilføj uden at angive noget input Java exception pga.<br />

nummerformateringsfejl<br />

Pass<br />

072 Tilføj fra nr. 82300300 til 82300302 Numrene bliver tilføjet Pass<br />

073 Ret et telefonnummer med gyldige input Det er muligt Pass<br />

074 Ret et telefonnummer med ugyldige datoer Java exception pga.<br />

datoformatteringsfejl<br />

Pass<br />

8.3.1.6 Rediger valideringsstrenge<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

075 Vælg ”Valideringsstrenge til online opret” fra menuen Det er muligt Pass<br />

076 Ret valideringsstrengen til navn Det er muligt Fail 1<br />

077 Ret valideringsstrengen til telefon nr. Det er muligt Pass<br />

078 Ret valideringsstrengen til e‐mail Det er muligt Fail 2<br />

8.3.1.7 Rediger MIB’er<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

079 Vælg ”MIB’er til SNMP” fra menuen Det er muligt Pass<br />

080 Ret MIB til status Det er muligt Pass<br />

081 Ret MIB til åben port Det er muligt Pass<br />

082 Ret MIB til luk port Det er muligt Pass<br />

8.3.1.8 Rediger ticket typer<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

083 Vælg ”Rediger ticket typer” fra menuen Det er muligt Pass<br />

084 Ret navnet på en ticket Det er muligt Pass<br />

085 Tilføj en ny ticket type Det er muligt Pass<br />

8.3.1.9 Bogholder funktioner<br />

Prækonditioner:<br />

‐ Administrator eller bogholder er logget ind<br />

‐ Der er datoer i systemet<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

086 Vælg ”Start og opsigelses datoer” fra menuen Det er muligt Pass<br />

087 Ret et navn og en dato med korrekt datoformat Det er muligt Pass<br />

088 Ret et navn og en dato med forkert datoformat Java exception pga.<br />

datoformateringsfejl<br />

Pass<br />

089 Vælg ”Opkrævninger” fra menuen Det er muligt Pass<br />

8.3.1.10 Vis/ret/tilføj bruger<br />

Prækonditioner:<br />

‐ Administrator er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

090 Vælg ”Vis/ret/tilføj brugere” fra menuen Det er muligt Pass<br />

091 Opret en ny bruger uden at udfylde felter Der bliver ikke oprettet en ny bruger Pass<br />

092 Opret en ny bruger med angivelse af navn, efternavn<br />

og administratorrolle<br />

Brugeren bliver oprettet Pass<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 53 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

093 Opret en ny bruger med angivelse af navn, efternavn, Java exception pga. incorrect integer Pass<br />

rolle og fjern de to nuller i telefon og mobil<br />

value<br />

094 Deaktiver den bruger som blev oprettet i test case<br />

092<br />

Brugeren bliver deaktiveret Pass<br />

095 Prøv at logge ind i SAPS med brugerens som blev<br />

inaktiveret i test case 094<br />

Det er ikke muligt Pass<br />

096 Vælg ”Vis roller” fra menuen Det er muligt Pass<br />

8.3.1.11 TO DO TV<br />

Prækonditioner:<br />

‐ Administrator eller supporter er logget ind<br />

‐ Der er data i TO DO listen<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

097 Vælg ”TO DO TV” fra menuen Det er muligt Pass<br />

098 Klik på et link i kolonnen x‐felt Der vises et oversigtbillede af<br />

krydsfeltet<br />

Pass<br />

099 Klik på Done Rækken forsvinder fra tabellen Pass<br />

100 Tjek at sorteringen af rækkerne følger: dato, postnr,<br />

intersection, adresse (stigende)<br />

Sortering er korrekt Pass<br />

8.3.1.12 Søg adresser og brugere<br />

Prækonditioner:<br />

‐ Administrator, bogholder eller supporter er logget ind<br />

‐ Der er oprettet adresser og nogle brugere har aktive services<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

101 Vælg ”Søg adresser og brugere” fra menuen Det er muligt Pass<br />

102 Indtast torn og klik søg Der vises alle adresser på<br />

Tornsangervej.<br />

Pass<br />

103 Indtast torn og nr. 1 og klik søg Der vises alle adresser på<br />

Tornsangervej nr. 1<br />

Pass<br />

104 Hvis der er aktive services er feltet i kolonne aktive<br />

yd. grønt ellers rødt<br />

Ja Pass<br />

105 Klik på et link i kolonnen x‐felt Der vises et oversigtbillede af<br />

krydsfeltet<br />

Pass<br />

106 Klik på Tornsangervej 1 st. tv. Der vises alle detaljer om brugeren,<br />

tickets og valgte services på adressen.<br />

Pass<br />

107 Hvis servicen er tilmeldt, er feltet under kolonnen tilm<br />

status grønt ellers rødt<br />

Ja Pass<br />

108 Akt. status er sort, rød eller grøn (jf. de farver som er<br />

angivet under ”Farver til services”. På server console<br />

køres SNMP kommando til at finde portens status<br />

(forudsat at der er oplysninger om switch og port)<br />

Ja Pass<br />

109 Hvis der kan tilmeldes Internet til adressen og der er<br />

aktivt udstyr tilknyttet til adressen, er der to knapper<br />

til hhv. åben port og luk port. Ved at klikke på<br />

knapperne køres SNMP kommandoer på server<br />

console.<br />

Ja Pass<br />

110 Hvis der er tilmeldt telefon vises<br />

Ja (virker kun hvis LOCALHOST har Pass<br />

abonnementsoplysninger og telefonsaldo<br />

adgang gennem Parknets firewall til<br />

Miralix serveren!)<br />

111 Hvis der kan tilmeldes TV på adressen og der er<br />

tilmeldt en bruger er der en ret knap<br />

Ja Pass<br />

112 Ret TV, vælg pakkeskift dato og en anden TV pakke Tilmeldingsdato ændres, pakkeskift<br />

dato og skift TV pakke til bliver sat og<br />

der oprettes en ticket<br />

Pass<br />

113 Tjek i opkrævninger at der er tilføjet en opkrævning<br />

for skift af TV pakke<br />

Ja Pass<br />

114 Tilføj en ny ticket Det er muligt Pass<br />

115 Tilføj en ny ticket uden at vælge type Der bliver ikke tilføjet en ny ticket Pass<br />

116 Tilføj en ny ticket uden indhold Det er muligt Pass<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 54 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

8.3.1.13 Vis/ret bruger<br />

Prækonditioner:<br />

‐ Bogholder eller supporter er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

117 Vælg ”Vis/ret brugere” fra menuen Det er muligt Pass<br />

118 Vælg at rette en bruger Det er muligt (med undtagelse af<br />

aktiv og rolle)<br />

Pass<br />

119 Ret en bruger med lovlig input Det er muligt Pass<br />

120 Ret en bruger med tekst i stedet for telefonnummer Java exception pga. incorrect integer<br />

value<br />

Pass<br />

8.3.1.14 Online tilmelding<br />

Prækonditioner:<br />

‐ Der er oprettet adresser i SAPS hvor showinet er 1 og der er tilknyttet standard<br />

services<br />

‐ Der er ikke oprettet en bruger på den valgte adresse<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

121 Vælg postnr. 2400 Gadevælger aktiveres Pass<br />

122 Vælg Tornsangervej Adressevælger og ”næste” aktiveres Pass<br />

123 Vælg Tornsangervej 1 st. tv. Det er muligt Pass<br />

124 Klik næste Trin 2 aktiveres med mulighed for at<br />

vælge Internet, telefon og TV<br />

abonnement<br />

Pass<br />

125 Udfyld fornavn og efternavn Teksten “Du skal skrive for‐ og<br />

efternavn før du kan klikke næste”<br />

forsvinder<br />

Pass<br />

126 Udfyld mobil tlf., fastnet tlf. med flere tal end 8 Det er ikke muligt Pass<br />

127 Udfyld mobil tlf. med 112 og angiv en ugyldig e‐mail Det er muligt Pass<br />

128 Vælg Internet, telefon og TV abonnement Ved valg af den første service skal<br />

teksten ”Du skal vælge mindst én<br />

service før du kan klikke næste”<br />

forsvinde<br />

Pass<br />

129 Vælg flat rate, portering af nummer, kvartalsvis Der skal komme fejlmeddelelse om at Pass<br />

betaling, stor pakke, start 1. juni og klik næste mobil tlf. og e‐mail er ugyldig<br />

130 Ret mobil nr. til 221 og klik næste Der skal komme fejlmeddelelse om at<br />

mobil tlf. er for kort og e‐mail er<br />

ugyldig<br />

Pass<br />

131 Ret mobil nr. til lovlig input fx 22222222 og e‐mail til Der skal komme fejlmeddelelse om at Pass<br />

”mig” og klik næste<br />

e‐mail er for kort<br />

132 Ret e‐mail til lovligt input og klik næste Trin 3 aktiveres og valgene fra trin 2<br />

vises korrekt<br />

Pass<br />

133 Klik tilbage Trin 2 vises korrekt med de samme<br />

valg fra tidligere<br />

Pass<br />

134 Klik næste Trin 3 vises igen Pass<br />

135 Sæt flueben ud for ”Jeg accepterer Parknets<br />

abonnementsvilkår og priser”<br />

Teksten ”Du skal acceptere<br />

abonnementsvilkårene før du kan<br />

klikke næste” forsvinder<br />

136 Klik næste Trin 4 aktiveres og brugeren får vist<br />

sit brugernummer, password og link<br />

til PBS tilmelding<br />

137 Klik Tilmeld dig til Betalingsservice De preudfyldte felter er udfyldt<br />

korrekt og brugeren skal kun udfylde<br />

cpr. nr., reg. nr. og konto nr.<br />

138 Opret en bruger på en adresse, hvor der allerede er<br />

en aktiv bruger<br />

Brugeren får besked om, at der er en<br />

tilmeldt bruger på adressen og at<br />

bestillingen er lagt i kø. Brugeren får<br />

vist sit brugernummer, password og<br />

link til PBS tilmelding<br />

139 Klik på browserens tilbage knap i trin 4 Det er muligt – trin 3 vises Pass<br />

140 Klik på enten tilbage eller næste i online tilmeldingen Brugeren får besked om at<br />

oprettelsen er sket og at browserens<br />

tilbage knap ikke må bruges<br />

Pass<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 55 af 80<br />

Pass<br />

Pass<br />

Pass<br />

Pass


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

8.3.1.15 Opsig services<br />

Prækonditioner:<br />

‐ En bruger med aktive services er logget ind<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

141 Vælg ”Opsig services” fra menuen Det er muligt Pass<br />

142 Ud for hver aktiv service står tilmeldingsdato og der<br />

er en Frameld knap<br />

Ja Pass<br />

143 Klik på Frameld Der vises en drop down menu med<br />

opsigelsesdatoer samt en ja og nej<br />

knap<br />

Pass<br />

144 Vælg 31. marts og klik Ja NOTE:<br />

Servicen er blevet opsagt til:<br />

Pass<br />

Hvis datoen er tidligere på året end d.d. vil der blive 31/3‐2010 og Frameld knappen er<br />

lagt et år til. Dvs. når testen køres i april 2009, vil<br />

opsigelsesdatoen blive 31/3‐2010.<br />

væk<br />

8.3.1.16 Test af sikkerhed<br />

Prækonditioner:<br />

‐ En supporter er logget ind (til test case 146), ellers ingen prækonditioner<br />

Test case Bruger interaktion Forventet output Svar Fejl<br />

nr.<br />

nr.<br />

145 Indsæt følgende streng i feltet fornavn eller efternavn i Der star alert('hacket!'); og scriptet er Pass<br />

online tilmeldingens trin 2 og klik næste:<br />

alert('hacket!');<br />

ikke blevet eksekveret<br />

146 Indsæt følgende streng i browseren<br />

Supporteren får vist velkomstsiden Pass<br />

http://localhost:8080/saps/authorized_users/AdministratorArea/users.jsp<br />

Hvis det virker, vil supporteren kunne ændre sine<br />

brugerrettigheder i SAPS<br />

og stien i browseren er:<br />

http://localhost:8080/saps/<br />

authorized_users/welcome.jsp<br />

147 Prøv følgende brugernummer og password ved login til<br />

SAPS:<br />

User: 1' or '1' = '1<br />

Password: 1' or '1' = '1<br />

Systemet giver ikke adgang Pass<br />

148 Indsæt følgende streng i browseren (uden at være<br />

logget ind):<br />

http://localhost:8080/authorized_users/images/1.jpg<br />

Hvis systemet giver adgang, vises et billede af<br />

krydsfeltet<br />

Systemet giver ikke adgang Pass<br />

8.4 Fejlrapportering og fejlliste<br />

Hver fejl får tilknyttet sin egen fejl rapport. I dette afsnit samles alle fejl,<br />

som er fundet i alle test. Det giver et hurtigt overblik over det samlede<br />

antal fejl, der er i systemet.<br />

Fejl deles op i 3 kategorier, som beskriver konsekvensen af fejlen.<br />

Fejl kategori Beskrivelse<br />

Fatal Funktionsforstyrrende fejl der er af så alvorlig karakter at data mistes og/eller programmet låses.<br />

Alvorlig Fejl der ikke kan klassificeres i de to ydergrupper.<br />

Mindre alvorlig Små fejl som ikke er funktionsforstyrrende såsom Stavefejl og lign.<br />

Figur 20 - Opdeling af fejl efter kategorier<br />

Fejlene samles for at give et helhedsindtryk over hvor stabilt systemet er.<br />

Fejllisten bruges også som et værktøj, hvor udvikleren kan se hvilke ting<br />

der mangler at blive rettet, inden produktet kan godkendes og leveres til en<br />

evt. kunde. Nedenstående figur viser hvordan jeg har udnyttet et<br />

iterationsbaseret udviklingsprincip.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 56 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Figur 21 - Livscyklus for fejl<br />

Fejl−ID Beskrivelse af fejl Fejl<br />

niveau<br />

1 Valideringsstrengen til navn bliver ikke vist korrekt ved klik på ret. Alt efter ” ’ ” mangler. Hvis man<br />

klikker ok, bliver strengen til NULL. Ved forsøg på at genoprette strengen giver databasen følgende<br />

fejl:<br />

WARNING: Parameters: Character decoding failed. Parameter skipped.<br />

Alvorlig<br />

2 Valideringsstrengen til e‐mail ser ud til at blive vist korrekt. Der mangler dog en del ”\” som escape<br />

tegn til andre relevante tegn. Ved forsøg på at indsætte ekstra ”\” bliver de fjernet i forbindelse med<br />

skrivning til databasen. Selv om valideringsstrengen ser OK ud, bliver det umuligt at få valideret en<br />

lovlig e‐mail korrekt i online tilmeldingen. Brugeren kan dog undlade at indtaste sin e‐mail og komme<br />

videre på den måde.<br />

Valideringsstrengene kan dog indsættes i databasen igen via Query Browseren<br />

Alvorlig<br />

Aktuelle kendte fejl i systemet:<br />

Fejl kategori Antal<br />

Fatal 0<br />

Alvorlig 2<br />

Mindre alvorlig 0<br />

8.5 Test konklusion<br />

Undervejs i udviklingen af SAPS, har jeg testet delkomponenterne i takt<br />

med, at de blev færdige. Det har medført, at helheden har kunnet bestå en<br />

kompleks test med meget få fejl. Jeg har kørt 148 test cases og har også<br />

testet ud over, hvad test casene har beskrevet.<br />

De to alvorlige fejl, som blev fundet, kan undgås ved, at administrator IKKE<br />

retter i valideringsstrengene for navn og e-mail via SAPS.<br />

Nogen vil sikkert mene, at det ikke er tilfredsstillende, at bruge Javas<br />

exception beskeder som fejlmeddelelse fx number format exception. Men<br />

som beskrevet under implementeringen var det et bevidst valg, at lægge<br />

fokus på brugervenlige fejlmeddelelser i online oprettelsen og acceptere<br />

visse mangler i administrationsdelen.<br />

Jeg mener at have testet så bredt og dybt, at jeg har klarlagt de fejl som<br />

systemet har p.t. På den baggrund er anbefalingen, at valideringsstrengene<br />

ikke rettes. Systemet er stabilt og fejlfrit nok til at vise hvordan et nyt<br />

brugeradministrationssystem med integreret online tilmelding til Parknet<br />

kan se ud.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 57 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

9 Forslag til forbedringer af SAPS<br />

- Bedre søge/sorterings funktioner, det skal være muligt for brugerne<br />

af SAPS at opstille deres egne kriterier for søgning/sortering.<br />

- Mulighed for til- og fravalg af kolonner i listevisning.<br />

- Hvis support telefonen blev tilkoblet SAPS, ville det blive muligt for<br />

systemet at søge efter brugeren via nummeret. Når supporteren så<br />

svarer telefonen, vil SAPS allerede have fundet brugerens oplysninger<br />

frem på skærmen (forudsat at nummeret er i SAPS).<br />

- Brugeren skal have adgang til meget mere via selvbetjening. Ændring<br />

af brugeroplysninger, flytte adresse fra et sted i Parknet til et andet,<br />

vise saldo på telefonkonto, overdrage sit abonnement til ny indflytter,<br />

booke teknikerbesøg, bestille et fast IP nr., se sine tickets og oprette<br />

en ny og meget andet.<br />

- Bogholderfunktioner skal implementeres fuldt, så der kan køres<br />

opkrævninger. SAPS skal vise, hvis en bruger er i restance.<br />

- SAPS skal udføre SNMP kommandoerne i praksis.<br />

- SAPS skal integreres med @mail, så brugerne selv kan oprette emailadresser<br />

og systemet kan nedlægge dem, når brugeren er flyttet.<br />

- SAPS skal integreres endnu mere med Miralix, så brugerne selv kan<br />

vælge et ledigt telefonnummer og aktivere det.<br />

- SAPS skal have indbygget kalender til bookning af teknikerbesøg.<br />

- En supporter/administrator skal kunne indføre i SAPS kalenderen,<br />

hvilke dage han/hun har tider til teknikerbesøg.<br />

- Dokumentationen af krydsfelter skal udvides til også at omfatte<br />

backbone forbindelse, herunder fiberflow med ledige rør, ledige fibre,<br />

splidsninger og hvad hver tråd er brugt til (TV eller data).<br />

- Sprogpakke til onlinetilmeldingen, så den kan oversættes til alle de<br />

sprog Parknet har lyst til. Der er mange brugere på Nørrebro med<br />

anden etnisk baggrund.<br />

- Mulighed for at en administrator kan varsle udfald på en bestemt<br />

netværkskomponent eller krydsfelt, hvorefter brugerne kan se i SAPS<br />

om de bliver berørt.<br />

- Der skal kunne sætte en deadline for gratis tilmelding af en ny<br />

forening, så online tilmelding automatisk viser, at tilmelding er gratis.<br />

- Tickets skal kunne løses (p.t. kan de kun oprettes).<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 58 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

- Hvis en ny bruger vælger at få flyttet et telefonnummer til Parknet,<br />

skal brugeren præsenteres for et link til porteringsformularen i online<br />

tilmeldingen.<br />

- Det må ikke være muligt at tilknytte den samme port i en switch til<br />

mere end én adresse.<br />

- I stedet for at lægge kort ind med placering af et krydsfelt, skal<br />

koordinatet lægges ind, systemet skal derefter selv vise krydsfeltet<br />

på kort via fx krak eller Google maps.<br />

- Der skal være mulighed for at definere flere sæt ”Standard services”.<br />

- Bedre fejlmeddelelse ved fejl i login. Det ville rart med en melding<br />

om, hvorvidt det er brugernavn, adgangskode eller evt.<br />

databaseforbindelsen, der er noget galt med.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 59 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

10 Procesafsnit<br />

I dette kapitel vil jeg beskrive, processen omkring udviklingen af SAPS. Jeg<br />

har primært benyttet mig af iterationsbaseret udvikling. Det har jeg gjort<br />

ved at inddele projektet i overskuelige dele. For hver del har jeg testet<br />

resultatet og efter tilfredsstillende test fortsat til næste del. I forbindelse<br />

med test af næste del, har jeg flere gange oplevet, at det har været<br />

nødvendigt at ændre noget i den forrige del. Det har ikke været noget<br />

problem og har ikke forsinket projektet. Rettelserne er blevet udført som en<br />

del af opgaverne med den næste iteration.<br />

Jeg er selv meget tilfreds med denne måde at udvikle på, netop fordi der er<br />

stor fleksibilitet i forhold til afklaring af uhensigtsmæssigheder og rettelse af<br />

disse undervejs i processen. Selv om jeg har været alene om projektet,<br />

mener jeg stadig at udviklingsmetoden også er velegnet i store<br />

udviklingsmiljøer.<br />

Overordnet har tidsplanen været start 1. februar og aflevering 1. maj.<br />

Detaljeret tidsplan for projektet har været som følger:<br />

Punkt Deadline Status<br />

Start 01/02-09 OK<br />

Analyse klar 20/02-09 OK<br />

Design klar 01/03-09 Forsinket<br />

Påbegynd implementering af SAPS 01/09-09 OK<br />

Kollokvium med vejleder 18/03-09 OK<br />

Påbegynd implementering af online opret 20/03-09 OK<br />

Codefreeze 08/04-09 Forsinket<br />

Test 19/04-09 OK<br />

Retning af småfejl Løbende OK<br />

Rapport klar til gennemlæsning og<br />

kommentering<br />

26/04-09<br />

Forsinket<br />

til 28/04<br />

Aflevering af rapport (DTU har lukket 1. maj) 01/05-09<br />

Flyttet<br />

04/05<br />

til<br />

Deadlines har været sat tidligt og lidt optimistisk, men gennem erfaring fra<br />

5 semestre på DTU, har det vist at være en god måde at få tingene gjort<br />

på. Derfor er det ikke tale om store ændringer til planen, når en deadline<br />

ikke er overholdt.<br />

Jeg har ikke udarbejdet nogen risikoanalyse for dette projekt. Det skyldes,<br />

at jeg for at blive ingeniør, skal færdiggøre og aflevere projektet til den<br />

aftalte deadline.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 60 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

11 Konklusion<br />

Succeskriteriet i kapitel 3.2 var: ”At SAPS kan bruges af Parknet.”<br />

Jeg kan konkludere at succeskriteriet ikke er opfyldt.<br />

SAPS vil ikke kunne bruges af Parknet til at afløse Winkas endnu. Det er der<br />

en række årsager til:<br />

- der mangler funktionalitet til at køre opkrævninger<br />

- der mangler funktionalitet til at tilmelde/framelde services<br />

- der mangler funktionalitet til at tilmelde/framelde brugere<br />

- der findes ingen automatiseret proces til at flytte data fra Winkas til SAPS<br />

- SAPS har ikke felter til oplysning om Matra og Philips tlf. centraler<br />

Dele af SAPS vil kunne gøre Winkas bedre, hvis de blev skilt ud i<br />

selvstændige programmer/metoder, som skrev data i et eller flere felter i<br />

Winkas databasen.<br />

Der er dog ingen tvivl om at tiden brugt på at færdiggøre og implementere<br />

SAPS vil tjene sig selv hjem over tid fra det øjeblik, hvor SAPS sættes i<br />

drift.<br />

Forventet tidsbesparelse (ca. tider) pr.:<br />

- Telefonoprettelse: 10 min<br />

- Internetoprettelse: 2 min<br />

- Onlineoprettelse (kun brugeren): 2 min<br />

- TV pakkeskift: 2 min<br />

- Overskuelighed pga. farver: ?<br />

- Printoption: 1 min (sparer ”print screen” og paste)<br />

Det opstillede formål i kapitel 3.1 var:<br />

At vise, hvordan mange systemer udviklet i forskellige programmeringssprog<br />

og kørende på forskellige styresystemer, kan samles i et system med<br />

en fælles brugergrænseflade.<br />

Jeg kan konkludere at formålet er opfyldt. Via SAPS kan der hentes saldo på<br />

telefonkontoen i Miralix, der er data til stede i SAPS til, at systemet i<br />

fremtiden vil kunne oprette telefonnumre automatisk. Ligeledes er der data<br />

klar til at sende korrekte SNMP kommandoer og dermed automatisere<br />

åbning og lukning af brugeres Internet.<br />

Jf. (5) består projekter af tre dele: Mennesker, systemer og organisationen.<br />

SAPS er i dette tilfælde systemet, organisationen er Parknet og<br />

menneskerne er de ansatte. Hvis SAPS blev implementeret ville det ændre<br />

systemerne, da det erstatter et eksisterende og samtidigt gør tingene på en<br />

ny måde. Menneskerne ville blive påvirket ved ændrede arbejdsgange, da<br />

SAPS automatiserer meget af det manuelle arbejde. Organisationen vil blive<br />

styrket, da medarbejderne kan nå mere.<br />

Udfordringen vil blive at indfase systemet, så alle kan følge med og vænne<br />

sig til ændringerne det medfører.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 61 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

12 Spørgsmål og svar med Parknets chef<br />

Svarene er indsat ved spørgsmålet med fed skrift.<br />

- Hvorfor er Parknet aldrig blevet automatiseret? Herunder:<br />

o Nem oprettelse af et telefonnummer, ved at systemet opretter brugeren<br />

fra Winkas i Miralix, finder ledige telefonnumre at vælge imellem,<br />

indsætter telefonnummeret i Miralix og Winkas, styrer lokalnumre uden<br />

menneskelig indblanding og sætter opkrævninger korrekt i Winkas.<br />

o Et system med ét kliks åbning og lukning af porte til Internet.<br />

o Natlig kørsel med åbning og lukning af switch porte afhængig af<br />

tilmeldingsstatus.<br />

Samlet svar på ovenstående – det har ikke været prioriteret og<br />

datagrundlaget har ikke været godt nok tidligere (det nærmer sig).<br />

- Der er forskel på en udgift og en mistet indtægt, men er gratister OK (aktuelt de<br />

steder hvor porten er åben uden tilmeldt bruger)? Tjoh<br />

- Er Parknet med de nuværende administrationssystemer klar til øget vækst? Ja<br />

- Hvor god er dokumentationen af Parknets (angivet i procent):<br />

o <strong>Tekniske</strong> procedurer? 80 %<br />

o Administrative procedurer? 50 %<br />

o Fiberflow? 20 %<br />

o Ledige/brugte lysledere? 20 %<br />

o Udstyr i krydsfelter? 60 %<br />

På en skala fra 1 til 10 (hvor 10 = øjeblikkelig lukning af Parknet), hvor ville Parknet<br />

være på skalaen, hvis de to projektledere Anders og Simon blev ramt af hver sin bus<br />

eller tagsten og døde samtidigt? 3 - 4<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 62 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

13 Anbefaling til Parknet<br />

På baggrund af denne rapport, vil jeg anbefale Parknet, at sætte et system<br />

á la SAPS i drift. Systemet bør udvikles af Parknet selv. For at mindske<br />

udviklingsomkostningerne, vil jeg foreslå, at Parknet benytter sig af<br />

ingeniørpraktikanter fra Diplom IT retningen på DTU. Disse unge mennesker<br />

skal i praktik i 5 måneder, som en del af studiet og skal have ca. 12.000 -<br />

15.000 kr./md. i løn.<br />

Der er mulighed for at indgå længerevarende samarbejde med DTU, så<br />

Parknet for hvert semester kan komme med et aktuelt opslag om, hvilke<br />

projekter der kan være af interesse for de studerende.<br />

Når SAPS er i drift, vil der selvfølgelig være brug for løbende opdateringer.<br />

Dernæst er der både praktiske og programmerings opgaver.<br />

Programmeringsopgaverne er bl.a.<br />

- Kør SNMP kommandoer via Java<br />

- Hent port status for alle switche i Parknet og sammenlign dem med<br />

tilmeldingsstatus<br />

- Kør automatisk åbning og lukning af porte hver midnat<br />

- Software dokumentering af lysledernetværk<br />

De praktiske opgaver dækker over at få indtastet oplysninger i SAPS om<br />

krydsfelter og ledig/brugt lysleder. Det vil kræve besøg i samtlige<br />

krydsfelter, men der kan nås meget på 5 måneder (ingeniørpraktikkens<br />

varighed).<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 63 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

14 Lister<br />

14.1 Litteratur liste<br />

1. Larman, Craig. Applying UML and Patterns: An Introduction to Object‐Oriented Analysis and<br />

Design and Iterative Development. Third Edition. s.l. : Addison Wesley Professional, 2004. p.<br />

736. ISBN: 0‐13‐148906‐2.<br />

2. Connolly, Thomas M. and Begg, Carolyn E. Database Systems: A Practical Approach to<br />

Design, Implementation and Management. s.l. : Addison‐Wesley, May 2004. p. 1374. ISBN: 0‐<br />

32‐121025‐5.<br />

3. Lewis, John and Loftus, William. Java software solutions foundations of program design<br />

Fourth edition. s.l. : Pearson Addison Wesley, 2005. p. 909 ISBN: 0‐321‐31246‐5.<br />

4. Graba, Jan. An Introduction to Network Programming with Java. s.l. : Springer, 2006. p. 423<br />

ISBN: 1‐84628‐380‐9.<br />

5. Andersen, Erling and Grude, Kristoffer and Haug, Tor. Goal directed project management.<br />

Third edition s.l. : Kogan Page, 2004. p. 247 ISBN: 0‐7494‐4186‐0.<br />

6. Globalconnect. http://www.globalconnect.dk<br />

14.2 Forkortelser brugt i rapporten<br />

PK Private key<br />

FK Foreign key<br />

SP Stored Procedure<br />

SAPS Sammenbinding af Parknets systemer<br />

NF Normal Form<br />

COTS Commercially Of The Shelf<br />

SNMP Simple Network Management Protocol<br />

14.3 Figurliste<br />

Figur 1 - Billeder af krydsfelter.................................................................................... 9<br />

Figur 2 - Screen dump af Winkas søgeoversigt .............................................................11<br />

Figur 3 - Screen dump af Winkas konto 4878 ...............................................................11<br />

Figur 4 - Screen dump af Miralix velkomstbillede ..........................................................12<br />

Figur 5 - Screen dump af @-mail - tilføj ny bruger ........................................................13<br />

Figur 6 - Domænemodel ...........................................................................................16<br />

Figur 7 – Model af det fysiske design i Parknet .............................................................19<br />

Figur 8 - Use case diagram........................................................................................20<br />

Figur 9 - ER-diagram for relationen addressrel med tilhørende tabeller ............................28<br />

Figur 10 - ER-diagram for relationen intersections med tilhørende tabeller .......................28<br />

Figur 11 - ER-diagram for resten af tabellerne..............................................................29<br />

Figur 12 - Sitemap over designet ...............................................................................31<br />

Figur 13 - Designklassediagram for SAPS ....................................................................32<br />

Figur 14 - Designklassediagram for online tilmelding.....................................................33<br />

Figur 15 - Implementeringen af relationen addressrel med tilhørende tabeller...................35<br />

Figur 16 - Implementeringen af relationen intersections med tilhørende tabeller ...............36<br />

Figur 17 - Diagram for implementeringen af resten af tabellerne.....................................37<br />

Figur 18 - Sitemap over implementerede filer ..............................................................39<br />

Figur 19 - Statediagram for online tilmeldingen ............................................................47<br />

Figur 20 - Opdeling af fejl efter kategorier ...................................................................56<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 64 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Figur 21 - Livscyklus for fejl ......................................................................................57<br />

15 Bilag<br />

15.1 Bilag 1 – Projektoplæg<br />

Design af et netværks- og brugeradministrationssystem. Det nuværende<br />

system heder Winkas Pro og er udviklet af en dansk virksomhed i<br />

Frederikshavn (se mere på www.winkas.dk).<br />

Databasen til systemet skal bestå af to dele:<br />

1) Netværks- og installationsdata som er statisk<br />

2) Brugerdata som er tilknyttet en installation og er dynamisk (brugere<br />

kommer og går)<br />

Databehandlingssystemet (user interface) skal bestå af to dele<br />

(programmeres som en webapplikation):<br />

1) Administrationsdel, hvorfra brugernes data kan hentes. Brugere kan<br />

inaktiveres (aldrig slettes), opdateres og oprettes. Nye foreninger kan<br />

tilføjes i systemet med alle netværksdata.<br />

2) Brugerdel, hvorfra brugere kan oprette/tilmelde sig Parknet og få vist<br />

priser. Brugere kan opdatere sine oplysninger, ændre abonnementer,<br />

opsige abonnementer og foretage intern flytning i Parknet.<br />

Umiddelbart består opgaven i at designe databasen og dernæst<br />

webapplikationen. Det lyder ikke af så meget, men det bliver det når man<br />

tager med i betragtningen, at systemet skal indeholder alle former for<br />

netværksudstyr (switche og telefoncentraler) samt at det skal være muligt<br />

at tilføje/fjerne samt redigere relationer på kryds og tværs.<br />

Vedligeholdelsen af systemet skal kunne foretages fra webapplikationen,<br />

det er et krav, at brugeren ikke behøver at have programmørkendskab.<br />

Derudover skal der tages højde for, hvornår en bruger kan inaktiveres eller<br />

flyttes. Der skal konfigureres et REALM til login til hhv. administratorer og<br />

brugere. Foreninger med services fra Parknet må ikke kunne slettes fra<br />

netværksdatabasen. Der er mange faktorer at tage højde for.<br />

Platforme til opgaven vil blive:<br />

- MySQL 5 database<br />

- Tomcat 6 webserver<br />

- Eclipse 3.3 eller 3.4<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 65 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Kravspecifikation til ”WINKAS version 2”:<br />

Databasen skal indeholde følgende data:<br />

Netværksinstallationer:<br />

- Adresse<br />

- Netværksdata<br />

- Services som kan vælges til adressen<br />

Brugere:<br />

- Navn<br />

- Bruger ID/konto nr.<br />

- E-mail<br />

- Mobiltelefon nummer<br />

- Telefon nummer<br />

- PBS aftale nummer<br />

- Tilmeldte services<br />

- Tilmeldings dato<br />

- Frameldings dato<br />

- Kommentarfelt<br />

Funktionaliteter:<br />

- Adresser oprettes vha. relationer mellem husnumre, etager og sider<br />

- Foreninger tilknyttes adresser<br />

- Foreninger skal have tilknyttet krydsfelter<br />

- Krydsfelter skal have tilknyttet netværksudstyr<br />

- Det skal være muligt at uploade et billede, som viser placeringen af<br />

krydsfeltet i ejendommen<br />

- Man skal kunne forbinde de forskellige krydsfelter i systemet med<br />

den type af fiberflow/lysleder som er brugt<br />

- OPTIONAL Brugeren skal kunne vælge hvilket rør i fiberflowen som<br />

er brugt<br />

- OPTIONAL Brugeren skal kunne indsætte fordelerdåser på en<br />

fiberflow<br />

- OPTIONAL Brugeren skal kunne vælge hvilken type fiber, der er<br />

blæst i røret<br />

- OPTIONAL Brugeren skal kunne vælge hvor mange fibre som er<br />

termineret og hvilke som er i brug<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 66 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Liste over netværksudstyr:<br />

- Switche<br />

- Audiocodes (IP telefoni centraler 8 eller 24 porte)<br />

- UPSe<br />

- Fiberflow (lyslederforbindelser hhv. multimode og singlemode samt<br />

hvilke der er i brug)<br />

Liste over telefonnumre i systemet:<br />

- Man skal kunne tilføje enkeltnumre og indikere om de er porteret<br />

eller ej<br />

- Man skal kunne tilføje en hel nummerserie (fra nr. til nr.)<br />

- Man skal kunne sætte et tidsrum som numre skal henligge, før de må<br />

bruges igen<br />

- Man skal kunne nedlægge numre og indikere om det skal udporteres<br />

eller må genbruges<br />

Liste over E-mail i systemet:<br />

- Brugeren skal selv kunne oprette en mail adresse (simuleres)<br />

- Brugerens E-mail adresse(r) nedlægges 6. mdr. (eller en periode som<br />

kan ændres) efter opsigelse<br />

Der skal kunne laves søgninger som admin selv definerer.<br />

Der skal være adskillige sorteringsmuligheder:<br />

- foreningskontorer/kontaktpersoner<br />

- udstyrsspecifik<br />

- services specifik<br />

- ledig fiberflow<br />

- osv. osv.<br />

Alle lister skal kunne redigeres:<br />

- Det skal altid være muligt at tilføje noget nyt (forudsat at det ikke<br />

findes i forvejen)<br />

- Der kan kun fjernes udstyr/adresser/etc., som IKKE har relationer til<br />

noget/nogen<br />

Administrationsdelen skal logføre alle ændringer, så det altid er muligt at<br />

spore, hvilken admin som har foretaget ændringer i oplysninger/relationer i<br />

databasen.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 67 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

15.2 Bilag 2 – Billede af krydsfeltet b16x16<br />

Øverst i billedet ses patchpanelerne, hvori ledningerne til lejlighederne er tilsluttet.<br />

De to lilla komponenter er Extreme Summit 200 switche med 24 porte<br />

De to blå komponenter er Audiocodes MP 124 VOIP gateways med 24 porte<br />

Den sorte skuffe med de grønne stik er forbindelsen til Parknet via lysleder<br />

I bunden af skabet ligger en UPS til ca. 2 timers drift.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 68 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

15.3 Bilag 3 – billeder af TV skab<br />

De to sorte ledninger er forsyningskabler fra antenneforstærkeren (sidder centralt)<br />

Øverst til højre i skabet sidder TV fordeleren - i fordeleren sidder pakkefiltrene<br />

De hvide ledninger går ud til lejlighederne<br />

Et pakkefilter er et lavpasfilter. Parknet har 4 TV pakker, dvs. der er brug for 3<br />

typer filtre (der er ikke filter på den dyreste pakke).<br />

- Lille pakke er alle kanaler under 400 MHz (filteret er umalet dvs. blankt)<br />

- Mellem pakke er alle kanaler under 566 MHz (filteret er gult)<br />

- Stor pakke er alle kanaler under 750 MHz (filteret er blåt)<br />

- Super pakke kræver ikke filter, ledningen er monteret direkte i fordeleren.<br />

Hvis TV skal frakobles eller ændres, skal der en tekniker ud HVER gang…<br />

Billede af et TV skab med mellem og stor pakke tilkoblet<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 69 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Billede af et TV skab med super, lille og stor pakke tilkoblet<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 70 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

15.4 Bilag 4 – Indhold på CD-rom:<br />

/Code<br />

/DB<br />

/SAPS<br />

/Docs<br />

rapport.doc<br />

datakatalog.doc<br />

/Install<br />

/1 – Java Runtime<br />

/2 – MySQL server<br />

/3 – MySQL GUI tools<br />

/4 – SAPS<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 71 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

15.5 Bilag 5 – Installationsvejledning til SAPS<br />

Jeg vil anbefale, at besøge SAPS via linket på forsiden af rapporten. Når SAPS kører<br />

på en PC uden adgang til Miralix, er der ventetid på 20 sekunder, ved hvert klik.<br />

Installationen af SAPS er en 4-trins raket bestående af:<br />

1) Java runtime<br />

2) MySQL server<br />

3) MySQL GUI tools<br />

4) Tomcat server med SAPS filer<br />

Alle programmer er på Cd’en i folderen /Install og skal køres i denne rækkefølge:<br />

/1 – Java Runtime (kør filen J2SE-RE.msi)<br />

/2 – MySQL server (kør filen mysql-5.1.33-win32.msi og følg nedenstående<br />

vejledning):<br />

1) Klik next<br />

2) Vælg typical<br />

3) Klik install<br />

4) Klik next<br />

5) Klik next<br />

6) Vælg config now<br />

7) Klik next<br />

8) Vælg standard config<br />

9) Klik next<br />

10) Vælg password til brugeren root (fx password)<br />

11) Klik next<br />

12) klik execute og derefter finish<br />

/3 – MySQL GUI tools (kør filen mysql-gui-tools-5.0-r17-win32.msi og vælg<br />

complete installation) efter installationen gør da følgende:<br />

1) Åben MySQL administrator og opret forbindelse til MySQL serveren<br />

a. Server Host: localhost<br />

b. Port: 3306<br />

c. Username: root<br />

d. Password: password<br />

2) Vælg restore fra menuen til venstre<br />

3) Klik ”Open backup file” nederst til højre på skærmen<br />

4) Vælg filen /Install/saps_init().sql<br />

5) Klik ”Start restore” nederst til højre på skærmen<br />

6) Klik ”User administration” i menuen til venstre<br />

7) Klik ”Add new user” nederst til højre på skærmen<br />

a. MySQL User: saps<br />

b. Password: hipshej<br />

c. Confirm Password: hipshej<br />

8) Klik ”Schema Privileges” øverst på skærmen<br />

9) Klik på SAPS<br />

10) Klik på knappen


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

15.6 Bilag 6 – Brugermanual til SAPS<br />

SAPS består af to dele:<br />

- onlinetilmelding (åben for alle brugere på Internettet)<br />

- administrationsdel med roller (lukket med login og rettigheder er rollebaseret)<br />

o administrator<br />

o bogholder (accountant)<br />

o supporter<br />

o bruger (user)<br />

Administrationsdelen:<br />

Der er fire roller til brugere i systemet:<br />

- Accountant (bogholder)<br />

- Administrator<br />

- Supporter<br />

- User (bruger)<br />

Via administratorrollen kan alle de øvrige brugere oprettes, systemet leveres med<br />

opstarts administrator, så systemet kan startes op (opret din egen administrator og<br />

deaktiver opstarts administratoren):<br />

Brugernummer: 11111111<br />

Password: password<br />

Hver rolle har adgang til følgende sider:<br />

På velkomstsiden for alle brugere (med undtagelse af user rollen) vises brugbar<br />

sammentælling af punkter på to do lister, udgående/indgående porteringer,<br />

telefonnumre og antal online tilmeldinger, som kræver aktion fra en Parknet<br />

medarbejder.<br />

Accountant:<br />

- Kan se, rette og tilføje start-, slut og skæringsdatoer for abonnementer i SAPS.<br />

- Kan se opkrævninger i SAPS.<br />

- Kan søge på adresser i SAPS med vejnavn og evt. opgangsnummer og se tilmeldte<br />

brugere samt tilmeldingsdetaljer.<br />

Administrator:<br />

- Kan se to do liste for TV og klikke ”Done” til evt. kørsler.<br />

- Kan se, rette og tilføje brugere samt ændre deres rettigheder.<br />

- Kan se rollerne i systemet.<br />

- Kan søge på adresser i SAPS med vejnavn og evt. opgangsnummer og se tilmeldte<br />

brugere samt tilmeldingsdetaljer.<br />

- Kan se, rette og tilføje foreninger, veje, numre, etager og sider til SAPS.<br />

- Kan tilføje nye adresser til SAPS samt fjerne adresser, som ikke har tilknyttet services.<br />

- Kan se og tilføje krydsfelter til SAPS, samt fjerne krydsfelter som ikke har tilknyttet aktivt<br />

udstyr.<br />

- Kan se, rette og tilføje aktivt udstyr med antal porte til SAPS.<br />

- Kan se, rette og tilføje aktivt udstyr til et krydsfelt.<br />

- Kan rette krydsfeltoplysninger pr. adresse i SAPS samt angive om adressen skal vises i<br />

onlinetilmeldingen.<br />

- Kan rette eller tilknytte en adresse i SAPS til et stykke aktivt udstyrs port.<br />

- Kan se, rette og tilføje services i SAPS.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 73 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

- Kan rette Copydan priser i SAPS.<br />

- Kan angive de services som er ”standard services” i SAPS.<br />

- Kan rette farver til TV pakker, abonnementsstatus og portstatus.<br />

- Kan tilføje/fjerne services pr. adresse i SAPS.<br />

- Kan tilføje ”standard services” til en hel forening i SAPS.<br />

- Kan se og rette telefonnummerstatus og hemmeligt/skjult nummer i SAPS.<br />

- Kan se, rette og tilføje telefonnumre til SAPS samt se og ændre deres status.<br />

- Kan se og rette valideringsstrenge til online tilmeldingen.<br />

- Kan se og rette MIB’er til SNMP kommandoer.<br />

- Kan se, rette og tilføje ticket typer til SAPS.<br />

- Kan se, rette og tilføje start-, slut og skæringsdatoer for abonnementer i SAPS.<br />

- Kan se opkrævninger i SAPS.<br />

Supporter:<br />

- Kan se to do liste for TV og klikke ”Done” til evt. kørsler.<br />

- Kan søge på adresser i SAPS med vejnavn og evt. opgangsnummer og se tilmeldte<br />

brugere samt tilmeldingsdetaljer.<br />

User:<br />

- Kan se hvilke services, der abonneres på samt servicens tilmeldingsdato.<br />

- Kan opsige en tilmeldt service.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 74 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

FÆLLES FUNKTION FOR ALLE ROLLER UNDTAGEN ”USER”:<br />

Ved at klikke på ”Søg adresser og brugere” vises to søgefelter. I det første skal hele<br />

eller en del af vejens navn indtastes, hvis brugeren ønsker at indsnævre sin søgning,<br />

er det muligt også at taste et opgangsnummer.<br />

Hvis der findes adresser i SAPS ud fra søgekriterierne vises de på skærmen. Pr.<br />

adresse vises altid adressen, postnr. og x-felt. Hvis der er en bruger tilmeldt adressen,<br />

vises brugerens ID, fornavn og efternavn. I kolonnen ”aktive yd.” vil feltet være grønt,<br />

hvis der er mindst én aktiv service og ellers rødt. Ved at klikke på krydsfeltets navn,<br />

vises et kortudsnit med placeringen af krydsfeltet. Ved at klikke på adressen skiftes til<br />

et nyt skærmbillede.<br />

På det nye skærmbillede præsenteres adressen med postnr., bynavn, forening og xfelt.<br />

Herunder står brugerens id, oprettelsesdato, fornavn, efternavn, password, telefon<br />

nr., mobil nr., e-mail og rettigheder i SAPS. Hvis der ikke er tilmeldt en bruger, står det i<br />

klar tekst. Derefter vises Parknets tre services i hver deres felt (uddybes længere<br />

nede). Hvis den pågældende service ikke kan tilmeldes på adressen, står det i klar<br />

tekst. Nederst står tickets med mulighed for at tilføje en ny ticket til systemet. Det er p.t.<br />

ikke muligt at rette eller på anden måde løse tickets i SAPS.<br />

For Internet og telefoni vises tilmeldingsdato, frameldingsdato, tilmeldingsstatus ud fra<br />

datoerne (grøn hvis tilmeldt eller rød), aktuel status for hhv. Internet og telefon hentes<br />

fra det aktive udstyr i krydsfeltet og præsenteres med den farve administratoren har<br />

valgt (standardfarverne er: grøn = aktiv, rød = inaktiv, sort = intet svar fra det aktive<br />

udstyr), x-felt, patch panel nr., switch navn og port nr. For Internet vises evt. WAN IP<br />

og derefter to knapper til at åbne eller lukke brugerens port i switchen. For telefoni<br />

vises abonnementstypen (flatrate eller almindelig), betalingsmåde (auto eller manuel),<br />

om nummeret er skjult/hemmeligt/udeladt, Miralix konto nr., saldo på telefonkontoen.<br />

Der er p.t. ingen funktioner til telefoni.<br />

For TV vises tilmeldingsdato, frameldingsdato, tilmeldingsstatus ud fra datoerne (hvis<br />

TV er tilmeldt vises TV pakkens farve lille = sølv, mellem = gul, stor = blå, super =<br />

grøn, hvis ikke tilmeldt = rød). Status for TV på adressen hentes fra databasen (ud fra<br />

hvad den var sidst). Under x-felt står der enten ”trappe” eller navnet på x-feltet, patch<br />

panel nr., TV pakke, pakkeskift dato (hvis pakkeskift er valgt), skift TV pakke til (hvis<br />

pakkeskift er valgt) og til slut funktion. Hvis der er en bruger tilmeldt på adressen, som<br />

ikke abonnerer på TV, kan man under funktion klikke på ”Tilmeld TV” – tilmeldingsdato<br />

og TV pakke SKAL vælges, før der klikkes på ”Tilmeld TV”. Hvis brugeren er tilmeldt<br />

TV vises knappen ”Ret”. Ved at klikke på den, bliver det muligt at vælge dato for<br />

pakkeskift og den nye pakke. Når der klikkes på OK, tilføjes en ticket om, at der er<br />

valgt ændring til TV pakken. Derudover tilføjes en opkrævning på brugerens adresse<br />

med gebyret fastsat i services. Ændringen vil kunne ses på TV to do listen med dato<br />

for udførelse (deadline dato).<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 75 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Brugervejledning til ”User”:<br />

Når en user er logget ind, viser systemet de services, der abonneres på samt<br />

tilmeldingsdatoen.<br />

Ved at klikke på ”Opsig services” får user mulighed for at framelde aktive services. Ved<br />

at klikke på ”Frameld” ud for en service, aktiveres en menu i frameld dato kolonnen.<br />

Her skal der vælges en frameldingsdato, hvis user derefter klikker ”Ja”, vil den valgte<br />

dato blive sat ind under frameld dato kolonnen og ”Frameld” knappen forsvinder.<br />

Derudover har systemet skrevet en ticket i SAPS, hvori der står at user via<br />

selvbetjening har opsagt den pågældende service. Hvis det var TV, som blev frameldt,<br />

vil der også stå en frakobling på TV to do listen med frameldingsdatoen.<br />

Brugervejledning til ”Accountant”:<br />

Systemet viser sammentælling fra de forskellige lister på forsiden.<br />

Ved at klikke på ”Start og opsigelses datoer” bliver det muligt at rette disse datoer.<br />

SAPS leveres med start datoer til den første i hver måned og opsigelsesdatoer til<br />

udgangen af et kvartal. Start datoerne bruges i onlinetilmeldingen og slut datoerne<br />

bruges når en user vil framelde en service. Der kan p.t. ikke fjernes linjer fra systemet.<br />

Derudover kan der sættes to skæringsdage i systemet. Den ene er tilmeldingsdage før<br />

skæring. Tilmelding før denne dato, skal betales fra den første i indeværende måned<br />

og tilmelding efter, skal betales fra den næste første (værdien er sat til 10).<br />

Opsigelsesdage før kvartal er det opsigelsesvarsel, som Parknet skal bruge (værdien<br />

er sat til 25).<br />

Ved at klikke på ”Opkrævninger” vises opkrævninger i systemet. Der er p.t. ikke<br />

mulighed for at foretage nogen behandling af disse opkrævninger.<br />

Ved at klikke på ”Services og priser” vises alle services i SAPS. FUnique er servicens<br />

ID nr. 100 – 199 bruges til Internet, 200 – 299 bruges til telefoni, 300 – 399 bruges til<br />

TV. Servicens Navn bruges i SAPS, servicens Fakturatekst bruges i online tilmeldingen<br />

samt på opkrævninger til brugerne. Engangs angiver om det er et gebyr. EngangsPris<br />

angiver gebyrprisen, men anvendes ikke p.t. PrisAngives er det beløb som vises på<br />

onlinetilmeldingen og bruges på opkrævninger. Kategori angiver servicens kategori.<br />

MedtagInet angiver om servicens bliver præsenteret i online tilmeldingen.<br />

Ved at klikke ”Ret” ud for en service, bliver det muligt at rette alt til den service med<br />

undtagelse af FUnique.<br />

Nederst i skærmbilledet kan en ny service tilføjes. Det FUnique, som står udfyldt, er<br />

autogenereret af systemet ved at lægge 1 til det nuværende højeste FUnique (p.t. står<br />

der 315). Alle tal, som ikke allerede er i brug, må anvendes. Hvis der vælges et tal,<br />

som er i brug, kommer der en lang fejlmelding. Klik på ”tilbage” i browseren og vælg et<br />

andet tal.<br />

Ved at klikke ”Copydan priser” kan priserne og fakturatekst for ophavsrettigheder på de<br />

forskellige TV pakker rettes.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 76 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Brugervejledning til ”Supporter”:<br />

Systemet viser sammentælling fra de forskellige lister på forsiden.<br />

Ved at klikke på ”TO DO TV” vises en liste over adresser, hvor der skal skiftes TV<br />

pakke. Listen er sorteret efter dato, postnr, x-felt og dernæst efter adresse. Først vises<br />

rækkens ID i SAPS, adressen, postnr., x-felt (trappe eller navn), kabel nr. (hvis muligt),<br />

nuværende pakke, den nye pakke, deadline samt en ”Done” knap. Når der klikkes på<br />

”Done” forsvinder rækken fra listen og TV pakken opdateres hhv. på adressen og på<br />

brugerens oversigt.<br />

Ved at klikke på ”Vis/ret brugere” vises alle brugere i systemet sorteret efter rolle.<br />

Brugerens oplysninger kan rettes ved at klikke på ”Ret”, dog kan ID, rolle og aktiv ikke<br />

ændres.<br />

Brugervejledning til ”Administrator”:<br />

Systemet viser sammentælling fra de forskellige lister på forsiden.<br />

Ved at klikke på ”Vis/ret/tilføj brugere” vises alle brugere i systemet sorteret efter rolle<br />

og dernæst efter navn. Brugerens oplysninger kan rettes ved at klikke på ”Ret”, dog<br />

kan ID ikke ændres. Det er muligt at tilføje nye brugere til SAPS samt at angive deres<br />

rettigheder i SAPS.<br />

Ved at klikke på ”Vis roller” vises rollerne i SAPS. Disse kan ikke redigeres eller slettes.<br />

Der kan heller ikke tilføjes nye.<br />

Ved at klikke på ”Foreninger, veje, numre, etager og sider” kan der rettes og tilføjes<br />

nye til SAPS. Det er ikke muligt at slette dem igen. Oplysningerne fra denne side<br />

bruges til at tilføje adresser til SAPS.<br />

Ved at klikke på ”Tilføj/fjern adresser” vises adresser i systemet. Øverst vises en drop<br />

down boks med veje i SAPS. Hvis der endnu ikke er tilføjet nogen veje, er menuen<br />

tom. Ved at vælge en vej viser systemet alle adresser på den pågældende vej. Vejene<br />

vises med adresse, forening, postnr. og en funktion. Hvis adressen har tilknyttet<br />

services i SAPS, kan adressen ikke fjernes. Ellers vil der være en knap med teksten<br />

”Fjern”.<br />

Nederst på skærmbilledet er det muligt at tilføje en ny adresseserie. Vælg vejen, nr. fra<br />

og nr. til (der tilføjes hvert andet nr.), opgangsbogstav fra og til (udfyldes kun, hvis det<br />

er aktuelt), etage fra og til, antal sider pr. etage, postnr. og foreningens navn. Ved at<br />

vælge fx Tornsangervej fra 1 til 13, udelade opgang, etage fra st. til 2., 2 sider, postnr.<br />

2400 og A/B Lindegaarden, genereres alle opgange på den ulige side fra 1 til 13. Hvis<br />

der er sammenlagte lejligheder, skal disse tilføjes efterfølgende én af gangen og de<br />

overflødige adresser slettes. Enkeltadresser tilføjes ved at vælge de samme værdier i<br />

fra og til samt at angive antallet af sider til 1.<br />

Ved at klikke på ”Vis/opret krydsfelter” kan man søge i krydsfelterne i SAPS, ved at<br />

vælge enten bloknummer eller vejnavn fra drop down menuerne. Hvis der findes<br />

krydsfelter i blokken eller på vejen vises det/de med ID, navn, adresse, postnr. og en<br />

funktion. Hvis der er tilknyttet aktivt udstyr til krydsfeltet kan det ikke fjernes. Ellers vil<br />

der være en knap med teksten ”Fjern”.<br />

Det er muligt at tilføje et nyt krydsfelt til SAPS nederst i skærmbilledet. Vælg vej, nr.,<br />

evt. bogstav, etage, blok nr., postnr. og klik ”Tilføj”. Det ID som krydsfeltet tildeles af<br />

SAPS bliver brugt som reference til et jpg billede af krydsfeltet. Billedet bør være et<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 77 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

udsnit fra krak.dk, hvorpå krydsfeltet er vist med navn og placering. Billedet lægges i<br />

folderen:<br />

ROOT/authorized_users/images<br />

Med filnavnet: ”id.jpg”, hvor ID erstattes med det ID som SAPS har tildelt krydsfeltet.<br />

Ved at klikke på ”Aktivt udstyr” vises en liste over aktivt udstyr i SAPS. Det er muligt at<br />

rette eksisterende udstyrs navn og antal af porte, samt at tilføje nyt. Der kan ikke<br />

slettes udstyr.<br />

Ved at klikke på ”Udstyr i x-felt” vises en valg menu, hvorfra man skal vælge et x-felt.<br />

Hvis der endnu ikke er tilføjet x-felter til SAPS, er menuen tom. Når krydsfeltet er valgt,<br />

vises det udstyr, som er i krydsfeltet med navn, login og password (som bruges til<br />

SNMP kommandoer), serienr., type, start dato og funktion. Det er muligt at rette alle<br />

oplysninger på tilføjet udstyr, men det kan ikke slettes. Nederst på skærmbilledet er der<br />

mulighed for at tilføje aktivt udstyr til krydsfeltet.<br />

Ved at klikke på ”Adressedata i x-felt” vises oplysninger om, i hvilket krydsfelt og hvor i<br />

krydsfeltet de forskellige adresser er tilsluttet, samt om adressen skal vises i online<br />

tilmeldingen. Hvis TVPatch ikke udfyldes antager SAPS, at TV tilslutningen sidder i<br />

opgangen.<br />

Ved at klikke på ”Adresser og porte” vises en valg menu, hvor man skal vælge den vej,<br />

man vil se oplysninger om. Hvis der ikke er tilføjet veje til SAPS, er menuen tom. Når<br />

der er valgt en vej, vises adressen samt hvilket aktivt udstyr og port, adressen er<br />

tilsluttet til. Dette kan rettes, men ikke slettes. Nederst på skærmbilledet kan adresser<br />

tilknyttes yderligere aktivt udstyr. Når der er valgt en adresse og udstyrs navn henter<br />

SAPS det antal porte, som er angivet i ”Aktivt udstyr”. Dermed bliver det umuligt at<br />

vælge porte, som ikke eksisterer. Der er ikke noget tjek for, om en port allerede er<br />

tilknyttet en anden adresse, så vær omhyggelig med denne proces.<br />

”Services og priser” og ”Copydan priser” er beskrevet under bogholder.<br />

Ved at klikke på ”Definer std. services” er det muligt at definere de services, som kan<br />

tilføjes til en adresse eller forening med ”Tilføj standard services” knappen. Alle<br />

services i SAPS er vist og det indikeres med rød eller grønt om servicen er en del af<br />

standard services. Hvis servicen er valgt til, er status grøn og knappen hedder ”Fjern<br />

service” ellers er status rød og knappen hedder ”Tilføj service”. Ved klik på knappen<br />

opdateres servicen og siden. Ændringer vises med det samme.<br />

Ved at klikke på ”Farver til services” er det muligt at redigere de farver som vises i<br />

SAPS. Farven har en ID, kode (som henfører til den kode, der står i services), farve,<br />

vist farve og mulighed for at rette. Ved at klikke ”Ret”, kan koden og farven ændres i<br />

tekst. Hvis den indtastede farve ikke er en HTML farve, vises ingen farve, så det er<br />

muligt at rette evt. fejl med det samme. Der kan tilføjes nye farver til systemet, men de<br />

vil ikke kunne bruges uden ændringer i programmet.<br />

Ved at klikke på ”Services pr. adresse”, kan services tilføjes og fjernes fra adresser i<br />

SAPS. Adressen vælges fra menuen og siden viser, hvilke services, der kan vælges.<br />

Hvis alle services er røde (dvs. fravalgt), kan knappen ”Tilføj standard services”<br />

bruges.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 78 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Ved at klikke på ”Services pr. forening” kan der tilføjes standard services til alle<br />

adresser i en forening. Foreningen vælges fra menuen og derefter klikkes på ”Tilføj<br />

standard services”, vær dog opmærksom på, at evt. specialadresser skal have fjernet<br />

visse services efterfølgende. Fx er der mange fyrrum, hvor der kun er Internet<br />

tilslutning.<br />

Ved at klikke på ”Telefon nr. status” vises de statusser, som et telefon nr. kan have i<br />

SAPS. Det er også muligt at tilføje en ny status, hvis det er nødvendigt. Status kan<br />

ændres via ”Telefon nr. i Parknet”. Der vises også de muligheder for hemmeligt/skjult<br />

nummer, som er i SAPS. Her kan også tilføjes nye.<br />

Ved at klikke på ”Telefon nr. i Parknet” vises alle telefonnumre i SAPS sorteret efter<br />

nummer. Øverst i skærmbilledet er det muligt at tilføje nye numre til SAPS. Numre som<br />

tilføjes på denne måde, må ikke være numre, som skal porteres. Det skal være en<br />

ledig nummerserie som Parknet har købt. Ud for hvert nummer vises oprettelses dato,<br />

dato for hvornår nummeret blev OK, hvornår nummeret ophørte i SAPS (null hvis<br />

nummeret er i brug), nummerets status og en funktionsknap. Ved at klikke ”Ret”, åbnes<br />

mulighed for at rette OK dato, slut dato og nummerets status.<br />

Ved at klikke på ”Valideringsstrenge til online opret” vises de tre valideringsstrenge,<br />

som bruges i online tilmeldingen. SAPS leveres med strenge til validering af hhv. navn,<br />

tlf. nr. og e-mail. Men hvis der på et tidspunkt sker ændringer i tilladte/ikke-tilladte tegn,<br />

kan valideringen ændres her.<br />

Ved at klikke på ”MIB’er til SNMP” er det muligt at rette de tre MIB som SAPS leveres<br />

med. Der kan rettes MIB til hhv. en ports status, åben port og luk port.<br />

Ved at klikke på ”Rediger ticket typer” vises de ticket typer som er i SAPS. De er<br />

sorteret efter navn. Det er muligt at rette navnet på tickets, men det bør ikke gøres,<br />

efter at SAPS er sat i drift. Det vil medføre at oprettede tickets risikere at ændre emne.<br />

Det er muligt at tilføje nye tickets til SAPS.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 79 af 80


Eksamensprojekt af Henrik Bering SAPS IMM-B.Eng-2009-02<br />

Online tilmelding:<br />

Online tilmeldingen er struktureret og programmeret til at være så intuitiv som<br />

overhovedet muligt. Det skal med et minimum af besvær og hovedbrud, være muligt for<br />

alle at tilmelde sig til Parknet uanset alder, IT fagkundskab og baggrundsviden om<br />

Parknet.<br />

Tilmeldingen består af fire trin. For hvert trin vises, hvor langt brugeren er nået i<br />

tilmeldingsprocessen.<br />

Trin 1:<br />

Brugen vælger sin adresse, blandt de adresser i SAPS hvor ”showinet” er 1. Først<br />

vælges post nr. fra drop down menu. Herefter skal brugeren vælge sin gade. Derefter<br />

skal brugeren vælge sin adresse på gaden. Så kan brugeren klikke ”Næste”.<br />

Trin 2:<br />

Brugeren skal indtaste sit fornavn og efternavn før systemet tillader brugeren at<br />

fortsætte – det vises ved, at ”Næste” knappen ikke kan bruges og at der står i klar tekst<br />

over knappen: ”Du skal skrive for- og efternavn før du kan klikke næste”. Det er ikke<br />

nødvendigt at udfylde hhv. mobil tlf., fastnet tlf. eller E-mail, men hvis felterne udfyldes,<br />

bliver de valideret ud fra de valideringsstrenge, som er indtastet i SAPS. Under kassen<br />

med brugeroplysningerne vises de services, som kan vælges på adressen. Hvis<br />

servicen ikke kan vælges står der: ”Den valgte adresse har ikke den service fra<br />

Parknet”.<br />

Brugeren skal tilmelde mindst én service, før der kan klikkes ”Næste” (står over<br />

knappen). Hvis Internet vælges, får brugeren mulighed for at angive et ønske til en email<br />

adresse. Teksterne til menuerne for telefon og TV er fakturateksterne, som er<br />

angivet i SAPS under ”Services”. Ønsket start fra TV kommer dog fra startdatoer.<br />

Tekstfelter i trin 2 bliver strippet for HTML tegn, så det ikke er muligt fx at eksekvere<br />

scripts. Derudover bliver alle valgte ID’er kontrolleret, for at sikre, at brugeren ikke har<br />

rettet noget.<br />

Trin 3:<br />

Brugeren præsenteres for sine valg, samt pris for oprettelse og den månedlige pris<br />

fremover. Brugeren skal acceptere Parknets abonnementsvilkår og priser, før der kan<br />

klikkes ”Næste”. Der er link til vilkårene i tilknytning til fluebenet, hvor vilkårene skal<br />

accepteres.<br />

Trin 4:<br />

Brugeren er nu oprettet. Hvis der var en tilmeldt bruger på adressen, bliver den nye<br />

bruger lagt i en temp tabel og bliver oplyst om, at en Parknet medarbejder skal<br />

behandle tilmeldingen manuelt. Ellers vises brugerens brugernummer og password.<br />

Der er link til hhv. tilmelding til Betalingsservice og Parknets hjemmeside. Tilmelding til<br />

Betalingsservice foregår via https direkte hos PBS. Formularen er preudfyldt med de<br />

oplysninger, som er tilgængelige i SAPS.<br />

Note:<br />

Hvis brugeren klikker på tilbageknappen i browseren og prøver at foretage endnu en<br />

tilmelding, vises en fejlmeddelelse til brugeren om, at det ikke kan lade sig gøre.<br />

DTU – <strong>Danmarks</strong> <strong>Tekniske</strong> <strong>Universitet</strong> Side 80 af 80

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

Saved successfully!

Ooh no, something went wrong!