35
Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics Side 1 av 35

Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 1 av 35

Page 2: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 2 av 35

1 Forord Denne produktdokumentasjonen er tiltenkt de som skal vedlikeholde, videreutvikle og

oppdatere dette logistikksystemet. Produktdokumentasjonen vil gi en dypere beskrivelse av

systemet. Denne rapporten er primært skrevet for utviklere og datakyndige. Derfor vil den

inneholde en del tekniske ord og uttrykk. Man bør, til en viss grad, ha kjennskap til disse for

å få fullt utbytte av rapporten.

Dokumentet er optimalisert for papirutskrift.

Page 3: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 3 av 35

2 Innholdsfortegnelse

1 Forord ............................................................................................................................................................. 2

2 Innholdsfortegnelse ........................................................................................................................................ 3

3 Innledning....................................................................................................................................................... 6

3.1 Om bedriften .......................................................................................................................................... 6

3.2 Dagens situasjon .................................................................................................................................... 6

3.3 Mål ......................................................................................................................................................... 6

3.4 Konklusjon ............................................................................................................................................ 6

4 Teknologier .................................................................................................................................................... 7

4.1 Rammebetingelser ................................................................................................................................. 7

4.2 Utviklingsmiljø ...................................................................................................................................... 7

4.3 Nettlesere ............................................................................................................................................... 7

4.4 Beskrivelse av teknologier ..................................................................................................................... 8

4.4.1 ASP.NET 4.0 ................................................................................................................................ 8

4.4.2 C# .................................................................................................................................................. 8

4.4.3 CSS ............................................................................................................................................... 8

4.4.4 LINQ ............................................................................................................................................. 8

4.4.5 ASP.NET AJAX Control Toolkit ................................................................................................. 8

4.4.6 JavaScript ...................................................................................................................................... 8

4.4.7 MS SQL ........................................................................................................................................ 9

5 Datastrukturer og oppbygging ........................................................................................................................ 9

5.1 Arkitektur .............................................................................................................................................. 9

5.2 Databasestruktur .................................................................................................................................... 9

5.3 Tabellforklaring ................................................................................................................................... 10

5.3.1 Accessories ................................................................................................................................. 10

5.3.2 Countries ..................................................................................................................................... 10

5.3.3 Customers ................................................................................................................................... 10

5.3.4 Errors .......................................................................................................................................... 11

5.3.5 Models ........................................................................................................................................ 11

5.3.6 OrderAccessories ........................................................................................................................ 11

5.3.7 Orders ......................................................................................................................................... 11

5.3.8 PostalPlaces ................................................................................................................................ 11

5.3.9 PostalPlacesDK ........................................................................................................................... 11

5.3.10 PostalPlacesSE ............................................................................................................................ 11

5.3.11 RMAHistories ............................................................................................................................. 11

5.3.12 RMARequestLists ....................................................................................................................... 11

5.3.13 SerialNumberHistories ................................................................................................................ 12

5.3.14 TerminalGroups .......................................................................................................................... 12

5.3.15 Terminals .................................................................................................................................... 12

5.3.16 UploadDates................................................................................................................................ 12

5.3.17 Users ........................................................................................................................................... 12

Page 4: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 4 av 35

6 Beskrivelse av lagerstyringsystemet ............................................................................................................. 12

6.1 Generell beskrivelse ............................................................................................................................ 12

6.2 Navigasjonsmodell .............................................................................................................................. 13

6.3 Login ................................................................................................................................................... 14

6.4 Country selection ................................................................................................................................. 14

6.5 Index .................................................................................................................................................... 15

6.6 Production............................................................................................................................................ 16

6.7 In Production ....................................................................................................................................... 18

6.8 Defect .................................................................................................................................................. 19

6.8.1 Add terminal ............................................................................................................................... 19

6.8.2 Send terminal .............................................................................................................................. 20

6.8.3 Recieved terminal ....................................................................................................................... 22

6.9 Info ...................................................................................................................................................... 23

6.10 Admin .................................................................................................................................................. 23

6.10.1 Admin – Terminals ..................................................................................................................... 23

6.10.2 Admin – Customers .................................................................................................................... 24

6.10.3 Admin – Users ............................................................................................................................ 24

7 Produktets oppbygging og virkemåte ........................................................................................................... 25

7.1 Brukergrensesnitt ................................................................................................................................. 25

7.2 Mappestruktur ...................................................................................................................................... 26

7.3 Filstruktur i mappene ........................................................................................................................... 26

7.3.1 BLL ............................................................................................................................................. 26

7.3.2 DAL ............................................................................................................................................ 26

7.3.3 Model .......................................................................................................................................... 27

7.3.4 PayEx .......................................................................................................................................... 27

8 Sikkerhet....................................................................................................................................................... 28

8.1 Sikkerhet i system ................................................................................................................................ 28

9 Krav til miljø ................................................................................................................................................ 29

9.1 Krav til server ...................................................................................................................................... 29

10 Fremtidige utvidelser og forbedringer ..................................................................................................... 29

10.1 Mulige utvidelser i fremtiden .............................................................................................................. 29

10.1.1 Redigere/slette/legge inn nye verdier i Accessories-tabellen ...................................................... 29

10.1.2 Redigere/slette/legge inn nye verdier i Models-tabellen ............................................................. 29

10.1.3 Redigere/slette/legge inn nye verdier i Countries-tabellen ......................................................... 29

10.1.4 Redigere/slette/legge inn nye verdier i Errors-tabellen ............................................................... 29

10.1.5 Endre alle mulige verdier til en terminal ..................................................................................... 29

10.1.6 Vise alle terminaler ..................................................................................................................... 29

10.1.7 Logg ............................................................................................................................................ 30

10.1.8 Endring av viktige e-postadresser ............................................................................................... 30

10.1.9 Endre passord .............................................................................................................................. 30

10.1.10 Åpne pakkseddel i eget vindu ................................................................................................. 30

10.1.11 Lage applikasjonen i flere språk ............................................................................................. 30

Page 5: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 5 av 35

10.1.12 Koble seg til et faktureringssystem, PBA ............................................................................... 30

10.1.13 Oppsett for testterminaler ....................................................................................................... 30

10.1.14 Rapporter ................................................................................................................................ 30

10.1.15 Eksportere data fra database ................................................................................................... 31

10.1.16 Automatisk utregning av terminalens alder ............................................................................ 31

10.1.17 Discarded ................................................................................................................................ 31

10.1.18 Lagre og vise brukere per land ............................................................................................... 31

11 Kildehenvisninger .................................................................................................................................... 32

11.1 Internett................................................................................................................................................ 32

11.2 Bøker ................................................................................................................................................... 32

12 Vedlegg .................................................................................................................................................... 32

12.1 Vedlegg 1 - Excel import (Kode) ........................................................................................................ 32

12.2 Vedlegg 2 - GridView Binding ............................................................................................................ 35

Page 6: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 6 av 35

3 Innledning

3.1 Om bedriften

//Dette prosjektet handler om å designe og utvikle et logistikksystem for PayEx.

Bedriften er en av Nordens fremste eksperter på betalinger, og har omlag seks hundre

ansatte. Hovedkontoret til bedriften befinner seg i Stockholm, men de har i tillegg en

avdeling i Oslo. Siden starten i 1972 har de utviklet en solid kompetanse på områder som

betalingsløsninger for internett, mobil og fysisk handel, rating/fakturering, faktura og

reskontro håndtering, inkasso og kredittadministrasjon.

3.2 Dagens situasjon

PayEx har en god del forskjellig betalingsterminaler i omløp. Med betalingsterminaler mener

vi terminaler hvor man bruker bankkortet til å betale for varer og tjenester i for eksempel en

butikk eller forening. Disse terminalene er det ikke så lett å holde oversikten over. Det

håndteres i dag via Excel. Dette systemet er rett og slett ikke godt nok. Det er uoversiktlig og

det tar lang tid å finne ut hvor terminalene befinner seg til enhver tid. De trenger et system

som følger hver terminal sitt livsløp.

3.3 Mål

Målet med oppgaven er å utvikle et online logistikksystem for håndtering av

betalingsterminaler. Disse betalingsterminalene er hos kunder rundt om i hele Norden, pluss

at det er nye og brukte terminaler på lager og til reparasjon. Systemet må stille store krav til

gode logiske løsninger og høy brukervennlighet. Programmet er lagd slik at en person fra

PayEx lett kan sette seg inn i funksjonene, uten videre bruk for opplæring. Likevel blir det

lagt ved en brukermanual slik at andre personer kan få en forståelse av prosessen.

3.4 Konklusjon

Vi mener dette systemet vil være til stor hjelp for de ansatte hos PayEx. Det vil lette

arbeidsdagen ved å sørge for mindre frustrasjon når de skal finne ut hvor en terminal

befinner seg. Videre vil det forenkle prosessen med kundebehandling, da de enkelt kan søke

seg til en kunde og finne tilhørende terminaler. Systemet gjør det også lett å forsende

terminaler til reparasjon.

Page 7: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 7 av 35

4 Teknologier

4.1 Rammebetingelser

Arbeidsgiver hadde ingen betingelser for valg av teknologi. Det ble opp til gruppen vår å

avgjøre. I begynnelsen hadde vi planer om å bruke Java som programmeringsspråk, sammen

med Eclipse som utviklingsverktøy. Dette fordi Java er godt utbredt i bransjen, og gjør

jobben enkel med å distribuere applikasjonen. Jobben vår i dette prosjektet er å fokusere på

brukergrensesnitt og gjøre det lett for PayEx å kunne ta i bruk programmet. Dermed flyttet vi

oss over til nettskyene, og kikket etter en løsning som ikke innebærer installasjon for kunden

sin del. Valget falt da på å utvikle prosjektet i ASP.NET. Utviklingsprogrammet Visual Studio

gjør det lettere for oss å distribuere applikasjonen på web, og den gjør det lettvint å designe

utseendet på applikasjonen. Vi mener derfor .NET vil gjøre det enklere for oss å tilfredsstille

kundens behov gjennom brukergrensesnitt og tilgjengelighet. Dette rammeverket

inneholder mange ferdige komponenter, som gjør det tidsbesparende for oss. .NET har også

implementasjon for AJAX, hvilket betyr at sidene hele tiden slipper å ta en Postback, og gjør i

stedet en Callback. Dette vil gjøre sidene mer dynamisk og sørge for bedre flyt. Vi vil også ta i

bruk LINQ, som er en rimelig ny databasespørring-teknologi fra Microsoft. Denne funksjonen

er også godt implementert i .NET. Én person på gruppen har tidligere brukt ASP.NET, så vi

følte oss trygge på at med dette i bakhånd vil vi kunne få prosjektet i land.

4.2 Utviklingsmiljø

Fordi valget falt på ASP.NET, valgte vi Visual Studio 2010 Ultimate som utviklingsprogram. Vi

benytter oss av siste versjon av ASP.NET, som er 4.0. Visual Studio inneholder alle

nødvendige verktøy vi trenger for å utvikle applikasjonen, og valget var dermed enkelt.

4.3 Nettlesere

ASP.NET har automatisk syntaks for XHTML, noe som sørger for riktig visning i alle de store

nettleserne. Dermed vil vår applikasjon fungere optimalt uansett hva slags nettleser

brukerne av systemet innehar (forutsatt at nettleseren følger reglene til W3.org).

Denne applikasjonen skal altså brukes av datakyndige, som jobber daglig jobber foran PC-

skjermen. Dermed er det rimelig å anta at disse PC-skjermene er store, og har god

oppløsning. Derfor har vi valgt å gå for en minimum oppløsning på <OPPLØSNING>1200 x

1024<OPPLØSNING> piksler. Systemet fungerer også ved mindre oppløsninger, men det blir

da noe scrolling begge veier.

Page 8: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 8 av 35

4.4 Beskrivelse av teknologier

4.4.1 ASP.NET 4.0

ASP.NET gjør det raskere og enklere for oss å lage webapplikasjoner sammenlignet med for

eksempel PHP. Grunnet til det er fordi i ASP.NET finnes mange ferdige komponenter og

kontroller som ofte brukes på websider. Disse generer automatisk XHTML og JavaScript

kode. Den første ASP.NET kom i 2002, og 12. april 2010 kom versjon 4.0.

4.4.2 C#

C# er programmeringsspråk som vi har brukt sammen med ASP.NET for å utvikle websidene.

C# kan man si er en blanding av Java og C++. Kodefilene vi generer i Visual Studio har fil-

endelsene .cs, som står for C Sharp. Her ligger altså C# kodingen. Vi kunne valgt å bruke

Visual Basic. Det er et lignende programmeringsspråk, men ettersom C# ligner Java, følte vi

dette ville være et beste for oss. Java har vi jobbet med i tidligere fag. C# har også en større

markedsandel kontra Visual Basic.

4.4.3 CSS

CSS står for Cascading Style Sheets, og er en fil som bestemmer det grafiske utseendet til

web-applikasjonen. Dette stilarket gjør det det enkelt for oss som utviklere å forandre på

brukergrensesnittet med minimal koding, samt at det gjør all kodingen mer ryddig og

oversiktlig.

4.4.4 LINQ

LINQ (Language Integrated Query) er laget Microsoft, og er intergrert i .NET-plattformen.

LINQ gjør det enkelt å foreta databasespørringer med lettvint og intelligent syntaks. Denne

teknologien gjør det enkelt for oss å snakke med databasen, og er et språk som er utbredt i

bransjen.

4.4.5 ASP.NET AJAX Control Toolkit

AJAX (Asynchronous JavaScript and XML) er i bunn og grunn en ny bruk av JavaScript som er

innebygd i en kontroll. ASP.NET AJAX Control Toolkit er en open-source tilleggskontroll i

Visual Studio. Den inneholder en rekke AJAX kontroller.

4.4.6 JavaScript

JavaScript lastes sammen med websiden, og utføres hos klienten (C# utføres på serveren).

JavaScript hjelper oss å lage websidene mer dynamisk. Vi har brukt JavaScript sammen med

Page 9: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 9 av 35

GridView for at brukerne lett skal kunne se hva og hvor mange av en artikkel som skal være

med i en ny bestilling/utsendelse.

4.4.7 MS SQL

MS SQL er Microsoft sin selvutviklede SQL Server. Det er integrert styring mot denne i blant

annet Microsoft-produktet Visual Studio. Vi har brukt Microsoft SQL Server 2008 R2 i dette

prosjektet, til å lagre databasen.

5 Datastrukturer og oppbygging

5.1 Arkitektur

Figur 5.1.1 viser hvordan web-applikasjonen henger sammen. Dette er et standard oppsett.

5.2 Databasestruktur

Alle redigerbare data blir lagret i en Microsoft SQL Server-database. Databasen er bygget

opp av 17 tabeller. Figur 5.2.1 viser oppsettet. Hver enkelt tabell vil bli beskrevet under

punkt 5.3. Databasen ligger i mappen AppData. Figuren under viser hvordan databasen er

satt sammen.

Figur 5.1.1 Arkitektur

Page 10: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 10 av 35

Figur 5.2.1 Datastruktur

5.3 Tabellforklaring

5.3.1 Accessories

Accessories inneholder opplysninger om forskjellige accessories som kan sendes ut til kunde.

Det være seg COMPORT-kabel, PSU, Chiprens og lignende. Disse blir lagret med en navn, pris

og vekt.

5.3.2 Countries

Countries inneholder enkelt nok en oversikt over forskjellige land som brukes i systemet. Lagringen

skjer med navn på landet. Denne tabellen er for å ha mulighet til å skille oppsettet i web-

applikasjonen basert på hvilket land man befinner seg i. Dermed vil kun det norske kunderegisteret

vises med en norsk Session-variabel (Norsk bruker av systemet).

5.3.3 Customers

Page 11: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 11 av 35

I Customers-tabellen lagres all nødvendig informasjon om hver enkelt kunde PayEx leverer terminaler

til. Her lagres mange opplysninger, som merchant ID, baxnummer, organisasjonsnummer, navn på

butikk, navn på kontaktperson, telefonnummer, e-post, faksnummer, adresse, faktureringsadresse,

postnummer og til slutt hvilket land kunden tilhører. Sistnevnte lagers som en int-verdi, som peker

på Countries-tabellen.

5.3.4 Errors

Errors inneholder alle slags mulige feilmeldinger en terminal kan ha. Disse lagres med feilbeskrivelse.

5.3.5 Models

Models inneholder de forskjellige navnene en terminal kan ha. Det kan Flexi Nordic, GPA og lignende.

Dette for å kunne vise hvilken terminaltype en kunde har, vil ha eller kan få. Terminals peker på

ModelID.

5.3.6 OrderAccessories

OrderAccessories er til for å kunne se hva slags tilbehør en kunde har bestilt. Denne kobles sammen

med en OrderID som inneholder flere nødvendige opplysninger om ordren, og AccessoryID for å se

hva slags tilbehør dette er. I tillegg lagres pris og antall. Denne peker på Orders, og har en peker til

Accessories.

5.3.7 Orders

Orders inneholder en OrderID og informasjon om ordren. CustomerID viser hvilken kunde dette

gjelder, TerminalID viser eventuelt hvilken terminal som er sent, Trackingnumber viser Posten sitt

sporingsnummer, og DateSent er datoen denne forsendelsen ble gjort. I tillegg sjekkes det om det

finnes noen identiske OrderID i OrderAccessories, for å se om det er bestilt tilbehør.

5.3.8 PostalPlaces

PostalPlaces inneholder alle postnummer og poststeder i Norge, sortert på PostalNumber og

PostalPlace.

5.3.9 PostalPlacesDK

PostalPlaces inneholder alle postnummer og poststeder i Danmark, sortert på PostalNumber og

PostalPlace.

5.3.10 PostalPlacesSE

PostalPlaces inneholder alle postnummer og poststeder i Sverige, sortert på PostalNumber og

PostalPlace.

5.3.11 RMAHistories

RMAHistories inneholder en historikk på forsendelser av terminaler til reparasjon. Disse er sortert

sammen på RMA nummer. PedID, ErrorID, DateSent og DateRecieved viser nødvendig informasjon

for å vite en terminal sin feilmelding, samt når den ble sendt og om den er mottatt etter reparasjon.

5.3.12 RMARequestLists

RMARequestLists inneholder en samling over terminaler som venter på RMA nummer fra

reparasjonsfirma. Disse terminalene er altså på lageret til PayEx og venter på å bli sendt til

reparasjon. Terminalene som er skannet til sending på samme tidspunkt, blir lagret under en

Page 12: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 12 av 35

felles ListNumber som brukeren skriver på pappesken disse terminalene legges oppi. Her

lagres også PedID, og DateSent viser datoen RMA-forespørselen ble foretatt.

5.3.13 SerialNumberHistories

SerialNumberHistories inneholder en oversikt over hvilken gammel pedID en terminal

hadde. Denne lagres som OriginalPedID, mens den nye pedID blir lagret som NewPedID.

Utover dette lagres også datoen serienummerskiftet ble utført. I tillegg har hvert

tabellobjekt i denne tabellen en egen ID.

5.3.14 TerminalGroups

TerminalGroups inneholder alle forskjellige grupperinger en terminal kan ha i sitt livsløp. For

eksempel kan dette være om den er registrert som defekt, som ny, eller som kassert for å

nevne noen. Disse dataene blir lagret som TerminalGroupID og TerminalGroupName.

5.3.15 Terminals

Terminals inneholder mye informasjon om hver enkelt terminal. Dette for å kunne håndtere

lagerlogistikken slik at vi nøyaktig kan følge livsløpet til hver eneste terminal. Dette er selve

kjernetabellen i systemet. Her et mange pekere til andre tabeller. Disse tabellene er Models,

Countries, TerminalGroups, Orders, Errors og RMARequestLists.

5.3.16 UploadDates

UploadDates inneholder de siste datoene for import av data til databasen via Excel. Dette for

å kunne holde styr på tabellversjoner, så de ansatte enkelt kan se om en tabell må lastes opp

på nytt med oppdatert informasjon (hvis endringer har forekommet siden forrige

opplastning).

5.3.17 Users

Users inneholder alle brukerdata. Det vil si påloggingsinformasjon og rettighetsstyringer for

de som skal bruke applikasjonen. Hvis Type er ”Admin”, får brukeren opp en

Administrasjons-fane i applikasjonen. Passord blir kryptert.

6 Beskrivelse av lagerstyringsystemet

6.1 Generell beskrivelse

Denne web-applikasjonen er kun til bruk for ansatte hos PayEx. Administrator velger selv

hvilke personer han/hun ønsker å inkludere i systemet. Brukerne av systemet kan søke opp

kunder, se hvilke terminaler disse har, sende dem nye terminaler og/eller tilbehør, legge til

Page 13: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 13 av 35

nye terminaler i databasen, registrere terminaler som defekte, og sende disse samlet til

reparasjon. Administratorer kan legge til/redigere/fjerne brukere av systemet og importere

diverse data fra Excel. Administratorer har også tilgang til de samme funksjonene som de

vanlige brukerne.

6.2 Navigasjonsmodell

Figur 6.2.1 viser flyten i lagerstyringssystemet. Man kan enkelt velge en ny fane uten å måtte

gå tilbake eller lukke en annen. Systemet oppfører seg som en skrivebordsapplikasjon ved at

verdier skrevet i en fane blir ikke borte om man klikker seg til en annen fane. Kun ved pedID

søk vil siden gjøre en postback, og ellers ved enkelte andre knappetrykk som ikke er

faneknapper.

Figur 6.2.1 Navigasjonmodell

LoginCountry selection

Index

Production Customer search

Send new

Register defect

Edit customerIn ProductionInsert

temrinal

Defect

Register

Send/Recieve

Info

Admin

Customer

Customers Import

Postal places Import

User

Add

Edit/Delete

Show all

Terminal Import

Terminal search

Page 14: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 14 av 35

6.3 Login

Figur 6.3.1 Login

Det første brukeren møter er en logg inn side hvor brukeren må skrive inn tildelt brukernavn

og passord. Dette blir så sjekket med databasen før brukeren eventuelt kan fortsette. Øvre

del av siden (headeren) er fast plassert gjennom hele applikasjonen. Headeren er på denne

siden strippet, for å unngå å gi en uautorisert bruker unødvendig informasjon.

6.4 Country selection

Page 15: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 15 av 35

Figur 6.4.1 Country Selection

Figur 6.4.1 viser oversikten for country selection. Her må brukeren velge hvilket land

han/hun operer fra. Deretter navigerer siden til selve lagerstyringssystemet. Når brukeren

velger land, opprettes det en sessionvariabel som inneholder dette valget. Denne variabelen

brukes senere i applikasjonen for å vise kun relevant informasjon i henhold til hvor man

befinner seg.

Videre er det her også en samlet oversikt over antall terminaler i hvert land.

I tillegg har man fått opp noen flere funksjoner i headeren. Nå kan bruker søke etter

terminal ved hjelp av en pedID. Brukeren ser også brukernavnet sitt og rettigheten denne

har. Rent teknisk er det brukt ASP.Net sin funksjon LoginView for å vise denne

informasjonen. På login-siden settes brukernavnet ved hjelp av en metode som heter

FormsAuthentication. Denne metoden tar et brukernavn som innparameter.

6.5 Index

Page 16: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 16 av 35

Figur 6.5.1 Index

Her vises hovedsiden brukeren skal jobbe i. Her brukes ASP.NET AJAX Control Toolkit sin

kontroller ’TabContainer’. Denne gjør at man kan klikke seg mellom fanene uten bruk av

postback. Det er to TabContainer-kontroller. Er man administrator brukes den andre

TabContaineren for å vise et faneoppsett i Admin-fanen.

6.6 Production

Page 17: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 17 av 35

Figur 6.6.1 Production

Production-fanen er hvor brukeren kan søke opp kunder i systemet. Søket blir begrenset til

hvilket land bruker har valgt. Søker bruker etter et butikknavn, og det finnes flere med dette

navnet, vil det genereres en GridView som gir brukeren en oversikt med kolonnene

butikknavn, merchant ID, organisasjonsnummer og baxnummer. Videre er det laget en

funksjon for sortering av denne GridView-tabellen ved å trykke på kolonneoverskriftene. Er

resultatet av søket flere enn 45, vil det automatisk bli opprettet en sidevelgerfunksjon, slik at

vinduet ikke blir altfor langt.

Når man trykker på select-knappen (som er en linkButton), hentes det et Customer-objekt

fra databasen som tar MerchantID som innparameter. Dette Customer-objektet inneholder

all kundeinformasjon som deretter legges i tekstfeltene i det nye panelet som dukker opp.

Dette panelet er en en ASP:Panel, som vi styrer visningen av ved hjelp av True og False-

statements.

Nå vises det også en ny GridView med oversikt over hvilke terminaler denne kunden har hos

seg. Disse kan så registreres Defect om kunden har sendt den inn (dette kan også gjøres

under Defect-fanen, se punk 6.8.1).

Page 18: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 18 av 35

Nederst på denne siden finner du knappen ”Send new”, som åpner et nytt panel på siden

med valg for å sende terminal og/eller tilbehør. Tilbehøret genereres dynamisk ut i fra hva

som ligger i Accessories-tabellen. Denne informasjonen legges i en GridView med to ekstra

kolonner som består av CheckBox og TextBox. TextBox er i utgangspunktet satt til Disabled,

men så fort man trykker på en CheckBox, vil tekstboksen som befinner seg på samme linje bli

satt til Enabled. Alle tekstboksene har en utgangspunktverdi på ”1”, som brukeren kan endre

etter behov. Det er brukt JavaScript for å Enable/Disable tekstboksene, for å unngå bruk av

postback, og dermed gjøre siden mer smidig. Denne funksjonen har vi kalt

’ChangeQuantityEnable’. Den ligger i MasterPage.Master, men kalles på i index.aspx.cs,

under gvCustomers_SendNew_Accessories sin OnRowDataBound eventhandler.

Når man var valgt eventuelt tilbehør, skrevet inn sporingsnummer, og eventuelt en pedID,

kan man sende bestillingen. Denne sendes til [email protected], som tar seg av

faktureringen. Her brukes MailMessage-funksjonen som også er innebygget i ASP.NET. For å

sende denne e-posten må man ha en SMTP-server. For dette hovedprosjektet har vi brukt

Høgskolen i Oslo sin server. I web.config under <system.net>, ligger informasjon for å sette

opp koblingen. Her må det skrives hostname, portnummer, brukernavn og passord, og

eventuelle andre betingelser som for eksempel bruk av SSL.

6.7 In Production

In Production er hvor logistikkføringen av nye- og service-terminaler. Her kan man legge inn

terminaler på lageret. Når man trykker ”New Terminal”, åpnes et panel, som inneholder

blant annet en ASP:ListBox. Denne listboksen genereres ved knappeklikket, og henter de

forskjellige modellnavn som ligger i Models-tabellen.

Page 19: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 19 av 35

Figur 6.6.1 In Production

Det er også en tekstboks hvor man må velge produksjonsdato. Dette lagres med måned og

år, ikke dag. Når man trykker på tekstboksen, åpnes det et kalendervindu. Dette er en

funksjon i AJAX Control Kit. Det fungerer slik at kalenderfunksjonen assosieres med en

tekstboks, hvor datoen blir nedskrevet, og vi henter input fra tekstboksfeltet.

<bilde av kalenderfunksjon>

I code-behind til innsettingsmetoden sjekkes det på Session-variabelen ”Country”, og

terminalen blir lagret med til det landet brukeren har valgt.

6.8 Defect

Figur 6.8.1 Defect

I Defect-fanen har man tre knapper å velge mellom. Legge til defekte terminal, sende

defekte terminaler og motta reparerte terminaler.

6.8.1 Add terminal

Page 20: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 20 av 35

Figur 6.7.1.1 Defect - Add terminal

Trykker man på ’Add terminal’, vil en GridView med oversikt over registrerte, defekte

terminaler i systemet bli opprettet. Disse terminalene vises basert på hvilket land man har

valgt. Det er også en ASP:DropDownList som viser alle feilmeldingene en terminal kan ha.

Denne er laget slik at den setter sammen ’ErrorID’ og ’Description’ slik at det vises en errorID

først, etterfulgt av et kolon og beskrivelsen til slutt. Dermed er det lettere for bruker å lete

seg frem til riktig feilmelding.

GridView oppdateres automatisk etter at ny defekt terminal er registrert.

6.8.2 Send terminal

Page 21: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 21 av 35

Figur 6.7.2.1 Defect - Send terminal

Send terminal er stedet for å skanne en gruppe terminaler som skal sendes i samme

forsendelse til reparasjon. Den inneholder en teller som gir brukeren en enkel oversikt over

hvor mange terminaler som er skannet. Tekstboksen brukeren skanner til, inneholder en

OnTextedChanged event som kjører en funksjon i bakgrunn så fort fokus er borte fra

tekstboksen. Bruker kan da trykke på tab-knappen

(tastaturet) eller bruke musa og klikke utenfor

tekstboksen for å kjøre funksjonen. Så fort første

terminal er skannet, lages det en GridView som

inneholder pedID og errorID for hver terminal. Denne

informasjonen lagres midlertidig en ViewState, og settes

til slutt inn i databasen når bruker trykker ’Send RMA

Reqeust’.

Ved trykk på ’Send RMA Request’-knappen, sendes det

også automatisk en e-post til reparasjonsavdelingen (for

øyeblikket [email protected]) som må sende tilbake et

RMA-nummer før disse kan sendes. Terminalene blir

imens lagret i en liste, hvor listenummer automatisk blir

valgt (av en metode i DAL) og bruker må skrive dette på pappesken for midlertidig lagring.

Figur 6.7.2.2 Defect - Send terminal

Page 22: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 22 av 35

Nederst på denne siden er knappen ’Send package’. Ved trykk på denne vil det bli generert

verdier til en DropDownList som inneholder listenummer som er tatt i bruk. Videre skriver

man inn tilsendt RMA-nummer. Deretter må man trykke på ’Send’, for så å trykke på ’Print’

slik at man blir sendt til en ny side hvor forsendelsesinformasjonen er tilrettelagt for utskrift.

Brukeren må da ta i bruk nettleseren sin ’Skriv ut’-funksjon.

Figur 6.7.2.3 Defect - Package note

6.8.3 Recieved terminal

Figur 6.7.3.1 Defect - Recieved terminal

Recieved terminal inneholder en tekstboks hvor bruker kan søke etter RMA-nummer. Finner

systemet RMA-nummeret blir det vist et panel som inneholder metoder for å tildele en ny

pedID til den gamle pedID’en. Den gamle terminal-objektet i databasen vil da bli markert

som ’History’, mens den nye pedID vil legges til et helt nytt terminal-objekt i databasen, og

bli markert som ’Service’. Etter hvert som brukeren lagrer nye pedID’er, vil listeboksen som

inneholder alle pedID til valgt RMA minke. Det vil si, listboksen regeneres etter hver gang

bruker trykker på ’Save’, slik at den alltid kun inneholder pedID som ikke er tildelt ny pedID.

Page 23: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 23 av 35

6.9 Info

Inneholder kun kortfattet informasjon om bruk av applikasjonen.

6.10 Admin

Admin-fanen er kun synlig hvis man er logget inn som Admin. Dette testes ved sjekk av

Session-variabelen ”Admin”. Admin-fanen inneholder flere underfaner.

6.10.1 Admin – Terminals

I denne fanen er det en funksjon for å importere terminaldata fra et Excel-dokument.

Figur 6.9.1.1 Admin - Terminals

Det første denne funksjonen gjør er å laste .xlsx-filen til server. Dermed kan vi lese fra den,

og sette all data inn i tabellen Terminals. For å laste opp alle data bruker vi en

OleDbConnection, OleDbDataReader og SqlBulkCopy for å legge inn dataene. Vi bruker

SqlBulkCopy for det er den raskeste opplastningsmetoden for Excel.

Hvis opplastningen er vellykket, legges det også inn en opplastningsdato i UploadDates-

tabellen. Denne vises deretter på web-siden, så admin har kontroll over nødvendighet for

oppdatering av data.

Page 24: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 24 av 35

6.10.2 Admin – Customers

De samme funksjonene ligger under fanen Customers, for å laste opp til tabellen Customers.

Her er det i tillegg også opplastningsfunksjon for å legge inn postnummer og poststeder i

hvert land sine respektive PostalPlaces-tabeller. Hvilken tabell det lastes opp til styres av

Session-variabelen ”Country”.

6.10.3 Admin – Users

Her er stedet for å redigere, legge til og vise brukere av systemet. ’Show all users’-knappen

åpner et panel som inneholder en GridView for visning av alle registrerte brukere.

Figuer 6.9.3.1 Admin - Users

Fieldset ”Add user” inneholder metode for å legge til bruker. Her genereres det automatisk

et passord, basert på en algoritme vi har laget. Denne algoritmen plukker tilfeldige tall og

bokstaver i intervallene 0-9, a-z og A-Z. Passordlengde blir 8 tegn, som vi har satt til et

minimum. Denne algoritmen ligger i Security-klassen. GridView’en som inneholder alle

brukerne blir automatisk oppdatert etter innsetting av ny bruker.

Page 25: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 25 av 35

I fieldset ”Edit user” får man slettet og redigert en bruker. Prøver man å slette, får man opp

et spørsmål om man er virkelig sikker på slettingen før programmet foretar seg noe. Dermed

unngår man uheldig sletting. Se figur 6.9.3.3.

7 Produktets oppbygging og virkemåte

7.1 Brukergrensesnitt

Programkoden og designet av systemet er skilt fra hverandre. Dette gjør det til en smal sak å

gjøre endringer på det visuelle designet uten å oppdatere programkoden. Utseende av

forskjellige funksjoner gjøres hovedsakelig i .css-filen (default.css).

Alle skjermbildene i web-applikasjonen har det samme designet. Det er alltid en fast meny

øverst, som inneholder en link til countrySelection.aspx, navn på innlogget bruker og

søkefelt for terminaler. Dette er satt opp som en Master Page. Content Page-siden

index.aspx har en rekke faner slik at brukeren til enhver tid har tilgang til alle funksjoner.

Brukergrensesnittet er bygd opp på en slik måte at det skal være mest mulig behagelig og

brukervennlig for brukerne. Vi har valgt en hvit bakgrunn som gir god kontrast med andre,

mørke farger. Tekstfargen er svart, og tabeller har en ”PayEx”-grønn bakgrunn i headeren.

Videre har vi tilbakemeldingsbokser, som enten har rød, rød-oransje, eller grønn farge. Ikke

sterke farger for å skremme brukerne, men behagelige og hensiktsmessige farger som gjør at

brukerne lett skjønner hva slags tilbakemelding det er, kun basert på fargen. Disse

meldingsboksene er lagt i Paneler, som skjules og vises etter behov.

Designet er minimalistisk, med kun rette kanter. Dette er for å gjøre det enklest mulig, og

skape minst mulig misforståelser og frustrasjon hos brukerne.

Figur 7.1.1 Message box Figur 7.1.2 Message box Figur 7.1.3 Message box

Figur 6.9.3.2 Admin - Users - Edit Figur 6.9.3.3 Admin - Users - Delete

Figur 6.7.2.3 Defect - Package note Figur 7.1.1 Message box

Page 26: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 26 av 35

7.2 Mappestruktur

Web-applikasjonen vår er bygd opp med følgende mapper.

Figur 7.2.1 Mappestruktur

7.3 Filstruktur i mappene

7.3.1 BLL

BLL er mellomlaget for PayEx-mappen og DAL-mappen. Her kan man kjøre tester på innkommende

verdier før de sendes videre til DAL. Vi har valgt i dette prosjektet å kjøre disse testene i PayEx-

mappen. Vi bruker kun BLL som et mellomlag.

Figur 7.3.1.1 BLL

7.3.2 DAL

DAL er mappen som snakker direkte med databasen gjennom metoder. Her foregår alt av innsetting,

sletting, oppdatering og lignende.

Page 27: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 27 av 35

Figur 7.3.2.1 DAL

7.3.3 Model

Model har get- og set-metoder for alle radene i hver tabell som er i databasen.

Figur 7.3.3.1 Model

7.3.4 PayEx

Payex inneholder alle filene som styrer designet på siden. I tillegg har hver .aspx-fil en .aspx.cs-fil,

som styrer sidens funksjoner. I App_Data ligger databasen sammen med en mappe som heter Excel.

Denne mappen brukes til midlertidig lagring av Excel-filer ved import av data. Img-mappen

inneholder alle bildene denne siden bruker. Default.css er stilarket til web-siden.

Page 28: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 28 av 35

Figur 7.3.4.1 PayEx-mappen

8 Sikkerhet

8.1 Sikkerhet i system

ASP har innebygde sikkerhetsaspekter. For eksempel har de sikret alle kontrollene for SQL-

injections (asp:TexBox, asp:GridView, asp:ListView, etc.). I systemet vårt lagres det aldri

betalingsinformasjon, så vi er ikke fullt sårbare for angrep fra hackere sånt sett. Likevel,

passord blir kryptert før det lagres i databasen. Til dette bruker vi en SHA512 algoritme, som

må betegnes som en svært vanskelig algoritme å hacke. Videre er det kun administratorer

som har tilgang til å redigere brukere av applikasjonen, og tilgang til å redigere merchant ID,

baxnummer og organisasjonsnummer hos kunder. Også opplastning av Excel-filer til server

er det kun admin som kan gjøre.

Sikkerhetslagring av alle data gjøres hos servertilbyder, og det er noe vi ikke trenger å ta

hensyn til, verken vi utviklere eller oppdragsgiver.

Page 29: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 29 av 35

9 Krav til miljø

9.1 Krav til server

For at applikasjonen skal kunne kjøres på en server kreves:

- MSSQL server

- Microsoft .NET Framework 4.0

10 Fremtidige utvidelser og forbedringer

10.1 Mulige utvidelser i fremtiden

Etter å ha jobbet med dette prosjektet, ser vi det er flere funksjoner som kan være svært

nyttig å implementere i applikasjonen. Disse implementeringene vil sørge for bedre flyt og

større oversikt for brukerne, spesielt administratorer.

10.1.1 Redigere/slette/legge inn nye verdier i Accessories-tabellen

En admin-funksjon for å kunne endre, slette eller legge til mer tilbehør i Accessories. Bør

opprette en ny fane under Admin-fanen, gjerne med navn Accessories.

10.1.2 Redigere/slette/legge inn nye verdier i Models-tabellen

En admin-funksjon for å kunne endre, slette eller legge til flere modelltyper av terminaler

(med tilhørende pris og vekt). Denne funksjonen bør legges under Terminals-fanen.

10.1.3 Redigere/slette/legge inn nye verdier i Countries-tabellen

I tilfelle PayEx utvider til flere land, bør det være en funksjon på Admin-sidene for å legge inn

flere land i Countries. Denne funksjonen må også inneholde en metode for å oppdatere

designet på countrySelection.aspx, og legge til et flagg til i headeren.

10.1.4 Redigere/slette/legge inn nye verdier i Errors-tabellen

Admin bør ha mulighet til å redigere feilmeldingslisten. Anbefaler å legge til en Error-fane i

admin-delen.

10.1.5 Endre alle mulige verdier til en terminal

Admin bør også kunne endre en terminal sine opplysninger, i tilfelle det er lagret feil.

10.1.6 Vise alle terminaler

Bør være en funksjon som viser alle terminaler som er registrert på systemet. Videre bør

disse kunne sorteres på forskjellige verdier. Kanskje ha en DropDownList som bestemmer

sorteringen ut i fra for eksempel land, slik at man slipper å klikke seg til

countrySelection.aspx for så å gå tilbake.

Page 30: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 30 av 35

10.1.7 Logg

Dette bør være en hovedprioritet. Viktige endringer av verdier i databasen bør loggføres, slik

at admin kan se hvem som har gjort hva. På denne måten kan man kjappere finne en

eventuell feilkilde ved å henvende seg til den personen som utførte operasjonen.

10.1.8 Endring av viktige e-postadresser

Admin bør kunne ha mulighet til å endre viktige e-postadresser. Slik som adressen til

faktureringsavdelingen, reparasjonsavdelingen og lignende. Dette er adresser som

antakeligvis endres en gang i blant.

10.1.9 Endre passord

Bruker og admin bør ha mulighet til å endre/gjenopprette passord. Slik systemet er nå, må

man slette en bruker, for deretter å legge den inn på ny.

10.1.10 Åpne pakkseddel i eget vindu

Ved å åpne pakkseddelen i et eget vindu slipper man postback på siden som oppstår når

man trykker på tilbake-knappen i nettleseren. Ergo mer dynamisk nettside.

10.1.11 Lage applikasjonen i flere språk

Har ikke sett hvor mye jobb dette er å implementere, men det kan så klart være en mulighet

i fremtiden.

10.1.12 Koble seg til et faktureringssystem, PBA

PayEx har et eget faktureringssystem som kalles PBA. Det vil spare arbeid i noen ledd om

dette kan kobles til og sendes automatisk. Dette vil fungere ved å eksportere

ordreinformasjon til en excel-fil, som i sin tur importeres av faktureringsprogrammet til

PayEx.

10.1.13 Oppsett for testterminaler

PayEx ønsket et eget oppsett med egen database for håndtering av testterminaler. Vi rakk

kun å lage databasen, og litt på koding, men dette er altså uferdig. Vises ikke på den kjørbare

siden, fordi fanen er satt til skjult.

10.1.14 Rapporter

Det bør være hensiktsmessig å kunne hente ut forskjellige rapporter. For eksempel en liste

over alle nye terminaler, alle terminaler hos én kunde, alle terminaler hos én butikkjede, alle

terminaler registrert siste måned, også videre… Foreslår å legge alle rapportuthentinger i en

Page 31: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 31 av 35

egen fane kalt Reports. Videre kan det også være lettvint å legge til rapport-knapper i

forskjellige faner hvor det logisk hører til.

10.1.15 Eksportere data fra database

Det kan være nyttig for PayEx å kunne hente ut all informasjon fra deler av databasen, for så

å importere disse andre steder. PayEx må velge hvordan dette formatet skal være, og dette

kan ordnes. For eksempel å eksportere informasjon til en excel-fil.

10.1.16 Automatisk utregning av terminalens alder

Når PayEx får tilbake en terminal fra kunde, som kunde sier er ødelagt, gjelder en 6

måneders reklamasjon. Hvis disse 6 månedene er passert, bør brukerne av systemet få

melding om at kunden må kjøpe en ny terminal, i stedet for at de sier de gratis skal sende

kunden en ny (da er de allerede bundet til å gjøre det). Dette bør det komme beskjed rett

etter terminalen skannes eller velges, og før brukerne trykker på knappen for å registrere

den som defekt.

Videre er det også 5 års levetid på terminalene, så dette bør også sjekkes slik at hvis en 5 år

gammel terminal tilbakekommer, skal den kasseres.

Siste funksjon som også bør tilkomme, er en sjekk på hvor lang tid det har gått siden en

terminal er sendt til reparasjon. Først skal det sendes et varsel etter 25 dager. Videre en ny

varsel etter 35 dager som minner om at det har gått for lang tid.

10.1.17 Discarded

Bør ha mulighet til å registrere en terminal som ødelagt. Det vil si en terminal som ikke skal

være i bruk lenger. Forslag: Opprette en Discarded-fane hvor bruker kan skanne inn en

terminal, og registrere den som ødelagt. Videre ha en oversikt over alle slike terminaler i en

GridView.

10.1.18 Lagre og vise brukere per land

Slik systemet er i dag, lagres alle brukere uten noe skille på tilhørighet til land. Denne

funksjonen innebærer en modifikasjon av den originale innsettingsmetoden av bruker. Det

er opprettet en Country-rad i tabellen Users, det er dermed tilrettelagt for denne utvidelsen.

Da bør det også være en funksjon som skiller visningen av brukere per land. Det er ikke

nødvendig at en administrator i Norge skal se alle brukere fra Sverige.

Page 32: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 32 av 35

11 Kildehenvisninger

11.1 Internett

www.asp.net

www.msdn.microsoft.com/library/

www.codeproject.com

http://stackoverflow.com

www.eggheadcafe.com

11.2 Bøker

Troelsen, A. (2010). Pro C# 2010 and the .NET 4 Platform, Fifth Edition. USA: Apress.

Gunnerseon, E. (2000). A Programmer’s Introduction to C#. USA: Apress.

12 Vedlegg

12.1 Vedlegg 1 - Excel import (Kode)

Page 33: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 33 av 35

Page 34: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 34 av 35

Page 35: Produktdokumentasjon Prosjekt nr. 2011 16 PayEx Logistics...Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics Side 9 av 35 GridView for at brukerne lett skal kunne se hva

Produktdokumentasjon Prosjekt nr. 2011 – 16 PayEx Logistics

Side 35 av 35

12.2 Vedlegg 2 - GridView Binding